/* La boutique partage la palette et la typographie du site. */
.boutique-page{padding-top:112px}.boutique-page .site-header{background:#2a2a2a}
.shop-main{max-width:1720px;margin:auto;padding:32px 4.6% 76px}
.shop-topline{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;font-size:12px;color:#676767}
@media (hover:hover) and (pointer:fine){.shop-topline>a:hover{text-decoration:underline;text-underline-offset:5px}}
.shop-cart-trigger{display:inline-flex;align-items:center;gap:12px;background:transparent;border:1px solid #b5b5b5;padding:11px 17px;border-radius:3px;color:#2d2d2d;font-size:13px}
.shop-cart-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.shop-count{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#3b3b3b;color:#fff;font-size:11px;padding:0 5px}
.shop-hero{display:grid;grid-template-columns:1fr 1fr;background:#e1e1e1;min-height:355px}
.shop-hero-copy{padding:48px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.shop-eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 19px;color:#666666}
.shop-hero h1{font-size:clamp(42px,4.7vw,70px);line-height:1.05;font-weight:400;letter-spacing:-.055em;margin:0 0 22px}
.shop-hero h1 span{display:block}
.shop-hero-copy>p:not(.shop-eyebrow){font-size:14px;color:#5d5d5d;max-width:390px;margin:0 0 24px;line-height:1.8}
.shop-hero-copy>a{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}
.shop-hero-photo{position:relative;min-height:355px;margin:0;overflow:hidden}
.shop-hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover}
.shop-hero-photo>figcaption{position:absolute;left:22px;bottom:18px;color:#fff;text-shadow:0 1px 5px #000;font-size:10px;letter-spacing:.06em}
.shop-brands{display:grid;grid-template-columns:1.15fr repeat(4,1fr);align-items:center;border-bottom:1px solid var(--line);margin:0 0 42px;padding:23px 0;gap:20px}
.shop-brands>span{font-size:11px;color:#6c6c6c;max-width:120px;line-height:1.6}
.shop-brands>a{text-align:center;font-size:clamp(19px,2vw,28px);font-weight:600;letter-spacing:.08em;border-left:1px solid var(--line);padding:4px 0}
@media (hover:hover) and (pointer:fine){.shop-brands>a:hover{color:#797979}}.shop-brands>a:nth-child(3){text-transform:lowercase;letter-spacing:-.06em;font-size:32px}
.shop-catalog{scroll-margin-top:32px}
.shop-catalog-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:25px}
.shop-catalog-heading h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.05em}
.shop-catalog-heading>p{font-size:12px;color:#6c6c6c;margin:0;max-width:260px;text-align:right}
.shop-tools{display:grid;grid-template-columns:1fr 230px;gap:16px;margin-bottom:22px}
.shop-search{position:relative}.shop-search svg{position:absolute;left:17px;top:17px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;pointer-events:none}
.shop-tools input,.shop-tools select{width:100%;height:53px;border:1px solid #c5c5c5;background:#f9f9f9;border-radius:3px;padding:12px 16px;color:#2d2d2d;font-size:13px}
.shop-tools input{padding-left:47px;padding-right:34px}
.shop-catalog-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px}
.shop-filters{padding-top:2px}.shop-filters fieldset{border:0;padding:0;margin:0 0 26px}
.shop-filters legend{font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:0;margin:0 0 13px;color:#6d6d6d;font-weight:600}
.shop-filter-list{display:grid;gap:5px}.shop-filter-list button{display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;width:100%;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:2px;font-size:12px;line-height:1.35;color:#616161}
.shop-filter-list button span{font-size:10px;color:#777777}.shop-filter-list button[aria-pressed=true]{background:#e0e0e0;border-color:#d3d3d3;color:#2d2d2d;font-weight:600}
@media (hover:hover) and (pointer:fine){.shop-filter-list button:hover{border-color:#bdbdbd}}
.shop-reset{background:none;border:0;border-bottom:1px solid #959595;padding:3px 0;color:#676767;font-size:11px}
.shop-result-line{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#6b6b6b;margin:0 0 17px;min-height:21px}
.shop-result-line p{margin:0}
.shop-grid{--shop-card-min:220px;display:grid;grid-template-columns:repeat(auto-fill,minmax(max(var(--shop-card-min),(100% - 60px) / 3),1fr));gap:26px 20px;align-items:stretch}
.shop-card{min-width:0;display:flex;flex-direction:column;background:#fafafa;border:1px solid #dbdbdb}
.shop-card-media{position:relative;display:block;aspect-ratio:1.19;width:100%;border:0;background:#e0e0e0;padding:0;overflow:hidden}
.shop-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
@media (hover:hover) and (pointer:fine){.shop-card-media:hover img{transform:scale(1.035)}}
.shop-card-media .shop-image-credit{position:absolute;bottom:10px;left:10px;background:#f9f9f9ee;color:#5d5d5d;padding:4px 7px;font-size:9px;letter-spacing:.03em;max-width:calc(100% - 20px)}
.shop-card-copy{padding:20px;display:flex;flex-direction:column;flex:1}
.shop-card-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;letter-spacing:.12em;color:#686868;text-transform:uppercase;margin:0 0 11px}
.shop-card-label span:last-child{letter-spacing:0;font-size:10px;text-transform:none;text-align:right;color:#6f6f6f}
.shop-card h3{font-size:21px;font-weight:500;line-height:1.22;letter-spacing:-.04em;margin:0 0 12px}
.shop-card h3 button{background:none;border:0;padding:0;text-align:left;color:inherit;letter-spacing:inherit;font:inherit}
.shop-card-description{font-size:12px;color:#6c6c6c;line-height:1.7;margin:0 0 22px}
.shop-card-bottom{margin-top:auto;padding-top:15px;border-top:1px solid #d9d9d9;display:grid;gap:12px}
.shop-card-price{font-size:12px;font-weight:500;margin:0}.shop-card .shop-button{width:100%;min-height:43px;font-size:11px;padding:10px 12px}
.shop-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;background:#3b3b3b;color:#fff;border:1px solid #3b3b3b;border-radius:3px;padding:12px 22px;font-weight:500;font-size:13px;line-height:1.45;text-align:center;transition:transform .22s,background .22s,border-color .22s;transform-origin:center}
.shop-button:focus-visible{background:#505050;border-color:#505050;transform:scale(1.025)}@media (hover:hover) and (pointer:fine){.shop-button:hover{background:#505050;border-color:#505050;transform:scale(1.025)}}
.shop-button.secondary{background:transparent;color:#2d2d2d;border-color:#acacac}@media (hover:hover) and (pointer:fine){.shop-button.secondary:hover{background:#e5e5e5}}
.shop-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.shop-empty{padding:65px 20px;border:1px solid var(--line);text-align:center}.shop-empty h3{font-size:24px;font-weight:400;letter-spacing:-.035em;margin:0 0 12px}.shop-empty p{font-size:13px;color:#696969;margin:0 0 22px}
.shop-service{margin-top:54px;padding:30px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shop-service article{display:flex;gap:15px;align-items:start}.shop-service svg{width:26px;height:26px;flex-shrink:0;fill:none;stroke:#737373;stroke-width:1.3;margin-top:3px}
.shop-service h3{font-size:15px;font-weight:500;margin:0 0 6px}.shop-service p{font-size:12px;color:#6a6a6a;margin:0;max-width:280px}
.shop-advice{padding:40px 0 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.shop-advice h2{font-size:29px;letter-spacing:-.04em}.shop-advice p{font-size:13px;color:#6a6a6a;margin:11px 0 0}
.shop-footnote{font-size:10px;color:#777777;margin:28px 0 0}
.shop-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.shop-dialog{border:1px solid #bfbfbf;background:#f4f4f4;color:#2d2d2d;padding:0;max-height:92dvh;width:min(1040px,94vw);max-width:none;box-shadow:0 18px 90px #1515154d;overflow:auto}
.shop-dialog::backdrop{background:#141414c2;backdrop-filter:blur(3px)}
.shop-dialog[open]{display:block}.shop-dialog:not([open]){display:none}
.shop-dialog .shop-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #bababa;background:#f9f9f9;color:#2d2d2d;font-size:26px;line-height:1;border-radius:50%}
.shop-product-layout{display:grid;grid-template-columns:1fr 1fr}
.shop-product-visual{margin:0;min-height:540px;position:relative;background:#e2e2e2;display:flex;flex-direction:column;justify-content:center}
.shop-product-visual img{width:100%;max-height:570px;object-fit:contain}.shop-product-visual figcaption{padding:14px 23px;font-size:10px;color:#696969}
.shop-product-info{padding:45px 35px 32px}.shop-product-info h2{font-size:38px;line-height:1.1;letter-spacing:-.05em;margin-bottom:20px;padding-right:15px}
.shop-product-info>p{font-size:13px;color:#686868;line-height:1.8}.shop-product-info .shop-eyebrow{margin-bottom:16px;font-size:10px}
.shop-product-info ul{font-size:12px;padding:0 0 0 17px;margin:20px 0;color:#5d5d5d}.shop-product-info li{padding:5px 0}
.shop-config{border-top:1px solid #c9c9c9;padding-top:19px}.shop-config label{display:block;font-size:11px;margin-bottom:7px;font-weight:500}.shop-config select{width:100%;padding:12px;border:1px solid #bababa;background:#f9f9f9;color:#2d2d2d;font-size:12px;border-radius:2px}
.shop-buyline{display:flex;gap:14px;align-items:end;margin:17px 0 12px}.shop-buyline .shop-button{flex:1}.shop-qty{display:flex;align-items:center;border:1px solid #bababa;background:#f9f9f9;min-height:45px;width:max-content}
.shop-qty button{width:34px;min-height:44px;flex:none;border:0;background:none;color:#4c4c4c;font-size:19px}.shop-qty button:disabled{opacity:.3;cursor:not-allowed}
.shop-qty input{width:39px;text-align:center;border:0;background:none;font-size:13px;padding:0;-moz-appearance:textfield}.shop-qty input::-webkit-inner-spin-button,.shop-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.shop-product-info .shop-price{font-size:17px;color:#2d2d2d;margin:21px 0 2px}.shop-micro{font-size:10px!important;color:#6b6b6b;line-height:1.65;margin:8px 0 15px}
.shop-source-link{font-size:11px;border-bottom:1px solid #9b9b9b;padding-bottom:3px}.shop-added{font-size:12px;color:#4b654d;margin:15px 0 0}.shop-added button{display:inline;border:0;background:none;text-decoration:underline;text-underline-offset:4px;font:inherit;padding:4px;color:inherit}
.shop-drawer{width:min(570px,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-right:0;border-top:0;border-bottom:0;padding:30px;overflow:auto}
.shop-drawer-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:9px 45px 22px 0;border-bottom:1px solid #cacaca;margin-bottom:22px}
.shop-drawer-head h2{font-size:32px;letter-spacing:-.05em}.shop-drawer-head p{font-size:12px;color:#686868;margin:8px 0 0}
.shop-cart-line{display:grid;grid-template-columns:85px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid #d2d2d2}
.shop-cart-line:first-child{padding-top:0}.shop-cart-line>img{width:85px;height:100px;object-fit:cover;background:#e1e1e1}
.shop-cart-line .shop-eyebrow{font-size:9px;margin:0 0 4px}.shop-cart-line h3{font-size:17px;font-weight:500;letter-spacing:-.035em;line-height:1.25;margin:0 0 8px}
.shop-cart-line p{font-size:11px;line-height:1.55;color:#707070;margin:5px 0 11px}.shop-cart-line-tools{display:flex;justify-content:space-between;align-items:center;gap:15px}.shop-cart-line .shop-qty{min-height:35px}.shop-cart-line .shop-qty button{min-height:35px;width:30px}.shop-cart-remove{background:none;border:0;border-bottom:1px solid #afafaf;padding:2px 0;font-size:10px;color:#5f5f5f}
.shop-cart-summary{padding:24px 0}.shop-cart-summary>div{display:flex;justify-content:space-between;gap:20px;font-size:14px;flex-wrap:wrap}.shop-cart-summary strong{font-weight:600;line-height:1.6}.shop-cart-summary p{font-size:12px;color:#686868;margin:12px 0 22px}.shop-cart-summary>.shop-button{width:100%}
.shop-new-label{color:#36523d;font-size:11px;font-weight:600;margin:0}.shop-availability{color:#555;font-size:11px;line-height:1.5;margin:0}.shop-card-price{line-height:1.6;overflow-wrap:anywhere}
.shop-cart-continue{display:block;text-align:center;background:none;border:0;border-bottom:1px solid #afafaf;padding:3px 0;font-size:12px;margin:19px auto;color:#5f5f5f}
.shop-form{margin-top:24px}.shop-form h3{font-size:23px;font-weight:400;letter-spacing:-.04em;margin:0 0 12px}.shop-form>p{font-size:12px;color:#6a6a6a;margin:0 0 20px}
.shop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.shop-form-grid>.wide{grid-column:1/-1}.shop-form label{display:block;font-size:12px;margin-bottom:7px}
.shop-form input,.shop-form textarea,.shop-form select{width:100%;border:1px solid #bfbfbf;border-radius:2px;background:#f9f9f9;color:#2d2d2d;font-size:13px;padding:11px 12px;min-height:45px}.shop-form textarea{resize:vertical;min-height:95px}
.shop-form input[aria-invalid=true]{border-color:#9b4933}.shop-error{font-size:11px;color:#954329;margin:6px 0 0}.shop-form .shop-button{width:100%;margin-top:18px}
.shop-request-preview{margin-top:24px;border-top:1px solid #c0c0c0;padding-top:25px}.shop-request-preview h3{font-size:22px;font-weight:400;letter-spacing:-.04em;margin:0 0 12px}.shop-request-preview p{font-size:12px;color:#656565;margin:0 0 17px}.shop-request-preview textarea{font-size:12px;line-height:1.8;width:100%;min-height:230px;resize:vertical;border:1px solid #cacaca;background:#f9f9f9;padding:16px;color:#464646}.shop-preview-actions{display:grid;gap:11px;margin-top:16px}
.shop-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#3b3b3b;color:#fff;font-size:13px;padding:13px 22px;box-shadow:0 5px 25px #0002;max-width:90vw;text-align:center}
.shop-inline-link{font-size:12px;display:inline-block;border-bottom:1px solid #7c7c7c;padding:6px 0;margin-top:13px}
.shop-main [hidden],.shop-dialog [hidden],.shop-toast[hidden]{display:none!important}
@media(min-width:1201px){.site-header .desktop-nav{gap:clamp(14px,1.7vw,27px);font-size:13px}.site-header{gap:20px}.site-header .header-cta{white-space:nowrap}}
@media(min-width:761px) and (max-width:1200px){.site-header .desktop-nav{display:none}.site-header .header-cta{margin-left:auto}.site-header .menu-toggle{display:grid;gap:7px;padding:12px;background:none;border:0}.site-header .menu-toggle span{display:block;width:26px;height:1px;background:#fff}.mobile-nav{top:112px}}
.shop-nav-count{display:inline-grid;place-items:center;min-width:17px;height:17px;background:#dcdcdc;color:#2d2d2d;font-size:9px;border-radius:50%;margin-left:5px;padding:0 3px}.shop-nav-count[hidden]{display:none}
@media(max-width:1100px){.shop-catalog-layout{grid-template-columns:160px minmax(0,1fr);gap:22px}.shop-hero-copy{padding:38px 9%}.shop-hero h1{font-size:49px}.shop-hero-photo,.shop-hero{min-height:340px}}
@media(max-width:760px){.boutique-page{padding-top:90px}.shop-main{padding:20px 5% 42px}.shop-topline{font-size:10px;margin-bottom:18px}.shop-cart-trigger{padding:9px 11px;font-size:12px}.shop-hero{grid-template-columns:1fr}.shop-hero-copy{padding:29px 7%}.shop-hero h1{font-size:44px;margin-bottom:15px}.shop-hero-copy>p:not(.shop-eyebrow){font-size:12px;margin-bottom:16px}.shop-hero-photo{min-height:0;height:220px}.shop-eyebrow{margin-bottom:14px}.shop-brands{grid-template-columns:repeat(4,1fr);gap:10px;padding:19px 0;margin-bottom:29px}.shop-brands>span{display:none}.shop-brands>a{font-size:18px}.shop-brands>a:nth-child(2){border:0}.shop-brands>a:nth-child(3){font-size:25px}.shop-catalog-heading{display:block;margin-bottom:20px}.shop-catalog-heading h2{font-size:31px}.shop-catalog-heading>p{max-width:none;text-align:left;font-size:11px;margin-top:10px}.shop-tools{grid-template-columns:1fr 132px;gap:9px}.shop-tools input,.shop-tools select{font-size:11px;padding:12px 9px;height:47px}.shop-tools input{padding-left:35px}.shop-search svg{width:16px;height:16px;left:11px;top:15px}.shop-catalog-layout{display:block}.shop-filters{display:grid;grid-template-columns:1fr;gap:14px;padding-bottom:20px}.shop-filters fieldset{margin:0;min-width:0}.shop-filters legend{font-size:9px;margin-bottom:8px}.shop-filter-list{display:flex;flex-wrap:wrap;gap:7px}.shop-filter-list button{width:auto;min-height:36px;padding:8px 10px;border-color:#cecece;font-size:10px}.shop-filter-list button span{display:none}.shop-filters>.shop-reset{justify-self:start}.shop-grid{gap:16px 11px}.shop-card-copy{padding:13px 12px}.shop-card h3{font-size:19px}.shop-card-label{font-size:8px;display:block;margin-bottom:8px}.shop-card-label span:last-child{display:block;text-align:left;font-size:9px;letter-spacing:0;margin-top:3px}.shop-card-description{font-size:11px;margin-bottom:13px}.shop-card-media{aspect-ratio:1}.shop-card-price{font-size:11px}.shop-card-bottom{padding-top:11px}.shop-card .shop-button{font-size:10px;padding:10px 6px;min-height:41px}.shop-card-media .shop-image-credit{font-size:8px;left:7px;bottom:7px;padding:3px 5px}.shop-result-line{font-size:10px}.shop-result-line span{display:none}.shop-service{grid-template-columns:1fr;gap:25px;margin-top:35px;padding:27px 0}.shop-service p{max-width:none}.shop-advice{display:block;padding-top:30px}.shop-advice h2{font-size:28px}.shop-advice .shop-button{margin-top:22px}.shop-product-layout{grid-template-columns:1fr}.shop-product-visual{min-height:0;padding:0}.shop-product-visual img{height:250px;object-fit:contain}.shop-product-visual figcaption{padding:9px 19px}.shop-product-info{padding:25px 23px}.shop-product-info h2{font-size:33px}.shop-dialog{width:95vw;max-height:94dvh}.shop-drawer{width:min(570px,100vw);max-height:100dvh;padding:24px 20px}.shop-drawer-head h2{font-size:28px}.shop-buyline{gap:10px}.shop-buyline .shop-button{font-size:12px;padding:12px}.shop-toast{bottom:20px;font-size:12px}.boutique-page .mobile-contact-bar{display:none}.shop-form-grid{grid-template-columns:1fr}.shop-form-grid>.wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.shop-button,.shop-card-media img{transition:none}.shop-button:focus-visible{transform:none}@media (hover:hover) and (pointer:fine){.shop-button:hover,.shop-card-media:hover img{transform:none}}}

/* Choix précis, images fidèles et accès direct au panier. */
html:has(.boutique-page){scroll-behavior:auto}
.boutique-page .header-cta{font-family:inherit;cursor:pointer}
.boutique-page .back-top{display:inline-block}
.shop-main{padding-bottom:100px}
.shop-eyebrow,.shop-product-info .shop-eyebrow{font-size:11px}
.shop-card-label{font-size:11px}.shop-card-label span:last-child{font-size:12px}
.shop-card-detail{font-size:12px;color:#5d5d5d;margin:0 0 12px}
.shop-card-description,.shop-card-price,.shop-service p{font-size:13px}
.shop-card .shop-button{font-size:13px;min-height:46px}
.shop-card-media .shop-image-credit{font-size:11px}
.shop-filter-list button{font-size:13px;min-height:42px}
.shop-filter-list button span,.shop-filters legend,.shop-reset{font-size:12px}
.shop-result-line,.shop-footnote{font-size:12px}
.shop-filter-toggle{display:none}
.shop-text-button{display:block;border:0;background:none;padding:10px 0;color:#4b4b4b;text-decoration:underline;text-underline-offset:5px;font:inherit;font-size:13px}
.shop-empty .shop-text-button{margin:14px auto 0}
.shop-floating-cart{position:fixed;right:25px;bottom:22px;z-index:40;background:#3b3b3b;color:#fff;border-color:#3b3b3b;box-shadow:0 6px 24px #1d1d1d26;font-size:14px}
.shop-floating-cart .shop-count{background:#e4e4e4;color:#2d2d2d}
.shop-floating-cart[hidden]{display:none!important}
.shop-shopping-help{display:grid;grid-template-columns:.75fr 1.5fr;gap:50px;padding:38px 0;border-bottom:1px solid var(--line)}
.shop-shopping-help h2{font-size:32px;letter-spacing:-.04em}
.shop-shopping-help details{border-bottom:1px solid var(--line)}
.shop-shopping-help details:last-child{border-bottom:0}
.shop-shopping-help summary{font-size:14px;padding:18px 0;cursor:pointer}
.shop-shopping-help p{font-size:13px;color:#5c5c5c;margin:0 0 20px}
.shop-shopping-help a,.shop-direct-contact a,.shop-request-preview .shop-micro a{text-decoration:underline;text-underline-offset:3px}
.shop-gallery{min-width:0;align-self:start;position:sticky;top:0;background:#e2e2e2}
.shop-product-visual{min-height:0}
#shop-zoom-image{position:relative;display:block;width:100%;border:0;padding:25px 20px 40px;background:transparent;cursor:zoom-in}
.shop-product-visual img{display:block;height:auto;max-height:500px;aspect-ratio:1;object-fit:contain}
.shop-zoom-label{position:absolute;bottom:12px;right:18px;font-size:12px;color:#4d4d4d}
.shop-product-visual figcaption{font-size:12px;padding:12px 23px 18px}
#shop-image-missing{display:grid;place-items:center;min-height:360px;padding:50px;color:#696969;text-align:center;font-size:15px}
.shop-thumbnails{display:flex;gap:10px;padding:0 20px 20px;flex-wrap:wrap}
.shop-thumbnails:empty{display:none}
.shop-thumbnails button{border:1px solid #b5b5b5;background:#f8f8f8;padding:3px;width:76px;height:76px;cursor:pointer}
.shop-thumbnails button[aria-pressed=true]{border:2px solid #565656;padding:2px}
.shop-thumbnails img{width:100%;height:100%;object-fit:contain}
.shop-product-info>p,.shop-product-info ul{font-size:14px}
.shop-dialog .shop-close{position:sticky;top:12px;right:auto;margin:12px 12px -52px auto}
.shop-photo-dialog .shop-close{margin-top:-40px;margin-bottom:0}
.shop-product-info h2{font-size:34px}
.shop-config label,.shop-config select{font-size:13px}
.shop-micro{font-size:12px!important}
.shop-config .shop-price{margin-top:14px}
.shop-product-info .shop-text-button{margin-top:10px}
.shop-specs-section{margin-top:30px}
.shop-specs-section h3{font-size:19px;letter-spacing:-.03em;font-weight:500;margin:0 0 14px}
.shop-specs{margin:0;font-size:13px}
.shop-specs>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;padding:12px 0;border-top:1px solid #cacaca}
.shop-specs dt{color:#646464}.shop-specs dd{margin:0;overflow-wrap:anywhere}
.shop-comparison{border-top:1px solid #c4c4c4;border-bottom:1px solid #c4c4c4;margin-top:22px}
.shop-comparison summary{font-size:13px;padding:15px 0;cursor:pointer}
.shop-comparison table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px}
.shop-comparison caption{text-align:left;color:#686868;padding:0 0 12px}
.shop-comparison th,.shop-comparison td{text-align:left;vertical-align:top;padding:10px 7px;border-top:1px solid #cacaca;font-weight:400;overflow-wrap:anywhere}
.shop-comparison th:first-child{width:26%}
.shop-comparison thead th{font-weight:600}
.shop-comparison button{font-size:12px;background:none;border:0;border-bottom:1px solid #868686;padding:0;text-align:left}
.shop-comparison .is-selected{background:#e1e1e1}
.shop-documents{display:grid;gap:12px;margin-top:22px;justify-items:start}
.shop-source-link{font-size:12px;overflow-wrap:anywhere}
.shop-photo-dialog{width:min(1150px,96vw);background:#f4f4f4;padding:55px 25px 20px}
.shop-photo-dialog figure{margin:0;text-align:center}
.shop-photo-dialog img{max-width:100%;max-height:75dvh;object-fit:contain}
.shop-photo-dialog figcaption{font-size:13px;margin-top:12px}
.shop-cart-photo{width:85px;height:100px;border:0;padding:0;background:#e1e1e1}
.shop-cart-photo img{display:block;width:100%;height:100%}
.shop-cart-no-photo{display:block;padding:8px;font-size:12px;color:#656565}
.shop-cart-line h3 button{border:0;padding:0;background:none;text-align:left;font:inherit;letter-spacing:inherit;color:inherit}
@media (hover:hover) and (pointer:fine){.shop-cart-line h3 button:hover{text-decoration:underline;text-underline-offset:3px}}
.shop-cart-line p,.shop-cart-line .shop-eyebrow{font-size:12px}
.shop-cart-line-tools{gap:12px;justify-content:start;flex-wrap:wrap}
.shop-cart-edit,.shop-cart-remove{background:none;border:0;border-bottom:1px solid #afafaf;font-size:12px;color:#4d4d4d;padding:6px 0}
.shop-cart-line .shop-qty button{min-height:40px;width:32px}
.shop-cart-line .shop-qty input{width:32px}
.shop-cart-summary>div{flex-wrap:wrap;font-size:14px}
.shop-cart-summary p,.shop-drawer-head p,.shop-form>p,.shop-request-preview p{font-size:13px}
.shop-error{font-size:13px}
.shop-form textarea[aria-invalid=true]{border-color:#9b4933}
.shop-form label,.shop-form input,.shop-form textarea,.shop-form select{font-size:14px}
.shop-optional{margin:20px 0;border-top:1px solid #cacaca;border-bottom:1px solid #cacaca}
.shop-optional summary{font-size:13px;cursor:pointer;padding:16px 0}
.shop-optional .shop-form-grid{padding:0 0 18px}
.shop-question-context{padding:15px;background:#e1e1e1;color:#3e3e3e!important}
.shop-direct-contact{border-top:1px solid #cacaca;font-size:13px;line-height:1.8;margin-top:20px;padding-top:18px}
.shop-direct-contact a{white-space:nowrap}
.shop-request-preview textarea{font-size:13px}
.shop-buyline .shop-button{min-height:48px}
.shop-cart-summary .shop-button,.shop-buyline .shop-button{font-size:13px}
.shop-config select:disabled{opacity:1;color:#2d2d2d;background:#e8e8e8}
.shop-main button:focus-visible,.shop-dialog button:focus-visible,.shop-main input:focus-visible,.shop-dialog input:focus-visible,.shop-dialog textarea:focus-visible,.shop-dialog select:focus-visible{outline:2px solid #646464;outline-offset:3px}
@media(max-width:760px){
  .shop-main{padding-top:14px;padding-bottom:96px}
  .shop-topline{font-size:12px;margin-bottom:14px}
  .shop-hero{grid-template-columns:minmax(0,1fr) 30%;min-height:0}
  .shop-hero-copy{padding:24px 20px}
  .shop-hero h1{font-size:34px;margin:0 0 12px}
  .shop-hero-copy>p:not(.shop-eyebrow){font-size:13px;line-height:1.6;margin-bottom:0}
  .shop-hero-copy>a{display:none}
  .shop-hero .shop-eyebrow{font-size:10px;margin-bottom:11px;letter-spacing:.08em}
  .shop-hero-photo{height:auto;min-height:100%}
  .shop-hero-photo>figcaption{display:none}
  .shop-brands{padding:14px 0;margin-bottom:22px}
  .shop-catalog-heading{margin-bottom:16px}
  .shop-catalog-heading h2{font-size:28px}
  .shop-catalog-heading>p{font-size:13px;margin-top:8px}
  .shop-catalog-heading>p br{display:none}
  .shop-tools{grid-template-columns:minmax(0,1fr) 142px;gap:9px;margin-bottom:12px}
  .shop-tools input,.shop-tools select{font-size:13px;height:48px}
  .shop-filter-toggle{display:flex;width:100%;justify-content:space-between;gap:10px;align-items:center;border:1px solid #c5c5c5;background:#e5e5e5;color:#2d2d2d;padding:11px 14px;font-size:14px;margin-bottom:16px;border-radius:2px}
  .shop-filter-toggle #shop-filter-count{margin-right:auto}
  .shop-filters{display:none}
  .shop-filters.is-expanded{display:grid}
  .shop-filter-list button{font-size:13px;min-height:44px;padding:9px 12px}
  .shop-filters legend{font-size:12px}
  .shop-grid{gap:20px 14px}
  .shop-card-copy{padding:18px}
  .shop-card-label{font-size:12px;display:flex}
  .shop-card-label span:last-child{font-size:12px;text-align:right;margin:0}
  .shop-card-description{font-size:14px;line-height:1.65}
  .shop-card h3{font-size:24px}
  .shop-card-detail,.shop-card-price{font-size:13px}
  .shop-card-media .shop-image-credit{font-size:11px}
  .shop-result-line{font-size:12px}
  .shop-floating-cart{right:16px;bottom:max(15px,env(safe-area-inset-bottom));min-height:48px;font-size:14px}
  .shop-shopping-help{grid-template-columns:1fr;gap:14px;padding:28px 0}
  .shop-shopping-help h2{font-size:28px}
  .shop-shopping-help summary,.shop-shopping-help p{font-size:14px}
  .shop-gallery{position:static}
  #shop-zoom-image{padding:24px 20px 30px}
  .shop-product-visual img{height:250px;aspect-ratio:auto}
  .shop-product-visual figcaption{font-size:12px}
  .shop-product-info{padding:25px 20px}
  .shop-product-info h2{font-size:30px}
  .shop-buyline{flex-wrap:wrap}
  .shop-buyline .shop-button{flex-basis:180px}
  .shop-thumbnails button{height:65px;width:65px}
  #shop-image-missing{min-height:220px}
  .shop-form-grid{grid-template-columns:1fr}
  .shop-form input,.shop-form select,.shop-form textarea{font-size:16px}
  .shop-toast{bottom:80px}
  .shop-drawer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:480px){
  .shop-hero{grid-template-columns:1fr}
  .shop-hero-photo{display:none}
  .shop-hero h1{font-size:35px}
  .shop-hero h1 span{display:inline}
  .shop-hero h1 span::before{content:" "}
  
  .shop-card-media{aspect-ratio:1.25}
  .shop-tools{grid-template-columns:minmax(0,1fr) 130px}
}

/* Boutique sobre : surfaces neutres, photos en situation et grille alignée. */
.boutique-page{--paper:#f7f7f7;--ink:#292929;--line:#d5d5d5;--cream:#f7f7f7;--sand:#ededed;--sand-deep:#e2e2e2;--warm-muted:#666;background:#f7f7f7;color:#292929}
.boutique-page .shop-topline{margin-bottom:18px}
.boutique-page .shop-cart-trigger:not(.shop-floating-cart){background:#ffffff;border-color:#d3d3d3}
.boutique-page .shop-hero{grid-template-columns:.9fr 1.1fr;min-height:410px;background:#ededed;border-radius:3px;overflow:hidden}
.boutique-page .shop-hero-copy{padding:40px 10%}
.boutique-page .shop-hero .shop-eyebrow{color:#545454;letter-spacing:.11em}
.boutique-page .shop-hero h1{font-size:clamp(40px,4.4vw,66px);line-height:1.08;letter-spacing:-.055em;margin-bottom:22px}
.boutique-page .shop-hero h1 span{display:block}
.boutique-page .shop-hero h1 span::before{content:none}
.boutique-page .shop-hero-copy>p:not(.shop-eyebrow){font-size:15px;line-height:1.8;color:#525252;margin-bottom:26px;max-width:370px}
.boutique-page .shop-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.boutique-page .shop-hero-actions .shop-button{min-height:50px;padding:13px 20px;font-size:14px}
.boutique-page .shop-hero-actions .shop-text-button{font-size:13px;color:#3f3f3f;text-align:left}
.boutique-page .shop-hero-photo{min-height:410px}
.boutique-page .shop-hero-photo>img{object-position:52% 55%}
.boutique-page .shop-hero-photo>figcaption{left:0;bottom:0;width:100%;padding:45px 24px 20px;background:linear-gradient(transparent,#171717c9);font-size:11px;letter-spacing:.025em;text-shadow:none}
.boutique-page .shop-brands{padding:22px 0;margin-bottom:32px;border-color:#cdcdcd}
.boutique-page .shop-catalog-heading{align-items:center;gap:25px}
.boutique-page .shop-catalog-heading h2{font-size:clamp(28px,2.7vw,38px);line-height:1.15}
.boutique-page .shop-catalog-heading>div>p{font-size:14px;color:#646464;margin:12px 0 0;line-height:1.7}
.boutique-page .shop-catalog-heading>p{font-size:12px;flex-shrink:0;color:#595959;line-height:1.8}
.boutique-page .shop-tools input,.boutique-page .shop-tools select{background:#ffffff;border-color:#c5c5c5;border-radius:5px}
.boutique-page .shop-filter-list button{border-radius:4px}
.boutique-page .shop-filter-list button[aria-pressed=true]{background:#e4e4e4;border-color:#c6c6c6;color:#3d3d3d}
.boutique-page .shop-card{background:#ffffff;border:1px solid #dedede;border-radius:3px;box-shadow:0 3px 12px #58585807}
.boutique-page .shop-card-media{background:#f1f1f1;aspect-ratio:1.1;border-radius:5px 5px 0 0}
.boutique-page .shop-card.has-ambience .shop-card-media{background:#e7e7e7}
.boutique-page .shop-card-media .shop-image-credit{background:#ffffffeb;color:#585858;border-radius:2px;font-size:10px;padding:5px 8px}
.boutique-page .shop-card-copy{padding:22px}
.boutique-page .shop-card-label{color:#565656}
.boutique-page .shop-card-label span:last-child,.boutique-page .shop-card-description{color:#5e5e5e}
.boutique-page .shop-card h3{font-size:23px;margin-bottom:10px;line-height:1.25}
.boutique-page .shop-card-bottom{border-color:#c8c8c8;gap:14px}
.boutique-page .shop-card .shop-button{min-height:46px}
.boutique-page .shop-service{background:#f0f0f0;border:0;border-radius:3px;padding:28px;margin-top:40px;gap:26px}
.boutique-page .shop-service svg{box-sizing:content-box;background:#f5f5f5;border-radius:50%;padding:10px;width:22px;height:22px;stroke:#6c6c6c;margin-top:0}
.boutique-page .shop-service h3{font-size:15px;line-height:1.5}
.boutique-page .shop-service p{color:#5c5c5c;line-height:1.75}
.boutique-page .shop-shopping-help{border-bottom:0;padding:32px 0}
.boutique-page .shop-advice{display:grid;grid-template-columns:.8fr 1.2fr;gap:0;padding:0;margin-top:10px;align-items:stretch;background:#ededed;border-radius:3px;overflow:hidden}
.boutique-page .shop-advice>figure{position:relative;margin:0;min-height:330px}
.boutique-page .shop-advice>figure>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.boutique-page .shop-advice figcaption{position:absolute;left:0;bottom:0;width:100%;color:#fff;padding:40px 22px 18px;background:linear-gradient(transparent,#191919bf);font-size:11px}
.boutique-page .shop-advice-copy{padding:40px 8%;align-self:center}
.boutique-page .shop-advice-copy .shop-eyebrow{margin:0 0 15px;font-size:11px;color:#5e5e5e}
.boutique-page .shop-advice h2{font-size:clamp(30px,3vw,42px);line-height:1.2}
.boutique-page .shop-advice-copy>p:not(.shop-eyebrow){font-size:14px;color:#525252;line-height:1.8}
.boutique-page .shop-advice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 25px;margin-top:24px}
.boutique-page .shop-advice .shop-button{margin:0}
.boutique-page .shop-advice-actions>a{font-size:16px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}
.boutique-page .shop-advice-copy>.shop-advice-address{font-size:12px!important;margin-top:22px}
.boutique-page .shop-dialog{background:#fafafa;border-color:#c9c9c9}
.boutique-page #shop-product-dialog{border-radius:8px}
.boutique-page .shop-gallery{background:#ebebeb}
.boutique-page #shop-zoom-image.has-ambience{padding:0}
.boutique-page #shop-zoom-image.has-ambience img{aspect-ratio:4/5;max-height:580px;object-fit:contain}
.boutique-page #shop-zoom-image.has-ambience .shop-zoom-label{background:#fafafaed;padding:6px 10px;border-radius:3px}
.boutique-page .shop-product-visual figcaption{color:#585858}
.boutique-page .shop-thumbnails button{border-radius:4px;border-color:#b5b5b5;overflow:hidden}
.boutique-page .shop-thumbnails button[aria-pressed=true]{border-color:#646464}
.boutique-page .shop-product-info{padding:40px 28px}
.boutique-page .shop-config{padding:21px 19px;background:#f0f0f0;border:1px solid #dedede;border-radius:3px;margin-top:22px}
.boutique-page .shop-config .shop-micro{color:#5b5b5b}
.boutique-page .shop-product-info .shop-text-button{color:#444444}
.boutique-page .shop-dialog .shop-close{background:#fafafaf2;border-color:#b5b5b5;box-shadow:0 2px 10px #2c2c2c20}
.boutique-page .shop-drawer-head{background:#f0f0f0;margin:-9px -10px 22px;padding:20px 55px 20px 20px;border:0;border-radius:5px}
.boutique-page .shop-cart-summary{border-radius:3px;background:#ffffff;margin-top:18px;padding:22px}
@media(max-width:1100px){
  .boutique-page .shop-hero-copy{padding:34px 8%}
  .boutique-page .shop-hero,.boutique-page .shop-hero-photo{min-height:390px}
  .boutique-page .shop-catalog-heading{align-items:start}
  .boutique-page .shop-catalog-heading>p{max-width:220px}
  .boutique-page .shop-service{gap:20px;padding:22px}
  .boutique-page .shop-service article{display:block}
  .boutique-page .shop-service svg{margin-bottom:12px}
}
@media(max-width:760px){
  .boutique-page .shop-hero{grid-template-columns:1.15fr .85fr;min-height:0}
  .boutique-page .shop-hero-copy{padding:28px 22px}
  .boutique-page .shop-hero h1{font-size:38px;margin-bottom:15px}
  .boutique-page .shop-hero-copy>p:not(.shop-eyebrow){font-size:13px;line-height:1.7;margin-bottom:17px}
  .boutique-page .shop-hero-photo{display:block;min-height:0;height:auto}
  .boutique-page .shop-hero-photo>img{object-position:62% center}
  .boutique-page .shop-hero-photo>figcaption{display:block;padding:30px 14px 15px;font-size:10px}
  .boutique-page .shop-hero-actions{gap:5px}
  .boutique-page .shop-hero-actions .shop-button{min-height:44px;padding:10px 13px;font-size:12px}
  .boutique-page .shop-hero-actions .shop-text-button{font-size:12px}
  .boutique-page .shop-brands{padding:17px 0;margin-bottom:25px}
  .boutique-page .shop-catalog-heading>p{max-width:none;margin-top:14px}
  .boutique-page .shop-catalog-heading>div>p{font-size:13px;margin-top:8px}
  .boutique-page .shop-card-copy{padding:20px}
  .boutique-page .shop-service article{display:flex}
  .boutique-page .shop-service svg{margin-bottom:0}
  .boutique-page .shop-advice{grid-template-columns:1fr}
  .boutique-page .shop-advice>figure{min-height:0;height:210px}
  .boutique-page .shop-advice-copy{padding:27px}
  .boutique-page .shop-advice-actions{gap:18px;margin-top:20px}
  .boutique-page .shop-product-info{padding:26px 20px}
  .boutique-page #shop-zoom-image.has-ambience img{height:310px;aspect-ratio:auto}
  .boutique-page .shop-config{padding:18px 14px}
  .boutique-page .shop-buyline{gap:12px}
}
@media(max-width:480px){
  .boutique-page .shop-hero{grid-template-columns:1fr}
  .boutique-page .shop-hero-copy{padding:23px 22px}
  .boutique-page .shop-hero h1{font-size:36px}
  .boutique-page .shop-hero h1 span{display:block}
  .boutique-page .shop-hero h1 span::before{content:none}
  .boutique-page .shop-hero-photo{height:175px}
  .boutique-page .shop-hero-photo>img{object-position:center 54%}
  .boutique-page .shop-hero-actions{gap:16px}
  .boutique-page .shop-hero-actions .shop-text-button{font-size:11px}
  .boutique-page .shop-card-media{aspect-ratio:1.05}
  .boutique-page .shop-shopping-help{padding:25px 0}
}

/* Le pied de page suit la palette de cette page uniquement. */
.boutique-page footer{background:#ededed}
.boutique-page .footer-business a,.boutique-page .footer-top>p,.boutique-page .footer-bottom{color:#626262}
.boutique-page a:focus-visible{outline:2px solid #666;outline-offset:3px}

/* Catalogue complet */
.shop-pagination{text-align:center;padding:32px 0 12px}
.shop-pagination p{font-size:13px;color:#5e5e5e;margin:0 0 16px}
.shop-pagination .shop-button{min-width:220px}
.shop-card h3,.shop-card-description,.shop-specs dd{overflow-wrap:anywhere}

/* Navigation d’un catalogue étendu : le choix précède les références. */
.boutique-page .shop-hero,.boutique-page .shop-hero-photo{min-height:300px}
.boutique-page .shop-hero-copy{padding:30px 8%}
.boutique-page .shop-hero h1{font-size:clamp(34px,3.4vw,52px);margin-bottom:16px}
.boutique-page .shop-hero-copy>p:not(.shop-eyebrow){margin-bottom:18px}
.boutique-page .shop-brands{grid-template-columns:1fr repeat(6,1fr);gap:14px}
.boutique-page .shop-brands>a[data-shop-brand="CRÉALIGNE"]{font-size:clamp(14px,1.4vw,21px);letter-spacing:.03em}
.shop-type-switch{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:1px solid #ccc;padding-bottom:14px}
.shop-type-switch button{min-height:44px;padding:10px 16px;background:transparent;border:1px solid #b8b8b8;border-radius:4px;color:#4a4a4a;font-size:14px}
.shop-type-switch button[aria-pressed=true]{background:#3b3b3b;border-color:#3b3b3b;color:#fff}
@media (hover:hover) and (pointer:fine){.shop-type-switch button:hover{border-color:#333}}
/* Le bouton dédié remplace la croix d’effacement du navigateur. */
#shop-search::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
#shop-clear-search{position:absolute;right:5px;top:4px;width:44px;height:44px;background:#fff;border:0;border-radius:4px;color:#555;font-size:24px}
.shop-tools input{padding-right:50px}
.shop-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.shop-active-filters button{display:inline-flex;align-items:center;gap:14px;background:#ebebeb;border:1px solid #c4c4c4;border-radius:4px;padding:9px 12px;min-height:44px;color:#393939;font-size:13px;text-align:left}
.shop-active-filters button span{font-size:20px;line-height:1}
.shop-filter-list button:disabled{color:#777;background:transparent;cursor:default;opacity:.7}
@media (hover:hover) and (pointer:fine){.shop-filter-list button:disabled:hover{border-color:transparent}}
.shop-apply-filters{display:none}
.shop-family-group{margin-bottom:22px}
.shop-family-group label{display:block;font-size:12px;color:#555;margin-bottom:9px}
.shop-family-group select{width:100%;max-width:100%;min-height:44px;padding:8px;border:1px solid #aaa;background:#fff;color:#333;font-size:13px;border-radius:4px;text-overflow:ellipsis}
.boutique-page .shop-card-media{aspect-ratio:4/3;background:#f3f3f3}
.boutique-page .shop-card-media img{padding:14px;box-sizing:border-box}
.boutique-page .shop-card.has-ambience .shop-card-media img{padding:0}
.boutique-page .shop-card-copy{padding:18px}
.boutique-page .shop-card h3{font-size:21px}
.boutique-page .shop-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.65;font-size:14px;margin-bottom:18px}
.shop-card-detail{min-height:1.6em}
.shop-card-highlights{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:5px;font-size:13px;line-height:1.55;color:#454640;overflow-wrap:anywhere}
.shop-card-highlights span{font-weight:600}
.shop-persistence-note{padding:12px 14px;background:#ecece7;color:#3c3d37;border-left:3px solid #75786b;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#shop-selection-copy label{display:block;margin:12px 0 7px;font-size:13px}
#shop-selection-text{box-sizing:border-box;width:100%;padding:12px;font:inherit;font-size:13px;line-height:1.6;color:#333;background:#fff;border:1px solid #999;resize:vertical}
.shop-no-photo{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#626262;font-size:12px}
.shop-no-photo>span{font-size:22px;letter-spacing:.08em;color:#454545}
.shop-pack-note{padding:10px 0;border-top:1px solid #c5c5c5;border-bottom:1px solid #c5c5c5}
#shop-results{scroll-margin-top:130px}
.shop-product-info select{max-width:100%;text-overflow:ellipsis}
.shop-empty .shop-button{margin:8px}
@media(min-width:761px){
  .shop-filters{align-self:start;position:sticky;top:130px;max-height:calc(100dvh - 145px);overflow-y:auto;padding-right:6px;scrollbar-width:thin}
  .shop-filters fieldset{margin-bottom:20px}
}
@media(max-width:760px){
  .boutique-page .shop-hero,.boutique-page .shop-hero-photo{min-height:0}
  .boutique-page .shop-hero-copy{padding:24px}
  .boutique-page .shop-hero-photo{height:auto}
  .boutique-page .shop-brands{grid-template-columns:repeat(3,1fr);gap:8px 5px;padding:16px 0}
  .boutique-page .shop-brands>a{font-size:16px;letter-spacing:.02em;min-height:44px;display:grid;align-content:center}
  .boutique-page .shop-brands>a:nth-child(3){font-size:23px}
  .boutique-page .shop-brands>a[data-shop-brand="CRÉALIGNE"]{font-size:13px}
  .boutique-page .shop-brands>a:nth-child(3n+2){border-left:0}
  .shop-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:14px;margin-bottom:14px}
  .shop-type-switch button{padding:10px 8px;font-size:13px}
  .shop-type-switch button:last-child{grid-column:1/-1}
  .shop-apply-filters{display:flex;grid-column:1/-1;width:100%;margin:16px 0 4px}
  .shop-filters.is-expanded{padding:16px;background:#ededed;border:1px solid #ccc;margin-bottom:20px}
  .shop-filters .shop-reset{justify-self:start}
  .boutique-page .shop-grid{--shop-card-min:140px;gap:16px 12px}
  .boutique-page .shop-card h3{font-size:18px;line-height:1.35}
  .boutique-page .shop-card-copy{padding:14px}
  .shop-result-line{align-items:flex-start;flex-wrap:wrap;gap:6px}
  #shop-results{scroll-margin-top:105px}
}
@media(max-width:480px){
  .boutique-page .shop-hero-photo{display:none}
  .boutique-page .shop-hero h1{font-size:32px;line-height:1.15}
  .boutique-page .shop-hero h1 span{display:inline}
  .boutique-page .shop-hero h1 span:before{content:' '}
  .boutique-page .shop-hero-copy{padding:22px}
  .boutique-page .shop-catalog-heading h2{font-size:27px}
  .boutique-page .shop-card-copy{padding:12px}
  .boutique-page .shop-card h3{font-size:17px}
  .boutique-page .shop-card-label{display:block;font-size:11px;letter-spacing:.06em}
  .boutique-page .shop-card-label span:last-child{display:block;font-size:11px;text-align:left;margin-top:5px}
  .boutique-page .shop-card-description{display:none}
  .boutique-page .shop-card-detail{font-size:12px;line-height:1.5;margin-bottom:14px}
  .boutique-page .shop-card .shop-button{font-size:12px;padding:8px 6px;min-height:46px}
  .boutique-page .shop-card-price{font-size:12px}
  .shop-no-photo>span{font-size:16px}
  .shop-no-photo{font-size:11px}
  .boutique-page .shop-tools{grid-template-columns:1fr;gap:8px}
  .boutique-page .shop-tools select{height:44px}
}
@media(prefers-reduced-motion:reduce){.shop-card-media img,.shop-button{transition:none}@media (hover:hover) and (pointer:fine){.shop-card-media:hover img,.shop-button:hover{transform:none}}}

@media(max-width:760px){body:has(#shop-filters.is-expanded) .shop-floating-cart{display:none}}

/* A missing verified photograph keeps the product sheet compact. */
.shop-dialog.has-no-media{width:min(680px,95vw)}
.shop-dialog.has-no-media .shop-product-layout{grid-template-columns:minmax(0,1fr)}
.shop-dialog.has-no-media .shop-gallery{display:none}
.shop-dialog.has-no-media .shop-product-info{padding-top:52px}
.shop-cart-photo-note{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#595959;text-align:center}
.shop-cart-photo:has(.shop-cart-photo-note){height:auto}
.shop-cart-photo:has(.shop-cart-photo-note) img{height:100px}

/* Revue design 04/10/2026 : cartes courtes, une réserve de prix, ajout accessible sur mobile.
   « body.boutique-page » passe devant harmonisation.css, chargé après cette feuille. */
body.boutique-page .shop-card .shop-button::after{content:none}
body.boutique-page .shop-card-label{margin-bottom:6px}
body.boutique-page .shop-card-highlights,body.boutique-page .shop-card-detail{margin:0 0 10px;font-size:13px;line-height:1.5;min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body.boutique-page .shop-card-highlights li{display:inline}
body.boutique-page .shop-card .shop-availability{font-size:12px;line-height:1.45;margin:0 0 10px}
body.boutique-page .shop-card-price{font-size:14px;font-weight:600}
body.boutique-page .shop-new-label{font-size:12px}
/* Fiche : une ligne de réserve, le détail dans « Comment sont fixés les prix ? ». */
body.boutique-page .shop-offer-note{margin:2px 0 4px}
body.boutique-page .shop-dialog .shop-availability{font-size:12px;margin:0 0 6px;color:#555}
body.boutique-page .shop-price-help{margin:4px 0 2px;font-size:12px;color:#5b5b5b}
body.boutique-page .shop-price-help summary{cursor:pointer;display:inline-block;padding:6px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9b9b9b}
body.boutique-page .shop-price-help summary::-webkit-details-marker{display:none}
body.boutique-page .shop-price-help summary::marker{content:''}
body.boutique-page .shop-price-help p{margin:4px 0 8px;font-size:13px;line-height:1.6;color:#4f4f4f}
.shop-mobile-buybar{display:none}
/* Bouton « Mon panier » : ombre courte, masqué quand le pied de page est visible. */
body.boutique-page .shop-floating-cart{box-shadow:0 1px 4px #1d1d1d2e;transition:opacity .2s,visibility .2s}
body.boutique-page.is-shop-footer-visible .shop-floating-cart,body.boutique-page.is-shop-top-cart-visible .shop-floating-cart{opacity:0;visibility:hidden;pointer-events:none}
body.boutique-page .shop-main{padding-bottom:96px}
/* Lignes lisibles : environ 70 caractères au plus. */
body.boutique-page .shop-main p,body.boutique-page .shop-dialog p,body.boutique-page .shop-main summary{max-width:70ch}
/* Texte courant : 12 px au minimum (les crédits photo restent à 11 px). */
html body.boutique-page.boutique-page.boutique-page :is(.shop-eyebrow,.shop-card-label,.shop-card-label span,.shop-filters legend,.shop-filter-list button span,.shop-footnote,.shop-brands>span,.shop-topline,.shop-cart-line .shop-eyebrow,.shop-cart-line p,.shop-source-link,.shop-no-photo,.shop-hero-actions .shop-text-button,.shop-count,figcaption,.shop-filters span){font-size:12px}
html body.boutique-page.boutique-page.boutique-page :is(.shop-cart-photo-note,.shop-image-credit){font-size:11px}
@media(max-width:760px){
  body.boutique-page .shop-mobile-buybar{display:flex;position:sticky;bottom:0;z-index:3;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fafafa;border-top:1px solid #c9c9c9;transition:opacity .2s,visibility .2s}
  body.boutique-page .shop-mobile-buybar p{margin:0;font-size:15px;font-weight:600;line-height:1.3;color:#2d2d2d}
  body.boutique-page .shop-mobile-buybar .shop-button{min-height:48px;padding:10px 18px;font-size:14px;white-space:nowrap}
  body.boutique-page .shop-dialog.is-buyline-visible .shop-mobile-buybar{opacity:0;visibility:hidden}
  /* Le × reste fixé en haut à droite : le choix du modèle s'arrête avant lui. */
  body.boutique-page .shop-config select{max-width:calc(100% - 56px)}
  body.boutique-page .shop-product-info h2{padding-right:52px}
  /* Recherche plus tôt : en-tête compact, marques déjà proposées dans les filtres. */
  body.boutique-page .shop-hero-photo,body.boutique-page .shop-hero-actions,body.boutique-page .shop-brands{display:none}
  body.boutique-page .shop-hero{grid-template-columns:1fr;min-height:0}
  body.boutique-page .shop-hero-copy{padding:18px 20px}
  body.boutique-page .shop-hero h1{font-size:30px;margin-bottom:8px}
  body.boutique-page .shop-hero-copy>p:not(.shop-eyebrow){margin-bottom:0}
  body.boutique-page .shop-catalog{margin-top:20px}
  body.boutique-page .shop-floating-cart{box-shadow:0 1px 4px #1d1d1d2e}
}
/* Revue design 2026-10-05 */
/* 1. Photo produit : cadre 4:5 blanc, marge interne 5 %, packshot contenu ; le fond gris des finitions peu lisibles est conservé. Préfixe body : boutique.css précède harmonisation.css. */
body.boutique-page .shop-card-media{aspect-ratio:1;background:#fff}
body.boutique-page .shop-card-media img{padding:5%;object-fit:contain}
body.boutique-page .shop-card.has-light-frame .shop-card-media{padding:5%}
/* 2. En-tête du catalogue : une seule ligne discrète à droite. */
body.boutique-page .shop-catalog-heading>p{max-width:none;white-space:nowrap}
/* 4. Référence en fin de nom sur sa propre ligne. */
.shop-card-ref{display:block;font-size:.72em;letter-spacing:.02em;color:#6a6a6a;overflow-wrap:anywhere;margin-top:2px}
@media(max-width:760px){
/* 3. Onglets du catalogue : rangée défilante, « Tout le catalogue » ne passe plus seul sur une ligne. */
body.boutique-page .shop-type-switch{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:3px 3px 0;margin-inline:-3px}
body.boutique-page .shop-type-switch::-webkit-scrollbar{display:none}
body.boutique-page .shop-type-switch button{flex:0 0 auto}
body.boutique-page .shop-catalog-heading>p{white-space:normal}
}

/* Audit 06/10 : les trois onglets du catalogue restent visibles sur mobile, sur deux lignes de texte au besoin. */
@media(max-width:760px){
body.boutique-page .shop-type-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;white-space:normal;padding:3px 0 14px;margin-inline:0}
body.boutique-page .shop-type-switch button{grid-column:auto;white-space:normal;line-height:1.25;min-height:48px;padding:8px 6px;text-align:center}
}
/* E-mail long : « Copier le message » passe en premier. */
.shop-preview-actions.is-long-mail #shop-copy-request{order:-1}
/* Prix remisés (hors BORA et NOVY) : TTC remisé, TTC d'origine barré, pastille −20 %. */
.shop-price-now{font-weight:600;color:inherit}
.shop-price-before{color:#6f6a64;font-weight:400;font-size:.88em;text-decoration-thickness:1px}
.shop-discount{display:inline-block;background:#36523d;color:#fff;font-size:.78em;font-weight:600;line-height:1;padding:3px 6px;border-radius:3px;vertical-align:.08em;white-space:nowrap}
/* BORA et NOVY : demande de devis depuis la ligne du panier. */
.shop-cart-line .shop-quote-link{flex-basis:100%;text-align:center;text-decoration:none;font-size:11px;padding:10px 12px;min-height:40px;display:flex;align-items:center;justify-content:center}
.shop-cart-line-tools:has(.shop-quote-link){flex-wrap:wrap}


/* Photo agrandie : format naturel, centrage et fermeture sur le fond autour. */
body.boutique-page #shop-photo-dialog{width:max-content;max-width:92vw;max-height:82dvh;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
body.boutique-page #shop-photo-dialog figure{position:relative;width:max-content;max-width:92vw;margin:0}
body.boutique-page #shop-photo-dialog :is(#shop-large-image,.shop-light-photo){display:block;width:auto;height:min(82dvh,calc(92vw / var(--shop-photo-ratio,1)));max-width:92vw;max-height:82dvh;aspect-ratio:var(--shop-photo-ratio,1);object-fit:contain;object-position:center;margin:0 auto;padding:0;box-shadow:0 12px 55px #0005}
body.boutique-page #shop-photo-dialog .shop-light-photo{background:#b3b5af}
body.boutique-page #shop-photo-dialog #shop-large-image[hidden]{display:none}
body.boutique-page #shop-photo-dialog .shop-close{position:absolute;top:10px;right:10px;margin:0;background:#fafafaf2;z-index:2}
body.boutique-page #shop-photo-dialog figcaption.shop-sr{margin:0;padding:0}

/* Panier : prix remis et prix de référence, à l’unité et pour la quantité. */
.shop-cart-line [data-line-price]{display:block;margin-top:7px}
.shop-cart-line [data-line-price] .shop-price-now{color:var(--ink,#302c28);font-size:14px;font-weight:600}
.shop-cart-line [data-line-price] .shop-price-before{white-space:nowrap;margin-left:4px}
.shop-cart-line [data-line-price] .shop-discount{margin-left:5px}
.shop-cart-line-subtotal{display:block;margin-top:5px}
.shop-cart-unit{white-space:nowrap}

/* Bloc de contact de la boutique, sans photographie. */
html body.boutique-page .shop-advice.shop-advice-text-only{grid-template-columns:minmax(0,1fr)}
html body.boutique-page .shop-advice-text-only .shop-advice-copy{width:100%;max-width:850px;padding:clamp(30px,4vw,56px) clamp(26px,6vw,80px)}
