/*
Theme Name: INDYKA Child
Template: kadence
Description: Thème enfant Kadence pour le site Drive CBD INDYKA. Drive : commande en ligne, paiement en magasin uniquement.
Author: INDYKA
Version: 0.3.0
Text Domain: indyka-child
License: Proprietary
*/

/* ==========================================================================
   INDYKA Child — feuille de styles enfant
   Charte couleurs et typographie : voir tâches 6-7 du plan.
   ========================================================================== */


/* ==========================================================================
   1. PALETTE — design tokens (couleurs brutes)
   Source de vérité unique pour toutes les couleurs INDYKA.
   Si une teinte change, on la modifie ICI et nulle part ailleurs.
   ========================================================================== */

:root {

	/* Bordeaux — couleur principale de la marque (logo) */
	--indyka-green-deep:  #4A1225;  /* bordeaux profond (logo) — CTA, bandeau réassurance, titres */
	--indyka-green-soft:  #7A2135;  /* bordeaux clair — survols, accents secondaires */

	/* Tons chauds neutres — fonds et surfaces */
	--indyka-beige:       #E8DFC9;  /* beige doux — sections alternées */
	--indyka-ivory:       #F4EFE2;  /* ivoire — cards, fonds clairs */
	--indyka-white:       #FAF8F2;  /* blanc cassé — fond principal, inputs */

	/* Texte et structure */
	--indyka-anthracite:  #1F1D1A;  /* texte principal, footer */

	/* Accent premium — à utiliser avec parcimonie */
	--indyka-gold:        #E39A1C;  /* doré vif (logo) — badges Best seller, accents */
	--indyka-vermillon:   #C43C1F;  /* vermillon (logo) — promos, accents chauds */
	--indyka-grad-braise: linear-gradient(135deg,#4A1225 0%,#8F1E2E 50%,#C43C1F 100%);  /* dégradé signature */
	--indyka-grad-or:     linear-gradient(90deg,#C43C1F 0%,#E39A1C 100%);

	/* États */
	--indyka-error:       #A8443B;  /* rouge sourd — erreurs, rupture de stock */
	--indyka-success:     #3F7A5A;  /* vert validation — confirmations */

	/* Échelle de gris dérivée — utile pour bordures, séparateurs, états désactivés */
	--indyka-gray-100:    #EFEDE7;
	--indyka-gray-200:    #DCD7CB;
	--indyka-gray-400:    #9E9990;
	--indyka-gray-600:    #5C5852;

}


/* ==========================================================================
   2. ALIAS SÉMANTIQUES — usage par rôle
   On pointe les "rôles" de l'interface vers la palette ci-dessus.
   Quand un composant a besoin d'une couleur, il consomme un alias sémantique
   (ex: var(--color-bg)) et JAMAIS un token brut (ex: var(--indyka-white)).
   ========================================================================== */

:root {

	/* Surfaces */
	--color-bg:             var(--indyka-white);       /* fond principal */
	--color-bg-alt:         var(--indyka-ivory);       /* fond alternatif (sections paires) */
	--color-bg-soft:        var(--indyka-beige);       /* fond doux (highlight discret) */
	--color-surface:        var(--indyka-white);       /* cards, modales */

	/* Texte */
	--color-text:           var(--indyka-anthracite);  /* texte principal */
	--color-text-muted:     var(--indyka-gray-600);    /* texte secondaire (date, sous-titre) */
	--color-text-on-dark:   var(--indyka-white);       /* texte sur fond foncé */

	/* Marque et CTA */
	--color-primary:        var(--indyka-green-deep);  /* boutons CTA, accents principaux */
	--color-primary-hover:  var(--indyka-green-soft);  /* survol des éléments primaires */
	--color-accent:         var(--indyka-gold);        /* badges premium, liens d'accent */

	/* Bordures et séparateurs */
	--color-border:         var(--indyka-gray-200);
	--color-border-strong:  var(--indyka-gray-400);

	/* États */
	--color-error:          var(--indyka-error);
	--color-success:        var(--indyka-success);

	/* Marqueur — confirme côté DOM que le child theme est chargé */
	--indyka-child-loaded: 1;

}


/* ==========================================================================
   3. TYPOGRAPHIE — design tokens
   Polices chargées en LOCAL via Kadence Pro (Customizer → Performance → Local Fonts).
   Noms de famille référencés ici, fallbacks robustes en cas d'échec de chargement.
   ========================================================================== */

:root {

	/* Familles de polices */
	--font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Tailles fluides — clamp(min, idéal, max) pour un mobile-first sans media queries */
	--fs-display:   clamp(2.5rem, 5vw + 1rem, 4.5rem);   /* hero */
	--fs-h1:        clamp(2rem,   3.5vw + 1rem, 3rem);
	--fs-h2:        clamp(1.5rem, 2.5vw + 0.8rem, 2.25rem);
	--fs-h3:        clamp(1.25rem, 1.8vw + 0.7rem, 1.625rem);
	--fs-h4:        clamp(1.125rem, 1vw + 0.7rem, 1.25rem);
	--fs-body:      1rem;       /* 16px */
	--fs-small:     0.875rem;   /* 14px */
	--fs-tiny:      0.75rem;    /* 12px */

	/* Hauteurs de ligne */
	--lh-tight:     1.15;   /* titres serrés */
	--lh-snug:      1.35;   /* sous-titres */
	--lh-normal:    1.6;    /* corps de texte */
	--lh-loose:     1.85;   /* paragraphes longs, pages légales */

	/* Graisses */
	--fw-regular:   400;
	--fw-medium:    500;
	--fw-semibold:  600;
	--fw-bold:      700;

	/* Espacement de lettres */
	--ls-tight:    -0.02em;   /* gros titres serif */
	--ls-normal:    0;
	--ls-wide:      0.05em;   /* small caps, labels en majuscules */

}


/* ==========================================================================
   4. BASE TYPOGRAPHIQUE — application des tokens
   Surcharge minime de Kadence : on impose nos familles et notre échelle.
   Kadence reste responsable du reste (couleurs auto, espacements, etc.).
   ========================================================================== */

body {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-regular);
	line-height: var(--lh-normal);
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	color: var(--color-text);
}

h1, .h1 { font-size: var(--fs-h1); }
h2, .h2 { font-size: var(--fs-h2); }
h3, .h3 { font-size: var(--fs-h3); }
h4, .h4 { font-size: var(--fs-h4); line-height: var(--lh-snug); }

p {
	margin: 0 0 1em;
	max-width: 70ch;   /* lisibilité optimale, ~70 caractères par ligne */
}

small,
.text-small {
	font-size: var(--fs-small);
}


/* ==========================================================================
   5. TOKENS DE COMPOSANTS — espacements, rayons, ombres, transitions
   Réutilisables pour boutons, cards, badges, inputs.
   ========================================================================== */

:root {

	/* Échelle d'espacement (rem = 16px par défaut) */
	--space-2xs:   0.25rem;   /* 4px  */
	--space-xs:    0.5rem;    /*  8px */
	--space-sm:    0.75rem;   /* 12px */
	--space-md:    1rem;      /* 16px */
	--space-lg:    1.5rem;    /* 24px */
	--space-xl:    2rem;      /* 32px */
	--space-2xl:   3rem;      /* 48px */

	/* Rayons de courbure */
	--radius-sm:   4px;
	--radius-md:   8px;
	--radius-lg:   12px;
	--radius-xl:   16px;
	--radius-pill: 999px;

	/* Ombres — cohérentes avec une marque premium (douces, jamais agressives) */
	--shadow-soft:    0 1px 2px rgba(31, 29, 26, 0.04), 0 2px 6px rgba(31, 29, 26, 0.04);
	--shadow-lift:    0 4px 12px rgba(31, 29, 26, 0.08), 0 2px 4px rgba(31, 29, 26, 0.04);
	--shadow-strong:  0 8px 24px rgba(31, 29, 26, 0.12), 0 4px 8px rgba(31, 29, 26, 0.06);

	/* Transitions */
	--ease-out:    cubic-bezier(0.22, 0.61, 0.36, 1);
	--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--dur-fast:    150ms;
	--dur-normal:  220ms;
	--dur-slow:    400ms;

}


/* ==========================================================================
   6. BOUTONS
   3 variantes : primary (vert), secondary (beige), ghost (contour vert).
   Préfixés .indyka-btn pour éviter les collisions Kadence/WooCommerce/Elementor.
   ========================================================================== */

.indyka-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	line-height: 1;
	text-decoration: none;
	letter-spacing: 0.01em;
	padding: 0.85rem 1.5rem;
	border-radius: var(--radius-md);
	border: 1px solid transparent;
	cursor: pointer;
	transition:
		background-color var(--dur-normal) var(--ease-out),
		color var(--dur-normal) var(--ease-out),
		border-color var(--dur-normal) var(--ease-out),
		transform var(--dur-fast) var(--ease-out),
		box-shadow var(--dur-normal) var(--ease-out);
	user-select: none;
}

.indyka-btn:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.indyka-btn:active {
	transform: translateY(1px);
}

.indyka-btn:disabled,
.indyka-btn[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Variante 1 — primaire (CTA forts : "Ajouter au panier", "Valider la commande") */
.indyka-btn--primary {
	background-color: var(--color-primary);
	color: var(--color-text-on-dark);
}

.indyka-btn--primary:hover:not(:disabled) {
	background-color: var(--color-primary-hover);
	box-shadow: var(--shadow-soft);
}

/* Variante 2 — secondaire (actions moins critiques : "Voir tous les produits") */
.indyka-btn--secondary {
	background-color: var(--indyka-beige);
	color: var(--color-text);
}

.indyka-btn--secondary:hover:not(:disabled) {
	background-color: var(--indyka-ivory);
	box-shadow: var(--shadow-soft);
}

/* Variante 3 — ghost (liens stylés : "En savoir plus", retours) */
.indyka-btn--ghost {
	background-color: transparent;
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.indyka-btn--ghost:hover:not(:disabled) {
	background-color: var(--color-primary);
	color: var(--color-text-on-dark);
}

/* Tailles alternatives */
.indyka-btn--sm {
	font-size: var(--fs-small);
	padding: 0.6rem 1.1rem;
}

.indyka-btn--lg {
	font-size: 1.0625rem;
	padding: 1.05rem 1.85rem;
}

/* Pleine largeur (pour mobile / tunnel checkout) */
.indyka-btn--block {
	display: flex;
	width: 100%;
}


/* ==========================================================================
   7. BADGES
   Petites étiquettes pour qualifier un produit (best seller, bio, rupture).
   ========================================================================== */

.indyka-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2xs);
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	font-weight: var(--fw-medium);
	line-height: 1;
	letter-spacing: 0.04em;
	padding: 0.4rem 0.75rem;
	border-radius: var(--radius-pill);
	white-space: nowrap;
}

/* Variantes sémantiques */
.indyka-badge--gold {
	background-color: var(--indyka-gold);
	color: var(--color-text-on-dark);
}

.indyka-badge--green {
	background-color: var(--indyka-green-soft);
	color: var(--color-text-on-dark);
}

.indyka-badge--success {
	background-color: var(--color-success);
	color: var(--color-text-on-dark);
}

.indyka-badge--error {
	background-color: var(--color-error);
	color: var(--color-text-on-dark);
}

.indyka-badge--neutral {
	background-color: var(--indyka-gray-100);
	color: var(--color-text);
	border: 1px solid var(--color-border);
}


/* ==========================================================================
   8. CARDS
   Containers polyvalents (produit, section, info). Effet "lift" doux au survol.
   ========================================================================== */

.indyka-card {
	display: flex;
	flex-direction: column;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition:
		transform var(--dur-normal) var(--ease-out),
		box-shadow var(--dur-normal) var(--ease-out),
		border-color var(--dur-normal) var(--ease-out);
}

.indyka-card--interactive:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-lift);
	border-color: var(--color-border-strong);
}

.indyka-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background-color: var(--indyka-beige);
	overflow: hidden;
}

.indyka-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--dur-slow) var(--ease-out);
}

.indyka-card--interactive:hover .indyka-card__media img {
	transform: scale(1.04);
}

.indyka-card__media-badges {
	position: absolute;
	top: var(--space-sm);
	left: var(--space-sm);
	display: flex;
	gap: var(--space-2xs);
	flex-wrap: wrap;
}

.indyka-card__body {
	padding: var(--space-md) var(--space-lg) var(--space-lg);
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	flex-grow: 1;
}

.indyka-card__category {
	font-size: var(--fs-tiny);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	color: var(--color-primary);
	font-weight: var(--fw-medium);
}

.indyka-card__title {
	font-family: var(--font-heading);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--color-text);
	margin: 0;
	line-height: var(--lh-snug);
}

.indyka-card__price {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text);
	margin-top: auto;
	padding-top: var(--space-xs);
}

.indyka-card__price strong {
	font-weight: var(--fw-semibold);
	color: var(--color-primary);
}


/* ==========================================================================
   9. INPUTS — champs de formulaire
   Style cohérent pour les inputs texte, email, tel, textarea.
   ========================================================================== */

.indyka-input,
.indyka-input-wrapper input[type="text"],
.indyka-input-wrapper input[type="email"],
.indyka-input-wrapper input[type="tel"],
.indyka-input-wrapper textarea {
	display: block;
	width: 100%;
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 0.85rem var(--space-md);
	transition:
		border-color var(--dur-normal) var(--ease-out),
		box-shadow var(--dur-normal) var(--ease-out);
}

.indyka-input::placeholder,
.indyka-input-wrapper input::placeholder,
.indyka-input-wrapper textarea::placeholder {
	color: var(--color-text-muted);
	opacity: 1;
}

.indyka-input:focus,
.indyka-input:focus-visible,
.indyka-input-wrapper input:focus,
.indyka-input-wrapper textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(74, 18, 37, 0.12);  /* halo vert très subtil */
}

.indyka-input--error {
	border-color: var(--color-error);
}

.indyka-input--error:focus {
	box-shadow: 0 0 0 3px rgba(168, 68, 59, 0.15);
}

.indyka-label {
	display: block;
	font-size: var(--fs-small);
	font-weight: var(--fw-medium);
	color: var(--color-text);
	margin-bottom: var(--space-xs);
	letter-spacing: 0.01em;
}

.indyka-help {
	display: block;
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	margin-top: var(--space-2xs);
}

.indyka-error-msg {
	display: block;
	font-size: var(--fs-small);
	color: var(--color-error);
	margin-top: var(--space-2xs);
	font-weight: var(--fw-medium);
}


/* ==========================================================================
   10. RESPECT DES UTILISATEURS — préférence pour mouvements réduits
   Si l'utilisateur a activé "réduire les animations" dans son OS,
   on désactive les transitions pour respecter son confort.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.indyka-btn,
	.indyka-card,
	.indyka-card__media img,
	.indyka-input {
		transition: none;
	}

	.indyka-card--interactive:hover {
		transform: none;
	}

	.indyka-card--interactive:hover .indyka-card__media img {
		transform: none;
	}

}


/* ==========================================================================
   11. HERO PRODUIT ÉDITORIAL — section "Amnesia à la une"
   Composition cinématographique avec logo animé, anneaux d'or, marquee,
   labels apothicaires et hiérarchie typo grand cru.
   Réutilisable pour mettre n'importe quel produit en avant.
   ========================================================================== */

/* MARQUEE — bandeau défilant */
.indyka-marquee {
	background-color: #0A1F17;
	color: var(--indyka-gold);
	padding: var(--space-xs) 0;
	overflow: hidden;
	border-bottom: 1px solid rgba(227, 154, 28, 0.18);
}

.indyka-marquee__track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	gap: 56px;
	white-space: nowrap;
	animation: indykaMarquee 50s linear infinite;
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: var(--fw-medium);
}

.indyka-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
	white-space: nowrap;
}

.indyka-marquee__star {
	color: var(--indyka-gold);
	font-size: 10px;
	flex-shrink: 0;
}

@keyframes indykaMarquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}


/* HERO ÉDITORIAL */
.indyka-hero-product {
	position: relative;
	background-color: #0A1F17;
	color: var(--indyka-white);
	overflow: hidden;
	padding: 4rem var(--space-md) 3.5rem;
}

.indyka-hero-product::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 50% 28%, rgba(227, 154, 28, 0.16) 0%, transparent 52%),
		radial-gradient(ellipse at 18% 100%, rgba(122, 33, 53, 0.4) 0%, transparent 55%),
		radial-gradient(ellipse at 88% 88%, rgba(120, 40, 30, 0.18) 0%, transparent 50%);
	pointer-events: none;
	animation: indykaBreathe 9s ease-in-out infinite;
}

.indyka-hero-product::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(250, 248, 242, 0.018) 1px, transparent 0);
	background-size: 22px 22px;
	pointer-events: none;
}

.indyka-hero-product__inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

@keyframes indykaBreathe {
	0%, 100% { opacity: 1; }
	50%      { opacity: 0.78; }
}


/* FILIGRANES DANS LES COINS */
.indyka-hero-flourish {
	position: absolute;
	width: 60px;
	height: 60px;
	z-index: 3;
	opacity: 0;
	animation: indykaFadeIn 1200ms 200ms forwards;
}

.indyka-hero-flourish--tl { top: 12px; left: 12px; }
.indyka-hero-flourish--tr { top: 12px; right: 12px; transform: scaleX(-1); }
.indyka-hero-flourish--bl { bottom: 12px; left: 12px; transform: scaleY(-1); }
.indyka-hero-flourish--br { bottom: 12px; right: 12px; transform: scale(-1, -1); }


/* PARTICULES DORÉES */
.indyka-hero-particles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

.indyka-hero-particle {
	position: absolute;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: var(--indyka-gold);
	opacity: 0;
	pointer-events: none;
}

.indyka-hero-particle:nth-child(1) { top: 22%; left: 14%;  animation: indykaFloat1 11s ease-in-out infinite 2s; }
.indyka-hero-particle:nth-child(2) { top: 68%; left: 22%;  animation: indykaFloat2 13s ease-in-out infinite 3s; }
.indyka-hero-particle:nth-child(3) { top: 30%; right: 12%; animation: indykaFloat3 15s ease-in-out infinite 1s; }
.indyka-hero-particle:nth-child(4) { top: 78%; right: 28%; animation: indykaFloat1 14s ease-in-out infinite 4s; }
.indyka-hero-particle:nth-child(5) { top: 44%; left: 8%;   animation: indykaFloat2 12s ease-in-out infinite 5s; }

@keyframes indykaFloat1 {
	0%, 100% { opacity: 0; transform: translate(0, 0); }
	25%      { opacity: 0.7; transform: translate(8px, -12px); }
	50%      { opacity: 1; transform: translate(-4px, -22px); }
	75%      { opacity: 0.5; transform: translate(-12px, -10px); }
}

@keyframes indykaFloat2 {
	0%, 100% { opacity: 0; transform: translate(0, 0); }
	30%      { opacity: 0.8; transform: translate(-10px, -8px); }
	60%      { opacity: 1; transform: translate(6px, -18px); }
	85%      { opacity: 0.4; transform: translate(10px, -4px); }
}

@keyframes indykaFloat3 {
	0%, 100% { opacity: 0; transform: translate(0, 0); }
	35%      { opacity: 0.6; transform: translate(-6px, 14px); }
	65%      { opacity: 0.9; transform: translate(8px, 22px); }
}


/* SPÉCIMEN — logo + anneaux + labels apothicaires */
.indyka-hero-specimen {
	position: relative;
	width: 100%;
	max-width: 380px;          /* labels collés aux anneaux, plus de zone vide */
	height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto var(--space-md);
}

.indyka-hero-specimen__frame {
	position: absolute;
	width: 290px;
	height: 290px;
	border: 0.5px solid rgba(227, 154, 28, 0.22);
	border-radius: 50%;
}

.indyka-hero-specimen__ring-1 {
	position: absolute;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	border: 1px solid rgba(227, 154, 28, 0.4);
	animation: indykaSpin 110s linear infinite;
}

.indyka-hero-specimen__ring-1::after {
	content: '';
	position: absolute;
	top: -3px;
	left: 50%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--indyka-gold);
	transform: translateX(-50%);
	box-shadow: 0 0 10px rgba(227, 154, 28, 0.7);
}

.indyka-hero-specimen__ring-2 {
	position: absolute;
	width: 198px;
	height: 198px;
	border-radius: 50%;
	border: 1px dashed rgba(227, 154, 28, 0.18);
	animation: indykaSpinReverse 80s linear infinite;
}

.indyka-hero-specimen__glow {
	position: absolute;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(227, 154, 28, 0.18) 0%, transparent 70%);
	animation: indykaGlow 5s ease-in-out infinite;
	pointer-events: none;
}

.indyka-hero-specimen__logo {
	position: relative;
	z-index: 1;
	opacity: 0;
	animation:
		indykaLogoIn 1400ms 300ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards,
		indykaLogoFloat 7s ease-in-out infinite 1700ms;
	filter: drop-shadow(0 0 22px rgba(227, 154, 28, 0.32));
}

.indyka-hero-specimen__logo img {
	display: block;
	width: 200px;
	height: auto;
	user-select: none;
}

@keyframes indykaSpin {
	from { transform: rotate(0); }
	to   { transform: rotate(360deg); }
}

@keyframes indykaSpinReverse {
	from { transform: rotate(0); }
	to   { transform: rotate(-360deg); }
}

@keyframes indykaLogoIn {
	0%   { opacity: 0; transform: scale(0.85); }
	100% { opacity: 1; transform: scale(1); }
}

@keyframes indykaLogoFloat {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-7px); }
}

@keyframes indykaGlow {
	0%, 100% { opacity: 0.6; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.08); }
}


/* LABELS APOTHICAIRES */
.indyka-spec-label {
	position: absolute;
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.9);
	font-weight: var(--fw-medium);
	opacity: 0;
	animation: indykaFadeIn 800ms forwards;
}

.indyka-spec-label small {
	display: block;
	font-size: 9px;
	opacity: 0.55;
	margin-top: 2px;
	letter-spacing: 0.1em;
	font-weight: var(--fw-regular);
}

.indyka-spec-label--tl { top: 0; left: 0; animation-delay: 1500ms; }
.indyka-spec-label--tr { top: 0; right: 0; animation-delay: 1650ms; text-align: right; }
.indyka-spec-label--bl { bottom: 0; left: 0; animation-delay: 1800ms; }
.indyka-spec-label--br { bottom: 0; right: 0; animation-delay: 1950ms; text-align: right; }


/* TYPOGRAPHIE HERO */
.indyka-hero-product__eyebrow {
	display: flex;                /* flex au lieu de text-align pour éviter le piège letter-spacing */
	align-items: center;
	justify-content: center;
	gap: 14px;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--indyka-gold);
	font-weight: var(--fw-medium);
	margin: 0 0 var(--space-md);
	padding-left: 0.34em;          /* compense le trailing letter-spacing */
	opacity: 0;
	animation: indykaFadeUp 800ms 2150ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-hero-product__eyebrow-line {
	display: inline-block;
	width: 28px;
	height: 1px;
	background: var(--indyka-gold);
	flex-shrink: 0;
	opacity: 0.55;
}

.indyka-hero-product__title {
	font-family: var(--font-heading);
	font-size: clamp(3.5rem, 11vw, 6.75rem);
	font-weight: var(--fw-medium);
	color: var(--indyka-white);
	line-height: 0.92;
	margin: 0;
	text-align: center;
	letter-spacing: -0.04em;
	opacity: 0;
	animation: indykaTitleIn 1400ms 2350ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-hero-product__subtitle {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-style: italic;
	color: rgba(250, 248, 242, 0.62);
	margin: var(--space-xs) 0 0;
	text-align: center;
	letter-spacing: 0.04em;
	opacity: 0;
	animation: indykaFadeUp 800ms 2700ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@keyframes indykaTitleIn {
	0%   { opacity: 0; transform: translateY(24px); letter-spacing: 0.06em; }
	100% { opacity: 1; transform: translateY(0); letter-spacing: -0.04em; }
}


/* DIVIDER ÉTOILE */
.indyka-hero-product__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: var(--space-xl) 0 var(--space-lg);
	opacity: 0;
	animation: indykaFadeIn 800ms 3000ms forwards;
}

.indyka-hero-product__divider-line {
	width: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 154, 28, 0.7), transparent);
	animation: indykaLineGrow 1000ms 3200ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes indykaLineGrow {
	to { width: 110px; }
}


/* DESCRIPTION */
.indyka-hero-product__desc {
	max-width: 460px;
	margin: 0 auto var(--space-xl);
	opacity: 0;
	animation: indykaFadeUp 800ms 3400ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-hero-product__desc p {
	font-family: var(--font-heading);
	font-size: 1.0625rem;
	font-style: italic;
	color: rgba(250, 248, 242, 0.78);
	line-height: 1.55;
	margin: 0;
	letter-spacing: 0.01em;
}

.indyka-hero-product__cap {
	font-size: 1.75rem;
	line-height: 0;
	vertical-align: -0.1em;
	color: var(--indyka-gold);
	margin-right: 2px;
	font-weight: var(--fw-medium);
}


/* NOTES DE DÉGUSTATION */
.indyka-hero-product__notes-wrap {
	margin: 0 auto var(--space-2xl);
	max-width: 460px;
	opacity: 0;
	animation: indykaFadeUp 800ms 3700ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-hero-product__notes-eyebrow {
	display: flex;                /* idem eyebrow principal */
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.75);
	font-weight: var(--fw-medium);
	margin: 0 0 var(--space-sm);
	padding-left: 0.32em;
}

.indyka-hero-product__notes-eyebrow span {
	display: inline-block;
	width: 16px;
	height: 1px;
	background: rgba(227, 154, 28, 0.5);
	flex-shrink: 0;
}

.indyka-hero-product__notes {
	display: flex;
	justify-content: center;
	gap: 0;
}

.indyka-hero-product__note {
	flex: 1;
	padding: 0 var(--space-md);
	position: relative;
}

.indyka-hero-product__note + .indyka-hero-product__note::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 1px;
	background: rgba(227, 154, 28, 0.28);
}

.indyka-hero-product__note-num {
	font-family: var(--font-heading);
	font-size: 0.8125rem;
	font-style: italic;
	color: var(--indyka-gold);
	display: block;
	margin-bottom: 4px;
	opacity: 0.85;
}

.indyka-hero-product__note-name {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--indyka-white);
	letter-spacing: 0.04em;
}


/* CTA + PRIX */
.indyka-hero-product__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xl);
	flex-wrap: wrap;
	opacity: 0;
	animation: indykaFadeUp 900ms 4000ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-hero-product__cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: transparent;
	color: var(--indyka-white);
	padding: 17px 38px;
	border: 1px solid rgba(250, 248, 242, 0.85);
	border-radius: 0;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-medium);
	text-decoration: none;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	position: relative;
	transition: color 320ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 320ms;
	overflow: hidden;
	cursor: pointer;
}

.indyka-hero-product__cta::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--indyka-gold);
	transform: translateY(101%);
	transition: transform 420ms cubic-bezier(0.65, 0, 0.35, 1);
	z-index: 0;
}

.indyka-hero-product__cta:hover::before { transform: translateY(0); }

.indyka-hero-product__cta:hover {
	border-color: var(--indyka-gold);
	color: #0A1F17;
}

.indyka-hero-product__cta-text,
.indyka-hero-product__cta-arrow {
	position: relative;
	z-index: 1;
}

.indyka-hero-product__cta-arrow {
	display: inline-block;
	transition: transform 320ms cubic-bezier(0.22, 0.61, 0.36, 1);
	font-size: 0.875rem;
}

.indyka-hero-product__cta:hover .indyka-hero-product__cta-arrow {
	transform: translateX(8px);
}

.indyka-hero-product__cta:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

.indyka-hero-product__price {
	text-align: center;
}

.indyka-hero-product__price-eyebrow {
	font-family: var(--font-body);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(250, 248, 242, 0.5);
	font-weight: var(--fw-medium);
	display: block;
	margin-bottom: 4px;
}

.indyka-hero-product__price-num {
	font-family: var(--font-heading);
	font-size: 2.125rem;
	font-weight: var(--fw-medium);
	color: var(--indyka-gold);
	letter-spacing: -0.01em;
	line-height: 1;
}

