/* Gestalt Thérapie & Hypnose — compléments au design Elementor V4 (variables et classes globales gh-*). */
:root {
	--gh-creme: #F9F0E7; --gh-sable: #F3E4D4; --gh-blanc: #FFFBF6; --gh-peche: #F2CDB0;
	--gh-terracotta: #C4432A; --gh-terracotta-fonce: #A3301B; --gh-brique: #8E2414;
	--gh-titre: #4E1D14; --gh-texte: #5C4A43; --gh-texte-doux: #7D665D; --gh-bordure: #E9D6C4;
	--gh-sombre: #3B1A13; --gh-sur-sombre: #EAD9CB;
	--gh-serif: "Hedvig Letters Serif", Georgia, serif;
	--gh-sans: "Open Sans", system-ui, sans-serif;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { background: var(--gh-creme); color: var(--gh-texte); font-family: var(--gh-sans); -webkit-font-smoothing: antialiased; }
::selection { background: var(--gh-peche); color: var(--gh-titre); }
a { color: var(--gh-terracotta-fonce); }
:focus-visible { outline: 2px solid var(--gh-terracotta); outline-offset: 3px; border-radius: 4px; }

/* Pastille de surtitre : point terracotta comme le modèle */
.gh-pastille::before, .gh-pastille-lien::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gh-terracotta); margin-right: 8px; flex: 0 0 auto; }
.gh-pastille-lien { display: inline-flex; align-items: center; font: 600 12px/1.2 var(--gh-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--gh-brique); background: var(--gh-sable); border-radius: 999px; padding: 7px 14px; text-decoration: none; }
a.gh-pastille-lien:hover { background: var(--gh-peche); }

/* Puces : petite spirale */
.gh-puce::before { content: ""; position: absolute; left: 0; top: .42em; width: 16px; height: 16px; background: url(gh-spirale.png) center/contain no-repeat; }
.gh-puce strong { color: var(--gh-titre); }

/* Liens dans les paragraphes atomiques */
.e-paragraph-base a, .gh-texte a, .gh-texte-intro a { color: var(--gh-terracotta-fonce); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.e-paragraph-base a:hover { color: var(--gh-brique); }

/* En-tête collant */
.gh-header { position: sticky; top: 0; z-index: 50; transition: box-shadow .25s; }
.admin-bar .gh-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gh-header { top: 0; } }
.gh-header.is-scrolled, .gh-header:has(+ *):hover { box-shadow: 0 6px 24px -18px rgba(78, 29, 20, .45); }
.gh-header .elementor-nav-menu--main .elementor-item { font-family: var(--gh-sans); }
.gh-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--gh-terracotta-fonce) !important; }
.gh-header .elementor-nav-menu--dropdown { border-radius: 18px; box-shadow: 0 18px 40px -24px rgba(78, 29, 20, .5); overflow: hidden; }
.gh-header .elementor-menu-toggle { border-radius: 999px; }
/* Le bouton RDV du menu (dernier élément) en pastille */
.gh-header .elementor-nav-menu--main .menu-item.gh-menu-rdv > a { background: var(--gh-terracotta); color: #fff !important; border-radius: 999px; padding: 11px 22px !important; margin-left: 8px; }
.gh-header .elementor-nav-menu--main .menu-item.gh-menu-rdv > a:hover { background: var(--gh-terracotta-fonce); }
.gh-header .elementor-nav-menu--main .menu-item.gh-menu-rdv > a::after { display: none; }

/* Photos et décor */
.gh-spirale-deco { pointer-events: none; }
#gh-cta::after { content: ""; position: absolute; right: -60px; bottom: -70px; width: 280px; height: 260px; background: url(gh-spirale.png) center/contain no-repeat; opacity: .12; transform: rotate(-12deg); }
#gh-cta > * { position: relative; z-index: 1; }

/* Cartes d'articles */
.gh-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.gh-articles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1024px) { .gh-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .gh-articles, .gh-articles--2 { grid-template-columns: 1fr; } }
.gh-carte-article { position: relative; display: flex; flex-direction: column; background: var(--gh-blanc); border: 1px solid var(--gh-bordure); border-radius: 24px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.gh-carte-article:hover { transform: translateY(-3px); box-shadow: 0 22px 40px -30px rgba(78, 29, 20, .55); }
.gh-carte-article__visuel { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--gh-sable); }
.gh-carte-article__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gh-carte-article:hover .gh-carte-article__img { transform: scale(1.03); }
.gh-carte-article__corps { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 26px; flex: 1; }
.gh-carte-article__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; font: 600 12px/1.3 var(--gh-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gh-texte-doux); }
.gh-carte-article__rubrique { color: var(--gh-brique); }
.gh-carte-article__titre { margin: 0; font: 400 24px/1.25 var(--gh-serif); color: var(--gh-titre); }
.gh-carte-article__titre a { color: inherit; text-decoration: none; }
.gh-carte-article__titre a::after { content: ""; position: absolute; inset: 0; } /* carte entièrement cliquable */
.gh-carte-article__extrait { margin: 0; font-size: 15px; line-height: 1.6; color: var(--gh-texte); }
.gh-carte-article__lire { margin-top: auto; padding-top: 6px; font: 600 14px var(--gh-sans); color: var(--gh-terracotta-fonce); }
.gh-vide { font-style: italic; }

