/* Hospitality-inspired product experience, adapted to Grafiglas B2B. */
body.ggv-box-product{--ggv-ink:#111341;--ggv-muted:#696b79;--ggv-line:#e5e6eb;--ggv-soft:#f6f6f8;--ggv-radius:18px;padding-bottom:0}
body.ggv-box-product .elementor-element-9b11f03,
body.ggv-box-product .elementor-element-cbb4041,
body.ggv-box-product .elementor-widget-woocommerce-product-meta,
body.ggv-box-product .elementor-element-9d39695,
body.ggv-box-product .elementor-element-7afc545{display:none!important}

body.ggv-box-product .ggseo-breadcrumbs{max-width:1440px;padding-top:22px;padding-bottom:22px}
body.ggv-box-product .elementor-element-c447398{padding:0 clamp(20px,3vw,48px) 64px!important}
body.ggv-box-product .elementor-element-c447398>.e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr)!important;gap:clamp(42px,5vw,84px)!important;align-items:start!important;width:100%!important;max-width:1440px!important}
body.ggv-box-product .elementor-element-1f379d8,
body.ggv-box-product .elementor-element-4336949{width:100%!important;max-width:none!important;min-width:0!important;padding:0!important}
body.ggv-box-product .elementor-element-4336949{position:sticky!important;top:118px!important;align-self:start!important}

/* Gallery */
body.ggv-box-product .woocommerce-product-gallery{width:100%!important;margin:0!important;display:grid!important;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:start}
body.ggv-box-product .woocommerce-product-gallery .flex-viewport,
body.ggv-box-product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{grid-column:2;grid-row:1;min-width:0;border-radius:var(--ggv-radius);overflow:hidden;background:var(--ggv-soft)}
body.ggv-box-product .woocommerce-product-gallery__image{background:var(--ggv-soft)}
body.ggv-box-product .woocommerce-product-gallery__image a{display:flex!important;align-items:center;justify-content:center;min-height:620px}
body.ggv-box-product .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;max-height:720px!important;object-fit:contain!important}
body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs{grid-column:1;grid-row:1;display:flex!important;flex-direction:column;gap:10px;margin:0!important;padding:0!important;list-style:none}
body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs li{width:82px!important;float:none!important;margin:0!important;padding:0!important}
body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs img{display:block;width:82px!important;height:82px!important;object-fit:cover;border:1px solid var(--ggv-line);border-radius:12px;opacity:.58;background:var(--ggv-soft);transition:.2s ease}
body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:.85;border-color:#b9bac4}
body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--ggv-ink);box-shadow:0 0 0 1px var(--ggv-ink)}
body.ggv-box-product .woocommerce-product-gallery__trigger{top:18px!important;right:18px!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 4px 16px rgba(10,14,43,.1)!important;z-index:4}