.indyka-hero-product__price-meta {
	display: block;
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(250, 248, 242, 0.55);
	margin-top: 7px;
}


/* SIGNATURE */
.indyka-hero-product__sig {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	margin-top: 3rem;
	padding-top: var(--space-lg);
	border-top: 0.5px solid rgba(227, 154, 28, 0.2);
	opacity: 0;
	animation: indykaFadeIn 800ms 4400ms forwards;
}

.indyka-hero-product__sig-stamp { width: 48px; height: 48px; flex-shrink: 0; }

.indyka-hero-product__sig-text {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.75);
	font-weight: var(--fw-medium);
}

.indyka-hero-product__sig-text small {
	display: block;
	font-size: 9px;
	color: rgba(250, 248, 242, 0.4);
	letter-spacing: 0.16em;
	margin-top: 3px;
}


/* GLOBAUX */
@keyframes indykaFadeIn { to { opacity: 1; } }
@keyframes indykaFadeUp {
	0%   { opacity: 0; transform: translateY(12px); }
	100% { opacity: 1; transform: translateY(0); }
}


/* RESPECT DES MOUVEMENTS RÉDUITS */
@media (prefers-reduced-motion: reduce) {

	.indyka-marquee__track,
	.indyka-hero-specimen__logo,
	.indyka-hero-specimen__ring-1,
	.indyka-hero-specimen__ring-2,
	.indyka-hero-specimen__glow,
	.indyka-hero-product::before,
	.indyka-hero-particle,
	.indyka-hero-flourish {
		animation: none;
		opacity: 1;
	}

	.indyka-hero-product__eyebrow,
	.indyka-hero-product__title,
	.indyka-hero-product__subtitle,
	.indyka-hero-product__divider,
	.indyka-hero-product__desc,
	.indyka-hero-product__notes-wrap,
	.indyka-hero-product__bottom,
	.indyka-spec-label,
	.indyka-hero-product__sig {
		opacity: 1;
		transform: none;
		animation: none;
	}

	.indyka-hero-product__divider-line { width: 110px; }

}


/* RESPONSIVE — mobile et tablette */
@media (max-width: 640px) {

	.indyka-hero-product { padding: 3rem var(--space-sm) 2.5rem; }
	.indyka-hero-specimen { height: 220px; }
	.indyka-hero-specimen__frame { width: 220px; height: 220px; }
	.indyka-hero-specimen__ring-1 { width: 190px; height: 190px; }
	.indyka-hero-specimen__ring-2 { width: 148px; height: 148px; }
	.indyka-hero-specimen__glow { width: 170px; height: 170px; }
	.indyka-hero-specimen__logo img { width: 150px; }
	.indyka-spec-label { font-size: 9px; }
	.indyka-hero-product__notes-eyebrow { font-size: 9px; letter-spacing: 0.24em; }
	.indyka-hero-product__cta { padding: 14px 28px; font-size: var(--fs-tiny); }
	.indyka-hero-flourish { width: 36px; height: 36px; }

}


/* FULL-WIDTH OVERRIDES — casse les containers Kadence pour un hero pleine page */

/* Page démo (body class ajoutée via _kad_post_classname) : retire max-width de <main> */
body.indyka-hero-demo #inner-wrap {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Homepage (hero injecté via hook kadence_before_content) : breakout du <main.wrap> */
body.home {
	overflow-x: hidden; /* évite le scroll horizontal causé par le breakout 100vw ci-dessous */
}

body.home .indyka-marquee,
body.home .indyka-hero-product {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* ==========================================================================
   12. HERO HOMEPAGE VITRINE — section produit-first d'accueil
   Grille featuring un produit vedette (Amnesia) + 3 small cards,
   sur fond crème ivoire (#FAF8F2) avec filigrane logo et fils dorés décoratifs.
   ========================================================================== */

/* CONTENEUR */
.indyka-vitrine {
	position: relative;
	background: #FAF8F2;
	overflow: hidden;
	padding: 0 0 clamp(2.5rem, 5vw, 4rem);
}

/* FILIGRANE — logo centré, très discret */
.indyka-vitrine__filigree {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -45%);
	width: 320px;
	height: auto;
	opacity: 0.07;
	filter: sepia(0.7) saturate(0.9) hue-rotate(-12deg) brightness(0.55);
	pointer-events: none;
	user-select: none;
}

/* FILS DORÉS SVG */
.indyka-vitrine__weave {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.4;
}

/* ribbon retiré — désormais dans le header global (.indyka-header__ribbon) */

/* INNER — zone de contenu centrée */
.indyka-vitrine__inner {
	position: relative;
	z-index: 2;
	max-width: 1100px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3.5rem) var(--space-lg);
}

/* HEADER ROW — pastille statut + tag localisation */
.indyka-vitrine__header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--space-xl);
}

.indyka-vitrine__status {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
	letter-spacing: 0.02em;
}

.indyka-vitrine__status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4ADE80;
	flex-shrink: 0;
	animation: indykaVitrineStatusPulse 2.5s ease-in-out infinite;
}

@keyframes indykaVitrineStatusPulse {
	0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5); }
	50%      { opacity: 0.85; box-shadow: 0 0 0 5px rgba(74, 222, 128, 0); }
}

.indyka-vitrine__location-tag {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.7);
	font-weight: var(--fw-medium);
}

/* EYEBROW */
.indyka-vitrine__eyebrow {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1rem;
	color: rgba(227, 154, 28, 0.8);
	text-align: center;
	margin: 0 0 var(--space-sm);
	letter-spacing: 0.04em;
	opacity: 0;
	animation: indykaFadeUp 700ms 100ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

/* TITRE */
.indyka-vitrine__heading {
	font-family: var(--font-heading);
	font-size: clamp(2.25rem, 4.5vw + 1rem, 3.75rem);
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
	text-align: center;
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	margin: 0 0 var(--space-lg);
	opacity: 0;
	animation: indykaFadeUp 800ms 200ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-vitrine__heading em {
	font-style: italic;
	color: var(--indyka-gold);
}

/* DIVISEUR */
.indyka-vitrine__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 0 var(--space-2xl);
}

.indyka-vitrine__divider-line {
	width: 60px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(227, 154, 28, 0.55), transparent);
}

/* GRILLE PRODUITS — 1.32fr featured + 1fr small cards */
.indyka-vitrine__grid {
	display: grid;
	grid-template-columns: 1.32fr 1fr;
	gap: var(--space-xl);
	align-items: start;
}

/* FEATURED CARD */
.indyka-vitrine__featured {
	border: 0.5px solid #E8DFC9;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: #FFFFFF;
	opacity: 0;
	animation: indykaFadeUp 800ms 200ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-vitrine__featured-media {
	position: relative;
}

.indyka-vitrine__featured-img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 3 / 2;
}

.indyka-vitrine__badge-la-une {
	position: absolute;
	top: -1px;
	left: -1px;
	background: var(--indyka-green-deep);
	color: rgba(227, 154, 28, 0.9);
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: var(--fw-medium);
	padding: 6px 14px;
	border-bottom-right-radius: var(--radius-sm);
}

.indyka-vitrine__badge-bestseller {
	position: absolute;
	top: var(--space-sm);
	right: var(--space-sm);
	background: var(--indyka-gold);
	color: var(--indyka-anthracite);
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: var(--fw-semibold);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
}

.indyka-vitrine__featured-body {
	padding: var(--space-lg) var(--space-lg) var(--space-xl);
}

.indyka-vitrine__featured-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.7);
	font-weight: var(--fw-medium);
	margin-bottom: var(--space-xs);
}

.indyka-vitrine__featured-title {
	font-family: var(--font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
	letter-spacing: var(--ls-tight);
	margin: 0 0 var(--space-xs);
	line-height: var(--lh-tight);
}

.indyka-vitrine__featured-notes {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: var(--fs-small);
	color: #5F5E5A;
	letter-spacing: 0.04em;
	margin: 0 0 var(--space-lg);
}

.indyka-vitrine__featured-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-md);
}

.indyka-vitrine__featured-price {
	display: flex;
	flex-direction: column;
}

.indyka-vitrine__featured-price-eyebrow {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #5F5E5A;
	font-weight: var(--fw-medium);
	margin-bottom: 2px;
}

.indyka-vitrine__featured-price-num {
	font-family: var(--font-heading);
	font-size: 1.75rem;
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
	letter-spacing: -0.01em;
	line-height: 1;
}

.indyka-vitrine__featured-price-meta {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #5F5E5A;
	margin-top: 4px;
}

.indyka-vitrine__featured-cta {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	background: var(--indyka-grad-braise);
	color: #FAF8F2;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.08em;
	text-decoration: none;
	padding: 12px 24px;
	border-radius: var(--radius-md);
	transition: transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);
}

.indyka-vitrine__featured-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(227, 154, 28, 0.4);
}

.indyka-vitrine__featured-cta:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

/* SMALL CARDS */
.indyka-vitrine__cards {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

.indyka-vitrine__card {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	align-items: center;
	gap: var(--space-md);
	border: 0.5px solid #E8DFC9;
	border-radius: var(--radius-md);
	padding: var(--space-sm) var(--space-md);
	background: #FFFFFF;
	transition:
		transform var(--dur-normal) var(--ease-out),
		border-color var(--dur-normal) var(--ease-out),
		background var(--dur-normal) var(--ease-out);
}

.indyka-vitrine__card:nth-child(1) { opacity: 0; animation: indykaFadeUp 700ms 350ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
.indyka-vitrine__card:nth-child(2) { opacity: 0; animation: indykaFadeUp 700ms 500ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
.indyka-vitrine__card:nth-child(3) { opacity: 0; animation: indykaFadeUp 700ms 650ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }

.indyka-vitrine__card:hover {
	transform: translateX(2px);
	border-color: rgba(227, 154, 28, 0.6);
	background: #FAF8F2;
}

.indyka-vitrine__card-media {
	width: 96px;
	height: 96px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	flex-shrink: 0;
}

.indyka-vitrine__card-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* PLACEHOLDERS — cartes sans photo */
.indyka-vitrine__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-size: 2rem;
	font-style: italic;
	font-weight: var(--fw-medium);
	color: #E2C994;
}

.indyka-vitrine__placeholder--orchidee { background: linear-gradient(145deg, #6B8CC5, #2D4A8B); }
.indyka-vitrine__placeholder--charas { background: linear-gradient(145deg, #5C3D1A, #1A0F05); }

.indyka-vitrine__card-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.indyka-vitrine__card-meta {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #5F5E5A;
	font-weight: var(--fw-medium);
}

.indyka-vitrine__card-title {
	font-family: var(--font-heading);
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
	letter-spacing: var(--ls-tight);
	margin: 0;
	line-height: var(--lh-snug);
}

.indyka-vitrine__card-price {
	font-family: var(--font-heading);
	font-size: 1.0625rem;
	font-weight: var(--fw-medium);
	color: var(--indyka-green-deep);
}

.indyka-vitrine__card-price small {
	font-size: var(--fs-tiny);
	color: #5F5E5A;
}

.indyka-vitrine__card-arrow {
	color: rgba(227, 154, 28, 0.5);
	font-size: var(--fs-small);
	flex-shrink: 0;
	transition: transform var(--dur-normal) var(--ease-out), color var(--dur-normal) var(--ease-out);
}

.indyka-vitrine__card:hover .indyka-vitrine__card-arrow {
	transform: translateX(4px);
	color: var(--indyka-gold);
}

/* FOOTER ROW */
.indyka-vitrine__footer-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-md);
	margin-top: var(--space-2xl);
	padding-top: var(--space-lg);
	border-top: 0.5px solid #E8DFC9;
	opacity: 0;
	animation: indykaFadeUp 700ms 700ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.indyka-vitrine__cta-catalogue {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	background: var(--indyka-grad-braise);
	color: #FAF8F2;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.06em;
	text-decoration: none;
	padding: 12px 24px;
	border-radius: var(--radius-md);
	transition: transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out);
}

.indyka-vitrine__cta-catalogue:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(227, 154, 28, 0.4);
}

.indyka-vitrine__cta-catalogue:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

.indyka-vitrine__chrono-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: #5F5E5A;
	letter-spacing: 0.02em;
}

.indyka-vitrine__chrono-icon { flex-shrink: 0; }

.indyka-vitrine__link-how {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: rgba(227, 154, 28, 0.75);
	text-decoration: none;
	letter-spacing: 0.04em;
	transition: color var(--dur-normal) var(--ease-out);
}

.indyka-vitrine__link-how:hover { color: var(--indyka-gold); }

.indyka-vitrine__link-how:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

/* MOUVEMENTS RÉDUITS */
@media (prefers-reduced-motion: reduce) {

	.indyka-vitrine__status-dot { animation: none; }

	.indyka-vitrine__eyebrow,
	.indyka-vitrine__heading,
	.indyka-vitrine__featured,
	.indyka-vitrine__card:nth-child(1),
	.indyka-vitrine__card:nth-child(2),
	.indyka-vitrine__card:nth-child(3),
	.indyka-vitrine__footer-row {
		opacity: 1;
		transform: none;
		animation: none;
	}

}

/* RESPONSIVE — mobile et tablette */
@media (max-width: 768px) {

	.indyka-vitrine__inner { padding: var(--space-xl) var(--space-md); }
	.indyka-vitrine__filigree { width: 220px; }
	.indyka-vitrine__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.indyka-vitrine__header-row { flex-direction: column; align-items: flex-start; gap: var(--space-xs); }
	.indyka-vitrine__location-tag { display: none; }
	.indyka-vitrine__footer-row { flex-direction: column; align-items: stretch; }
	.indyka-vitrine__cta-catalogue,
	.indyka-vitrine__featured-cta { justify-content: center; }

}

/* FULL-WIDTH BREAKOUT — comme le hero Amnesia */
body.home .indyka-vitrine {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* ==========================================================================
   13. SECTION COMMENT ÇA FONCTIONNE — 3 étapes Drive sur la homepage
   Fond ivoire, 3 cards apothicaires numéros romains I·II·III,
   pictogrammes SVG inline trait fin + accents or.
   ========================================================================== */

/* CONTENEUR */
.indyka-howto {
	background: var(--indyka-ivory);
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 6vw, 6rem) clamp(2rem, 4vw, 4rem) clamp(3rem, 5vw, 5rem);
}

/* WEAVE DÉCORATIF */
.indyka-howto__weave {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.5;
}

/* EYEBROW */
.indyka-howto__eyebrow {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.125rem;
	color: rgba(227, 154, 28, 0.85);
	text-align: center;
	letter-spacing: 0.04em;
	margin: 0 0 12px;
}

/* TITRE */
.indyka-howto__title {
	font-family: var(--font-heading);
	font-weight: var(--fw-medium);
	font-size: clamp(2rem, 4vw + 1rem, 3.25rem);
	color: var(--indyka-anthracite);
	text-align: center;
	line-height: 1.05;
	letter-spacing: -0.015em;
	margin: 0;
}

.indyka-howto__title em {
	font-style: italic;
	color: var(--indyka-green-deep);
}

/* DIVISEUR */
.indyka-howto__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 14px 0 48px;
}

.indyka-howto__divider-line {
	width: 80px;
	height: 0.5px;
	background: rgba(227, 154, 28, 0.55);
}

/* GRILLE 3 ÉTAPES */
.indyka-howto__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	position: relative;
}

/* CARD ÉTAPE */
.indyka-howto__step {
	background: var(--indyka-white);
	border: 0.5px solid rgba(227, 154, 28, 0.45);
	padding: 36px 24px 28px;
	text-align: center;
	position: relative;
}

.indyka-howto__step:nth-child(1) { opacity: 0; animation: indykaFadeUp 700ms 0ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
.indyka-howto__step:nth-child(2) { opacity: 0; animation: indykaFadeUp 700ms 200ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }
.indyka-howto__step:nth-child(3) { opacity: 0; animation: indykaFadeUp 700ms 400ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }

/* NUMÉRO ROMAIN — "tampon" chevauchant la bordure haute */
.indyka-howto__step-num {
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--indyka-ivory);
	padding: 0 14px;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 2.375rem;
	color: var(--indyka-gold);
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* PICTOGRAMME */
.indyka-howto__step-icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 16px;
	display: block;
}

/* TITRE ÉTAPE */
.indyka-howto__step-title {
	font-family: var(--font-heading);
	font-weight: var(--fw-medium);
	font-size: 1.5rem;
	line-height: 1.15;
	color: var(--indyka-anthracite);
	margin: 0 0 10px;
}

/* DESCRIPTION */
.indyka-howto__step-desc {
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--indyka-gray-600);
	margin: 0;
	max-width: none;
}

/* FOOTER */
.indyka-howto__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 48px;
	padding-top: 28px;
	border-top: 0.5px solid rgba(227, 154, 28, 0.25);
}

.indyka-howto__footer-icon { width: 20px; height: 20px; flex-shrink: 0; }

.indyka-howto__footer-text {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.1875rem;
	color: var(--indyka-green-deep);
	margin: 0;
	max-width: none;
}

/* MOUVEMENTS RÉDUITS */
@media (prefers-reduced-motion: reduce) {

	.indyka-howto__step:nth-child(1),
	.indyka-howto__step:nth-child(2),
	.indyka-howto__step:nth-child(3) {
		opacity: 1;
		transform: none;
		animation: none;
	}

}

/* RESPONSIVE */
@media (max-width: 768px) {

	.indyka-howto__steps { grid-template-columns: 1fr; }
	.indyka-howto__step { padding: 28px 18px 24px; }
	.indyka-howto__title { font-size: 2rem; }
	.indyka-howto__divider { margin: 14px 0 32px; }
	.indyka-howto__footer { flex-direction: column; gap: 8px; text-align: center; }
	.indyka-howto__footer-text { font-size: 1rem; }

}

/* FULL-WIDTH BREAKOUT */
body.home .indyka-howto {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* ==========================================================================
   14. HEADER INDYKA — barre de navigation responsive
   Fond vert profond, bandeau ribbon or, nav Cormorant desktop,
   drawer slide-in mobile (breakpoint 1024px).
   ========================================================================== */

/* CONTENEUR HEADER */
.indyka-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--indyka-grad-braise);
	font-family: var(--font-body);
}

/* BANDEAU RIBBON */
.indyka-header__ribbon {
	background: rgba(227, 154, 28, 0.08);
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.25);
	color: var(--indyka-beige);
	overflow: hidden;
	position: relative;
}

/* Desktop & mobile : ticker défilant continu sur 1 ligne (plus propre que statique wrappé). */
.indyka-header__ribbon-track {
	margin: 0;
	padding: 8px 0;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: max-content;
	gap: 18px;
	font-size: 10px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	animation: indykaRibbonScroll 60s linear infinite;
	will-change: transform;
}
.indyka-header__ribbon-track:hover { animation-play-state: paused; }

.indyka-header__ribbon-text { white-space: nowrap; }

.indyka-header__ribbon-star {
	color: var(--indyka-gold);
	opacity: 0.7;
	line-height: 1;
}

/* Mobile / tablette (< 1024px) : ticker défilant */
@media (max-width: 1023px) {
	.indyka-header__ribbon {
		padding: 8px 0;
	}
	.indyka-header__ribbon-track {
		max-width: none;
		margin: 0;
		padding: 0;
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: max-content;
		gap: 18px;
		font-size: 9px;
		letter-spacing: 0.28em;
		animation: indykaRibbonScroll 32s linear infinite;
	}
	.indyka-header__ribbon-track:hover {
		animation-play-state: paused;
	}
}

@keyframes indykaRibbonScroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* BARRE PRINCIPALE */
.indyka-header__main {
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.18);
}

.indyka-header__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 14px clamp(20px, 4vw, 48px);
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
}

/* BRAND — logo + nom */
.indyka-header__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--indyka-white);
	transition: opacity var(--dur-fast) var(--ease-out);
	flex-shrink: 0;
}

.indyka-header__brand:hover { opacity: 0.85; }

.indyka-header__logo {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	filter: drop-shadow(0 0 3px rgba(227, 154, 28, 0.2));
}

.indyka-header__logo img {
	width: 100%;
	height: auto;
	display: block;
}

.indyka-header__name {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.5rem;
	font-weight: var(--fw-medium);
	letter-spacing: 0.02em;
	color: var(--indyka-white);
	white-space: nowrap;
}

/* NAVIGATION DESKTOP */
.indyka-header__nav {
	display: flex;
	justify-content: center;
}

.indyka-header__menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: clamp(20px, 2.5vw, 32px);
	flex-wrap: wrap;
	justify-content: center;
}

.indyka-header__menu li {
	position: relative;
}

.indyka-header__menu a {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.0625rem;
	color: var(--indyka-white);
	text-decoration: none;
	padding: 6px 2px;
	letter-spacing: 0.005em;
	display: inline-block;
	position: relative;
	transition: color var(--dur-fast) var(--ease-out);
}

.indyka-header__menu a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 60%;
	height: 0.5px;
	background: var(--indyka-gold);
	transition: transform var(--dur-normal) var(--ease-out);
}

.indyka-header__menu a:hover {
	color: var(--indyka-gold);
}

.indyka-header__menu .current-menu-item > a {
	color: var(--indyka-white);
}

.indyka-header__menu a:hover::after,
.indyka-header__menu .current-menu-item > a::after {
	transform: translateX(-50%) scaleX(1);
}

.indyka-header__menu a:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

/* Indicateur sous-menu */
.indyka-header__menu .menu-item-has-children > a::before {
	content: '▾';
	font-size: 9px;
	color: var(--indyka-gold);
	margin-left: 6px;
	font-style: normal;
	vertical-align: middle;
}

/* Sous-menus desktop (dropdown) */
.indyka-header__menu .sub-menu {
	position: absolute;
	top: 100%;          /* collé au parent — pas de gap qui coupe le hover */
	left: 0;
	list-style: none;
	margin: 0;
	padding: 8px 0 12px; /* padding-top remplace le gap visuel */
	background: var(--indyka-green-deep);
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	min-width: 200px;
	z-index: 10;
	opacity: 0;
	visibility: hidden;    /* masqué aux lecteurs d'écran */
	transform: translateY(-4px);
	pointer-events: none;  /* masqué à la souris — distinct de visibility */
	/* sortie : délai 250ms pour tolérer le déplacement souris parent → enfant */
	transition: opacity 0.18s ease 0.25s, visibility 0s 0.43s, transform 0.18s ease 0.25s;
}

.indyka-header__menu .menu-item-has-children:hover > .sub-menu,
.indyka-header__menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	/* entrée : instantanée, pas de délai */
	transition: opacity 0.18s ease, visibility 0s, transform 0.18s ease;
}

.indyka-header__menu .sub-menu a {
	display: block;
	padding: 8px 20px;
	font-size: var(--fs-small);
	border-bottom: none;
	white-space: nowrap;
}

.indyka-header__menu .sub-menu a::after { display: none; }

/* ACTIONS : recherche, compte, panier, hamburger */
.indyka-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
}

.indyka-header__action {
	background: transparent;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: var(--indyka-gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: opacity var(--dur-fast) var(--ease-out);
}

.indyka-header__action:hover { opacity: 0.7; }

.indyka-header__action:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

/* Bouton panier */
.indyka-header__cart {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border: 0.5px solid rgba(227, 154, 28, 0.5);
	color: var(--indyka-white);
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	transition:
		background var(--dur-normal) var(--ease-out),
		border-color var(--dur-normal) var(--ease-out);
}

.indyka-header__cart svg { color: var(--indyka-gold); }

.indyka-header__cart:hover {
	background: rgba(227, 154, 28, 0.10);
	border-color: rgba(227, 154, 28, 0.8);
}

.indyka-header__cart:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

.indyka-header__cart-count {
	color: var(--indyka-gold);
	font-weight: var(--fw-medium);
}

/* Hamburger */
.indyka-header__toggle {
	display: none;
	background: transparent;
	border: none;
	padding: 6px;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	align-items: flex-end;
}

.indyka-header__toggle span {
	display: block;
	width: 22px;
	height: 1px;
	background: var(--indyka-gold);
	transition:
		transform var(--dur-normal) var(--ease-out),
		opacity var(--dur-normal) var(--ease-out),
		width var(--dur-normal) var(--ease-out);
}

.indyka-header__toggle span:nth-child(3) {
	width: 14px;
}

.indyka-header__toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.indyka-header__toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.indyka-header__toggle[aria-expanded="true"] span:nth-child(3) {
	width: 22px;
	transform: translateY(-6px) rotate(-45deg);
}

.indyka-header__toggle:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}


/* ---- DRAWER MOBILE ---- */

.indyka-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: min(82vw, 380px);
	height: 100vh;
	height: 100dvh;
	background: var(--indyka-grad-braise);
	border-left: 0.5px solid rgba(227, 154, 28, 0.25);
	z-index: 200;
	padding: 72px 32px 40px;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform var(--dur-slow) var(--ease-out);
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
}

@media (max-width: 1024px) {
	.indyka-drawer[hidden] {
		display: flex !important;
	}
}

.indyka-drawer[aria-hidden="false"] {
	transform: translateX(0);
}

/* Bouton fermer */
.indyka-drawer__close {
	position: absolute;
	top: 20px;
	right: 20px;
	background: transparent;
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	color: var(--indyka-gold);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background var(--dur-fast) var(--ease-out);
}

.indyka-drawer__close:hover { background: rgba(227, 154, 28, 0.1); }

.indyka-drawer__close:focus-visible {
	outline: 2px solid var(--indyka-gold);
	outline-offset: 3px;
}

/* Brand dans le drawer */
.indyka-drawer__brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--indyka-white);
}

.indyka-drawer__brand img {
	width: 28px;
	height: auto;
}

.indyka-drawer__brand span {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.25rem;
	font-weight: var(--fw-medium);
}

/* Navigation drawer */
.indyka-drawer__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.indyka-drawer__menu > li > a {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 1.625rem;
	color: var(--indyka-white);
	text-decoration: none;
	display: block;
	padding: 10px 0;
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.15);
	letter-spacing: 0.01em;
	transition: color var(--dur-fast) var(--ease-out);
}

.indyka-drawer__menu > li > a:hover,
.indyka-drawer__menu .current-menu-item > a {
	color: var(--indyka-gold);
}

.indyka-drawer__menu .sub-menu {
	list-style: none;
	padding: 0 0 0 16px;
	margin: 0;
}

.indyka-drawer__menu .sub-menu a {
	font-size: 1.125rem;
	border-bottom: none;
	padding: 6px 0;
	color: rgba(250, 248, 242, 0.7);
	transition: color var(--dur-fast) var(--ease-out);
}

.indyka-drawer__menu .sub-menu a:hover {
	color: var(--indyka-gold);
}

/* Pied du drawer */
.indyka-drawer__footer {
	margin-top: auto;
	padding-top: var(--space-lg);
	border-top: 0.5px solid rgba(227, 154, 28, 0.2);
}

.indyka-drawer__footer p {
	font-family: var(--font-body);
	font-size: var(--fs-tiny);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.65);
	margin: 0 0 4px;
	max-width: none;
}

/* Backdrop */
.indyka-drawer__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(10, 15, 10, 0.6);
	z-index: 150;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--dur-slow) var(--ease-out);
}

@media (max-width: 1024px) {
	.indyka-drawer__backdrop[hidden] {
		display: block !important;
	}
}

.indyka-drawer__backdrop:not([hidden]) {
	opacity: 1;
	pointer-events: auto;
}

/* Scroll lock quand drawer ouvert */
body.indyka-drawer-open {
	overflow: hidden;
}


/* ---- RESPONSIVE ---- */

@media (max-width: 1024px) {

	.indyka-header__nav { display: none; }
	.indyka-header__toggle { display: flex; }
	.indyka-header__cart-label { display: none; }

	.indyka-header__cart { padding: 7px 10px; }

	/* Flex sur mobile : brand gauche, actions droite (le nav hidden n'interrompt pas le layout) */
	.indyka-header__inner {
		display: flex;
		justify-content: space-between;
	}

}

@media (max-width: 480px) {

	.indyka-header__action:first-child { display: none; }

}

