.elementor-4414 .elementor-element.elementor-element-5e6278d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-65c0da2 *//* =========================================================
   Gummy Counter Display Set — Product Page Stylesheet
   Compatible with: Blocksy Theme + Elementor HTML Widget
   Font: Inter / Poppins fallback to system
   ========================================================= */

/* ---------- ROOT VARIABLES ---------- */
:root{
  --gp-primary:#0d2d52;        /* deep navy — B2B trust */
  --gp-accent:#ff6b1a;         /* orange CTA */
  --gp-accent-dark:#e55a0f;
  --gp-dark:#1a1a1a;
  --gp-gray-900:#222;
  --gp-gray-700:#4a4a4a;
  --gp-gray-500:#6b7280;
  --gp-gray-200:#e5e7eb;
  --gp-gray-100:#f5f7fa;
  --gp-white:#ffffff;
  --gp-bg-light:#f8fafc;
  --gp-success:#16a34a;
  --gp-radius:10px;
  --gp-radius-lg:14px;
  --gp-shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --gp-shadow-md:0 6px 20px rgba(0,0,0,.08);
  --gp-shadow-lg:0 10px 30px rgba(13,45,82,.12);
  --gp-font:'Inter','Poppins','Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,sans-serif;
  --gp-maxw:1200px;
}

/* ---------- BASE ---------- */
.gp-section *,
.gp-section *::before,
.gp-section *::after{box-sizing:border-box;}

.gp-section{
  font-family:var(--gp-font);
  color:var(--gp-gray-900);
  line-height:1.6;
  padding:70px 20px;
  position:relative;
}
.gp-section.gp-bg-light{background:var(--gp-bg-light);}
.gp-section.gp-bg-dark{background:var(--gp-primary);color:var(--gp-white);}

.gp-container{
  max-width:var(--gp-maxw);
  margin:0 auto;
}

/* ---------- HEADINGS ---------- */
.gp-h1{
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  line-height:1.2;
  color:var(--gp-primary);
  margin:0 0 18px;
  letter-spacing:-.5px;
}
.gp-h2{
  font-size:clamp(24px,3vw,34px);
  font-weight:700;
  line-height:1.25;
  color:var(--gp-primary);
  margin:0 0 14px;
  letter-spacing:-.3px;
}
.gp-h3{
  font-size:clamp(18px,2vw,22px);
  font-weight:700;
  color:var(--gp-primary);
  margin:0 0 10px;
}
.gp-h4{
  font-size:17px;
  font-weight:700;
  color:var(--gp-gray-900);
  margin:0 0 8px;
}

.gp-section-title{
  text-align:center;
  margin-bottom:12px;
}
.gp-section-subtitle{
  text-align:center;
  font-size:16px;
  color:var(--gp-gray-700);
  max-width:780px;
  margin:0 auto 48px;
}
.gp-bg-dark .gp-h2,
.gp-bg-dark .gp-h3,
.gp-bg-dark .gp-h4{color:var(--gp-white);}
.gp-bg-dark .gp-section-subtitle{color:rgba(255,255,255,.85);}

/* ---------- BUTTONS ---------- */
.gp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 30px;
  font-size:15px;
  font-weight:600;
  font-family:var(--gp-font);
  text-decoration:none;
  border-radius:var(--gp-radius);
  border:2px solid transparent;
  cursor:pointer;
  transition:all .25s ease;
  letter-spacing:.3px;
  white-space:nowrap;
}
.gp-btn-primary{
  background:var(--gp-accent);
  color:var(--gp-white);
  border-color:var(--gp-accent);
}
.gp-btn-primary:hover{
  background:var(--gp-accent-dark);
  border-color:var(--gp-accent-dark);
  transform:translateY(-2px);
  box-shadow:var(--gp-shadow-md);
  color:var(--gp-white);
}
.gp-btn-outline{
  background:transparent;
  color:var(--gp-primary);
  border-color:var(--gp-primary);
}
.gp-btn-outline:hover{
  background:var(--gp-primary);
  color:var(--gp-white);
}
.gp-bg-dark .gp-btn-outline{
  color:var(--gp-white);
  border-color:var(--gp-white);
}
.gp-bg-dark .gp-btn-outline:hover{
  background:var(--gp-white);
  color:var(--gp-primary);
}

/* ---------- HERO (v2 — Gallery Style) ---------- */
.gp-hero{
  background:linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);
  padding:70px 20px 60px;
}
.gp-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
}

