/*
Theme Name: RIA Conseil
Theme URI: https://riaconseil.com/
Author: RIA Conseil
Description: Thème du site de RIA Conseil, bureau d'études hydraulique à La Réunion. Thème à blocs : textes, menus, couleurs et pied de page se modifient dans Apparence > Éditeur.
Version: 1.3.0
Requires at least: 6.4
Tested up to: 6.8
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: ria-conseil
*/

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.ria-main { padding-top: 0; padding-bottom: 0; }
img { height: auto; }
:focus-visible { outline: 2px solid var(--wp--preset--color--ocre); outline-offset: 3px; }

.ria-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem !important;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--vert-fonce);
	margin-bottom: 0.25rem !important;
}
.ria-meta {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8rem !important;
	color: var(--wp--preset--color--gris);
	line-height: 1.5;
}
.ria-muted { color: var(--wp--preset--color--gris); }

/* ---------- En-tête ---------- */
.ria-header {
	background: var(--wp--preset--color--blanc);
	border-bottom: 1px solid var(--wp--preset--color--trait);
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}
.ria-header__bar { gap: 1.5rem; }
.ria-header .wp-block-site-logo img { max-width: 250px; height: auto; }
@media (max-width: 600px) { .ria-header .wp-block-site-logo img { max-width: 200px; } }
.ria-nav { gap: 0.4rem 1.6rem; font-weight: 600; color: var(--wp--preset--color--bleu-nuit); }
.ria-nav a { text-decoration: none; }
.ria-nav a:hover { color: var(--wp--preset--color--vert-fonce); }
.ria-nav .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--trait) !important; border-radius: 6px; padding: 0.4rem 0; min-width: 18rem !important; }
.ria-nav .wp-block-navigation__submenu-container a { padding: 0.45rem 1rem !important; font-weight: 400; }
.ria-nav .ria-nav-cta > a {
	background: var(--wp--preset--color--vert-fonce);
	color: #fff !important;
	padding: 0.5rem 1rem;
	border-radius: 4px;
}
.ria-nav .ria-nav-cta > a:hover { background: var(--wp--preset--color--bleu); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }

