/* Ajouts commerciaux uniquement. La composition de l'accueil reste dans site.css. */
.nav .cart-nav{border-bottom:1px dashed currentColor}
.nav{flex-wrap:wrap}
.edition-buy{display:block;margin-top:10px;font:400 .875rem/1.4 var(--mono);text-underline-offset:4px}
.edition-buy:hover{background:var(--acid)}
.shop-header{background:var(--orange)}
.shop-header{color:var(--ink)}
.shop-header .site-header{border-bottom:0}
.shop-header .brand-note{max-width:190px}
.commerce-page{padding-top:32px;padding-bottom:76px;min-height:65vh;color:var(--light)}
.back-link{display:inline-block;margin-bottom:35px;font:400 .875rem/1.4 var(--mono)}
.zine-sheet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,6vw,110px);align-items:start}
.zine-portrait{margin:0;max-width:520px}
.zine-portrait>img{width:100%;height:auto;aspect-ratio:420/544;object-fit:contain}
.zine-portrait figcaption{border-top:1px solid var(--ink);padding-top:15px;margin-top:20px}
.zine-portrait figcaption a{font:400 .875rem/1.5 var(--mono)}
.zine-title{font:700 clamp(3rem,6.5vw,7rem)/.95 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:20px 0 27px;overflow-wrap:anywhere}
.zine-intro{max-width:480px;font-size:1.125rem}
.buy-sheet{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);padding-block:25px;margin-top:34px}
.demo-note{font:400 .875rem/1.5 var(--mono);border-left:4px solid var(--ink);padding:10px 13px;background:var(--acid);margin-bottom:23px;max-width:660px}
.product-price{font:400 2.1rem/1.2 var(--mono);margin-bottom:8px}
.product-stock{font:400 .875rem/1.5 var(--mono);margin-bottom:22px}
.commerce-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-bottom:20px}
.commerce-field label{font:400 .875rem/1.4 var(--mono)}
.commerce-page select,.commerce-page input{font:400 1rem/1.4 var(--mono);color:var(--light);border:1px solid var(--light);border-radius:0;background:#20211c;padding:12px;min-height:48px;max-width:100%}
.commerce-page select{width:100%}
.commerce-page :is(input,select):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.buy-row{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.buy-row .commerce-field{margin:0;width:95px}
.buy-row>.button{flex:1;min-width:190px}
.commerce-feedback{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
.commerce-feedback:not(:empty){margin-top:18px;padding:12px 0;border-top:1px dashed currentColor}
.commerce-error{font-weight:bold}
.cart-access{margin-top:18px;display:inline-block;font:400 .875rem/1.4 var(--mono)}
.commerce-fineprint{font-size:.875rem;line-height:1.5;margin-top:16px}
.shop-footer{border-top:1px solid var(--ink);padding-block:25px;font:400 .875rem/1.5 var(--mono);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cart-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:2px solid var(--ink);padding-bottom:26px;margin-bottom:26px}
.cart-heading h1{font:700 clamp(3.5rem,8vw,8rem)/.95 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);gap:clamp(25px,5vw,75px);align-items:start}
.cart-line{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--ink);padding:0 0 25px;margin:0 0 25px}
.cart-line img{width:100px;aspect-ratio:420/544;object-fit:contain}
.cart-line-title{font:700 1.8rem/1.1 var(--display);text-transform:uppercase;overflow-wrap:anywhere}
.cart-line-meta{font:400 .875rem/1.5 var(--mono);margin-top:8px}
.cart-line-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.quantity-control{display:flex;align-items:center}
.quantity-control button{width:44px;min-height:46px;background:none;border:1px solid var(--ink);font-size:1.4rem}
.quantity-control input{width:60px;min-height:46px;border-inline:0;text-align:center;padding:9px 2px;appearance:textfield;-moz-appearance:textfield}
.quantity-control input::-webkit-inner-spin-button{appearance:none}
.cart-remove{padding:10px 4px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;min-height:44px}
.cart-line-total{display:block;font:400 1rem/1.4 var(--mono);margin-top:15px}
.cart-receipt{background:var(--acid);color:var(--ink);border:1px solid var(--ink);padding:25px}
.cart-receipt h2{font:700 2.25rem/1 var(--display);text-transform:uppercase}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;border-block:1px dashed var(--ink);padding-block:22px;margin-block:25px 15px;font:400 1rem/1.4 var(--mono)}
.cart-total strong{font-size:1.6rem;font-weight:400}
.cart-receipt .button{margin-top:22px;width:100%;gap:15px}
.cart-empty{font-size:1.25rem;padding-block:30px}
.cart-empty a{display:block;width:fit-content;margin-top:20px;font:400 .875rem/1.4 var(--mono)}
.cart-notice{margin-bottom:24px;font-size:1rem;border-left:4px solid var(--orange);padding-left:14px}
.cart-reload{margin-top:14px;background:none;border:1px solid var(--ink);padding:10px 14px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-receipt{max-width:600px}.nav{gap:18px}}
@media(max-width:700px){.commerce-page{padding-block:25px 42px}.back-link{margin-bottom:25px}.zine-sheet{grid-template-columns:1fr;gap:30px}.zine-portrait{width:min(100%,390px);margin-inline:auto}.zine-title{font-size:clamp(3rem,12vw,5rem);margin-top:14px}.buy-sheet{margin-top:26px}.cart-heading{align-items:start;flex-direction:column;gap:18px}.cart-line{gap:17px;grid-template-columns:78px minmax(0,1fr)}.cart-line img{width:78px}.cart-line-title{font-size:1.5rem}.cart-receipt{padding:22px}.site-header{gap:10px}.nav{gap:14px}.nav a{font-size:.8rem}.nav .nav-contact{padding:10px 8px}}
@media(max-width:420px){.site-header{align-items:start}.site-header .nav{justify-content:flex-end;flex:1}.site-header .brand{flex-shrink:0}.cart-line{grid-template-columns:62px minmax(0,1fr);gap:13px}.cart-line img{width:62px}.cart-line-controls{gap:6px 12px}.buy-row>.button{min-width:165px;padding-inline:13px;gap:14px}.quantity-control input{width:52px}}
