/* Shared small-screen finishing layer, loaded after the component styles. */
:root{--site-header-height:106px}
html{scroll-padding-top:calc(var(--site-header-height) + 18px)}
.catalog-collections-toggle,.admin-menu-toggle{display:none}
.admin-navigation-panel{display:contents}
.catalog-main,.selection-layout>div,.contact-layout>div,.product-detail-copy{min-width:0}
.pagination{flex-wrap:wrap}
.page-hero~* [id],#histoire,#horaires,#ecrivez-nous,#etapes,#demande-precommande,
#stock-alert,#recherche,.catalog-results-count{scroll-margin-top:calc(var(--site-header-height) + 18px)}

@media(min-width:901px){
  /* Keep every collection reachable without scrolling the product grid. */
  .catalog-sidebar{
    top:calc(var(--site-header-height) + 16px);
    max-height:var(--catalog-sidebar-height,calc(100dvh - var(--site-header-height) - 36px));
    overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;overflow-anchor:none;
    scrollbar-width:thin;scrollbar-color:#9bbcaf transparent;scrollbar-gutter:stable;
    padding:4px 8px 12px 4px;
  }
  .catalog-sidebar .category-list{overflow:visible;max-height:none}
}

@media(max-width:1100px){
  /* The disclosure shares exactly the same breakpoint as the desktop menu. */
  .site-header .mobile-nav{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;
    position:absolute;inset:100% 0 auto;padding:16px max(24px,env(safe-area-inset-right)) 24px;
    max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;overscroll-behavior:contain;
    background:#fffffff7;border-top:1px solid #e4ece8;border-bottom:1px solid #dce8e1;
    box-shadow:0 22px 36px #163d301c;backdrop-filter:blur(20px);
  }
  .site-header .mobile-nav a{display:flex;align-items:center;gap:12px;min-height:52px;padding:14px 4px;font-size:16px;line-height:1.35;letter-spacing:-.02em}
  .site-header .mobile-nav svg{color:#007f75;width:20px;height:20px;flex-shrink:0}
  .site-header .header-actions .icon-button,.site-header .account-button{min-width:44px;min-height:44px}
  .site-header .language-switch{margin:0;gap:0;align-items:center}
  .site-header .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;padding:0 4px;font-size:12px}
  .site-header .language-switch>span{display:none}
  .site-header .header-actions{gap:5px}
  .site-header .account-button{padding:10px 16px}
  /* At least 16px prevents iOS from zooming in when a field receives focus. */
  body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]),
  body textarea,body select,body .catalog-toolbar select,body .admin-list-filters select,
  body .admin-list-filters .admin-search-input input,body .cms-block input,body .cms-block textarea,body .cms-block select{font-size:16px}
  .button,.text-link{min-height:44px}
  .form-actions .button{white-space:normal;text-align:center}
  .favorite-button,.add-selection.icon-button{width:44px;height:44px}
  .add-selection svg{width:18px;height:18px}
  .quantity-control{min-width:132px;height:44px}
  .quantity-control button,.selection-item .quantity-control button{width:44px;height:44px;flex:0 0 44px}
  .quantity-control input,.quantity-control span{min-width:44px;width:44px}
  .selection-item .quantity-control{width:132px;height:44px}
  .product-alert-link{min-height:44px;line-height:1.45;padding-block:8px}
  .product-bottom .price{white-space:normal;line-height:1.4}
  .product-bottom .price small{display:block;font-size:11px;margin:2px 0 0}
  .pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
}

