/* Strikethrough propre pour tous les prix WooCommerce (del/ins), quel que soit le contexte : le
   text-decoration natif se désaligne souvent avec le symbole € imbriqué, on trace donc la ligne
   nous-mêmes via un pseudo-élément pour un rendu net et centré partout sur le site. */
del:has(.woocommerce-Price-amount) { position: relative; text-decoration: none; }
del:has(.woocommerce-Price-amount)::after { position: absolute; top: 52%; left: 0; right: 0; border-top: 1px solid currentColor; content: ""; }
ins:has(.woocommerce-Price-amount) { text-decoration: none; }

.c3-announcement { display: grid; height: 32px; place-items: center; padding-inline: var(--space-2); background: var(--c3-black); color: var(--c3-white); font-size: 10px; font-weight: 700; letter-spacing: .02em; text-align: center; white-space: nowrap; }
.c3-header { position: sticky; z-index: var(--z-header); top: 0; height: 64px; border-bottom: 1px solid var(--c3-border); background: var(--c3-white); }
.c3-header__inner { display: grid; height: 100%; grid-template-columns: 44px 1fr auto; align-items: center; gap: var(--space-3); }
.c3-header__menu, .c3-header__search, .c3-header__account, .c3-cart-trigger, .c3-cart-drawer__header button { display: inline-grid; width: 44px; height: 44px; place-items: center; padding: 0; background: transparent; color: var(--c3-black); }
.c3-header__logo { justify-self: center; font-size: .75rem; font-weight: 700; letter-spacing: .11em; line-height: .92; text-align: center; }
.c3-header__logo img { width: 112px; max-height: 42px; object-fit: contain; }
.c3-nav--desktop { display: none; }
.c3-header__actions { display: flex; align-items: center; justify-self: end; gap: 2px; }
.c3-header__search .c3-icon, .c3-header__account .c3-icon, .c3-cart-trigger .c3-icon { width: 22px; height: 22px; }
.c3-cart-trigger { position: relative; }
.c3-cart-trigger__count { position: absolute; top: 2px; right: 0; display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: var(--radius-pill); background: var(--c3-black); color: var(--c3-white); font-size: 10px; }

/* Ancien overlay « Que cherches-tu ? » (char3i-core) : désactivé, on garde uniquement le typeahead thème. */
.c3-search-panel,
[data-c3-search-panel] { display: none !important; visibility: hidden !important; pointer-events: none !important; }

