/* Mobile browsing layer. Keep desktop compositions unchanged. */
.mobile-nav[hidden]{display:none!important}
@media(max-width:900px){
 html{scroll-padding-top:88px}
 body.redesign{--mobile-header-height:72px;-webkit-text-size-adjust:100%}
 .site-header{height:var(--mobile-header-height);z-index:150}
 .site-header .header-inner{height:100%;padding-inline:18px;gap:12px}
 .site-header .desktop-nav{display:none}
 .site-header .mobile-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;flex:none}
 .site-header .brand-link,.site-header .brand-link img{width:108px;flex-shrink:0}
 .site-header .header-tools,.site-header .nav-utilities{gap:4px}
 .site-header .nav-utility{display:grid;place-items:center;width:44px;height:44px;min-width:44px;flex:0 0 44px}
 .site-header .nav-utility-tooltip{display:none}
 .site-header .mobile-nav{position:fixed;inset:var(--mobile-header-height) 0 0;max-height:none;height:calc(100dvh - var(--mobile-header-height));padding:10px 22px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#fff;box-shadow:none;text-align:left}
 .mobile-menu-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#536775;margin-bottom:14px}
 .mobile-menu-head button{height:44px;width:44px;font-size:28px;border:0;border-radius:50%;background:#f1f4f6;color:#20394b}
 .mobile-nav .mobile-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
 .mobile-nav .mobile-shortcuts a{font-size:14px;background:#f2f5f7;padding:16px 12px;border:0;border-radius:10px;line-height:1.5}
 .mobile-nav details{border-bottom:1px solid #dce4e9}
 .mobile-nav summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:60px;font-size:20px;font-weight:600;cursor:pointer;color:#172b3c}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .mobile-nav summary:after{content:'+';font-size:24px;font-weight:400;color:#5b7182}
 .mobile-nav details[open]>summary:after{content:'−'}
 .mobile-nav details>div{padding-bottom:14px}
 .mobile-nav a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 4px;border:0;font-size:16px;line-height:1.5;color:#30495b}
 .mobile-nav a>span{font-size:14px;color:#708594}
 .mobile-menu-open :is(.panda-launcher,.sticky-buy,.mobile-selection-bar){visibility:hidden}
 body.redesign :is(main,section,article,form,fieldset,.wrap,.buy-panel,.gallery,.retail-grid>*,.checkout-layout>*){min-width:0}
 body.redesign :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px!important;max-width:100%;min-height:48px}
 body.redesign :is(.button,.btn,.variant-choice span,.care-guide-tabs button,.help-filters button,.quantity-stepper button,.panda-quick button){min-height:44px}
 body.redesign :is(.button,.btn){white-space:normal;text-align:center;line-height:1.45}
 .product-top{display:block!important;padding-top:20px;gap:0}
 .product-top .buy-panel{margin-top:28px}
 .detail-page .buy-panel h1{font-size:clamp(30px,6vw,42px);line-height:1.12}
 .detail-page .gallery{position:static;width:100%;min-width:0}
 .pdp-thumbnails,.category-ribbon,.pdp-section-nav,.care-guide-tabs,.pack-step-tabs{overscroll-behavior-x:contain;scroll-padding-inline:10px}
 .pdp-thumbnails{scroll-snap-type:x proximity}
 .pdp-thumbnails button{scroll-snap-align:center;flex:0 0 80px;min-width:80px}
 .pdp-arrow,.pdp-expand,.pack-gallery-stage>button{min-width:44px;min-height:44px}
 .detail-page .pdp-section-nav,.detail-nav{top:72px;justify-content:flex-start;padding-inline:20px;gap:24px}
 .pdp-section-nav a,.detail-nav a{display:flex;align-items:center;min-height:48px;flex-shrink:0}
 .variant-options{gap:9px}
 .variant-choice span{font-size:14px;padding:12px 14px}
 .sticky-buy{padding:12px 18px calc(12px + env(safe-area-inset-bottom));gap:12px}
 .sticky-buy strong{font-size:13px;line-height:1.4;max-width:45%;overflow-wrap:anywhere}
 .sticky-buy .button{font-size:14px;min-height:48px;margin-left:auto;flex:1;max-width:240px}
 body.detail-page{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .detail-page .panda-launcher,.selection-studio .panda-launcher{bottom:calc(96px + env(safe-area-inset-bottom));right:14px}
 .mobile-selection-bar{padding:12px 18px calc(12px + env(safe-area-inset-bottom));gap:12px;min-height:72px}
 .mobile-selection-bar :is(a,button){min-height:44px;display:flex;align-items:center;font-size:14px}
 .selection-studio{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
 .cart-page .retail-grid,.checkout-layout,.form-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .retail-summary,.business-selection-panel{position:static}
 /* A shared sourcing style previously placed the paragraph in the 30px number column. */
 .business-process .step-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .business-process .step-grid article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px 16px;align-items:start;padding-top:24px}
 .business-process .step-grid article>span{grid-column:1;grid-row:1/3;margin:3px 0 0;color:#a8bed0;font-size:13px}
 .business-process .step-grid article>h3{grid-column:2;grid-row:1;margin:0;font-size:21px;line-height:1.4}
 body.redesign .business-process .step-grid article>p{grid-column:2;grid-row:2;width:auto;margin:0;color:#c6d4df;font-size:15px;line-height:1.8;overflow-wrap:break-word}
 .retail-row :is(h2,p,small),.business-line-top p{overflow-wrap:anywhere}
 .retail-summary .button{width:100%}
 .pdp-viewer-bar{padding:12px 14px;gap:10px;flex-wrap:wrap}
 .pdp-viewer-bar>div:first-child{min-width:0;flex:1 1 140px}
 .pdp-viewer-bar button,.pdp-viewer-foot button{min-width:44px;min-height:44px}
 .pdp-viewer-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .pdp-viewer-image:not(.zoomed){touch-action:pan-y pinch-zoom}
 body #bagDialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:22px 20px calc(20px + env(safe-area-inset-bottom))}
 #bagDialog .drawer-head,#bagDialog .drawer-foot{flex-shrink:0}
 #bagItems{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1}
 .selection-dialog,.request-review{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 20px;overflow:auto}
 .header-search-dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);padding:24px 20px;max-height:calc(100dvh - 24px);overflow:auto}
 .header-search-dialog h2{font-size:30px;line-height:1.15}
 .panda-panel,.detail-page .panda-panel{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:calc(100dvh - 92px);z-index:180}
 .panda-messages{min-height:100px;flex:1}.panda-panel form input{font-size:16px}
 .panda-panel>header button,.panda-panel form button{min-width:44px;min-height:44px}
 .pack-thumbs{overflow-x:auto;padding-bottom:8px}.pack-thumbs button{flex-shrink:0}
 .brand-footer .footer-navigation a{display:flex;align-items:center;min-height:44px;padding-block:9px}
 :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #3477a4;outline-offset:3px}
}
@media(max-width:600px){
 .site-header .header-inner{width:100%;padding-inline:12px;gap:8px}
 .site-header .brand-link,.site-header .brand-link img{width:clamp(68px,calc(100vw - 256px),100px)}
 .site-header .header-tools{margin-left:auto;gap:0;flex-shrink:0}
 .site-header .nav-utilities{gap:0}
 /* Portrait video stage follows the phone-video format, independent of browser chrome. */
 .home-redesign .hero-slider{width:100%;height:auto;min-height:0;aspect-ratio:9/16;background:#0b1520}
 .home-redesign .hero-slide video{width:100%;height:100%;object-fit:cover;object-position:center}
 .home-redesign .hero-slide:after{background:linear-gradient(180deg,rgba(7,16,25,.04) 15%,rgba(7,16,25,.38) 40%,rgba(7,16,25,.93) 80%,#071019 100%)}
 .home-redesign .hero-slider-content{inset:auto 22px 64px;width:auto;max-width:none;transform:none;padding:0}
 .home-redesign .hero-slider-content .kicker{font-size:11px;letter-spacing:.13em;margin:0 0 12px;color:#dbe9f6}
 .home-redesign .hero-slider-content h1,.home-redesign .hero-slider-content h2{font-size:clamp(28px,8vw,40px);line-height:1.08;letter-spacing:-.035em;margin:0 0 14px;color:#fff}
 .home-redesign .hero-slider-content p{font-size:14px;line-height:1.6;color:#e5edf4;margin:0;text-wrap:pretty}
 .home-redesign .hero-slider-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
 .home-redesign .hero-slider-actions .btn{width:100%;min-width:0;min-height:48px;padding:12px 10px;font-size:13px}
 .home-redesign .hero-dots{bottom:12px;gap:0;align-items:center}
 .home-redesign .hero-dot{width:36px;height:36px;border:0;background:transparent;position:relative}
 .home-redesign .hero-dot:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffff70}
 .home-redesign .hero-dot.active:after{width:20px;border-radius:8px;background:#fff}
 .home-redesign .series-card,.home-redesign .series-card.small{height:auto!important;min-height:360px;aspect-ratio:1/1.08}
 .home-redesign .series-card .series-copy{padding:22px!important}
 .home-redesign .series-copy h3{font-size:27px}
 .home-redesign .series-copy p{font-size:14px}
 .product-top .buy-panel{margin-top:24px}
 .detail-audience-toggle{width:100%;display:flex}.detail-audience-toggle button{min-height:46px;flex:1;font-size:14px}
 .cart-page .retail-row{grid-template-columns:92px minmax(0,1fr);gap:15px}
 .cart-page .retail-row img{width:92px;height:122px}
 .cart-page .retail-row>b{grid-column:2;padding:0}
 .cart-page .retail-row h2{font-size:20px;line-height:1.25}
 .cart-page .retail-summary{padding:24px 20px}
 .retail-steps,.cart-journey{flex-wrap:wrap;gap:12px}
 .form-grid-new,.contact-form-grid,.pack-form-pair{grid-template-columns:minmax(0,1fr)}
 .business-products{grid-template-columns:minmax(0,1fr);gap:32px}
 .business-products p{min-height:0}
 .business-products .button{width:100%;font-size:14px}
 .business-line-fields{grid-template-columns:minmax(0,1fr)}
 .business-line-fields .wide{grid-column:auto}
 .series-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .series-picker button{min-height:44px}
 .tech-steps,.sample-journey ol,.pdp-supply ol{grid-template-columns:minmax(0,1fr);gap:24px}
 .tech-steps h3,.pdp-supply h3{font-size:21px;line-height:1.35}
 .order-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
 .order-progress li{font-size:14px;line-height:1.6}
 .retail-mini-item{grid-template-columns:60px minmax(0,1fr);gap:8px 14px}
 .retail-mini-item>img{grid-column:1;grid-row:1/3}
 .retail-mini-item>span{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
 .retail-mini-item>b{grid-column:2;grid-row:2}
 .delivery-choice{grid-template-columns:20px minmax(0,1fr);gap:8px 12px;padding:18px 16px}
 .delivery-choice>input{grid-row:1/3}.delivery-choice>span{grid-column:2;grid-row:1}.delivery-choice>b{grid-column:2;grid-row:2}
 #bagDialog .bag-line{grid-template-columns:76px minmax(0,1fr);gap:16px}
 #bagDialog .bag-line .product-art{width:76px!important;height:110px!important}
 #bagDialog .bag-line button{min-width:44px;min-height:44px}
 .detail-page .pdp-facts{grid-template-columns:1fr;gap:18px}
 .pdp-facts div{display:flex;align-items:baseline;gap:18px;justify-content:space-between}
 .pdp-facts strong{font-size:26px;flex-shrink:0}.pdp-facts span{font-size:14px;text-align:right;line-height:1.5}
 .care-guide-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.care-guide-tabs button{flex-shrink:0}
 .care-service-steps{grid-template-columns:1fr;gap:24px}
 .care-service-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:16px;padding-top:20px}
 .care-service-steps li>span{grid-row:1/4}.care-service-steps h3{margin:5px 0 12px}.care-service-steps p,.care-service-steps a{grid-column:2}
 .pack-gallery-stage>img{height:auto;aspect-ratio:4/5}
 .pack-hero figure>img{height:auto;aspect-ratio:1}
 .pack-facts{grid-template-columns:1fr;gap:18px}.pack-facts>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.pack-facts span{font-size:11px}.pack-facts strong{margin:0;font-size:16px}
 .support-hub .support-hero h1,.pack-hero h1{font-size:clamp(34px,9vw,43px)}
}
@media(max-width:380px){
 .pdp-specifications dl>div,.pack-gallery-copy dl>div{grid-template-columns:minmax(0,1fr);gap:6px}
 .pdp-specifications dd,.pack-gallery-copy dd{overflow-wrap:anywhere}
 .ig-panel-top{flex-wrap:wrap}.ig-panel-top>div{flex:1 1 160px}
}
@media(prefers-reduced-motion:reduce){.mobile-nav *{scroll-behavior:auto!important}}

/* v29: short viewports, long catalog content and touch controls. */
@media(max-width:900px){
 .site-header .header-inner{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 body.redesign .wrap{max-width:100%}
 .mobile-nav{padding-left:max(22px,env(safe-area-inset-left))!important;padding-right:max(22px,env(safe-area-inset-right))!important}
 body.redesign :is(.variant-choice,.bc-set-parts li>span,.bc-set-offers a>span,.bc-video-card figcaption>div,.business-line-fields>label,.retail-field){min-width:0;max-width:100%}
 .variant-choice{flex-shrink:1}.variant-choice span{overflow-wrap:anywhere;white-space:normal}
 .bc-set-parts img{flex:0 0 64px}.bc-set-parts :is(strong,small){overflow-wrap:anywhere}
 .bc-set-offers a{flex-wrap:wrap;align-items:baseline}.bc-set-offers a>span{flex:1 1 150px;overflow-wrap:anywhere}
 .bc-video-heading{flex-wrap:wrap;align-items:baseline}.bc-video-heading>span{white-space:normal}
 .bc-video-card :is(h3,p,.bc-video-transcript){overflow-wrap:anywhere}.bc-video-card summary{min-height:44px;display:flex;align-items:center}
 .bc-video-preview .button{max-width:100%;min-width:0}.bc-video-file{width:100%;min-width:0}
 .bc-keyboard-open :is(.sticky-buy,.mobile-selection-bar,.panda-launcher){visibility:hidden;pointer-events:none}
 .panda-panel :is(.panda-services button,.panda-text-action,.panda-panel>footer button){min-height:44px}
 .panda-services button{white-space:normal;line-height:1.35;font-size:12px}
 .panda-panel>header,.panda-panel>footer{flex-shrink:0}.panda-panel>header>div{min-width:0}
 .panda-panel :is(.panda-messages,.panda-service-view){min-height:0}
 .panda-panel :is(.panda-chat-view,.panda-service-view){flex:1 1 auto;min-height:0}
 .panda-panel .panda-messages{overflow-y:auto;overscroll-behavior:contain}
 .panda-panel form{flex-shrink:0}.panda-message p,.panda-message a{overflow-wrap:anywhere}
 .bc-compact-viewport .panda-panel>header{padding:8px 16px}
 .bc-compact-viewport .panda-panel :is(.panda-context,.panda-quick,.panda-text-action),.bc-compact-viewport .panda-panel>footer{display:none}
 .bc-compact-viewport .panda-panel .panda-services{padding:4px 10px}
 .bc-compact-viewport .panda-panel .panda-services button{min-height:44px}
 .panda-panel .panda-view[hidden]{display:none!important}
 .cart-page .retail-row .text-button{min-height:44px;min-width:44px}
 .business-line-fields :is(input,select,textarea),.retail-field :is(input,select,textarea){min-width:0;width:100%;box-sizing:border-box}
 .pdp-facts div{flex-wrap:wrap}.pdp-facts strong{overflow-wrap:anywhere;max-width:100%}
 .selection-dialog,.request-review{max-height:calc(var(--bc-visible-height,100dvh) - 24px)}
 .bc-keyboard-open :is(.selection-dialog,.request-review){top:calc(var(--bc-visible-top,0px) + 12px);bottom:auto;margin-top:0;margin-bottom:0}
 :is(.pdp-specifications dd,.pack-gallery-copy dd,.retail-costs dd,.business-summary,.selection-dialog p){overflow-wrap:anywhere}
}
@media(max-width:380px){
 .cart-page .retail-row{grid-template-columns:76px minmax(0,1fr);gap:12px}
 .cart-page .retail-row img{width:76px;height:104px}
 .cart-page .retail-row .quantity-stepper{width:136px}
 .cart-page .retail-row .quantity-stepper input{flex:1;width:44px}
}
