/* Public site responsive corrections. Loaded after page styles. */
:root{--safe-bottom:env(safe-area-inset-bottom,0px)}
main,article,aside,form,fieldset{min-width:0}
img,video{max-width:100%}
iframe{max-width:100%}
:where(.container,.mp-wrap,.crm-config,.prd-wrap,.co-wrap,.pkg-order-wrap){min-width:0}
:where(.grid-2,.grid-3,.grid-4,.auto-grid-2,.auto-grid-3,.auto-grid-4,.products-grid,.packages-grid,.solutions-grid,.hero-inner,.footer-inner,.prd-grid,.cart-layout,.co-grid,.dash-layout,.ms-config-layout,.ms-complete,.ct-main-grid,.bpost-grid,.abt-team,.mr-reports-grid)>*{min-width:0}
:where(h1,h2,h3,h4,p,.prd-name,.pcard-name,.dash-name,.ord-num,.cart-item-name,.mp-doc-reader){overflow-wrap:break-word}
:where(input,select,textarea){max-width:100%;min-width:0}
:where(.coupon-wrap input,.co-promo input,.nl-input,.hero-sf input){min-width:0;flex-basis:0}
:where(.prd-price-row,.price-row,.ord-actions,.co-steps,.shop-sec-head,.sort-bar){flex-wrap:wrap}
.responsive-table{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin-block:20px}
.responsive-table:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px}
.responsive-table table{min-width:100%;border-collapse:collapse}
:where(.post-content,.blog-content,.prose,.prv-db-content,.mp-doc-reader) pre{max-width:100%;overflow:auto}
:where(.post-content,.blog-content,.prose,.prv-db-content) img{height:auto}
/* Keep navigation and actions in the same flow; collapse when their real width no longer fits. */
#site-header .header-inner{display:flex;justify-content:space-between;gap:20px}
#site-header .header-center-group{min-width:0;position:static;transform:none;flex:0 1 auto}
#site-header .header-actions{flex:0 0 auto}
#site-header .header-logo{max-width:100%;min-width:0}
#site-header .nav-dropdown{max-width:min(320px,calc(100vw - 32px));overflow-wrap:anywhere}
#site-header .nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
#site-header.is-compact :is(.header-nav,.header-cta,.header-cta2,#theme-toggle,.btn-lang,.header-account-btn){display:none!important}
#site-header.is-compact .btn-hamburger{display:flex!important}
#site-header.is-compact .header-cart-btn{display:inline-flex!important}
#site-header.is-compact .header-center-group{flex:1}
#site-header.is-compact .header-logo img{max-width:min(200px,45vw)}
#mobile-nav{max-height:calc(100dvh - var(--offset-h,72px));padding-bottom:calc(24px + var(--safe-bottom))}
.mobile-nav-link{min-height:44px;white-space:normal}
.mobile-nav-label{min-width:0;overflow-wrap:break-word}
.mobile-nav-utils,.mobile-nav-ctas{flex-wrap:wrap}
.mobile-nav-close,.btn-hamburger{min-width:44px;min-height:44px}
/* Floating panels respect both narrow widths and short landscape viewports. */
.chatbot-window{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 112px - var(--safe-bottom))}
.chatbot-messages{min-height:0;flex:1 1 auto}
.mindy-consent-banner{max-height:calc(100dvh - 24px);overflow-y:auto}
#subModal{padding-block:max(12px,env(safe-area-inset-top)) max(12px,var(--safe-bottom))!important}
#subModal .site-modal-panel{max-height:calc(100dvh - 32px)!important;overscroll-behavior:contain}
.sr-modal,.sr-modal-box,.mr-mbox{min-width:0;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1100px){
 #site-header :is(.header-nav,.header-cta,.header-cta2,#theme-toggle,.btn-lang,.header-account-btn){display:none!important}
 #site-header .btn-hamburger{display:flex!important}
 #site-header .header-cart-btn{display:inline-flex!important}
 #site-header .header-center-group{position:static;transform:none;flex:1;justify-content:flex-start}
 #site-header .header-logo img{max-width:min(200px,45vw)}
 #site-header .header-actions{padding-inline-start:0}
 #site-header .header-inner{padding-inline:clamp(12px,3vw,24px);gap:12px}
 .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .footer-brand{grid-column:1/-1}
 .pkg-order-grid{grid-template-columns:minmax(0,1fr) 300px!important}
 .prd-grid{gap:28px}
}
@media(max-width:900px){
 .ms-config-layout,.pkg-order-grid{grid-template-columns:minmax(0,1fr)!important}
 .ms-config-summary,.pkg-order-grid>aside{position:static}
 .cart-layout{grid-template-columns:minmax(0,1fr)!important}
 .cart-summary{position:static}
 .ms-complete{grid-template-columns:minmax(0,1fr)}
 .ms-offer-copy{max-width:620px}
 .ms-offer-side{width:100%;max-width:560px;justify-self:center}
 .crm-choice.is-base{grid-template-columns:66px minmax(0,1fr) auto}
 .crm-choice.is-base b{grid-column:auto}
}
@media(max-width:640px){
 .site-form-pair{grid-template-columns:minmax(0,1fr)!important}
 .footer-inner{grid-template-columns:minmax(0,1fr)!important}
 .footer-brand{grid-column:auto}
 .footer-bottom,.footer-bottom-inner{flex-wrap:wrap;gap:12px;text-align:center;justify-content:center}
 .footer-links a,.footer-desc,.footer-col a{overflow-wrap:anywhere}
 .co-wrap,.pkg-order-wrap,.prd-wrap{padding-inline:16px}
 .co-card{padding:18px}
 .co-header{align-items:flex-start}
 .co-sidebar{position:static}
 .co-input,.auth-input,.fi,.ct-input,.sr-input,.form-input,.site-form-pair input,.site-form-pair select,.site-form-pair textarea{font-size:16px!important}
 .auth-card{padding:24px 20px}
 .dash-main{padding-inline:16px;min-width:0}
 .dash-layout{grid-template-columns:minmax(0,1fr)}
 .dash-sec-title{flex-wrap:wrap}
 .ord-num,.ord-actions{max-width:100%;overflow-wrap:anywhere}
 .ord-actions{gap:8px}
 .prd-actions{flex-wrap:wrap}
 .prd-btn{flex:1 1 180px;min-height:54px;height:auto;padding:14px 18px;white-space:normal}
 .prd-qty{flex:0 0 auto}
 .prd-details-box{flex-wrap:wrap}
 .prd-det-chip{min-width:45%;padding:12px}
 .cart-item-row{flex-wrap:wrap;gap:12px}
 .coupon-wrap button{padding-inline:12px;min-height:44px}
 .co-steps{gap:6px;line-height:1.7}
 .ms-config-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .crm-choice.is-base{grid-template-columns:50px minmax(0,1fr);padding-inline-end:42px}
 .crm-choice.is-base b{grid-column:2}
 .crm-choice b{white-space:normal;overflow-wrap:anywhere}
 .ms-primary,.ms-secondary{min-height:44px;white-space:normal;max-width:100%;text-align:center}
 .ms-license-facts{gap:8px 12px;line-height:1.8}
 .ms-module-icons{flex-wrap:wrap;gap:12px}
 .ms-module-icons figure{flex:0 1 74px}
 .ms-module-icons figcaption{font-size:10px}
 #mindy-product .ms-module-icons figcaption{color:#d4cbe3}
 #mindy-product .mp-mobile-cta{bottom:calc(12px + var(--safe-bottom));gap:12px}
 body:has(#mindy-product) .chatbot-bubble{bottom:calc(88px + var(--safe-bottom))}
 body:has(#mindy-product) .mindy-consent-manage{bottom:calc(70px + var(--safe-bottom))}
 .ms-offer-price strong{font-size:clamp(28px,8vw,38px)}
 .type-filter-inner,.sort-bar{gap:8px}
 .sort-btn,.type-filter-chip,.cat-pill,.mobile-nav-link,.ord-actions button{min-height:44px}
 .chatbot-bubble{inset-inline-start:16px;bottom:calc(20px + var(--safe-bottom))}
 .chatbot-window{max-height:calc(100dvh - 130px - var(--safe-bottom))}
}
@media(max-width:380px){
 .ms-config-options{grid-template-columns:minmax(0,1fr)}
 .crm-choice.is-base{grid-column:auto}
 .crm-config{padding-inline:14px}
 .ms-complete{padding:22px 18px}
 .ms-module-icons figure{flex-basis:64px}
 .wish-grid{grid-template-columns:minmax(0,1fr)}
 .mindy-consent-btn{min-width:0;flex-basis:100%}
 .prd-btn{flex-basis:100%}
}
@media(max-height:520px) and (orientation:landscape){
 #subModal{align-items:flex-start!important}
 .chatbot-window{max-height:calc(100dvh - 96px)}
 .mindy-consent-banner{max-height:calc(100dvh - 20px)}
}

@media(max-width:1100px){#site-header .logo-text{max-width:50vw;white-space:normal;overflow-wrap:anywhere;font-size:1rem}}
