/* alz-woo.css — compat WooCommerce dans le chrome Dawn. Généré par _wp/build_theme_dawn.py. */

/* toute image d'une page WooCommerce : jamais plus large que son conteneur (source du débordement mobile) */
.woocommerce img, .woocommerce-page img { max-width: 100%; height: auto; }

/* fiche produit : galerie + résumé côte à côte, empilés en mobile */
.woocommerce div.product { display: flex; flex-wrap: wrap; gap: 2.5rem; align-items: flex-start; }
.woocommerce div.product .woocommerce-product-gallery { flex: 1 1 48%; min-width: 300px; max-width: 100%; overflow: hidden; }
.woocommerce div.product .summary { flex: 1 1 44%; min-width: 300px; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { flex: 1 1 100%; }

/* grille boutique / collection : responsive, sans les floats WooCommerce */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem 1.5rem;
  list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product img { width: 100%; }

.woocommerce .price { font-weight: 600; }

/* pages de contenu importées (politiques, FAQ…) : les longues URL insécables des textes légaux
   débordent en mobile (un `<span>` de 427 px dans un `<p>` de 315 px, relevé au gate). On casse les mots. */
.rte, .main-page-content, .shopify-policy__body, #MainContent .page-width { overflow-wrap: break-word; word-break: break-word; }

@media (max-width: 749px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1.25rem 1rem; }
  .woocommerce div.product { gap: 1.25rem; }
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary { flex-basis: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   COLLECTION riche (archive-product.php) — look site fini : bandeau confiance + filtres + cartes Dawn.
   Catalogue plat $24.99 : badges SAVE% / étoiles = décoratifs (choix client). Orange marque = #c9590f.
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */
.alz-collection { --alz-orange:#c9590f; --alz-save:#5f7078; --alz-ink:#1f262d; --alz-line:rgba(0,0,0,.08); }
.alz-collection__wrap { max-width:1280px; margin:0 auto; padding:28px 20px 8px;
  display:grid; grid-template-columns:236px 1fr; gap:34px; align-items:start; }
.alz-collection__content { min-width:0; }
.alz-collection__head { display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--alz-line); }
.alz-collection__title { font-family:var(--font-heading-family,serif); font-size:4.2rem; margin:0; color:var(--alz-ink); }
.alz-collection__sort .orderby, .alz-collection__sort select { font-size:1.312rem; padding:.4em 1.8em .4em .6em; }
.alz-collection form.woocommerce-ordering { margin:0; }

/* ── barre latérale de filtres ─────────────────────────────────────────────────────────────────── */
.alz-facets { position:sticky; top:16px; font-size:1.44rem; }
.alz-facets__toggle { display:none; }
.alz-facets > .alz-facets__body { display:block; }
.alz-facets__head { text-transform:uppercase; letter-spacing:.08em; font-size:1.152rem; font-weight:700;
  color:#8a8f94; padding-bottom:10px; margin-bottom:6px; border-bottom:1px solid var(--alz-line); }
.alz-facet { border-bottom:1px solid var(--alz-line); padding:4px 0; }
.alz-facet__summary { list-style:none; cursor:pointer; font-weight:600; color:var(--alz-ink);
  padding:12px 2px; display:flex; align-items:center; justify-content:space-between; }
.alz-facet__summary::-webkit-details-marker { display:none; }
.alz-facet__summary::after { content:"+"; font-weight:400; font-size:1.84rem; color:#9aa0a5; }
.alz-facet[open] .alz-facet__summary::after { content:"–"; }
.alz-facet__list { list-style:none; margin:0 0 10px; padding:0; }
.alz-facet__list li { margin:0; }
.alz-facet__link { display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:7px 2px; color:#4a5560; text-decoration:none; }
.alz-facet__link:hover { color:var(--alz-orange); }
.alz-facet__link.is-active { color:var(--alz-orange); font-weight:600; }
.alz-facet__count { color:#9aa0a5; font-size:1.28rem; }

/* ── grille de cartes ──────────────────────────────────────────────────────────────────────────── */
.alz-collection ul.products, .alz-collection .products { display:grid; grid-template-columns:repeat(3,1fr);
  gap:30px 22px; list-style:none; margin:0; padding:0; }
.alz-collection ul.products::before, .alz-collection ul.products::after { content:none; display:none; }
li.alz-card { width:auto!important; margin:0!important; float:none!important; display:flex; flex-direction:column;
  text-align:center; }
.alz-card__media { position:relative; display:block; background:#f3f1ee; border-radius:14px; overflow:hidden;
  aspect-ratio:1/1; }
.alz-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.alz-card__save { position:absolute; top:14px; right:14px; background:var(--alz-save); color:#fff;
  font-size:1.184rem; font-weight:700; letter-spacing:.1em; padding:7px 13px; border-radius:7px; z-index:2;
  text-transform:uppercase; box-shadow:0 1px 3px rgba(0,0,0,.12); }
.alz-card__body { display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px 6px 0; }
.alz-card__rating { display:flex; align-items:center; gap:7px; font-size:1.312rem; }
.alz-card__stars { color:var(--alz-orange); letter-spacing:2px; font-size:1.6rem; }
.alz-card__raters { color:#8a8f94; text-decoration:underline; text-underline-offset:2px; }
.alz-card__eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:1.152rem; font-weight:700;
  color:#8a8f94; margin:0; }
.alz-card__title { font-family:var(--font-heading-family,serif); font-size:2.08rem; line-height:1.22;
  font-weight:700; margin:0; color:var(--alz-ink); }
.alz-card__title a { color:inherit; text-decoration:none; }
.alz-card__title a:hover { color:var(--alz-orange); }
.alz-card__price { font-weight:600; color:var(--alz-ink); font-size:1.632rem; margin:4px 0 6px; }
.alz-card__price .price, .alz-card__price .amount { font-weight:600; }
.alz-card__price del { color:#adb2b6; font-weight:400; margin-right:.35em; }
li.alz-card .alz-card__atc, li.alz-card a.button, li.alz-card .added_to_cart {
  display:block; width:100%; margin:8px 0 0; padding:1em 1em; background:var(--alz-orange); color:#fff;
  border:none; border-radius:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  font-size:1.376rem; text-align:center; text-decoration:none; cursor:pointer; line-height:1; }
li.alz-card .alz-card__atc:hover, li.alz-card a.button:hover { background:#b34d0b; }
li.alz-card .added_to_cart { background:#5f6f66; margin-top:6px; }

/* ── bande témoignages ─────────────────────────────────────────────────────────────────────────── */
.alz-transform { max-width:1280px; margin:34px auto 8px; padding:34px 20px; text-align:center; }
.alz-transform__title { font-family:var(--font-heading-family,serif); font-size:3.04rem; margin:0 0 4px; color:var(--alz-ink); }
.alz-transform__sub { color:#8a8f94; margin:0 0 22px; font-size:1.52rem; }
.alz-transform__track { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:10px; }
.alz-transform__slide { flex:0 0 min(420px,82%); scroll-snap-align:center; margin:0; }
.alz-transform__slide img { width:100%; height:auto; border-radius:14px; display:block; }

/* ── responsive ────────────────────────────────────────────────────────────────────────────────── */
@media (max-width:989px){
  .alz-collection__wrap { grid-template-columns:1fr; gap:8px; }
  .alz-facets { position:static; border:1px solid var(--alz-line); border-radius:12px; padding:8px 14px; margin-bottom:18px; }
  .alz-facets__toggle { display:flex; width:100%; align-items:center; justify-content:space-between; cursor:pointer;
    background:none; border:0; text-align:left; text-transform:uppercase; letter-spacing:.08em; font-weight:700;
    font-size:1.28rem; color:var(--alz-ink); padding:6px 2px; font-family:inherit; }
  .alz-facets__toggle::after { content:"+"; font-size:1.84rem; font-weight:400; color:#9aa0a5; }
  .alz-facets.is-open .alz-facets__toggle::after { content:"\2013"; }
  .alz-facets > .alz-facets__body { display:none; }
  .alz-facets.is-open > .alz-facets__body { display:block; margin-top:10px; }
  .alz-collection ul.products, .alz-collection .products { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:749px){
  .alz-collection ul.products, .alz-collection .products { grid-template-columns:repeat(2,1fr); gap:22px 14px; }
  .alz-collection__title { font-size:2.4rem; }
  .alz-transform__slide { flex-basis:88%; }
}

/* Fix débordement mobile : les polices Dawn agrandies ont poussé la largeur min-content des cartes ;
   sans min-width:0 les pistes grid `1fr` ne rétrécissent pas -> 2 colonnes > viewport. */
li.alz-card { min-width:0; }
li.alz-card .alz-card__rating { flex-wrap:wrap; }
li.alz-card .alz-card__title { overflow-wrap:break-word; word-break:break-word; }
li.alz-card .alz-card__atc, li.alz-card a.button { white-space:normal; }

.alz-collection__sort .woocommerce-ordering { margin:0; }
.alz-collection__sort select, .woocommerce-ordering select.orderby {
  font-family:"Mori","Instrument Sans",sans-serif; font-size:1.5rem; font-weight:500; color:var(--alz-ink);
  padding:.7em 2.4em .7em 1em; border:1px solid var(--alz-line); border-radius:10px; background-color:#fff;
  -webkit-appearance:none; appearance:none; cursor:pointer; line-height:1.2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231f262d' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1em center; }
.alz-collection__sort select:hover, .woocommerce-ordering select.orderby:hover { border-color:var(--alz-orange); }

/* ── Mini-panier WooCommerce injecté dans le tiroir Dawn (alz-cart.js) ─────────────────────── */
#CartDrawer-Form .alz-mc{padding:1.5rem 2rem 2rem}
.alz-mc .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.alz-mc .woocommerce-mini-cart-item{display:flex;align-items:flex-start;gap:1.2rem;padding:1.4rem 0;border-bottom:1px solid rgba(0,0,0,.08);position:relative}
.alz-mc .woocommerce-mini-cart-item img{width:64px;height:auto;border-radius:6px;flex:0 0 64px;margin:0}
.alz-mc .woocommerce-mini-cart-item a:not(.remove){color:inherit;text-decoration:none;font-weight:600;font-size:1.5rem;line-height:1.3;display:block}
.alz-mc .woocommerce-mini-cart-item .quantity{display:block;color:#5f7078;font-size:1.4rem;margin-top:.4rem}
.alz-mc a.remove{position:absolute;top:1.4rem;right:0;width:20px;height:20px;line-height:18px;text-align:center;border-radius:50%;background:#f0efe9;color:#1f262d!important;font-size:15px;text-decoration:none}
.alz-mc .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:center;margin:1.6rem 0;font-size:1.7rem;font-weight:700;border:0}
.alz-mc .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:1rem;margin:0}
.alz-mc .woocommerce-mini-cart__buttons a{display:block;text-align:center;padding:1.3rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:1.5rem}
.alz-mc .woocommerce-mini-cart__buttons a.checkout{background:#c65a12;color:#fff}
.alz-mc .woocommerce-mini-cart__buttons a:not(.checkout){background:#f0efe9;color:#1f262d}
.alz-mc .woocommerce-mini-cart__empty-message{padding:2rem 0;color:#5f7078}

/* ── PAGE PANIER (on-brand, comme le tiroir + les cartes) ──────────────────────────────────── */
.alz-cart .woocommerce{max-width:1180px;margin:0 auto;padding:3.5rem 2rem 6rem}
.alz-cart .woocommerce::after{content:"";display:table;clear:both}
.alz-cart .woocommerce-notices-wrapper{max-width:1180px;margin:0 auto;padding:0 2rem}
.alz-cart-head{text-align:center;margin:0 0 3.2rem}
.alz-cart-head h1{font-size:3.4rem;line-height:1.1;margin:0 0 .6rem}
.alz-cart-head p{color:#5f7078;font-size:1.5rem;margin:0}
@media(min-width:900px){
  .alz-cart form.woocommerce-cart-form{width:62%;float:left;margin:0}
  .alz-cart .cart-collaterals{width:34%;float:right}
  .alz-cart .cart-collaterals .cart_totals{width:100%!important;float:none;margin:0}
}
.alz-cart table.cart{border:0;margin:0;background:transparent}
.alz-cart table.cart thead{display:none}
.alz-cart table.cart tbody{display:block}
.alz-cart table.cart tr.cart_item{display:grid;grid-template-columns:96px 1fr auto;gap:1.6rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid rgba(0,0,0,.08)}
.alz-cart td.product-remove{grid-column:3;grid-row:1;justify-self:end}
.alz-cart td.product-thumbnail{grid-column:1;grid-row:1 / span 2;max-width:none;width:96px}
.alz-cart td.product-thumbnail img{width:96px!important;height:96px;object-fit:cover;border-radius:10px;display:block}
.alz-cart td.product-name{grid-column:2;grid-row:1;font-weight:600;font-size:1.6rem;text-align:left}
.alz-cart td.product-name a{color:inherit;text-decoration:none}
.alz-cart td.product-price{display:none}
.alz-cart td.product-quantity{grid-column:2;grid-row:2;justify-self:start;text-align:left}
.alz-cart td.product-subtotal{grid-column:3;grid-row:2;align-self:center;font-weight:700;text-align:right}
.alz-cart td.cart_item>*::before, .alz-cart td[data-title]::before{display:none!important}
.alz-cart .quantity input.qty{width:72px;padding:.7rem;border:1px solid rgba(0,0,0,.15);border-radius:8px;text-align:center;background:#fff}
.alz-cart a.remove{width:24px;height:24px;line-height:22px;border-radius:50%;background:#f0efe9;color:#1f262d!important;font-size:16px;text-align:center}
.alz-cart td.actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:2rem;border:0}
.alz-cart td.actions .coupon{display:flex;gap:.8rem}
.alz-cart .coupon input.input-text{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:.9rem 1.2rem;min-width:150px}
.alz-cart td.actions .button{background:#f0efe9;color:#1f262d;border-radius:999px;padding:1rem 2rem;font-weight:600;border:0}
.alz-cart td.actions .button:disabled{opacity:.5}
.alz-cart .cart_totals{background:#faf8f3;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:2.4rem}
.alz-cart .cart_totals h2{font-size:2.2rem;margin:0 0 1.4rem}
.alz-cart .cart_totals table{border:0;margin:0}
.alz-cart .cart_totals table th,.alz-cart .cart_totals table td{border:0;padding:.9rem 0;font-size:1.6rem}
.alz-cart .cart_totals .order-total th,.alz-cart .cart_totals .order-total .amount{font-size:2rem;font-weight:800}
.alz-cart .wc-proceed-to-checkout{padding:1.6rem 0 0}
.alz-cart .wc-proceed-to-checkout a.checkout-button{background:#c65a12!important;color:#fff!important;border-radius:999px;padding:1.5rem;font-size:1.6rem;font-weight:700;text-align:center;display:block}
.alz-cart .wc-proceed-to-checkout a.checkout-button:hover{opacity:.92}
.alz-cart-reassure{display:flex;gap:1.6rem;justify-content:center;margin-top:1.8rem;color:#5f7078;font-size:1.3rem;flex-wrap:wrap}
@media(max-width:600px){
  .alz-cart table.cart tr.cart_item{grid-template-columns:72px 1fr;gap:1.2rem;align-items:start}
  .alz-cart td.product-thumbnail{grid-column:1;grid-row:1 / span 3}
  .alz-cart td.product-thumbnail img{width:72px!important;height:72px}
  .alz-cart td.product-remove{grid-column:2;grid-row:1;justify-self:end}
  .alz-cart td.product-name{grid-column:2;grid-row:1;padding-right:3rem}
  .alz-cart td.product-quantity{grid-column:2;grid-row:2}
  .alz-cart td.product-subtotal{grid-column:2;grid-row:3;text-align:left;justify-self:start}
  .alz-cart td.actions{flex-direction:column;align-items:stretch}
  .alz-cart td.actions .coupon{flex-wrap:wrap}
}
@media(max-width:600px){
  .alz-cart table.cart tr.cart_item{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;grid-template-columns:none}
  .alz-cart td.product-thumbnail{order:1;width:64px;grid-row:auto;grid-column:auto}
  .alz-cart td.product-thumbnail img{width:64px!important;height:64px}
  .alz-cart td.product-name{order:2;flex:1;min-width:0;grid-row:auto;grid-column:auto}
  .alz-cart td.product-remove{order:3;grid-row:auto;grid-column:auto}
  .alz-cart td.product-quantity{order:4;flex-basis:100%;padding-left:74px;grid-row:auto;grid-column:auto}
  .alz-cart td.product-subtotal{order:5;flex-basis:100%;padding-left:74px;text-align:left;justify-self:start;grid-row:auto;grid-column:auto}
  .alz-cart td.product-price{display:none!important}
}
