/* =============================================================
   TGVC PRODUCT PAGE CSS — v3
   Desktop: 3-col integration layout with gallery wrapper
   Mobile: full responsive rework matching live site feel
   ============================================================= */

/* ===== MOBILE-SPECIFIC ELEMENTS — hidden by default ===== */
.vp-mob-overlay,
.vp-mob-extra { display: none; }
.vp-mob-pricing-box,
.vp-mob-quick-stats-bar,
.vp-mob-compare-cta-wrap,
.vp-mob-gallery-hint { display: none; }

/* ===== HERO HEIGHT (base — overridden per breakpoint) ===== */
.tgvc-hero {
  height: calc(100vh - 125px);
  min-height: 500px;
  max-height: 780px;
}

/* ================================================================
   DESKTOP STYLES (> 920px)
   ================================================================ */
@media screen and (min-width: 1025px) {

/* ===== HERO ===== */
.tgvc-hero{position:relative;width:100%;overflow:hidden}
.tgvc-hero__img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.tgvc-hero__img.pos-up10{object-position:center -10px}
.tgvc-hero__img.pos-up15{object-position:center -15px}
.tgvc-hero__img.pos-up18{object-position:center -18px}
.tgvc-hero__img.pos-up20{object-position:center -20px}
.tgvc-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,48,66,0.05) 0%,rgba(20,48,66,0.18) 20%,rgba(20,48,66,0.48) 50%,rgba(20,48,66,0.68) 100%);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:8%;padding-left:60px;padding-right:60px;
}
.tgvc-hero__text{max-width:1100px;color:#fff;text-align:center;font-family:'DM Sans',Helvetica,Arial,sans-serif}
.tgvc-hero__text p{font-size:22px;line-height:1.45;font-weight:300;text-shadow:0 2px 10px rgba(0,0,0,0.45)}
.tgvc-hero__text p strong{font-weight:600}
.tgvc-hero__text p+p{margin-top:8px;font-size:20px;opacity:0.85}

/* ===== 3-COL GRID ===== */
.tgvc-grid{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:16px;
  max-width:1340px;
  margin:-60px auto 0;
  padding:0 40px 60px;
  position:relative;z-index:2;
  align-items:stretch;
  font-family:'DM Sans',Helvetica,Arial,sans-serif;
  color:#143042;
}

/* ===== GALLERY COLS WRAPPER ===== */
.tgvc-gallery-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  min-width:0;
  align-items:stretch;
}