/* --- Gallery (left on desktop / top on mobile) --- */
.gp-hero-gallery{
  position:relative;
  order:1;
}
.gp-gallery-main{
  position:relative;
  background:var(--gp-white);
  border:2px solid var(--gp-accent);
  border-radius:var(--gp-radius-lg);
  overflow:hidden;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-shadow:var(--gp-shadow-md);
}
.gp-gallery-main img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:opacity .3s ease;
}
.gp-gallery-badge{
  position:absolute;
  top:16px;
  left:0;
  background:var(--gp-accent);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  padding:7px 16px 7px 14px;
  border-radius:0 6px 6px 0;
  z-index:2;
  box-shadow:0 2px 6px rgba(255,107,26,.3);
}
.gp-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  margin-top:14px;
}
.gp-thumb{
  aspect-ratio:1/1;
  background:var(--gp-white);
  border:2px solid var(--gp-gray-200);
  border-radius:8px;
  padding:4px;
  cursor:pointer;
  overflow:hidden;
  transition:all .2s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gp-thumb:hover{border-color:var(--gp-accent);transform:translateY(-2px);}
.gp-thumb.is-active{border-color:var(--gp-accent);box-shadow:0 0 0 2px rgba(255,107,26,.2);}
.gp-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* --- Copy (right on desktop / bottom on mobile) --- */
.gp-hero-copy{order:2;}
.gp-hero-eyebrow{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:var(--gp-accent);
  margin-bottom:16px;
}
.gp-hero-copy .gp-h1{
  font-size:clamp(28px,3.6vw,42px);
  font-weight:800;
  line-height:1.15;
  color:var(--gp-dark);
  margin:0 0 18px;
  letter-spacing:-.8px;
}
.gp-hero-subtitle{
  font-size:16px;
  color:var(--gp-gray-700);
  margin:0 0 24px;
  line-height:1.7;
}
.gp-feature-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 28px;
  padding:0;
  list-style:none;
}
.gp-feature-tags li{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px;
  background:var(--gp-white);
  border:1px solid var(--gp-gray-200);
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  color:var(--gp-gray-900);
}
.gp-feature-tags li::before{
  content:"✓";
  color:var(--gp-accent);
  font-weight:800;
}

/* --- Stat Row --- */
.gp-stat-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--gp-white);
  border:1px solid var(--gp-gray-200);
  border-radius:var(--gp-radius);
  overflow:hidden;
  margin:0 0 28px;
  box-shadow:var(--gp-shadow-sm);
}
.gp-stat{
  text-align:center;
  padding:18px 8px;
  border-right:1px solid var(--gp-gray-200);
}
.gp-stat:last-child{border-right:none;}
.gp-stat strong{
  display:block;
  font-size:clamp(18px,2.2vw,24px);
  font-weight:800;
  color:var(--gp-accent);
  line-height:1.1;
  margin-bottom:6px;
  letter-spacing:-.3px;
}
.gp-stat span{
  display:block;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.8px;
  color:var(--gp-gray-500);
  text-transform:uppercase;
  line-height:1.3;
}

.gp-hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

/* ---------- PRODUCT STYLES CARDS ---------- */
.gp-cards-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
.gp-card{
  background:var(--gp-white);
  border:1px solid var(--gp-gray-200);
  border-radius:var(--gp-radius-lg);
  overflow:hidden;
  transition:all .3s ease;
  display:flex;
  flex-direction:column;
}
.gp-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--gp-shadow-lg);
  border-color:var(--gp-accent);
}
.gp-card-img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:var(--gp-gray-100);
  display:block;
}
.gp-card-body{
  padding:24px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.gp-card-label{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--gp-accent);
  margin-bottom:10px;
}
.gp-card-title{
  font-size:19px;
  font-weight:700;
  color:var(--gp-primary);
  margin:0 0 10px;
}
.gp-card-desc{
  font-size:14.5px;
  color:var(--gp-gray-700);
  margin:0;
  line-height:1.6;
}

/* ---------- WHY CHOOSE (4-feature grid) ---------- */
.gp-features-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
}
.gp-feature-item{
  display:flex;
  gap:20px;
  padding:28px;
  background:var(--gp-white);
  border-radius:var(--gp-radius-lg);
  border:1px solid var(--gp-gray-200);
  transition:all .25s ease;
}
.gp-feature-item:hover{
  border-color:var(--gp-accent);
  box-shadow:var(--gp-shadow-md);
}
.gp-feature-icon{
  flex-shrink:0;
  width:52px;
  height:52px;
  background:linear-gradient(135deg,var(--gp-accent),var(--gp-accent-dark));
  color:var(--gp-white);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:800;
}
.gp-feature-text h3{margin-top:4px;}
.gp-feature-text p{
  margin:0;
  color:var(--gp-gray-700);
  font-size:15px;
  line-height:1.65;
}

