/*
Theme Name: Yaqine
Theme URI: https://yaqine.fr
Author: Yaqine
Description: Thème WordPress sur mesure pour Yaqine — accompagnement psycho-spirituel réservé aux femmes. Palette vert profond, or et crème ; typographies Cormorant Garamond et Montserrat. Thème en blocs (Full Site Editing) : tout se modifie depuis Apparence › Éditeur.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.2.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yaqine
Tags: block-patterns, full-site-editing, one-column, custom-colors, custom-logo
*/

/* ---------- Réglages globaux ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

a { text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Petites capitales espacées (sur-titres) */
.yq-eyebrow, .is-style-yq-eyebrow {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--wp--preset--color--or);
}

/* Boutons */
.wp-block-button__link {
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 1.05em 2em;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.wp-block-button__link:hover { background-color: var(--wp--preset--color--or); color: var(--wp--preset--color--encre); }
.is-style-outline .wp-block-button__link { border-width: 1px; }
.is-style-outline .wp-block-button__link:hover { background-color: var(--wp--preset--color--vert); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--vert); }
.yq-btn-or .wp-block-button__link, .is-style-yq-btn-or .wp-block-button__link { background-color: var(--wp--preset--color--or); color: var(--wp--preset--color--encre); }
.yq-btn-or .wp-block-button__link:hover, .is-style-yq-btn-or .wp-block-button__link:hover { background-color: var(--wp--preset--color--creme); color: var(--wp--preset--color--vert); }

/* Cartes */
.yq-card, .is-style-yq-card, .is-style-yq-card-creme, .is-style-yq-card-vert {
  background: var(--wp--preset--color--blanc);
  border: 1px solid rgba(31, 90, 74, 0.10);
  border-radius: 24px;
  padding: var(--wp--preset--spacing--50);
}
.yq-card-creme, .is-style-yq-card-creme { background: var(--wp--preset--color--creme); border: none; }
.yq-card-vert, .is-style-yq-card-vert { background: var(--wp--preset--color--vert); color: var(--wp--preset--color--creme); border: none; }
.yq-card-vert h3, .yq-card-vert h2, .yq-card-vert p, .is-style-yq-card-vert h3, .is-style-yq-card-vert h4, .is-style-yq-card-vert h2, .is-style-yq-card-vert p, .is-style-yq-card-vert li { color: var(--wp--preset--color--creme); }

/* Citations (reconnaître l'emprise) */
.yq-quote-tile, .is-style-yq-quote-tile {
  background: var(--wp--preset--color--blanc);
  border: 1px solid rgba(31, 90, 74, 0.10);
  border-radius: 16px;
  padding: 1.5rem;
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 1.35rem;
  line-height: 1.35;
  color: var(--wp--preset--color--vert);
}

/* Témoignages */
.yq-testimonial .wp-block-quote { border: none; padding: 0; margin: 0; }
.yq-testimonial .wp-block-quote p { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.35rem; line-height: 1.4; }
.yq-testimonial .wp-block-quote cite { font-family: var(--wp--preset--font-family--montserrat); font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--or); font-style: normal; font-weight: 500; }

/* Encadré d'avertissement */
.yq-notice, .is-style-yq-notice {
  border-left: 2px solid var(--wp--preset--color--or);
  padding-left: 1rem;
  font-size: 0.9rem;
  color: var(--wp--preset--color--gris);
}

/* Visuel héro arrondi */
.yq-hero-image img { border-radius: 230px 230px 24px 24px; box-shadow: 0 30px 60px rgba(31, 90, 74, 0.18); }

/* Pastilles numérotées */
.yq-step-number {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--wp--preset--color--vert); color: var(--wp--preset--color--creme);
  font-family: var(--wp--preset--font-family--cormorant); font-size: 1.4rem;
}

/* Navigation */
.wp-block-navigation a { font-family: var(--wp--preset--font-family--montserrat); font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; }
.wp-block-navigation a:hover { color: var(--wp--preset--color--or); }

/* Module de réservation (Amelia / Bookly) — harmonisation des couleurs */
.amelia-app-booking, .amelia-v2-booking { font-family: var(--wp--preset--font-family--montserrat) !important; }

/* Mobile */
@media (max-width: 781px) {
  .yq-hero-image img { border-radius: 160px 160px 20px 20px; }
  .yq-quote-tile, .is-style-yq-quote-tile { font-size: 1.15rem; }
}

/* Cartes : les sur-titres restent or, les boutons or lisibles sur fond vert */
.is-style-yq-card-vert .is-style-yq-eyebrow { color: var(--wp--preset--color--or); }
.is-style-yq-card-vert .wp-block-button__link { background: var(--wp--preset--color--or); color: var(--wp--preset--color--encre); }
/* Cartes empilées : espace entre deux cartes */
.is-style-yq-card + .is-style-yq-card { margin-top: 1.25rem; }
/* Formulaires (Fluent Forms, Amelia) */
.fluentform input[type=text], .fluentform input[type=email], .fluentform textarea { border-radius: 12px; border: 1px solid rgba(31,90,74,0.25); padding: 0.9rem 1rem; font-family: inherit; }
.fluentform .ff-btn-submit { background: var(--wp--preset--color--vert) !important; color: var(--wp--preset--color--creme) !important; border-radius: 999px !important; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.8rem; padding: 1em 2em; }
/* Bloc détails (FAQ) */
.wp-block-details { background: var(--wp--preset--color--blanc); border: 1px solid rgba(31,90,74,0.10); border-radius: 16px; padding: 1rem 1.25rem; }
.wp-block-details summary { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.3rem; color: var(--wp--preset--color--vert); cursor: pointer; }
/* Tuiles citation sur fond blanc : passent en crème */
.has-blanc-background-color .is-style-yq-quote-tile, .has-blanc-background-color .yq-quote-tile { background: var(--wp--preset--color--creme); border: none; }