/* ===== SIDEBAR ===== */
.tgvc-sidebar{background:#143042;color:#fff;border-radius:10px;overflow:hidden;min-width:0;display:flex;flex-direction:column}

/* ===== GALLERY COLS ===== */
.tgvc-gallery-col{
  min-width:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;border-radius:6px;height:100%;
}
.tgvc-gallery-col img{
  width:100%;height:auto;display:block;border-radius:6px;
  cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;
}
.tgvc-gallery-col img:last-child{flex-grow:1;min-height:0;object-fit:cover}
.tgvc-gallery-col img:hover{transform:scale(1.015);box-shadow:0 6px 24px rgba(0,0,0,0.18)}

/* ===== PRODUCT TITLE BAR (above hero, desktop only) ===== */
.tgvc-product-title{background:#fff;border-bottom:1px solid rgba(20,48,66,.08);box-shadow:0 2px 8px rgba(20,48,66,.06);position:relative;z-index:3}
.tgvc-product-title__inner{max-width:1340px;margin:0 auto;padding:6px 40px 8px;display:flex;align-items:center;justify-content:space-between}
.tgvc-product-title__left{display:flex;flex-direction:column;gap:2px}
.tgvc-product-title h1{font-size:26px!important;font-weight:700!important;color:#143042!important;margin:0!important;padding:0!important;line-height:1.2!important;font-family:'Plus Jakarta Sans',sans-serif!important}
.tgvc-product-title__sub{font-size:13px;font-weight:400;color:rgba(20,48,66,.7)}
.tgvc-product-title__specs{display:flex;align-items:stretch}
.tgvc-product-title__spec{text-align:center;padding:0 20px;border-right:1px solid rgba(20,48,66,.1);display:flex;flex-direction:column;justify-content:center;gap:3px}
.tgvc-product-title__spec:last-child{border-right:none;padding-right:0}
.tgvc-product-title__spec-lbl{font-size:10px;font-weight:600;color:rgba(20,48,66,.6);letter-spacing:.8px;text-transform:uppercase}
.tgvc-product-title__spec-val{font-size:14px;font-weight:700;color:#143042;display:flex;align-items:center;gap:5px;justify-content:center}
.tgvc-product-title__flag{width:22px;height:15px;border-radius:2px;flex-shrink:0}
@media screen and (max-width:920px){.tgvc-product-title{display:none}}

/* ===== SPECS ===== */
.tgvc-spec{max-width:100%;margin:0;border:none;padding:28px 20px 12px;font-family:Helvetica,Arial,sans-serif;box-sizing:border-box}
.tgvc-spec-title{color:#fff;font-weight:700;text-align:center;font-size:18px;margin-bottom:24px;display:block;line-height:1.3}
.tgvc-spec-row{display:flex;align-items:flex-start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.08);gap:60px}
.tgvc-spec-row:last-of-type{border-bottom:none}
.tgvc-spec-label{color:#fff;font-weight:700;font-size:13px;min-width:110px;width:110px;flex-shrink:0}
.tgvc-spec-value{flex-grow:1;text-align:left;color:#e2e8f0;line-height:1.5;font-size:13px}
.tgvc-opt-hdr{font-weight:700;color:#fff;display:block;margin-bottom:4px;margin-top:8px}
.tgvc-opt-hdr:first-of-type{margin-top:0}
.tgvc-line{display:block;margin-bottom:5px}
.tgvc-color-block{display:flex;align-items:flex-start;margin-bottom:10px}
.tgvc-swatch{width:20px;height:20px;border-radius:4px;margin-right:8px;border:1px solid rgba(255,255,255,0.3);flex-shrink:0;margin-top:3px}
.tgvc-color-name{display:block;font-weight:600;color:#fff;font-size:13px}
.tgvc-ral{display:block;font-size:11px;opacity:0.8;color:#e2e8f0}
.tgvc-flag{display:inline-block;width:28px;height:18px;margin-left:8px;vertical-align:middle;background-size:contain;background-repeat:no-repeat;background-position:center;border:1px solid rgba(255,255,255,0.2);border-radius:1px}
.tgvc-flag-gb{background-image:url('https://flagcdn.com/w40/gb.png')}
.tgvc-flag-nl{background-image:url('https://flagcdn.com/w40/nl.png')}
.tgvc-spec-row-wrap{flex-wrap:wrap}
.tgvc-full-note{display:block;width:100%;flex-basis:100%;text-align:center;font-weight:700;margin-top:10px;color:#e2e8f0;font-size:12px}
.tgvc-btn-wrap{text-align:center;margin-top:24px;padding-bottom:8px}
.tgvc-btn{background-color:#2b98ff;color:#fff;padding:11px 24px;border-radius:6px;font-weight:700;font-size:14px;border:none;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;line-height:1.5;transition:all 0.2s}
.tgvc-btn:hover{background-color:#0084ff;transform:translateY(-1px)}

/* ===== SIDE OPTIONS ACCORDION ===== */
.tgvc-so-wrap{margin-top:4px}
.tgvc-so-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:8px;margin-bottom:6px;overflow:hidden;transition:border-color 0.2s;cursor:pointer}
.tgvc-so-card:last-child{margin-bottom:0}
.tgvc-so-card:hover,.tgvc-so-card.tgvc-so-open{border-color:rgba(253,202,33,0.35)}
.tgvc-so-hdr{display:flex;align-items:center;gap:10px;padding:10px 12px;user-select:none}
.tgvc-so-thumb{width:44px;height:32px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,0.15)}
.tgvc-so-name{flex:1;font-size:13px;font-weight:600;color:#fff;line-height:1.3}
.tgvc-so-chev{font-size:10px;color:#fdca21;transition:transform 0.25s;flex-shrink:0}
.tgvc-so-open .tgvc-so-chev{transform:rotate(180deg)}
.tgvc-so-body{max-height:0;overflow:hidden;transition:max-height 0.35s ease}
.tgvc-so-open .tgvc-so-body{max-height:320px}
.tgvc-so-inner{padding:0 12px 12px}
.tgvc-so-img{width:100%;border-radius:6px;aspect-ratio:16/8;object-fit:cover;margin-bottom:8px}
.tgvc-so-desc{font-size:12px;color:#cbd5e1;line-height:1.55;margin-bottom:8px}
.tgvc-so-link{font-size:12px;font-weight:700;color:#fdca21;text-decoration:none;display:inline-block;transition:color 0.2s}
.tgvc-so-link:hover{color:#fff}
.tgvc-so-note{display:block;margin-top:8px;font-size:11px;color:rgba(255,255,255,0.55);text-align:center}

/* ===== CONTACT SECTION ===== */
.tgvc-contact{background-color:transparent;max-width:100%;margin:0;border-radius:0;border:none;border-top:1px solid rgba(255,255,255,0.2);border-bottom:1px solid rgba(255,255,255,0.2);padding:22px 20px;font-family:Helvetica,Arial,sans-serif;box-sizing:border-box}
.tgvc-gold-hdr{color:#fdca21;font-weight:700;text-align:center;font-size:16px;margin-bottom:18px;display:block;line-height:1.3}
.tgvc-gold-sub{color:#fdca21;font-weight:700;font-size:13px;text-align:center;margin-bottom:16px;display:block}
.tgvc-chat-link{color:#fdca21;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:700}
.tgvc-chat-link:hover{color:#fff}
.tgvc-divider{border:none;border-top:1px solid rgba(255,255,255,0.12);margin:20px auto;width:80%}
.tgvc-sched{color:#fdca21;font-weight:400;font-size:12px;margin-bottom:12px;display:block;text-align:center}

/* Contact method cards */
.tgvc-methods{display:flex;flex-direction:column;gap:6px;margin-bottom:0}
.tgvc-method{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:8px;transition:background 0.25s,border-color 0.25s;text-decoration:none;color:#fff;overflow:hidden}
.tgvc-method:hover{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.25)}
.tgvc-m-icon{width:28px;height:28px;min-width:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tgvc-m-icon.ph{background:rgba(43,152,255,0.15)}
.tgvc-m-icon.em{background:rgba(253,202,33,0.15)}
.tgvc-m-icon.wa{background:rgba(37,211,102,0.15)}
.tgvc-m-icon svg{width:14px;height:14px}
.tgvc-m-text{display:flex;flex-direction:column;min-width:0}
.tgvc-m-label{font-size:0.58rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#8a9baa;margin-bottom:1px;line-height:1.2}
.tgvc-m-val{font-size:0.78rem;font-weight:600;color:#fff;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Contact form */
.tgvc-contact label{color:#fff;font-weight:700;font-size:0.78rem;display:block;margin-bottom:4px}
.tgvc-red{color:#ff4949;margin-left:3px}
.tgvc-input{width:100%;font-family:Helvetica,Arial,sans-serif;font-size:0.82rem;color:rgba(255,255,255,0.85);font-weight:500;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:10px 12px;margin-bottom:10px;box-sizing:border-box;outline:none;transition:border-color 0.25s,background 0.25s}
.tgvc-input::placeholder{color:rgba(255,255,255,0.45)}
.tgvc-input:focus{border-color:#2b98ff;background:rgba(43,152,255,0.08)}
.tgvc-radio{color:rgba(255,255,255,0.8);font-size:0.8rem;text-align:left}
.tgvc-radio-opt{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-weight:400;font-size:0.8rem;color:rgba(255,255,255,0.75);cursor:pointer}
.tgvc-radio-opt input[type="radio"]{accent-color:#2b98ff;width:14px;height:14px;margin:0;flex-shrink:0}
.tgvc-success{display:none;text-align:center;padding:30px 0 40px}
.tgvc-success h3{color:#fdca21;font-size:20px;font-weight:700;margin-bottom:8px}
.tgvc-success p{color:#fff;font-size:14px;line-height:1.5}

/* ===== BLOG CAROUSEL ===== */
.tgvc-blog{padding:18px 20px 24px;flex-grow:1;display:flex;flex-direction:column;margin-top:28px}
.tgvc-blog-heading{font-weight:700;font-size:1rem;color:#fff;text-align:center;margin:0 0 4px}
.tgvc-blog-sub{text-align:center;color:#fff;font-size:0.78rem;font-weight:500;opacity:0.7;margin:0 0 14px;display:block}
.blog-carousel{position:relative;border-radius:10px;overflow:hidden;background:#fff}
.blog-track{display:flex;transition:transform 0.42s cubic-bezier(0.4,0,0.2,1);will-change:transform}
.blog-slide{flex:0 0 100%;display:block;text-decoration:none;color:inherit;cursor:pointer}
.bs-img-wrap{position:relative;width:100%;height:190px;overflow:hidden}
.bs-img{width:100%;height:100%;display:block;object-fit:cover}
.bs-img-wrap::before,.bs-img-wrap::after{content:'';position:absolute;top:0;bottom:0;width:52px;z-index:2;pointer-events:none}
.bs-img-wrap::before{left:0;background:linear-gradient(to right,rgba(0,0,0,0.38),transparent)}
.bs-img-wrap::after{right:0;background:linear-gradient(to left,rgba(0,0,0,0.38),transparent)}
.bs-cat{position:absolute;bottom:10px;left:10px;font-size:0.6rem;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;padding:3px 8px;border-radius:4px;z-index:3}
.bs-cat-fin{background:rgba(253,202,33,0.95);color:#143042}
.bs-cat-plan{background:rgba(45,138,78,0.92);color:#fff}
.bs-cat-buy{background:rgba(26,111,181,0.92);color:#fff}
.bs-cat-life{background:rgba(120,80,50,0.9);color:#fff}
.bs-cat-proc{background:rgba(80,50,120,0.9);color:#fff}
.bs-cat-hist{background:rgba(100,60,40,0.9);color:#fff}
.blog-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.35);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;padding:0;font-family:inherit;backdrop-filter:blur(4px)}
.blog-arrow:hover{background:rgba(255,255,255,0.32)}
.blog-prev{left:8px}
.blog-next{right:8px}
.bs-body{padding:13px 15px 15px}
.bs-title{font-weight:700;font-size:0.84rem;color:#143042;line-height:1.3;margin-bottom:4px}
.bs-desc{font-size:0.74rem;color:#6b7580;line-height:1.45;margin-bottom:5px}
.bs-read{font-size:0.7rem;font-weight:700;color:#0185ff}
.blog-slide:hover .bs-read{color:#143042}
.blog-loading{text-align:center;color:rgba(255,255,255,0.5);font-size:0.78rem;padding:20px 0}
.tgvc-blog-footer{text-align:center;margin-top:14px;font-size:0.78rem;color:rgba(255,255,255,0.55);line-height:1.7}
.tgvc-blog-footer a{color:#fdca21;font-weight:600;text-decoration:none}
.tgvc-blog-footer a:hover{text-decoration:underline;opacity:0.8}

/* ===== LIGHTBOX ===== */
.tgvc-lb{display:none;position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,0.92);align-items:center;justify-content:center}
.tgvc-lb.active{display:flex}
.tgvc-lb__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,0.5)}
.tgvc-lb__close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.tgvc-lb__close:hover{background:rgba(255,255,255,0.25)}
.tgvc-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.tgvc-lb__nav:hover{background:rgba(255,255,255,0.25)}
.tgvc-lb__prev{left:20px}
.tgvc-lb__next{right:20px}
.tgvc-lb__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.6);font-size:14px;font-weight:500}

/* ===== LIGHTBOX (side-option variant) ===== */
.tgvc-lightbox{display:none;position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,0.92);align-items:center;justify-content:center}
.tgvc-lightbox.active{display:flex}
.tgvc-lightbox .tgvc-lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 40px rgba(0,0,0,0.5)}
.tgvc-lightbox .tgvc-lb-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.tgvc-lightbox .tgvc-lb-close:hover{background:rgba(255,255,255,0.25)}
.tgvc-lightbox .tgvc-lb-prev,.tgvc-lightbox .tgvc-lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.tgvc-lightbox .tgvc-lb-prev:hover,.tgvc-lightbox .tgvc-lb-next:hover{background:rgba(255,255,255,0.25)}
.tgvc-lightbox .tgvc-lb-prev{left:20px}
.tgvc-lightbox .tgvc-lb-next{right:20px}

/* ===== RESPONSIVE (large desktop) ===== */
@media(max-width:1100px){.tgvc-grid{max-width:100%;padding:0 24px 60px;gap:12px}}

} /* end min-width:921px */


/* ================================================================
   MOBILE STYLES (≤ 920px)
   ================================================================ */
@media screen and (max-width:1024px) {

  /* ===== HERO ===== */
  .tgvc-hero {
    height: 58vw !important;
    min-height: 250px !important;
    max-height: 430px !important;
    margin-top: 78px;
    position: relative;
    overflow: hidden;
  }
  .tgvc-hero__img {
    width: 100%; height: 100%; display: block;
    object-fit: cover; object-position: center top;
  }
  .tgvc-hero__img.pos-up18,
  .tgvc-hero__img.pos-up10 { object-position: center top; }

  /* Mobile hero overlay — gradient at bottom, content at bottom */
  .tgvc-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(20,48,66,0.88) 0%, rgba(20,48,66,0.35) 45%, transparent 70%);
    display: flex; align-items: flex-end; padding: 20px;
    justify-content: flex-start;
  }

  /* Hide desktop description text in overlay */
  .tgvc-hero__text { display: none !important; }

  /* Show mobile badge + title + subtitle */
  .vp-mob-overlay {
    display: block !important;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
  }
  .vp-mob-badge {
    display: inline-block;
    background: #fdca21;
    color: #143042;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 8px;
  }
  .vp-mob-title {
    font-family: 'DM Serif Display', Georgia, serif;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    margin: 0 0 5px;
    display: block;
    font-weight: 400;
  }
  .vp-mob-sub {
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    margin: 0;
    font-weight: 400;
    line-height: 1.4;
  }

  /* ===== MOBILE EXTRA SECTION (desc + stats + cta) ===== */
  .vp-mob-extra {
    display: block !important;
    background: #fff;
    font-family: 'DM Sans', sans-serif;
  }

  /* Show mobile-only elements */
  .vp-mob-pricing-box { display: block !important; }
  .vp-mob-quick-stats-bar { display: flex !important; }
  .vp-mob-compare-cta-wrap { display: block !important; }
  .vp-mob-gallery-hint { display: block !important; }

  .vp-mob-desc {
    padding: 22px 20px 18px;
    font-size: 15px;
    line-height: 1.7;
    color: #444;
  }
  .vp-mob-desc p { margin: 0 0 12px; }
  .vp-mob-desc p:last-child { margin-bottom: 0; }
  .vp-mob-desc strong { color: #143042; }

  /* Key stats bar */
  .vp-mob-stats {
    display: flex !important;
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
    margin: 0 0 20px;
  }
  .vp-mob-stat {
    flex: 1;
    text-align: center;
    padding: 16px 8px;
    border-right: 1px solid #e9ecef;
  }
  .vp-mob-stat:last-child { border-right: none; }
  .vp-mob-stat-v {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #143042;
    line-height: 1.2;
    margin-bottom: 4px;
    display: block;
  }
  .vp-mob-stat-l {
    font-size: 10px;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    display: block;
  }

  /* Quote CTA */
  .vp-mob-cta {
    padding: 0 20px 24px;
  }
  .vp-mob-cta a {
    display: block;
    background: #0185ff;
    color: #fff;
    padding: 14px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    font-family: 'DM Sans', sans-serif;
  }

  /* ===== MAIN GRID ON MOBILE ===== */
  .tgvc-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 0;
    padding: 0;
    font-family: 'DM Sans', sans-serif;
  }

  /* Gallery section comes before specs on mobile */
  .tgvc-gallery-cols { order: 1; }
  .tgvc-sidebar { order: 2; border-radius: 0; }

  /* ===== HORIZONTAL GALLERY SCROLL ===== */
  .tgvc-gallery-cols {
    display: flex !important;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    padding: 12px 16px 16px;
    background: #f5f3ef;
    scrollbar-width: none;
  }
  .tgvc-gallery-cols::after {
    content: '90 Swipe to browse 92';
    display: none;
  }
  .tgvc-gallery-cols::-webkit-scrollbar { display: none; }

  /* Use display:contents to merge both gallery cols into one scroll row */
  .tgvc-gallery-col { display: contents; }

  /* All gallery images become direct flex items */
  .tgvc-gallery-cols img {
    flex: 0 0 240px !important;
    width: 240px !important;
    height: 180px !important;
    aspect-ratio: unset !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    scroll-snap-align: start !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Gallery swipe hint */
  .vp-mob-gallery-hint {
    text-align: center;
    font-size: 12px;
    color: #6c757d;
    padding: 4px 0 8px;
    background: #f5f3ef;
    font-family: 'DM Sans', sans-serif;
  }

  /* ===== SIDEBAR / SPECS ON MOBILE ===== */
  .tgvc-contact,
  .tgvc-blog { display: none !important; }

  .tgvc-spec { padding: 28px 16px 16px; }
  .tgvc-spec-title { font-size: 18px; margin-bottom: 20px; }
  .tgvc-spec-row { gap: 16px; padding: 10px 0; }
  .tgvc-spec-label { min-width: 88px; width: 88px; font-size: 12px; }
  .tgvc-spec-value { font-size: 12px; }
  .tgvc-btn-wrap { padding: 16px 0 20px; }
  .tgvc-btn {
    font-size: 14px;
    padding: 12px 20px;
    display: block;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: 6px;
  }
  .tgvc-so-card { cursor: pointer; }

  /* ===== MOBILE PRICING BOX ===== */
  .vp-mob-pricing-box {
    background: var(--navy, #143042);
    padding: 28px 20px; margin: 0 20px 24px;
    border-radius: 4px; text-align: center;
  }
  .vp-mob-pricing-label {
    font-size: 12px; color: rgba(255,255,255,0.7);
    text-transform: uppercase; letter-spacing: 1.5px;
    font-weight: 600; margin-bottom: 6px;
  }
  .vp-mob-pricing-amount {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 44px; color: #fdca21; margin-bottom: 6px;
  }
  .vp-mob-pricing-note {
    font-size: 13px; color: rgba(255,255,255,0.6); margin-bottom: 18px;
  }
  .vp-mob-pricing-cta {
    background: #0185ff; color: #fff;
    padding: 14px 30px; border-radius: 4px;
    font-weight: 700; font-size: 15px;
    text-decoration: none; display: inline-block;
  }
  .vp-mob-pricing-cta:active { opacity: 0.9; }

  /* ===== MOBILE QUICK STATS BAR ===== */
  .vp-mob-quick-stats-bar {
    display: flex; gap: 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-bottom: 16px;
  }
  .vp-mob-qs {
    flex: 1; text-align: center;
    padding: 10px 6px;
    border-right: 1px solid rgba(255,255,255,0.1);
    display: flex; flex-direction: column; justify-content: center;
  }
  .vp-mob-qs:last-child { border-right: none; }
  .vp-mob-qs-lbl {
    color: #fdca21; font-size: 10px;
    text-transform: uppercase; letter-spacing: 0.5px;
    font-weight: 700; margin-bottom: 4px;
  }
  .vp-mob-qs-val {
    font-weight: 700; color: #fff;
    font-size: 18px; line-height: 1.2;
  }

  /* ===== MOBILE COMPARE CTA ===== */
  .vp-mob-compare-cta-wrap {
    padding: 20px 20px 8px; text-align: center;
    background: #f5f3ef;
  }
  .vp-mob-compare-cta-wrap a {
    display: block; padding: 14px;
    background: #2b98ff; border-radius: 8px;
    text-decoration: none; color: #fff;
    font-weight: 700; font-size: 15px; text-align: center;
  }

  /* ===== GALLERY HINT ===== */
  .vp-mob-gallery-hint {
    text-align: center; font-size: 12px;
    color: #6c757d; padding: 4px 0 8px;
    background: #f5f3ef;
    font-family: 'DM Sans', sans-serif;
  }

  /* ===== LIGHTBOX — enabled on mobile ===== */
  .tgvc-lb { display: none; }
  .tgvc-lb.active { display: flex !important; }
  .tgvc-lb__img { max-width: 95vw; max-height: 75vh; }
  .tgvc-lb__close { top: 12px; right: 12px; width: 40px; height: 40px; font-size: 20px; }
  .tgvc-lb__nav { width: 40px; height: 40px; font-size: 18px; }
  .tgvc-lb__prev { left: 8px; }
  .tgvc-lb__next { right: 8px; }

  /* Bottom padding for mobile tab bar */
  .tgvc-grid { padding-bottom: 80px; }
}

/* ===== VERY SMALL SCREENS ===== */
@media screen and (max-width: 375px) {
  .tgvc-hero { height: 62vw !important; }
  .vp-mob-title { font-size: 28px; }
  .tgvc-gallery-cols img { flex: 0 0 200px !important; width: 200px !important; }
}