/* MOUVEMENTS RÉDUITS */
@media (prefers-reduced-motion: reduce) {

	.indyka-drawer,
	.indyka-drawer__backdrop,
	.indyka-header__menu a::after,
	.indyka-header__menu .sub-menu,
	.indyka-header__toggle span {
		transition: none;
	}

	.indyka-header__ribbon-track {
		animation: none !important;
		flex-wrap: wrap;
		justify-content: center;
		width: auto;
	}

}


/* ============================================================ */
/* 15. SECTION PRÉSENTATION INDYKA — manifeste "Notre promesse" */
/* ============================================================ */

.indyka-promise {
	background: var(--indyka-beige);
	position: relative;
	overflow: hidden;
	padding: clamp(56px, 8vw, 96px) clamp(32px, 6vw, 64px);
}

.indyka-promise__weave {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.45;
}

.indyka-promise__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: clamp(32px, 5vw, 56px);
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
}

/* ---- Sceau ---- */

.indyka-promise__seal {
	position: relative;
	aspect-ratio: 1;
	max-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.indyka-promise__seal-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.indyka-promise__seal-logo {
	position: absolute;
	width: 100px;
	height: auto;
	filter: sepia(0.85) saturate(0.7) hue-rotate(-10deg) brightness(1.05);
	pointer-events: none;
}

/* ---- Contenu ---- */

.indyka-promise__eyebrow {
	margin: 0 0 14px;
	color: rgba(227, 154, 28, 0.95);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	letter-spacing: 0.04em;
}

.indyka-promise__title {
	margin: 0 0 24px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2rem, 3.5vw + 1rem, 2.75rem);
	letter-spacing: -0.015em;
	color: var(--indyka-anthracite);
	line-height: 1.08;
}

.indyka-promise__title em {
	font-style: italic;
	color: var(--indyka-green-deep);
}

.indyka-promise__intro {
	margin: 0 0 28px;
	color: var(--indyka-gray-600);
	font-size: 15px;
	line-height: 1.7;
	max-width: none;
}

.indyka-promise__intro strong {
	color: var(--indyka-anthracite);
	font-weight: var(--fw-medium);
}

/* ---- Piliers ---- */

.indyka-promise__pillars {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 32px;
}

.indyka-promise__pillar {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.indyka-promise__pillar svg {
	flex-shrink: 0;
	margin-top: 2px;
}

.indyka-promise__pillar-title {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 500;
	color: var(--indyka-anthracite);
	display: block;
	line-height: 1.2;
}

.indyka-promise__pillar-desc {
	display: block;
	font-size: 13px;
	color: var(--indyka-gray-600);
	line-height: 1.5;
}

/* ---- CTA ---- */

.indyka-promise__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 24px;
	background: var(--indyka-grad-braise);
	color: var(--indyka-white);
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: 500;
	text-decoration: none;
	transition: all var(--dur-normal) var(--ease-out);
}

.indyka-promise__cta:hover {
	background: var(--indyka-green-soft);
	transform: translateY(-1px);
}

.indyka-promise__cta-arrow {
	color: var(--indyka-gold);
	transition: transform var(--dur-normal) var(--ease-out);
}

.indyka-promise__cta:hover .indyka-promise__cta-arrow {
	transform: translateX(3px);
}

/* ---- Animations du sceau ---- */

@keyframes indykaSealPulse {
	0%, 100% { opacity: 0.85; }
	50%      { opacity: 1; }
}

@keyframes indykaLogoBreathe {
	0%, 100% { opacity: 0.42; transform: scale(1); }
	50%      { opacity: 0.55; transform: scale(1.02); }
}

@keyframes indykaSealRotate {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

@keyframes indykaPromiseTwinkle {
	0%, 100% { opacity: 0.4; transform: scale(1); }
	50%      { opacity: 1; transform: scale(1.4); }
}

.indyka-promise__seal-rings     { animation: indykaSealPulse 5s ease-in-out infinite; transform-origin: center; }
.indyka-promise__seal-text-outer { animation: indykaSealRotate 80s linear infinite; transform-origin: 50% 50%; }
.indyka-promise__seal-logo       { animation: indykaLogoBreathe 5s ease-in-out infinite; transform-origin: center; }
.indyka-promise__twinkle         { animation: indykaPromiseTwinkle 3s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }

/* ---- Reduced motion ---- */

@media (prefers-reduced-motion: reduce) {
	.indyka-promise__seal-rings,
	.indyka-promise__seal-text-outer,
	.indyka-promise__seal-logo,
	.indyka-promise__twinkle { animation: none !important; }
	/* seal-logo : animation déjà annulée ci-dessus ; on fixe en plus opacity/transform pour l'état statique */
	.indyka-promise__seal-logo { opacity: 0.5 !important; transform: none !important; }
}

/* ---- Responsive 768px ---- */

@media (max-width: 768px) {
	.indyka-promise__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.indyka-promise__seal {
		max-height: 320px;
		max-width: 320px;
		margin: 0 auto;
	}
	.indyka-promise__title {
		font-size: 2rem;
	}
	.indyka-promise__seal-logo {
		width: 80px;
	}
}

/* ---- Full-width breakout (homepage) ---- */

body.home .indyka-promise {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* ============================================================ */
/* 16. SECTION JOURNAL DU DRIVE — édito mensuel des 4 rayons   */
/* ============================================================ */

.indyka-journal {
	background: #FAF8F2;
	position: relative;
	overflow: hidden;
	padding: clamp(56px, 7vw, 80px) 0 clamp(32px, 4vw, 40px);
}

/* ---- En-tête ---- */

.indyka-journal__header {
	padding: 0 clamp(20px, 4vw, 48px) 36px;
	text-align: center;
}

.indyka-journal__eyebrow {
	margin: 0 0 6px;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	letter-spacing: 0.04em;
}

.indyka-journal__title {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2.25rem, 4vw + 1rem, 3.5rem);
	color: var(--indyka-green-deep);
	line-height: 1.0;
	letter-spacing: -0.02em;
}

.indyka-journal__title em {
	font-style: italic;
	color: var(--indyka-gold);
}

.indyka-journal__subtitle {
	margin: 8px auto 18px;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	color: #5F5E5A;
	line-height: 1.5;
	max-width: 580px;
}

.indyka-journal__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.indyka-journal__divider-line {
	display: block;
	width: 60px;
	height: 0.5px;
	background: rgba(226, 201, 148, 0.4);
}

/* ---- Bandes ---- */

a.indyka-journal__band:first-of-type {
	border-top: 0.5px solid #E8DFC9;
}

.indyka-journal__band {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 280px;
	position: relative;
	overflow: hidden;
	border-bottom: 0.5px solid #E8DFC9;
	text-decoration: none;
}

.indyka-journal__band--alt {
	background: rgba(0, 0, 0, 0.06);
}

.indyka-journal__roman {
	position: absolute;
	top: -30px;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 500;
	font-size: 280px;
	line-height: 0.85;
	color: var(--indyka-gold);
	opacity: 0.07;
	pointer-events: none;
	user-select: none;
}

.indyka-journal__roman--right { right: 8%; }
.indyka-journal__roman--left  { left: 6%; }

/* ---- Visuel (SVG placeholder → swap future par <img>) ---- */

.indyka-journal__visual {
	position: relative;
	overflow: hidden;
}

.indyka-journal__visual img,
.indyka-journal__visual svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 600ms var(--ease-out);
}

.indyka-journal__band:hover .indyka-journal__visual svg,
.indyka-journal__band:hover .indyka-journal__visual img {
	transform: scale(1.02);
	transition-duration: 800ms;
}

/* ---- Texte ---- */

.indyka-journal__text {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px clamp(24px, 3vw, 40px);
}

.indyka-journal__meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

/* Badges éditoriaux */
.indyka-journal__badge {
	font-size: 9px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	padding: 4px 10px;
	font-weight: 600;
}

.indyka-journal__badge--phare {
	background: var(--indyka-gold);
	color: var(--indyka-anthracite);
	font-weight: 700;
	animation: indykaJournalPulse 2.4s ease-in-out infinite;
}

.indyka-journal__badge--love    { background: rgba(227, 154, 28, 0.18); color: #7A5820; }
.indyka-journal__badge--new     { background: rgba(107, 203, 145, 0.18); color: #1E6B42; }
.indyka-journal__badge--vintage { background: rgba(100, 90, 75, 0.10); color: #5F5E5A; }

.indyka-journal__band-num {
	color: rgba(227, 154, 28, 0.7);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 13px;
	letter-spacing: 0.18em;
}

.indyka-journal__band-title {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2rem, 3.5vw + 0.5rem, 2.75rem);
	color: var(--indyka-green-deep);
	line-height: 1.0;
	margin: 0 0 8px;
}

.indyka-journal__band-desc {
	color: #5F5E5A;
	font-size: 14px;
	line-height: 1.55;
	max-width: 380px;
	margin: 0 0 16px;
}

.indyka-journal__band-desc em {
	color: var(--indyka-gold);
	font-style: italic;
}

.indyka-journal__band-foot {
	display: flex;
	align-items: center;
	gap: 16px;
}

.indyka-journal__price {
	font-family: var(--font-heading);
	font-size: 22px;
	color: var(--indyka-green-deep);
	font-weight: 500;
}

.indyka-journal__price small {
	color: #5F5E5A;
	font-size: 12px;
	font-family: var(--font-body);
}

.indyka-journal__refs {
	color: #5F5E5A;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.indyka-journal__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--indyka-green-deep);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: 500;
	margin-left: auto;
}

.indyka-journal__cta span {
	color: var(--indyka-gold);
	transition: transform var(--dur-normal) var(--ease-out);
}

.indyka-journal__band:hover .indyka-journal__cta span {
	transform: translateX(3px);
}

/* ---- Footer de section ---- */

.indyka-journal__footer {
	padding: 32px clamp(20px, 4vw, 48px) 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.indyka-journal__seal {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.indyka-journal__seal-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.indyka-journal__seal-line1 {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
	color: #5F5E5A;
}

.indyka-journal__seal-line2 {
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.85);
}

.indyka-journal__cta-main {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	background: var(--indyka-grad-braise);
	color: #FAF8F2;
	font-family: var(--font-body);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
	transition: all var(--dur-normal) var(--ease-out);
}

.indyka-journal__cta-main:hover {
	background: #152C21;
	transform: translateY(-1px);
}

/* ---- Animations ---- */

@keyframes indykaJournalPulse {
	0%, 100% { opacity: 0.85; transform: scale(1); }
	50%      { opacity: 1;    transform: scale(1.05); }
}

@keyframes indykaJournalTwinkle {
	0%, 100% { opacity: 0.4; }
	50%      { opacity: 1; }
}

.indyka-journal__twinkle {
	animation: indykaJournalTwinkle 3s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}

/* ---- Reduced motion ---- */

@media (prefers-reduced-motion: reduce) {
	.indyka-journal__badge--phare,
	.indyka-journal__twinkle {
		animation: none !important;
	}
	.indyka-journal__band:hover .indyka-journal__visual svg,
	.indyka-journal__band:hover .indyka-journal__visual img,
	.indyka-journal__band:hover .indyka-journal__cta span {
		transform: none !important;
		transition: none !important;
	}
}

/* ---- Responsive 768px ---- */

@media (max-width: 768px) {
	.indyka-journal__band {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.indyka-journal__visual {
		order: 1;
		aspect-ratio: 16 / 9;
	}
	.indyka-journal__text {
		order: 2;
		padding: 24px 20px;
	}
	.indyka-journal__roman {
		font-size: 180px;
		top: -20px;
	}
	.indyka-journal__band-title {
		font-size: 2rem;
	}
	.indyka-journal__footer {
		flex-direction: column;
		gap: 18px;
		align-items: flex-start;
	}
}

/* ---- Full-width breakout (homepage) ---- */

body.home .indyka-journal {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* ============================================================ */
/* 17. SECTION ENGAGEMENTS — charte de garanties chiffrées     */
/* ============================================================ */

.indyka-engage {
	background: var(--indyka-white);
	position: relative;
	overflow: hidden;
	padding: clamp(56px, 8vw, 96px) clamp(32px, 4vw, 48px) clamp(56px, 8vw, 80px);
}

.indyka-engage__weave {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.4;
}

/* ---- En-tête ---- */

.indyka-engage__header {
	text-align: center;
	margin-bottom: 56px;
	position: relative;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.indyka-engage__eyebrow {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	color: rgba(227, 154, 28, 0.95);
	margin: 0 0 8px;
}

.indyka-engage__title {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2.25rem, 4vw + 1rem, 3.5rem);
	color: var(--indyka-anthracite);
	line-height: 1.0;
	letter-spacing: -0.02em;
	margin: 0 0 12px;
}

.indyka-engage__title em {
	font-style: italic;
	color: var(--indyka-green-soft);
}

.indyka-engage__subtitle {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	color: var(--indyka-gray-600);
	line-height: 1.5;
	margin: 0 0 16px;
}

.indyka-engage__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.indyka-engage__divider-line {
	display: block;
	width: 48px;
	height: 0.5px;
	background: rgba(227, 154, 28, 0.45);
}

.indyka-engage__divider-star {
	font-size: 10px;
	color: rgba(227, 154, 28, 0.7);
	line-height: 1;
}

/* ---- Piliers ---- */

.indyka-engage__pillars {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}

.indyka-engage__pillar {
	position: relative;
	text-align: center;
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.indyka-engage__pillar:not(:last-child) {
	border-right: 0.5px solid rgba(227, 154, 28, 0.3);
}

/* === ALIGNEMENT VERTICAL FORCÉ === */

.indyka-engage__pillar-eyebrow {
	margin: 0 0 18px;
	color: rgba(227, 154, 28, 0.85);
	font-size: 10px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 500;
	min-height: 14px;
}

.indyka-engage__pillar-figure {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	min-height: 110px;
	margin: 0 0 14px;
}

.indyka-engage__pillar-num {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 110px;
	line-height: 0.9;
	color: var(--indyka-green-deep);
	letter-spacing: -0.04em;
}

.indyka-engage__pillar-unit {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 32px;
	color: var(--indyka-gold);
	vertical-align: top;
}

.indyka-engage__pillar-title {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 22px;
	color: var(--indyka-anthracite);
	line-height: 1.2;
	margin: 0 0 8px;
	min-height: 28px;
}

.indyka-engage__pillar-desc {
	margin: 0 0 16px;
	color: var(--indyka-gray-600);
	font-size: 13px;
	line-height: 1.55;
	max-width: 240px;
	flex-grow: 1;
}

.indyka-engage__pillar-desc em {
	color: var(--indyka-green-deep);
	font-style: italic;
}

.indyka-engage__pillar-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: rgba(227, 154, 28, 0.85);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-top: auto;
}

/* ---- Footer charte ---- */

.indyka-engage__footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 56px;
	padding-top: 28px;
	border-top: 0.5px solid rgba(227, 154, 28, 0.25);
}

.indyka-engage__footer-text {
	display: block;
	color: var(--indyka-anthracite);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 15px;
	line-height: 1.2;
}

.indyka-engage__footer-meta {
	display: block;
	color: rgba(92, 88, 82, 0.7);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-top: 3px;
}

/* ---- Responsive 768px ---- */

@media (max-width: 768px) {
	.indyka-engage__pillars {
		grid-template-columns: 1fr;
	}
	.indyka-engage__pillar {
		padding: 32px 24px;
		border-right: none;
		border-bottom: 0.5px solid rgba(227, 154, 28, 0.3);
	}
	.indyka-engage__pillar:last-child {
		border-bottom: none;
	}
	.indyka-engage__pillar-figure {
		min-height: 80px;
	}
	.indyka-engage__pillar-num {
		font-size: 80px;
	}
	.indyka-engage__pillar-unit {
		font-size: 24px;
	}
	.indyka-engage__title {
		font-size: 2rem;
	}
	.indyka-engage__footer {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}
}

/* ---- Full-width breakout (homepage) ---- */

body.home .indyka-engage {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}


/* =============================================================
   SECTION 19 — FICHE PRODUIT INDYKA — "Carnet de spécimen"
   ============================================================= */

.indyka-main--single-product {
	background: var(--indyka-white);
	min-height: 60vh;
}

/* ---- Bandeau spécimen ---- */

.indyka-product__strip {
	background: var(--indyka-grad-braise);
	padding: 10px 0;
}

.indyka-product__strip-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: rgba(232, 223, 201, 0.85);
	font-size: 10px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	flex-wrap: wrap;
}

.indyka-product__strip-item--gold {
	color: rgba(227, 154, 28, 0.85);
}

/* ---- Breadcrumb ---- */

.indyka-product__breadcrumb {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px clamp(20px, 4vw, 32px) 8px;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(92, 88, 82, 0.65);
}

.indyka-product__breadcrumb a {
	color: rgba(92, 88, 82, 0.65);
	text-decoration: none;
	transition: color var(--dur-fast) var(--ease-out);
}

.indyka-product__breadcrumb a:hover {
	color: var(--indyka-green-deep);
}

.indyka-product__breadcrumb-sep {
	margin: 0 8px;
	color: rgba(227, 154, 28, 0.6);
}

.indyka-product__breadcrumb-current {
	color: var(--indyka-anthracite);
}

/* ---- Hero 2 colonnes ---- */

.indyka-product__hero {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(24px, 3vw, 32px);
	padding: 12px clamp(20px, 4vw, 32px) 36px;
}

.indyka-product__visual-col {
	position: relative;
}

.indyka-product__filigree {
	position: absolute;
	top: -10px;
	left: -8px;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 500;
	font-size: 240px;
	line-height: 0.85;
	color: var(--indyka-gold);
	opacity: 0.08;
	pointer-events: none;
	z-index: 1;
	user-select: none;
}

.indyka-product__gallery {
	position: relative;
	z-index: 2;
}

.indyka-product__gallery-main {
	position: relative;
	aspect-ratio: 1;
	background: #F4EFE2 !important; /* ivoire — forcé contre tout override Kadence */
	border: 0.5px solid rgba(227, 154, 28, 0.45);
	overflow: hidden;
	margin-bottom: 12px;
}

.indyka-product__main-image,
.indyka-product__gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: contain; /* image en entier, pas de crop */
	object-position: center;
	display: block;
	padding: 5%; /* léger air autour du sujet */
	box-sizing: border-box;
}

.indyka-product__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: rgba(232, 223, 201, 0.5);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
}

.indyka-product__latin {
	position: absolute;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(232, 223, 201, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 12px;
	letter-spacing: 0.32em;
	z-index: 5;
	white-space: nowrap;
}

.indyka-product__latin-variety {
	position: absolute;
	top: 32px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(227, 154, 28, 0.7);
	font-size: 9px;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	z-index: 5;
	white-space: nowrap;
}

.indyka-product__corner {
	position: absolute;
	z-index: 4;
}

.indyka-product__corner--tl { top: 8px; left: 8px; }
.indyka-product__corner--tr { top: 8px; right: 8px; }
.indyka-product__corner--bl { bottom: 8px; left: 8px; }
.indyka-product__corner--br { bottom: 8px; right: 8px; }

.indyka-product__phare-badge {
	position: absolute;
	top: 60px;
	right: 16px;
	background: var(--indyka-gold);
	color: var(--indyka-anthracite);
	font-size: 10px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	padding: 6px 12px;
	font-weight: 700;
	z-index: 5;
}

/* ---- Thumbnails ---- */

.indyka-product__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 24px;
}

.indyka-product__thumb {
	background: transparent;
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	cursor: pointer;
	aspect-ratio: 1;
	padding: 0;
	opacity: 0.7;
	transition: opacity var(--dur-fast) var(--ease-out), border-color var(--dur-fast);
}

.indyka-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.indyka-product__thumb.is-active {
	border: 1px solid var(--indyka-gold);
	opacity: 1;
}

.indyka-product__thumb:hover {
	opacity: 1;
}

/* ---- Profil aromatique ---- */

.indyka-product__aromas {
	background: rgba(227, 154, 28, 0.05);
	border-left: 2px solid var(--indyka-gold);
	padding: 18px 20px;
}

.indyka-product__aromas-eyebrow {
	margin: 0 0 10px;
	color: rgba(227, 154, 28, 0.85);
	font-size: 9px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 500;
}

.indyka-product__aromas-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.indyka-product__aroma-head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3px;
}

.indyka-product__aroma-name {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
	color: var(--indyka-anthracite);
}

.indyka-product__aroma-label {
	color: rgba(92, 88, 82, 0.7);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.indyka-product__aroma-bar {
	height: 4px;
	background: rgba(227, 154, 28, 0.15);
}

.indyka-product__aroma-fill {
	height: 100%;
	background: var(--indyka-green-soft);
	transition: width 800ms var(--ease-out);
}

/* ---- Colonne info ---- */

.indyka-product__info-col {
	padding-top: 8px;
}

.indyka-product__meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.indyka-product__badge {
	font-size: 9px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	padding: 4px 10px;
	font-weight: 600;
}

.indyka-product__badge--phare {
	background: rgba(227, 154, 28, 0.15);
	color: var(--indyka-gold);
}

.indyka-product__lot {
	color: rgba(92, 88, 82, 0.7);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 13px;
	letter-spacing: 0.18em;
}

.indyka-product__eyebrow {
	margin: 0 0 4px;
	color: rgba(92, 88, 82, 0.75);
	font-size: 11px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 500;
}

.indyka-product__title {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2.5rem, 4vw + 1rem, 4rem);
	line-height: 0.95;
	color: var(--indyka-anthracite);
	letter-spacing: -0.02em;
}

.indyka-product__subtitle {
	margin: 0 0 22px;
	color: var(--indyka-gray-600);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 17px;
	line-height: 1.4;
	max-width: none;
}

/* ---- Citation chef d'herboriste ---- */

.indyka-product__edito {
	background: rgba(74, 18, 37, 0.04);
	border: 0.5px solid rgba(227, 154, 28, 0.25);
	padding: 16px 18px;
	margin-bottom: 24px;
}

.indyka-product__edito-quote {
	margin: 0;
	color: var(--indyka-gray-600);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 15px;
	line-height: 1.55;
}

.indyka-product__edito-quote em {
	color: var(--indyka-green-deep);
	font-style: italic;
}

.indyka-product__edito-sign {
	margin: 10px 0 0;
	color: rgba(227, 154, 28, 0.85);
	font-size: 10px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-weight: 600;
}

/* ---- Terroir grid ---- */

.indyka-product__terroir-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 24px;
	padding: 14px;
	background: rgba(227, 154, 28, 0.04);
	border: 0.5px solid rgba(227, 154, 28, 0.2);
}

.indyka-product__terroir-label {
	display: block;
	color: rgba(92, 88, 82, 0.6);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.indyka-product__terroir-value {
	display: block;
	font-family: var(--font-heading);
	font-size: 14px;
	color: var(--indyka-anthracite);
}

/* ---- Sélecteur poids (boutons générés par JS) ---- */

.indyka-product__poids-label {
	margin: 0 0 12px;
	color: rgba(92, 88, 82, 0.75);
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: 500;
}

.indyka-product__poids-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
	gap: 8px;
	margin-bottom: 18px;
}

.indyka-product__poids-btn {
	background: transparent;
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	padding: 12px 8px;
	cursor: pointer;
	text-align: center;
	position: relative;
	transition: all var(--dur-fast) var(--ease-out);
	font-family: inherit;
}

.indyka-product__poids-btn:hover {
	border-color: rgba(227, 154, 28, 0.7);
}

.indyka-product__poids-btn.is-active {
	background: rgba(74, 18, 37, 0.06);
	border: 1.5px solid var(--indyka-green-deep);
}

.indyka-product__poids-format {
	display: block;
	font-family: var(--font-heading);
	font-size: 18px;
	color: var(--indyka-anthracite);
	line-height: 1;
	font-weight: 500;
}

.indyka-product__poids-btn.is-active .indyka-product__poids-format {
	color: var(--indyka-green-deep);
}

.indyka-product__poids-price {
	display: block;
	color: rgba(92, 88, 82, 0.65);
	font-size: 11px;
	margin-top: 4px;
}

.indyka-product__poids-btn.is-active .indyka-product__poids-price {
	color: var(--indyka-green-deep);
	font-weight: 500;
}

.indyka-product__poids-eco {
	display: inline-block;
	margin-top: 4px;
	background: rgba(63, 122, 90, 0.12);
	color: var(--indyka-success);
	font-size: 8px;
	padding: 1px 5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
}

/* ---- Variation WooCommerce (prix récap) ---- */

.single_variation_wrap .single_variation {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 16px 18px;
	background: rgba(74, 18, 37, 0.04);
	border-left: 2px solid var(--indyka-gold);
	margin-bottom: 16px;
}

.single_variation .price {
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: 500;
	color: var(--indyka-green-deep);
	letter-spacing: -0.02em;
	line-height: 1;
}

/* Cache les éléments natifs remplacés par JS */

/* Intentionnel : format Drive — une unité par ajout au panier (le client recommande depuis la fiche). */
.indyka-product__purchase .quantity { display: none; }
.indyka-product__purchase table.variations { border: none; }
.indyka-product__purchase table.variations tbody tr td.label { display: none; }
.indyka-product__purchase table.variations tbody tr td.value > select { display: none; }
.indyka-product__purchase .reset_variations { display: none !important; }

/* Masque le prix natif WooCommerce (remplacé par notre bloc résumé) */
.indyka-product__purchase .single_variation_wrap .single_variation,
.indyka-product__purchase .single_variation .price,
.indyka-product__purchase .woocommerce-variation-price {
	display: none !important;
}

/* ---- Bloc résumé prix (affiché dynamiquement par JS au clic sur un poids) ---- */

.indyka-product__price-summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 16px 18px;
	background: rgba(74, 18, 37, 0.04);
	border-left: 2px solid var(--indyka-gold);
	margin-bottom: 16px;
}

.indyka-product__price-summary-label {
	display: block;
	color: rgba(92, 88, 82, 0.7);
	font-size: 10px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.indyka-product__price-summary-total {
	font-family: var(--font-heading);
	font-size: 36px;
	font-weight: 500;
	color: var(--indyka-green-deep);
	letter-spacing: -0.02em;
	line-height: 1;
	display: inline-block;
	margin-top: 4px;
}

.indyka-product__price-summary-right {
	text-align: right;
}

.indyka-product__price-summary-unit-label {
	display: block;
	color: rgba(92, 88, 82, 0.6);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.indyka-product__price-summary-unit {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	color: var(--indyka-gold);
	line-height: 1;
	display: inline-block;
	margin-top: 4px;
}

/* ---- Trust badges ---- */

.indyka-product__trust {
	display: flex;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.indyka-product__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--indyka-gray-600);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.indyka-product__trust-item a {
	color: var(--indyka-green-deep);
	text-decoration: underline;
	text-decoration-color: rgba(227, 154, 28, 0.5);
	text-underline-offset: 3px;
}

/* ---- Disclaimer médical CBD ---- */

.indyka-product__disclaimer {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 18px 0;
	padding: 12px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 11.5px;
	font-style: italic;
	line-height: 1.5;
	color: #6a6a6a;
	background: rgba(227, 154, 28, 0.04);
	border-left: 2px solid rgba(227, 154, 28, 0.4);
	border-radius: 0 6px 6px 0;
}
.indyka-product__disclaimer svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: rgba(227, 154, 28, 0.7);
}

/* ---- Retrait magasin ---- */

.indyka-product__pickup {
	background: rgba(227, 154, 28, 0.06);
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	padding: 16px 18px;
}

.indyka-product__pickup-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 8px;
}

.indyka-product__pickup-row--bordered {
	padding-top: 8px;
	border-top: 0.5px solid rgba(227, 154, 28, 0.2);
	margin-top: 8px;
	margin-bottom: 0;
}

.indyka-product__pickup-title {
	display: block;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 15px;
	color: var(--indyka-anthracite);
	line-height: 1.3;
}

.indyka-product__pickup-addr {
	display: block;
	color: rgba(92, 88, 82, 0.75);
	font-size: 13px;
	margin-top: 2px;
}

.indyka-product__pickup-row--bordered span {
	color: rgba(92, 88, 82, 0.75);
	font-size: 13px;
	line-height: 1.5;
}

.indyka-product__pickup-row--bordered strong {
	color: var(--indyka-anthracite);
}

/* ---- Onglets ---- */

.indyka-product__tabs {
	background: var(--indyka-ivory);
	padding: 0 clamp(20px, 4vw, 32px);
	max-width: 1280px;
	margin: 0 auto;
}

