/*
Theme Name:   Mayosis Child — VINADOU
Description:  Thème enfant de Mayosis pour les personnalisations VINADOU. Survit aux mises à jour du thème parent.
Author:       VINADOU
Template:     mayosis
Version:      1.0.0
Text Domain:  mayosis
*/

/* Styles personnalisés : chargés après les CSS du thème parent. */

/* ── Tokens ADN VINADOU (Kit Elementor vinadou.com) ─────────────────────── */
:root {
  --vinadou-forest:     #1C4B42; /* primaire / texte / fonds sombres */
  --vinadou-lime-ui:    #B4E717; /* fond bouton — texte forêt uniquement */
  --vinadou-lime-text:  #92C200; /* emphase — jamais sur ivoire/blanc */
  --vinadou-ivory:      #F6F5F2;
  --vinadou-white:      #FFFFFF;
  --vinadou-rule:       #0000001A;
  --vinadou-grey:       #7E7E7E;
  --vinadou-on-lime:    var(--vinadou-forest);
}

/* ── Boutons d'achat EDD ("button green" par défaut d'EDD) ──────────────── */
.edd-submit.button,
.edd-submit.button.green,
.edd-add-to-cart.button,
a.edd_go_to_checkout.button {
  background: var(--vinadou-lime-ui) !important;
  border-color: var(--vinadou-lime-ui) !important;
  color: var(--vinadou-on-lime) !important;
  font-family: 'Work Sans', sans-serif;
  font-weight: 500;
}
.edd-submit.button:hover,
.edd-submit.button.green:hover,
.edd-add-to-cart.button:hover,
a.edd_go_to_checkout.button:hover {
  background: var(--vinadou-forest) !important;
  border-color: var(--vinadou-forest) !important;
  color: var(--vinadou-white) !important;
}

/* ── Mode sombre ─────────────────────────────────────────────────────────
   Fond #0F2A25 (forêt profond), surfaces #1C4B42, texte ivoire, accents lime.
   Le thème force la couleur du texte (spans compris) en ivoire : on rétablit
   le texte forêt sur les fonds lime, seule combinaison lisible (ADN §1.6). */
