/* La Boutique de l'Avent : surcouche de style du thème Modern de SHOPLINE */
:root {
  --ma-night: #0c3b26;
  --ma-pine-2: #145a3a;
  --ma-pine-deep: #072a1a;
  --ma-soft: #faf6ee;
  --ma-cream: #fbf7ef;
  --ma-paper: #ffffff;
  --ma-ink: #16231c;
  --ma-muted: #66706a;
  --ma-gold: #c9a24b;
  --ma-gold-2: #e6c77c;
  --ma-wine: #a3202e;
  --ma-line: rgba(12, 59, 38, 0.12);
  --ma-serif: "Fraunces", Georgia, serif;
  --title-font: "Fraunces", Georgia, serif;
  --body-font: "Inter", system-ui, -apple-system, sans-serif;
}
h1, h2, h3, .title1, .title2, .title3, .title4, .title5 { font-family: var(--ma-serif); letter-spacing: -0.01em; }

/* Les sections HTML personnalisées occupent toute la largeur */
.ma { font-family: var(--body-font); color: var(--ma-ink); }
.ma *, .ma *::before, .ma *::after { box-sizing: border-box; }
.ma a { text-decoration: none; }
.ma-wrap { max-width: 1240px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }
.ma-eyebrow { text-transform: uppercase; letter-spacing: .22em; font-size: 12px; font-weight: 600; color: var(--ma-gold-2); margin: 0 0 16px; }
.ma-eyebrow.dark { color: var(--ma-pine-2); }
.ma-head { max-width: 640px; margin: 0 auto 36px; text-align: center; }
.ma-head h2 { font-size: clamp(32px, 4vw, 46px); margin: 0; color: var(--ma-ink); }
.ma-head p:not(.ma-eyebrow) { color: var(--ma-muted); line-height: 1.6; margin-top: 12px; }

.ma-btn {
  display: inline-flex; align-items: center; justify-content: center;
  --ma-pad: 14px 26px; padding: var(--ma-pad); border-radius: 999px; border: 1px solid transparent;
  font-weight: 600; font-size: 14px; transition: transform .2s, background .2s;
}
.ma-btn:hover { transform: translateY(-2px); }
.ma-btn-gold { background: linear-gradient(135deg, var(--ma-gold-2), var(--ma-gold)); color: var(--ma-night) !important; box-shadow: 0 10px 30px -10px rgba(201, 162, 75, .7); }
.ma-btn-ghost { border-color: rgba(247, 241, 230, .3); color: var(--ma-cream) !important; }

