/* Gourméa Events — identité CLAIRE (à l'essai sur la démo, SITE_THEME=clair).
   Chargée APRÈS site.css et evenements.css, uniquement quand <html class="theme-clair">.
   Principe : fond blanc cassé lumineux, textes encre, or réservé aux détails (filets, puces, prix au kilo),
   boutons d'achat noirs, pied de page noir et or. Les photos des bonbons restent intactes et mises en avant.
   La version noire (site.css seul) reste la version par défaut. */

.theme-clair {
  --black: #faf7f2;            /* fond de page : blanc cassé chaleureux */
  --ink: #f4efe6;              /* surfaces discrètes (champs, puces, bandes) */
  --card: #ffffff;
  --line: #e8e0d0;
  --white: #1b1813;            /* « texte principal » : encre presque noire (contraste 16:1) */
  --muted: #6a6254;            /* texte secondaire (contraste 5,9:1 sur blanc) */
  --gold: #876318;             /* or lisible sur fond clair, petits textes compris (contraste ≥ 5:1) */
  --gold-light: #7f5c14;       /* liens et accents dorés (contraste 6,3:1) */
  --gold-dark: #d2b26a;        /* filets et ornements */
  --hairline: rgba(176, 134, 44, .38);
  --shadow-sm: 0 2px 10px rgba(46, 36, 16, .06);
  --shadow: 0 14px 34px rgba(46, 36, 16, .12);
  --buy: #14110c;              /* boutons d'achat */
  --buy-hover: #2b2419;
  --gold-text-grad: linear-gradient(135deg, #c39330 0%, #a57a1f 45%, #6f500f 100%);
  color-scheme: light;
}
.theme-clair body { background: var(--black); color: var(--white); }
.theme-clair a:hover { color: var(--white); }
.theme-clair .gold { background: var(--gold-text-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.theme-clair :focus-visible { outline-color: var(--gold); }
.theme-clair ::selection { background: #f3dfa6; color: #1b1813; }

/* Boutons : achat noir et blanc, secondaires au trait noir */
.theme-clair .btn-gold { background: var(--buy); color: #fff; box-shadow: 0 6px 18px rgba(20, 17, 12, .18); }
.theme-clair .btn-gold:hover { background: var(--buy-hover); color: #fff; box-shadow: 0 10px 24px rgba(20, 17, 12, .24), 0 0 0 1px rgba(212, 164, 55, .55); }
.theme-clair .btn-outline { border-color: #1b1813; color: #1b1813; background: #fff; }
.theme-clair .btn-outline:hover { background: #1b1813; color: #fff; }
.theme-clair .btn-ghost:hover { color: var(--white); }

/* Bandeaux et en-tête clair */
.theme-clair .preview-banner { background: #fbf1d9; color: #6b4d0f; border-bottom-color: #ead6a3; }
.theme-clair .site-header { background: rgba(255, 255, 255, .94); border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(212, 164, 55, .22), 0 6px 20px rgba(46, 36, 16, .05); }
.theme-clair .main-nav a { color: #2a251d; font-weight: 500; }
.theme-clair .main-nav a:hover, .theme-clair .main-nav a[aria-current="page"] { color: #1b1813; background: #f6efe0; box-shadow: inset 0 -2px 0 var(--gold-dark); }
.theme-clair .icon-btn { color: #1b1813; }
.theme-clair .icon-btn:hover { background: #f4efe6; color: #1b1813; }
.theme-clair .cart-count { background: var(--buy); color: #fff; box-shadow: 0 0 0 2px #fff; }
.theme-clair .search-bar { background: #fff; }

/* Formulaires : champs blancs, bordure nette */
.theme-clair input[type=text], .theme-clair input[type=email], .theme-clair input[type=tel], .theme-clair input[type=search],
.theme-clair input[type=number], .theme-clair select, .theme-clair textarea, .theme-clair .ev-form input[type=date] {
  background: #fff; color: var(--white); border-color: #d8cfbd; color-scheme: light;
}
.theme-clair input::placeholder, .theme-clair textarea::placeholder { color: #958c7b; }
.theme-clair input:focus, .theme-clair select:focus, .theme-clair textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212, 164, 55, .22); }
.theme-clair .errorlist, .theme-clair .ev-form .errorlist { color: #b3261e; }
.theme-clair .check input, .theme-clair .ship-choice input, .theme-clair .service-choice input { accent-color: #1b1813; }

/* Notifications */
.theme-clair .messages li { background: #fff; border-color: var(--line); border-left-color: var(--gold); box-shadow: var(--shadow); color: var(--white); }
.theme-clair .messages .toast-close:hover { background: #f4efe6; }
.theme-clair .msg-error { border-color: rgba(179, 38, 30, .35); border-left-color: #b3261e; }

/* Accueil */
.theme-clair .hero { background: radial-gradient(ellipse at 75% 35%, rgba(243, 210, 122, .32), transparent 58%), radial-gradient(ellipse at 0% 100%, rgba(242, 141, 178, .10), transparent 50%), #fffdf9; border-bottom: 1px solid var(--line); }
.theme-clair .hero .lead { color: #3d372d; }
.theme-clair .hero-logo { filter: drop-shadow(0 18px 30px rgba(46, 36, 16, .18)); }
.theme-clair .hero-shot { border: 0; background: #fff; box-shadow: 0 10px 28px rgba(46, 36, 16, .14); outline: 4px solid #fff; }
.theme-clair .hero-shot-label { background: rgba(255, 255, 255, .92); color: #1b1813; box-shadow: var(--shadow-sm); }
.theme-clair .eyebrow { color: var(--gold); }
.theme-clair .candy-dots i { box-shadow: inset -2px -2px 3px rgba(0, 0, 0, .18), inset 2px 2px 3px rgba(255, 255, 255, .5), 0 1px 3px rgba(46, 36, 16, .2); }
.theme-clair .trust { background: #fff; border-color: var(--line); }
.theme-clair .trust-item svg { padding: 6px; width: 40px; height: 40px; border-radius: 50%; background: #fbf3df; color: #a57a1f; }
.theme-clair .section:nth-of-type(even) { background: #fff; }
.theme-clair .home-events { background: #fff; box-shadow: var(--shadow-sm); }
.theme-clair .home-events-photo img { border-color: #f0e3c2; box-shadow: 0 16px 36px rgba(46, 36, 16, .16); }

/* Cartes catégories et produits : blanches, bordure discrète, photo en vedette */
.theme-clair .cat-card, .theme-clair .product-card, .theme-clair .event-card {
  background: #fff; border-color: var(--line); color: var(--white); box-shadow: var(--shadow-sm);
}
.theme-clair .cat-card:hover, .theme-clair .product-card:hover, .theme-clair .event-card:hover {
  border-color: #e3cf9c; box-shadow: 0 16px 34px rgba(46, 36, 16, .13); color: var(--white);
}
.theme-clair .cat-mosaic { background: #fff; }
.theme-clair .cat-card p { color: #5b5448; }
.theme-clair .cat-more { color: #1b1813; }
.theme-clair .cat-more span { color: var(--gold); }
.theme-clair .product-media { background: #f6f2ea; }
.theme-clair .product-media::after { box-shadow: inset 0 -1px 0 var(--line); }
.theme-clair .product-brand { color: var(--gold); }
.theme-clair .product-name { color: #1b1813; }
.theme-clair .price { color: #1b1813; }
.theme-clair .badge-out { background: #ece7de; color: #4a4338; }
.theme-clair .badge-low { background: #fdf0d8; color: #7a4d06; }

/* Catalogue, filtres, recherche */
.theme-clair .page-head { background: radial-gradient(ellipse at 15% 0, rgba(243, 210, 122, .28), transparent 60%), #fffdf9; border-bottom-color: var(--line); }
.theme-clair .breadcrumb, .theme-clair .breadcrumb a { color: var(--muted); }
.theme-clair .breadcrumb a:hover { color: #1b1813; }
.theme-clair .filters legend { color: #1b1813; }
.theme-clair .filter-count, .theme-clair .pagination .page-current { background: var(--buy); color: #fff; }
.theme-clair .chip { background: #fff; color: #2a251d; border-color: #e1d8c6; }
.theme-clair a.chip:hover, .theme-clair .empty-suggestions .chip:hover { border-color: var(--gold); color: #1b1813; }
.theme-clair .chip-remove { color: #1b1813; }
.theme-clair .chip-remove span { background: #f6ecd2; color: #7f5c14; }
.theme-clair .chip-remove:hover { background: #fbf6ea; color: #1b1813; }
.theme-clair .empty { background: radial-gradient(ellipse at 50% 0, rgba(243, 210, 122, .22), transparent 70%), #fff; }
.theme-clair .pagination a, .theme-clair .pagination span { background: #fff; }
.theme-clair .pagination a:hover { border-color: var(--gold); color: #1b1813; }

/* Fiche produit */
.theme-clair .product-photo { border-color: var(--line); background: #fff; box-shadow: 0 18px 40px rgba(46, 36, 16, .12); }
.theme-clair .qty-option span { background: #fff; border-color: #ddd3c0; }
.theme-clair .qty-option span small { color: #1b1813; }
.theme-clair .qty-option input:checked + span { border-color: #1b1813; background: #fbf6ea; box-shadow: 0 0 0 1px #1b1813 inset; }
.theme-clair .stepper { background: #fff; border-color: #d8cfbd; }
.theme-clair .stepper button { color: #1b1813; }
.theme-clair .total-line strong { color: #1b1813; }
.theme-clair .info-tabs .content { color: #3d372d; }
.theme-clair .info-tabs summary::after { color: var(--gold); }
.theme-clair .allergen { color: #1b1813; text-decoration: underline; text-decoration-color: var(--gold-dark); text-underline-offset: 3px; }
.theme-clair .notice-info { background: #fff; }
.theme-clair .notice-warn { background: #fff7e6; border-color: #efcf8a; color: #4a3608; }
.theme-clair .notice-success { background: #eef8f1; border-color: #9fd3b0; color: #1d4a2c; }

/* Panier et commande */
.theme-clair .cart-line img { background: #f6f2ea; border: 1px solid var(--line); }
.theme-clair .summary, .theme-clair .card-box { background: #fff; border-color: var(--line); box-shadow: var(--shadow-sm); }
.theme-clair .summary-total span:last-child { color: #1b1813; }
.theme-clair .ship-choice > label { background: #fff; border-color: #ddd3c0; }
.theme-clair .ship-choice > label:has(input:checked) { border-color: #1b1813; box-shadow: 0 0 0 1px #1b1813 inset; }
.theme-clair .secure-note svg { color: #2e7d4f; }

/* Pages d'information */
.theme-clair .prose p, .theme-clair .prose li, .theme-clair .faq details p, .theme-clair .steps li,
.theme-clair .event-body p { color: #3d372d; }
.theme-clair .prose .todo { background: #fbf0d6; color: #6b4d0f; }
.theme-clair .faq details { background: #fff; box-shadow: var(--shadow-sm); }
.theme-clair .faq summary::marker { color: var(--gold); }
.theme-clair .gold-note { color: #8a6516; }

/* Bandeau cookies */
.theme-clair .cookie-notice { background: #fff; border-color: #e3cf9c; color: var(--white); }

/* Pied de page : noir et or, comme l'identité d'origine (les couleurs « sombres » y sont rétablies) */
.theme-clair .site-footer {
  --white: #fbf8f1; --muted: #b9b09d; --line: #2e2a20; --gold: #d4a437; --gold-light: #f3d27a;
  background: #0c0b09; color: #fbf8f1; border-top: 0; box-shadow: inset 0 3px 0 #c9a24a; padding-top: 52px;
}
.theme-clair .site-footer a { color: #ddd5c4; }
.theme-clair .site-footer a:hover { color: #f3d27a; }

/* Prestations événementielles : version lumineuse, le rose des stands est conservé */
.theme-clair .ev { --ev-text: #3d372d; --rose-light: #d81f6f; }
.theme-clair .ev .btn-outline, .theme-clair .ev-sticky .btn-outline { background: #fff; }
.theme-clair .ev-hero { background: #fffdf9; }
.theme-clair .ev-hero-shade { background: linear-gradient(90deg, rgba(255, 253, 249, .97) 0%, rgba(255, 253, 249, .88) 36%, rgba(255, 253, 249, .3) 62%, rgba(255, 253, 249, 0) 80%), linear-gradient(0deg, #faf7f2 0%, rgba(250, 247, 242, 0) 26%); }
.theme-clair .ev-crumb { color: var(--muted); text-shadow: none; }
.theme-clair .ev-crumb a { color: #7f5c14; }
.theme-clair .ev-brand { text-shadow: none; }
.theme-clair .ev-brand .gold { filter: none; }
.theme-clair .ev-badges { color: #4a4338; }
.theme-clair .ev-services { background: radial-gradient(ellipse at 50% 0%, rgba(243, 210, 122, .2), transparent 60%), #faf7f2; }
.theme-clair .ev-card { background: #fff; box-shadow: var(--shadow-sm); }
.theme-clair .ev-card-media::after { background: linear-gradient(0deg, rgba(20, 17, 12, .35), transparent); }
.theme-clair .ev-card-num { background: rgba(255, 255, 255, .9); color: #7f5c14; border-color: rgba(212, 164, 55, .6); }
.theme-clair .ev-card-placeholder { background: repeating-linear-gradient(45deg, #f6f1e7 0 12px, #efe8da 12px 24px); }
.theme-clair .ev-combo, .theme-clair .ev-occasions, .theme-clair .events-band { background: #fff; }
.theme-clair .ev-combo-media img { box-shadow: 0 24px 50px rgba(46, 36, 16, .18); }
.theme-clair .ev-composer { background: #faf7f2; }
.theme-clair .ev-composer legend { color: #1b1813; }
.theme-clair .ev-pick span { background: #fff; }
.theme-clair .ev-pick input:checked + span { color: #1b1813; background: rgba(232, 51, 127, .1); }
.theme-clair .ev-turnkey { background: radial-gradient(ellipse at 15% 20%, rgba(232, 51, 127, .08), transparent 55%), radial-gradient(ellipse at 85% 80%, rgba(243, 210, 122, .25), transparent 55%), #faf7f2; }
.theme-clair .ev-feature { background: #fff; box-shadow: var(--shadow-sm); }
.theme-clair .ev-feature svg { stroke: #9a7120; background: #fbf3df; border-color: #ecd9a8; }
.theme-clair .ev-occasion { background: #faf7f2; }
.theme-clair .ev-occasion:hover { background: linear-gradient(135deg, rgba(232, 51, 127, .08), #fff); }
.theme-clair .ev-quote { background: radial-gradient(ellipse at 50% 0%, rgba(243, 210, 122, .22), transparent 55%), #faf7f2; }
.theme-clair .ev-form { background: #fff; border-color: #e6d7b0; box-shadow: var(--shadow-sm); }
.theme-clair .ev-step legend { color: #1b1813; }
.theme-clair .ev-form .service-choice, .theme-clair .service-choice { background: #fff; }
.theme-clair .ev-timeline li::before { color: #7f5c14; background: #fff; }
.theme-clair .ev-contact-link { color: #1b1813; }

/* Mobile : lisibilité, boutons d'achat bien visibles */
@media (max-width: 860px) {
  .theme-clair .main-nav { background: #fff; box-shadow: 0 14px 30px rgba(46, 36, 16, .12); }
  .theme-clair .main-nav a { border-bottom-color: #f0e9dc; }
  .theme-clair .main-nav a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--gold); }
  .theme-clair .filters { background: #fff; box-shadow: var(--shadow-sm); }
  .theme-clair .buy-sticky { background: rgba(255, 255, 255, .97); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(46, 36, 16, .1); }
  .theme-clair .buy-sticky-info strong { color: #1b1813; }
}
@media (max-width: 760px) {
  .theme-clair .ev-hero-shade { background: linear-gradient(0deg, #faf7f2 0, #faf7f2 56px, rgba(250, 247, 242, 0) 48%); }
  .theme-clair .ev-sticky { background: rgba(255, 255, 255, .96); border-top-color: var(--line); box-shadow: 0 -8px 24px rgba(46, 36, 16, .1); }
}
@media (max-width: 560px) {
  .theme-clair .product-grid, .theme-clair .catalog-grid { gap: 12px; }
  .theme-clair .product-card { box-shadow: 0 1px 6px rgba(46, 36, 16, .06); }
  .theme-clair .product-name { font-size: .97rem; line-height: 1.28; }
  .theme-clair .price { font-size: 1.1rem; }
}

/* Bouton rose des prestations : rose un peu plus profond pour un texte blanc lisible (contraste ≥ 4,5:1) */
.theme-clair .btn-pink { background: #d01f6a; }
.theme-clair .btn-pink:hover { background: #b8185c; }