.indyka-product__tabs-nav {
	display: flex;
	gap: 0;
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.3);
}

.indyka-product__tab {
	background: transparent;
	border: none;
	padding: 16px 24px;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	color: rgba(92, 88, 82, 0.65);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color var(--dur-fast) var(--ease-out);
}

.indyka-product__tab:hover {
	color: var(--indyka-anthracite);
}

.indyka-product__tab.is-active {
	color: var(--indyka-anthracite);
	border-bottom-color: var(--indyka-green-deep);
}

.indyka-product__tab-pane {
	display: none;
	padding: 24px 0 32px;
	max-width: 720px;
}

.indyka-product__tab-pane.is-active {
	display: block;
}

.indyka-product__tab-pane p {
	color: var(--indyka-gray-600);
	font-size: 15px;
	line-height: 1.7;
	margin: 0 0 12px;
}

.indyka-product__tab-pane em {
	color: var(--indyka-green-deep);
	font-style: italic;
}

/* ---- Sceau d'authentification ---- */

.indyka-product__seal {
	background: var(--indyka-anthracite);
	padding: 32px 0;
}

.indyka-product__seal-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.indyka-product__seal-left {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}

.indyka-product__seal-title {
	display: block;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	color: var(--indyka-white);
}

.indyka-product__seal-meta {
	display: block;
	color: rgba(227, 154, 28, 0.85);
	font-size: 10px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-top: 4px;
}

.indyka-product__seal-right {
	text-align: right;
}

.indyka-product__seal-ref-label {
	display: block;
	color: rgba(232, 223, 201, 0.55);
	font-size: 9px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
}

.indyka-product__seal-ref-value {
	display: block;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	color: var(--indyka-gold);
	margin-top: 4px;
}

/* ---- Cross-sell ---- */

.indyka-product__related {
	max-width: 1280px;
	margin: 0 auto;
	padding: 48px clamp(20px, 4vw, 32px) 32px;
}

.indyka-product__related-eyebrow {
	margin: 0 0 6px;
	text-align: center;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
}

.indyka-product__related-title {
	margin: 0 0 28px;
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 32px;
	color: var(--indyka-anthracite);
}

.indyka-product__related-title em {
	font-style: italic;
	color: var(--indyka-green-soft);
}

.indyka-product__related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.indyka-product__related-card {
	background: var(--indyka-white);
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	overflow: hidden;
	text-decoration: none;
	display: block;
	transition: transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal);
}

.indyka-product__related-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.indyka-product__related-image {
	aspect-ratio: 1;
	background: linear-gradient(135deg, #C43C1F 0%, #4A1225 100%);
	overflow: hidden;
}

.indyka-product__related-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.indyka-product__related-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #C43C1F 0%, #4A1225 100%);
}

.indyka-product__related-body {
	padding: 12px;
}

.indyka-product__related-meta {
	display: block;
	color: rgba(92, 88, 82, 0.65);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.indyka-product__related-name {
	display: block;
	font-family: var(--font-heading);
	font-size: 18px;
	color: var(--indyka-anthracite);
	margin: 2px 0;
	line-height: 1.1;
}

.indyka-product__related-price {
	color: var(--indyka-gold);
	font-family: var(--font-heading);
	font-size: 15px;
}

/* ---- Responsive 1024px ---- */

@media (max-width: 1024px) {
	.indyka-product__hero {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.indyka-product__filigree {
		font-size: 180px;
	}
	.indyka-product__related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---- Responsive 640px ---- */

@media (max-width: 640px) {
	.indyka-product__strip-inner {
		font-size: 9px;
		gap: 8px;
		flex-direction: column;
	}
	.indyka-product__title {
		font-size: 2.5rem;
	}
	.indyka-product__terroir-grid {
		grid-template-columns: 1fr;
	}
	.indyka-product__seal-inner {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
	.indyka-product__seal-right {
		text-align: center;
	}
	.indyka-product__related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.indyka-product__tab {
		padding: 14px;
		font-size: 14px;
	}
	.indyka-product__hero {
		padding-bottom: 24px;
	}
}


/* =============================================================
   SECTION 18 — FOOTER INDYKA
   ============================================================= */

.indyka-footer {
	background: linear-gradient(150deg, #17090F 0%, #3A0F1E 55%, #6E1B2E 100%);
	color: var(--indyka-white);
	width: 100%;
	font-family: var(--font-body);
}

/* Fil doré de séparation */
.indyka-footer__thread {
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(227, 154, 28, 0.6) 20%, #E39A1C 50%, rgba(227, 154, 28, 0.6) 80%, transparent 100%);
}

/* Grille 4 colonnes */
.indyka-footer__inner {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
	gap: 48px 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 64px 48px 56px;
}

/* ---- Colonne Identité ---- */

.indyka-footer__logo {
	display: block;
	width: 76px;
	height: 76px;
	object-fit: contain;
	margin: 0 0 14px;
	filter: drop-shadow( 0 4px 10px rgba( 0, 0, 0, 0.25 ) );
}

.indyka-footer__brand-name {
	font-family: var(--font-heading);
	font-size: 22px;
	font-style: italic;
	letter-spacing: 0.12em;
	color: #E39A1C;
	margin: 0 0 4px;
}

.indyka-footer__brand-tagline {
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
	margin: 0 0 20px;
}

.indyka-footer__address {
	font-style: normal;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.65);
	margin: 0 0 12px;
}

.indyka-footer__address-link {
	color: rgba(227, 154, 28, 0.8);
	text-decoration: none;
	transition: color 0.18s ease;
}

.indyka-footer__address-link:hover {
	color: #E39A1C;
}

.indyka-footer__hours {
	font-size: 11px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

/* ---- Titres de colonnes ---- */

.indyka-footer__col-title {
	font-family: var(--font-heading);
	font-size: 11px;
	font-style: normal;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(227, 154, 28, 0.85);
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.2);
}

/* ---- Navigation colonnes ---- */

.indyka-footer__nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.indyka-footer__nav a {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	transition: color 0.18s ease;
}

.indyka-footer__nav a:hover {
	color: #E39A1C;
}

/* ---- Newsletter ---- */

.indyka-footer__newsletter-desc {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.55;
	margin: 0 0 16px;
}

.indyka-footer__newsletter-form {
	display: flex;
	gap: 0;
	border: 0.5px solid rgba(227, 154, 28, 0.35);
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 10px;
}

.indyka-footer__newsletter-input {
	flex: 1;
	background: rgba(255, 255, 255, 0.05);
	border: none;
	color: var(--indyka-white);
	font-size: 13px;
	padding: 10px 14px;
	outline: none;
}

.indyka-footer__newsletter-input::placeholder {
	color: rgba(255, 255, 255, 0.3);
}

.indyka-footer__newsletter-btn {
	background: rgba(227, 154, 28, 0.15);
	border: none;
	border-left: 0.5px solid rgba(227, 154, 28, 0.35);
	color: #E39A1C;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 10px 16px;
	cursor: pointer;
	transition: background 0.18s ease;
	white-space: nowrap;
}

.indyka-footer__newsletter-btn:hover {
	background: rgba(227, 154, 28, 0.25);
}

.indyka-footer__newsletter-legal {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.3);
	margin: 0;
}

/* ---- Barre légale ---- */

.indyka-footer__legal-bar {
	border-top: 0.5px solid rgba(255, 255, 255, 0.08);
}

.indyka-footer__legal-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 48px;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.indyka-footer__seal {
	flex-shrink: 0;
	opacity: 0.7;
}

.indyka-footer__copyright {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.35);
	margin: 0;
	white-space: nowrap;
}

.indyka-footer__legal-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.indyka-footer__legal-nav a {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	text-decoration: none;
	transition: color 0.18s ease;
}

.indyka-footer__legal-nav a:hover {
	color: rgba(227, 154, 28, 0.9);
}

.indyka-footer__legal-nav span {
	color: rgba(255, 255, 255, 0.2);
	font-size: 10px;
}

.indyka-footer__mention-thc {
	width: 100%;
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.22);
	margin: 0;
	text-align: center;
}

/* ---- Responsive 1024px : 2 colonnes ---- */

@media (max-width: 1024px) {
	.indyka-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 40px 32px;
		padding: 48px 32px 40px;
	}
	.indyka-footer__legal-inner {
		padding: 16px 32px;
	}
}

/* ---- Responsive 640px : 1 colonne ---- */

@media (max-width: 640px) {
	.indyka-footer__inner {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 40px 24px 32px;
	}
	.indyka-footer__legal-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 16px 24px;
	}
	.indyka-footer__legal-nav {
		margin-left: 0;
	}
	.indyka-footer__copyright {
		white-space: normal;
	}
}


/* ==========================================================================
   20. OVERRIDE BOUTON "AJOUTER AU PANIER" — bat Kadence + WooCommerce
   ========================================================================== */

body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button,
body.single-product .indyka-product__purchase .single_add_to_cart_button,
.woocommerce body.single-product .single_add_to_cart_button {
	background: var(--indyka-grad-braise) !important;
	color: var(--indyka-white) !important;
	border: none !important;
	width: 100% !important;
	padding: 18px 24px !important;
	font-size: 12px !important;
	letter-spacing: 0.32em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background-color 200ms ease !important;
	margin-top: 16px !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:hover {
	background-color: var(--indyka-green-soft) !important;
	color: var(--indyka-white) !important;
}

/* Composant désactivé — exempté WCAG 1.4.3 (composant non interactif) */
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button[disabled],
body.single-product button.single_add_to_cart_button[disabled] {
	background-color: rgba(74, 18, 37, 0.5) !important;
	cursor: not-allowed !important;
	opacity: 0.7 !important;
}


/* ==========================================================================
   21. PAGE ARCHIVE — "Catalogue de spécimens"
   ========================================================================== */

/* ---- Bandeau catalogue ---- */

.indyka-archive__strip {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 12px;
	background: var(--indyka-anthracite);
	color: var(--indyka-gray-400);
	font-size: 10px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	padding: 10px 24px;
}

.indyka-archive__strip-sep {
	color: var(--indyka-gold);
	opacity: 0.6;
}

.indyka-archive__strip-count {
	color: var(--indyka-white);
}

/* ---- Hero catégorie ---- */

.indyka-archive__hero {
	text-align: center;
	padding: 72px 24px 56px;
	background: var(--indyka-white);
}

.indyka-archive__hero-eyebrow {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	color: var(--indyka-gray-600);
	letter-spacing: 0.04em;
	margin: 0 0 20px;
}

.indyka-archive__hero-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: clamp(56px, 8vw, 88px);
	color: var(--indyka-anthracite);
	letter-spacing: -0.03em;
	line-height: 0.95;
	margin: 0;
}

/* ---- Pills sous-catégories ---- */

.indyka-archive__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	padding: 24px 24px 0;
	background: var(--indyka-white);
}

.indyka-archive__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1px solid var(--indyka-gray-200);
	color: var(--indyka-gray-600);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.indyka-archive__pill:hover {
	border-color: var(--indyka-green-deep);
	color: var(--indyka-green-deep);
}

.indyka-archive__pill.is-active {
	background: var(--indyka-green-deep);
	border-color: var(--indyka-green-deep);
	color: var(--indyka-white);
}

.indyka-archive__pill-count {
	font-size: 9px;
	opacity: 0.7;
}

/* ---- Toolbar ---- */

.indyka-archive__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px clamp(20px, 4vw, 48px);
	background: var(--indyka-ivory);
	border-bottom: 1px solid var(--indyka-gray-100);
	position: sticky;
	top: 0;
	z-index: 40;
	max-width: 100%;
}

.indyka-archive__toolbar-inner,
.indyka-archive__hero-inner {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

.indyka-archive__toolbar-count {
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--indyka-gray-600);
	margin: 0;
}

.indyka-archive__toolbar-right select,
.indyka-archive__toolbar-right .orderby {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: 1px solid var(--indyka-gray-200);
	background: transparent;
	padding: 6px 10px;
	color: var(--indyka-anthracite);
	cursor: pointer;
}

/* ---- Grille produits ---- */

.indyka-archive__grid {
	list-style: none;
	margin: 0 auto;
	padding: 32px clamp(20px, 4vw, 48px);
	max-width: 1280px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

/* ---- Card produit — lookbook split photo + bandeau coloré ---- */

.indyka-archive__product {
	list-style: none;
	margin: 0;
}

.indyka-archive__product-link {
	display: block;
	text-decoration: none;
	background: var(--indyka-white);
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	overflow: hidden;
	transition: transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out);
	position: relative;
}

.indyka-archive__product-link:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.10), 0 0 0 1px rgba(227, 154, 28, 0.5);
	border-color: transparent;
}

/* Ruban supérieur 3px gradient — couleur par palette */
.indyka-archive__product-ribbon {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 3;
	pointer-events: none;
}

/* Zone PHOTO */
.indyka-archive__product-photo {
	position: relative;
	aspect-ratio: 4 / 3;
	background: #FAFAFA;
	overflow: hidden;
	color: #E39A1C;
}

.indyka-archive__product-img,
.indyka-archive__product-placeholder svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 600ms var(--ease-out);
}

.indyka-archive__product-link:hover .indyka-archive__product-img,
.indyka-archive__product-link:hover .indyka-archive__product-placeholder svg {
	transform: scale(1.04);
}

.indyka-archive__product-placeholder {
	width: 100%;
	height: 100%;
}

/* Initiales filigrane */
.indyka-archive__product-initials {
	position: absolute;
	bottom: 6px;
	right: 8px;
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: 500;
	font-size: 140px;
	line-height: 0.85;
	color: var(--indyka-gold);
	opacity: 0.08;
	pointer-events: none;
	user-select: none;
	z-index: 2;
}

/* Ornement or + N° spécimen */
.indyka-archive__product-ornament {
	position: absolute;
	top: 12px;
	left: 12px;
	color: var(--indyka-gold);
	z-index: 3;
}

.indyka-archive__product-num {
	position: absolute;
	top: 13px;
	left: 36px;
	color: rgba(227, 154, 28, 0.95);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 12px;
	letter-spacing: 0.18em;
	z-index: 3;
}

/* Badge contextuel */
.indyka-archive__product-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	padding: 4px 9px;
	font-weight: 600;
	z-index: 3;
}

.indyka-archive__product-badge--gold {
	background: var(--indyka-gold);
	color: var(--indyka-anthracite);
	font-weight: 700;
	letter-spacing: 0.28em;
}

.indyka-archive__product-badge--green {
	background: rgba(63, 122, 90, 0.95);
	color: var(--indyka-white);
}

.indyka-archive__product-badge--dark {
	background: var(--indyka-green-deep);
	color: var(--indyka-white);
}

/* Bandeau bas — vert profond par défaut */
.indyka-archive__product-strip {
	padding: 14px 16px;
	background: linear-gradient(180deg, var(--indyka-green-soft) 0%, var(--indyka-green-deep) 100%);
	color: var(--indyka-white);
}

.indyka-archive__product-meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 5px;
}

.indyka-archive__product-meta-prov {
	color: rgba(227, 154, 28, 0.95);
	font-size: 9px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-weight: 600;
}

.indyka-archive__product-meta-lot {
	color: rgba(232, 223, 201, 0.6);
	font-size: 9px;
	letter-spacing: 0.18em;
}

.indyka-archive__product-name {
	margin: 0 0 4px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 24px;
	color: var(--indyka-white);
	line-height: 1.0;
}

.indyka-archive__product-notes {
	margin: 0 0 10px;
	color: rgba(232, 223, 201, 0.7);
	font-size: 11px;
	font-style: italic;
}

.indyka-archive__product-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 10px;
	border-top: 0.5px solid rgba(227, 154, 28, 0.3);
}

.indyka-archive__product-price {
	font-family: var(--font-heading);
	font-size: 17px;
	color: #E2C994;
	font-weight: 500;
}

.indyka-archive__product-price-unit {
	color: rgba(232, 223, 201, 0.6);
	font-size: 11px;
}

.indyka-archive__product-arrow {
	color: var(--indyka-gold);
	font-size: 16px;
	transition: transform var(--dur-normal) var(--ease-out);
}

.indyka-archive__product-link:hover .indyka-archive__product-arrow {
	transform: translateX(3px);
}

/* ---- Palettes par origine ---- */

