/* Shared responsive repairs, loaded after the legacy page styles. */
[hidden]{display:none!important}
.product-card::before{pointer-events:none}
.product-card>div,.product-card>button{min-width:0}
.products-carousel-shell.reveal,.products-grid>.product-card.reveal{opacity:1!important;transform:none!important}
.products-carousel-viewport{height:var(--product-card-height,auto);transition:height .2s ease;overflow:hidden}
.products-grid.two-products{align-items:flex-start!important}
.products-grid.two-products>.product-card{align-self:flex-start!important}
.product-card .product-card-cta{position:relative;z-index:1}
.refund-footer a:focus-visible{outline:3px solid #efcd44;outline-offset:4px}
.docx-full-copy p,.docx-full-copy h3,.mag-info-table td{overflow-wrap:anywhere}
.mag-info-head{position:relative}
.mag-info-head button{position:absolute;top:20px;right:20px;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff18;color:white;font-size:24px;cursor:pointer}
.mag-info-head h2{padding-right:48px}
.mobile-dialog-close{display:none}
@media(max-width:900px){
 html{scroll-padding-top:88px}
 section[id],article[id]{scroll-margin-top:88px}
 h1,h2,h3,p,a,li,label,strong{overflow-wrap:break-word}
 input,select,textarea{min-width:0;max-width:100%;font-size:16px!important}
 nav,.site-head{width:100%;min-width:0}
 .section-inner,.layout,.story-wrap,.content,.box,.product-title,.product-head,.product-shot,.form-card{min-width:0}
 .hero h1{font-size:clamp(32px,8.6vw,52px)!important;line-height:1.08!important;overflow-wrap:anywhere}
 .product-title h2{font-size:clamp(28px,8vw,44px)!important;line-height:1.1!important}
 .product-head{padding:24px!important;gap:24px!important}
 .product-shot{padding:16px!important;min-height:0!important}
 .product-shot img{width:100%;max-height:310px;object-fit:contain;object-position:center}
 .composition{font-size:12px}
 .table-wrap,.pmodal-table-wrap,.vitc-table-wrap,.mag-info-table-wrap{max-width:100%;min-width:0;overscroll-behavior-x:contain}
 /* Home navigation: full-width panel, correctly anchored to the actual header. */
 #main-nav{height:72px!important;padding:0 18px!important}
 #main-nav .hamburger{display:flex!important;min-width:44px;min-height:44px;align-items:center;justify-content:center}
 #main-nav .nav-links{display:none!important}
 #main-nav.mobile-menu-open .nav-links{display:flex!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;max-width:none!important;max-height:calc(100dvh - 72px);overflow-y:auto;flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin:0!important;padding:16px!important;background:#fbfaf7!important;box-shadow:0 16px 30px #0002;z-index:1200!important;transform:none!important}
 #main-nav .nav-links>li{display:block;width:100%;min-width:0}
 #main-nav .nav-links a,#main-nav .nav-links button{min-height:44px;white-space:normal;line-height:1.5}
 #main-nav .nav-links>li>a,#main-nav .nav-links>li>button{display:flex;align-items:center;justify-content:center;padding:12px;width:100%;text-align:center}
 #main-nav .nav-products-toggle{width:100%}
 #main-nav .nav-product-dropdown{display:none!important;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;transform:none!important;opacity:1!important;pointer-events:auto!important;margin:8px 0 0!important;padding:8px!important;box-shadow:none!important}
 #main-nav .nav-product-menu.open .nav-product-dropdown{display:grid!important;gap:4px}
 #main-nav .nav-product-dropdown a{display:flex;gap:12px;align-items:center;padding:12px!important;text-align:left;font-size:12px!important}
 #main-nav .nav-product-dropdown small{flex:none}
 #main-nav .nav-product-dropdown::before{display:none}
 /* Natural-height slides prevent large blank areas and hidden content. */
 .products-carousel-shell{max-width:100%!important;width:100%!important}
 .products-carousel-viewport{touch-action:pan-y pinch-zoom}
 .products-grid.two-products>.product-card{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;padding:24px!important;gap:0!important}
 .products-grid.two-products>.product-card .product-pack-wrap{width:100%!important;min-width:0!important;align-self:stretch!important;margin:0 0 24px!important}
 .products-grid.two-products>.product-card .pack-shot{width:100%!important;height:220px!important;min-height:0!important;transform:none!important;justify-content:center!important}
 .products-grid.two-products>.product-card .pack-img{width:100%!important;height:100%!important;max-height:220px!important;object-fit:contain!important;transform:none!important;object-position:center!important}
 .products-grid.two-products>.product-card .bundle-pack-shot{min-height:0!important;height:240px!important;transform:none!important;gap:10px!important;align-items:center!important;justify-content:center!important}
 .products-grid.two-products>.product-card .bundle-pack-shot img{max-width:100%!important;max-height:110px!important;height:110px!important;flex-basis:110px!important;margin:0!important;transform:none!important;object-position:center!important}
 .product-card-number,.product-card-dots,.product-card-name,.product-card-format,.product-card-desc,.product-card-benefits,.product-card-cta{grid-column:auto!important;grid-row:auto!important}
 .product-card .product-card-name{font-size:clamp(26px,7.4vw,34px)!important;line-height:1.12!important;max-width:100%!important}
 .product-card .product-card-format{line-height:1.65;white-space:normal}
 .product-card .product-card-benefits{margin-top:20px!important}
 .product-card .product-card-desc{max-width:100%!important;line-height:1.7!important;color:#e0e8e1}
 .product-card .product-card-cta{display:flex;gap:12px;flex-wrap:wrap;width:100%}
 .product-card .product-card-price{width:100%!important}
 .product-card .product-buy,.product-card .direct-buy{min-height:44px;width:100%;text-align:center;white-space:normal}
 .products-carousel-controls{gap:4px;flex-wrap:wrap}
 .products-carousel-controls button,.products-carousel-controls button.active{position:relative;flex:0 0 44px!important;width:44px!important;height:44px!important;background:transparent!important}
 .products-carousel-controls button:not(:first-child):not(:last-child)::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;background:#ffffff88;border-radius:999px;transform:translate(-50%,-50%)}
 .products-carousel-controls button.active:not(:first-child):not(:last-child)::after{width:24px;background:white}
 /* Consent actions stay reachable on narrow screens. */
 #cookie-banner{padding:16px!important;gap:14px!important;max-height:80dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
 #cookie-banner>div{min-width:0!important;width:100%;max-width:100%}
 #cookie-banner>div:last-child{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
 #cookie-banner button{min-height:44px;flex:1 1 130px;padding:10px 12px!important;white-space:normal!important;min-width:0;font-size:11px!important}
 /* Product, information and policy dialogs share consistent spacing. */
 #mag-details-overlay,#diana-details-overlay,#privacy-overlay,#tc-overlay,#cookie-settings-overlay,#hero-info-overlay,#hero-static-info-overlay,.vitc-overlay{z-index:8000!important;padding:12px!important;overscroll-behavior:contain}
 #mag-details-modal,#diana-details-modal,#privacy-modal,#tc-modal,#cookie-settings-modal,#hero-info-modal,#hero-static-info-modal,.vitc-modal{width:100%!important;max-width:100%!important;min-width:0!important;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;position:relative;box-sizing:border-box}
 #mag-details-modal>div,#diana-details-modal>div,#privacy-modal>div,#tc-modal>div,#cookie-settings-modal>div,#hero-info-modal>div{padding:24px 20px!important;min-width:0}
 #mag-details-modal>div:first-child,#diana-details-modal>div:first-child,#privacy-modal>div:first-child,#tc-modal>div:first-child,#hero-info-modal>div:first-child{position:static!important}
 #mag-details-modal>div:first-child>div:first-child,#diana-details-modal>div:first-child>div:first-child,#privacy-modal>div:first-child>div:first-child,#tc-modal>div:first-child>div:first-child{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;gap:12px!important;align-items:start!important}
 #mag-details-modal div,#diana-details-modal div,#privacy-modal div,#tc-modal div,#cookie-settings-modal div,#hero-info-modal div{min-width:0;overflow-wrap:anywhere}
 #mag-details-modal button,#diana-details-modal button,#privacy-modal button,#tc-modal button,#cookie-settings-modal button,#hero-info-modal button{flex-shrink:0;min-width:44px;min-height:44px}
 #mag-details-modal [style*="font-size:30px"],#diana-details-modal [style*="font-size:30px"],#privacy-modal [style*="font-size:30px"],#tc-modal [style*="font-size:30px"]{font-size:26px!important;line-height:1.15!important}
 #mag-details-modal a,#diana-details-modal a,#privacy-modal a,#tc-modal a{white-space:normal;min-height:36px;display:inline-flex;align-items:center;line-height:1.4}
 #mag-details-modal [style*="grid-template-columns"],#diana-details-modal [style*="grid-template-columns"],#privacy-modal [style*="grid-template-columns"],#tc-modal [style*="grid-template-columns"]{grid-template-columns:1fr!important}
 #mag-details-modal table,#diana-details-modal table{min-width:0!important;table-layout:auto;width:100%!important}
 #mag-details-modal th,#diana-details-modal th,#mag-details-modal td,#diana-details-modal td{padding:10px 8px!important;white-space:normal!important;font-size:12px!important;overflow-wrap:anywhere}
 .mag-info-head{padding:24px 20px!important}
 .mag-info-head h2{font-size:clamp(26px,7vw,34px)!important;line-height:1.15!important}
 .mag-info-body{padding:24px 20px!important}
 .docx-full-copy p{font-size:14px;line-height:1.8}
 .docx-full-copy h3{font-size:18px;line-height:1.35}
 .modal{max-height:calc(100dvh - 24px)!important;width:calc(100% - 24px)!important;padding:24px}
 .drawer-backdrop{z-index:7800!important}
 .cart-drawer{z-index:8000!important;width:min(520px,100vw)!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;overflow-x:hidden!important;min-width:0}
 .drawer-head{padding:18px!important;gap:12px;flex-shrink:0}
 .drawer-head h2{min-width:0;font-size:24px!important;line-height:1.2}
 .drawer-close{width:44px;min-width:44px;height:44px;line-height:1;border:0;background:transparent;cursor:pointer}
 .cart-item{gap:12px;align-items:flex-start!important}
 .cart-item>div:first-child{min-width:0;flex:1;overflow-wrap:anywhere}
 .qty{flex:none;flex-wrap:nowrap}
 .qty button{width:36px;min-height:44px}
 .cart-promo-box{margin:0 18px 18px!important;min-width:0}
 .promo-row{display:flex;gap:8px;flex-wrap:wrap}
 .promo-row input{width:0!important;flex:1 1 120px;min-width:0!important}
 .promo-row button{min-height:44px;min-width:0;flex:0 1 auto;padding:10px 14px!important}
 #promo-code::placeholder{text-transform:none}
 .checkout-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .checkout-panel{padding:20px 18px!important;min-width:0;overflow-x:hidden}
 .checkout-panel label{min-width:0}
 .office-map-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px}
 .office-map-row .office-map-btn{width:100%;min-height:44px;white-space:normal}
 .checkout-panel .wide{grid-column:1!important}
 .cart-footer{padding:18px!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
 .speedy-map-overlay{z-index:8500!important;padding:12px!important}
 .speedy-map-modal{width:100%!important;max-width:100%!important}
 .footer-clean-copy,.footer-clean-legal a{font-size:12px!important;color:#d3dfd6!important;line-height:1.7}
 .footer-clean-legal{gap:12px!important;flex-wrap:wrap}
 .footer-clean-legal a{min-height:44px;display:inline-flex;align-items:center}
 .legacy-dialog-close{display:none!important}
 .mobile-dialog-close{display:grid!important;place-items:center;position:fixed;top:24px;right:24px;width:44px;min-width:44px;height:44px;z-index:2;border:1px solid #ffffff55;border-radius:50%;background:#123f2e;color:white;font:28px/1 system-ui;cursor:pointer;padding:0}
 .article-overlay{z-index:8000!important;padding:12px!important}
 .article-sheet{margin:0!important;padding:64px 20px 24px!important;max-height:calc(100dvh - 24px);overflow:auto}
 .article-close{position:fixed!important;top:24px!important;right:24px!important;width:44px;height:44px;border:1px solid #587964!important;border-radius:50%;background:#123f2e!important;color:white!important;z-index:2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.products-carousel-viewport,.products-grid{transition:none!important}}

/* Catalog links remain reachable in the compact headers of secondary pages. */
@media(max-width:900px){
 .secondary-catalog-nav nav .nav-links{display:flex!important;gap:12px!important}
 .secondary-catalog-nav nav .nav-links li:not(.catalog-nav-item){display:none!important}
 .secondary-catalog-nav nav .catalog-nav-item{display:block!important}
 .navlinks .catalog-nav-link{display:inline-flex!important;align-items:center;min-height:44px}
 .navlinks a.home{display:none!important}
 .navlinks{gap:12px!important}
}
