/*
Theme Name: SelmaVia
Theme URI: https://selmavia.fr
Author: Thibaut Papin — Web design & SEO
Author URI: https://thibautpapin.com
Description: Thème sur mesure pour SelmaVia, Corps & Âme — soins énergétiques, magnétisme et harmonisation à Écully et Lyon.
Version: 1.0.10
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: selmavia
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull, .wp-block-post-content > section, main.wp-block-group > .wp-block-post-content { margin-block-start: 0 !important; }
.sv-hero .wp-block-group:has(> .wp-block-buttons) { display: flex; flex-flow: row wrap; align-items: center; gap: 16px 28px; }
.sv-hero .wp-block-group:has(> .wp-block-buttons) > * { margin: 0 !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--brun); outline-offset: 3px;
}
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { height: auto; }

/* ---------- Boutons ---------- */
.wp-block-button__link { transition: background-color .2s ease, filter .2s ease; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--brun);
	border: 1.5px solid currentColor; padding: 16px 34px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(64,42,8,.06); color: var(--wp--preset--color--brun); }

/* Lien flèche (paragraphe avec la classe sv-fleche) */
.sv-fleche a, a.sv-fleche {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
	font-size: 18px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
	text-decoration: none; color: var(--wp--preset--color--brun);
}
.sv-fleche a::after, a.sv-fleche::after {
	content: ""; width: 18px; height: 12px; flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12' fill='none'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12' fill='none'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .2s ease;
}
.sv-fleche a:hover, a.sv-fleche:hover { color: #A4531F; }
.sv-fleche a:hover::after, a.sv-fleche:hover::after { transform: translateX(3px); }
.sv-fleche { margin: 0; }

/* ---------- Petits titres avec étoile ---------- */
.sv-surtitre {
	display: flex; align-items: center; gap: 12px; margin: 0;
	font-size: 18px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
	color: var(--wp--preset--color--or-texte);
}
.sv-surtitre::before, .sv-etoile::before {
	content: ""; width: 20px; height: 20px; flex-shrink: 0; background: var(--wp--preset--color--or);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3Cpath d='M12.5 12.5L27.5 27.5M27.5 12.5L12.5 27.5' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3Cpath d='M12.5 12.5L27.5 27.5M27.5 12.5L12.5 27.5' stroke='black' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.has-text-align-center.sv-surtitre { justify-content: center; }
.sv-sauge .sv-surtitre, .sv-surtitre.sur-sauge { color: var(--wp--preset--color--olive); }
.sv-sauge .sv-surtitre::before { background: var(--wp--preset--color--olive); }

/* Filet décoratif centré (── ✦ ──) */
.sv-filet { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 auto; }
.sv-filet::before, .sv-filet::after { content: ""; width: 72px; height: 1px; background: var(--wp--preset--color--or); }
.sv-filet { font-size: 0; }
.sv-filet span, .sv-filet .sv-etoile { display: inline-flex; }
.sv-filet .sv-etoile::before { width: 26px; height: 26px; }

/* ---------- Sections ---------- */
.sv-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.sv-section.is-compact { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.sv-sauge { background: var(--wp--preset--color--sauge); color: var(--wp--preset--color--brun); }
.sv-creme { background: var(--wp--preset--color--creme); }
.sv-blanc { background: #fff; border-top: 1px solid rgba(64,42,8,.12); border-bottom: 1px solid rgba(64,42,8,.12); }

/* ---------- Hero ---------- */
.sv-hero { padding-top: clamp(32px, 5vw, 72px) !important; padding-bottom: clamp(48px, 6vw, 88px) !important; }
.sv-hero h1 { margin-top: 18px; }
.sv-hero .sv-chapo { font-size: clamp(20px, 1.6vw, 23px); max-width: 560px; }
/* Hero sans photo : le chapô garde la largeur du conteneur (aligné à gauche avec le titre et le bouton), la mesure de lecture est limitée par un padding */
.sv-hero > .sv-chapo, .sv-hero > .sv-mention { max-width: 1200px !important; box-sizing: border-box; padding-right: max(0px, calc(100% - 620px)); }

/* Image avec cadre doré décalé */
.sv-cadre { position: relative; margin: 0 24px 24px 0 !important; }
.sv-cadre img { position: relative; z-index: 1; border-radius: 4px; display: block; width: 100%; object-fit: cover; }
.sv-cadre::after {
	content: ""; position: absolute; inset: 24px -24px -24px 24px; border: 1px solid var(--wp--preset--color--or); border-radius: 4px; z-index: 0;
}
.sv-cadre.ratio-portrait img { aspect-ratio: 4 / 5; }
.sv-cadre.ratio-paysage img { aspect-ratio: 5 / 4; }
.sv-photo img { border-radius: 4px; display: block; width: 100%; object-fit: cover; }
.sv-photo.ratio-portrait img { aspect-ratio: 4 / 5; }
.sv-photo.ratio-paysage img { aspect-ratio: 16 / 11; }

/* ---------- Bandeau de repères ---------- */
.sv-reperes { padding-top: 26px !important; padding-bottom: 26px !important; }
.sv-reperes p {
	margin: 0; display: flex; align-items: center; gap: 14px;
	font-size: 19px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--brun);
}
.sv-reperes p::before { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: var(--wp--preset--color--olive);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3C/svg%3E") no-repeat center / contain; }

/* ---------- Cartes d'accompagnement ---------- */
.sv-cartes { gap: 24px !important; }
.sv-carte {
	background: var(--wp--preset--color--sable-clair); border: 1px solid rgba(64,42,8,.14);
	border-top: 3px solid var(--wp--preset--color--sauge); border-radius: 4px;
	padding: clamp(28px, 3vw, 40px) clamp(24px, 2.6vw, 36px) !important;
	display: flex; flex-direction: column; gap: 12px; height: 100%;
}
.sv-carte h3 { margin: 6px 0 0; font-size: 28px; }
.sv-carte p { margin: 0; }
.sv-carte .sv-liens { margin-top: auto !important; padding-top: 10px; display: flex; flex-direction: column; gap: 0; }
.sv-liens > * { margin: 0 !important; }
.sv-liens .sv-fleche a { min-height: 40px; }
.sv-icone { width: 32px; height: 32px; display: block; color: var(--wp--preset--color--brun); }
.sv-icone svg { width: 32px; height: 32px; display: block; }

/* Badge offre */
.sv-offre {
	display: flex !important; width: fit-content; max-width: 100%; align-items: center; gap: 14px; margin-inline: auto !important;
	padding: 16px 30px; border: 1px solid var(--wp--preset--color--or); border-radius: 999px;
	background: var(--wp--preset--color--sauge); color: var(--wp--preset--color--brun); font-size: 19px; line-height: 1.35;
}
.sv-offre::before { content: "✦"; color: var(--wp--preset--color--olive); font-size: 18px; }

/* ---------- Parcours ---------- */
.sv-liste-etoiles { list-style: none; padding-left: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.sv-liste-etoiles li { position: relative; padding-left: 32px; line-height: 1.4; }
.sv-liste-etoiles li::before {
	content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: var(--wp--preset--color--or);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 1L21.9 18.1L39 20L21.9 21.9L20 39L18.1 21.9L1 20L18.1 18.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.sv-sauge .sv-liste-etoiles li::before { background: var(--wp--preset--color--olive); }
.sv-signature { font-family: var(--wp--preset--font-family--signature); font-size: 44px; line-height: 1.1; color: #9A7C3C; margin: 8px 0 0 !important; }
.sv-badge-logo { position: absolute !important; right: -6px; bottom: -6px; width: clamp(96px, 11vw, 150px) !important; z-index: 2; margin: 0 !important; }
.sv-portrait { position: relative; }

/* ---------- Éthique / encadrés ---------- */
.sv-encadre {
	background: #fff; border: 1px solid rgba(64,42,8,.16); border-radius: 12px;
	padding: 28px !important; height: 100%; display: flex; flex-direction: column; gap: 10px;
}
.sv-encadre h3, .sv-encadre h4 { margin: 0; font-size: 24px; }
.sv-encadre p { margin: 0; font-size: 19px; }
.sv-encadre.sur-sauge { background: rgba(255,255,255,.35); border-color: rgba(64,42,8,.25); }

/* ---------- Témoignages ---------- */
.sv-temoignage {
	background: var(--wp--preset--color--ivoire); border: 1px solid rgba(64,42,8,.14); border-radius: 4px;
	padding: 36px !important; height: 100%; display: flex; flex-direction: column; gap: 18px; margin: 0;
}
.sv-temoignage::before { content: ""; width: 32px; height: 2px; background: var(--wp--preset--color--or); display: block; }
.sv-temoignage.accent-rose::before { background: #E8C0BD; }
.sv-temoignage .sv-citation { font-family: var(--wp--preset--font-family--titres); font-size: 24px; line-height: 1.45; margin: 0; }
.sv-temoignage .sv-auteur { font-size: 15px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--or-texte); margin: 0; }

/* ---------- Étapes numérotées ---------- */
.sv-etapes { counter-reset: etape; gap: 24px !important; }
.sv-etape { border-top: 1px solid var(--wp--preset--color--or); padding-top: 22px !important; counter-increment: etape; }
.sv-etape::before { content: counter(etape, decimal-leading-zero); display: block; font-family: var(--wp--preset--font-family--titres); font-size: 48px; line-height: 1; color: var(--wp--preset--color--or); margin-bottom: 10px; }
.sv-sauge .sv-etape { border-color: var(--wp--preset--color--olive); }
.sv-sauge .sv-etape::before { color: var(--wp--preset--color--olive); }
.sv-etape h3 { font-size: 27px; margin: 0 0 8px; }
.sv-etape p { margin: 0; font-size: 19px; }

/* ---------- Infos pratiques (durée, tarif, lieu) ---------- */
.sv-infos {
	background: #fff; border: 1px solid rgba(64,42,8,.18); border-radius: 12px;
	padding: 28px 36px !important; gap: 0 !important; align-items: center !important;
}
.sv-sauge .sv-infos { background: rgba(255,255,255,.35); border-color: rgba(64,42,8,.25); }
.sv-info { border-left: 1px solid var(--wp--preset--color--or); padding: 4px 24px !important; }
.sv-info .sv-info-label { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--or-texte); }
.sv-sauge .sv-info .sv-info-label { color: var(--wp--preset--color--olive); }
.sv-info .sv-info-valeur { margin: 2px 0 0; font-family: var(--wp--preset--font-family--titres); font-size: 26px; line-height: 1.2; }

/* Liste de motifs */
.sv-motifs { background: #fff; border: 1px solid var(--wp--preset--color--or); border-radius: 12px; padding: 32px 36px !important; }
.sv-sauge .sv-motifs { background: rgba(255,255,255,.35); border-color: rgba(64,42,8,.3); }
.sv-motifs h3 { margin: 0 0 14px; font-size: 28px; }

/* ---------- FAQ ---------- */
.sv-faq details { border-top: 1px solid rgba(64,42,8,.22); padding: 22px 0; }
.sv-faq details:last-child { border-bottom: 1px solid rgba(64,42,8,.22); }
.sv-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 44px;
	font-family: var(--wp--preset--font-family--titres); font-size: 25px; line-height: 1.25;
}
.sv-faq summary::-webkit-details-marker { display: none; }
.sv-faq summary::after { content: "+"; font-family: var(--wp--preset--font-family--corps); font-size: 30px; line-height: 1; flex-shrink: 0; transition: transform .2s; }
.sv-faq details[open] summary::after { transform: rotate(45deg); }
.sv-faq details p { margin: 14px 0 0; max-width: 680px; }

/* ---------- Bandeau d'appel à l'action ---------- */
.sv-appel { text-align: center; }
.sv-appel h2 { margin: 0; }

/* ---------- Mentions ---------- */
.sv-mention { font-size: 17px; color: var(--wp--preset--color--gris-brun); }

/* ---------- En-tête ---------- */
.sv-entete { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--ivoire); border-bottom: 1px solid rgba(64,42,8,.14); }
.admin-bar .sv-entete { top: 32px; }
@media (max-width: 782px) { .admin-bar .sv-entete { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sv-entete { top: 0; } }
.sv-entete-in { min-height: 96px; }
.sv-logo { display: flex; align-items: center; gap: 14px; text-decoration: none !important; color: var(--wp--preset--color--brun); }
.sv-logo img { width: 54px; height: auto; }
.sv-logo-texte { display: flex; flex-direction: column; gap: 2px; }
.sv-logo-nom { font-family: var(--wp--preset--font-family--signature); font-size: 36px; line-height: 1; color: #9A7C3C; }
.sv-logo-sous { font-size: 14px; letter-spacing: .24em; text-transform: uppercase; font-weight: 500; }
.sv-entete .wp-block-navigation a { text-decoration: none; }
.sv-entete .wp-block-navigation .wp-block-navigation-item__content:hover { color: #A4531F; }
.sv-entete .wp-block-navigation .current-menu-item > a,
.sv-entete .wp-block-navigation [aria-current="page"] { text-decoration: underline; text-decoration-color: var(--wp--preset--color--or); text-underline-offset: 8px; text-decoration-thickness: 2px; }
.sv-entete .wp-block-navigation__submenu-container { background: var(--wp--preset--color--ivoire) !important; border: 1px solid rgba(64,42,8,.16) !important; border-radius: 8px; padding: 8px 0 !important; min-width: 300px !important; }
.sv-entete .wp-block-navigation__submenu-container a { padding: 10px 20px !important; letter-spacing: .06em; text-transform: none; font-size: 19px; }
.sv-entete .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ivoire); padding: 32px 24px !important; }
.sv-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; font-size: 22px; }
.sv-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 8px 0 0 16px !important; }
.sv-entete .wp-block-navigation__responsive-container-open { border: 1px solid rgba(64,42,8,.3); border-radius: 50%; width: 48px; height: 48px; align-items: center; justify-content: center; }
@media (max-width: 599px) { .sv-entete .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; } }
.sv-entete .wp-block-navigation__container { flex-wrap: nowrap; }
.sv-entete .wp-block-navigation-item__content { white-space: nowrap; }
@media (min-width: 600px) and (max-width: 1100px) { .sv-entete .wp-block-navigation { --nav-gap: 22px; } .sv-entete .wp-block-navigation__container { gap: 22px !important; } }
.sv-entete .wp-block-button__link { padding: 13px 26px; font-size: 17px; }
@media (max-width: 900px) {
	.sv-entete .sv-bouton-entete { display: none; }
	.sv-logo img { width: 42px; }
	.sv-logo-nom { font-size: 30px; }
	.sv-logo-sous { font-size: 12px; }
	.sv-entete-in { min-height: 72px; }
}

/* ---------- Pied de page ---------- */
.sv-pied { background: var(--wp--preset--color--sauge-fonce); color: var(--wp--preset--color--brun); }
.sv-pied a { color: var(--wp--preset--color--brun); text-decoration: none; }
.sv-pied a:hover { text-decoration: underline; }
.sv-pied h2 { font-family: var(--wp--preset--font-family--corps); font-size: 15px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--olive); margin: 0 0 10px; }
.sv-pied .sv-liste-simple { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.sv-pied .sv-liste-simple li { min-height: 36px; display: flex; align-items: center; }
.sv-pied .sv-logo-nom { color: var(--wp--preset--color--brun); }
.sv-pied-bas { border-top: 1px solid rgba(64,42,8,.25); font-size: 16px; }
.sv-pied-bas p { margin: 0; }
.sv-pied-bas a { text-decoration: underline; }

/* ---------- Formulaire (Contact Form 7) ---------- */
.sv-formulaire { background: #fff; border: 1px solid rgba(64,42,8,.2); border-radius: 12px; padding: clamp(24px, 3vw, 44px) !important; }
.wpcf7 form { display: flex; flex-direction: column; gap: 18px; }
.wpcf7 form p { margin: 0; }
.wpcf7 .sv-champs-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 640px) { .wpcf7 .sv-champs-2 { grid-template-columns: minmax(0, 1fr); } }
.wpcf7 label { display: flex; flex-direction: column; gap: 8px; font-size: 16px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea {
	width: 100%; box-sizing: border-box; min-height: 56px; padding: 12px 16px;
	border: 1px solid rgba(64,42,8,.4); border-radius: 10px; background: #FBF8F2;
	font-family: var(--wp--preset--font-family--corps); font-size: 20px; color: var(--wp--preset--color--brun);
	text-transform: none; letter-spacing: normal; font-weight: 400;
}
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 ::placeholder { color: #7A6647; }
.wpcf7 .wpcf7-acceptance label, .wpcf7 .wpcf7-list-item label { flex-direction: row; align-items: flex-start; gap: 12px; text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 16px; color: var(--wp--preset--color--gris-brun); }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 input[type="checkbox"] { width: 22px; height: 22px; margin-top: 2px; accent-color: #A4531F; flex-shrink: 0; }
.wpcf7 .wpcf7-submit {
	align-self: flex-start; cursor: pointer; border: 0; border-radius: 999px; padding: 17px 44px;
	background: var(--wp--preset--color--sauge); color: var(--wp--preset--color--brun-fonce);
	font-family: var(--wp--preset--font-family--corps); font-size: 19px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
}
.wpcf7 .wpcf7-submit:hover { background: var(--wp--preset--color--sauge-fonce); }
.wpcf7 .wpcf7-not-valid-tip { font-size: 16px; color: #9B2C10; text-transform: none; letter-spacing: normal; font-weight: 400; }
.wpcf7 form .wpcf7-response-output { margin: 0; border-radius: 8px; padding: 12px 16px; font-size: 17px; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.sv-cadre { margin: 8px 16px 16px 0 !important; }
	.sv-cadre::after { inset: 16px -16px -16px 16px; }
	.sv-infos { padding: 20px !important; }
	.sv-info { border-left: 0; border-top: 1px solid var(--wp--preset--color--or); padding: 14px 0 !important; }
	.sv-info:first-child { border-top: 0; }
	.sv-reperes .wp-block-group { flex-direction: column; align-items: flex-start !important; gap: 8px !important; }
	.sv-reperes p { font-size: 17px; letter-spacing: .12em; }
	.sv-offre { border-radius: 14px; padding: 16px 20px; }
	.sv-faq summary { font-size: 22px; }
	.sv-temoignage { padding: 28px !important; }
	.sv-motifs { padding: 24px !important; }
	.sv-badge-logo { right: -8px; bottom: -8px; }
}

/* ---------- Bandeau cookies ---------- */
.sv-cookies { position: fixed; z-index: 100; left: 20px; bottom: 20px; max-width: 460px; background: #fff; color: var(--wp--preset--color--brun); border: 1px solid rgba(64,42,8,.2); border-radius: 12px; padding: 20px 22px; box-shadow: 0 10px 30px rgba(42,25,4,.12); font-size: 17px; line-height: 1.45; }
.sv-cookies[hidden] { display: none; }
.sv-cookies p { margin: 0 0 14px; }
.sv-cookies-boutons { display: flex; gap: 10px; }
.sv-cookies button { flex: 1; cursor: pointer; border-radius: 999px; padding: 11px 18px; font-family: var(--wp--preset--font-family--corps); font-size: 17px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border: 1.5px solid var(--wp--preset--color--brun); background: transparent; color: var(--wp--preset--color--brun); }
.sv-cookies .sv-cookies-accepter { background: var(--wp--preset--color--sauge); border-color: var(--wp--preset--color--sauge); color: var(--wp--preset--color--brun-fonce); }
@media (max-width: 600px) { .sv-cookies { left: 12px; right: 12px; bottom: 12px; max-width: none; } }

/* Boutons pleins posés sur un encart sauge : fond ivoire pour rester visibles */
.sv-sauge .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--ivoire); color: var(--wp--preset--color--brun-fonce); }
.sv-sauge .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #FFFFFF; color: var(--wp--preset--color--brun-fonce); }

/* Ligne de localisation sous le chapô de l'accueil */
.sv-hero .sv-lieu-hero { margin-top: 10px; font-size: 19px; font-weight: 600; letter-spacing: .04em; color: var(--wp--preset--color--or-texte); }
/* Texte courant posé sur un encart sauge */
.sv-texte-sauge > p { color: var(--wp--preset--color--brun); max-width: 860px !important; margin-left: 0 !important; }
.sv-motifs > p { margin: 0 0 12px; }