/* ---------- DESCRIPTION (text + image split) ---------- */
.gp-desc-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:60px;
  align-items:center;
}
.gp-desc-text p{
  font-size:15.5px;
  color:var(--gp-gray-700);
  line-height:1.75;
  margin:0 0 16px;
}
.gp-check-list{
  list-style:none;
  padding:0;
  margin:24px 0 0;
}
.gp-check-list li{
  position:relative;
  padding:8px 0 8px 30px;
  font-size:15px;
  color:var(--gp-gray-900);
  border-bottom:1px dashed var(--gp-gray-200);
}
.gp-check-list li:last-child{border-bottom:none;}
.gp-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:8px;
  width:20px;
  height:20px;
  background:var(--gp-accent);
  color:#fff;
  border-radius:50%;
  font-size:12px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.gp-desc-img img{
  width:100%;
  height:auto;
  border-radius:var(--gp-radius-lg);
  box-shadow:var(--gp-shadow-md);
}

/* ---------- SPECIFICATION TABLE ---------- */
.gp-spec-table{
  width:100%;
  border-collapse:collapse;
  background:var(--gp-white);
  border-radius:var(--gp-radius-lg);
  overflow:hidden;
  box-shadow:var(--gp-shadow-sm);
  border:1px solid var(--gp-gray-200);
}
.gp-spec-table tr{border-bottom:1px solid var(--gp-gray-200);}
.gp-spec-table tr:last-child{border-bottom:none;}
.gp-spec-table tr:nth-child(even){background:var(--gp-bg-light);}
.gp-spec-table th,
.gp-spec-table td{
  padding:14px 22px;
  text-align:left;
  vertical-align:top;
  font-size:14.5px;
}
.gp-spec-table th{
  width:28%;
  font-weight:700;
  color:var(--gp-primary);
  background:var(--gp-gray-100);
  border-right:1px solid var(--gp-gray-200);
}
.gp-spec-table td{color:var(--gp-gray-700);}

/* ---------- CUSTOMIZATION (image-left / text-right 6-block repeater) ---------- */
.gp-custom-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.gp-custom-item{
  background:var(--gp-white);
  padding:28px;
  border-radius:var(--gp-radius-lg);
  border-top:4px solid var(--gp-accent);
  box-shadow:var(--gp-shadow-sm);
  transition:transform .25s ease;
}
.gp-custom-item:hover{transform:translateY(-4px);box-shadow:var(--gp-shadow-md);}
.gp-custom-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  background:var(--gp-primary);
  color:var(--gp-white);
  border-radius:50%;
  font-size:14px;
  font-weight:800;
  margin-bottom:14px;
}
.gp-custom-item h3{font-size:17px;margin-bottom:8px;}
.gp-custom-item p{font-size:14.5px;color:var(--gp-gray-700);margin:0;line-height:1.65;}

/* ---------- APPLICATIONS ---------- */
.gp-app-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.gp-app-item{
  display:flex;
  gap:16px;
  padding:22px 24px;
  background:var(--gp-white);
  border-left:4px solid var(--gp-accent);
  border-radius:0 var(--gp-radius) var(--gp-radius) 0;
  box-shadow:var(--gp-shadow-sm);
  transition:transform .2s ease;
}
.gp-app-item:hover{transform:translateX(4px);}
.gp-app-item strong{color:var(--gp-primary);display:block;margin-bottom:4px;font-size:16px;}
.gp-app-item span{color:var(--gp-gray-700);font-size:14.5px;line-height:1.6;}

/* ---------- ORDER PROCESS ---------- */
.gp-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.gp-step{
  position:relative;
  padding:28px 22px;
  background:var(--gp-white);
  border-radius:var(--gp-radius-lg);
  border:1px solid var(--gp-gray-200);
  text-align:center;
  transition:all .25s ease;
}
.gp-step:hover{
  transform:translateY(-4px);
  box-shadow:var(--gp-shadow-md);
  border-color:var(--gp-accent);
}
.gp-step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  background:linear-gradient(135deg,var(--gp-primary),#1a4480);
  color:var(--gp-white);
  border-radius:50%;
  font-size:18px;
  font-weight:800;
  margin-bottom:14px;
}
.gp-step h3{font-size:16px;margin-bottom:8px;}
.gp-step p{font-size:13.5px;color:var(--gp-gray-700);margin:0;line-height:1.6;}