/* ---------- v1.1 — finition « waouh » ---------- */
h1 em, h2 em, .yq-accent { font-style: italic; font-weight: 400; color: var(--wp--preset--color--or); }

/* Sur-titre avec filet doré */
.yq-eyebrow, .is-style-yq-eyebrow { display: flex; align-items: center; gap: 0.75rem; }
.yq-eyebrow::before, .is-style-yq-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--wp--preset--color--or); flex: 0 0 28px; }
.has-text-align-center.is-style-yq-eyebrow { justify-content: center; }

/* Cartes : relief et survol */
.yq-card, .is-style-yq-card, .is-style-yq-card-creme, .is-style-yq-card-vert {
  box-shadow: 0 1px 2px rgba(31,90,74,0.04), 0 12px 32px -16px rgba(31,90,74,0.18);
  transition: transform .25s ease, box-shadow .25s ease;
}
.yq-card:hover, .is-style-yq-card:hover, .is-style-yq-card-creme:hover, .is-style-yq-card-vert:hover {
  transform: translateY(-4px);
  box-shadow: 0 2px 4px rgba(31,90,74,0.05), 0 24px 48px -20px rgba(31,90,74,0.28);
}
.is-style-yq-card-vert { background: linear-gradient(160deg, #1F5A4A 0%, #163F34 100%); }

/* Prix */
.has-cormorant-font-family[style*="font-size:2rem"] { font-size: 1.7rem !important; font-weight: 500; letter-spacing: -0.01em; }

/* Boutons : plus d'air, effet lumière */
.wp-block-button__link { padding: 1.15em 2.2em; letter-spacing: 0.18em; box-shadow: 0 10px 24px -14px rgba(31,90,74,0.5); }
.wp-block-button__link:hover { transform: translateY(-1px); }
.is-style-outline .wp-block-button__link { box-shadow: none; }

/* Navigation */
.wp-block-navigation a { font-size: 0.72rem; letter-spacing: 0.2em; font-weight: 400; position: relative; }
.wp-block-navigation a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -4px; height: 1px; background: var(--wp--preset--color--or); transition: right .25s ease; }
.wp-block-navigation a:hover::after { right: 0; }
.wp-block-site-title a { text-decoration: none; }

/* Visuel héro : cadre doré décalé */
.yq-hero-image { position: relative; }
.yq-hero-image::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid rgba(201,152,58,0.55); border-radius: 230px 230px 24px 24px; pointer-events: none; }
.yq-hero-image img { position: relative; }

/* Tuiles citation : guillemet doré */
.yq-quote-tile, .is-style-yq-quote-tile { font-weight: 400; font-style: italic; font-size: 1.08rem; line-height: 1.5; padding: 1.5rem 1.6rem; }

/* Témoignages */
.yq-testimonial .wp-block-quote p { font-weight: 400; font-style: italic; font-size: 1.1rem; }
.yq-testimonial .wp-block-quote::before { content: "“"; display: block; font-family: var(--wp--preset--font-family--cormorant); font-size: 4rem; line-height: 0.6; color: var(--wp--preset--color--or); margin-bottom: 0.75rem; }

/* Pastilles numérotées */
.yq-step-number { width: 48px; height: 48px; font-size: 1.2rem; font-weight: 500; box-shadow: 0 10px 24px -14px rgba(31,90,74,0.6); }

/* Pied de page */
footer .wp-block-columns a { text-decoration: none; }
footer .wp-block-columns a:hover { color: var(--wp--preset--color--or); }

/* Texture discrète sur les sections crème */
body { background-image: radial-gradient(ellipse at top left, rgba(201,152,58,0.06), transparent 55%); background-attachment: fixed; }

@media (max-width: 781px) {
  .yq-hero-image::before { inset: 12px -10px -10px 10px; border-radius: 160px 160px 20px 20px; }
}

/* v1.2 — titres plus mesurés */
.wp-block-post-title { font-size: 2.5rem; font-weight: 400; margin-bottom: 1.25rem; max-width: 1180px; margin-left: auto; margin-right: auto; }
body:not(.page-template-page-sans-titre) .wp-block-post-content h2 { font-size: 1.5rem; font-weight: 500; margin-top: 2.25rem; margin-bottom: 0.5rem; }
body:not(.page-template-page-sans-titre) .wp-block-post-content h3 { font-size: 1.25rem; }
h2 { margin-top: 2.5rem; }
.wp-block-details summary { font-size: 1.05rem; font-weight: 500; }

/* v1.2.3 */
.has-large-font-size { line-height: 1.55; font-weight: 300; }
