/** Shopify CDN: Minification failed

Line 417:58 Unexpected "@app"

**/
/* ==========================================================================
   al-theme.css : socle Alunara V2 (maquette Claude Design, septembre 2026)
   Chargé après custom.css par snippets/style-tags.liquid.
   Jetons : encre #2B2723, accent #C48A5C, gris #8E8068 / #6F675C,
   filets #E5DCCB / #EDE5D8, beige de bloc #EFE9DF / #F7F3EC. Fond de page blanc.
   ========================================================================== */

:root {
  --al-ink: #2b2723;
  --al-accent: #c48a5c;
  --al-grey: #8e8068;
  --al-grey-dark: #6f675c;
  --al-taupe: #b5a78f;
  --al-line: #e5dccb;
  --al-line-soft: #ede5d8;
  --al-beige: #efe9df;
  --al-beige-soft: #f7f3ec;
  --al-radius: 4px;
  --al-radius-btn: 2px;
  --al-gutter: clamp(16px, 4vw, 48px);
}

/* --- Typographie ------------------------------------------------------- */
h1, h2, h3, .h1, .h2, .h3,
.m-section__heading, .m-product__title, .m-collection-page-header__title {
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.05;
  text-wrap: pretty;
}
h4, h5, h6, .h4, .h5, .h6 { font-weight: 500; }
h1 em, h2 em, h3 em, .m-section__heading em { font-style: italic; color: var(--al-grey); }

/* Sur-titre en capitales espacées (la maquette l'utilise partout) */
.al-eyebrow, .m-section__subheading {
  font-family: var(--font-stack-body);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--al-grey);
  font-weight: 400;
}