/* ---------- Hero ---------- */
.ma-hero {
  position: relative; overflow: hidden; color: var(--ma-cream);
  background:
    radial-gradient(1200px 500px at 80% 20%, rgba(201, 162, 75, .18), transparent 60%),
    radial-gradient(900px 600px at 10% 100%, rgba(201, 162, 75, .12), transparent 60%),
    var(--ma-night);
}
.ma-snow { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ma-hero-inner {
  position: relative; max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center;
  padding: clamp(56px, 9vw, 110px) clamp(16px, 4vw, 48px) clamp(80px, 11vw, 140px);
}
.ma-hero h1 { font-size: clamp(42px, 6vw, 78px); line-height: 1.02; margin: 0; color: var(--ma-cream); }
.ma-hero h1 em { font-style: italic; font-weight: 400; color: var(--ma-gold-2); }
.ma-lead { font-size: 17px; line-height: 1.65; color: rgba(247, 241, 230, .78); max-width: 520px; margin: 24px 0 32px; }
.ma-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.ma-countdown { margin-top: 40px; }
.ma-countdown-label { font-size: 12px; text-transform: uppercase; letter-spacing: .18em; opacity: .6; }
.ma-countdown-grid { display: flex; gap: 10px; margin-top: 10px; }
.ma-countdown-grid div {
  min-width: 72px; padding: 12px 10px; text-align: center;
  border: 1px solid rgba(230, 199, 124, .25); border-radius: 14px; background: rgba(255, 255, 255, .03);
}
.ma-countdown-grid strong { display: block; font-family: var(--ma-serif); font-size: 28px; color: var(--ma-gold-2); }
.ma-countdown-grid span { font-size: 11px; opacity: .6; }

.ma-visual { perspective: 1400px; }
.ma-doors {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; padding: 22px; border-radius: 24px;
  background: linear-gradient(160deg, #7a1626, #4b0d18);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), inset 0 0 0 1px rgba(230, 199, 124, .35);
  transform: rotateY(-12deg) rotateX(6deg);
}
.ma-door { position: relative; aspect-ratio: 1; border-radius: 10px; background: radial-gradient(circle at 50% 40%, #ffe9b0, #c9a24b 70%); perspective: 600px; }
.ma-door-face {
  position: absolute; inset: 0; border-radius: 10px; display: grid; place-items: center;
  font-family: var(--ma-serif); font-size: clamp(14px, 1.6vw, 20px); color: var(--ma-gold-2);
  background: linear-gradient(150deg, #8f1c2f, #5e1020); border: 1px solid rgba(230, 199, 124, .35);
  transform-origin: left center; transition: transform .7s cubic-bezier(.2, .8, .2, 1); backface-visibility: hidden;
}
.ma-door:hover .ma-door-face, .ma-door.open .ma-door-face { transform: rotateY(-105deg); }
.ma-door-gift { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; color: var(--ma-wine); }
/* Case avec photo produit : la porte s'ouvre au survol et mène à la fiche. */
a.ma-door { display: block; cursor: pointer; }
.ma-door-gift img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; background: #fff; }
a.ma-door:focus-visible { outline: 2px solid var(--ma-gold-2); outline-offset: 3px; }
a.ma-door:focus-visible .ma-door-face { transform: rotateY(-105deg); }

/* ---------- Univers ---------- */
.ma-cats { position: relative; z-index: 2; margin-top: -56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ma-cat {
  border-radius: 18px; --ma-pad: 26px 22px; padding: var(--ma-pad); min-height: 130px; color: #fff !important;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 4px;
  box-shadow: 0 18px 40px -18px rgba(14, 22, 38, .35); transition: transform .25s;
}
.ma-cat:hover { transform: translateY(-4px); }
.ma-cat span { font-family: var(--ma-serif); font-size: 26px; }
.ma-cat small { opacity: .8; font-size: 13px; }
.ma-cat-beaute { background: linear-gradient(135deg, #b84a6a, #6d1d3c); }
.ma-cat-luxe { background: linear-gradient(135deg, #2b2b2b, #0b0b0b); color: var(--ma-gold-2) !important; }
.ma-cat-enfants { background: linear-gradient(135deg, #2f7a5c, #123d2e); }
.ma-cat-gourmand { background: linear-gradient(135deg, #8a4b22, #4a230c); }

/* ---------- Réassurance ---------- */
.ma-reassure {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding: 36px 0;
  border-top: 1px solid var(--ma-line); border-bottom: 1px solid var(--ma-line);
}
.ma-reassure .ico { color: var(--ma-gold); font-size: 20px; }
.ma-reassure h3 { font-size: 18px; margin: 8px 0 6px; color: var(--ma-ink); }
.ma-reassure p { margin: 0; color: var(--ma-muted); font-size: 14px; line-height: 1.5; }

/* ---------- FAQ ---------- */
.ma-faq details { max-width: 760px; margin: 0 auto; border-bottom: 1px solid var(--ma-line); padding: 20px 4px; }
.ma-faq summary {
  font-family: var(--ma-serif); font-size: 19px; cursor: pointer; list-style: none;
  display: flex; justify-content: space-between; gap: 16px; color: var(--ma-ink);
}
.ma-faq summary::-webkit-details-marker { display: none; }
.ma-faq summary::after { content: "+"; color: var(--ma-gold); font-size: 24px; line-height: 1; transition: transform .25s; }
.ma-faq details[open] summary::after { transform: rotate(45deg); }
.ma-faq details p { color: var(--ma-muted); line-height: 1.65; margin: 12px 0 0; }

/* ---------- Touches sur les composants du thème ---------- */
.product-card-wrapper .card, .card-wrapper .card { transition: transform .3s, box-shadow .3s; }
.product-card-wrapper:hover .card, .card-wrapper:hover .card { transform: translateY(-4px); }

/* ---------- Guide d'achat ---------- */
.ma-guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.ma-guide article { background: var(--ma-paper); border: 1px solid var(--ma-line); border-radius: 18px; padding: 26px 24px; }
.ma-guide h3 { font-size: 21px; margin: 0 0 10px; color: var(--ma-ink); }
.ma-guide p { margin: 0; color: var(--ma-muted); line-height: 1.7; font-size: 15px; }
.ma-guide a { color: var(--ma-night); text-decoration: underline; text-underline-offset: 3px; }
.ma-guide-foot { text-align: center; margin-top: 24px !important; max-width: 720px; margin-left: auto !important; margin-right: auto !important; }

/* ---------- Fiche produit ---------- */
.ma-deadline {
  display: flex; align-items: center; gap: 10px; margin: 6px 0 4px;
  padding: 12px 16px; border-radius: 14px; font-size: 14px; line-height: 1.4;
  background: #fbf0dc; color: var(--ma-ink); border: 1px solid rgba(201, 162, 75, .45);
}
.ma-deadline::before { content: "✦"; color: var(--ma-gold); font-size: 16px; }
.ma-deadline strong { color: var(--ma-night); }

.ma-why { padding: 70px 0 20px; }
.ma-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ma-why-card {
  border-radius: 18px; padding: 28px 24px; background: var(--ma-paper);
  border: 1px solid var(--ma-line);
}
.ma-why-card .num { font-family: var(--ma-serif); font-size: 34px; color: var(--ma-accent, var(--ma-gold)); line-height: 1; }
.ma-why-card h3 { font-size: 20px; margin: 12px 0 8px; color: var(--ma-ink); }
.ma-why-card p { margin: 0; color: var(--ma-muted); line-height: 1.6; font-size: 15px; }
.ma-universe-banner {
  margin-top: 18px; border-radius: 22px; padding: 34px clamp(20px, 4vw, 44px); color: #fff;
  background: var(--ma-accent-bg, var(--ma-night));
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.ma-universe-banner h3 { margin: 0 0 6px; font-size: clamp(22px, 3vw, 30px); color: inherit; }
.ma-universe-banner p { margin: 0; opacity: .85; }
.ma-theme-beaute { --ma-accent: #b84a6a; --ma-accent-bg: linear-gradient(135deg, #b84a6a, #6d1d3c); }
.ma-theme-luxe { --ma-accent: #c9a24b; --ma-accent-bg: linear-gradient(135deg, #2b2b2b, #0b0b0b); }
.ma-theme-enfants { --ma-accent: #2f6fd1; --ma-accent-bg: linear-gradient(135deg, #2f6fd1, #173f86); }
.ma-theme-gourmand { --ma-accent: #8a4b22; --ma-accent-bg: linear-gradient(135deg, #8a4b22, #4a230c); }

@media (max-width: 960px) {
  .ma-why-grid, .ma-guide-grid { grid-template-columns: 1fr; }
  .ma-hero-inner { grid-template-columns: 1fr; }
  .ma-visual { max-width: 460px; }
  .ma-doors { transform: none; }
  .ma-cats, .ma-reassure { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ma-countdown-grid div { min-width: 0; flex: 1; }
  /* Sur mobile, les produits passent avant l'animation. */
  .ma-visual { display: none; }
  .ma-hero h1 { font-size: 36px; line-height: 1.08; }
  .ma-head h2 { font-size: 28px; }
  .ma-guide article, .ma-why-card { padding: 22px 18px; }
  .ma-universe-banner { padding: 26px 20px; }
  .ma-universe-banner .ma-btn { width: 100%; }
  .ma-cta .ma-btn { flex: 1 1 100%; }
  .ma-hero-inner { padding-bottom: 90px; }
  .ma-cats { gap: 10px; }
  .ma-cat { min-height: 100px; --ma-pad: 18px 16px; }
  .ma-cat span { font-size: 21px; }
  .ma-doors { gap: 6px; padding: 14px; }
  .ma-reassure { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ma * { animation: none !important; transition: none !important; }
}

/* ---------- Fiche produit : onglets et spoiler ---------- */
.product__details-container:has(.ba-product) > summary { display: none; }
.ba-product { font-family: var(--body-font); color: var(--ma-ink); margin-top: 8px; min-width: 0; max-width: 100%; }
.ba-tabs {
  display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  padding: 4px; margin: 0 0 18px; border-radius: 999px; background: var(--ma-soft);
}
.ba-tabs::-webkit-scrollbar { display: none; }
.ba-tab {
  flex: 0 0 auto; border: 0; cursor: pointer; padding: 10px 16px; border-radius: 999px;
  background: transparent; color: var(--ma-muted); font: 600 13px/1 var(--body-font); white-space: nowrap;
}
.ba-tab[aria-selected="true"] { background: var(--ma-night); color: var(--ma-cream); }
.ba-tab-spoiler::before { content: "✦ "; color: var(--ma-gold); }
.ba-panel h2 { font-size: 22px; line-height: 1.2; margin: 0 0 10px; color: var(--ma-ink); }
.ba-panel p, .ba-panel li { line-height: 1.65; color: var(--ma-muted); font-size: 15px; }
.ba-panel ul { padding-left: 0; list-style: none; display: grid; gap: 6px; }
.ba-panel li::before { content: "✦ "; color: var(--ma-gold); }
.ba-panel a { color: var(--ma-night); text-decoration: underline; }
.ba-product:not(.ba-has-tabs) .ba-panel + .ba-panel { margin-top: 26px; }
.ba-lead { font-family: var(--ma-serif); font-size: 18px !important; color: var(--ma-ink) !important; line-height: 1.5 !important; }
.ba-small { font-size: 12px !important; }
.ba-spoiler {
  margin-top: 12px; border-radius: 16px; overflow: hidden;
  background: linear-gradient(135deg, var(--ma-night), var(--ma-pine-deep)); color: var(--ma-cream);
}
.ba-spoiler summary {
  list-style: none; cursor: pointer; padding: 22px 20px; text-align: center;
  font: 600 15px/1.3 var(--body-font); color: var(--ma-gold-2);
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 12px, transparent 12px 24px);
}
.ba-spoiler summary::-webkit-details-marker { display: none; }
.ba-spoiler summary::before { content: "🔒  "; }
.ba-spoiler[open] summary::before { content: "🔓  "; }
.ba-spoiler[open] summary { border-bottom: 1px solid rgba(247, 241, 230, .12); }
.ba-spoiler-body { padding: 18px 20px 6px; }
.ba-spoiler-body p { color: rgba(247, 241, 230, .85) !important; }

/* Votre mois de décembre */
.ma-journey { padding: 50px 0 10px; }
.ma-journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; position: relative; }
.ma-step { border-radius: 18px; padding: 26px 22px; background: var(--ma-night); color: var(--ma-cream); }
.ma-step .day { font-family: var(--ma-serif); font-size: 15px; color: var(--ma-gold-2); letter-spacing: .04em; }
.ma-step h3 { font-size: 22px; margin: 10px 0 8px; color: var(--ma-cream); }
.ma-step p { margin: 0; color: rgba(247, 241, 230, .75); line-height: 1.6; font-size: 15px; }
@media (max-width: 760px) {
  .ma-journey-grid { grid-template-columns: 1fr; }
}

/* ---------- Garde-fous face au CSS du thème SHOPLINE ----------
   Les sections HTML personnalisées sont enveloppées dans .rte, dont les liens reçoivent
   « padding: 0 1px » et un soulignement (base.css), et le texte du corps vaut 75 % de la
   taille réglée. On rétablit ici ce que nos blocs attendent. */
.ma, .ba-product, .ma-deadline { font-size: 16px; line-height: 1.6; }
.rte a.ma-btn, .rte a.ma-btn:hover, .rte a.ma-cat, .rte a.ma-cat:hover { padding: var(--ma-pad); text-decoration: none; }
.rte a.ma-door, .rte a.ma-door:hover { padding: 0; text-decoration: none; }
.rte .ma-door-gift img { border: 0; box-shadow: none; }

/* ---------- Accueil : sélection en onglets ---------- */
.ma-selection .ma-head { margin-bottom: 22px; }
.ma-sel-tabs { width: max-content; max-width: 100%; margin: 0 auto 26px; }
.ma-pgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ma-pgrid[hidden] { display: none; }
.ma-pcard {
  display: flex; flex-direction: column; gap: 4px; color: var(--ma-ink) !important;
  border-radius: 18px; overflow: hidden; background: var(--ma-paper); border: 1px solid var(--ma-line);
  transition: transform .25s, box-shadow .25s;
}
.ma-pcard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(14, 22, 38, .35); }
.ma-pcard-img { display: block; aspect-ratio: 1; background: #fff; margin-bottom: 8px; }
.ma-pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ma-pcard-brand { padding: 0 16px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ma-muted); }
.ma-pcard-name { padding: 0 16px; font-family: var(--ma-serif); font-size: 17px; line-height: 1.25; }
.ma-pcard-cta { margin: auto 16px 16px; padding-top: 10px; font-size: 13px; font-weight: 600; color: var(--ma-night); }
.ma-pcard-cta::after { content: " →"; }
.ma-sel-more { text-align: center; margin-top: 30px; }
.ma-btn-dark { background: var(--ma-night); color: var(--ma-cream) !important; }
.rte a.ma-pcard, .rte a.ma-pcard:hover { padding: 0; text-decoration: none; }
.rte .ma-pcard-img img { border: 0; border-radius: 0; box-shadow: none; }
@media (max-width: 960px) { .ma-pgrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
  .ma-pgrid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ma-pcard-brand, .ma-pcard-name { padding: 0 12px; }
  .ma-pcard-name { font-size: 15px; }
  .ma-pcard-cta { margin: auto 12px 12px; }
  .ma-sel-more .ma-btn { width: 100%; }
}

/* ---------- Correctifs relevés sur la boutique ---------- */
/* Onglets de la section « collection en vedette » : pas de barre de défilement visible sur téléphone. */
.featured-collection__tabs { scrollbar-width: none; }
.featured-collection__tabs::-webkit-scrollbar { display: none; }
/* Fond des vignettes produit = fond blanc des visuels détourés. */
.card__media, .card__inner--wrapper { background-color: #fff !important; }
/* Fiche produit : « Ajouter au panier » en vert sapin. */
.product-form__buttons .product-form__submit.button--secondary {
  background: var(--ma-night) !important; color: #fff !important; border-color: var(--ma-night) !important;
}
.pay-button-buy-now { background: var(--ma-night) !important; border-color: var(--ma-night) !important; color: var(--ma-cream) !important; }

/* ---------- Fiche produit : barre d'achat fixe (téléphone) ---------- */
.ma-buybar { display: none; }
@media (max-width: 959px) {
  .ma-buybar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    display: flex; align-items: center; gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: var(--ma-paper); border-top: 1px solid var(--ma-line);
    box-shadow: 0 -12px 30px -18px rgba(14, 22, 38, .45);
    font-family: var(--body-font); color: var(--ma-ink);
    transform: translateY(110%); transition: transform .25s ease;
  }
  .ma-buybar.is-visible { transform: none; }
  .ma-buybar-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
  .ma-buybar-name { font-size: 13px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ma-buybar-price { font-size: 14px; }
  .ma-buybar-price strong { color: var(--ma-night); }
  .ma-buybar-price s { color: var(--ma-muted); font-size: 12px; margin-left: 4px; }
  .ma-buybar-btn {
    flex: 0 0 auto; border: 0; border-radius: 999px; padding: 13px 18px; cursor: pointer;
    background: var(--ma-night); color: #fff; font: 600 14px/1 var(--body-font);
  }
  .ma-buybar-btn:disabled { background: #b9b2a6; cursor: not-allowed; }
  body.ma-has-buybar { padding-bottom: 76px; }
}
/* Une seule photo : pas de compteur « 1/1 » ni de flèches. */
.ma-single-image .product_mobile_thumbnail_pagination,
.ma-single-image .slider-buttons { display: none !important; }
/* Boutons d'achat assez hauts pour le pouce : le thème ne met que 9 px au-dessus et en dessous
   du texte (35 px au total), sous les 44 px recommandés sur téléphone. */
.product-form__buttons .button, .pay-button-buy-now, .shopline-element-buy-now,
.button--full-width:not(.button--link) {
  min-height: 52px; font-size: 15px !important; letter-spacing: .02em;
}

/* En-tête : filet doré discret sous le bandeau vert sapin. */
.header { border-bottom-color: rgba(201, 162, 75, .28) !important; }
/* Bandeau d'annonce : une ligne lisible sur téléphone. */
@media (max-width: 640px) {
  #shopline-section-announcement-bar .announcement-bar--item p { font-size: 12.5px; line-height: 1.35; }
}

/* ---------- Fiche produit, version premium ---------- */
/* Tout le bloc d'achat dans un encart beige doux arrondi, à côté du visuel sur fond blanc. */
product-info.product__info-container {
  background: var(--ma-soft); border: 1px solid rgba(201, 162, 75, .22); border-radius: 26px;
  padding: clamp(20px, 3vw, 34px) !important; box-shadow: 0 24px 60px -40px rgba(12, 59, 38, .35);
}
product-info .breadcrumb { font-size: 12px; color: var(--ma-muted); }
product-info .product-title { color: var(--ma-night); line-height: 1.12; }
product-info .price__sale, product-info .price-item--sale, product-info .cart__price-zone .price-item:first-child { color: var(--ma-night) !important; font-weight: 700; }
product-info s, product-info .price-item--regular { color: #8b928d !important; }
product-info .price__badge-sale, product-info [class*="discount"] { border-radius: 999px; }
/* Délai et stock : deux pastilles blanches sobres plutôt que deux encadrés jaunes. */
product-info .ma-deadline { background: #fff; border-color: var(--ma-line); margin: 0; }
product-info .ma-deadline::before { color: var(--ma-pine-2); }
product-info .ma-stock::before { content: "●"; color: #d4472f; font-size: 11px; animation: ma-pulse 1.6s ease-in-out infinite; }
@keyframes ma-pulse { 50% { opacity: .35; } }
product-info .product__info-item.m-26 { margin-bottom: 14px; }
/* Bouton d'achat : pleine largeur, vert sapin, bien visible. */
product-info .product-form__submit {
  border-radius: 999px !important; text-transform: uppercase; font-weight: 700 !important; letter-spacing: .06em !important;
  box-shadow: 0 14px 30px -14px rgba(12, 59, 38, .7); transition: transform .15s, background .15s;
}
product-info .product-form__submit:hover { background: var(--ma-pine-2) !important; border-color: var(--ma-pine-2) !important; transform: translateY(-1px); }
/* Réassurance : liste encadrée avec séparateurs, icônes vert sapin. */
product-info .product__sell-info {
  background: #fff; border: 1px solid var(--ma-line); border-radius: 16px; padding: 4px 16px; gap: 0 !important;
}
product-info .product__sell-info > * { padding: 11px 0; border-bottom: 1px solid var(--ma-line); margin: 0 !important; font-size: 14px; }
product-info .product__sell-info > *:last-child { border-bottom: 0; }
product-info .product__sell-info svg { color: var(--ma-night); }
product-info .ba-tabs { background: #fff; border: 1px solid var(--ma-line); }
/* Visuels sur fond blanc : coins arrondis, vignettes au liseré vert sapin. */
.product__media-wrapper img, .product__media img { border-radius: 18px; }
.product__media-wrapper [class*="thumbnail"][aria-current="true"], .product__media-wrapper .is-active img { outline: 2px solid var(--ma-night); outline-offset: 2px; border-radius: 12px; }
@media (max-width: 959px) {
  product-info.product__info-container { margin-top: 14px; border-radius: 22px; }
}
/* Pas d'ajout rapide depuis les vignettes : achat uniquement depuis la fiche produit. */
.card .quick-add-button, .product-card-wrapper .quick-add-button, [class*="card"] .quick-add-button,
.quick-add-button--hover, .card__quick-add { display: none !important; }


/* Fix : product-info est un element personnalise inline, son fond/bordure/coins arrondis ne se dessinaient que sur un fragment (petit bout beige) */
product-info.product__info-container { display: block; }

/* Badge Black Friday a cote de chaque prix (vignettes, fiches produit), hors panier */
.price__container .price__sale { column-gap: 8px; row-gap: 5px; }
.price__container .price__sale::after { content: "Black Friday"; order: 9; display: inline-flex; align-items: center; align-self: center; height: 20px; box-sizing: border-box; padding: 0 8px; border-radius: 4px; background: var(--ma-night); color: #f3dfa6; border: 1px solid var(--ma-gold); font: 700 10px/1 var(--body-font); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
cart-drawer .price__container .price__sale::after, .cart-item .price__container .price__sale::after, .main-cart-items-wrapper .price__container .price__sale::after { content: none !important; }

/* Pas de selecteur de quantite (fiche produit et panier) : le champ reste dans le formulaire avec la valeur 1 */
.product__info-item--quantity-input, .cart-item__quantity .quantity, .cart-item__quantity-rules { display: none !important; }