/* Shared EN/FR layout safeguards for phones, tablets and desktop screens. */
html {text-size-adjust:100%;-webkit-text-size-adjust:100%;}
:where(main,section,header,footer,nav,article,figure,div,form,fieldset,dl) {min-width:0;}
:where(h1,h2,h3,h4,p,figcaption,a,button,label,select) {overflow-wrap:break-word;}
:where(img,video,svg) {max-width:100%;}
:where(button,input,select,textarea) {max-width:100%;}
body.product-detail .shop-hero h1 {font-size:clamp(1.65rem,2.9vw,3rem);line-height:1.2;letter-spacing:0;text-transform:none;}
.product-card-footer {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;}
.product-price {flex:1 1 120px;min-width:0;line-height:1.45;}
.product-add {flex:0 1 auto;max-width:100%;min-height:44px;padding:10px 13px;white-space:normal;line-height:1.4;}
.product-card h3,.cart-item h3 {line-height:1.25;}
.product-fitment,.product-note,.product-permalink,.cart-item a {overflow-wrap:anywhere;}
.product-meta {flex-wrap:wrap;line-height:1.5;}
.product-finish {min-width:0;}
.product-finish select {min-width:0;width:100%;font-size:16px;}
.shop-search input {font-size:16px;}
.brand-inline {max-width:100%;}
.cart-drawer {height:100vh;grid-template-rows:auto minmax(0,1fr) auto;}
@supports (height:100dvh) {.cart-drawer {height:100dvh;}}
.cart-close {flex-shrink:0;}
.cart-footer {padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));}
.cart-item-controls button {min-width:36px;min-height:36px;}
.cart-item-controls {grid-template-columns:36px 24px 36px;}
.cart-total {flex-wrap:wrap;}
.seo-language a {min-height:44px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;}
@media (max-width:1100px) {
 .seo-header .seo-nav {display:none;}
 .seo-header:has(.seo-language) {grid-template-columns:minmax(0,1fr) auto auto;gap:12px;}
}
@media (max-width:850px) {
 .hot-finishes {grid-template-columns:repeat(3,minmax(0,1fr));}
 .hot-aerokit-inner {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:780px) {
 .shop-header {grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding-inline:12px;}
 .shop-brand {width:min(170px,42vw);max-width:100%;}
 .shop-hero {grid-template-columns:minmax(0,1fr);padding-inline:16px;}
 .shop-hero-actions {gap:18px;}
 .product-card-footer .product-add {min-width:0;}
 .shop-heading h2,.shop-help h2 {line-height:1.15;letter-spacing:0;}
 .cart-head h2 {font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.2;}
 .cart-item {grid-template-columns:minmax(0,1fr);gap:14px;}
 .cart-item-controls {justify-content:start;}
}
@media (max-width:560px) {
 .hot-finishes {grid-template-columns:minmax(0,1fr);gap:16px;}
 .hot-finishes>div {display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
 .cockpit-gallery {gap:12px;}
 .cockpit-card span {font-size:clamp(.85rem,3.4vw,1rem);line-height:1.5;padding:14px 12px;}
 .product-card-body {padding:20px;}
 .product-card h3 {font-size:1.3rem;}
 .seo-header {padding-inline:12px;}
 .seo-logo,.seo-logo img {width:clamp(110px,35vw,175px);max-width:100%;}
 .seo-shop {padding:10px;font-size:.68rem;letter-spacing:.04em;}
 .seo-header:has(.seo-language) {gap:8px;}
 .seo-language {gap:4px;}
 .button,.seo-button {max-width:100%;white-space:normal;line-height:1.4;text-align:center;}
 .cart-footer {padding-inline:16px;}
 .cart-checkout {font-size:.72rem;padding-inline:12px;}
}
@media (max-height:550px) and (orientation:landscape) {
 .cart-head {padding-block:12px;}
 .cart-footer {padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));}
 .cart-footer>p {margin-block:6px;font-size:.65rem;}
 .cart-head h2 {font-size:1.6rem;}
 .cart-clear {margin-top:8px;}
}

.language-switch a {display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;color:rgba(255,255,255,.56);font:inherit;text-decoration:none;cursor:pointer;}
.language-switch a[aria-current="page"] {color:#fff;}
.language-switch a:hover,.language-switch a:focus-visible {color:var(--red);}
.language-switch a:focus-visible {outline:2px solid var(--red);outline-offset:2px;}
@media(max-width:780px) {.language-switch a {min-width:32px;}}