.indyka-archive__product--suisse-indoor .indyka-archive__product-ribbon {
	background: linear-gradient(90deg, #4A1225, #8F1E2E);
}
.indyka-archive__product--suisse-indoor .indyka-archive__product-photo { color: #E39A1C; }

.indyka-archive__product--usa-indoor .indyka-archive__product-ribbon {
	background: linear-gradient(90deg, #C43C1F, #E39A1C);
}
.indyka-archive__product--usa-indoor .indyka-archive__product-strip {
	background: linear-gradient(180deg, #4A4640 0%, #1F1D1A 100%);
}
.indyka-archive__product--usa-indoor .indyka-archive__product-photo { color: #7A8A60; }

.indyka-archive__product--france-bio .indyka-archive__product-ribbon {
	background: linear-gradient(90deg, #4A6B45, #A8DAB8);
}
.indyka-archive__product--france-bio .indyka-archive__product-strip {
	background: linear-gradient(180deg, #5A7858 0%, #3A5238 100%);
}
.indyka-archive__product--france-bio .indyka-archive__product-photo { color: #8DAA75; }

.indyka-archive__product--small-bud .indyka-archive__product-ribbon {
	background: linear-gradient(90deg, #E39A1C, #F2C14E);
}
.indyka-archive__product--small-bud .indyka-archive__product-strip {
	background: linear-gradient(180deg, #E39A1C 0%, #C43C1F 100%);
	color: var(--indyka-anthracite);
}
.indyka-archive__product--small-bud .indyka-archive__product-meta-prov {
	color: rgba(31, 29, 26, 0.95);
	font-weight: 700;
}
.indyka-archive__product--small-bud .indyka-archive__product-meta-lot { color: rgba(31, 29, 26, 0.65); }
.indyka-archive__product--small-bud .indyka-archive__product-name { color: var(--indyka-anthracite); font-size: 22px; }
.indyka-archive__product--small-bud .indyka-archive__product-notes { color: rgba(31, 29, 26, 0.75); }
.indyka-archive__product--small-bud .indyka-archive__product-foot { border-top-color: rgba(31, 29, 26, 0.3); }
.indyka-archive__product--small-bud .indyka-archive__product-price { color: var(--indyka-anthracite); font-weight: 600; }
.indyka-archive__product--small-bud .indyka-archive__product-price-unit { color: rgba(31, 29, 26, 0.65); }
.indyka-archive__product--small-bud .indyka-archive__product-arrow { color: var(--indyka-green-deep); }
.indyka-archive__product--small-bud .indyka-archive__product-photo { color: #8A9555; }

.indyka-archive__product--default .indyka-archive__product-ribbon {
	background: linear-gradient(90deg, #4A1225, #C43C1F 55%, #E39A1C);
}

/* ---- Pagination ---- */

.indyka-archive__pagination {
	padding: 48px 48px 0;
	text-align: center;
}

.indyka-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.indyka-archive__pagination .page-numbers a,
.indyka-archive__pagination .page-numbers span {
	display: inline-block;
	padding: 8px 14px;
	font-size: 11px;
	letter-spacing: 0.18em;
	color: var(--indyka-gray-600);
	border: 1px solid transparent;
	text-decoration: none;
	transition: border-color 160ms ease, color 160ms ease;
}

.indyka-archive__pagination .page-numbers a:hover {
	border-color: var(--indyka-green-deep);
	color: var(--indyka-green-deep);
}

.indyka-archive__pagination .page-numbers .current {
	border-color: var(--indyka-green-deep);
	color: var(--indyka-green-deep);
}

/* ---- Zone vide ---- */

.indyka-archive__empty {
	padding: 80px 48px;
	text-align: center;
	color: var(--indyka-gray-600);
}

/* ---- Footer archive ---- */

.indyka-archive__foot {
	margin-top: 80px;
	padding: 40px 48px;
	background: var(--indyka-anthracite);
	text-align: center;
}

.indyka-archive__foot-text {
	font-size: 14px;
	color: var(--indyka-gray-400);
	margin: 0;
}

.indyka-archive__foot-link {
	color: var(--indyka-white);
	text-decoration: underline;
	text-decoration-color: rgba(227, 154, 28, 0.5);
	text-underline-offset: 3px;
	margin-left: 4px;
	transition: color 160ms ease;
}

.indyka-archive__foot-link:hover {
	color: var(--indyka-gold);
}

/* ---- Responsive 1100px : 2 colonnes ---- */

@media (max-width: 1100px) {
	.indyka-archive__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
		padding: 28px clamp(16px, 3vw, 32px);
	}
	.indyka-archive__toolbar {
		padding: 14px 24px;
	}
}

/* ---- Responsive 640px : 1 colonne ---- */

@media (max-width: 640px) {
	.indyka-archive__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		padding: 20px 12px;
	}
	.indyka-archive__hero {
		padding: 48px 24px 40px;
	}
	.indyka-archive__pills {
		padding: 16px 16px 0;
	}
	.indyka-archive__toolbar {
		padding: 12px 16px;
	}
	.indyka-archive__foot {
		padding: 32px 24px;
	}
}

/* ==========================================================================
   22. PANIER INDYKA — Commande de retrait
   ========================================================================== */

.indyka-cart {
	background: var(--indyka-white);
	min-height: 60vh;
}

/* ---- Bandeau supérieur ---- */

.indyka-cart__strip {
	background: var(--indyka-grad-braise);
	padding: 10px 0;
}
.indyka-cart__strip-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 32px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	color: rgba(232, 223, 201, 0.85);
	font-size: 10px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
}
.indyka-cart__strip-item--gold { color: rgba(227, 154, 28, 0.85); }

/* ---- Breadcrumb ---- */

.indyka-cart__breadcrumb {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px clamp(20px, 4vw, 32px) 4px;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(92, 88, 82, 0.65);
}
.indyka-cart__breadcrumb a {
	color: rgba(92, 88, 82, 0.65);
	text-decoration: none;
}
.indyka-cart__breadcrumb-sep {
	margin: 0 8px;
	color: rgba(227, 154, 28, 0.6);
}
.indyka-cart__breadcrumb-current { color: var(--indyka-anthracite); }

/* ---- Lien retour catalogue ---- */

.indyka-cart__back-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 4px clamp(20px, 4vw, 32px) 0;
}
.indyka-cart__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
	text-decoration: none;
	transition: color var(--dur-fast);
}
.indyka-cart__back:hover { color: var(--indyka-green-deep); }
.indyka-cart__back-arrow { color: var(--indyka-gold); }

/* ---- Hero ---- */

.indyka-cart__hero {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px clamp(20px, 4vw, 32px) 16px;
	text-align: center;
}
.indyka-cart__eyebrow {
	margin: 0 0 6px;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
}
.indyka-cart__title {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: clamp(2.5rem, 4vw + 1rem, 4rem);
	line-height: 0.95;
	color: var(--indyka-anthracite);
	letter-spacing: -0.02em;
}
.indyka-cart__title em {
	font-style: italic;
	color: var(--indyka-green-soft);
}
.indyka-cart__subtitle {
	margin: 0;
	color: var(--indyka-gray-600);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 15px;
}

/* ---- Timeline 3 étapes ---- */

.indyka-cart__timeline {
	max-width: 1280px;
	margin: 0 auto;
	padding: 8px clamp(20px, 4vw, 32px) 24px;
}
.indyka-cart__timeline-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	max-width: 720px;
	margin: 0 auto;
	padding: 18px 24px;
	background: rgba(227, 154, 28, 0.05);
	border: 0.5px solid rgba(227, 154, 28, 0.25);
}
.indyka-cart__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}
.indyka-cart__step-num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(227, 154, 28, 0.15);
	color: rgba(227, 154, 28, 0.85);
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 6px;
}
.indyka-cart__step--active .indyka-cart__step-num {
	background: var(--indyka-green-deep);
	color: var(--indyka-gold);
	border-color: var(--indyka-green-deep);
}
.indyka-cart__step-label {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
	color: rgba(31, 29, 26, 0.65);
}
.indyka-cart__step--active .indyka-cart__step-label { color: var(--indyka-green-deep); }
.indyka-cart__step-meta {
	color: rgba(92, 88, 82, 0.55);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-top: 2px;
	text-align: center;
}
.indyka-cart__step-line {
	flex: 0 0 60px;
	height: 0.5px;
	background: linear-gradient(90deg, rgba(227, 154, 28, 0.6), rgba(227, 154, 28, 0.2));
	margin-top: -28px;
}

/* ---- Layout 2 colonnes ---- */

.indyka-cart__layout {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 28px;
	padding: 8px clamp(20px, 4vw, 32px) 36px;
	align-items: start;
}

/* ---- Colonne gauche : articles ---- */

.indyka-cart__items-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 4px 12px;
}
.indyka-cart__items-title {
	margin: 0;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 18px;
	color: var(--indyka-anthracite);
}
.indyka-cart__items-count {
	color: rgba(92, 88, 82, 0.6);
	font-size: 10px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}
.indyka-cart__items {
	background: white;
	border: 0.5px solid rgba(227, 154, 28, 0.3);
}
.indyka-cart__item {
	display: grid;
	grid-template-columns: 100px 1fr auto;
	gap: 18px;
	align-items: center;
	padding: 18px 20px;
	border-bottom: 0.5px solid rgba(227, 154, 28, 0.18);
}
.indyka-cart__item:last-child { border-bottom: none; }

.indyka-cart__item-photo {
	position: relative;
	width: 100px;
	height: 100px;
	background: #FAFAFA;
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	overflow: hidden;
	flex-shrink: 0;
}
.indyka-cart__item-photo img,
.indyka-cart__item-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.indyka-cart__item-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #4A7050, #4A1225);
}
.indyka-cart__item-num {
	position: absolute;
	top: 4px;
	left: 4px;
	color: rgba(227, 154, 28, 0.95);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 9px;
	letter-spacing: 0.18em;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.indyka-cart__item-badge {
	position: absolute;
	top: 4px;
	right: 4px;
	background: rgba(63, 122, 90, 0.95);
	color: var(--indyka-white);
	font-size: 7px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 2px 5px;
	font-weight: 600;
}

.indyka-cart__item-meta {
	display: block;
	color: rgba(92, 88, 82, 0.65);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-bottom: 2px;
}
.indyka-cart__item-name {
	margin: 0 0 4px;
	font-family: var(--font-heading);
	font-size: 22px;
	color: var(--indyka-anthracite);
	line-height: 1.05;
	font-weight: 500;
}
.indyka-cart__item-name a { color: inherit; text-decoration: none; }
.indyka-cart__item-name a:hover { color: var(--indyka-green-deep); }
.indyka-cart__item-notes {
	display: block;
	color: rgba(92, 88, 82, 0.7);
	font-size: 12px;
	font-style: italic;
	margin-bottom: 10px;
}
.indyka-cart__item-options {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.indyka-cart__item-format-value {
	display: block;
	font-family: var(--font-heading);
	font-size: 13px;
	color: var(--indyka-green-deep);
	font-weight: 500;
}
.indyka-cart__item-format-price {
	color: rgba(92, 88, 82, 0.6);
	font-size: 10px;
}

/* Qty input WooCommerce */
.indyka-cart__qty .quantity {
	display: inline-flex;
	align-items: center;
	background: rgba(227, 154, 28, 0.06);
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	height: 30px;
}
.indyka-cart__qty input.qty {
	background: transparent;
	border: none;
	width: 36px;
	text-align: center;
	font-family: var(--font-heading);
	font-size: 15px;
	color: var(--indyka-anthracite);
	font-weight: 500;
	outline: none;
}

.indyka-cart__item-actions {
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}
.indyka-cart__item-total {
	font-family: var(--font-heading);
	font-size: 20px;
	color: var(--indyka-anthracite);
	font-weight: 500;
}
.indyka-cart__item-remove {
	background: transparent;
	border: 0.5px solid rgba(227, 154, 28, 0.3);
	padding: 4px 8px;
	color: rgba(227, 154, 28, 0.7);
	font-size: 14px;
	line-height: 1;
	text-decoration: none;
	transition: all var(--dur-fast);
}
.indyka-cart__item-remove:hover {
	border-color: var(--indyka-error);
	color: var(--indyka-error);
}

/* Form actions */
.indyka-cart__form-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
	padding: 0 4px;
	flex-wrap: wrap;
}
.indyka-cart__btn-update {
	background: transparent;
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	padding: 8px 14px;
	cursor: pointer;
	color: var(--indyka-anthracite);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: border-color var(--dur-fast);
}
.indyka-cart__btn-update:hover { border-color: var(--indyka-gold); }

.indyka-cart__promo summary {
	cursor: pointer;
	list-style: none;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.indyka-cart__promo summary::-webkit-details-marker { display: none; }
.indyka-cart__promo-input {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}
.indyka-cart__promo-input input {
	background: white;
	border: 0.5px solid rgba(227, 154, 28, 0.4);
	padding: 8px 12px;
	font-size: 13px;
	font-family: var(--font-body);
}
.indyka-cart__promo-input button {
	background: var(--indyka-green-deep);
	color: var(--indyka-white);
	border: none;
	padding: 8px 14px;
	cursor: pointer;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* ---- Colonne droite : commande (boarding pass) ---- */

.indyka-cart__bordereau-col {
	position: sticky;
	top: 20px;
}
.indyka-cart__bordereau {
	position: relative;
	background: white;
	box-shadow: 0 4px 24px rgba(74, 18, 37, 0.08);
	overflow: hidden;
	--notch-size: 14px;
	-webkit-mask:
		radial-gradient(circle var(--notch-size) at 0 50%, transparent calc(var(--notch-size) - 0.5px), #000 var(--notch-size)),
		radial-gradient(circle var(--notch-size) at 100% 50%, transparent calc(var(--notch-size) - 0.5px), #000 var(--notch-size));
	-webkit-mask-composite: source-in;
	mask:
		radial-gradient(circle var(--notch-size) at 0 50%, transparent calc(var(--notch-size) - 0.5px), #000 var(--notch-size)),
		radial-gradient(circle var(--notch-size) at 100% 50%, transparent calc(var(--notch-size) - 0.5px), #000 var(--notch-size));
	mask-composite: intersect;
}
.indyka-cart__bordereau-section {
	padding: 22px 24px;
	border-bottom: 0.5px dashed rgba(227, 154, 28, 0.5);
}
.indyka-cart__bordereau-section:last-child { border-bottom: none; }

.indyka-cart__bordereau-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}
.indyka-cart__bordereau-eyebrow {
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 13px;
}
.indyka-cart__bordereau-num {
	color: rgba(92, 88, 82, 0.55);
	font-size: 9px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}
.indyka-cart__bordereau-title {
	margin: 0 0 18px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 26px;
	color: var(--indyka-anthracite);
	line-height: 1;
}

.indyka-cart__bordereau-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 8px;
	color: rgba(92, 88, 82, 0.85);
	font-size: 13px;
	gap: 8px;
}
.indyka-cart__bordereau-line-name { flex: 1; }
.indyka-cart__bordereau-line-format {
	color: rgba(92, 88, 82, 0.55);
	font-size: 11px;
	margin-left: 4px;
}
.indyka-cart__bordereau-line-price {
	font-family: var(--font-heading);
	font-size: 14px;
	color: var(--indyka-anthracite);
	flex-shrink: 0;
}

.indyka-cart__bordereau-subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-top: 12px;
	border-top: 0.5px solid rgba(227, 154, 28, 0.2);
	margin: 14px 0 6px;
	font-size: 13px;
	color: rgba(92, 88, 82, 0.8);
}
.indyka-cart__bordereau-subtotal .muted { color: rgba(92, 88, 82, 0.55); }
.indyka-cart__bordereau-subtotal-value {
	font-family: var(--font-heading);
	font-size: 16px;
	color: var(--indyka-anthracite);
	font-weight: 500;
}

.indyka-cart__bordereau-shipping {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.indyka-cart__bordereau-shipping-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--indyka-success);
	font-size: 12px;
}
.indyka-cart__bordereau-shipping-value {
	font-family: var(--font-heading);
	font-style: italic;
	color: var(--indyka-success);
	font-size: 14px;
	font-weight: 500;
}

/* Total */
.indyka-cart__bordereau-section--total {
	background: rgba(74, 18, 37, 0.03);
}
.indyka-cart__bordereau-total-label {
	display: block;
	color: rgba(92, 88, 82, 0.7);
	font-size: 9px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.indyka-cart__bordereau-total-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
}
.indyka-cart__bordereau-total-value {
	font-family: var(--font-heading);
	font-size: 40px;
	color: var(--indyka-green-deep);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1;
}
.indyka-cart__bordereau-total-meta {
	color: rgba(92, 88, 82, 0.55);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.indyka-cart__bordereau-cta {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px !important;
	background: var(--indyka-grad-braise) !important;
	color: var(--indyka-white) !important;
	text-decoration: none;
	font-size: 11px !important;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 600;
	box-sizing: border-box;
	margin-bottom: 14px;
	transition: background var(--dur-fast);
	border-radius: 0 !important;
}
.indyka-cart__bordereau-cta:hover {
	background: var(--indyka-green-soft) !important;
	color: var(--indyka-white) !important;
}
.indyka-cart__bordereau-cta-arrow { color: var(--indyka-gold); }

.indyka-cart__bordereau-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: rgba(92, 88, 82, 0.7);
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.indyka-cart__bordereau-trust span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.indyka-cart__bordereau-trust-sep { color: rgba(227, 154, 28, 0.4); }

/* Lieu de retrait + Maps */
.indyka-cart__bordereau-section--map { padding-bottom: 0; }
.indyka-cart__bordereau-place {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}
.indyka-cart__bordereau-place-name {
	display: block;
	font-family: var(--font-heading);
	font-size: 14px;
	color: var(--indyka-anthracite);
	font-style: italic;
	line-height: 1.3;
}
.indyka-cart__bordereau-place-addr {
	display: block;
	color: rgba(92, 88, 82, 0.7);
	font-size: 12px;
	line-height: 1.4;
}
.indyka-cart__bordereau-map {
	position: relative;
	border: 0.5px solid rgba(227, 154, 28, 0.25);
}
.indyka-cart__bordereau-map iframe {
	display: block;
	filter: sepia(0.18) saturate(0.9) contrast(0.95);
	transition: filter 400ms ease;
}
.indyka-cart__bordereau-map:hover iframe {
	filter: sepia(0) saturate(1) contrast(1);
}
.indyka-cart__bordereau-map-link {
	display: block;
	text-align: center;
	padding: 8px;
	background: rgba(227, 154, 28, 0.06);
	border-top: 0.5px solid rgba(227, 154, 28, 0.25);
	color: var(--indyka-gold);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 500;
	text-decoration: none;
	transition: background var(--dur-fast);
}
.indyka-cart__bordereau-map-link:hover { background: rgba(227, 154, 28, 0.12); }

/* Sceau */
.indyka-cart__bordereau-section--seal {
	background: rgba(74, 18, 37, 0.04);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 24px;
}
.indyka-cart__bordereau-seal-text { flex: 1; }
.indyka-cart__bordereau-seal-title {
	display: block;
	color: var(--indyka-anthracite);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 12px;
	line-height: 1.2;
}
.indyka-cart__bordereau-seal-meta {
	display: block;
	color: rgba(92, 88, 82, 0.6);
	font-size: 8px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	margin-top: 1px;
}
.indyka-cart__bordereau-seal-num {
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 11px;
	color: rgba(227, 154, 28, 0.85);
}

/* Citation */
.indyka-cart__bordereau-quote {
	margin: 12px 0 0;
	padding: 0 4px;
	color: rgba(92, 88, 82, 0.7);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}
.indyka-cart__bordereau-quote strong { color: var(--indyka-green-deep); font-weight: 600; }

/* ---- Panier vide ---- */

.indyka-cart__empty {
	max-width: 520px;
	margin: 0 auto;
	padding: 64px 32px;
	text-align: center;
}
.indyka-cart__empty-eyebrow {
	margin: 0 0 6px;
	color: rgba(227, 154, 28, 0.85);
	font-family: var(--font-heading);
	font-style: italic;
	font-size: 16px;
}
.indyka-cart__empty-title {
	margin: 0 0 8px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 36px;
	color: var(--indyka-anthracite);
	line-height: 1;
}
.indyka-cart__empty-text {
	color: var(--indyka-gray-600);
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 24px;
}
.indyka-cart__empty-cta {
	display: inline-block;
	padding: 14px 28px;
	background: var(--indyka-grad-braise);
	color: var(--indyka-white);
	text-decoration: none;
	font-size: 11px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-weight: 600;
	transition: background var(--dur-fast);
}
.indyka-cart__empty-cta:hover {
	background: var(--indyka-green-soft);
	color: var(--indyka-white);
}

/* ---- Responsive 1024px : 1 colonne ---- */

@media (max-width: 1024px) {
	.indyka-cart__layout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.indyka-cart__bordereau-col { position: static; }
}

/* ---- Responsive 640px ---- */

@media (max-width: 640px) {
	.indyka-cart__title { font-size: 2.5rem; }
	.indyka-cart__timeline-inner {
		flex-direction: column;
		gap: 14px;
	}
	.indyka-cart__step-line { display: none; }
	.indyka-cart__item {
		grid-template-columns: 80px 1fr;
		gap: 12px;
	}
	.indyka-cart__item-actions {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   § 23 — TUNNEL CHECKOUT INDYKA — 4 étapes accordéon
═══════════════════════════════════════════════════════════════════ */

/* ── Variables locales ── */
.indyka-checkout {
	--ck-gold:    #E39A1C;
	--ck-green:   #4A1225;
	--ck-green2:  #3F7A5A;
	--ck-bg:      #FAFAF8;
	--ck-border:  rgba(227,154,28,0.18);
	--ck-radius:  2px;
	--ck-font-s:  'Cormorant Garamond', 'Cormorant', Georgia, serif;
	--ck-font-b:  'Inter', 'Helvetica Neue', Arial, sans-serif;

	background: var(--ck-bg);
	min-height: 60vh;
	width: 100%;
}

/* ── Bandeau strip ── */
.indyka-checkout__strip {
	background: var(--ck-green);
	color: #D4C5A9;
	font-family: var(--ck-font-b);
	font-size: 10px;
	letter-spacing: 0.04em;
	padding: 9px 24px;
}
.indyka-checkout__strip-inner {
	max-width: 700px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
}
.indyka-checkout__strip-inner span {
	display: flex;
	align-items: center;
	gap: 6px;
}

/* ── Layout inner ── */
.indyka-checkout__inner {
	max-width: 700px;
	margin: 0 auto;
	padding: 0 20px 60px;
}

/* ── Header ── */
.indyka-checkout__header {
	padding: 40px 0 28px;
	border-bottom: 1px solid var(--ck-border);
	margin-bottom: 32px;
}
.indyka-checkout__eyebrow {
	font-family: var(--ck-font-s);
	font-size: 12px;
	color: var(--ck-gold);
	letter-spacing: 0.12em;
	font-style: italic;
	margin: 0 0 8px;
}
.indyka-checkout__title {
	font-family: var(--ck-font-s);
	font-size: clamp(28px, 5vw, 38px);
	font-weight: 300;
	color: var(--ck-green);
	line-height: 1.15;
	margin: 0 0 8px;
}
.indyka-checkout__title em { font-style: italic; font-weight: 400; }
.indyka-checkout__subtitle {
	font-family: var(--ck-font-b);
	font-size: 11px;
	color: #6B7B6E;
	letter-spacing: 0.08em;
	margin: 0;
}

/* ── Stepper ── */
.indyka-checkout__stepper {
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin-bottom: 36px;
}
.indyka-checkout__stepper-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
	cursor: default;
	min-width: 0;
}
.indyka-checkout__stepper-item--done { cursor: pointer; }
.indyka-checkout__stepper-circle {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(227,154,28,0.35);
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: border-color 0.25s, background 0.25s;
}
.indyka-checkout__stepper-roman {
	font-family: var(--ck-font-s);
	font-size: 11px;
	color: #8B9E92;
	font-style: italic;
	letter-spacing: 0.05em;
	transition: opacity 0.2s;
}
.indyka-checkout__stepper-check {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: var(--ck-gold);
	opacity: 0;
	transition: opacity 0.2s;
}
.indyka-checkout__stepper-label {
	font-family: var(--ck-font-b);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8B9E92;
	text-align: center;
	transition: color 0.25s;
}
.indyka-checkout__stepper-line {
	flex: 1;
	height: 1px;
	background: rgba(227,154,28,0.2);
	margin-top: 17px;
	min-width: 20px;
}

/* Stepper states */
.indyka-checkout__stepper-item--active .indyka-checkout__stepper-circle {
	border-color: var(--ck-gold);
	background: rgba(227,154,28,0.06);
}
.indyka-checkout__stepper-item--active .indyka-checkout__stepper-roman { color: var(--ck-gold); }
.indyka-checkout__stepper-item--active .indyka-checkout__stepper-label { color: var(--ck-green); }
.indyka-checkout__stepper-item--done .indyka-checkout__stepper-circle {
	border-color: var(--ck-green2);
	background: rgba(63,122,90,0.06);
}
.indyka-checkout__stepper-item--done .indyka-checkout__stepper-roman { opacity: 0; }
.indyka-checkout__stepper-item--done .indyka-checkout__stepper-check { opacity: 1; color: var(--ck-green2); }
.indyka-checkout__stepper-item--done .indyka-checkout__stepper-label { color: var(--ck-green2); }

/* ── Accordion steps ── */
.indyka-checkout__step {
	border: 1px solid var(--ck-border);
	border-radius: var(--ck-radius);
	margin-bottom: 12px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.indyka-checkout__step--active {
	border-color: rgba(227,154,28,0.4);
	box-shadow: 0 2px 18px rgba(74,18,37,0.05);
}
.indyka-checkout__step--done { border-color: rgba(63,122,90,0.2); }
.indyka-checkout__step--upcoming {
	border-color: rgba(227,154,28,0.1);
	opacity: 0.65;
}

/* Step header */
.indyka-checkout__step-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	gap: 12px;
}
.indyka-checkout__step-header-left {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1;
	min-width: 0;
}
.indyka-checkout__step-roman {
	font-family: var(--ck-font-s);
	font-size: 20px;
	font-weight: 300;
	font-style: italic;
	color: var(--ck-gold);
	opacity: 0.7;
	line-height: 1;
	min-width: 28px;
}
.indyka-checkout__step-title {
	font-family: var(--ck-font-s);
	font-size: 17px;
	font-weight: 400;
	color: var(--ck-green);
	margin: 0;
	line-height: 1.2;
}
.indyka-checkout__step-recap {
	font-family: var(--ck-font-b);
	font-size: 11px;
	color: var(--ck-green2);
	margin: 2px 0 0;
	letter-spacing: 0.02em;
}
.indyka-checkout__step-edit {
	font-family: var(--ck-font-b);
	font-size: 10px;
	color: var(--ck-gold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid rgba(227,154,28,0.3);
	white-space: nowrap;
	transition: color 0.2s;
}
.indyka-checkout__step-edit:hover { color: var(--ck-green); }

/* Step body: visible only when active */
.indyka-checkout__step-body {
	display: none;
	padding: 0 24px 4px;
}
.indyka-checkout__step--active .indyka-checkout__step-body { display: block; }

/* Step footer */
.indyka-checkout__step-footer {
	display: none;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px 20px;
	gap: 16px;
}
.indyka-checkout__step--active .indyka-checkout__step-footer { display: flex; }
.indyka-checkout__back-link {
	font-family: var(--ck-font-b);
	font-size: 11px;
	color: #8B9E92;
	text-decoration: none;
	letter-spacing: 0.05em;
	transition: color 0.2s;
}
.indyka-checkout__back-link:hover { color: var(--ck-green); }

/* ── Continue button ── */
.indyka-checkout__continue-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 24px;
	background: var(--ck-green);
	color: #fff;
	font-family: var(--ck-font-b);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: none;
	border-radius: var(--ck-radius);
	cursor: pointer;
	transition: background 0.2s, opacity 0.2s;
}
.indyka-checkout__continue-btn:disabled { opacity: 0.38; cursor: not-allowed; }
.indyka-checkout__continue-btn:not(:disabled):hover { background: #6E1B2E; }

/* ── Form fields ── */
.indyka-checkout__field-row {
	display: flex;
	gap: 16px;
	margin-bottom: 16px;
}
.indyka-checkout__field { display: flex; flex-direction: column; gap: 5px; }
.indyka-checkout__field--full { width: 100%; margin-bottom: 16px; }
.indyka-checkout__field--half { flex: 1; min-width: 0; }
.indyka-checkout__label {
	font-family: var(--ck-font-b);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4A6358;
}
.indyka-checkout__required { color: var(--ck-gold); margin-left: 2px; }
.indyka-checkout__optional { font-size: 9px; color: #8B9E92; text-transform: none; letter-spacing: 0; margin-left: 4px; }
.indyka-checkout__label-hint { font-size: 9px; color: #8B9E92; text-transform: none; letter-spacing: 0; display: block; margin-top: 2px; }
.indyka-checkout__input {
	padding: 10px 12px;
	border: 1px solid rgba(227,154,28,0.25);
	border-radius: var(--ck-radius);
	background: #FDFCFA;
	font-family: var(--ck-font-b);
	font-size: 13px;
	color: var(--ck-green);
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
	width: 100%;
	box-sizing: border-box;
}
.indyka-checkout__input:focus {
	border-color: var(--ck-gold);
	box-shadow: 0 0 0 2px rgba(227,154,28,0.12);
}
.indyka-checkout__input::placeholder { color: #B0BCB5; }
.indyka-checkout__textarea {
	padding: 10px 12px;
	border: 1px solid rgba(227,154,28,0.25);
	border-radius: var(--ck-radius);
	background: #FDFCFA;
	font-family: var(--ck-font-b);
	font-size: 13px;
	color: var(--ck-green);
	outline: none;
	transition: border-color 0.2s;
	width: 100%;
	box-sizing: border-box;
	resize: vertical;
}
.indyka-checkout__textarea:focus { border-color: var(--ck-gold); }
.indyka-checkout__error {
	font-family: var(--ck-font-b);
	font-size: 10px;
	color: #C0392B;
	min-height: 14px;
	letter-spacing: 0.02em;
}
.indyka-checkout__link {
	color: var(--ck-gold);
	text-decoration: none;
	border-bottom: 1px solid rgba(227,154,28,0.3);
	transition: color 0.2s;
}
.indyka-checkout__link:hover { color: var(--ck-green); }

/* ── Password strength ── */
.indyka-checkout__pwd-strength { display: flex; gap: 4px; margin-top: 4px; }
.indyka-checkout__pwd-strength span {
	flex: 1; height: 3px; border-radius: 2px;
	background: rgba(227,154,28,0.12); transition: background 0.3s;
}
.indyka-checkout__pwd-strength span.weak   { background: #E07C5A; }
.indyka-checkout__pwd-strength span.medium { background: #D4A853; }
.indyka-checkout__pwd-strength span.strong { background: var(--ck-green2); }

/* ── Account blocks ── */
.indyka-checkout__account-block { padding-top: 4px; }
.indyka-checkout__existing-msg {
	font-family: var(--ck-font-b); font-size: 12px; color: var(--ck-green);
	background: rgba(63,122,90,0.06); border: 1px solid rgba(63,122,90,0.15);
	border-radius: var(--ck-radius); padding: 10px 14px; margin: 0 0 12px;
}
.indyka-checkout__connected-user {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--ck-font-b); font-size: 12px; color: var(--ck-green2);
	background: rgba(63,122,90,0.05); border: 1px solid rgba(63,122,90,0.15);
	border-radius: var(--ck-radius); padding: 10px 14px; margin-bottom: 16px;
}

/* ── Créneau — intro ── */
.indyka-checkout__creneau-wrap { padding-top: 4px; }
.indyka-checkout__creneau-intro {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--ck-font-b); font-size: 11px; color: #5A7268;
	margin-bottom: 22px; flex-wrap: wrap;
}
.indyka-checkout__maps-trigger {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 10px; color: var(--ck-gold); text-decoration: none;
	border-bottom: 1px solid rgba(227,154,28,0.3); transition: color 0.2s; margin-left: auto;
}
.indyka-checkout__maps-trigger:hover { color: var(--ck-green); }

/* ── Day picker ── */
.indyka-checkout__day-fieldset { border: none; padding: 0; margin: 0 0 24px; min-width: 0; }
.indyka-checkout__day-legend {
	display: block; width: 100%; padding: 0;
	font-family: var(--ck-font-b); font-size: 10px; letter-spacing: 0.1em;
	text-transform: uppercase; color: #4A6358; margin-bottom: 12px;
}
.indyka-checkout__day-grid {
	display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px;
}
.indyka-checkout__day-card {
	display: flex; flex-direction: column; align-items: center; gap: 3px;
	padding: 10px 4px; border: 1px solid rgba(227,154,28,0.22);
	border-radius: var(--ck-radius); background: #FDFCFA; cursor: pointer;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.indyka-checkout__day-card:not([disabled]):hover {
	border-color: var(--ck-gold); background: rgba(227,154,28,0.04);
}
.indyka-checkout__day-card--selected {
	border-color: var(--ck-gold) !important;
	background: rgba(227,154,28,0.08) !important;
	box-shadow: 0 0 0 2px rgba(227,154,28,0.18);
}
.indyka-checkout__day-card--ferme,
.indyka-checkout__day-card[disabled] { opacity: 0.38; cursor: not-allowed; }
.indyka-checkout__day-abbr {
	font-family: var(--ck-font-b); font-size: 9px; letter-spacing: 0.06em;
	text-transform: uppercase; color: #6B7B6E;
}
.indyka-checkout__day-num {
	font-family: var(--ck-font-s); font-size: 20px; font-weight: 400;
	color: var(--ck-green); line-height: 1;
}
.indyka-checkout__day-month { font-family: var(--ck-font-b); font-size: 9px; color: #8B9E92; }
.indyka-checkout__day-ferme-label {
	font-family: var(--ck-font-b); font-size: 8px; color: #A0A09A;
	letter-spacing: 0.06em; text-transform: uppercase;
}
.indyka-checkout__day-card--today .indyka-checkout__day-abbr::after { content: " (auj.)"; font-size: 7px; }

/* ── Time input ── */
.indyka-checkout__time-wrap { margin-bottom: 8px; }
.indyka-checkout__time-input-wrap { margin: 8px 0 4px; }
.indyka-checkout__time-input {
	font-family: var(--ck-font-s); font-size: 28px; font-style: italic; font-weight: 300;
	color: var(--ck-green); border: none; border-bottom: 1px solid var(--ck-gold);
	background: transparent; outline: none; width: 140px; padding: 4px 0; transition: border-color 0.2s;
}
.indyka-checkout__time-input::placeholder {
	font-size: 16px; color: rgba(227,154,28,0.45); font-style: normal;
}
.indyka-checkout__time-input:focus { border-bottom-width: 2px; }

/* ── Pills ── */
.indyka-checkout__pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.indyka-checkout__pill {
	padding: 5px 12px; border: 1px solid rgba(227,154,28,0.28); border-radius: 20px;
	background: transparent; font-family: var(--ck-font-b); font-size: 11px;
	color: #5A7268; cursor: pointer; transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.indyka-checkout__pill:hover,
.indyka-checkout__pill--active {
	border-color: var(--ck-gold); background: rgba(227,154,28,0.08); color: var(--ck-green);
}

/* ── Maps modal ── */
.indyka-checkout__maps-modal {
	position: fixed; inset: 0; background: rgba(74,18,37,0.55);
	z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px;
}
.indyka-checkout__maps-modal[hidden] { display: none; }
.indyka-checkout__maps-modal-inner {
	background: #fff; border-radius: var(--ck-radius); padding: 20px;
	max-width: 520px; width: 100%; position: relative;
}
.indyka-checkout__maps-close {
	position: absolute; top: 10px; right: 14px; border: none;
	background: none; font-size: 22px; color: #6B7B6E; cursor: pointer; line-height: 1; padding: 4px;
}
.indyka-checkout__maps-address {
	font-family: var(--ck-font-b); font-size: 12px; color: var(--ck-green);
	line-height: 1.6; margin: 0 0 12px;
}
.indyka-checkout__maps-iframe {
	display: block; border-radius: var(--ck-radius); filter: sepia(30%) saturate(0.8);
}

/* ── Recap step 3 ── */
.indyka-checkout__recap-wrap { padding-top: 4px; }
.indyka-checkout__recap-section-title {
	font-family: var(--ck-font-b); font-size: 10px; letter-spacing: 0.12em;
	text-transform: uppercase; color: #4A6358; margin: 0 0 14px;
	display: flex; align-items: center; gap: 7px;
}
.indyka-checkout__recap-cart { margin-bottom: 24px; }
.indyka-checkout__recap-items {
	list-style: none; padding: 0; margin: 0 0 12px; border-top: 1px solid var(--ck-border);
}
.indyka-checkout__recap-item {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ck-border);
}
.indyka-checkout__recap-item-info {
	display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0;
}
.indyka-checkout__recap-item-name { font-family: var(--ck-font-s); font-size: 14px; color: var(--ck-green); }
.indyka-checkout__recap-item-variant { font-family: var(--ck-font-b); font-size: 10px; color: #6B7B6E; letter-spacing: 0.04em; }
.indyka-checkout__recap-item-qty { font-family: var(--ck-font-b); font-size: 11px; color: #8B9E92; }
.indyka-checkout__recap-item-price { font-family: var(--ck-font-s); font-size: 15px; color: var(--ck-green); white-space: nowrap; }
.indyka-checkout__recap-total {
	display: flex; justify-content: space-between; align-items: baseline; padding-top: 10px;
}
.indyka-checkout__recap-total span {
	font-family: var(--ck-font-b); font-size: 11px; letter-spacing: 0.1em;
	text-transform: uppercase; color: #6B7B6E;
}
.indyka-checkout__recap-total strong {
	font-family: var(--ck-font-s); font-size: 20px; color: var(--ck-green); font-weight: 400;
}
/* ── Carte FIDÉLITÉ checkout ── */
.indyka-checkout__loyalty {
	background: linear-gradient(135deg, rgba(74,18,37,0.03) 0%, rgba(227,154,28,0.08) 100%);
	border: 1.5px solid #E39A1C; border-radius: var(--ck-radius);
	padding: 16px 18px; margin: 18px 0 20px; position: relative;
}
.indyka-checkout__loyalty::before {
	content: 'Cagnotte fidélité'; position: absolute; top: -8px; left: 16px;
	background: #E39A1C; color: #fff;
	font-family: var(--ck-font-b); font-size: 9px; letter-spacing: 0.15em;
	text-transform: uppercase; padding: 3px 10px; border-radius: 2px;
}
.indyka-checkout__loyalty-header {
	display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
}
.indyka-checkout__loyalty-header strong {
	display: block; font-family: var(--ck-font-s); font-size: 15px;
	color: var(--ck-green); font-weight: 400; line-height: 1.2;
}
.indyka-checkout__loyalty-header span {
	display: block; font-family: var(--ck-font-b); font-size: 12px;
	color: #6B7B6E; margin-top: 2px;
}
.indyka-checkout__loyalty-header em {
	font-style: normal; color: #E39A1C; font-weight: 600; font-size: 13px;
}
.indyka-checkout__loyalty-controls {
	display: flex; gap: 8px; align-items: stretch;
}
.indyka-checkout__loyalty-controls .indyka-checkout__input {
	flex: 1; min-width: 0;
}
.indyka-checkout__loyalty-apply,
.indyka-checkout__loyalty-max {
	font-family: var(--ck-font-b); font-size: 11px; letter-spacing: 0.08em;
	text-transform: uppercase; padding: 0 16px; cursor: pointer;
	border: 1px solid var(--ck-green); border-radius: 4px;
	transition: all 0.2s ease;
}
.indyka-checkout__loyalty-apply {
	background: var(--ck-green); color: #F4EFE2; border-color: var(--ck-green);
}
.indyka-checkout__loyalty-apply:hover:not(:disabled) {
	background: #6E1B2E; transform: translateY(-1px);
}
.indyka-checkout__loyalty-max {
	background: transparent; color: var(--ck-green); padding: 0 12px;
}
.indyka-checkout__loyalty-max:hover:not(:disabled) {
	background: var(--ck-green); color: #F4EFE2;
}
.indyka-checkout__loyalty-apply:disabled,
.indyka-checkout__loyalty-max:disabled {
	opacity: 0.5; cursor: not-allowed;
}
.indyka-checkout__loyalty-feedback {
	margin: 10px 0 0; font-size: 12px; min-height: 16px;
	font-family: var(--ck-font-b); letter-spacing: 0.03em;
}
.indyka-checkout__loyalty-feedback[data-type="ok"]      { color: #4A1225; }
.indyka-checkout__loyalty-feedback[data-type="error"]   { color: #A8412B; }
.indyka-checkout__loyalty-feedback[data-type="neutral"] { color: #6B7B6E; }

.indyka-checkout__recap-creneau {
	background: rgba(227,154,28,0.04); border: 1px solid var(--ck-border);
	border-radius: var(--ck-radius); padding: 14px 16px; margin-bottom: 20px;
}
.indyka-checkout__recap-creneau-value { font-family: var(--ck-font-s); font-size: 17px; color: var(--ck-green); margin: 0 0 4px; }
.indyka-checkout__recap-creneau-address { font-family: var(--ck-font-b); font-size: 10px; color: #8B9E92; margin: 0; letter-spacing: 0.04em; }

/* ── Checkboxes custom ── */
.indyka-checkout__checks { margin: 20px 0; display: flex; flex-direction: column; gap: 12px; }
.indyka-checkout__check-row {
	display: flex; align-items: flex-start; gap: 10px; cursor: pointer; line-height: 1.5;
}
.indyka-checkout__check-input {
	position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px;
}
.indyka-checkout__check-box {
	flex-shrink: 0; width: 18px; height: 18px;
	border: 1px solid rgba(227,154,28,0.35); border-radius: var(--ck-radius);
	background: #FDFCFA; display: flex; align-items: center; justify-content: center;
	margin-top: 1px; transition: border-color 0.2s, background 0.2s; position: relative;
}
.indyka-checkout__check-box::after {
	content: ''; display: block; width: 10px; height: 6px;
	border-left: 1.5px solid var(--ck-green2); border-bottom: 1.5px solid var(--ck-green2);
	transform: rotate(-45deg) translateY(-2px); opacity: 0; transition: opacity 0.15s;
}
.indyka-checkout__check-input:checked + .indyka-checkout__check-box {
	border-color: var(--ck-green2); background: rgba(63,122,90,0.06);
}
.indyka-checkout__check-input:checked + .indyka-checkout__check-box::after { opacity: 1; }
.indyka-checkout__check-label { font-family: var(--ck-font-b); font-size: 12px; color: #4A6358; line-height: 1.5; }

/* ── Payment box ── */
.indyka-checkout__payment-box {
	border: 1px solid rgba(63,122,90,0.2); background: rgba(63,122,90,0.04);
	border-radius: var(--ck-radius); padding: 14px 16px; margin-top: 4px; margin-bottom: 16px;
}
.indyka-checkout__payment-box-header {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--ck-font-b); font-size: 12px; color: var(--ck-green2); margin-bottom: 6px;
}
.indyka-checkout__payment-box-desc {
	font-family: var(--ck-font-b); font-size: 11px; color: #5A7268; line-height: 1.55; margin: 0;
}

/* ── Validation step 4 ── */
.indyka-checkout__validation-wrap {
	display: flex; flex-direction: column; align-items: center; padding: 20px 0 8px;
}
.indyka-checkout__validation-seal {
	width: 140px; height: 140px; margin-bottom: 20px; animation: ck-seal-in 0.6s ease both;
}
.indyka-checkout__validation-seal-svg { width: 100%; height: 100%; }
@keyframes ck-seal-in {
	from { opacity: 0; transform: scale(0.85); }
	to   { opacity: 1; transform: scale(1); }
}
.indyka-checkout__validation-cmd {
	display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 24px;
}
.indyka-checkout__validation-cmd-label {
	font-family: var(--ck-font-b); font-size: 9px; letter-spacing: 0.15em;
	text-transform: uppercase; color: #8B9E92;
}
.indyka-checkout__validation-cmd-value {
	font-family: var(--ck-font-s); font-size: 22px; font-style: italic;
	color: var(--ck-green); letter-spacing: 0.05em;
}
.indyka-checkout__validation-recap {
	width: 100%; max-width: 480px; border: 1px solid var(--ck-border);
	border-radius: var(--ck-radius); padding: 4px 0; margin-bottom: 20px;
}
.indyka-checkout__validation-recap-row {
	display: flex; align-items: baseline; gap: 16px;
	padding: 10px 18px; border-bottom: 1px solid var(--ck-border);
}
.indyka-checkout__validation-recap-row:last-child { border-bottom: none; }
.indyka-checkout__validation-recap-row dt {
	display: flex; align-items: center; gap: 6px;
	font-family: var(--ck-font-b); font-size: 9px; letter-spacing: 0.1em;
	text-transform: uppercase; color: #8B9E92; min-width: 70px;
}
.indyka-checkout__validation-recap-row dd {
	font-family: var(--ck-font-b); font-size: 12px; color: var(--ck-green); margin: 0; flex: 1;
}
.indyka-checkout__validation-note {
	display: flex; align-items: flex-start; gap: 8px;
	font-family: var(--ck-font-b); font-size: 11px; color: var(--ck-green2);
	background: rgba(63,122,90,0.04); border: 1px solid rgba(63,122,90,0.15);
	border-radius: var(--ck-radius); padding: 10px 14px; margin-bottom: 24px;
	width: 100%; max-width: 480px; box-sizing: border-box; line-height: 1.5;
}
.indyka-checkout__validation-actions {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	width: 100%; max-width: 380px;
}
.indyka-checkout__submit-btn {
	display: flex; align-items: center; justify-content: center;
	width: 100%; padding: 14px 28px; background: var(--ck-green); color: #fff;
	border: none; border-radius: var(--ck-radius); font-family: var(--ck-font-b);
	font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
	cursor: pointer; transition: background 0.2s;
}
.indyka-checkout__submit-btn:hover { background: #6E1B2E; }
.indyka-checkout__submit-btn:disabled { opacity: 0.55; cursor: not-allowed; }
.indyka-checkout__submit-btn-inner { display: flex; align-items: center; gap: 10px; }
.indyka-checkout__submit-btn-loading { display: none; align-items: center; gap: 8px; }
.indyka-checkout__spinner { animation: ck-spin 0.9s linear infinite; }
@keyframes ck-spin { to { transform: rotate(360deg); } }
.indyka-checkout__submit-legal {
	font-family: var(--ck-font-b); font-size: 10px; color: #8B9E92;
	text-align: center; margin: 0; line-height: 1.5;
}

/* ── Responsive ── */
@media (max-width: 640px) {
	.indyka-checkout__strip-inner { flex-direction: column; gap: 4px; align-items: flex-start; }
	.indyka-checkout__inner { padding: 0 14px 40px; }
	.indyka-checkout__header { padding: 28px 0 20px; }
	.indyka-checkout__stepper-label { display: none; }
	.indyka-checkout__stepper-circle { width: 28px; height: 28px; }
	.indyka-checkout__step-header { padding: 14px 16px; }
	.indyka-checkout__step-body { padding: 0 16px 4px; }
	.indyka-checkout__step-footer { padding: 12px 16px 16px; }
	.indyka-checkout__field-row { flex-direction: column; gap: 12px; }
	.indyka-checkout__field--half { flex: unset; width: 100%; }
	.indyka-checkout__day-grid { grid-template-columns: repeat(3, 1fr); gap: 6px; }
	.indyka-checkout__validation-recap-row { flex-wrap: wrap; gap: 4px; }
	.indyka-checkout__validation-recap-row dt { min-width: unset; width: 100%; }
}


/* ============================================================
   §23 — PAGE CONFIRMATION COMMANDE (thankyou)
   Préfixe : .indyka-thankyou__*
   ============================================================ */

.indyka-thankyou {
	max-width: 720px;
	margin: 0 auto;
	padding: 32px 20px 60px;
	font-family: var(--global-body-font-family, 'Inter', sans-serif);
}

/* ── Bandeau succès ── */
.indyka-thankyou__success-strip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(63,122,90,0.1);
	border: 1px solid rgba(63,122,90,0.28);
	color: #4A1225;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 20px;
}

.indyka-thankyou__pulse-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3F7A5A;
	flex-shrink: 0;
	animation: ty-pulse 2s ease-in-out infinite;
}

@keyframes ty-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.45; transform: scale(0.8); }
}

/* ── Titre / sous-titre ── */
.indyka-thankyou__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 42px;
	font-weight: 400;
	color: #4A1225;
	line-height: 1.15;
	margin: 0 0 12px;
}
.indyka-thankyou__title em {
	font-style: italic;
	color: #E39A1C;
}
.indyka-thankyou__subtitle {
	font-size: 15px;
	color: #4A6358;
	line-height: 1.6;
	margin-bottom: 32px;
}
.indyka-thankyou__subtitle strong { color: #4A1225; }

/* ── Bordereau central ── */
.indyka-thankyou__bordereau {
	max-width: 680px;
	margin: 0 auto 36px;
	background: #fff;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	overflow: hidden;
}

/* Header vert profond */
.indyka-thankyou__bordereau-head {
	background: #4A1225;
	padding: 22px 28px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
}
.indyka-thankyou__bordereau-eyebrow {
	display: block;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(232,223,201,0.65);
	margin-bottom: 6px;
}
.indyka-thankyou__bordereau-num {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 32px;
	font-weight: 500;
	color: #E39A1C;
	letter-spacing: 0.04em;
	line-height: 1;
}
.indyka-thankyou__bordereau-head-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
.indyka-thankyou__bordereau-qr-label {
	font-size: 10px;
	letter-spacing: 0.1em;
	color: rgba(232,223,201,0.55);
	text-transform: uppercase;
}
.indyka-thankyou__bordereau-qr {
	background: #F4EFE2;
	padding: 6px;
	border-radius: 4px;
	width: 76px;
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.indyka-thankyou__bordereau-qr svg {
	display: block;
}

/* Row méta 2 colonnes */
.indyka-thankyou__bordereau-row--meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding: 22px 28px;
	border-bottom: 1px dashed rgba(227,154,28,0.25);
}
.indyka-thankyou__bordereau-label {
	display: block;
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #888780;
	margin-bottom: 6px;
}
.indyka-thankyou__bordereau-value-creneau,
.indyka-thankyou__bordereau-value-name {
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 18px;
	color: #4A1225;
	font-weight: 500;
	line-height: 1.3;
}
.indyka-thankyou__bordereau-value-name em {
	display: block;
	font-style: normal;
	font-size: 14px;
	color: #5F5E5A;
	margin-top: 3px;
}

/* Articles */
.indyka-thankyou__bordereau-section--articles {
	padding: 20px 28px;
	border-bottom: 1px dashed rgba(227,154,28,0.25);
}
.indyka-thankyou__bordereau-section--articles .indyka-thankyou__bordereau-label {
	margin-bottom: 12px;
}
.indyka-thankyou__bordereau-item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 10px 0;
	border-bottom: 1px dotted rgba(227,154,28,0.2);
	gap: 12px;
}
.indyka-thankyou__bordereau-item:last-child { border-bottom: none; padding-bottom: 0; }
.indyka-thankyou__bordereau-item-name {
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 17px;
	color: #1F1D1A;
	font-weight: 500;
}
.indyka-thankyou__bordereau-item-format {
	display: block;
	font-size: 12px;
	color: #5F5E5A;
	margin-top: 2px;
}
.indyka-thankyou__bordereau-item-meta {
	font-size: 11px;
	color: #888780;
	margin-top: 3px;
}
.indyka-thankyou__bordereau-item-price {
	font-size: 15px;
	font-weight: 500;
	color: #4A1225;
	white-space: nowrap;
}

/* Total */
.indyka-thankyou__bordereau-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 28px;
	background: #F4EFE2;
	border-bottom: 1px dashed rgba(227,154,28,0.25);
}
.indyka-thankyou__bordereau-total-label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #4A6358;
	font-weight: 500;
}
.indyka-thankyou__bordereau-total-meta {
	display: block;
	font-size: 11px;
	color: #888780;
	font-style: italic;
	margin-top: 2px;
}
.indyka-thankyou__bordereau-total-value {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 36px;
	font-weight: 500;
	color: #4A1225;
	line-height: 1;
}

/* Adresse boutique */
.indyka-thankyou__bordereau-place {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 28px;
	border-bottom: 1px dashed rgba(227,154,28,0.2);
	gap: 12px;
	flex-wrap: wrap;
}
.indyka-thankyou__bordereau-place-info {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.indyka-thankyou__bordereau-place-info svg {
	flex-shrink: 0;
	margin-top: 2px;
}
.indyka-thankyou__bordereau-place-info strong {
	display: block;
	font-size: 13px;
	color: #4A1225;
	font-weight: 600;
}
.indyka-thankyou__bordereau-place-info span {
	display: block;
	font-size: 12px;
	color: #5F5E5A;
	margin-top: 2px;
}
.indyka-thankyou__bordereau-place-link {
	font-size: 12px;
	color: #E39A1C;
	text-decoration: none;
	letter-spacing: 0.04em;
	white-space: nowrap;
	border-bottom: 1px solid rgba(227,154,28,0.4);
	padding-bottom: 1px;
}
.indyka-thankyou__bordereau-place-link:hover { border-color: #E39A1C; }

/* Sceau */
.indyka-thankyou__bordereau-seal {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 16px 28px;
	gap: 8px;
}
.indyka-thankyou__bordereau-seal-svg {
	width: 80px;
	height: 80px;
}
.indyka-thankyou__bordereau-seal span {
	font-size: 11px;
	color: #888780;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-style: italic;
}

/* ── Encadré "Et après ?" ── */
.indyka-thankyou__next {
	max-width: 680px;
	margin: 0 auto 32px;
	background: rgba(227,154,28,0.06);
	border: 1px dashed rgba(227,154,28,0.35);
	border-radius: 6px;
	padding: 24px 28px;
}
.indyka-thankyou__next-eyebrow {
	display: block;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E39A1C;
	margin-bottom: 16px;
	font-weight: 500;
}
.indyka-thankyou__next-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.indyka-thankyou__next-step {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.indyka-thankyou__next-roman {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 22px;
	color: #E39A1C;
	line-height: 1;
	margin-bottom: 2px;
}
.indyka-thankyou__next-step strong {
	font-size: 14px;
	color: #4A1225;
	font-weight: 600;
}
.indyka-thankyou__next-step span {
	font-size: 12px;
	color: #5F5E5A;
	line-height: 1.4;
}

/* ── Actions ── */
.indyka-thankyou__actions {
	max-width: 680px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.indyka-thankyou__cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 12px 22px;
	border-radius: 4px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.indyka-thankyou__cta--primary {
	background: #4A1225;
	color: #FAF8F2;
}
.indyka-thankyou__cta--primary:hover { background: #2c5742; }
.indyka-thankyou__cta--secondary {
	background: transparent;
	color: #4A1225;
	border: 1px solid rgba(74,18,37,0.4);
}
.indyka-thankyou__cta--secondary:hover { border-color: #4A1225; background: rgba(74,18,37,0.04); }
.indyka-thankyou__cta--tertiary {
	background: transparent;
	color: #888780;
	border: 1px solid #E8DFC9;
}
.indyka-thankyou__cta--tertiary:hover { color: #4A1225; border-color: rgba(74,18,37,0.3); }

/* ── Responsive ── */
@media (max-width: 600px) {
	.indyka-thankyou__title { font-size: 32px; }
	.indyka-thankyou__bordereau-head { padding: 18px 18px; }
	.indyka-thankyou__bordereau-num { font-size: 24px; }
	.indyka-thankyou__bordereau-row--meta {
		grid-template-columns: 1fr;
		padding: 18px 18px;
	}
	.indyka-thankyou__bordereau-section--articles { padding: 16px 18px; }
	.indyka-thankyou__bordereau-total { padding: 16px 18px; flex-direction: column; align-items: flex-start; gap: 8px; }
	.indyka-thankyou__bordereau-place { padding: 14px 18px; }
	.indyka-thankyou__next-grid { grid-template-columns: 1fr; gap: 14px; }
	.indyka-thankyou__actions { flex-direction: column; align-items: stretch; }
	.indyka-thankyou__cta { justify-content: center; }
}

/* ── Impression — bordereau seul ── */
@media print {
	body * { visibility: hidden; }
	#bordereau-print,
	#bordereau-print * { visibility: visible; }

	body {
		margin: 0 !important;
		padding: 0 !important;
		background: white !important;
	}

	#bordereau-print {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		max-width: 100%;
		margin: 0;
		page-break-inside: avoid;
		page-break-after: avoid;
		border: 1px solid #4A1225 !important;
		box-shadow: none !important;
	}

	.indyka-thankyou__next,
	.indyka-thankyou__actions,
	.indyka-thankyou__success-strip,
	.indyka-thankyou__title,
	.indyka-thankyou__subtitle { display: none !important; }

	.indyka-thankyou__bordereau-head {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}
	.indyka-thankyou__bordereau-total {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}
	.indyka-thankyou__bordereau-qr svg {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* ============================================================
   §24 ESPACE CLIENT — REGISTRE APOTHICAIRE
   .indyka-myaccount__*  .indyka-dashboard__*
   .indyka-favoris__*    .indyka-fav-btn
   ============================================================ */

/* --- Wrapper global --- */
.indyka-myaccount {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 16px 48px;
}

/* --- Header page --- */
.indyka-myaccount__header {
	text-align: center;
	padding: 36px 0 28px;
	border-bottom: 1px solid #E8DFC9;
	margin-bottom: 28px;
}
.indyka-myaccount__eyebrow {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 0 0 8px;
	font-style: italic;
}
.indyka-myaccount__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 32px;
	font-weight: 400;
	color: #4A1225;
	margin: 0 0 6px;
	line-height: 1.15;
}
.indyka-myaccount__title em {
	font-style: italic;
}
.indyka-myaccount__subtitle {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #888780;
	margin: 0;
}

/* --- Layout sidebar + contenu --- */
.indyka-myaccount__layout {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 28px;
	align-items: start;
}

/* --- Sidebar --- */
.indyka-myaccount__sidebar {
	background: #F4EFE2;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	overflow: hidden;
	position: sticky;
	top: 24px;
}
.indyka-myaccount__sidebar-head {
	padding: 14px 18px 10px;
	border-bottom: 1px solid #E8DFC9;
}
.indyka-myaccount__sidebar-eyebrow {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #E39A1C;
}
.indyka-myaccount__sidebar-nav {
	display: flex;
	flex-direction: column;
}
.indyka-myaccount__sidebar-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 15px;
	font-style: italic;
	color: #1F1D1A;
	text-decoration: none;
	border-left: 2px solid transparent;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.indyka-myaccount__sidebar-link:hover {
	background: rgba(227, 154, 28, 0.06);
	color: #4A1225;
}
.indyka-myaccount__sidebar-link.is-current {
	border-left-color: #E39A1C;
	background: rgba(227, 154, 28, 0.08);
	color: #4A1225;
	font-weight: 600;
}
.indyka-myaccount__sidebar-roman {
	color: #E39A1C;
	font-size: 12px;
	min-width: 18px;
}
.indyka-myaccount__sidebar-link.is-logout {
	color: #888780;
	font-size: 13px;
	font-style: normal;
	font-family: inherit;
	margin-top: 2px;
}
.indyka-myaccount__sidebar-link.is-logout:hover {
	color: #1F1D1A;
}
.indyka-myaccount__sidebar-divider {
	border: none;
	border-top: 1px solid #E8DFC9;
	margin: 4px 0;
}

/* --- Contenu --- */
.indyka-myaccount__content {
	min-width: 0;
}

/* --- Sceau bas de page --- */
.indyka-myaccount__seal {
	text-align: center;
	padding: 28px 0 0;
	margin-top: 32px;
	border-top: 1px solid #E8DFC9;
}
.indyka-myaccount__seal p {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 6px 0 0;
}

/* ——————————————————————————————
   DASHBOARD
—————————————————————————————— */

/* Prochain retrait */
.indyka-dashboard__pickup {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 16px;
	background: #4A1225;
	border-radius: 6px;
	padding: 20px 22px;
	margin-bottom: 20px;
}
.indyka-dashboard__pickup-eyebrow {
	display: block;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E39A1C;
	margin-bottom: 6px;
}
.indyka-dashboard__pickup-when {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 22px;
	color: #FAF8F2;
	line-height: 1.2;
}
.indyka-dashboard__pickup-when span {
	color: #E39A1C;
}
.indyka-dashboard__pickup-meta {
	font-size: 12px;
	color: rgba(232, 223, 201, 0.7);
	margin-top: 4px;
}
.indyka-dashboard__pickup-meta strong {
	color: rgba(232, 223, 201, 0.9);
}
.indyka-dashboard__pickup-cta {
	display: inline-block;
	padding: 10px 18px;
	background: rgba(227, 154, 28, 0.15);
	border: 1px solid rgba(227, 154, 28, 0.4);
	border-radius: 4px;
	color: #E39A1C;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s;
}
.indyka-dashboard__pickup-cta:hover {
	background: rgba(227, 154, 28, 0.25);
	color: #E39A1C;
}

/* Stats */
.indyka-dashboard__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 20px;
}
.indyka-dashboard__stat {
	background: #fff;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	padding: 16px;
	text-align: center;
}
.indyka-dashboard__stat-num {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 32px;
	color: #4A1225;
	line-height: 1;
	margin-bottom: 4px;
}
.indyka-dashboard__stat-num--gold {
	color: #E39A1C;
}
.indyka-dashboard__stat-label {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #888780;
}

/* Dernière commande */
.indyka-dashboard__last {
	background: #fff;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 20px;
}
.indyka-dashboard__last-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 16px;
	background: #F4EFE2;
	border-bottom: 1px solid #E8DFC9;
}
.indyka-dashboard__last-eyebrow {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #888780;
}
.indyka-dashboard__last-link {
	font-size: 11px;
	color: #E39A1C;
	text-decoration: none;
}
.indyka-dashboard__last-link:hover {
	text-decoration: underline;
}
.indyka-dashboard__last-body {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
}
.indyka-dashboard__last-num {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 17px;
	color: #4A1225;
	font-style: italic;
}
.indyka-dashboard__last-meta {
	font-size: 12px;
	color: #888780;
	margin-top: 2px;
}
.indyka-dashboard__last-status {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 12px;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: #F0F0EE;
	color: #5F5E5A;
	white-space: nowrap;
}
.indyka-dashboard__last-status--completed {
	background: #E8F5EE;
	color: #2D6A4F;
}
.indyka-dashboard__last-status--processing,
.indyka-dashboard__last-status--on-hold {
	background: #FFF4E0;
	color: #8A5E00;
}
.indyka-dashboard__last-total {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 18px;
	color: #4A1225;
	white-space: nowrap;
}
.indyka-dashboard__last-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-top: 1px solid #E8DFC9;
}
.indyka-dashboard__repeat-btn {
	display: inline-block;
	padding: 9px 18px;
	background: #E39A1C;
	color: #FAF8F2;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
	transition: background 0.15s;
}
.indyka-dashboard__repeat-btn:hover {
	background: #9E7D4A;
	color: #FAF8F2;
}
.indyka-dashboard__last-detail {
	font-size: 12px;
	color: #E39A1C;
	text-decoration: none;
	margin-left: auto;
}
.indyka-dashboard__last-detail:hover {
	text-decoration: underline;
}

/* Suggestion favoris */
.indyka-dashboard__suggestion {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	background: #F4EFE2;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	padding: 16px 18px;
}
.indyka-dashboard__suggestion-eyebrow {
	display: block;
	font-size: 9px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E39A1C;
	margin-bottom: 4px;
}
.indyka-dashboard__suggestion p {
	margin: 0;
	font-size: 13px;
	color: #5F5E5A;
}
.indyka-dashboard__suggestion a {
	white-space: nowrap;
	font-size: 12px;
	color: #4A1225;
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 18, 37, 0.3);
	padding-bottom: 1px;
}
.indyka-dashboard__suggestion a:hover {
	border-color: #4A1225;
}

/* ——————————————————————————————
   FAVORIS
—————————————————————————————— */
.indyka-favoris__head {
	margin-bottom: 20px;
}
.indyka-favoris__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	color: #4A1225;
	margin: 0 0 4px;
}
.indyka-favoris__sub {
	font-size: 13px;
	color: #888780;
	font-style: italic;
	margin: 0;
}
.indyka-favoris__empty {
	text-align: center;
	padding: 40px 20px;
	color: #888780;
}
.indyka-favoris__empty-cta {
	display: inline-block;
	margin-top: 12px;
	color: #E39A1C;
	text-decoration: none;
	border-bottom: 1px solid rgba(227, 154, 28, 0.4);
}
.indyka-favoris__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 200px, 1fr ) );
	gap: 16px;
}
.indyka-favoris__item {
	background: #fff;
	border: 1px solid #E8DFC9;
	border-radius: 6px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.indyka-favoris__item:hover {
	transform: translateY( -2px );
	box-shadow: 0 4px 16px rgba(74, 18, 37, 0.07);
}
.indyka-favoris__item-photo {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: #F4EFE2;
}
.indyka-favoris__item-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.indyka-favoris__item:hover .indyka-favoris__item-photo img {
	transform: scale(1.04);
}
.indyka-favoris__item-placeholder {
	width: 100%;
	height: 100%;
	background: #EFE8D7;
}
.indyka-favoris__item-body {
	padding: 12px 14px;
}
.indyka-favoris__item-name {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 15px;
	font-weight: 400;
	margin: 0 0 4px;
	line-height: 1.3;
}
.indyka-favoris__item-name a {
	color: #4A1225;
	text-decoration: none;
}
.indyka-favoris__item-name a:hover {
	color: #E39A1C;
}
.indyka-favoris__item-price {
	font-size: 13px;
	color: #5F5E5A;
	margin: 0 0 10px;
}
.indyka-favoris__item-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.indyka-favoris__item-cta {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4A1225;
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 18, 37, 0.3);
	padding-bottom: 1px;
}
.indyka-favoris__item-cta:hover {
	border-color: #4A1225;
}
.indyka-favoris__remove {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 11px;
	color: #888780;
	padding: 0;
	transition: color 0.15s;
}
.indyka-favoris__remove:hover {
	color: #c0392b;
}

/* ——————————————————————————————
   BOUTON CŒUR FAVORI
—————————————————————————————— */
.indyka-fav-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
	padding: 9px 16px;
	background: transparent;
	border: 1px solid #E39A1C;
	border-radius: 4px;
	color: #E39A1C;
	font-size: 12px;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
	width: 100%;
	justify-content: center;
}
.indyka-fav-btn:hover,
.indyka-fav-btn.is-fav {
	background: #E39A1C;
	color: #FAF8F2;
}
.indyka-fav-btn.is-fav svg {
	fill: #FAF8F2;
	stroke: none;
}
.indyka-fav-btn:hover svg path {
	fill: #FAF8F2;
	stroke: none;
}
.indyka-fav-btn:disabled {
	opacity: 0.5;
	cursor: wait;
}

/* ——————————————————————————————
   RESPONSIVE ≤ 720px
—————————————————————————————— */
@media ( max-width: 720px ) {
	.indyka-myaccount__layout {
		grid-template-columns: 1fr;
	}
	.indyka-myaccount__sidebar {
		position: static;
	}
	.indyka-myaccount__sidebar-nav {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 0;
		scrollbar-width: none;
	}
	.indyka-myaccount__sidebar-nav::-webkit-scrollbar {
		display: none;
	}
	.indyka-myaccount__sidebar-link {
		flex-shrink: 0;
		padding: 10px 14px;
		border-left: none;
		border-bottom: 2px solid transparent;
		font-size: 14px;
	}
	.indyka-myaccount__sidebar-link.is-current {
		border-left: none;
		border-bottom-color: #E39A1C;
	}
	.indyka-dashboard__stats {
		grid-template-columns: repeat( 3, 1fr );
	}
	.indyka-dashboard__last-body {
		grid-template-columns: 1fr auto;
	}
	.indyka-dashboard__last-total {
		grid-column: 2;
	}
	.indyka-dashboard__last-status {
		grid-column: 1 / -1;
		justify-self: start;
	}
	.indyka-favoris__grid {
		grid-template-columns: repeat( 2, 1fr );
	}
	.indyka-dashboard__pickup {
		grid-template-columns: 1fr;
	}
	.indyka-dashboard__pickup-cta {
		justify-self: start;
	}
}
@media ( max-width: 420px ) {
	.indyka-favoris__grid {
		grid-template-columns: 1fr;
	}
	.indyka-dashboard__stats {
		grid-template-columns: repeat( 3, 1fr );
		gap: 8px;
	}
	.indyka-dashboard__stat-num {
		font-size: 26px;
	}
}

/* ============================================================
   §25 PAGES LÉGALES — .indyka-legal
   ============================================================ */
.indyka-legal {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.75;
	color: #1F1D1A;
}
.indyka-legal h2 {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 20px;
	font-weight: 500;
	color: #4A1225;
	margin: 2em 0 0.5em;
	padding-bottom: 6px;
	border-bottom: 1px solid #E8DFC9;
}
.indyka-legal p,
.indyka-legal ul,
.indyka-legal ol {
	margin: 0 0 1em;
}
.indyka-legal ul,
.indyka-legal ol {
	padding-left: 1.4em;
}
.indyka-legal li {
	margin-bottom: 0.4em;
}
.indyka-legal strong {
	color: #4A1225;
}
.indyka-legal a {
	color: #E39A1C;
	text-decoration: none;
	border-bottom: 1px solid rgba(227, 154, 28, 0.35);
}
.indyka-legal a:hover {
	border-color: #E39A1C;
}
.indyka-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5em;
	font-size: 14px;
}
.indyka-legal table th,
.indyka-legal table td {
	border: 1px solid #E8DFC9;
	padding: 8px 12px;
	text-align: left;
	vertical-align: top;
}
.indyka-legal table th {
	background: #F4EFE2;
	color: #4A1225;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.indyka-legal code {
	background: #F4EFE2;
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 12px;
	color: #5F5E5A;
}
.indyka-legal em {
	color: #888780;
}
@media ( max-width: 600px ) {
	.indyka-legal table,
	.indyka-legal thead,
	.indyka-legal tbody,
	.indyka-legal th,
	.indyka-legal td,
	.indyka-legal tr {
		display: block;
	}
	.indyka-legal thead {
		display: none;
	}
	.indyka-legal td {
		border-top: none;
		padding: 6px 10px;
	}
	.indyka-legal tr {
		border: 1px solid #E8DFC9;
		margin-bottom: 8px;
		border-radius: 4px;
		overflow: hidden;
	}
}

/* ==========================================================================
   26. CONFORMITÉ — MODALE ÂGE 18+
   ========================================================================== */

.indyka-age-gate {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}
.indyka-age-gate__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(27, 29, 26, 0.93);
	backdrop-filter: blur(4px);
}
.indyka-age-gate__box {
	position: relative;
	z-index: 1;
	background: #FAF8F2;
	max-width: 480px;
	width: calc(100% - 32px);
	padding: 48px 40px 36px;
	text-align: center;
	border-top: 3px solid #E39A1C;
}
.indyka-age-gate__seal {
	margin: 0 auto 20px;
	display: flex;
	justify-content: center;
}
.indyka-age-gate__eyebrow {
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 0 0 12px;
}
.indyka-age-gate__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 16px;
	line-height: 1.2;
}
.indyka-age-gate__desc {
	font-size: 14px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0 0 32px;
}
.indyka-age-gate__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 24px;
}
.indyka-age-gate__btn {
	display: block;
	width: 100%;
	padding: 14px 24px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: background 0.2s, color 0.2s;
}
.indyka-age-gate__btn--yes {
	background: #4A1225;
	color: #FAF8F2;
}
.indyka-age-gate__btn--yes:hover,
.indyka-age-gate__btn--yes:focus-visible {
	background: #7A2135;
}
.indyka-age-gate__btn--no {
	background: transparent;
	color: #9E9990;
	border: 1px solid #DCD7CB;
	font-size: 12px;
}
.indyka-age-gate__btn--no:hover,
.indyka-age-gate__btn--no:focus-visible {
	color: #5C5852;
	border-color: #9E9990;
}
.indyka-age-gate__legal {
	font-size: 11px;
	color: #9E9990;
	margin: 0;
	line-height: 1.6;
}
.indyka-age-gate__legal a {
	color: #E39A1C;
	text-decoration: underline;
}
.indyka-age-gate.is-closing {
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
@media ( max-width: 420px ) {
	.indyka-age-gate__box {
		padding: 36px 24px 28px;
	}
	.indyka-age-gate__title {
		font-size: 22px;
	}
}

/* ==========================================================================
   27. CONFORMITÉ — BANNIÈRE COOKIES + MODALE COOKIES
   ========================================================================== */

.indyka-cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #1F1D1A;
	border-top: 1px solid rgba(227, 154, 28, 0.3);
}
.indyka-cookie-banner__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 24px;
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.indyka-cookie-banner__text {
	flex: 1;
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(232, 223, 201, 0.75);
}
.indyka-cookie-banner__text strong {
	color: #E8DFC9;
}
.indyka-cookie-banner__link {
	color: #E39A1C;
	text-decoration: underline;
	white-space: nowrap;
}
.indyka-cookie-banner__actions {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}
.indyka-cookie-banner__btn {
	padding: 9px 20px;
	font-size: 12px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	cursor: pointer;
	border: none;
	font-weight: 600;
	transition: background 0.2s, color 0.2s;
}
.indyka-cookie-banner__btn--accept {
	background: linear-gradient(135deg, #8F1E2E 0%, #C43C1F 40%, #E8641F 70%, #F0A81F 100%);
	color: #FAF8F2;
	text-shadow: 0 1px 2px rgba(46, 15, 29, 0.45);
	border: 1px solid #F0A81F;
	box-shadow: 0 2px 10px rgba(196, 60, 31, 0.45);
}
.indyka-cookie-banner__btn--accept:hover,
.indyka-cookie-banner__btn--accept:focus-visible {
	background: linear-gradient(135deg, #E39A1C 0%, #F2C14E 100%);
	color: #1F1D1A;
}
.indyka-cookie-banner__btn--manage {
	background: transparent;
	color: rgba(232, 223, 201, 0.6);
	border: 1px solid rgba(232, 223, 201, 0.2);
}
.indyka-cookie-banner__btn--manage:hover,
.indyka-cookie-banner__btn--manage:focus-visible {
	color: #E8DFC9;
	border-color: rgba(232, 223, 201, 0.45);
}

/* Force [hidden] à gagner sur display:flex pour les overlays. */
.indyka-age-gate[hidden],
.indyka-cookie-banner[hidden],
.indyka-cookie-modal[hidden] {
	display: none !important;
}

/* Modal cookies */
.indyka-cookie-modal {
	position: fixed;
	inset: 0;
	z-index: 99998;
	display: flex;
	align-items: center;
	justify-content: center;
}
.indyka-cookie-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(31, 29, 26, 0.75);
}
.indyka-cookie-modal__box {
	position: relative;
	z-index: 1;
	background: #FAF8F2;
	max-width: 540px;
	width: calc(100% - 32px);
	max-height: 80vh;
	overflow-y: auto;
	padding: 40px;
}
.indyka-cookie-modal__close {
	position: absolute;
	top: 16px;
	right: 20px;
	background: none;
	border: none;
	font-size: 22px;
	color: #9E9990;
	cursor: pointer;
	line-height: 1;
	padding: 4px 8px;
}
.indyka-cookie-modal__close:hover,
.indyka-cookie-modal__close:focus-visible {
	color: #1F1D1A;
}
.indyka-cookie-modal__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 12px;
}
.indyka-cookie-modal__intro {
	font-size: 13px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0 0 24px;
}
.indyka-cookie-modal__categories {
	margin-bottom: 24px;
}
.indyka-cookie-modal__category {
	border: 1px solid #E8DFC9;
	padding: 16px 20px;
	border-radius: 2px;
}
.indyka-cookie-modal__category-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.indyka-cookie-modal__category-name {
	font-weight: 600;
	font-size: 13px;
	color: #1F1D1A;
	letter-spacing: 0.03em;
}
.indyka-cookie-modal__toggle--always {
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #3F7A5A;
	background: rgba(63, 122, 90, 0.1);
	padding: 3px 9px;
	border-radius: 10px;
	font-weight: 600;
}
.indyka-cookie-modal__category-desc {
	font-size: 12px;
	line-height: 1.6;
	color: #5C5852;
	margin: 0 0 12px;
}
.indyka-cookie-modal__cookie-list {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 11px;
	color: #9E9990;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.indyka-cookie-modal__cookie-list li {
	padding: 2px 0;
}
.indyka-cookie-modal__cookie-list code {
	background: #F4EFE2;
	padding: 1px 4px;
	border-radius: 2px;
	font-size: 10px;
	color: #5C5852;
}
.indyka-cookie-modal__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	border-top: 1px solid #E8DFC9;
	gap: 16px;
	flex-wrap: wrap;
}
.indyka-cookie-modal__privacy-link {
	font-size: 12px;
	color: #E39A1C;
	text-decoration: underline;
}
.indyka-cookie-modal__confirm {
	background: #4A1225;
	color: #FAF8F2;
	border: none;
	padding: 11px 28px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
}
.indyka-cookie-modal__confirm:hover,
.indyka-cookie-modal__confirm:focus-visible {
	background: #7A2135;
}

/* Bouton "Gérer mes cookies" dans la barre footer */
.indyka-footer__cookie-btn {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: inherit;
	font: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(232, 223, 201, 0.3);
}
.indyka-footer__cookie-btn:hover,
.indyka-footer__cookie-btn:focus-visible {
	text-decoration-color: currentColor;
}
@media ( max-width: 600px ) {
	.indyka-cookie-banner__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 14px 16px;
	}
	.indyka-cookie-modal__box {
		padding: 28px 20px;
	}
	.indyka-cookie-modal__footer {
		flex-direction: column;
	}
}

/* ==========================================================================
   28. PAGE — NOTRE MAGASIN MONTAUBAN
   ========================================================================== */

/* Utilitaires communs aux 4 pages standard */
.indyka-eyebrow {
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #E39A1C;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	margin: 0 0 12px;
}
/* Variantes pages standard — s'ajoutent aux styles de base du §6 */
.indyka-btn--dark,
.indyka-btn--outline-gold {
	padding: 14px 32px;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 0;
}
.indyka-btn--dark {
	background: #4A1225;
	color: #FAF8F2;
	border: 1px solid #4A1225;
}
.indyka-btn--dark:hover,
.indyka-btn--dark:focus-visible {
	background: #7A2135;
	border-color: #7A2135;
	color: #FAF8F2;
}
.indyka-btn--outline-gold {
	background: transparent;
	color: #E39A1C;
	border: 1px solid #E39A1C;
}
.indyka-btn--outline-gold:hover,
.indyka-btn--outline-gold:focus-visible {
	background: rgba(227, 154, 28, 0.08);
}

/* Hero magasin */
.indyka-magasin__hero {
	text-align: center;
	padding: 72px 24px 48px;
	max-width: 760px;
	margin: 0 auto;
}
.indyka-magasin__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 16px;
	line-height: 1.15;
}
.indyka-magasin__title em {
	color: #E39A1C;
	font-style: italic;
}
.indyka-magasin__subtitle {
	font-size: 16px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0;
}

/* Galerie */
.indyka-magasin__galerie {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	max-width: 1200px;
	margin: 0 auto 0;
	padding: 0 24px;
}
.indyka-magasin__photo {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.indyka-magasin__photo-svg {
	width: 100%;
	height: 100%;
}

/* Infos pratiques */
.indyka-magasin__infos {
	background: #4A1225;
	color: #E8DFC9;
}
.indyka-magasin__infos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.indyka-magasin__info-item {
	padding: 32px 28px;
	border-right: 1px solid rgba(232, 223, 201, 0.12);
}
.indyka-magasin__info-item:last-child {
	border-right: none;
}
.indyka-magasin__info-label {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 0 0 10px;
	font-weight: 600;
}
.indyka-magasin__info-value {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 17px;
	line-height: 1.5;
	margin: 0;
	color: #FAF8F2;
}
.indyka-magasin__info-value small {
	font-size: 13px;
	color: rgba(232, 223, 201, 0.55);
}
.indyka-magasin__info-link {
	color: #FAF8F2;
	text-decoration: none;
}
.indyka-magasin__info-link:hover {
	color: #E39A1C;
}

/* Google Maps */
.indyka-magasin__map-wrap {
	line-height: 0;
}
.indyka-magasin__map-iframe {
	display: block;
	width: 100%;
	height: 400px;
	filter: sepia(0.18) saturate(0.9) contrast(0.95);
	border: none;
}

/* Comment nous trouver */
.indyka-magasin__acces {
	padding: 72px 24px;
	max-width: 1100px;
	margin: 0 auto;
}
.indyka-magasin__acces-head {
	text-align: center;
	margin-bottom: 48px;
}
.indyka-magasin__section-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	color: #4A1225;
	margin: 0;
	line-height: 1.2;
}
.indyka-magasin__acces-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.indyka-magasin__acces-card {
	background: #F4EFE2;
	padding: 32px 28px;
	text-align: center;
}
.indyka-magasin__acces-num {
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 36px;
	color: #E39A1C;
	margin-bottom: 12px;
	line-height: 1;
}
.indyka-magasin__acces-mode {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #4A1225;
	margin: 0 0 10px;
}
.indyka-magasin__acces-desc {
	font-size: 14px;
	line-height: 1.65;
	color: #5C5852;
	margin: 0;
}

/* Au comptoir */
.indyka-magasin__comptoir {
	background: #F4EFE2;
	padding: 80px 24px;
}
.indyka-magasin__comptoir-inner {
	max-width: 840px;
	margin: 0 auto;
	text-align: center;
}
.indyka-magasin__comptoir-text {
	font-size: 15px;
	line-height: 1.75;
	color: #5C5852;
	margin: 24px 0 48px;
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}
.indyka-magasin__piliers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 56px;
}
.indyka-magasin__pilier {
	background: #FAF8F2;
	padding: 24px 20px;
	border-top: 2px solid #E39A1C;
}
.indyka-magasin__pilier-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4A1225;
	margin: 0 0 8px;
}
.indyka-magasin__pilier-desc {
	font-size: 13px;
	line-height: 1.6;
	color: #5C5852;
	margin: 0;
}

/* Sceau */
.indyka-magasin__seal {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.indyka-magasin__seal-caption {
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #9E9990;
	margin: 0;
}

/* CTA double */
.indyka-magasin__ctas {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 56px 24px;
	flex-wrap: wrap;
	background: #FAF8F2;
}

/* Responsive magasin */
@media ( max-width: 900px ) {
	.indyka-magasin__infos {
		grid-template-columns: repeat(2, 1fr);
	}
	.indyka-magasin__info-item:nth-child(2) {
		border-right: none;
	}
	.indyka-magasin__info-item {
		border-bottom: 1px solid rgba(232, 223, 201, 0.12);
	}
	.indyka-magasin__info-item:last-child,
	.indyka-magasin__info-item:nth-last-child(2):nth-child(odd) {
		border-bottom: none;
	}
	.indyka-magasin__acces-grid {
		grid-template-columns: 1fr;
		max-width: 480px;
		margin: 0 auto;
	}
	.indyka-magasin__piliers {
		grid-template-columns: 1fr;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media ( max-width: 640px ) {
	.indyka-magasin__galerie {
		grid-template-columns: 1fr;
	}
	.indyka-magasin__title {
		font-size: 30px;
	}
	.indyka-magasin__infos {
		grid-template-columns: 1fr;
	}
	.indyka-magasin__info-item {
		border-right: none;
	}
	.indyka-magasin__map-iframe {
		height: 260px;
	}
}

/* ==========================================================================
   29. PAGE — CONTACT
   ========================================================================== */

.indyka-contact__hero {
	text-align: center;
	padding: 72px 24px 48px;
	max-width: 680px;
	margin: 0 auto;
}
.indyka-contact__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 16px;
	line-height: 1.15;
}
.indyka-contact__title em {
	color: #E39A1C;
	font-style: italic;
}
.indyka-contact__subtitle {
	font-size: 15px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0;
}

/* Corps 2 colonnes */
.indyka-contact__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	max-width: 1100px;
	margin: 0 auto;
	padding: 48px 24px 72px;
	align-items: start;
}

/* Formulaire */
.indyka-contact__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.indyka-contact__field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.indyka-contact__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.indyka-contact__label {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #5C5852;
	font-weight: 600;
}
.indyka-contact__optional {
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0;
	text-transform: none;
	color: #9E9990;
}
.indyka-contact__required {
	color: #E39A1C;
}
.indyka-contact__input,
.indyka-contact__select,
.indyka-contact__textarea {
	background: #FAF8F2;
	border: 1px solid #DCD7CB;
	padding: 11px 14px;
	font-size: 14px;
	color: #1F1D1A;
	outline: none;
	transition: border-color 0.15s;
	font-family: inherit;
	width: 100%;
	box-sizing: border-box;
}
.indyka-contact__input:focus,
.indyka-contact__select:focus,
.indyka-contact__textarea:focus {
	border-color: #E39A1C;
}
.indyka-contact__select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='1,1 5,5 9,1' stroke='%23E39A1C' stroke-width='1.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
	cursor: pointer;
}
.indyka-contact__textarea {
	resize: vertical;
	min-height: 140px;
}
.indyka-contact__feedback {
	padding: 12px 16px;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 2px;
}
.indyka-contact__feedback--success {
	background: rgba(63, 122, 90, 0.1);
	color: #4A1225;
	border-left: 3px solid #3F7A5A;
}
.indyka-contact__feedback--error {
	background: rgba(168, 68, 59, 0.08);
	color: #A8443B;
	border-left: 3px solid #A8443B;
}
.indyka-contact__submit {
	align-self: flex-start;
}
.indyka-contact__submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Checkbox consentement RGPD */
.indyka-contact__field--consent {
	margin: 4px 0 18px;
}
.indyka-contact__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 12px;
	line-height: 1.5;
	color: #4a4a4a;
	font-family: 'Inter', sans-serif;
}
.indyka-contact__consent input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	accent-color: #4A1225;
	cursor: pointer;
}
.indyka-contact__consent-text a {
	color: #E39A1C;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.indyka-contact__consent-text a:hover {
	color: #4A1225;
}