@media(max-width:1000px){
  /* A compact header frees up the tablet workspace; all sections remain in the menu. */
  .admin-sidebar{position:relative;z-index:20;width:100%;height:auto;min-height:78px;overflow:visible;padding:10px 24px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid #e2e7e4}
  html:not(.admin-nav-ready) .admin-sidebar{flex-wrap:wrap}
  .admin-sidebar .brand{width:96px;padding:0;margin:0;background:transparent}
  .admin-sidebar .brand-original{width:90px}
  .admin-nav-ready .admin-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:94px;min-height:44px;padding:10px 16px;border:1px solid #d6e5dd;border-radius:99px;background:#edf6f2;color:#007f75;font-size:14px}
  .admin-navigation-panel{display:block;width:100%}
  .admin-nav-ready .admin-navigation-panel{position:absolute;inset:100% 0 auto;background:#fff;padding:18px 24px 24px;max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 40px #173e301c;border-bottom:1px solid #dce7e0}
  .admin-sidebar .admin-space-label{display:none}
  .admin-sidebar .admin-navigation{display:flex;flex-direction:column;gap:3px;padding:0;overflow:visible}
  .admin-sidebar .admin-dashboard-link{margin:0}
  .admin-sidebar .admin-nav-group>summary{min-height:44px;font-size:14px;padding:12px;gap:12px}
  .admin-sidebar .admin-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:4px 0 10px 20px;padding-left:10px}
  .admin-sidebar .admin-nav-links a,.admin-sidebar .admin-dashboard-link{font-size:14px;min-height:44px;padding:11px 12px;gap:10px}
  .admin-sidebar nav svg{width:18px;height:18px}
  .admin-sidebar .admin-sidebar-bottom{position:static;margin:14px 0 0;padding:12px 0 0;display:flex;flex-direction:row;justify-content:space-between;gap:16px;border-top:1px solid #e2e7e4}
  .admin-sidebar-bottom a,.admin-sidebar-bottom button{font-size:13px;min-height:44px;gap:8px}
  .admin-workspace{margin-left:0}
  .admin-topbar{height:auto;min-height:58px;padding:10px 24px;gap:12px}
  .admin-topbar>span{min-width:0;line-height:1.6;overflow-wrap:anywhere}
  .admin-topbar>a{flex-shrink:0;min-height:44px}
  .admin-main{padding:28px 24px}
  .admin-heading{gap:20px;flex-wrap:wrap}
  .admin-main .admin-heading>.button{margin-top:0}
  .admin-main .cms-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:8px;border-radius:16px}
  .cms-tab{flex-shrink:0;min-height:44px}
  .cms-outline nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
  .cms-outline nav a{flex-shrink:0;min-height:44px}
  .cms-asset{grid-template-columns:minmax(100px,200px) minmax(0,1fr)}
  .admin-row-action,.admin-list-pagination a,.dialog-close,.admin-table .icon-button{min-width:44px;min-height:44px}
  .admin-panel .button,.admin-panel .danger-button{white-space:normal}
  .admin-main input,.admin-main select,.admin-main textarea,.login-shell input{min-width:0;max-width:100%}
  .admin-main input[type=file]{width:100%}
  .admin-main .admin-unified-table th:last-child,.admin-main .admin-unified-table td:last-child{position:sticky;right:0;background:#fff;box-shadow:-7px 0 12px #193d3007;z-index:1}
  .admin-main .admin-unified-table th:last-child{background:#f9faf9}
  .admin-main .admin-unified-table td:last-child{padding-inline:10px}
  .admin-main .admin-unified-table .admin-row-action span{max-width:84px;white-space:normal;text-align:left}
}

@media(max-width:900px){
  .selection-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .selection-layout .form-panel{margin-top:0}
  .catalog-layout{display:block}
  .catalog-sidebar{position:static;margin-bottom:18px}
  .catalog-sidebar .sidebar-note{display:none}
  .catalog-enhanced .catalog-sidebar h3{display:none}
  .catalog-enhanced .catalog-collections-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:12px 16px;background:#f4f9f6;border:1px solid #d5e5dc;border-radius:16px;color:#244f44;text-align:left;font-size:14px;line-height:1.4}
  .catalog-collections-toggle span{flex:1;min-width:0}
  .catalog-collections-toggle small{display:block;color:#6c7f77;font-size:11px;margin-bottom:2px}
  .catalog-collections-toggle svg{width:20px;height:20px}
  .catalog-collections-toggle[aria-expanded=true]>svg:last-child{rotate:180deg}
  .catalog-sidebar .category-list{display:flex;flex-direction:column;gap:4px;max-height:min(440px,52dvh);overflow-y:auto;padding:12px;margin-top:8px;background:#fff;border:1px solid #e1e9e5;border-radius:16px;overscroll-behavior:contain}
  .catalog-sidebar .category-list a,.catalog-sidebar .category-family summary{font-size:14px;line-height:1.5;min-height:44px;align-items:center;padding:10px 12px;border:0}
  .catalog-sidebar .category-family{flex-shrink:0}
  .catalog-sidebar .category-family>a{padding-left:28px}
  .catalog-sidebar .category-list small{display:block;font-size:12px}
  .catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:12px;align-items:stretch;margin-bottom:10px}
  .catalog-toolbar .search-field{min-width:0;width:100%}
  .catalog-toolbar input{min-width:0;width:100%;height:100%;min-height:48px}
  .catalog-toolbar select{width:100%;max-width:none;min-width:0}
  .page-catalogue .catalog-results-count{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:13px;line-height:1.5;margin-bottom:16px}
  .page-catalogue .catalog-results-count label{min-height:44px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}
  .catalog-results-count input{width:18px;height:18px}
  .filter-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:3px 0 10px;margin-bottom:12px;scrollbar-width:thin}
  .filter-tab{flex-shrink:0;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;font-size:13px;padding:11px 16px}
  .catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-detail-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .product-detail-photo{max-width:640px;width:100%;margin:auto;aspect-ratio:1.3}
  .detail-actions{flex-wrap:wrap}
  .detail-actions>.button{flex:1 1 200px;white-space:normal}
}

@media(max-width:700px){
  .site-header .header-inner{padding-inline:16px;gap:8px}
  .site-header .account-button{width:44px;padding:10px}
  .site-header .header-actions{gap:2px}
  .site-header .mobile-nav{grid-template-columns:1fr;padding-inline:24px}
  .hero-split .hero-buttons{flex-wrap:wrap;gap:8px;margin-top:20px}
  .hero-split .hero-buttons .button{font-size:12px;padding:12px 14px;gap:8px;min-height:44px}
  .hero-split .hero-secondary{font-size:12px;min-height:44px}
  .hero-split .video-teaser{min-height:44px;font-size:11px;max-width:calc(100% - 52px);padding:8px 12px;gap:8px;text-align:left}
  .hero-split .scroll-circle{width:44px;height:44px}
  .hero-split .hero-social a{min-height:32px;display:inline-flex;align-items:center;font-size:12px}
  .page-selection .page-intro,.page-compte .page-intro{padding-block:24px}
  .page-selection .page-intro .breadcrumb{margin-bottom:20px}
  .page-intro .intro-text{font-size:14px;line-height:1.6}
  .product-title h3,.catalog-products .product-title h3{font-size:14px;line-height:1.45;min-height:61px;overflow-wrap:anywhere}
  .product-meta{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
  .stock-dot{font-size:11px}
  .product-bottom{gap:6px;align-items:center}
  .product-bottom .price{font-size:15px}
  .product-alert-link{font-size:12px;gap:6px}
  .product-alert-link svg{flex-shrink:0}
  .favorite-form{top:15px;right:15px}
  .form-group label{font-size:14px}
  .consent,.fine-print{font-size:12px;line-height:1.65}
  .selection-item{grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
  .selection-item img{width:64px;height:72px}
  .selection-item h3{font-size:15px;overflow-wrap:anywhere}
  .selection-item>div:last-child{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .selection-item .price{font-size:16px}
  .selection-item .icon-button{width:44px;height:44px}
  .selection-total{gap:16px;font-size:17px}
  .selection-total strong{white-space:nowrap}
  .customer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-nav a,.customer-nav button{min-height:44px;font-size:13px}
  .customer-nav form{margin:0}
  .customer-heading .button{white-space:normal}
  .customer-request-item{flex-wrap:wrap}
  .customer-request-item>div{flex-basis:calc(100% - 68px)}
  .customer-request-item>strong{margin-left:68px}
  .admin-main{padding:24px 18px}
  .admin-sidebar{padding-inline:18px}
  .admin-sidebar .admin-nav-links{grid-template-columns:1fr 1fr;margin-left:0;padding-left:6px}
  .admin-sidebar .admin-nav-links a{font-size:13px}
  .admin-topbar{padding-inline:18px;font-size:11px}
  .admin-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
  .admin-heading>div{min-width:0}
  .admin-heading h1{overflow-wrap:anywhere}
  .cms-asset{grid-template-columns:minmax(0,1fr)}
  .cms-block .language-column{padding:14px 12px}
  .cms-block .bilingual-columns{grid-template-columns:minmax(0,1fr)}
  .admin-panel{min-width:0}
  .admin-panel .form-grid{grid-template-columns:minmax(0,1fr)}
  .admin-check{min-height:44px;line-height:1.5}
  .admin-check input{flex-shrink:0}
  .dialog-content.admin-main{padding:18px 12px max(22px,env(safe-area-inset-bottom))}
  .dialog-toolbar{padding:10px 14px;gap:10px}
  .dialog-toolbar>span{min-width:0;line-height:1.5}
  .admin-dialog .dialog-close{width:44px;height:44px}
  .cms-block-footer .button{white-space:normal}
}

@media(max-width:700px) and (min-height:461px){
  .hero-split .hero-visual{height:48%}
}

@media(max-width:480px){
  .catalog-toolbar{grid-template-columns:minmax(0,1fr)}
  .catalog-toolbar select{min-height:48px}
  .catalog-products,.product-grid{gap:14px 12px}
  .product-bottom .add-selection{width:40px;min-width:40px;height:44px}
  .product-bottom .price small{font-size:10px}
  .product-bottom{margin-inline:2px}
  .delivery-destination{grid-template-columns:minmax(0,1fr)}
  .delivery-grand-total,.delivery-price-line{flex-wrap:wrap}
  .admin-filter-field{flex-basis:100%}
  .security-grid .button{width:100%;justify-content:center}
  .panel-heading{flex-wrap:wrap}
}

@media(max-width:360px){
  .site-header .header-inner{padding-inline:10px;gap:4px}
  .site-header .brand-original{width:70px}
  .site-header .header-actions{gap:0}
  .site-header .shipping-announcement{font-size:11px;padding-inline:10px;gap:7px}
  .hero-split .hero-content,.hero-split .hero-bottom{width:calc(100% - 36px)}
  .hero-split .hero-buttons{gap:4px 10px}
  .hero-split .hero-buttons .button{padding-inline:13px}
  .hero-split .hero-secondary{font-size:11px}
  .product-grid,.catalog-products{grid-template-columns:minmax(0,1fr)}
  .product-image{aspect-ratio:1.4}
  .product-title h3,.catalog-products .product-title h3{min-height:0;font-size:16px}
  .product-meta{display:flex;flex-wrap:wrap}
  .admin-sidebar .admin-nav-links{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:360px) and (min-height:461px){
  .hero-split .hero-visual{height:42%}
}

@media(max-height:500px) and (max-width:1100px){
  .site-header .mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:8px 16px}
  .site-header .mobile-nav a{min-height:44px;padding-block:10px}
  .admin-dialog{height:100dvh;max-height:100dvh}
}

@media(hover:none){
  .product-card:hover,.article-card:hover,.universe-card:hover,.button:hover,.stat-card:hover{transform:none}
}