/* Information hierarchy */
body.ggv-box-product .elementor-widget-woocommerce-product-title{margin:0 0 12px!important}
body.ggv-box-product .product_title{margin:0!important;color:var(--ggv-ink)!important;font-size:clamp(30px,3vw,48px)!important;font-weight:650!important;line-height:1.08!important;letter-spacing:-.03em!important}
body.ggv-box-product .elementor-widget-woocommerce-product-price{margin:0 0 12px!important}
body.ggv-box-product .elementor-widget-woocommerce-product-price .price{margin:0!important;color:var(--ggv-ink)!important;font-size:23px!important;font-weight:700!important;line-height:1.45!important}
body.ggv-box-product .elementor-widget-woocommerce-product-price .price>small{color:var(--ggv-muted)!important;font-size:12px!important;font-weight:500!important}
body.ggv-box-product .ggv-product-intro{margin:0 0 18px!important}
body.ggv-box-product .ggv-product-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}
body.ggv-box-product .ggv-product-meta span{padding:7px 10px;border:1px solid var(--ggv-line);border-radius:999px;color:#555765;background:#fff;font-size:11px;font-weight:650;line-height:1;text-transform:uppercase;letter-spacing:.055em}
body.ggv-box-product .ggv-product-intro>p{max-width:60ch;margin:0;color:var(--ggv-muted);font-size:15px;line-height:1.65}
body.ggv-box-product .stock{display:inline-flex!important;align-items:center!important;gap:8px!important;margin:0 0 6px!important;color:#26754b!important;font-size:13px!important;font-weight:650!important}
body.ggv-box-product .stock:before{content:'';width:8px;height:8px;border-radius:50%;background:#39a267;box-shadow:0 0 0 4px #e7f6ed}

/* Purchase card */
body.ggv-box-product form.cart:has(.ggv-pack-picker){display:block!important;margin:0!important;padding:0!important}
body.ggv-box-product .ggv-pack-picker{margin:12px 0 14px!important;padding:4px 18px 16px;border:1px solid var(--ggv-line);border-radius:var(--ggv-radius);background:#fff}
body.ggv-box-product .ggv-pack-heading{margin:14px 0 4px;color:var(--ggv-ink);font-size:13px;font-weight:700;letter-spacing:.01em}
body.ggv-box-product .ggv-pack-picker .ggv-pack-row{min-height:64px;padding:12px 0;border-color:var(--ggv-line)}
body.ggv-box-product .ggv-pack-row label strong{color:var(--ggv-ink);font-size:16px}
body.ggv-box-product .ggv-pack-picker .ggv-stepper{width:138px;border-radius:12px;background:var(--ggv-soft)}
body.ggv-box-product .ggv-pallet-details{border-top:1px solid var(--ggv-line)}
body.ggv-box-product .ggv-pallet-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;color:#585a67;font-size:13px;font-weight:650;cursor:pointer;list-style:none}
body.ggv-box-product .ggv-pallet-details summary::-webkit-details-marker{display:none}
body.ggv-box-product .ggv-pallet-details summary:after{content:'+';font-size:18px;font-weight:400;color:#7a7c87}
body.ggv-box-product .ggv-pallet-details[open] summary:after{content:'−'}
body.ggv-box-product .ggv-pallet-details .ggv-pack-row{border-top:0;padding-top:4px}
body.ggv-box-product .ggv-pack-total{padding-top:13px;border-color:var(--ggv-line)}
body.ggv-box-product .ggv-pack-total strong{color:var(--ggv-ink);font-size:18px}
body.ggv-box-product form.cart .single_add_to_cart_button{display:flex!important;align-items:center!important;justify-content:center!important;float:none!important;width:100%!important;max-width:none!important;min-height:58px!important;margin:0!important;padding:0 24px!important;border-radius:14px!important;background:var(--ggv-ink)!important;color:#fff!important;font-size:17px!important;font-weight:700!important;box-shadow:none!important;transition:transform .18s ease,background .18s ease!important}
body.ggv-box-product form.cart .single_add_to_cart_button:hover{background:#080a32!important;transform:translateY(-1px)}
body.ggv-box-product .ggv-cart-notices{margin-bottom:10px;font-size:13px}
body.ggv-box-product .ggv-order-note{display:grid;gap:0;margin:16px 0 0!important;padding:0;border-top:1px solid var(--ggv-line);color:#5f616e!important;font-size:13px!important;line-height:1.55!important}
body.ggv-box-product .ggv-order-note p{position:relative;margin:0!important;padding:13px 0 13px 30px;border-bottom:1px solid var(--ggv-line)}
body.ggv-box-product .ggv-order-note p:first-child:before{content:'✓'}
body.ggv-box-product .ggv-order-note p:nth-child(2):before{content:'□'}
body.ggv-box-product .ggv-order-note p:before{position:absolute;left:2px;top:13px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ggv-ink);font-weight:800}

/* SEO detail content becomes a compact accessible accordion. */
body.ggv-box-product .ggseo-details{max-width:1440px;margin:0 auto 68px!important;padding:0 clamp(20px,3vw,48px)!important}
body.ggv-box-product .ggseo-details-inner{padding:0!important;border:0!important}
body.ggv-box-product .ggv-detail-panel{border-top:1px solid var(--ggv-line);border-bottom:1px solid var(--ggv-line)}
body.ggv-box-product .ggv-detail-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;color:var(--ggv-ink);cursor:pointer;list-style:none;font-size:18px;font-weight:650}
body.ggv-box-product .ggv-detail-panel>summary::-webkit-details-marker{display:none}
body.ggv-box-product .ggv-detail-panel>summary span:last-child{font-size:24px;font-weight:300;transition:transform .2s ease}
body.ggv-box-product .ggv-detail-panel[open]>summary span:last-child{transform:rotate(45deg)}
body.ggv-box-product .ggv-detail-panel>*:not(summary){max-width:1040px}
body.ggv-box-product .ggv-detail-panel>h2{display:none!important}
body.ggv-box-product .ggv-detail-panel .ggseo-description{padding:2px 2px 32px}
body.ggv-box-product .ggv-detail-panel .ggv-technical-specs{gap:clamp(24px,4vw,70px)!important;margin:28px 0!important;padding:26px;border-radius:var(--ggv-radius);background:var(--ggv-soft)}

/* Related carousel */
.ggv-related-products{width:100%;max-width:1440px;margin:0 auto 76px;padding:0 clamp(20px,3vw,48px);box-sizing:border-box;color:var(--ggv-ink)}
.ggv-related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.ggv-related-head>div>span{display:block;margin-bottom:5px;color:#7a7c87;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ggv-related-head h2{margin:0!important;color:var(--ggv-ink)!important;font-size:clamp(24px,2.4vw,34px)!important;font-weight:650!important;letter-spacing:-.02em}
.ggv-related-nav{display:flex;gap:8px}
.ggv-related-nav button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--ggv-line);border-radius:50%;background:#fff;color:var(--ggv-ink);font-size:18px;cursor:pointer}
.ggv-related-nav button:hover{background:var(--ggv-soft)}
.ggv-related-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,calc((100% - 42px)/4));gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.ggv-related-track::-webkit-scrollbar{display:none}
.ggv-related-card{display:flex;flex-direction:column;min-width:0;scroll-snap-align:start}
.ggv-related-image{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:16px;background:var(--ggv-soft)}
.ggv-related-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.ggv-related-image:hover img{transform:scale(1.02)}
.ggv-related-image>span{position:absolute;top:10px;left:10px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.9);color:#585a67;font-size:10px;font-weight:650}
.ggv-related-card>p{margin:13px 0 4px;color:#8a8c96;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.ggv-related-card h3{margin:0 0 10px!important;font-size:15px!important;font-weight:650!important;line-height:1.35!important}
.ggv-related-card h3 a{color:var(--ggv-ink);text-decoration:none}
.ggv-related-price{display:grid;gap:2px;margin-top:auto}
.ggv-related-price strong{color:var(--ggv-ink);font-size:15px}
.ggv-related-price strong small{font-size:11px;font-weight:500}
.ggv-related-price>span{color:#747682;font-size:11px}
.ggv-related-buy{margin-top:12px}
.ggv-related-buy button{width:100%;min-height:42px;border:1px solid var(--ggv-ink);border-radius:11px;background:#fff;color:var(--ggv-ink);font-size:13px;font-weight:700;cursor:pointer}
.ggv-related-buy button:hover{background:var(--ggv-ink);color:#fff}

/* Sticky purchase bar */
.ggv-sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px max(24px,calc((100vw - 1370px)/2));border-top:1px solid var(--ggv-line);background:rgba(255,255,255,.96);box-shadow:0 -8px 30px rgba(12,16,48,.08);backdrop-filter:blur(14px);transform:translateY(115%);transition:transform .25s ease;box-sizing:border-box}
body.ggv-sticky-active .ggv-sticky-buy{transform:translateY(0)}
.ggv-sticky-product{display:flex;align-items:center;gap:12px;min-width:0}
.ggv-sticky-product img{width:54px;height:54px;object-fit:contain;border-radius:9px;background:var(--ggv-soft)}
.ggv-sticky-product>div{display:grid;gap:2px;min-width:0}
.ggv-sticky-product strong{max-width:600px;overflow:hidden;color:var(--ggv-ink);font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.ggv-sticky-product span{color:#737580;font-size:11px}
.ggv-sticky-actions{display:flex;align-items:center;gap:10px}
.ggv-sticky-stepper{display:flex;align-items:center;height:44px;border:1px solid var(--ggv-line);border-radius:11px;overflow:hidden;background:#fff}
.ggv-sticky-stepper button{width:38px;height:44px;padding:0;border:0;background:#fff;color:var(--ggv-ink);font-size:18px;cursor:pointer}
.ggv-sticky-stepper span{min-width:64px;text-align:center;color:var(--ggv-ink);font-size:12px;font-weight:650}
.ggv-sticky-submit{height:44px;min-width:190px;padding:0 22px;border:0;border-radius:11px;background:var(--ggv-ink);color:#fff;font-size:14px;font-weight:700;cursor:pointer}

@media(max-width:1024px){
  body.ggv-box-product .elementor-element-c447398>.e-con-inner{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important;gap:34px!important}
  body.ggv-box-product .elementor-element-4336949{top:92px!important}
  body.ggv-box-product .woocommerce-product-gallery__image a{min-height:480px}
  .ggv-related-track{grid-auto-columns:minmax(230px,calc((100% - 28px)/3))}
}

@media(max-width:767px){
  body.ggv-box-product{padding-bottom:72px}
  body.ggv-box-product .ggseo-breadcrumbs{padding-top:16px;padding-bottom:16px;overflow:hidden;white-space:nowrap;flex-wrap:nowrap}
  body.ggv-box-product .elementor-element-c447398{padding:0 16px 42px!important}
  body.ggv-box-product .elementor-element-c447398>.e-con-inner{display:flex!important;flex-direction:column!important;gap:24px!important}
  body.ggv-box-product .elementor-element-4336949{position:relative!important;top:auto!important}
  body.ggv-box-product .woocommerce-product-gallery{display:flex!important;flex-direction:column;gap:10px}
  body.ggv-box-product .woocommerce-product-gallery .flex-viewport,
  body.ggv-box-product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{width:100%;order:1}
  body.ggv-box-product .woocommerce-product-gallery__image a{min-height:0;aspect-ratio:1/1}
  body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs{order:2;display:grid!important;grid-auto-flow:column;grid-auto-columns:68px;gap:8px;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory}
  body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs li{width:68px!important;scroll-snap-align:start}
  body.ggv-box-product .woocommerce-product-gallery .flex-control-thumbs img{width:68px!important;height:68px!important;border-radius:10px}
  body.ggv-box-product .product_title{font-size:31px!important}
  body.ggv-box-product .elementor-widget-woocommerce-product-price .price{font-size:20px!important}
  body.ggv-box-product .ggv-product-intro>p{font-size:14px}
  body.ggv-box-product .ggv-pack-picker{padding:3px 14px 14px;border-radius:15px}
  body.ggv-box-product .ggseo-details{margin-bottom:46px!important;padding:0 16px!important}
  body.ggv-box-product .ggv-detail-panel .ggv-technical-specs{padding:18px!important;border-radius:14px}
  .ggv-related-products{margin-bottom:46px;padding:0 16px}
  .ggv-related-head{align-items:center}
  .ggv-related-nav{display:none}
  .ggv-related-track{grid-auto-columns:76vw;gap:12px}
  .ggv-sticky-buy{padding:9px 12px;gap:10px}
  .ggv-sticky-product img{width:44px;height:44px}
  .ggv-sticky-product strong{max-width:32vw;font-size:11px}
  .ggv-sticky-product span{font-size:10px}
  .ggv-sticky-stepper{display:none}
  .ggv-sticky-submit{min-width:136px;height:46px;padding:0 14px;font-size:13px}
}