.gh-filtres { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-filtres a { padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--gh-bordure); color: var(--gh-titre); text-decoration: none; font: 600 14px var(--gh-sans); background: var(--gh-blanc); }
.gh-filtres a:hover { border-color: var(--gh-terracotta); }
.gh-filtres a[aria-current] { background: var(--gh-terracotta); border-color: var(--gh-terracotta); color: #fff; }
.gh-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap; }
.gh-pagination .page-numbers { padding: 9px 16px; border-radius: 999px; background: var(--gh-blanc); border: 1px solid var(--gh-bordure); color: var(--gh-titre); text-decoration: none; }
.gh-pagination .current { background: var(--gh-terracotta); color: #fff; border-color: var(--gh-terracotta); }

/* Article */
.gh-article-entete { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.gh-article-entete__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 18px; margin: 0; font: 600 13px var(--gh-sans); color: var(--gh-texte-doux); }
.gh-article-entete__titre { margin: 0; font: 400 clamp(36px, 5vw, 62px)/1.08 var(--gh-serif); color: var(--gh-titre); max-width: 18ch; }
.gh-article-entete__chapeau { margin: 0; font-size: 19px; line-height: 1.6; max-width: 40rem; }
.gh-article-visuel { margin: 40px 0 0; border-radius: 28px; overflow: hidden; aspect-ratio: 21 / 9; }
.gh-article-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 680px) { .gh-article-visuel { aspect-ratio: 4 / 3; border-radius: 20px; } }
.gh-prose { font-size: 18px; line-height: 1.8; color: var(--gh-texte); }
.gh-prose > * + * { margin-top: 1.1em; }
.gh-prose h2 { font: 400 34px/1.2 var(--gh-serif); color: var(--gh-titre); margin-top: 1.8em; }
.gh-prose h3 { font: 400 25px/1.25 var(--gh-serif); color: var(--gh-titre); margin-top: 1.5em; }
.gh-prose ul, .gh-prose ol { padding-left: 1.3em; }
.gh-prose li + li { margin-top: .4em; }
.gh-prose li::marker { color: var(--gh-terracotta); }
.gh-prose blockquote { margin: 2em 0; padding: 26px 30px; border-left: 3px solid var(--gh-terracotta); background: var(--gh-sable); border-radius: 0 20px 20px 0; font: 400 22px/1.5 var(--gh-serif); color: var(--gh-titre); }
.gh-prose blockquote p { margin: 0; }
.gh-prose a { color: var(--gh-terracotta-fonce); text-underline-offset: 3px; }
.gh-auteure { display: flex; gap: 22px; align-items: flex-start; padding: 30px; border-radius: 24px; background: var(--gh-sable); }
.gh-auteure img { flex: 0 0 auto; }
.gh-auteure p { margin: 0 0 8px; }
.gh-auteure__nom { font: 400 24px var(--gh-serif); color: var(--gh-titre); }
.gh-auteure__liens { display: flex; gap: 18px; flex-wrap: wrap; font-weight: 600; }
@media (max-width: 560px) { .gh-auteure { flex-direction: column; } }
.gh-lies { margin-top: 56px; }
.gh-lies__titre { font: 400 34px var(--gh-serif); color: var(--gh-titre); margin: 0 0 24px; }
.gh-archive-entete { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.gh-pastille-lien--fixe { margin: 0; }
.gh-archive-entete__titre { margin: 0; font: 400 clamp(42px, 6vw, 76px)/1.05 var(--gh-serif); color: var(--gh-titre); }
.gh-archive-entete__desc { font-size: 19px; line-height: 1.65; max-width: 42rem; }

/* FAQ */
.gh-faq { display: flex; flex-direction: column; gap: 12px; }
.gh-faq__item { background: var(--gh-blanc); border: 1px solid var(--gh-bordure); border-radius: 20px; padding: 0 24px; }
.gh-faq__item[open] { background: var(--gh-sable); border-color: var(--gh-sable); }
.gh-faq__item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font: 400 20px/1.35 var(--gh-serif); color: var(--gh-titre); }
.gh-faq__item summary::-webkit-details-marker { display: none; }
.gh-faq__item summary::after { content: "+"; flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--gh-blanc); display: grid; place-items: center; font: 400 20px var(--gh-sans); color: var(--gh-terracotta); }
.gh-faq__item[open] summary::after { content: "–"; }
.gh-faq__reponse { padding: 0 0 20px; font-size: 16px; line-height: 1.7; }
.gh-faq__reponse p { margin: 0 0 .6em; }

/* Formulaires atomiques */
.e-form-success-message, .e-form-error-message { border-radius: 16px; padding: 16px 20px; }
.gh-champ::placeholder { color: #A99189; }
.gh-champ:focus { border-color: var(--gh-terracotta) !important; outline: none; box-shadow: 0 0 0 3px rgba(196, 67, 42, .15); }
select.gh-champ { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C4432A' stroke-width='1.8'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 16px center !important; padding-right: 40px !important; }

/* Tarifs */
.gh-prix { font-family: var(--gh-serif); }

/* Pied de page */
.gh-footer a { color: var(--gh-sur-sombre); }
.gh-footer a:hover { color: #fff; }
.gh-footer .elementor-nav-menu a { padding-left: 0 !important; }
.gh-copy { margin: 0; font-size: 14px; color: var(--gh-sur-sombre); opacity: .8; }

/* Mot mis en valeur dans les grands titres : écriture du logo (Hedvig n'a pas d'italique) */
.gh-titre-page em, .gh-titre-section em { font-family: "Allura", cursive; font-style: normal; font-weight: 400; color: var(--gh-terracotta); font-size: 1.22em; line-height: .9; }

/* Menu sur une ligne entre 1025 et 1300 px : items resserrés, « Accueil » masqué (le logo y mène) */
@media (min-width: 1025px) and (max-width: 1300px) {
	.gh-header .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item { font-size: 14px !important; padding-left: 7px !important; padding-right: 7px !important; }
	.gh-header .elementor-nav-menu--main > .elementor-nav-menu > li:first-child { display: none; }
	.gh-header .elementor-nav-menu--main .menu-item.gh-menu-rdv > a { padding: 10px 18px !important; }
}