/* Overlay recherche + typeahead */
.c3-search { position: fixed; inset: 0; z-index: calc(var(--z-header) + 20); display: grid; align-content: start; }
.c3-search[hidden] { display: none !important; }
.c3-search__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.c3-search__panel { position: relative; z-index: 1; width: min(100%, 720px); margin: clamp(72px, 12vh, 120px) auto 0; border: 1px solid var(--c3-border); background: #fff; box-shadow: 0 24px 80px rgba(0, 0, 0, .18); }
.c3-search__bar { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 4px; border-bottom: 1px solid var(--c3-border); padding: 10px 10px 10px 14px; }
.c3-search__form { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-width: 0; }
.c3-search__icon { display: grid; place-items: center; color: #71717a; }
.c3-search__icon .c3-icon { width: 20px; height: 20px; }
.c3-search__input { width: 100%; min-height: 44px; border: 0; padding: 0; background: transparent; font-size: 1.05rem; outline: none; }
.c3-search__submit { min-height: 36px; border: 1px solid #000; padding: 0 14px; background: #000; color: #fff; font-size: .72rem; font-weight: 750; letter-spacing: .06em; }
.c3-search__close { display: inline-grid; width: 44px; height: 44px; place-items: center; background: transparent; }
.c3-search__body { max-height: min(60vh, 420px); overflow: auto; }
.c3-search__status { margin: 0; padding: 18px 20px; color: #71717a; font-size: .9rem; }
.c3-search__results { margin: 0; padding: 0; list-style: none; }
.c3-search__item { border-top: 1px solid var(--c3-border); }
.c3-search__item:first-child { border-top: 0; }
.c3-search__link { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 16px; color: inherit; text-decoration: none; }
.c3-search__link:hover, .c3-search__link:focus-visible { background: #f4f4f5; }
.c3-search__thumb { display: block; width: 56px; height: 56px; overflow: hidden; background: #f4f4f5; }
.c3-search__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.c3-search__meta { display: grid; gap: 2px; min-width: 0; }
.c3-search__meta strong { font-size: .95rem; line-height: 1.25; }
.c3-search__meta small { color: #71717a; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.c3-search__price { font-size: .85rem; font-weight: 650; white-space: nowrap; }
body.c3-search-open { overflow: hidden; }
@media (max-width: 719px) {
	.c3-search__panel { width: 100%; margin-top: 0; min-height: 100%; border: 0; box-shadow: none; }
	.c3-search__body { max-height: none; }
}
.c3-mobile-nav { position: fixed; z-index: var(--z-overlay); top: 96px; right: 0; bottom: 0; left: 0; overflow-y: auto; border-top: 1px solid var(--c3-border); padding: var(--space-6) var(--c3-gutter); background: var(--c3-white); }
.c3-mobile-nav__list, .c3-nav__list { margin: 0; padding: 0; list-style: none; }
.c3-mobile-nav__list a { display: flex; min-height: 56px; align-items: center; border-bottom: 1px solid var(--c3-border); font-size: 1.25rem; font-weight: 700; }
.c3-footer { border-top: 1px solid var(--c3-border); }
.c3-footer__story { padding-block: var(--space-12); }
.c3-footer__story h2 { max-width: 680px; }
.c3-footer__story > p:last-child { max-width: 760px; color: var(--c3-text-secondary); }
.c3-footer__newsletter { padding-block: var(--space-8); background: var(--c3-black); color: var(--c3-white); }
.c3-newsletter { display: grid; gap: var(--space-5); }
.c3-newsletter > *,.c3-newsletter__form { min-width:0; }
.c3-newsletter h2, .c3-newsletter p { margin-bottom: var(--space-2); }
.c3-newsletter__form { display: grid; gap: var(--space-2); }
.c3-newsletter__form input, .c3-newsletter__form button { min-height: 52px; border: 1px solid var(--c3-white); border-radius: var(--radius-sm); padding-inline: var(--space-4); }
.c3-newsletter__form input { background: var(--c3-black); color: var(--c3-white); }
.c3-newsletter__form button { background: var(--c3-white); color: var(--c3-black); font-weight: 700; }
.c3-footer__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-5); padding-block: var(--space-12); }
.c3-footer__links > div { display: grid; align-content: start; gap: var(--space-2); }
.c3-footer__links strong { margin-bottom: var(--space-2); font-size: var(--fs-small); }
.c3-footer__links a { color: var(--c3-text-secondary); font-size: var(--fs-small); }
.c3-footer__bottom { display: flex; justify-content: space-between; border-top: 1px solid var(--c3-border); padding-block: var(--space-5); color: var(--c3-text-muted); font-size: var(--fs-micro); }
@media (min-width: 768px) {
  .c3-announcement { height: 36px; font-size: 12px; }
  .c3-newsletter { grid-template-columns: 1fr minmax(380px, .8fr); align-items: center; }
  .c3-newsletter__form { grid-template-columns: 1fr auto; }
  .c3-footer__links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .c3-header { height: 76px; }
  .c3-header__inner { grid-template-columns: auto 1fr auto; gap: var(--space-10); }
  .c3-header__menu { display: none; }
  .c3-header__logo { justify-self: start; }
  .c3-header__logo img { width: 132px; }
  .c3-nav--desktop { display: block; }
  .c3-nav__list { display: flex; align-items: center; gap: var(--space-8); }
  .c3-nav__link { display: inline-flex; font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; }
  .c3-mobile-nav { display: none !important; }
}

.c3-announcement { position: relative; overflow: hidden; }
.c3-announcement__track { position: relative; width: 100%; height: 100%; }
.c3-announcement__track > * { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .35s ease, transform .35s ease; }
.c3-announcement__track > *.is-active { opacity: 1; pointer-events: auto; transform: translateY(0); }
.c3-announcement__zones { display: inline-flex; align-items: center; justify-content: center; gap: .4em; }
.c3-announcement__flags { display: inline-flex; align-items: center; gap: .35em; }
.c3-announcement__zones .c3-flag { width: 18px; height: 12px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.55); }
.c3-footer { border: 0; background: var(--c3-black); color: var(--c3-white); }
.c3-footer__newsletter { border-bottom: 1px solid #303030; padding-block: clamp(48px,7vw,88px); }
.c3-footer__newsletter .c3-eyebrow { color: var(--c3-border-strong); }
.c3-newsletter h2 { font-size: clamp(2rem,4vw,4rem); }
.c3-newsletter-fallback { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.c3-newsletter-fallback small { grid-column: 1 / -1; color: var(--c3-border-strong); font-size: .62rem; }
.c3-footer__main { display: grid; gap: 56px; padding-block: clamp(56px,8vw,100px); }
.c3-footer__brand > a strong { display: block; font-size: clamp(3rem,7vw,7rem); letter-spacing: -.04em; line-height: .78; }
.c3-footer__brand > p { margin-top: 22px; color: var(--c3-border-strong); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.c3-footer__social { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 34px; }
.c3-footer__social a { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; }
.c3-footer__social .c3-icon { width: 23px; height: 23px; }
.c3-footer__links { padding: 0; }
.c3-footer__links strong { color: var(--c3-white); }
.c3-footer__links a { color: #c5c5c5; }
.c3-footer__bottom { border-color: #303030; color: #9a9a9a; }
.c3-footer__zones { display: inline-flex; gap: 6px; }
.c3-footer__zones .c3-flag { width: 1.3em; height: .9em; }
@media (min-width: 1024px) { .c3-footer__main { grid-template-columns: .85fr 1.15fr; align-items: start; } }
@media (max-width:480px) { .c3-newsletter-fallback { grid-template-columns:1fr; } .c3-newsletter-fallback input,.c3-newsletter-fallback button { width:100%; min-width:0; } }
.c3-flag { display: inline-block; width: 1.15em; height: .8em; flex-shrink: 0; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.15); vertical-align: -.08em; }

.c3-visual-placeholder { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; border: 1px solid var(--c3-border); background: var(--c3-white); color: var(--c3-text-muted); text-align: center; }
.c3-visual-placeholder > span { max-width: 82%; font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase; }
.c3-visual-placeholder--1-1 { aspect-ratio: 1 / 1; }
.c3-visual-placeholder--4-3 { aspect-ratio: 4 / 3; }
.c3-visual-placeholder--4-5 { aspect-ratio: 4 / 5; }
.c3-visual-placeholder--9-16 { aspect-ratio: 9 / 16; }
.c3-visual-placeholder--16-9 { aspect-ratio: 16 / 9; }
.c3-visual-placeholder--3-2 { aspect-ratio: 3 / 2; }

.c3-utility-page { padding-block: var(--space-12) var(--space-24); }
.c3-sitemap__head { max-width: 640px; margin-bottom: var(--space-12); }
.c3-sitemap__head h1 { margin-block: var(--space-2) var(--space-3); }
.c3-sitemap__group { margin-bottom: var(--space-12); }
.c3-sitemap__group h2 { margin-bottom: var(--space-4); font-size: var(--fs-h3); }
.c3-sitemap__list { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; border: 1px solid var(--c3-border); border-radius: var(--radius-md); overflow: hidden; background: var(--c3-border); }
.c3-sitemap__list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--c3-white); }
.c3-sitemap__list a { font-weight: 700; }
.c3-sitemap__slug { color: var(--c3-text-muted); font-size: var(--fs-small); }
.c3-sitemap__flag { color: #b3261e; font-size: var(--fs-small); }

.c3-legal-page__head { max-width: 680px; margin-bottom: var(--space-12); }
.c3-legal-page__head h1 { margin-block: var(--space-2) var(--space-3); font-size: clamp(2rem,4vw,3rem); }
.c3-legal-page__head p { color: var(--c3-text-secondary); }
.c3-legal-page__grid { display: grid; gap: var(--space-4); margin-bottom: var(--space-16); }
@media (min-width: 720px) { .c3-legal-page__grid { grid-template-columns: repeat(3, 1fr); } }
.c3-legal-card { border: 1px solid var(--c3-border); border-radius: var(--radius-lg); padding: var(--space-6); }
.c3-legal-card h2 { margin: 0 0 var(--space-2); font-size: .9rem; letter-spacing: .02em; text-transform: uppercase; }
.c3-legal-card__price { display: flex; gap: 8px; align-items: center; margin: 0 0 var(--space-3); font-size: 1.6rem; font-weight: 800; }
.c3-legal-card p:not(.c3-legal-card__price) { margin: 0; color: var(--c3-text-secondary); font-size: .9rem; }
.c3-legal-page__prose { max-width: 720px; }
.c3-legal-page__prose h2 { margin: var(--space-10) 0 var(--space-3); font-size: 1.2rem; }
.c3-legal-page__prose h2:first-child { margin-top: 0; }
.c3-legal-page__prose p { color: var(--c3-text-secondary); }
.c3-legal-page__prose a { color: var(--c3-black); text-decoration: underline; text-underline-offset: 3px; }
.c3-visual-photo { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-default) ease; }
.c3-product-card__brand { background: var(--c3-black); border-color: var(--c3-black); }
.c3-product-card__wordmark { max-width: none; font-family: var(--font-serif, inherit); font-size: 1.35rem; font-weight: 600; letter-spacing: .12em; line-height: 1.3; color: var(--c3-white); }
.c3-product-card__brand img { max-width: 60%; max-height: 60%; object-fit: contain; }
.c3-faq-page .c3-section-head { max-width:760px; margin-bottom:clamp(36px,6vw,72px); }
.c3-faq-page__layout { display:grid; gap:36px; }
.c3-faq-page__nav { display:flex; flex-wrap:wrap; gap:8px; }
.c3-faq-page__nav a { border:1px solid var(--c3-black); padding:10px 14px; font-size:.75rem; font-weight:700; text-transform:uppercase; }
.c3-faq-page__content { display:grid; gap:clamp(42px,7vw,86px); }
.c3-faq-page__content > section { scroll-margin-top:110px; }
.c3-faq-page__content > section > h2 { margin-bottom:22px; font-size:clamp(1.7rem,3vw,2.6rem); }
.c3-faq-support { padding:clamp(28px,5vw,60px); background:#000; color:#fff; }
.c3-faq-support h2 { color:inherit; }
.c3-faq-support a:not(.c3-button) { text-decoration:underline; }
.c3-faq-support > div { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.c3-faq-support .c3-button--primary { border-color:#fff; background:#fff; color:#000; }
.c3-faq-support .c3-button--secondary { border-color:#fff; color:#fff; }
@media (min-width:900px) { .c3-faq-page__layout { grid-template-columns:220px minmax(0,1fr); align-items:start; } .c3-faq-page__nav { position:sticky; top:110px; flex-direction:column; } }
.c3-bundle-card__placeholder { background: var(--c3-surface-strong); }
.c3-cart-item__placeholder, .c3-cart-upsell__placeholder, .c3-inline-upsell__placeholder { width: 100%; height: 100%; }
.c3-cart-item__placeholder > span, .c3-cart-upsell__placeholder > span, .c3-inline-upsell__placeholder > span, .c3-gallery-thumb__placeholder > span { font-size: 8px; letter-spacing: 0; }