/* Liens soulignés fins des en-têtes de section */
.al-link, .m-section__header .m-button--link {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* --- Boutons ------------------------------------------------------------ */
.m-button {
  border-radius: var(--al-radius-btn);
  letter-spacing: 0.1em;
  font-size: 13px;
  padding-left: 28px;
  padding-right: 28px;
}
.m-button--primary { background: var(--al-ink); border-color: var(--al-ink); color: #fff; }
.m-button--primary:hover { background: var(--al-accent); border-color: var(--al-accent); color: #fff; }
.m-button--secondary, .m-button--outline { border-color: var(--al-ink); color: var(--al-ink); background: transparent; }
.m-button--secondary:hover, .m-button--outline:hover { background: var(--al-ink); color: #fff; }

/* --- Cartes produit ----------------------------------------------------- */
.m-product-card__media {
  background: #fff;
  border: 1px solid var(--al-line-soft);
  border-radius: var(--al-radius);
  overflow: hidden;
  transition: border-color var(--m-duration-default, .25s);
}
.m-product-card:hover .m-product-card__media { border-color: var(--al-accent); }
.m-product-card__content { padding-top: 14px; }
.m-product-card__title { margin: 0; }
.m-product-card__name {
  font-family: var(--font-stack-header);
  font-weight: 400;
  font-size: clamp(19px, 1.5vw, 23px);
  line-height: 1.15;
  -webkit-line-clamp: 2;
  margin-bottom: 4px;
}
.m-product-card__price { font-size: 14px; font-weight: 500; }
.m-product-card__reviews { font-size: 11px; color: var(--al-grey-dark); margin: 6px 0 0; }
.m-product-card__reviews .jdgm-star, .m-product-card__reviews .jdgm-prev-badge__stars { color: var(--al-accent); }
.m-product-card__tag-name.m-product-tag {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: var(--al-radius-btn);
  background: var(--al-ink);
  color: #faf6ef;
}

.m-product-card__action--top { display: none !important; }

/* --- Filets et fonds de bloc ------------------------------------------- */
.al-block { background: var(--al-beige); border-radius: var(--al-radius); }
.al-card { background: #fff; border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); }
.al-rule { border-top: 1px solid var(--al-line); }

/* --- Barre d'annonce ---------------------------------------------------- */
.m-announcement-bar, .m-annoucement-bar { font-size: 12px; letter-spacing: 0.08em; }

/* --- Formulaires -------------------------------------------------------- */
.al-input-line {
  border: 0; border-bottom: 1px solid var(--al-ink); background: transparent;
  padding: 14px 0; font-size: 15px; outline: none; border-radius: 0;
}

/* --- Header : une ligne, menu à gauche, logo + nom au centre, liens à droite --- */
.m-header__desktop.both-center .m-header__inner { display: flex; align-items: center; min-height: 82px; gap: 16px; }
.m-header__desktop.both-center .m-header__left, .m-header__desktop.both-center .m-header__right { flex: 0 0 auto; width: auto; min-width: 44px; }
.m-header__desktop.both-center .m-header__center { flex: 1 1 auto; width: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 0; }
.m-header__desktop.both-center .m-header__center .m-header__logo { flex: 0 0 auto; }
.m-header__desktop.both-center .m-header__center .m-menu-container { flex: 1 1 0; min-width: 0; }
.m-header__desktop.both-center .m-header__center .m-menu-container:last-child { display: flex; justify-content: flex-end; }
.m-header__desktop.both-center .m-menu { flex-wrap: nowrap; white-space: nowrap; gap: clamp(10px, 1.4vw, 26px); justify-content: flex-start; }
.m-header__desktop.both-center .m-header__center .m-menu-container:last-child .m-menu { justify-content: flex-end; }
.m-header__desktop.both-center .m-menu > li { margin: 0; }
.m-header__desktop.both-center .m-menu__link--main { padding-left: 0; padding-right: 0; }
.m-header__desktop.both-center .m-menu__link--main .m-menu__arrow { margin-left: 4px; }
.m-header__desktop.both-center .m-header__container { padding-left: var(--al-gutter); padding-right: var(--al-gutter); }
.m-header__desktop.both-center .m-header__center { gap: clamp(16px, 2vw, 40px); }
.m-header__logo .m-logo__image { display: inline-flex; align-items: center; gap: 10px; }
.m-header__logo .m-logo__image-default img { display: block; height: auto; width: 100%; }
.al-wordmark {
  font-family: var(--font-stack-header);
  font-size: 22px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; white-space: nowrap;
  color: var(--al-ink); line-height: 1;
}
.m-menu__link--main { font-family: var(--font-stack-body); font-size: 13px; letter-spacing: 0.04em; font-weight: 400; }
.m-menu__link--main:hover { color: var(--al-accent); }
.m-header__desktop .m-header__center > .m-menu-container:last-child .m-menu__link--main[href*="twoj-kamien"] { color: var(--al-accent); }
.m-cart-count-bubble, .m-cart-count, .m-mobile-sticky-bar .m-cart-count, .m-search-popup .m-cart-count { background: var(--al-accent) !important; color: #fff !important; }
.m-header { border-bottom: 1px solid var(--al-line); }
.m-announcement-bar { background: var(--al-ink); color: #f7f3ec; }
.m-announcement-bar__content { font-size: 12px; letter-spacing: 0.08em; }

/* Menu mobile : entrées en Cormorant, comme la maquette */
.m-menu-drawer .m-menu-mobile__link--main, .m-menu-drawer .m-menu__link--main {
  font-family: var(--font-stack-header); font-size: 28px; letter-spacing: 0; padding: 12px 0;
  border-bottom: 1px solid var(--al-line);
}

/* --- Footer : beige, 4 colonnes, ligne légale ---------------------------- */
.m-footer { background: var(--al-beige); color: var(--al-ink); }
.m-footer .m-footer--block-title { font-family: var(--font-stack-body); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--al-grey); font-weight: 400; margin-bottom: 10px; }
.m-footer .m-link-lists--item a, .m-footer .m-footer--block-content a { font-size: 13px; line-height: 2; color: var(--al-ink); }
.m-footer .m-link-lists--item a:hover { color: var(--al-accent); }
.m-footer .block-image img { mix-blend-mode: multiply; }
.m-footer .block-text { font-size: 13px; line-height: 1.6; color: var(--al-grey-dark); max-width: 240px; }
.m-footer--bottom { border-top: 1px solid var(--al-line); font-size: 11px; color: var(--al-grey); }
.m-footer--bottom .m-footer__copyright { font-size: 11px; color: var(--al-grey); }
.m-footer--bottom-menu .m-link { font-size: 11px; color: var(--al-grey); }

/* ==========================================================================
   Accueil A
   ========================================================================== */
/* En-tête de section : titre à gauche, lien souligné à droite */
.al-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.m-section__header { margin-bottom: 28px; }
.m-section__subheading { margin-bottom: 8px; }
.m-section__heading.h2 { font-size: clamp(32px, 3.6vw, 52px); }
.m-section__header .m-section__button .m-button--link { font-size: 13px; letter-spacing: 0.06em; border-bottom: 1px solid var(--al-ink); padding: 0 0 2px; }

/* Héros : photo pleine largeur, dégradé bas, texte en bas à gauche, boutons en bas à droite */
.al-hero .m-slide__media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(43,39,35,.82) 0%, rgba(43,39,35,.55) 35%, rgba(43,39,35,.15) 65%, rgba(43,39,35,0) 85%); }
.al-hero .m-slide__wrapper { padding: 0 var(--al-gutter) clamp(28px, 5vw, 64px); }
.al-hero .m-slide__content { max-width: none; width: 100%; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.al-hero .m-slide__subtitle { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 14px; }
.al-hero .m-slide__title { font-size: clamp(44px, 6vw, 88px) !important; line-height: .98; letter-spacing: -0.01em; text-shadow: 0 2px 24px rgba(43,39,35,.45); max-width: 560px; margin: 0; }
.al-hero .m-slide__description { max-width: 420px; font-size: clamp(14px, 1.1vw, 17px); line-height: 1.5; margin-top: 16px; }
.al-hero .m-slide__button { margin-top: 0; gap: 12px; }
.al-hero .m-slide__content > *:not(.m-slide__button) { flex: 1 1 100%; }
@media (min-width: 1024px) {
  .al-hero .m-slide__content { display: grid; grid-template-columns: minmax(0, 560px) auto; grid-template-areas: "sub sub" "title btn" "desc btn"; align-items: end; }
  .al-hero .m-slide__subtitle { grid-area: sub; }
  .al-hero .m-slide__title { grid-area: title; }
  .al-hero .m-slide__description { grid-area: desc; }
  .al-hero .m-slide__button { grid-area: btn; justify-self: end; }
}
.al-hero .m-button--white { background: #faf6ef; color: var(--al-ink); border-color: #faf6ef; }
.al-hero .m-button--white:hover { background: var(--al-accent); border-color: var(--al-accent); color: #faf6ef; }
.al-hero .m-button--secondary { border-color: #faf6ef; color: #faf6ef; }
.al-hero .m-button--secondary:hover { background: #faf6ef; color: var(--al-ink); }

/* Catégories : carte blanche bordée, image carrée, nom + compteur sur une ligne */
.al-categories .m-collection-card { background: #fff; border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); overflow: hidden; transition: border-color .25s; }
.al-categories .m-collection-card:hover { border-color: var(--al-accent); }
.al-categories .m-collection-card__image { border-radius: 0; }
.al-categories .m-collection-card__info { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 16px; border-top: 1px solid var(--al-line-soft); margin: 0; }
.al-categories .m-collection-card__title { font-family: var(--font-stack-header); font-size: clamp(20px, 1.6vw, 26px); font-weight: 400; margin: 0; }
.al-categories .m-collection-card__title sup, .al-categories .m-collection-card__product-count { font-family: var(--font-stack-body); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--al-grey); vertical-align: baseline; top: 0; margin-left: 10px; }

/* Bandeau d'arguments */
.al-usp__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px 24px; padding: 22px 0; }
.al-usp__grid--rules { border-top: 1px solid var(--al-line); border-bottom: 1px solid var(--al-line); }
.al-usp__item { display: grid; grid-template-columns: 68px 1fr; gap: 12px; align-items: center; font-size: 13px; line-height: 1.4; color: var(--al-ink); }
.al-usp__figure { font-family: var(--font-stack-header); font-size: 22px; color: var(--al-accent); line-height: 1; white-space: nowrap; }
@media (max-width: 767px) { .al-usp__grid { grid-template-columns: 1fr 1fr; } }

/* Produit vedette */
.al-featured .m-image-with-text__image-first { background: #fff; border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); overflow: hidden; }
.al-featured .m-content-box__subheading { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--al-grey); margin-bottom: 12px; }
.al-featured .m-image-with-text__content h2, .al-featured .m-richtext__title { font-size: clamp(34px, 4vw, 60px); line-height: 1; }
.al-featured .rte, .al-featured .m-richtext__description { max-width: 420px; font-size: 15px; line-height: 1.65; color: #4e4740; margin-top: 20px; }
.al-featured .m-richtext__button { margin-top: 28px; }

/* Pastilles de pierres */
.al-stones__grid { display: grid; grid-template-columns: repeat(var(--al-stones-cols, 6), 1fr); gap: clamp(12px, 2vw, 24px); }
.al-stones__item { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: var(--al-ink); }
.al-stones__disc { width: clamp(64px, 7vw, 96px); height: clamp(64px, 7vw, 96px); border-radius: 50%; overflow: hidden; display: block;
  background: radial-gradient(circle at 35% 30%, var(--al-hi, #eee), var(--al-lo, #999) 75%);
  box-shadow: inset 0 -6px 12px rgba(0,0,0,.15), 0 10px 20px -12px rgba(43,39,35,.5); transition: transform .3s; }
.al-stones__disc img { width: 100%; height: 100%; object-fit: cover; display: block; }
.al-stones__item:hover .al-stones__disc { transform: translateY(-3px); }
.al-stones__name { font-family: var(--font-stack-header); font-size: 20px; line-height: 1.1; }
.al-stones__intent { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--al-grey); margin-top: -6px; }
@media (max-width: 767px) { .al-stones__grid { grid-template-columns: repeat(3, 1fr); } }

/* Avis : cadre blanc, note à gauche, trois citations */
.al-reviews__box { padding: clamp(40px, 5vw, 72px) 0 0; display: grid; grid-template-columns: .7fr 1fr 1fr 1fr; gap: clamp(24px, 3vw, 48px); }
.al-reviews__rating { margin: 0; font-family: var(--font-stack-header); font-size: clamp(48px, 5vw, 80px); line-height: 1; }
.al-reviews__rating span { font-size: .4em; color: var(--al-taupe); }
.al-reviews__count { margin: 8px 0 0; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--al-grey); }
.al-reviews__item { border-top: 1px solid var(--al-line-soft); padding-top: 16px; }
.al-reviews__stars { margin: 0 0 6px; color: var(--al-accent); font-size: 12px; letter-spacing: .1em; }
.al-reviews__quote { margin: 0; font-family: var(--font-stack-header); font-size: 20px; line-height: 1.3; }
.al-reviews__meta { margin: 10px 0 0; font-size: 12px; color: var(--al-grey); }
.al-reviews__meta a { color: var(--al-grey); border-bottom: 1px solid var(--al-line); }
@media (max-width: 1023px) { .al-reviews__box { grid-template-columns: 1fr; } }

/* Newsletter : filet haut, champ souligné */
.al-newsletter .m-newsletter-section__wrapper { border-top: 1px solid var(--al-ink); padding-top: clamp(40px, 5vw, 64px); }
.al-newsletter .m-newsletter-section__heading { font-size: clamp(28px, 3.2vw, 44px); }
.al-newsletter .m-newsletter-form__input-wrapper { border-bottom: 1px solid var(--al-ink); }
.al-newsletter .m-newsletter-form input[type="email"], .al-newsletter .form-field { border: 0; background: transparent; border-radius: 0; padding-left: 0; }
.al-newsletter .m-newsletter-form .m-button { background: transparent; border: 0; color: var(--al-ink); padding-right: 0; }
.al-newsletter .m-newsletter-form .m-button:hover { color: var(--al-accent); }

/* ==========================================================================
   Kolekcja
   ========================================================================== */
.m-collection-page-header__inner { padding-top: 0; padding-bottom: 0; }
.m-collection-page-header__title { font-size: clamp(38px, 5vw, 72px); line-height: .98; text-transform: none !important; }
.m-collection-page-header__description { max-width: 460px; font-size: 14px; line-height: 1.6; color: var(--al-grey-dark); }
.m-collection-page-header .m-breadcrumb { font-size: 12px; letter-spacing: .12em; color: var(--al-grey); }
.m-collection-page-header__background, .m-collection-page-header__image { display: none !important; }
.m-collection-page-header__inner, .m-collection-page-header__inner * { text-align: left !important; }
.m-collection-page-header__title { margin: 0 0 12px; }
.m-collection-page-header__description { margin: 0; }
/* Sélecteur de pierre de la fiche : pastilles rondes */
.lp-pill--image { border-radius: 50% !important; overflow: hidden; width: 44px; height: 44px; padding: 0; border: 1px solid var(--al-line); }
.lp-pill--image img { border-radius: 50%; width: 100%; height: 100%; object-fit: cover; }
.lp-pill--image.lp-pill--active { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--al-ink); border-color: transparent; }
.lp-label { font-size: 13px; }

/* Pilules de type */
.al-type-pills { margin-top: 24px; }
.al-pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.al-pills::-webkit-scrollbar { display: none; }
.al-pill { flex: 0 0 auto; border: 1px solid #cfc5b5; background: transparent; color: var(--al-ink); padding: 10px 18px; border-radius: 999px; font-size: 13px; min-height: 40px; display: inline-flex; align-items: center; transition: all .2s; }
.al-pill:hover { border-color: var(--al-ink); }
.al-pill--active { background: var(--al-ink); color: #faf6ef; border-color: var(--al-ink); }

/* Barre latérale de filtres */
.m-collection-sidebar, .m-sidebar { font-size: 13px; }
.m-filter--widget { margin-bottom: 28px; }
.m-filter--widget-title { font-family: var(--font-stack-body); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--al-grey); font-weight: 400; margin-bottom: 12px; }
.m-facets.m-link-lists--row .m-facet--item, .m-facets.m-filter--swatches.m-filter--swatches-show-label .m-facet--item { padding: 4px 0; }
.m-filter--swatches-show-label .m-facet--item { display: flex; align-items: center; gap: 10px; }
.m-filter--swatches-show-label .m-facet--color-label { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(43,39,35,.15); flex: 0 0 auto; }
.m-filter--swatches-show-label .m-facet--item.active .m-facet--color-label { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--al-ink); }
.m-filter--swatches-show-label .m-facet--item.active a { font-weight: 600; }
.m-filter--swatches-button { display: flex; flex-wrap: wrap; gap: 6px; }
.m-filter--swatches-button .m-facet--button { border: 1px solid #cfc5b5; border-radius: 999px; padding: 6px 12px; font-size: 12px; }
.m-filter--swatches-button .m-facet--button a { color: inherit; }
.m-filter--swatches-button .m-facet--button.active { background: var(--al-ink); border-color: var(--al-ink); color: #faf6ef; }
.m-facet--item a { color: var(--al-ink); }
.m-facet--item.active a { font-weight: 600; }

/* Barre d'outils : compteur et tri discrets */
.m-collection-toolbar { font-size: 12px; color: var(--al-grey-dark); }
.m-collection-toolbar .m-select-custom--trigger { border: 0; font-size: 12px; }

/* Charger plus */
.m-collection-products__pagination .m-button, [data-load-more] { background: transparent; color: var(--al-ink); border: 1px solid var(--al-ink); }
.m-collection-products__pagination .m-button:hover, [data-load-more]:hover { background: var(--al-ink); color: #faf6ef; }

/* ==========================================================================
   Produkt, Koszyk, Dziennik
   ========================================================================== */
.al-virtues { font-family: var(--font-stack-header); font-size: 20px; color: var(--al-ink); margin: 0 0 10px; }
.al-note { font-size: 12px; color: var(--al-grey); }
.m-product__title { font-size: clamp(34px, 3.6vw, 54px); }
.m-collapsible__button, .m-accordion--item-button { font-family: var(--font-stack-header); font-size: 21px; font-weight: 400; }

/* Jauge de port offert */
.al-cart-goal { border: 1px solid var(--al-line); padding: 14px 18px; border-radius: var(--al-radius-btn); margin: 0 0 20px; }
.al-cart-goal__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; margin-bottom: 10px; }
.al-cart-goal__scale { color: var(--al-grey); white-space: nowrap; }
.al-cart-goal__bar { height: 2px; background: var(--al-line); }
.al-cart-goal__fill { display: block; height: 2px; width: var(--goal-progress, 0%); background: var(--al-ink); transition: width .5s ease; }
.al-cart-goal--reached .al-cart-goal__fill { background: var(--al-accent); }
.m-cart-drawer__header .al-cart-goal { margin: 12px 0 0; }
.m-cart__wrapper .m-cart__header { border-bottom: 1px solid var(--al-line); }
.m-cart-totals, .m-cart__footer { background: var(--al-beige); padding: clamp(20px, 3vw, 32px); border-radius: var(--al-radius-btn); }

/* Blog */
.al-blog-head { padding-top: clamp(32px, 5vw, 72px); }
.al-blog-head__top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.al-blog-head__title { margin: 0; font-size: clamp(48px, 8vw, 120px); line-height: .95; letter-spacing: -0.01em; }
.al-blog-head__intro { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: var(--al-grey-dark); max-width: 380px; }
.al-blog-head__tags { margin-top: 32px; padding-bottom: 16px; border-bottom: 1px solid var(--al-line); }
.al-blog-head__tags .al-pill { padding: 9px 16px; font-size: 12px; min-height: 36px; letter-spacing: .04em; }
.m-blog-template .m-article-card__title, .m-article-card__title { font-family: var(--font-stack-header); font-size: clamp(24px, 2vw, 30px); font-weight: 500; line-height: 1.15; }
.m-article-card__tags, .m-article-card__date { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--al-grey); }
.m-article-card__excerpt { font-size: 14px; line-height: 1.6; color: var(--al-grey-dark); }
.m-article-card__image { border-radius: var(--al-radius); overflow: hidden; }
.m-article-card__readmore { display: none; }
.al-blog-head ~ .m-section-wrapper .m-page-header, .al-blog-head ~ * .m-page-header, body.template-blog .m-page-header { display: none; }

/* ==========================================================================
   Produkt (planche Produkt de la maquette)
   ========================================================================== */
.m-main-product--wrapper { align-items: flex-start; }
@media (min-width: 1024px) {
  /* Retour Brandon : la galerie suit le défilement et bute sur la section suivante ; la colonne d achat défile normalement */
  .m-main-product--info { position: static; }
  .m-main-product--media { position: sticky; top: 24px; align-self: flex-start; }
  .m-main-product--wrapper { align-items: flex-start; }
}
/* Galerie : vignettes verticales à gauche, image principale dans un cadre blanc 4/5 */
.m-product-media--desktop .m-product-media--slider__thumbnails .swiper-slide { width: 72px; border: 1px solid var(--al-line-soft); border-radius: 3px; overflow: hidden; background: #fff; }
.m-product-media--desktop .m-product-media--slider__thumbnails .swiper-slide-thumb-active { border-color: var(--al-ink); }
.m-media-gallery__wrapper .m-product-media--slider__main, .m-product-media--desktop .swiper-container:not(.nav-swiper-container) { background: #fff; border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); overflow: hidden; }
.m-product-media--zoom-icon { display: none; }

/* Colonne d'achat */
.m-product-info--wrapper { max-width: none; }
.m-product__title, .m-main-product--info h1 { font-size: clamp(34px, 3.6vw, 54px); line-height: 1; letter-spacing: -0.01em; margin: 0; }
.al-pf-subtitle { margin: 8px 0 0; font-size: 14px; color: var(--al-grey-dark); }
.main-product__block-custom_liquid + .main-product__block-custom_liquid, .main-product__block-title + .main-product__block-custom_liquid { margin-top: 6px; }
.main-product__block-price { margin-top: 20px; }
.m-price__regular, .m-product-price .m-price { font-family: var(--font-stack-header); font-size: 36px; font-weight: 400; }
.main-product__block-text { margin-top: 4px; padding-bottom: 20px; border-bottom: 1px solid var(--al-line); }
.main-product__block-text .m-product__text, .main-product__block-text p { font-size: 12px; color: var(--al-grey); margin: 0; }
.lp-selector { margin: 22px 0 0; }
.lp-label { font-size: 13px; font-weight: 400; }
.lp-label strong { font-weight: 500; }
.al-lp-intent { color: var(--al-grey); }
.lp-pills { gap: 10px; margin: 0; }
.lp-pill--image { margin: 0; }
.al-pf-rows { margin: 22px 0 0; display: flex; flex-direction: column; gap: 10px; }
.al-pf-row { display: flex; align-items: baseline; gap: 12px; font-size: 13px; }
.al-pf-row dt { color: var(--al-grey); min-width: 84px; }
.al-pf-row dd { margin: 0; font-weight: 500; }
.al-pf-help { margin-left: auto; color: var(--al-grey); border-bottom: 1px solid #cfc5b5; font-size: 12px; }
.main-product__block-buy_buttons { margin-top: 28px; }
.m-product-form--wrapper { gap: 12px; }
.m-product-form--wrapper .m-quantity { border: 1px solid var(--al-ink); border-radius: 2px; height: 54px; width: 120px; }
.m-product-form--wrapper .m-add-to-cart { height: 54px; flex: 1; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.m-availability-line { margin-top: 14px; font-size: 12px; font-weight: 400; color: var(--al-grey-dark); }
.m-availability-line__icon { color: #3d9851; font-size: 10px; }
.al-payments { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.al-payments__icon { height: 26px; width: auto; }
.main-product__block-collapsible_tab { margin-top: 0; }
.main-product__block-al_payments + .main-product__block-collapsible_tab, .main-product__block-custom_liquid + .main-product__block-collapsible_tab { margin-top: 28px; border-top: 1px solid var(--al-line); }
.m-product-collapsible, .m-collapsible { border-bottom: 1px solid var(--al-line); }
.m-collapsible--button { font-family: var(--font-stack-header); font-size: 21px; font-weight: 400; padding: 16px 0; }
.m-collapsible--content__inner { font-size: 14px; line-height: 1.7; color: #4e4740; padding-bottom: 18px; }


/* Detale : trois tuiles carrées */
.al-details__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.5vw, 20px); }
.al-details__tile { aspect-ratio: 1; border-radius: var(--al-radius); overflow: hidden; background: #fff; border: 1px solid var(--al-line-soft); }
.al-details__tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.al-details__tile--zoom img { transform: scale(1.6); transform-origin: 55% 55%; }
.al-details__tile--text { background: var(--al-beige); border: 0; padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; justify-content: flex-start; gap: 14px; color: var(--al-ink); }
.al-details__tile--text .al-eyebrow { color: var(--al-grey); font-size: 11px; letter-spacing: .16em; margin: 0; }
.al-details__title { margin: 0; font-family: var(--font-stack-header); font-size: clamp(22px, 2vw, 30px); line-height: 1.15; }
.al-details__text { margin-top: 14px; font-size: 13px; line-height: 1.6; color: #4e4740; }
.al-details__text p { margin: 0; }
@media (max-width: 767px) { .al-details__grid { grid-template-columns: 1fr; } .al-details__tile--text { aspect-ratio: auto; } }

/* Dokończ zestaw */
.al-reco .m-section__header { display: flex; justify-content: space-between; align-items: flex-end; }

/* Opinie : Judge.me en deux colonnes (résumé à gauche, avis à droite) */
.al-product-reviews .m-section__header { margin-bottom: 0; }
.al-product-reviews .m-app-section__content { border-top: 1px solid var(--al-line); padding-top: 40px; }
.al-product-reviews .jdgm-rev-widg { display: grid; grid-template-columns: .8fr 1.4fr; gap: clamp(32px, 5vw, 80px); }
.al-product-reviews .jdgm-rev-widg__header { border: 0; }
.al-product-reviews .jdgm-rev-widg__title { display: none; }
.al-product-reviews .jdgm-rev-widg__summary-text { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--al-grey); }
.al-product-reviews .jdgm-star { color: var(--al-accent) !important; }
.al-product-reviews .jdgm-write-rev-link { background: transparent; border: 1px solid var(--al-ink); color: var(--al-ink); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: 12px 24px; border-radius: 2px; }
.al-product-reviews .jdgm-rev { border-top: 1px solid var(--al-line); padding: 22px 0; }
.al-product-reviews .jdgm-rev__body { font-family: var(--font-stack-header); font-size: 20px; line-height: 1.3; }
.al-product-reviews .jdgm-rev__author, .al-product-reviews .jdgm-rev__timestamp { font-size: 12px; color: var(--al-grey); }
.al-product-reviews .jdgm-histogram__bar-content { background: var(--al-accent); }
@media (max-width: 1023px) { .al-product-reviews .jdgm-rev-widg { grid-template-columns: 1fr; } }

/* Colonne d'achat resserrée (retour Brandon du 2026-09-07) */
.m-main-product .main-product__block + .main-product__block { margin-top: 12px; }
.main-product__block-title + .main-product__block-custom_liquid { margin-top: 4px; }
.main-product__block-custom_liquid + .main-product__block-@app, .main-product__block-custom_liquid + [class*="main-product__block-judge"] { margin-top: 8px; }
.main-product__block-price { margin-top: 14px; }
.main-product__block-text { margin-top: 2px; padding-bottom: 14px; }
.lp-selector { margin: 16px 0 0; }
.lp-label { margin-bottom: 8px; }
.main-product__block-buy_buttons { margin-top: 18px; }
.m-availability-line { margin-top: 10px; }
.al-payments { margin-top: 10px; }
.main-product__block-al_payments + .main-product__block-collapsible_tab, .main-product__block-custom_liquid + .main-product__block-collapsible_tab { margin-top: 20px; }
.m-collapsible--button { padding: 13px 0; }

/* Sections de la fiche plus proches les unes des autres */
.template-product .m-section-my, body.template-product .m-section-my { margin-top: 40px; margin-bottom: 40px; }
.template-product .m-main-product .m-section-my { margin-top: 0; }
.al-details .m-section-my { margin-top: 24px; margin-bottom: 0; }
.al-reco .m-section-my { margin-top: 32px; margin-bottom: 0; }
.al-product-reviews .m-section-my { margin-top: 24px; }

/* Sous-titre et note collés au titre (retour Brandon) */
.main-product__block-title + .main-product__block-custom_liquid { margin-top: 0; }
.al-pf-subtitle { margin: 2px 0 0; }
.main-product__block-custom_liquid + [class*="main-product__block-"] { margin-top: 6px; }
.main-product__block-price { margin-top: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--al-line); }
/* Titre, vertus, étoiles et prix serrés (mesuré dans le DOM : h1 .m-product-title lh 1.4, prix lh 54px) */
.m-main-product .m-product-title { font-size: clamp(34px, 3.4vw, 50px) !important; line-height: 1.05 !important; margin: 0 !important; letter-spacing: -0.01em; }
.main-product__block-title + .main-product__block, .main-product__block-title + .main-product__block-specs_summary { margin-top: 6px !important; }
.m-stone-virtues { font-size: 14px !important; color: var(--al-grey-dark) !important; letter-spacing: 0 !important; }
.main-product__block-specs_summary + .main-product__block { margin-top: 6px !important; }
.main-product__block-price { margin-top: 10px !important; padding-bottom: 12px; }
.m-main-product .m-price__regular { line-height: 1.1 !important; }
.m-main-product .m-price-item--regular { font-size: 36px !important; line-height: 1.1 !important; font-family: var(--font-stack-header); }
.main-product__block-price + .main-product__block-variant_picker { margin-top: 14px !important; }

/* Bundle en pleine largeur, entre Detale et Dokończ zestaw */
.al-bundle .m-section-my { margin-top: 24px; margin-bottom: 0; }
.al-bundle .m-bundle-block { border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); padding: clamp(20px, 3vw, 40px); }
.al-bundle .m-bundle-block__heading { font-family: var(--font-stack-header); font-size: clamp(24px, 2.4vw, 34px); margin-bottom: 20px; text-align: center; }
.al-bundle .m-bundle-block__items { display: flex; align-items: flex-start; justify-content: center; gap: clamp(12px, 2vw, 32px); }
.al-bundle .m-bundle-block__item { max-width: 260px; }
.al-bundle .m-bundle-block__item-image img { border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); }
.al-bundle .m-bundle-block__price-row { justify-content: center; text-align: center; margin-top: 20px; }
.al-bundle .m-bundle-block__savings { text-align: center; }
.al-bundle .m-bundle-block .m-button, .al-bundle .m-bundle-block button { max-width: 420px; margin: 16px auto 0; display: flex; justify-content: center; align-items: center; text-align: center; }
.al-bundle .m-bundle-block__note { text-align: center; }

/* Barre collante : image plus grande, prix à côté du titre */
.m-sticky-addtocart--image { width: 88px !important; padding: 4px 0 !important; }
.m-sticky-addtocart--image img { border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); }
.m-sticky-addtocart--leftblock { align-items: center; }
.al-sticky-title { display: flex; align-items: baseline; gap: 18px; margin-left: 18px !important; min-width: 0; padding: 0 !important; align-self: center; }
.al-sticky-title h3 { font-family: var(--font-stack-header); font-size: 24px; font-weight: 400; margin: 0; line-height: 1.1; -webkit-line-clamp: 1; }
.al-sticky-price { font-family: var(--font-stack-header); font-size: 28px; line-height: 1.1; white-space: nowrap; }

/* Bundle : deuxième image en fondu au survol */
.al-hover { position: relative; display: block; overflow: hidden; }
.al-hover img { display: block; width: 100%; height: auto; transition: opacity .45s ease; }
.al-hover .al-hover__second { position: absolute; inset: 0; height: 100%; object-fit: cover; opacity: 0; }
.al-hover:hover .al-hover__second { opacity: 1; }
.al-hover:hover img:not(.al-hover__second) { opacity: 0; }

/* Tiroir panier : plus de « Notatka », le champ code promo est toujours visible (retour Brandon) */
.m-cart-addon__header { display: none !important; }
#m-addons-coupon.m-cart-addon__body { display: block !important; box-shadow: none; padding: 0; margin: 0 0 16px; border-top: 1px solid var(--al-line); padding-top: 16px; }
#m-addons-coupon .m-cart-addon__title { display: none; }
#m-addons-coupon .m-cart-addon__content { margin: 0; }
#m-addons-coupon .m-cart-addon__action { margin-top: 8px; }
#m-addons-coupon .m-cart-addon--close { display: none; }
#m-addons-coupon .m-cart-addon__action button[type="submit"] { flex: 0 0 auto; padding: 0 22px; height: 44px; }
#m-addons-coupon .m-cart-addon__content { display: flex; gap: 10px; align-items: center; }
#m-addons-coupon .m-cart-addon__content .form-field { flex: 1; height: 44px; border: 1px solid var(--al-line); border-radius: 2px; }
#m-addons-coupon .m-cart-addon-message-error { flex: 1 1 100%; margin: 0; }
#m-addons-coupon { display: flex !important; flex-direction: column; }
#m-addons-coupon .m-cart-addon__content { order: 1; }
#m-addons-coupon .m-cart-addon__action { order: 2; }
m-cart-addons.m-cart-addon { display: block; }
#m-addons-coupon.m-cart-addon__body { position: static !important; transform: none !important; }
.m-cart-drawer__title { font-family: var(--font-stack-header); font-size: 28px !important; font-weight: 400 !important; }

/* Code promo : champ et bouton sur une ligne (le message d erreur passait dans la même rangée et écrasait le champ) */
#m-addons-coupon.m-cart-addon__body { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
#m-addons-coupon .m-cart-addon__content { flex: 1 1 200px; display: block !important; margin: 0; order: 0; }
#m-addons-coupon .m-cart-addon__content .form-field { width: 100%; }
#m-addons-coupon .m-cart-addon-message-error { display: block; width: 100%; }
#m-addons-coupon .m-cart-addon-message-error:empty { display: none; }
#m-addons-coupon .m-cart-addon__action { flex: 0 0 auto; margin: 0; order: 0; }

/* Tiroir : lien « Zobacz koszyk » sans la barre (soulignement Minimog élargi par le padding de bouton) */
.m-cart-drawer__link-to-cart.m-button--link { padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; text-decoration: none !important; background: none !important; }
.m-cart-drawer__link-to-cart.m-button--link::before, .m-cart-drawer__link-to-cart.m-button--link::after { display: none !important; content: none !important; }
.m-cart-drawer__link-to-cart.m-button--link:hover { color: var(--al-accent); }

/* Cartes produit : prix plus petit que le titre (retour Brandon mobile) */
.m-product-card .m-price-item, .m-product-card .m-price__regular, .m-product-card .m-price__sale { font-size: 14px !important; font-weight: 500; line-height: 1.4; }

/* Héros mobile : texte par-dessus l'image, boutons centrés (Minimog empile le texte sous l'image) */
@media (max-width: 1023px) {
  .al-hero.m-slider--content-stack .m-slide__wrapper, .al-hero .m-slide__wrapper { position: absolute !important; inset: 0; padding: 0 16px 28px !important; align-items: flex-end; }
  .al-hero .m-slide__media { height: 72vh !important; min-height: 480px; }
  .al-hero .m-slide__content { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: none; width: 100%; }
  .al-hero .m-slide__subtitle, .al-hero .m-slide__title, .al-hero .m-slide__description { width: 100%; text-align: center !important; max-width: none; }
  .al-hero.m-slider--content-stack .m-slide__subtitle, .al-hero.m-slider--content-stack .m-slide__title, .al-hero.m-slider--content-stack .m-slide__description { color: #faf6ef !important; }
  .al-hero .m-slide__title { font-size: 44px !important; }
  .al-hero .m-slide__description { margin-top: 12px; }
  .al-hero .m-slide__button { width: 100%; justify-content: center !important; margin-top: 20px; }
  .al-hero.m-slider--content-stack .m-button--white { background: #faf6ef !important; border-color: #faf6ef !important; color: var(--al-ink) !important; }
  .al-hero.m-slider--content-stack .m-button--secondary { --btn-color: #faf6ef !important; border-color: #faf6ef !important; color: #faf6ef !important; }
}

/* Header mobile : compte et panier visibles, recherche disponible dans la navigation */
@media (max-width: 1023px) {
  .m-header__mobile .m-header__search-icon { display: none !important; }
  .m-header__mobile-right .m-header__account, .m-header__mobile-right .m-cart-icon-bubble { display: flex; align-items: center; justify-content: center; width: 40px; padding: 8px; flex-shrink: 0; }
}

/* Recherche : état vide avec requêtes, quatre meilleures ventes et catégories (porté de Terravé) */
.al-search-discovery { max-width: 940px; margin: 28px auto 0; padding-bottom: 24px; }
.al-search-discovery__queries { margin-bottom: 28px; }
.al-search-discovery__queries .al-eyebrow { margin-bottom: 12px; }
.al-search-discovery__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.al-search-discovery__chips a { padding: 8px 16px; border: 1px solid #cfc5b5; border-radius: 999px; font-size: 13px; color: var(--al-ink); background: #fff; }
.al-search-discovery__chips a:hover { color: var(--al-accent); border-color: var(--al-accent); }
.al-search-discovery__heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 16px; }
.al-search-discovery__heading h3 { font-size: 24px; font-weight: 400; margin: 0; }
.al-search-discovery__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.al-search-card { min-width: 0; display: flex; flex-direction: column; color: var(--al-ink); }
.al-search-card__image { display: block; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--al-line-soft); border-radius: var(--al-radius); background: #fff; margin-bottom: 10px; }
.al-search-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.al-search-card:hover img { transform: scale(1.035); }
.al-search-card__title { font-family: var(--font-stack-header); font-size: 17px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.al-search-card__price { margin-top: 5px; font-size: 13px; font-weight: 500; }
.al-search-discovery__cats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--al-line); }
.al-search-discovery__cats .al-eyebrow { margin-right: 8px; }
.al-search-discovery__cats .al-pill { padding: 8px 16px; min-height: 36px; font-size: 13px; }
.m-search-popup--wrapper { max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
@media (min-width: 768px) { .m-search-popup--wrapper:has(predictive-search[open]) { overflow: visible; } }
@media (max-width: 767px) {
  .al-search-discovery { margin-top: 20px; }
  .al-search-discovery__queries { margin-bottom: 20px; }
  .al-search-discovery__heading h3 { font-size: 20px; }
  .al-search-discovery__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
}
/* Résultats prédictifs : prix à la taille du texte, pas en 36 px */
.m-search-popup .m-price-item, .m-search-popup .m-price, [data-predictive-search] .m-price-item, [data-predictive-search] .m-price { font-size: 14px !important; font-weight: 500; line-height: 1.4; }

/* Pastille du panier : même terracotta partout (header, recherche, barre mobile) */
:root { --bg-cart-wishlist-count: #c48a5c; --color-cart-wishlist-count: #ffffff; }
.m-cart-count-bubble, .m-cart-count, .m-wishlist-count { background: var(--al-accent) !important; color: #fff !important; }


/* === al-hero : image mobile ancrée en haut (2026-09-20) === */
/* Le thème recadre l'image mobile en la centrant : sur un écran moins haut que l'image, le haut (les bijoux) était coupé.
   On ancre en haut : seul le bas de l'image, laissé vide pour le texte, peut être rogné. */
@media (max-width: 767px) {
  .al-hero .m-slide__bg img { object-position: center top !important; }
}

/* === al-hero : pas de paragraphe sur mobile (2026-09-20) === */
/* Sur téléphone, titre + paragraphe + deux boutons occupaient environ 70 % de la bannière et recouvraient les bijoux.
   Le paragraphe reste affiché sur tablette et PC, et reste modifiable dans l'éditeur. */
@media (max-width: 767px) {
  .al-hero .m-slide__description { display: none !important; }
}

/* === al-hero : navigation entre diapositives (2026-09-19) === */
/* PC : deux zones latérales invisibles. Au survol, le bord s'assombrit légèrement et une flèche apparaît. */
.al-hero .m-slider-controls { position: absolute !important; inset: 0 !important; left: 0 !important; bottom: 0 !important; transform: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; pointer-events: none; z-index: 9; }
.al-hero .m-slider-controls__wrapper { position: static !important; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.al-hero .m-slider-controls__button,
.al-hero .m-slider-controls__button:hover,
.al-hero .m-slider-controls__button:focus { position: absolute !important; top: 0 !important; bottom: 0 !important; height: 100% !important; width: clamp(56px, 6vw, 96px) !important; min-width: 0 !important; transform: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #faf6ef !important; opacity: 1 !important; display: flex !important; align-items: center; justify-content: center; pointer-events: auto; cursor: pointer; overflow: hidden; }
.al-hero .m-slider-controls__button-prev { left: 0 !important; right: auto !important; }
.al-hero .m-slider-controls__button-next { right: 0 !important; left: auto !important; }
.al-hero .m-slider-controls__button::before { content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.al-hero .m-slider-controls__button-prev::before { background: linear-gradient(to right, rgba(43,39,35,.42), rgba(43,39,35,0)); }
.al-hero .m-slider-controls__button-next::before { background: linear-gradient(to left, rgba(43,39,35,.42), rgba(43,39,35,0)); }
.al-hero .m-slider-controls__button svg { position: relative; width: 36px !important; height: 36px !important; opacity: 0; transition: opacity .4s ease, transform .4s ease; }
.al-hero .m-slider-controls__button svg path { stroke: currentColor !important; stroke-width: 1.2; }
.al-hero .m-slider-controls__button-prev svg { transform: translateX(6px); }
.al-hero .m-slider-controls__button-next svg { transform: translateX(-6px); }
.al-hero .m-slider-controls__button:hover::before,
.al-hero .m-slider-controls__button:focus-visible::before { opacity: 1; }
.al-hero .m-slider-controls__button:hover svg,
.al-hero .m-slider-controls__button:focus-visible svg { opacity: 1; transform: translateX(0); }
/* Mobile, tablette et écrans tactiles : aucune flèche, on fait défiler au doigt. */
@media (max-width: 991px), (hover: none) {
  .al-hero .m-slider-controls { display: none !important; }
}


/* === al-cart-upsell : « Dobierz do kompletu » dans le tiroir et la page panier (2026-09-27) === */
/* Lignes compactes (vignette 64 px, titre sur 2 lignes, prix, bouton) : le tiroir mobile n'a que ~300 px utiles. */
.al-cart-upsell { display: block; margin: 20px 0 8px; padding-top: 18px; border-top: 1px solid var(--al-line); }
.al-cart-upsell__heading { margin: 0 0 12px; font-family: var(--font-stack-header); font-size: 20px; line-height: 1.2; color: var(--al-ink); }
.al-cart-upsell__list { display: flex; flex-direction: column; gap: 12px; }
.al-cart-upsell__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.al-cart-upsell__media { display: block; width: 64px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--al-beige-soft); }
.al-cart-upsell__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.al-cart-upsell__info { min-width: 0; }
.al-cart-upsell__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.35; color: var(--al-ink); text-decoration: none; }
.al-cart-upsell__title:hover { color: var(--al-accent); }
.al-cart-upsell__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 4px; }
.al-cart-upsell__price { font-size: 13px; color: var(--al-ink); }
.al-cart-upsell__badge { font-size: 11px; line-height: 1.2; letter-spacing: .02em; padding: 2px 6px; color: var(--al-grey-dark); background: var(--al-beige); border-radius: var(--al-radius-btn); white-space: nowrap; }
.al-cart-upsell__add { position: relative; min-width: 72px; height: 36px; padding: 0 12px; border: 1px solid var(--al-ink); border-radius: var(--al-radius-btn); background: transparent; color: var(--al-ink); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; cursor: pointer; transition: background .2s ease, color .2s ease; }
.al-cart-upsell__add:hover, .al-cart-upsell__add:focus-visible { background: var(--al-ink); color: #fff; }
.al-cart-upsell__add[disabled] { opacity: .6; cursor: default; }
.al-cart-upsell__add .m-spinner-icon { display: none; }
.al-cart-upsell__add.m-spinner-loading .m-spinner-icon { display: flex; position: absolute; inset: 0; align-items: center; justify-content: center; }
.al-cart-upsell__add.m-spinner-loading .al-cart-upsell__add-label { visibility: hidden; }
.al-cart-upsell__error:empty { display: none; }
/* Page panier : le bloc suit la liste des articles, pleine largeur mais lignes limitées à 560 px. */
.m-cart__body .al-cart-upsell { margin: 24px 0 8px; }
.m-cart__body .al-cart-upsell__list { max-width: 560px; }

/* Code promo du tiroir sur une seule ligne à 390 px (le champ passait à la ligne et prenait ~54 px de hauteur). */
#m-addons-coupon .m-cart-addon__content { flex: 1 1 0; min-width: 0; }
/* Mobile : bloc resserré pour qu'une première suggestion reste visible sans défiler sur petit écran (375 × 667). */
@media (max-width: 767px) {
  .m-cart-drawer .al-cart-upsell { margin-top: 12px; padding-top: 12px; }
  .al-cart-upsell__heading { font-size: 18px; margin-bottom: 8px; }
  .al-cart-upsell__list { gap: 10px; }
  .al-cart-upsell__item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 10px; }
  .al-cart-upsell__media { width: 56px; }
  .al-cart-upsell__add { min-width: 0; height: 34px; padding: 0 10px; font-size: 11px; }
}