/* Colonne infos directes */
.indyka-contact__info-col {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.indyka-contact__info-block {
	padding: 24px 0;
	border-bottom: 1px solid #E8DFC9;
}
.indyka-contact__info-block:first-child {
	padding-top: 0;
}
.indyka-contact__info-label {
	font-size: 9px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 0 0 6px;
	font-weight: 600;
}
.indyka-contact__info-value {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 18px;
	line-height: 1.4;
	color: #1F1D1A;
	margin: 0 0 4px;
}
.indyka-contact__info-link {
	color: #4A1225;
	text-decoration: none;
}
.indyka-contact__info-link:hover {
	color: #E39A1C;
}
.indyka-contact__info-sub {
	font-size: 12px;
	color: #9E9990;
	margin: 0;
	line-height: 1.5;
}
.indyka-contact__mini-map {
	margin-top: 12px;
	line-height: 0;
}
.indyka-contact__mini-map iframe {
	display: block;
	width: 100%;
	height: 200px;
	filter: sepia(0.18) saturate(0.9) contrast(0.95);
	border: none;
}

/* Section réponses rapides */
.indyka-contact__rapides {
	background: #F4EFE2;
	padding: 72px 24px;
	text-align: center;
}
.indyka-contact__section-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 40px;
	line-height: 1.2;
}
.indyka-contact__rapides-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 900px;
	margin: 0 auto;
}
.indyka-contact__rapide-card {
	background: #FAF8F2;
	padding: 28px 24px;
	text-align: left;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-bottom: 2px solid transparent;
	transition: border-color 0.2s, background 0.2s;
}
.indyka-contact__rapide-card:hover {
	border-color: #E39A1C;
	background: #fff;
}
.indyka-contact__rapide-title {
	font-size: 14px;
	font-weight: 700;
	color: #4A1225;
	margin: 0;
	letter-spacing: 0.03em;
}
.indyka-contact__rapide-desc {
	font-size: 13px;
	color: #9E9990;
	margin: 0;
	flex: 1;
}
.indyka-contact__rapide-arrow {
	font-size: 16px;
	color: #E39A1C;
	display: block;
	margin-top: 4px;
}

