/* Confort de lecture et de navigation. Identité Opificio / matières conservée. */
:root{--ux-border:#7b8972;--ux-muted:#526049}
.material-ribbon{max-width:100%;overflow-x:auto;scrollbar-width:thin}
@media(max-width:760px){
 .catalogue .catalogue-meta{flex-wrap:nowrap;gap:12px}
 .catalogue .catalogue-meta>#result-count{min-width:0;flex:1;font-size:13px}
 .catalogue .sort-wrapper{width:auto;display:flex;flex:none}
 .catalogue .sort-wrapper label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .catalogue .sort-wrapper select{width:165px;max-width:165px}
}
body{font-size:16px;line-height:1.7}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #21362a;outline-offset:3px;box-shadow:0 0 0 6px #f8f6ef}
input::placeholder,textarea::placeholder{color:#616b5a;opacity:1}
.site-header{min-height:90px;padding-top:15px;padding-bottom:15px}
.desktop-nav{font-size:14px;gap:clamp(20px,2.5vw,40px)}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.header-actions{gap:12px}.selection-toggle{min-height:44px;font-size:14px}
.selection-count{min-width:26px;height:26px;font-size:12px;border-color:var(--ux-border)}
.icon-button{width:44px;height:44px}
.topline{font-size:12px;min-height:34px;height:auto;padding-top:6px;padding-bottom:6px}
.brand span,.footer-brand>span{font-size:10px;letter-spacing:.1em}
.eyebrow{font-size:12px;letter-spacing:.09em}
.hero-description{font-size:17px;line-height:1.75}
.hero-copy{padding-top:72px}
.hero-bottom{font-size:13px;line-height:1.65;padding-top:42px}
.hero-round{font-size:10px;letter-spacing:.06em}
.image-corner{font-size:11px;letter-spacing:.06em}
.hero-visual figcaption,.visit-visual figcaption{font-size:13px;line-height:1.6}
.hero-visual figcaption span,.visit-visual figcaption span,.atlas-visual figcaption span{font-size:12px;white-space:normal}
.button{min-height:48px;font-size:14px;line-height:1.5;padding:13px 20px;gap:26px}
.button:disabled,#copy-selection:disabled{background:#e2e5d9;color:#526049;border-color:#9aa78d;cursor:not-allowed;opacity:1}
.text-link{min-height:44px;font-size:14px;line-height:1.6;gap:20px}
.material-ribbon>a{font-size:14px;min-height:62px;padding:17px 20px;gap:16px}
.material-ribbon>a span{font-size:11px}
.ribbon-intro{font-size:11px;letter-spacing:.06em}
.section-pad{padding-top:76px;padding-bottom:76px}
.intro-text,.engagement-columns,.steps p,.how-intro,.visit-lead{font-size:16px;line-height:1.8}
.intro-text p+p{margin-top:18px}
.material-triptych{padding-top:40px;padding-bottom:50px;gap:22px}
.tile-image{aspect-ratio:4/4.05}
.tile-caption small{font-size:12px;letter-spacing:.06em}
.image-note{font-size:12px;line-height:1.7}
.catalogue{padding-top:56px;padding-bottom:60px}
.catalogue .section-heading{gap:35px;align-items:flex-end}
.catalogue .serif-title{font-size:clamp(36px,4vw,64px);line-height:1.15}
.section-heading .eyebrow{margin-bottom:18px}
.catalogue-intro{font-size:15px;line-height:1.7;max-width:430px}
.edition{font-size:12px;margin-top:18px;letter-spacing:.03em;line-height:1.6}
.status-dot{width:7px;height:7px}
.catalogue-toolbar{display:grid;grid-template-columns:1fr;gap:15px;align-items:stretch;margin-top:26px;border:0}
.category-filters{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:3px;margin:0;scrollbar-width:thin}
.category-filters button{font-size:14px;line-height:1.5;min-height:44px;flex:0 0 auto;padding:10px 12px;color:#42513c;background:transparent;border:1px solid var(--ux-border);border-radius:2px}
.category-filters button::after{display:none}
.category-filters button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--paper-light);font-weight:600}
.category-filters button:hover{background:#d8dfce;border-color:#526448;color:#24382b}
.category-filters button[aria-pressed="true"]:hover{background:#385342;color:var(--paper-light)}
.category-filters button small{font-size:12px;vertical-align:baseline;margin-left:7px}
.catalogue-search{display:flex;align-items:center;min-width:0;max-width:none;width:100%;flex:auto;border:1px solid var(--ux-border);padding:4px 8px 4px 15px;background:#f8f6ef;gap:10px}
.catalogue-search .icon{width:21px;height:21px}
.catalogue-search input{font-size:16px;min-height:44px;padding:8px 0;line-height:1.5}
.clear-search{width:44px;height:44px}
.taxonomy-panel{margin-top:14px;border-color:#a0ad96}
.taxonomy-panel>summary{min-height:56px;font-size:14px;padding:14px 0;gap:18px}
.taxonomy-panel>summary small{font-size:12px;line-height:1.6;color:var(--ux-muted)}
.taxonomy-plus{font-size:25px}
.taxonomy-fields{gap:20px;padding:8px 0 18px}
.taxonomy-fields label{font-size:14px;line-height:1.5;color:#42533a;margin-bottom:8px}
.taxonomy-fields select{min-height:48px;font-size:15px;line-height:1.5;padding:10px 30px 10px 12px;border-color:var(--ux-border);background:#f8f6ef}
.taxonomy-fields select:disabled{opacity:1;background:#e4e7dc;color:#67715f;border-color:#abb49f}
.taxonomy-note{font-size:12px;line-height:1.75;color:var(--ux-muted);margin-bottom:20px}
.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:15px 0}
.filter-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;font-size:13px;line-height:1.5;color:#2e4835;border:1px solid #8b9c7c;background:#e0e7d7;padding:9px 12px;border-radius:2px;overflow-wrap:anywhere;text-align:left}
.filter-chip button{min-width:44px;min-height:44px;padding:7px;flex:none}
.filter-chip .icon{width:17px;height:17px}
.filter-chip:hover{background:#d4dfc8}
#clear-all-filters{font-size:13px;min-height:44px;padding:9px 10px;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
#catalogue-context,.catalogue-context{font-size:13px;line-height:1.75;color:#405237;background:#e0e5d6;border-left:3px solid #7d906f;padding:14px 18px;margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#catalogue-context p,.catalogue-context p{margin:0;max-width:780px}
#catalogue-context small,.catalogue-context small{font-size:12px}
.mobile-call-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 13px;border:1px solid #6e825e;background:#f8f6ef;color:#294234;font-size:14px;line-height:1.5;white-space:nowrap;flex:none}
.catalogue-meta{font-size:13px;gap:22px;padding:20px 0;align-items:center;flex-wrap:wrap}
.catalogue-meta>p,#result-count{font-size:14px;line-height:1.7;max-width:100%;flex:1;min-width:160px}
.sort-wrapper{gap:10px;flex:none}
.sort-wrapper label{font-size:13px;display:block}
.sort-wrapper select{font-size:14px;min-height:44px;max-width:245px;border:1px solid var(--ux-border);padding:9px 30px 9px 10px;background:#f8f6ef}
.sort-note{font-size:12px;line-height:1.7;color:var(--ux-muted);max-width:800px;margin:0 0 18px}
.catalogue-help{font-size:14px;line-height:1.7;color:#526049;margin:0 0 16px}
.product-grid{gap:35px 24px}
.product-card{scroll-margin-top:125px;min-width:0}
.product-picture{--card-image-height:clamp(230px,24vw,335px);aspect-ratio:auto;overflow:visible;background:transparent}
.product-image-link{display:flex;flex-direction:column;align-items:stretch;position:relative;min-width:0}
.product-image-link>img{width:100%;height:var(--card-image-height);object-fit:cover;flex:none;transition:filter .25s ease;transform:none}
.product-image-link:hover>img{transform:none;filter:brightness(1.025) saturate(.94)}
.product-category{position:static;display:block;max-width:100%;padding:11px 0 0;background:transparent;color:#526348;font-size:12px;letter-spacing:0;line-height:1.6;pointer-events:none;min-height:30px}
.product-image-link .image-disclaimer{position:absolute;bottom:auto;top:calc(var(--card-image-height) - 35px);left:10px;max-width:calc(100% - 68px);font-size:12px;padding:4px 7px;line-height:1.4;background:#f8f6eff2;color:#33432b}
.product-save{width:44px;height:44px;right:10px;top:10px;background:#f8f6ef;border:1px solid #9caa91}
.product-save .icon{width:19px;height:22px}
.product-save[aria-pressed="true"]{border-color:#294234}
.product-save::before{display:none}
.product-view{width:44px;height:44px;top:calc(var(--card-image-height) - 58px);right:10px;bottom:auto}
.product-image-link:focus-visible{outline:3px solid #294234;outline-offset:4px}
.product-text{padding-top:10px}
.product-title{font-size:27px;line-height:1.25;min-height:65px;letter-spacing:-.035em;width:100%;overflow-wrap:anywhere}
.product-description{font-size:14px;line-height:1.7;min-height:48px;margin:9px 0 13px;color:#53624a}
.product-info{padding-top:12px;gap:8px;align-items:baseline;line-height:1.5}
.product-price{font-size:20px;font-weight:600;line-height:1.5}
.product-price small{font-size:13px;line-height:1.5;margin-left:5px;color:#526049}
.product-quantity{font-size:13px;line-height:1.6;color:#526049;white-space:normal}
.product-quantity.known{color:#2f5137}
.catalogue-more{margin-top:35px;flex-wrap:wrap;gap:14px;align-items:center}
.catalogue-progress{font-size:13px;line-height:1.7;text-align:center;color:#526049}
.catalogue-note{font-size:12px;line-height:1.8;gap:13px;margin-top:30px}
.empty-results{padding:40px 16px}
.empty-results p{font-size:15px;line-height:1.8;margin:18px 0}
.empty-actions{gap:20px}
.atlas-lead,#atlas-panel{font-size:16px;line-height:1.8}
.atlas-tabs button{font-size:14px;min-width:50px;min-height:66px;padding:8px 7px;gap:11px}
.atlas-index{font-size:12px;line-height:1.6}
.how-intro{font-size:16px;line-height:1.8}
.step-number{font-size:13px}
.steps{gap:36px;margin-top:45px}
.steps p{font-size:16px;line-height:1.8}
.engagement .eyebrow{font-size:12px}
.engagement-columns{font-size:16px;line-height:1.8;gap:28px}
.visit-address address{font-size:16px;line-height:1.8}
.visit-address p,.visit-note{font-size:14px;line-height:1.8;color:#526049}
.visit-address h3{font-size:19px;line-height:1.4}
.questions .faq-list summary{font-size:16px;line-height:1.7;min-height:70px;padding:18px 0}
.faq-list details p{font-size:15px;line-height:1.8;color:#526049}
.contact-bottom{font-size:14px;line-height:1.8}
.contact-bottom a{font-size:14px}
.footer-main>div,.footer-main button{font-size:14px;line-height:1.8}
.footer-main>div p{font-size:12px;line-height:1.6}
.footer-main>div a,.footer-main>div button{min-height:44px;display:inline-flex;align-items:center;text-align:left;padding:4px 0}
.footer-bottom,.footer-bottom button{font-size:12px;line-height:1.7}
.footer-bottom a,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center}
.dialog-close{width:48px;height:48px;top:12px;right:12px}
.detail-copy{padding:65px 36px 30px}
.detail-copy>.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.04em}
.detail-description{font-size:16px;line-height:1.8;margin:22px 0}
.detail-price{font-size:32px;line-height:1.5}
.detail-price small{font-size:16px}
.detail-stock{font-size:14px;line-height:1.7}
.detail-data{font-size:14px;line-height:1.7;margin:22px 0}
.detail-data>div{gap:20px;padding:12px 0}
.detail-data dd{max-width:57%}
.detail-quantity-label{font-size:14px;line-height:1.7;margin-bottom:9px}
.detail-selection-row{flex-wrap:wrap;gap:12px}
.quantity-input-wrap{padding:6px 12px;min-height:48px}
.quantity-input-wrap input{font-size:16px;min-height:36px;width:70px;line-height:1.5}
.quantity-input-wrap span{font-size:14px}
.detail-selection-row>.button{font-size:14px;padding:13px 18px;min-height:48px;min-width:190px}
.detail-note{font-size:13px;line-height:1.75;margin:15px 0;color:#526049}
.detail-ref{font-size:12px;line-height:1.75;margin-top:18px}
.detail-copy>.text-link{font-size:14px}
.detail-visual .image-disclaimer{font-size:12px;line-height:1.5;max-width:calc(100% - 90px);padding:6px 8px;background:#f8f6eff2;color:#33432b}
.detail-image-button>.icon{width:48px;height:48px;right:18px;bottom:18px}
.detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:12px}
.detail-actions>.button,.detail-actions>button{min-height:48px;font-size:14px;flex:1 1 200px}
#detail-review-selection{min-height:48px;font-size:14px;border:1px solid #7d8f70;padding:12px 16px;line-height:1.5}
.selection-dialog{padding:32px;scroll-padding-top:95px}
.selection-dialog>.dialog-heading{position:sticky;top:0;padding:12px 0 18px;margin-top:0;background:var(--paper-light);z-index:3;border-bottom:1px solid #c4cbbc}
.selection-dialog>.dialog-heading>.icon-button{margin-top:0}
.selection-dialog>.dialog-heading .eyebrow{font-size:12px;letter-spacing:.06em;margin-bottom:10px}
.selection-intro{font-size:15px;line-height:1.8;margin:20px 0 26px}
.selection-item{grid-template-columns:76px minmax(0,1fr) 44px;gap:16px;padding:20px 0}
.selection-item .icon-button{width:44px;height:44px;margin-top:-4px}
.selection-item h3{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.selection-item .selection-item-price,.selection-item-stock{font-size:13px;line-height:1.7;margin-top:6px}
.selection-item-stock{color:#526049}
.selection-item label{font-size:13px;line-height:1.6;gap:8px;margin-top:10px}
.selection-item input{font-size:16px;min-height:44px;min-width:72px;width:82px;padding:8px}
.selection-footnote{font-size:12px;line-height:1.8;margin-top:24px}
.selection-empty p{font-size:15px;line-height:1.8}
#selection-actions{gap:12px;padding-top:22px}
#selection-actions .text-link,#selection-actions .small-link{font-size:14px;min-height:44px;line-height:1.6;padding:10px 0}
#selection-actions>.button{font-size:14px;line-height:1.6}
#selection-undo{min-height:44px;font-size:14px;line-height:1.6;text-decoration:underline;text-underline-offset:4px;padding:10px 12px;background:#e0e7d7;color:#294234;border:1px solid #8b9c7c}
.selection-feedback{font-size:14px;line-height:1.7;margin:14px 0;color:#2f5137}
#selection-validation{font-size:14px;line-height:1.7;padding:12px 15px;background:#f6e7d8;color:#6d321d;border-left:3px solid #914321;margin:14px 0}
#selection-validation:empty{padding:0;border:0;background:transparent;min-height:0;margin:0}
.field-error,#detail-quantity-error{font-size:14px;line-height:1.7;color:#7b321b;margin:9px 0 14px;max-width:100%;overflow-wrap:anywhere}
.field-error:empty,#detail-quantity-error:empty{margin:0;min-height:0}
#selection-email[aria-disabled="true"]{background:#e2e5d9;color:#45533c;border-color:#8d9c7f;cursor:not-allowed}
#selection-email[aria-disabled="true"]:hover{background:#e2e5d9;color:#45533c}
#detail-email[aria-disabled="true"]{color:#66715e;border-bottom-style:dashed;cursor:not-allowed}
input.invalid,input[aria-invalid="true"],.invalid input{border:2px solid #8a381e;background:#fff4ed;color:#5e2b1b}
.info-dialog>p{font-size:15px;line-height:1.8;margin:20px 0}
.zoom-top,.zoom-dialog>p{font-size:14px;line-height:1.6}
.zoom-top .icon-button{width:48px;height:48px}
.menu-inner nav>a,.menu-inner nav>button{min-height:64px}
.menu-inner>p{font-size:15px;line-height:1.8}
.toast{font-size:14px;line-height:1.6;padding:14px 20px}
.mobile-catalogue-link{display:none}
@media(max-width:1100px){
 .desktop-nav{font-size:14px;gap:19px}
 .catalogue-toolbar{display:grid;grid-template-columns:1fr;gap:14px}
 .catalogue-search{min-width:0;max-width:100%;flex:auto;border:1px solid var(--ux-border)}
 .catalogue-search input{font-size:16px;padding:8px 0}
 .category-filters{gap:8px;flex-wrap:wrap}
 .category-filters button{font-size:14px;padding:10px 12px}
 .atlas-copy,.visit-copy{padding-left:35px;padding-right:35px}
 .detail-layout{grid-template-columns:.9fr 1fr}
}
@media(max-width:760px){
 :root{--gutter:20px}
 html{scroll-padding-top:90px}
 .topline{font-size:12px;min-height:30px;padding:4px 16px}
 .site-header{min-height:72px;padding:12px 16px;gap:10px}
 .brand,.brand img{width:145px}.brand{gap:0}.brand span{display:none}
 .header-actions{gap:3px}
 .mobile-catalogue-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:10px 6px;font-size:14px;font-weight:600;line-height:1.5;border-bottom:2px solid #5e7452;white-space:nowrap}
 .selection-toggle{min-width:44px;min-height:44px;gap:3px;padding:0 2px}
 .selection-count{min-width:18px;height:22px;font-size:12px;border:0}
 .header-actions .icon-button{width:44px;height:44px}
 .selection-toggle .icon{width:17px;height:21px}
 .hero-copy{padding:34px var(--gutter) 28px}
 .hero .eyebrow{font-size:12px;line-height:1.6}
 .hero-description{font-size:16px;line-height:1.75;margin-bottom:24px}
 .hero-bottom{font-size:12px;line-height:1.7;padding-top:25px;gap:12px}
 .hero-copy>.button{min-height:48px;min-width:245px;font-size:14px}
 .hero-visual{height:340px;margin-left:var(--gutter)}
 .hero-round{width:84px;height:84px;right:18px;top:-40px;font-size:10px;line-height:1.45;letter-spacing:0}
 .hero-visual figcaption,.visit-visual figcaption{font-size:12px;line-height:1.6;flex-wrap:wrap;padding:35px 16px 16px;gap:6px}
 .hero-visual figcaption span,.visit-visual figcaption span{font-size:12px}
 .image-corner{font-size:10px;max-width:calc(100% - 36px)}
 .material-ribbon>a{font-size:14px;min-width:175px;min-height:58px;padding:14px 20px}
 .material-ribbon>a span{font-size:12px}
 .section-pad{padding-top:55px;padding-bottom:55px}
 .eyebrow{font-size:12px;letter-spacing:.075em}
 .intro>.eyebrow{margin-bottom:23px}
 .intro-text{font-size:16px;line-height:1.8;padding-top:25px}
 .intro-text p+p{margin-top:18px}
 .text-link{font-size:14px;min-height:44px}
 .material-triptych{padding-top:30px;padding-bottom:10px;gap:16px}
 .editorial-tile{min-width:76vw}.tile-image{aspect-ratio:4/3.8}
 .tile-caption small{font-size:12px;line-height:1.6}
 .image-note{font-size:12px;line-height:1.75;margin-top:18px}
 .catalogue{padding-top:38px;padding-bottom:48px}
 .catalogue .serif-title{font-size:clamp(30px,8.8vw,46px);line-height:1.2}
 .catalogue .section-heading .eyebrow{margin-bottom:16px}
 .catalogue-intro{font-size:15px;line-height:1.75;margin-top:22px}
 .edition{font-size:12px;line-height:1.7;margin-top:14px}
 .catalogue-toolbar{margin-top:22px;gap:13px}
 .category-filters{flex-wrap:nowrap;overflow-x:auto;gap:9px;padding:4px 4px 10px;margin-right:-4px;scrollbar-width:thin;scrollbar-color:#7e8e72 transparent}
 .category-filters::-webkit-scrollbar{display:block;height:5px}
 .category-filters::-webkit-scrollbar-thumb{background:#7e8e72;border-radius:2px}
 .category-filters button{min-height:44px;padding:10px 13px;font-size:14px;white-space:nowrap}
 .category-filters button small{font-size:12px}
 .catalogue-search{padding:4px 7px 4px 12px;border:1px solid var(--ux-border);min-width:0;width:100%}
 .catalogue-search input{font-size:16px;min-height:44px;padding:8px 0}
 .taxonomy-panel{margin-top:12px}
 .taxonomy-panel>summary{font-size:14px;min-height:60px;padding:15px 28px 15px 0;gap:6px}
 .taxonomy-panel>summary>span:first-child{font-size:14px;line-height:1.6}
 .taxonomy-panel>summary small{font-size:12px;line-height:1.6}
 .taxonomy-plus{top:16px}
 .taxonomy-fields{grid-template-columns:1fr;gap:16px;padding-top:6px}
 .taxonomy-fields label{font-size:14px;line-height:1.5}
 .taxonomy-fields select{font-size:16px;min-height:48px;padding:10px 28px 10px 12px}
 .taxonomy-note{font-size:12px;line-height:1.8}
 .active-filters{gap:8px;margin:13px 0}
 .filter-chip{font-size:13px;min-height:44px}
 #clear-all-filters{font-size:14px}
 #catalogue-context,.catalogue-context{font-size:13px;line-height:1.75;padding:13px 14px;gap:10px;margin:15px 0}
 .mobile-call-link{font-size:14px;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .catalogue-meta{font-size:14px;display:flex;flex-wrap:wrap;gap:12px;padding:15px 0;align-items:center}
 .catalogue-meta>p,#result-count{font-size:14px;line-height:1.6;flex-basis:100%;max-width:100%;min-width:0}
 .sort-wrapper{width:100%;gap:10px;justify-content:flex-start}
 .sort-wrapper label{font-size:13px;display:block;flex:none}
 .sort-wrapper select{font-size:14px;max-width:none;min-width:0;width:auto;flex:1;min-height:44px}
 .sort-note{font-size:12px;line-height:1.7;margin-bottom:16px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}
 .product-card{scroll-margin-top:100px}
 .product-picture{--card-image-height:180px;aspect-ratio:auto}
 .product-category{font-size:12px;max-width:100%;min-height:36px;line-height:1.5;padding-top:10px}
 .product-image-link .image-disclaimer{font-size:12px;left:7px;max-width:calc(100% - 14px);top:calc(var(--card-image-height) - 32px);padding:4px 6px;line-height:1.3;white-space:nowrap}
 .product-save{width:44px;height:44px;right:7px;top:7px}
 .product-save .icon{width:18px;height:21px}
 .product-text{padding-top:10px}
 .product-title{font-size:clamp(20px,5.3vw,25px);line-height:1.3;min-height:56px;width:100%;overflow-wrap:anywhere}
 .product-description{display:none}
 .product-info{margin-top:10px;padding-top:11px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
 .product-price{font-size:18px;line-height:1.5}
 .product-price small{font-size:13px;margin-left:4px}
 .product-quantity{font-size:13px;line-height:1.6;margin-top:0;white-space:normal}
 .catalogue-more{margin-top:30px;gap:13px;flex-direction:column}
 .catalogue-more .button{font-size:14px;width:100%;min-height:48px;max-width:none;gap:20px}
 .catalogue-progress{font-size:13px}
 .catalogue-note{font-size:12px;line-height:1.8;margin-top:25px;gap:10px}
 .empty-results{padding:30px 4px}.empty-results p{font-size:15px;line-height:1.8}
 .empty-actions{gap:12px}.empty-actions .button,.empty-actions .text-link{font-size:14px;min-height:48px}
 .atlas-copy{padding:52px var(--gutter) 35px}
 .atlas-lead,#atlas-panel{font-size:16px;line-height:1.8}
 .atlas-tabs{gap:16px;justify-content:space-between;margin:28px 0 22px}
 .atlas-tabs button{font-size:14px;min-width:48px;min-height:72px;padding:8px 4px}
 .atlas-index{font-size:12px;margin-top:26px}
 .atlas-visual{height:330px;margin-left:var(--gutter)}
 .atlas-visual figcaption span{font-size:12px}
 .how-intro{font-size:16px;margin-top:24px}
 .steps{margin-top:30px;gap:25px}.steps p{font-size:16px;line-height:1.8}.step-number{font-size:13px}
 .engagement .eyebrow{font-size:12px;line-height:1.7;max-width:100%}
 .engagement-columns{font-size:16px;line-height:1.8;gap:18px}
 .visit-copy{padding:52px var(--gutter)}
 .visit-lead{font-size:16px;line-height:1.8}.visit-address{gap:13px}
 .visit-address h3{font-size:18px}.visit-address address{font-size:16px;line-height:1.8}
 .visit-address p,.visit-note{font-size:14px;line-height:1.8}
 .visit-copy>.text-link{font-size:14px;margin-left:0;gap:17px}
 .visit .button{font-size:15px;min-width:0;width:100%;max-width:360px}
 .visit-visual{height:330px;margin-right:var(--gutter)}
 .questions .faq-list summary{font-size:16px;min-height:70px;line-height:1.65;gap:20px}
 .faq-list details p{font-size:15px;line-height:1.8;padding-right:10px}
 .contact-band>.eyebrow{font-size:12px;line-height:1.7;max-width:100%}
 .contact-bottom,.contact-bottom a{font-size:14px;line-height:1.8}
 .site-footer{padding-top:42px;padding-bottom:18px}
 .footer-main{gap:28px 22px;padding-bottom:28px}
 .footer-main>div,.footer-main button{font-size:14px;line-height:1.8}
 .footer-main>div p{font-size:12px;line-height:1.7;margin-bottom:8px}
 .footer-bottom,.footer-bottom button{font-size:12px;line-height:1.8}
 .footer-bottom>button{font-size:12px;min-height:44px;max-width:100%}
 .footer-bottom>a{margin-left:0}
 .detail-layout{height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:58px}
 .detail-visual{height:clamp(180px,28dvh,270px);min-height:180px}
 .dialog-close{position:absolute;top:7px;right:12px;width:44px;height:44px;border-color:#8b9b7d;background:#f8f6ef;box-shadow:0 0 0 9px #f8f6ef;z-index:6}
 .product-dialog::before{content:'';position:absolute;left:0;right:0;top:0;height:58px;background:#f8f6ef;border-bottom:1px solid #bac5b0;z-index:5;pointer-events:none}
 .detail-copy{padding:25px 22px 30px;overflow:visible}
 .detail-copy>.eyebrow{font-size:12px;line-height:1.65;margin-bottom:15px}
 .detail-description{font-size:16px;line-height:1.8;margin:19px 0}
 .detail-price{font-size:29px}.detail-price small{font-size:16px}
 .detail-stock{font-size:14px;line-height:1.7}
 .detail-data{font-size:14px;line-height:1.7;margin:23px 0}
 .detail-data>div{gap:13px;padding:12px 0;align-items:flex-start}
 .detail-data dt{flex:1}.detail-data dd{max-width:58%;overflow-wrap:anywhere}
 .detail-quantity-label{font-size:14px;line-height:1.7}
 .detail-selection-row{flex-wrap:wrap;gap:12px}
 .quantity-input-wrap{padding:6px 10px;min-height:48px;gap:10px}
 .quantity-input-wrap input{font-size:16px;min-height:36px;width:72px}
 .quantity-input-wrap span{font-size:14px}
 .detail-selection-row>.button{font-size:14px;line-height:1.6;min-height:48px;min-width:0;flex:1 1 100%;padding:12px 15px;gap:15px}
 .detail-note{font-size:13px;line-height:1.75}.detail-ref{font-size:12px;line-height:1.75}
 .detail-copy>.text-link{font-size:14px;min-height:44px}
 .detail-visual .image-disclaimer{font-size:12px;line-height:1.5;max-width:calc(100% - 88px);bottom:14px;left:14px;padding:6px 8px}
 .detail-image-button>.icon{width:48px;height:48px;bottom:14px;right:14px}
 .detail-actions{gap:10px;flex-direction:column}
 .detail-actions>.button,.detail-actions>button,#detail-review-selection{flex:auto;min-height:48px;font-size:14px;line-height:1.6}
 .selection-dialog{padding:24px 20px;scroll-padding-top:100px}
 .selection-dialog>.dialog-heading{top:0;padding:12px 0 16px;margin-top:0;align-items:flex-start}
 .selection-dialog>.dialog-heading .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.04em;margin-bottom:8px}
 .selection-intro{font-size:15px;line-height:1.8;margin:18px 0 24px}
 .selection-item{grid-template-columns:58px minmax(0,1fr) 44px;gap:10px;padding:18px 0}
 .selection-item>img{width:58px;height:82px}
 .selection-item h3{font-size:21px;line-height:1.3}
 .selection-item .selection-item-price,.selection-item-stock{font-size:13px;line-height:1.7}
 .selection-item label{font-size:13px;line-height:1.6;gap:8px}
 .selection-item input{font-size:16px;min-height:44px;width:78px;padding:8px}
 .selection-item .icon-button{width:44px;height:44px}
 .selection-footnote{font-size:12px;line-height:1.8}
 .selection-empty p{font-size:15px;line-height:1.8}
 #selection-actions .text-link,#selection-actions .small-link,#selection-undo{font-size:14px;min-height:44px}
 #selection-actions>.button{font-size:14px;line-height:1.6}
 .selection-feedback,#selection-validation{font-size:14px;line-height:1.7}
 .info-dialog{padding:26px 22px}.info-dialog>p{font-size:15px;line-height:1.8}
 .zoom-top{padding:10px 14px;font-size:14px;line-height:1.5;gap:15px}.zoom-dialog>p{font-size:13px;line-height:1.6}
 .zoom-top .icon-button{width:48px;height:48px}
 .menu-inner nav>a,.menu-inner nav>button{font-size:30px;min-height:66px;padding:20px 0}
 .menu-inner nav span{font-size:13px}.menu-inner>p{font-size:15px;line-height:1.8}
 .toast{font-size:14px;line-height:1.6;max-width:calc(100% - 32px);padding:13px 18px;bottom:18px}
}
@media(max-width:360px){
 .site-header{padding-left:8px;padding-right:8px;gap:8px}
 .brand,.brand img{width:108px}
 .header-actions{gap:3px}.mobile-catalogue-link{padding-left:6px;padding-right:6px;font-size:14px}
 .selection-toggle{width:44px;min-width:44px}.header-actions .icon-button{width:44px}
 .hero-copy>.button{min-width:0;width:100%;max-width:300px}
 .hero-visual{height:310px}
 .product-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .product-picture{--card-image-height:220px}
 .product-title{font-size:25px;line-height:1.3;min-height:0}
 .product-category{font-size:12px;min-height:0}
 .product-info{margin-top:12px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:7px}
 .product-quantity{font-size:13px}
 .footer-main{grid-template-columns:1fr;gap:24px}.footer-brand{grid-column:auto;max-width:100%}
 .selection-item{grid-template-columns:minmax(0,1fr) 44px}.selection-item>img{display:none}
 .detail-data>div{display:block}.detail-data dt{margin-bottom:5px}.detail-data dd{max-width:100%;text-align:left}
 .atlas-tabs{gap:8px}.atlas-tabs button{min-width:45px;padding-left:3px;padding-right:3px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .product-image-link>img,.product-view,.category-filters button,.hero-round{transition:none}
}
/* Source du catalogue : un relevé reste daté, même lorsque le service répond. */
.catalogue-context{flex-wrap:wrap}
.catalogue-context #catalogue-source-message{flex:1 1 420px}
.catalogue-context #catalogue-refresh{min-height:44px;flex:0 1 auto}
.catalogue-context[data-state="fallback"],.catalogue-context[data-state="cached"]{border-left-color:#8a5b20}
.selection-unresolved p{overflow-wrap:anywhere}