/* ---------- FAQ ACCORDION ---------- */
.gp-faq-list{max-width:900px;margin:0 auto;}
.gp-faq-item{
  background:var(--gp-white);
  border:1px solid var(--gp-gray-200);
  border-radius:var(--gp-radius);
  margin-bottom:14px;
  overflow:hidden;
  transition:box-shadow .2s ease;
}
.gp-faq-item[open]{box-shadow:var(--gp-shadow-md);border-color:var(--gp-accent);}
.gp-faq-item summary{
  list-style:none;
  padding:20px 60px 20px 24px;
  font-size:16px;
  font-weight:600;
  color:var(--gp-primary);
  cursor:pointer;
  position:relative;
  transition:background .2s ease;
}
.gp-faq-item summary:hover{background:var(--gp-bg-light);}
.gp-faq-item summary::-webkit-details-marker{display:none;}
.gp-faq-item summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  background:var(--gp-accent);
  color:#fff;
  border-radius:50%;
  font-size:18px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .25s ease;
  line-height:1;
}
.gp-faq-item[open] summary::after{
  content:"−";
  transform:translateY(-50%) rotate(180deg);
}
.gp-faq-item .gp-faq-answer{
  padding:0 24px 20px;
  color:var(--gp-gray-700);
  font-size:15px;
  line-height:1.7;
}

/* ---------- CTA SECTION ---------- */
.gp-cta{
  background:linear-gradient(135deg,var(--gp-primary) 0%,#1a4480 100%);
  color:var(--gp-white);
  text-align:center;
  padding:80px 20px;
}
.gp-cta p{
  font-size:17px;
  color:rgba(255,255,255,.9);
  max-width:750px;
  margin:0 auto 30px;
  line-height:1.7;
}
.gp-cta-features{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
  margin:28px 0 36px;
  list-style:none;
  padding:0;
}
.gp-cta-features li{
  font-size:14px;
  font-weight:600;
  padding:10px 18px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  border-radius:30px;
  color:var(--gp-white);
}
.gp-cta-hint{
  font-style:italic;
  font-size:14px;
  color:rgba(255,255,255,.75);
  margin:24px 0 30px !important;
  padding:14px 20px;
  background:rgba(255,255,255,.06);
  border-left:3px solid var(--gp-accent);
  border-radius:6px;
  max-width:720px;
  text-align:left;
}
.gp-cta-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .gp-hero-grid{grid-template-columns:1fr;gap:36px;}
  .gp-hero-gallery{order:1;}         /* image ON TOP */
  .gp-hero-copy{order:2;}            /* copy BELOW */
  .gp-desc-grid{grid-template-columns:1fr;gap:40px;}
  .gp-cards-grid,
  .gp-custom-grid,
  .gp-steps{grid-template-columns:repeat(2,1fr);}
  .gp-features-grid,
  .gp-app-grid{grid-template-columns:1fr;}
  .gp-gallery-thumbs{grid-template-columns:repeat(8,1fr);}
}
@media (max-width:640px){
  .gp-section{padding:50px 18px;}
  .gp-hero{padding:40px 16px 44px;}
  .gp-hero-grid{gap:28px;}
  .gp-gallery-main{padding:18px;border-width:2px;}
  .gp-gallery-thumbs{grid-template-columns:repeat(6,1fr);gap:8px;}
  .gp-gallery-thumbs .gp-thumb:nth-child(n+7){display:none;}  /* show 6 thumbs on mobile */
  .gp-hero-eyebrow{font-size:11px;letter-spacing:1.4px;}
  .gp-feature-tags li{padding:7px 13px;font-size:12.5px;}
  .gp-stat-row{grid-template-columns:repeat(2,1fr);}
  .gp-stat{border-right:none;border-bottom:1px solid var(--gp-gray-200);}
  .gp-stat:nth-child(odd){border-right:1px solid var(--gp-gray-200);}
  .gp-stat:nth-last-child(-n+2){border-bottom:none;}
  .gp-cards-grid,
  .gp-custom-grid,
  .gp-steps{grid-template-columns:1fr;}
  .gp-spec-table th,
  .gp-spec-table td{padding:12px 14px;font-size:13.5px;}
  .gp-spec-table th{width:40%;}
  .gp-feature-item{padding:22px;flex-direction:column;gap:12px;}
  .gp-cta-buttons .gp-btn,
  .gp-hero-cta .gp-btn{width:100%;}
}
@media (max-width:380px){
  .gp-gallery-thumbs{grid-template-columns:repeat(4,1fr);}
  .gp-gallery-thumbs .gp-thumb:nth-child(n+5){display:none;}
}/* End custom CSS */