/* Responsive contact */
@media ( max-width: 800px ) {
	.indyka-contact__body {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.indyka-contact__rapides-grid {
		grid-template-columns: 1fr;
		max-width: 400px;
	}
}
@media ( max-width: 560px ) {
	.indyka-contact__field-row {
		grid-template-columns: 1fr;
	}
	.indyka-contact__title {
		font-size: 30px;
	}
}

/* ==========================================================================
   30. PAGE — À PROPOS
   ========================================================================== */

.indyka-apropos__hero {
	text-align: center;
	padding: 72px 24px 48px;
	max-width: 760px;
	margin: 0 auto;
}
.indyka-apropos__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 16px;
	line-height: 1.15;
}
.indyka-apropos__title em {
	color: #E39A1C;
	font-style: italic;
}
.indyka-apropos__subtitle {
	font-size: 15px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0;
}

/* Manifeste */
.indyka-apropos__manifeste {
	background: #FAF8F2;
	padding: 64px 24px;
	text-align: center;
}
.indyka-apropos__manifeste-text {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 22px;
	line-height: 1.7;
	color: #4A1225;
	max-width: 720px;
	margin: 0 auto;
	border: none;
	padding: 0;
}
.indyka-apropos__manifeste-text p {
	margin: 0;
}

/* Équipe */
.indyka-apropos__equipe {
	padding: 72px 24px;
	max-width: 1100px;
	margin: 0 auto;
}
.indyka-apropos__section-head {
	text-align: center;
	margin-bottom: 48px;
}
.indyka-apropos__section-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	color: #4A1225;
	margin: 0;
	line-height: 1.2;
}
.indyka-apropos__equipe-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.indyka-apropos__membre {
	background: #F4EFE2;
	padding: 32px 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.indyka-apropos__avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #4A1225;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.indyka-apropos__initiale {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 22px;
	color: #E39A1C;
	line-height: 1;
}
.indyka-apropos__membre-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.indyka-apropos__membre-name {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	color: #4A1225;
	margin: 0;
}
.indyka-apropos__membre-role {
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E39A1C;
	margin: 0;
	font-weight: 600;
}
.indyka-apropos__membre-quote {
	font-size: 13px;
	line-height: 1.65;
	color: #5C5852;
	font-style: italic;
	margin: 6px 0 0;
}

/* Piliers */
.indyka-apropos__piliers {
	background: #4A1225;
	padding: 72px 24px;
}
.indyka-apropos__piliers .indyka-apropos__section-head {
	margin-bottom: 56px;
}
.indyka-apropos__piliers .indyka-eyebrow {
	color: rgba(227, 154, 28, 0.8);
}
.indyka-apropos__piliers .indyka-apropos__section-title {
	color: #FAF8F2;
}
.indyka-apropos__piliers-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2px;
	max-width: 1000px;
	margin: 0 auto;
}
.indyka-apropos__pilier {
	background: rgba(232, 223, 201, 0.04);
	padding: 40px 36px;
	position: relative;
}
.indyka-apropos__pilier:hover {
	background: rgba(232, 223, 201, 0.07);
}
.indyka-apropos__pilier-num {
	position: absolute;
	top: 28px;
	right: 28px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 56px;
	color: #E39A1C;
	opacity: 0.18;
	line-height: 1;
}
.indyka-apropos__pilier-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #E8DFC9;
	margin: 0 0 12px;
}
.indyka-apropos__pilier-desc {
	font-size: 14px;
	line-height: 1.7;
	color: rgba(232, 223, 201, 0.65);
	margin: 0;
}

/* Notre chanvre */
.indyka-apropos__chanvre {
	padding: 72px 24px;
	background: #F4EFE2;
}
.indyka-apropos__chanvre-inner {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}
.indyka-apropos__chanvre-text {
	font-size: 15px;
	line-height: 1.8;
	color: #5C5852;
	margin: 24px 0 0;
}

/* Sceau */
.indyka-apropos__seal {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 56px 24px;
	background: #FAF8F2;
}
.indyka-apropos__seal-ring {
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #9E9990;
	margin: 0;
	text-align: center;
}

/* CTA double */
.indyka-apropos__ctas {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 56px 24px;
	background: #F4EFE2;
	flex-wrap: wrap;
}

/* Responsive à propos */
@media ( max-width: 900px ) {
	.indyka-apropos__equipe-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media ( max-width: 560px ) {
	.indyka-apropos__title {
		font-size: 30px;
	}
	.indyka-apropos__manifeste-text {
		font-size: 18px;
	}
	.indyka-apropos__equipe-grid {
		grid-template-columns: 1fr;
	}
	.indyka-apropos__piliers-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   31. PAGE — FAQ
   ========================================================================== */

.indyka-faq__hero {
	text-align: center;
	padding: 72px 24px 48px;
	max-width: 680px;
	margin: 0 auto;
}
.indyka-faq__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 16px;
	line-height: 1.15;
}
.indyka-faq__title em {
	color: #E39A1C;
	font-style: italic;
}
.indyka-faq__subtitle {
	font-size: 15px;
	line-height: 1.7;
	color: #5C5852;
	margin: 0;
}
.indyka-faq__subtitle a {
	color: #E39A1C;
	text-decoration: underline;
}

/* Ancres catégories */
.indyka-faq__ancres {
	position: sticky;
	top: 0;
	z-index: 90;
	background: #4A1225;
	display: flex;
	justify-content: center;
	gap: 0;
	padding: 0;
}
.indyka-faq__ancre {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 28px;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(232, 223, 201, 0.6);
	font-weight: 600;
	transition: color 0.15s, background 0.15s;
	border-right: 1px solid rgba(232, 223, 201, 0.08);
}
.indyka-faq__ancre:last-child {
	border-right: none;
}
.indyka-faq__ancre:hover {
	color: #E8DFC9;
	background: rgba(232, 223, 201, 0.05);
}
.indyka-faq__ancre-num {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 15px;
	color: #E39A1C;
}

/* Contenu accordéons */
.indyka-faq__content {
	max-width: 760px;
	margin: 0 auto;
	padding: 56px 24px;
}

/* Catégorie */
.indyka-faq__category {
	margin-bottom: 56px;
}
.indyka-faq__category:last-child {
	margin-bottom: 0;
}
.indyka-faq__category-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	color: #4A1225;
	margin: 0 0 24px;
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding-bottom: 16px;
	border-bottom: 1px solid #E8DFC9;
}
.indyka-faq__category-num {
	font-style: italic;
	color: #E39A1C;
	font-size: 28px;
}

/* Accordéon — <details> natif */
.indyka-faq__item {
	border-bottom: 1px solid #E8DFC9;
}
.indyka-faq__item:last-child {
	border-bottom: none;
}
.indyka-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	cursor: pointer;
	list-style: none;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 18px;
	color: #4A1225;
	font-weight: 600;
	line-height: 1.3;
	user-select: none;
}
.indyka-faq__question::-webkit-details-marker {
	display: none;
}
.indyka-faq__question::marker {
	display: none;
}
.indyka-faq__chevron {
	flex-shrink: 0;
	color: #E39A1C;
	transition: transform 0.25s ease;
}
.indyka-faq__item[open] .indyka-faq__chevron {
	transform: rotate(180deg);
}
.indyka-faq__item[open] .indyka-faq__question {
	color: #E39A1C;
}
.indyka-faq__answer {
	padding: 0 0 20px;
}
.indyka-faq__answer p {
	font-size: 15px;
	line-height: 1.75;
	color: #5C5852;
	margin: 0 0 1em;
}
.indyka-faq__answer p:last-child {
	margin-bottom: 0;
}
.indyka-faq__answer a {
	color: #E39A1C;
	text-decoration: underline;
}