body.sp-night-mode-on .edd-submit.button,
body.sp-night-mode-on .edd-add-to-cart.button,
body.sp-night-mode-on a.edd_go_to_checkout.button,
body.sp-night-mode-on .has_mayosis_dark_bg .edd-submit.button,
body.sp-night-mode-on .has_mayosis_dark_bg .edd-add-to-cart.button {
  background: var(--vinadou-lime-ui) !important;
  border-color: var(--vinadou-lime-ui) !important;
}
body.sp-night-mode-on .edd-submit.button,
body.sp-night-mode-on .edd-submit.button span,
body.sp-night-mode-on .edd-add-to-cart.button,
body.sp-night-mode-on .edd-add-to-cart.button span,
body.sp-night-mode-on a.edd_go_to_checkout.button,
body.sp-night-mode-on .single-product-widget .widget-title,
body.sp-night-mode-on .single-product-widget .widget-title i,
body.sp-night-mode-on .back-to-top,
body.sp-night-mode-on .back-to-top i {
  color: var(--vinadou-on-lime) !important;
}
body.sp-night-mode-on .edd-submit.button:hover,
body.sp-night-mode-on .edd-add-to-cart.button:hover {
  background: var(--vinadou-ivory) !important;
  border-color: var(--vinadou-ivory) !important;
}
/* Bouton newsletter Mail Mint : le thème repeint tous les boutons des blocs sombres */
body.sp-night-mode-on .has_mayosis_dark_bg button.mintmrm-btn,
body.sp-night-mode-on button.mintmrm-btn {
  background: var(--vinadou-lime-ui) !important;
  border-color: var(--vinadou-lime-ui) !important;
  color: var(--vinadou-on-lime) !important;
}
/* Bouton « Découvrir » du bandeau d'accueil (fond lime) : texte forêt */
body.sp-night-mode-on .elementor-element-4f157f9 .elementor-button,
body.sp-night-mode-on .elementor-element-4f157f9 .elementor-button span {
  color: var(--vinadou-on-lime) !important;
}
/* Barre du haut : ivoire en mode clair, non gérée par le mode sombre du thème */
body.sp-night-mode-on .header-top { background: #0B211D !important; }
body.sp-night-mode-on .header-top,
body.sp-night-mode-on .header-top a,
body.sp-night-mode-on .header-top i { color: var(--vinadou-ivory) !important; }
/* Sélecteur de langue flottant : le thème force le texte en ivoire sur son fond clair */
body.sp-night-mode-on .trp-floating-switcher,
body.sp-night-mode-on .trp-floating-switcher * { background-color: var(--vinadou-forest) !important; }
body.sp-night-mode-on .trp-floating-switcher { border-color: rgba(246,245,242,.15) !important; }
/* Fiche produit : le bandeau forêt garde un liseré pour se détacher du fond */
body.sp-night-mode-on .elementor-1298 .elementor-element-57aa225 { box-shadow: inset 0 0 0 1px rgba(246,245,242,.12); }
/* Corps des widgets de la barre latérale */
body.sp-night-mode-on .single-product-widget { background: var(--vinadou-forest) !important; }

/* ── Popup de connexion ─────────────────────────────────────────────────── */
/* Couleur de focus du plugin : violet par défaut → vert forêt */
#msv-auth-modal { --primary-color: var(--vinadou-forest); }
/* Le style global des champs du thème écrase la marge prévue pour l'icône */
#msv-auth-modal .msv-field input { padding-left: 42px !important; }
/* Le sélecteur de langue flottant passait par-dessus le bouton « Se connecter » */
body:has(#msv-auth-modal.is-open) .trp-floating-switcher { display: none !important; }
/* Mode sombre : même traitement que le popup d'achat (surface forêt, bouton lime) */
body.sp-night-mode-on .msv-auth-modal__dialog,
body.sp-night-mode-on .msv-auth-forgot-overlay { background: var(--vinadou-forest) !important; }
body.sp-night-mode-on #msv-auth-modal .msv-auth-btn { background: var(--vinadou-lime-ui) !important; }
body.sp-night-mode-on #msv-auth-modal .msv-auth-btn,
body.sp-night-mode-on #msv-auth-modal .msv-auth-btn span { color: var(--vinadou-on-lime) !important; }
body.sp-night-mode-on #msv-auth-modal .msv-forgot-trigger { color: var(--vinadou-lime-ui) !important; }
/* --primary-color colore aussi l'en-tête du popup : on règle le focus à part */
body.sp-night-mode-on #msv-auth-modal .msv-field input:focus {
  border-color: var(--vinadou-lime-ui) !important;
  box-shadow: 0 0 0 3px rgba(180,231,23,.2) !important;
}
body.sp-night-mode-on #msv-auth-modal .msv-field:focus-within .msv-field__icon { color: var(--vinadou-lime-ui) !important; }

/* ── Popup « Acheter maintenant » (EDD Stripe) ───────────────────────── */
.edds-modal__container { border-radius: 18px; overflow: hidden; }
.edds-modal__container .edd-submit.button[disabled] { opacity: .55; }
/* Mode sombre : le thème passe tous les textes en ivoire mais laisse le fond
   du popup blanc — on lui donne la surface forêt. */
body.sp-night-mode-on .edds-modal__container { background: var(--vinadou-forest) !important; }
body.sp-night-mode-on .edds-modal__header {
  background: #0F2A25 !important;
  border-bottom-color: rgba(246,245,242,.12) !important;
}
body.sp-night-mode-on .edds-modal__close {
  background: transparent !important;
  border: 1px solid rgba(246,245,242,.35) !important;
  color: var(--vinadou-ivory) !important;
}
body.sp-night-mode-on .edds-modal__close svg,
body.sp-night-mode-on .edds-modal__close svg * { stroke: var(--vinadou-ivory) !important; fill: none; }
body.sp-night-mode-on .edds-modal__container a.edd_terms_links { color: var(--vinadou-lime-ui) !important; }

/* ── Bouton de la vignette produit : défaut widget bleu #1e3c78 ─────────── */
.mayosis-single-p-thumbnail .ghost_button {
  background: var(--vinadou-forest);
  border-color: var(--vinadou-forest);
  color: var(--vinadou-white);
}
.mayosis-single-p-thumbnail .ghost_button:hover {
  background: var(--vinadou-lime-ui) !important;
  border-color: var(--vinadou-lime-ui) !important;
  color: var(--vinadou-on-lime) !important;
}

/* ── Widgets de la fiche produit : l'ADN n'utilise jamais 600/700 ──────── */
.single-product-widget .widget-title { font-weight: 500; letter-spacing: .04em; }
.single-product-widget .widget-title,
.single-product-widget .widget-title i { color: var(--vinadou-white); }

/* ── Accueil : avatars « Parcourir par créations » en cercles parfaits ──── */
/* Grille Elementor a2e4ca3 (page Accueil) — images sources en 3:2, recadrées en carré */
.elementor-element-a2e4ca3 .elementor-image-box-wrapper .elementor-image-box-img {
  width: 160px !important;
  max-width: 100%;
}
.elementor-element-a2e4ca3 .elementor-image-box-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 30%;
  border-radius: 50% !important;
}

/* "Autres produits du même auteur" : titre et grille masqués quand la grille est vide */
.elementor-widget-heading:has(+ .elementor-widget-mayosis-same-author-products):not(:has(+ .elementor-widget-mayosis-same-author-products .product-masonry > *)),
.elementor-widget-mayosis-same-author-products:not(:has(.product-masonry > *)) { display: none; }

/* Bloc Tags masqué quand le produit n'a aucun tag */
.dm_product_tag_widget:not(:has(.tag_widget_single a)) { display: none; }
