.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.pcard{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}.pcard:hover{border-color:var(--bleu);transform:translateY(-4px)}.pcard-img{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--bleu-pale)}.pcard-img img{width:100%;height:100%;object-fit:cover}.pcard-badge{position:absolute;top:12px;left:12px;background:var(--bleu);color:#fff;font-family:var(--sans);font-weight:700;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px}.pcard-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}.pcard-name{font-family:var(--disp);font-size:1.1rem}.pcard-tag{font-size:.85rem;color:var(--gris)}.pcard-foot{display:flex;align-items:baseline;justify-content:space-between;margin-top:auto;gap:10px}.price-tag{font-family:var(--disp);font-weight:500;color:var(--encre)}.price-tag small{font-family:var(--sans);color:var(--gris);font-weight:400;font-size:.72rem;margin-left:4px}.stock-badge{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--bleu)}.stock-badge.low{color:var(--bleu-nuit);font-weight:700}.stock-badge.out{color:var(--gris)}@media(max-width:960px){.pgrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pgrid{grid-template-columns:1fr}}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--gris);padding:18px 0}.breadcrumb a{color:var(--gris);transition:color .2s}.breadcrumb a:hover{color:var(--bleu)}.breadcrumb .sep{color:var(--line)}.breadcrumb span:last-child{color:var(--encre)}.reassure{display:flex;flex-wrap:wrap;gap:28px;list-style:none;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.reassure li{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--encre)}.reassure .ic{width:20px;height:20px;color:var(--bleu)}@media(max-width:640px){.reassure{gap:16px;flex-direction:column}}.gallery{display:flex;flex-direction:column;gap:12px}.gallery-main{aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);background:var(--bleu-pale)}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumb{width:76px;height:76px;padding:0;border:1px solid var(--line);background:#fff;cursor:pointer;overflow:hidden;transition:border-color .2s}.thumb img{width:100%;height:100%;object-fit:cover}.thumb:hover{border-color:var(--bleu)}.thumb.on{border-color:var(--bleu);border-width:2px}.related{padding:64px 0}.related h2{font-weight:400;font-size:1.9rem;margin-bottom:28px}.shop-filters{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:32px}.shop-filters .chips{display:flex;flex-wrap:wrap;gap:10px}.chip{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.03em;color:var(--encre);background:#fff;border:1px solid var(--line);padding:9px 16px;cursor:pointer;transition:border-color .2s,background .2s,color .2s;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--bleu);color:var(--bleu)}.chip.on{background:var(--bleu);border-color:var(--bleu);color:#fff}.sort{display:flex;align-items:center;gap:10px}.sort select{font-family:var(--sans);font-size:.82rem;color:var(--encre);background:#fff;border:1px solid var(--line);border-radius:0;padding:10px 14px;cursor:pointer}.sort select:focus{outline:none;border-color:var(--bleu)}.product{padding:0 0 76px}.product-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.product-buy{display:flex;flex-direction:column;gap:16px}.product-origin{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bleu);font-weight:600}.product-origin .ic{width:16px;height:16px}.product h1{font-family:var(--disp);font-weight:400;font-size:clamp(1.8rem,3.2vw,2.6rem);color:var(--encre);line-height:1.1}.product-tagline{font-size:1rem;color:var(--gris)}.product-price{display:flex;align-items:baseline;gap:12px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-price .price-tag{font-size:1.7rem}.product-perlitre{font-size:.82rem;color:var(--gris);margin-top:6px}.product-actions{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap}.product-actions .add-cart{flex:1;min-width:200px}.qty{display:flex;align-items:stretch;border:1px solid var(--line)}.qty button{width:44px;background:#fff;border:none;color:var(--encre);font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s}.qty button:hover{background:var(--bleu);color:#fff}.qty input{width:48px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-family:var(--sans);font-size:.95rem;color:var(--encre)}.qty input:focus{outline:none}.product-desc{margin-top:8px;color:var(--encre);line-height:1.75}.product-desc p{white-space:pre-line}.product-desc h2,.product-desc h3{font-family:var(--disp);font-weight:400;margin:20px 0 10px}@media(max-width:860px){.product-top{grid-template-columns:1fr;gap:28px}}@media(max-width:640px){.product-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);margin:0 -20px;padding:14px 20px;z-index:20}}.auth-page{max-width:460px;margin:0 auto;padding-block:60px 90px}.auth-page h1{margin-bottom:28px}.auth-form{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--gris)}.auth-form input{border:1px solid var(--line);border-radius:0;padding:12px 14px;font-family:var(--sans)}.auth-form input:focus{border-color:var(--bleu);outline:none}.auth-form.magic{border-top:1px solid var(--line);padding-top:20px}.auth-error{color:var(--bleu-nuit);font-weight:600;margin-bottom:18px}.auth-ok{color:var(--bleu)}.auth-alt{color:var(--gris)}.auth-alt a{color:var(--bleu)}.cart-page{max-width:920px;margin:0 auto;padding-block:60px 90px}.cart-page h1{margin-bottom:28px}.cart-list{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line)}.cart-row{display:grid;grid-template-columns:72px 1fr auto auto auto;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-row img,.cart-noimg{width:72px;height:72px;object-fit:cover;background:var(--bleu-pale)}.cart-info{display:flex;flex-direction:column;gap:4px}.cart-info a{color:var(--encre);font-family:var(--disp);font-size:1.05rem;text-decoration:none}.cart-info a:hover{color:var(--bleu)}.cart-info span{font-size:.85rem;color:var(--gris)}.cart-qty{display:flex;align-items:stretch;border:1px solid var(--line)}.cart-qty button{width:38px;background:#fff;border:none;color:var(--encre);font-size:1.05rem;cursor:pointer;transition:background .2s,color .2s}.cart-qty button:hover{background:var(--bleu);color:#fff}.cart-qty input{width:44px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-family:var(--sans);font-size:.9rem;color:var(--encre)}.cart-qty input:focus{outline:none}.cart-line{font-family:var(--disp);font-weight:500;color:var(--encre);white-space:nowrap}.cart-remove{background:none;border:none;color:var(--gris);font-size:1rem;cursor:pointer;transition:color .2s;padding:6px}.cart-remove:hover{color:var(--bleu-nuit)}.cart-summary{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;font-size:1rem}.cart-summary strong{font-family:var(--disp);font-size:1.3rem;color:var(--encre)}.cart-checkout{margin-top:12px;width:100%;justify-content:center}.cart-empty{padding:40px 0;color:var(--gris)}.cart-empty a{color:var(--bleu)}@media(max-width:640px){.cart-row{grid-template-columns:56px 1fr auto;grid-template-areas:"img info remove" "qty qty line";row-gap:10px}.cart-row img,.cart-row .cart-noimg{grid-area:img;width:56px;height:56px}.cart-info{grid-area:info}.cart-remove{grid-area:remove}.cart-qty{grid-area:qty}.cart-line{grid-area:line;justify-self:end}}.checkout-page{padding-block:60px 90px}.checkout-page h1{margin-bottom:28px}.checkout-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}.checkout-form{display:flex;flex-direction:column;gap:14px}.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--gris)}.checkout-form input{border:1px solid var(--line);border-radius:0;padding:12px 14px;font-family:var(--sans)}.checkout-form input:focus{border-color:var(--bleu);outline:none}.checkout-form input[readonly]{background:var(--bleu-pale);color:var(--gris)}.mode-toggle{border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px}.mode-toggle legend{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--encre);padding:0 6px}.mode-toggle label{flex-direction:row;align-items:center;gap:10px;font-size:.95rem;color:var(--encre)}.address-fields{display:flex;flex-direction:column;gap:14px}.address-fields .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pay-note{font-size:.82rem;color:var(--gris)}.checkout-summary{border:1px solid var(--line);padding:24px}.sum-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.sum-list li{display:flex;justify-content:space-between;font-size:.9rem;color:var(--encre)}.sum-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--gris);padding:4px 0}.sum-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:14px;border-top:1px solid var(--line);font-weight:600}.sum-total strong{font-family:var(--disp);font-size:1.3rem;color:var(--encre)}.sum-hint{font-size:.8rem;color:var(--gris);margin-top:12px}@media(max-width:860px){.checkout-grid{grid-template-columns:1fr;gap:32px}}@media(max-width:480px){.address-fields .row{grid-template-columns:1fr}}.account-page{padding-block:50px 90px}.account-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:20px}.account-email{color:var(--gris)}.account-sub{font-weight:400;font-size:1.5rem;margin:30px 0 18px}.account-empty{color:var(--gris)}.orders{list-style:none;display:flex;flex-direction:column;gap:16px}.order-card{border:1px solid var(--line);padding:20px}.order-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.order-date{color:var(--gris);font-size:.9rem}.order-status{white-space:nowrap;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--bleu);border:1px solid var(--line);padding:4px 10px}.order-status.prete{color:#fff;background:var(--bleu);border-color:var(--bleu)}.order-status.ferme{color:var(--gris)}.order-suivi{color:var(--gris);font-size:.9rem;margin:-4px 0 14px}.order-link{display:inline-block;margin-top:12px;color:var(--bleu);font-size:.9rem}.order-items{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.9rem;border-top:1px solid var(--line);padding-top:12px}.order-items li{display:flex;justify-content:space-between}.order-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.merci-page{max-width:640px;margin:0 auto;padding-block:40px}.merci-ref{color:var(--gris);margin:-8px 0 24px}.merci-card{border:1px solid var(--line);padding:22px 24px;margin-bottom:18px}.merci-card h2{font-size:1.15rem;font-weight:500;margin:0 0 12px}.merci-card p{margin:0 0 6px}[hidden]{display:none!important}.tcard{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}.tcard-img{aspect-ratio:4/3;overflow:hidden;background:var(--bleu-pale)}.tcard-img img{width:100%;height:100%;object-fit:cover}.tcard-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.tcard-name{font-family:var(--disp);font-size:1.2rem;color:var(--encre)}.tcard-serves{font-size:.82rem;color:var(--bleu);font-weight:600}.tcard-tag{font-size:.88rem;color:var(--gris)}.tcard-price{font-family:var(--disp);font-size:1.3rem;color:var(--encre);margin-top:auto}.tcard-price small{font-family:var(--sans);font-size:.78rem;color:var(--gris);font-weight:400}.tcard-avail{font-size:.78rem;color:var(--bleu-nuit);font-weight:600}.tcard-add{display:flex;align-items:flex-end;gap:10px;margin-top:6px}.tcard-qtylabel{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--gris)}.tcard-qtylabel input{width:90px;border:1px solid var(--line);padding:9px 10px;font-family:var(--sans);font-size:.9rem;color:var(--encre)}.tcard-qtylabel input:focus{outline:none;border-color:var(--bleu)}.tcard-btn{flex:1}.tbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bleu-nuit);color:#fff;padding:14px 24px;text-decoration:none}.tbar-cta{background:#fff;color:var(--bleu-nuit);font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;padding:10px 20px}.ct-cross{margin-top:48px;border-top:1px solid var(--line);padding-top:32px}.ct-cross h2{font-weight:500;font-size:1.5rem;margin-bottom:6px}.sum-rm{background:none;border:0;color:var(--gris);font-size:.72rem;cursor:pointer;margin-left:8px;text-decoration:underline}.sum-rm:hover{color:var(--bleu-nuit)}.rc{display:flex;flex-direction:column;gap:12px}.rc-titre{font-size:.9rem;color:var(--gris)}.rc-jours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.rc-jour,.rc-heure,.rc-suite{font-family:var(--sans);color:var(--encre);background:#fff;border:1px solid var(--line);border-radius:0;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.rc-jour{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px;min-width:0}.rc-nom{font-size:.76rem;font-weight:600;white-space:nowrap}.rc-q{font-size:.76rem;color:var(--gris);white-space:nowrap}.rc-heures{display:flex;flex-direction:column;gap:14px}.rc-heures[hidden]{display:none}.rc-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.rc-heure{padding:11px 0;font-size:.9rem;font-variant-numeric:tabular-nums}.rc-jour:hover,.rc-heure:hover{border-color:var(--bleu)}.rc-jour[aria-pressed=true],.rc-heure[aria-pressed=true]{background:var(--bleu);border-color:var(--bleu);color:#fff}.rc-jour[aria-pressed=true] .rc-q{color:#fff}.rc-jour:focus-visible,.rc-heure:focus-visible,.rc-suite:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}.rc-suite{align-self:flex-start;padding:9px 14px;font-size:.82rem}.rc-suite:hover{border-color:var(--bleu);color:var(--bleu)}.rc-choix{font-size:.95rem;color:var(--encre);font-weight:600}.rc-choix:empty{display:none}.rc-erreur{color:var(--bleu-nuit);font-weight:600;font-size:.9rem}.rc-vide{font-size:.9rem;color:var(--gris)}@media(max-width:560px){.rc-jours{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:360px){.rc-jours{grid-template-columns:repeat(3,minmax(0,1fr))}}