/* Section finale */
.indyka-faq__contact-cta {
	background: #4A1225;
	padding: 72px 24px;
}
.indyka-faq__contact-cta-inner {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
}
.indyka-faq__contact-cta .indyka-eyebrow {
	color: rgba(227, 154, 28, 0.8);
}
.indyka-faq__cta-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 30px;
	font-weight: 600;
	color: #FAF8F2;
	margin: 0 0 16px;
	line-height: 1.2;
}
.indyka-faq__cta-desc {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(232, 223, 201, 0.7);
	margin: 0 0 32px;
}

/* Responsive FAQ */
@media ( max-width: 680px ) {
	.indyka-faq__ancres {
		flex-wrap: wrap;
		justify-content: flex-start;
		position: static;
	}
	.indyka-faq__ancre {
		padding: 12px 16px;
		font-size: 10px;
	}
	.indyka-faq__title {
		font-size: 30px;
	}
	.indyka-faq__question {
		font-size: 16px;
	}
}

/* ==========================================================================
   32. QUALITÉ IMAGES PRODUIT — rendu navigateur
   image-rendering: crisp-edges évite le flou d'interpolation bicubique
   par défaut sur les images upscalées côté navigateur.
   ========================================================================== */

.woocommerce-product-gallery__image img,
img.wp-post-image,
.indyka-product__photo img,
.indyka-archive__product img {
	image-rendering: -webkit-optimize-contrast; /* Safari / Chrome */
	image-rendering: crisp-edges;               /* Firefox / standard */
}


/* ==========================================================================
   35. HERO HOMEPAGE — "L'ÉTABLI" (drive vendeur expert)
   Remplace l'ancienne section .indyka-vitrine. Layout drive efficace :
   chips catégories + bande différenciateurs + grid 4 fiches + bandeau bas.
   ========================================================================== */

.indyka-etabli {
	background: #FAF8F2;
	width: 100%;
}

/* ░ NAV CHIPS ░ */
.indyka-etabli__nav {
	background: #FAF8F2;
	padding: 24px clamp(20px, 4vw, 28px) 0;
}
.indyka-etabli__nav-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding-bottom: 18px;
}
.indyka-etabli__chip {
	padding: 10px 18px;
	background: #FFFFFF;
	color: #1F1D1A;
	border: 1px solid rgba(31,29,26,0.18);
	border-radius: 24px;
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.indyka-etabli__chip:hover {
	border-color: #4A1225;
	color: #4A1225;
}
.indyka-etabli__chip.is-active {
	background: #4A1225;
	color: #FAF8F2;
	border-color: #4A1225;
}
.indyka-etabli__chip small {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 11px;
	letter-spacing: 0;
	margin-left: 4px;
	opacity: 0.75;
}
.indyka-etabli__chip:not(.is-active) small { opacity: 0.6; }
.indyka-etabli__all {
	margin-left: auto;
	padding: 10px 0;
	color: #1F1D1A;
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-bottom: 2px solid #E39A1C;
	padding-bottom: 6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: color 0.2s;
}
.indyka-etabli__all:hover { color: #E39A1C; }

/* ░ BANDE DIFFÉRENCIATEURS ░ */
.indyka-etabli__strip {
	background: #F4EFE2;
	padding: 14px clamp(20px, 4vw, 28px);
	border-top: 0.5px solid rgba(31,29,26,0.08);
	border-bottom: 0.5px solid rgba(31,29,26,0.08);
}
.indyka-etabli__strip-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
.indyka-etabli__strip-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #5F5E5A;
}
.indyka-etabli__strip-item--accent {
	color: #4A1225;
	font-weight: 600;
}

/* ░ GRID 4 FICHES ░ */
.indyka-etabli__grid-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 32px clamp(20px, 4vw, 28px);
}
.indyka-etabli__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

/* ░ CARD ░ */
.indyka-etabli__card {
	background: #FFFFFF;
	border: 1px solid #E8DFC9;
	border-radius: 3px;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.indyka-etabli__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(31,29,26,0.08), 0 2px 6px rgba(227,154,28,0.12);
	border-color: rgba(227,154,28,0.45);
}

/* Media — photo 4:5 portrait ivoire */
.indyka-etabli__card-media {
	aspect-ratio: 3 / 4;
	background: #F4EFE2;
	position: relative;
	overflow: hidden;
}
.indyka-etabli__card-img {
	/* Rotation +90° (sens horaire) : côté droit original → bas, côté gauche → haut.
	   scale(1.30) zoom légèrement la fleur pour qu'elle remplisse la largeur du
	   cadre (letterbox quasi nul) en croppant ~15% top/bottom (zones souvent
	   vides de toute façon). La fleur épouse alors presque parfaitement le cadre. */
	position: absolute;
	top: 50%;
	left: 50%;
	width: 133.33%;
	height: auto;
	transform: translate( -50%, -50% ) rotate( 90deg ) scale( 1.30 );
	transform-origin: center center;
	display: block;
	transition: transform 0.5s cubic-bezier(.22,.61,.36,1);
}
.indyka-etabli__card:hover .indyka-etabli__card-img {
	transform: translate( -50%, -50% ) rotate( 90deg ) scale( 1.36 );
}
.indyka-etabli__card-placeholder {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: clamp(48px, 8vw, 72px);
	color: rgba(227,154,28,0.35);
	letter-spacing: 0.02em;
}
.indyka-etabli__card-badge {
	position: absolute;
	top: 11px;
	left: 11px;
	z-index: 3;
	padding: 4px 10px;
	font-family: 'Inter', sans-serif;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}
.indyka-etabli__card-roman {
	position: absolute;
	top: 11px;
	right: 14px;
	z-index: 3;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 14px;
	color: rgba(227,154,28,0.55);
	letter-spacing: 0.02em;
	line-height: 1;
}
.indyka-etabli__card-latin {
	position: absolute;
	bottom: 11px;
	left: 0;
	right: 0;
	text-align: center;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 9px;
	color: rgba(31,29,26,0.4);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	z-index: 2;
	pointer-events: none;
}

/* Body — texte structuré */
.indyka-etabli__card-body {
	padding: 16px 18px 14px;
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
}
.indyka-etabli__card-origin {
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #888780;
	margin-bottom: 2px;
}
.indyka-etabli__card-name {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 26px;
	font-weight: 500;
	color: #4A1225;
	margin: 0;
	line-height: 1;
	letter-spacing: -0.01em;
}
.indyka-etabli__card-sep {
	text-align: center;
	margin: 14px 0 6px;
	color: #E39A1C;
	opacity: 0.4;
	font-size: 8px;
	letter-spacing: 0;
}
.indyka-etabli__card-section { display: block; }
.indyka-etabli__card-label {
	font-family: 'Inter', sans-serif;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #888780;
	margin-bottom: 4px;
}
.indyka-etabli__card-gout {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 17px;
	color: #E39A1C;
	margin: 0;
	line-height: 1.25;
}
.indyka-etabli__card-culture {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #3D3B37;
	margin: 0;
	line-height: 1.3;
}
.indyka-etabli__card-foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 0.5px solid rgba(227,154,28,0.25);
}
.indyka-etabli__card-price {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 20px;
	font-weight: 500;
	color: #4A1225;
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}
.indyka-etabli__card-price .woocommerce-Price-amount,
.indyka-etabli__card-price bdi {
	font-family: inherit;
	color: inherit;
}
.indyka-etabli__card-price small {
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 500;
	color: #888780;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.indyka-etabli__card-cta {
	position: relative;
	z-index: 6; /* au-dessus du card-link overlay */
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #D85A30;
	color: #FAF8F2;
	border: none;
	padding: 9px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 2px;
	text-decoration: none;
	transition: background 0.2s, transform 0.15s;
}
.indyka-etabli__card-cta:hover {
	background: #c14a25;
	color: #FAF8F2;
}
.indyka-etabli__card-cta:active { transform: scale(0.97); }
.indyka-etabli__card-seal {
	text-align: center;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 0.5px dashed rgba(227,154,28,0.2);
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 10px;
	color: #888780;
	letter-spacing: 0.12em;
}

/* Lien overlay rend toute la card cliquable (sous le bouton CTA) */
.indyka-etabli__card-link {
	position: absolute;
	inset: 0;
	z-index: 4;
	text-indent: -9999px;
	overflow: hidden;
}

/* ░ BANDEAU BAS CATALOGUE ░ */
.indyka-etabli__foot {
	background: #4A1225;
	padding: 18px clamp(20px, 4vw, 28px);
	color: #FAF8F2;
}
.indyka-etabli__foot-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
.indyka-etabli__foot-stats {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.indyka-etabli__foot-total {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 18px;
	color: #FAF8F2;
}
.indyka-etabli__foot-divider {
	width: 1px;
	height: 18px;
	background: rgba(232,223,201,0.3);
}
.indyka-etabli__foot-detail {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(232,223,201,0.85);
}
.indyka-etabli__foot-cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 13px 26px;
	background: #E39A1C;
	color: #1F1D1A;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: background 0.2s;
}
.indyka-etabli__foot-cta:hover {
	background: #c9a36a;
	color: #1F1D1A;
}

/* ░ RESPONSIVE ░ */
@media (max-width: 960px) {
	.indyka-etabli__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
	.indyka-etabli__strip-inner {
		justify-content: flex-start;
		gap: 10px;
	}
	.indyka-etabli__strip-item {
		flex-basis: calc(50% - 5px);
	}
	.indyka-etabli__all {
		margin-left: 0;
	}
	.indyka-etabli__foot-inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
	.indyka-etabli__foot-stats { justify-content: center; }
	.indyka-etabli__foot-cta { justify-content: center; }
}
@media (max-width: 480px) {
	.indyka-etabli__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.indyka-etabli__nav-inner { padding-bottom: 12px; }
	.indyka-etabli__card-name { font-size: 18px; }
	.indyka-etabli__card-body { padding: 12px; }
	.indyka-etabli__card-meta { font-size: 9px; }
	.indyka-etabli__card-price { font-size: 14px; }
}
@media (max-width: 380px) {
	.indyka-etabli__grid { grid-template-columns: 1fr; }
}

/* ░ MASQUER les anciens styles vitrine si toujours en cache ░ */
.indyka-vitrine,
.indyka-hero-vitrine {
	display: none !important;
}


/* ==========================================================================
   36. FLÈCHE RETOUR INDYKA — réutilisable sur toutes les pages internes
   Inséré via template-parts/indyka-back.php
   ========================================================================== */

.indyka-back {
	background: #FAF8F2;
	padding: 14px clamp(20px, 4vw, 32px) 0;
}
.indyka-back__inner {
	max-width: 1280px;
	margin: 0 auto;
}
.indyka-back__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 14px;
	color: #E39A1C;
	text-decoration: none;
	transition: color 0.25s ease, gap 0.25s ease;
	padding: 4px 0;
}
.indyka-back__link:hover {
	color: #4A1225;
	gap: 12px;
}
.indyka-back__arrow {
	flex-shrink: 0;
	color: currentColor;
	transition: transform 0.25s ease;
}
.indyka-back__link:hover .indyka-back__arrow {
	transform: translateX(-3px);
}
.indyka-back__label {
	font-family: inherit;
	font-style: inherit;
	letter-spacing: 0.01em;
}
.indyka-back__label em {
	font-style: italic;
	color: #4A1225;
	font-weight: 500;
	margin-left: 2px;
}
.indyka-back__link:hover .indyka-back__label em {
	color: #E39A1C;
}

@media (max-width: 640px) {
	.indyka-back { padding: 10px clamp(16px, 4vw, 24px) 0; }
	.indyka-back__link { font-size: 13px; }
}


/* ==========================================================================
   33. STANDARDISATION IMAGES PRODUIT — affichage uniforme partout
   Ratio 4:3 + fond ivoire INDYKA + object-fit:cover centré + hover zoom.
   Évite les disparités visuelles dues aux différents cadrages des shoots.
   ========================================================================== */

/* ----- Containers d'images produit ----- */
.indyka-vitrine__featured-media,
.indyka-vitrine__card-media,
.indyka-archive__product-photo,
.indyka-favoris__item-photo,
.indyka-product__photo {
	aspect-ratio: 4 / 3 !important;
	background: #F4EFE2 !important;
	overflow: hidden;
	position: relative;
}

/* ----- Images à l'intérieur des containers ----- */
.indyka-vitrine__featured-img,
.indyka-vitrine__card-img,
.indyka-archive__product-img,
.indyka-favoris__item-photo img,
.indyka-product__photo img,
img.wp-post-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
	transition: transform 0.45s cubic-bezier(.22,.61,.36,1);
}

/* ----- Hover zoom subtil (uniforme sur tout le site) ----- */
.indyka-vitrine__featured:hover .indyka-vitrine__featured-img,
.indyka-vitrine__card:hover .indyka-vitrine__card-img,
.indyka-archive__product:hover .indyka-archive__product-img,
.indyka-archive__product-link:hover .indyka-archive__product-img,
.indyka-favoris__item:hover .indyka-favoris__item-photo img,
.indyka-product__photo:hover img {
	transform: scale(1.04);
}

/* ----- Placeholders SVG / texte : même cadre que les vraies photos ----- */
.indyka-vitrine__placeholder,
.indyka-archive__product-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F4EFE2;
	font-family: var(--font-heading);
	font-style: italic;
	font-size: clamp(48px, 8vw, 96px);
	color: rgba(227, 154, 28, 0.35);
	letter-spacing: 0.02em;
}

/* ----- Hero small cards : layout horizontal photo+texte, ratio 4:3 forcé ----- */
.indyka-vitrine__cards .indyka-vitrine__card-media {
	flex: 0 0 38%;
	max-width: 38%;
}

@media (max-width: 640px) {
	.indyka-vitrine__cards .indyka-vitrine__card-media {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* ===== §34 ENRICHISSEMENT SMALL CARDS HERO ===== */

/* Card container : bordure subtile + ombre douce au repos, hover marqué */
.indyka-vitrine__card {
	position: relative;
	background: #FFFFFF;
	border: 1px solid #E8DFC9;
	border-radius: 4px;
	overflow: hidden;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
	box-shadow: 0 1px 3px rgba(31,29,26,0.04);
}
.indyka-vitrine__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(31,29,26,0.08), 0 2px 6px rgba(227,154,28,0.12);
	border-color: rgba(227,154,28,0.45);
}

/* Numéro romain en filigrane discret en haut à droite */
.indyka-vitrine__card-roman {
	position: absolute;
	top: 10px;
	right: 14px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 22px;
	color: rgba(227,154,28,0.45);
	letter-spacing: 0.04em;
	z-index: 3;
	pointer-events: none;
	line-height: 1;
}

/* Équerres ornementales dans 2 coins (top-left + bottom-right) */
.indyka-vitrine__card-flourish {
	position: absolute;
	width: 22px;
	height: 22px;
	pointer-events: none;
	z-index: 3;
	opacity: 0.55;
}
.indyka-vitrine__card-flourish--tl {
	top: 8px;
	left: 8px;
	border-top: 1px solid #E39A1C;
	border-left: 1px solid #E39A1C;
}
.indyka-vitrine__card-flourish--br {
	bottom: 8px;
	right: 8px;
	border-bottom: 1px solid #E39A1C;
	border-right: 1px solid #E39A1C;
}

/* Badge contextuel (Nouveau / Bio FR / Maison) en overlay sur la photo */
.indyka-vitrine__card-media {
	position: relative;
}
.indyka-vitrine__card-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 4;
	padding: 4px 10px;
	font-size: 9px;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 2px;
	color: #FAF8F2;
	box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
.indyka-vitrine__card-badge--new {
	background: #E39A1C; /* or = nouveauté */
}
.indyka-vitrine__card-badge--bio {
	background: #3F7A5A; /* vert = bio FR */
}
.indyka-vitrine__card-badge--house {
	background: #4A1225; /* vert profond = signature maison */
}

/* Body : padding plus aéré + structure verticale claire */
.indyka-vitrine__card-body {
	padding: 14px 18px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.indyka-vitrine__card-meta {
	font-size: 9px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #888780;
	font-weight: 500;
}

.indyka-vitrine__card-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 22px;
	font-weight: 500;
	color: #4A1225;
	margin: 2px 0 0;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

/* Notes aromatiques en Cormorant italique or, signature INDYKA */
.indyka-vitrine__card-notes {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-size: 13px;
	color: #E39A1C;
	margin: 4px 0 8px;
	line-height: 1.3;
}

/* Pied de card : prix à gauche, bouton Voir à droite */
.indyka-vitrine__card-foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 6px;
	border-top: 1px dashed rgba(227,154,28,0.25);
}

.indyka-vitrine__card-price {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 18px;
	font-weight: 500;
	color: #4A1225;
	letter-spacing: 0;
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}
.indyka-vitrine__card-price small {
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	font-weight: 500;
	color: #888780;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Bouton "Voir →" stylé : underline animé + couleur or au hover */
.indyka-vitrine__card-cta {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 500;
	color: #4A1225;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding-bottom: 2px;
	border-bottom: 1px solid #E39A1C;
	transition: color 0.25s ease, gap 0.25s ease;
}
.indyka-vitrine__card:hover .indyka-vitrine__card-cta {
	color: #E39A1C;
	gap: 10px;
}

/* Lien superposé qui rend toute la card cliquable */
.indyka-vitrine__card-link {
	position: absolute;
	inset: 0;
	z-index: 5;
	text-indent: -9999px;
	overflow: hidden;
}

/* Cacher l'ancienne flèche solo si encore présente */
.indyka-vitrine__card-arrow { display: none !important; }

/* Responsive : sur mobile, photo passe en pleine largeur dessus */
@media (max-width: 640px) {
	.indyka-vitrine__card {
		flex-direction: column;
	}
	.indyka-vitrine__card-roman {
		font-size: 18px;
	}
	.indyka-vitrine__card-title {
		font-size: 24px;
	}
}

/* ----- EXCEPTION fiche produit single : image visible en entier ----- */
/* Sur la fiche produit, on bascule object-fit:contain pour que le bud
   apparaisse en entier (pas de crop).
   Inclut .indyka-product__main-image qui porte la classe wp-post-image
   ciblée par la règle cover ci-dessus. */
.indyka-product__photo img,
.woocommerce-product-gallery__image img,
.indyka-product__gallery-main img,
.indyka-product__main-image {
	object-fit: contain !important;
	padding: 4% !important;
}

/* ----- Hover zoom désactivé sur fiche produit (l'image y est centrale) ----- */
.indyka-product__photo:hover img,
.woocommerce-product-gallery__image:hover img,
.indyka-product__gallery-main:hover img {
	transform: none !important;
}

/* =============================================================================
 * §  PAGE ANALYSES & TRAÇABILITÉ
 * ============================================================================= */

.indyka-analyses {
	background: var(--indyka-ivoire, #FAF8F2);
	color: var(--indyka-anthracite, #1F1D1A);
}

.indyka-analyses__hero {
	max-width: 760px;
	margin: 0 auto;
	padding: 64px 24px 32px;
	text-align: center;
}
.indyka-analyses__title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: clamp( 36px, 5vw, 56px );
	line-height: 1.05;
	margin: 12px 0 16px;
	color: var(--indyka-vert, #4A1225);
}
.indyka-analyses__title em {
	font-style: italic;
	color: var(--indyka-or, #E39A1C);
}
.indyka-analyses__subtitle {
	font-size: 16px;
	line-height: 1.55;
	color: #4a4a4a;
	margin: 0 auto;
	max-width: 620px;
}
.indyka-analyses__hero-strip {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 24px;
	padding: 10px 18px;
	background: #fff;
	border: 1px solid #e8dfc9;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #4a4a4a;
}
.indyka-analyses__hero-strip span[aria-hidden] { color: var(--indyka-or, #E39A1C); }

.indyka-analyses__grid-wrap {
	max-width: 1320px;
	margin: 0 auto;
	padding: 32px 24px 64px;
}
.indyka-analyses__grid {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
	gap: 24px;
}
@media (max-width: 540px) {
	.indyka-analyses__grid { grid-template-columns: repeat( 2, 1fr ); gap: 14px; }
}

.indyka-analyses__card {
	position: relative;
	background: #fff;
	border: 1px solid #e8dfc9;
	border-radius: 10px;
	overflow: hidden;
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.indyka-analyses__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba( 27, 58, 45, 0.10 );
	border-color: #E39A1C;
}
.indyka-analyses__card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.indyka-analyses__card-media {
	position: relative;
	aspect-ratio: 4 / 5;
	background: #F4EFE2;
	overflow: hidden;
}
.indyka-analyses__card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}
.indyka-analyses__card:hover .indyka-analyses__card-img {
	transform: scale( 1.04 );
}
.indyka-analyses__card-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient( 135deg, #F4EFE2 0%, #E8DFC9 100% );
}
.indyka-analyses__card-cat {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 4px 10px;
	background: rgba( 27, 58, 45, 0.92 );
	color: #F4EFE2;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
}
.indyka-analyses__card-body {
	padding: 14px 16px 16px;
}
.indyka-analyses__card-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.15;
	margin: 0 0 4px;
	color: var(--indyka-anthracite, #1F1D1A);
}
.indyka-analyses__card-sub {
	font-size: 12px;
	color: #6a6a6a;
	margin: 0 0 10px;
	letter-spacing: 0.04em;
}
.indyka-analyses__card-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--indyka-vert, #4A1225);
	font-weight: 600;
}
.indyka-analyses__card:hover .indyka-analyses__card-cta { color: var(--indyka-or, #E39A1C); }

.indyka-analyses__pdf-chip {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	background: var(--indyka-or, #E39A1C);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
	text-decoration: none;
	box-shadow: 0 4px 10px rgba( 0, 0, 0, 0.12 );
	transition: background 200ms ease, transform 200ms ease;
	z-index: 2;
}
.indyka-analyses__pdf-chip:hover {
	background: var(--indyka-vert, #4A1225);
	transform: translateY( -1px );
}
.indyka-analyses__pdf-chip svg { color: #fff; }
.indyka-analyses__pdf-chip--soon {
	background: transparent;
	color: #6a6a6a;
	border: 1px dashed #c8c0a8;
	box-shadow: none;
	cursor: default;
	font-weight: 500;
}
.indyka-analyses__pdf-chip--soon:hover {
	background: transparent;
	transform: none;
}

.indyka-analyses__empty {
	text-align: center;
	padding: 80px 20px;
	font-size: 15px;
	color: #6a6a6a;
}

/* Explicatif */
.indyka-analyses__expli {
	background: var(--indyka-vert, #4A1225);
	color: #F4EFE2;
	padding: 56px 24px;
}
.indyka-analyses__expli-inner { max-width: 1100px; margin: 0 auto; }
.indyka-analyses__expli-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 32px;
	text-align: center;
	margin: 0 0 32px;
	color: var(--indyka-or, #E39A1C);
	font-style: italic;
}
.indyka-analyses__expli-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 260px, 1fr ) );
	gap: 32px;
}
.indyka-analyses__expli-num {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 36px;
	color: var(--indyka-or, #E39A1C);
	margin: 0 0 4px;
	line-height: 1;
}
.indyka-analyses__expli-h {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 22px;
	margin: 0 0 8px;
	color: #F4EFE2;
}
.indyka-analyses__expli-d {
	font-size: 14px;
	line-height: 1.55;
	color: #d8d3c2;
	margin: 0;
}

.indyka-analyses__cta-wrap {
	text-align: center;
	padding: 48px 24px;
	background: var(--indyka-ivoire, #FAF8F2);
}

/* =============================================================================
 * §  TRAITEMENT UNIFIÉ DES PHOTOS PRODUIT — TEMPORAIRE
 *
 * En attendant le shoot complet du catalogue avec setup éditorial unifié.
 * Harmonise les fonds blancs/photos disparates en :
 *   1. Remplaçant le fond pur blanc par un ivoire chaleureux
 *   2. Appliquant un filtre warm (sepia léger + warm tone)
 *   3. Ajoutant une vignette douce pour focaliser le sujet
 *   4. Texture grain SVG subtile (≈ effet pellicule argentique)
 *
 * Cibles : .indyka-etabli__card-media (homepage L'Établi)
 *          .indyka-archive__product-photo (catalogue)
 *          .indyka-product__gallery-main (fiche produit)
 *          .indyka-analyses__card-media (page Analyses)
 *
 * À SUPPRIMER quand les vraies photos éditoriales seront livrées.
 * ============================================================================= */

.indyka-etabli__card-media,
.indyka-archive__product-photo,
.indyka-product__gallery-main,
.indyka-analyses__card-media {
	background-color: #F4EFE2 !important;
	position: relative;
	overflow: hidden;
}

/* Filtre warm + saturation légère pour harmoniser les disparités de balance des blancs */
.indyka-etabli__card-img,
.indyka-archive__product-photo img,
.indyka-product__main-image,
.indyka-analyses__card-img {
	filter:
		sepia( 0.14 )
		saturate( 1.08 )
		brightness( 1.02 )
		contrast( 1.04 )
		hue-rotate( -3deg );
	transition: filter 320ms ease, transform 400ms ease;
}

/* Vignette douce (focalise l'œil sur le centre de la photo) */
.indyka-etabli__card-media::before,
.indyka-archive__product-photo::before,
.indyka-product__gallery-main::before,
.indyka-analyses__card-media::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(
			circle at 50% 45%,
			transparent 0%,
			transparent 55%,
			rgba( 27, 58, 45, 0.06 ) 80%,
			rgba( 27, 58, 45, 0.14 ) 100%
		);
	z-index: 2;
	mix-blend-mode: multiply;
}

/* Texture grain (effet pellicule argentique très subtil ≈ 4 % opacité) */
.indyka-etabli__card-media::after,
.indyka-archive__product-photo::after,
.indyka-product__gallery-main::after,
.indyka-analyses__card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: url( "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.72  0 0 0 0 0.58  0 0 0 0 0.35  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/></svg>" );
	background-size: 200px 200px;
	mix-blend-mode: overlay;
	opacity: 0.45;
	z-index: 3;
}

/* Au survol : on enlève la vignette pour montrer la vraie photo à fond */
.indyka-etabli__card:hover .indyka-etabli__card-media::before,
.indyka-archive__product:hover .indyka-archive__product-photo::before,
.indyka-analyses__card:hover .indyka-analyses__card-media::before {
	opacity: 0.5;
	transition: opacity 280ms ease;
}

/* Au survol : on adoucit aussi le filtre warm */
.indyka-etabli__card:hover .indyka-etabli__card-img,
.indyka-archive__product:hover .indyka-archive__product-photo img,
.indyka-analyses__card:hover .indyka-analyses__card-img {
	filter:
		sepia( 0.06 )
		saturate( 1.12 )
		brightness( 1.04 )
		contrast( 1.05 );
}

/* Fiche produit : on adoucit encore plus le filtre car le sujet est central */
.indyka-product__main-image {
	filter:
		sepia( 0.08 )
		saturate( 1.05 )
		brightness( 1.01 )
		contrast( 1.03 ) !important;
}

/* La fiche produit a déjà un fond ivoire sur sa galerie principale, on ajuste */
.indyka-product__gallery-main {
	background-color: var( --indyka-ivoire, #FAF8F2 ) !important;
}


/* === Catalogue mobile 2 colonnes — ajustements lisibilité === */
@media (max-width: 640px) {
	.indyka-archive__product-name { font-size: 18px !important; }
	.indyka-archive__product-meta { font-size: 9px !important; }
	.indyka-archive__product-link { padding-bottom: 14px !important; }
}
@media (max-width: 380px) {
	.indyka-archive__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}
@media (max-width: 380px) {
	.indyka-vitrine__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
}


/* ── À propos : section vidéo boutique ─────────────────────────────── */
.indyka-apropos__video {
	max-width: 980px;
	margin: 0 auto;
	padding: 56px 20px;
}
.indyka-apropos__video-frame {
	border: 1.5px solid var(--indyka-gold);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 18px 46px rgba(74, 18, 37, 0.22);
	background: var(--indyka-anthracite);
}
.indyka-apropos__video-player {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
@media (max-width: 768px) {
	.indyka-apropos__video { padding: 36px 14px; }
	.indyka-apropos__video-frame { border-radius: 10px; }
}