/* ---------- En-tête de page ---------- */
.ria-page-head {
	background: var(--wp--preset--color--bleu-nuit);
	color: #E8F0F5;
	padding-top: clamp(2rem, 5vw, 3.25rem) !important;
	padding-bottom: clamp(2rem, 5vw, 3.25rem) !important;
	margin-bottom: 0 !important;
}
.ria-page-head h1, .ria-page-head .wp-block-post-title { color: #fff; font-size: clamp(2rem, 4.5vw, 3rem); }
.ria-page-head .ria-lede, .ria-page-head .wp-block-post-excerpt { color: #B9CBDA; font-size: 1.15rem; }
.ria-page-head .wp-block-post-excerpt__more-link { display: none; }
.ria-page-head .ria-eyebrow { color: var(--wp--preset--color--ocre); }
.ria-page-content { padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.ria-page-content > h2 { margin-top: 2.5rem; font-size: clamp(1.4rem, 2.6vw, 1.8rem); }

/* ---------- Sections ---------- */
.ria-section { padding-top: clamp(3rem, 7vw, 5rem) !important; padding-bottom: clamp(3rem, 7vw, 5rem) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ria-band-soft { background: var(--wp--preset--color--vert-pale); }
.ria-band-blue { background: var(--wp--preset--color--bleu-pale); }
.ria-band-white { background: var(--wp--preset--color--blanc); }
.ria-band-dark { background: var(--wp--preset--color--bleu-nuit); color: #DCE7F0; }
.ria-band-dark h1, .ria-band-dark h2, .ria-band-dark h3 { color: #fff; }
.ria-band-dark .ria-eyebrow { color: var(--wp--preset--color--ocre); }
.ria-band-dark a:not(.wp-element-button) { color: #9FE0B8; }
.ria-section h2 { margin-top: 0.25rem; }
.ria-section-head { margin-bottom: 2rem !important; }
.ria-section-head p:not(.ria-eyebrow) { color: var(--wp--preset--color--gris); max-width: 56ch; }

/* ---------- Accueil : bandeau ---------- */
.ria-hero { background: var(--wp--preset--color--bleu-nuit); color: #DCE7F0; padding-top: clamp(2.5rem, 6vw, 4.5rem) !important; padding-bottom: clamp(2.5rem, 6vw, 4.5rem) !important; margin-top: 0 !important; }
.ria-hero h1 { color: #fff; font-size: clamp(2.1rem, 5vw, 3.4rem); max-width: 18ch; }
.ria-hero h1 mark, .ria-hero h1 em { background: none; color: #5CCB8A; font-style: normal; }
.ria-hero .ria-eyebrow { color: var(--wp--preset--color--ocre); }
.ria-hero p.ria-lede { color: #B9CBDA; font-size: 1.15rem; max-width: 50ch; }
.ria-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); background: transparent; }
.ria-hero .wp-block-image { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 6px; padding: 1rem; }
.ria-hero .wp-block-image figcaption { color: #9FB6C8; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; }

/* ---------- Bandeau de preuves ---------- */
.ria-proofs { background: #fff; border-bottom: 1px solid var(--wp--preset--color--trait); padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; margin-top: 0 !important; }
.ria-proofs .wp-block-column p { margin: 0; }
.ria-proofs .wp-block-column p:first-child { font-family: var(--wp--preset--font-family--titre); font-weight: 700; color: var(--wp--preset--color--bleu-nuit); font-size: 1.05rem; }
.ria-proofs .wp-block-column p + p { font-size: .9rem; color: var(--wp--preset--color--gris); }
@media (min-width: 782px) { .ria-proofs .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--trait); padding-left: 1.5rem; } }

/* ---------- Cartes ---------- */
.ria-card { background: #fff; border: 1px solid var(--wp--preset--color--trait); border-radius: 6px; padding: 1.5rem !important; }
.ria-card h3 { margin-top: 0.25rem; }
.ria-card h3 a { color: inherit; text-decoration: none; }
.ria-card h3 a:hover { color: var(--wp--preset--color--vert-fonce); }
.ria-card p { font-size: .98rem; }
.ria-card .ria-more a { font-weight: 600; text-decoration: none; }
.ria-card ul { padding-left: 1.1rem; font-size: .98rem; color: var(--wp--preset--color--gris); }
.ria-grid { gap: 1.25rem !important; }

/* ---------- Réalisations ---------- */
.ria-real { gap: 0.6rem !important; }
.ria-real .wp-block-image { margin: 0 0 0.4rem !important; }
.ria-real .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 6px; background: var(--wp--preset--color--bleu-nuit); }
.ria-real h3 { font-size: 1.12rem; line-height: 1.3; margin: 0; }
.ria-real h3 a { color: var(--wp--preset--color--bleu-nuit); text-decoration: none; }
.ria-real h3 a:hover { color: var(--wp--preset--color--vert-fonce); }
.ria-real p { margin: 0; font-size: .95rem; color: var(--wp--preset--color--gris); }
.ria-real .ria-tag { font-family: var(--wp--preset--font-family--mono); font-size: .72rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--vert-fonce); }

.ria-facts { background: var(--wp--preset--color--bleu-pale); border-radius: 6px; padding: 1.25rem 1.5rem !important; }
.ria-facts p { margin: 0; font-size: .95rem; }
.ria-facts strong { color: var(--wp--preset--color--bleu-nuit); }
.ria-figures { gap: 1rem !important; }
.ria-figures .ria-card p:first-child { font-family: var(--wp--preset--font-family--titre); font-weight: 800; font-size: clamp(1.8rem, 4vw, 2.4rem); color: var(--wp--preset--color--bleu); margin: 0; line-height: 1.1; }
.ria-back { font-size: .95rem; }
.ria-back a { text-decoration: none; }

/* ---------- Témoignages ---------- */
.ria-score p:first-child { font-family: var(--wp--preset--font-family--titre); font-weight: 800; font-size: 2.6rem; color: var(--wp--preset--color--vert-fonce); margin: 0; line-height: 1; }
.ria-quote { background: #fff; border-radius: 6px; padding: 1.5rem !important; border: 0 !important; }
.ria-quote p { font-size: 1.05rem; line-height: 1.55; }
.ria-quote cite { font-family: var(--wp--preset--font-family--mono); font-style: normal; font-size: .78rem; color: var(--wp--preset--color--gris); }

/* ---------- Étapes ---------- */
.ria-step { border-top: 2px solid var(--wp--preset--color--vert); padding-top: 0.9rem !important; }
.ria-step h3 { margin-top: 0.2rem; font-size: 1.1rem; }
.ria-step p { font-size: .95rem; color: var(--wp--preset--color--gris); }

/* ---------- Tableaux ---------- */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--trait); padding: .6rem .8rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--wp--preset--color--bleu-pale); color: var(--wp--preset--color--bleu-nuit); }

/* ---------- Formulaire de contact ---------- */
.ria-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; background: #fff; border: 1px solid var(--wp--preset--color--trait); border-radius: 6px; padding: 1.5rem; }
.ria-form .ria-full { grid-column: 1 / -1; }
.ria-form label { display: grid; gap: .35rem; font-size: .9rem; font-weight: 600; color: var(--wp--preset--color--bleu-nuit); }
.ria-form input, .ria-form select, .ria-form textarea { font: inherit; font-weight: 400; font-size: 1rem; padding: .65rem .75rem; border: 1px solid #B8C6CA; border-radius: 4px; background: #fff; color: var(--wp--preset--color--encre); width: 100%; box-sizing: border-box; }
.ria-form textarea { min-height: 8rem; resize: vertical; }
.ria-form .ria-consent { display: flex !important; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .88rem; color: var(--wp--preset--color--gris); }
.ria-form .ria-consent input { width: auto; margin-top: .25rem; }
.ria-form button { font: inherit; font-weight: 600; background: var(--wp--preset--color--vert-fonce); color: #fff; border: 0; border-radius: 4px; padding: .8rem 1.4rem; cursor: pointer; justify-self: start; }
.ria-form button:hover { background: var(--wp--preset--color--bleu); }
.ria-form .ria-hp { position: absolute; left: -9999px; }
.ria-notice { border-radius: 6px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.ria-notice--ok { background: var(--wp--preset--color--vert-pale); color: #134D2B; }
.ria-notice--err { background: #FBE9E7; color: #8A1C14; }
@media (max-width: 600px) { .ria-form { grid-template-columns: 1fr; } }

/* ---------- Pied de page ---------- */
.ria-footer { background: #0B1F33; color: #B9CBDA; padding-top: 3rem !important; padding-bottom: 2rem !important; margin-top: 0 !important; font-size: .95rem; }
.ria-footer a { color: #DCE7F0; text-decoration: none; }
.ria-footer a:hover { color: #5CCB8A; }
.ria-footer .ria-eyebrow { color: var(--wp--preset--color--ocre); }
.ria-footer__name { font-family: var(--wp--preset--font-family--titre); font-weight: 800; font-size: 1.5rem !important; color: #fff; }
.ria-footer__links { line-height: 2; }
.ria-footer__legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.25rem; margin-top: 2rem !important; font-size: .8rem !important; color: #8FA6B8; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
@media (min-width: 600px) and (max-width: 1200px) {
	.ria-nav { gap: 0.4rem 1rem; font-size: 0.92rem; }
	.ria-header .wp-block-site-logo img { max-width: 210px; }
	.ria-nav .ria-nav-cta > a { padding: 0.45rem 0.8rem; }
}
