/* ============================================================
   v2 (26/10) — correctifs pages intérieures, blog, agenda
   ============================================================ */
/* Cartes & tuiles : titres toujours basalte / écume, jamais couleur de lien */
.ec-carte h2, .ec-carte h3, a.ec-carte h2, a.ec-carte h3 { color: var(--basalte); }
a.ec-carte { color: inherit; }
a.ec-carte:hover { text-decoration: none; box-shadow: var(--ombre); transform: translateY(-3px); transition: transform .25s ease, box-shadow .25s ease; }
a.ec-bento__tuile, a.ec-bento__tuile h3 { color: var(--ecume); }
a.ec-bento__tuile--safran, a.ec-bento__tuile--safran h3 { color: var(--basalte); }
a.ec-bento__tuile:hover { text-decoration: none; }
.ec-article h3, .ec-article p { color: var(--basalte); }
.ec-article p { color: var(--gris); }
/* Encadré sombre */
.ec-encadre .ec-surtitre { color: var(--safran-clair); }
.ec-encadre .ec-surtitre::before { background: var(--safran-clair); }
.ec-lien--clair, .ec-encadre .ec-lien { color: var(--safran-clair); }
/* Étapes verticales (pages service) */
.ec-etapes--vertical { display: flex; flex-direction: column; gap: 14px; }
.ec-etapes--vertical::before { display: none; }
.ec-etapes--vertical .ec-etape { display: flex; align-items: center; gap: 16px; text-align: left; }
.ec-etapes--vertical .ec-etape__num { margin: 0; flex: none; width: 44px; height: 44px; font-size: 18px; }
.ec-etapes--vertical .ec-etape p { font-size: 17px; color: var(--basalte); }
.ec-prose .ec-etapes--vertical { margin-top: 12px; }
.ec-prose .ec-etapes--vertical li::before { display: none; }
.ec-prose .ec-etapes--vertical li { padding-left: 0; }
/* Divers */
.ec-puces--grand li { font-size: 18px; color: var(--basalte); margin: 10px 0; }
.ec-actions--centre { justify-content: center; margin-top: 24px; }
.ec-a-venir .ec-btn { margin-top: 18px; }
.ec-merci { min-height: 60vh; display: flex; align-items: center; }
.ec-merci .ec-conteneur { max-width: 760px; }
.ec-bandeau-page .ec-intro { color: rgba(241, 244, 243, .85); }
.ec-pourquoi__inner .ec-prose { max-width: none; }
/* Formulaire Odoo (website_form) */
.ec-formulaire .s_website_form_submit { margin-top: 8px; }
.ec-formulaire #s_website_form_result { display: block; margin-top: 10px; font-size: 15px; }
.ec-formulaire .s_website_form_field.o_has_error input, .ec-formulaire .s_website_form_field.o_has_error select, .ec-formulaire .s_website_form_field.o_has_error textarea { border-color: #E06A5A; }
.ec-formulaire .invalid-feedback { color: var(--safran-clair); font-size: 13px; }

/* ---------- Agenda (pages /book/… de website_appointment) ---------- */
#wrapwrap > main .o_wappointment_wrap { font-family: var(--texte); color: var(--basalte); background: var(--ecume); padding-bottom: 32px; }
#wrapwrap > main .o_wappointment_wrap h1, #wrapwrap > main .o_wappointment_wrap .h4 { font-family: var(--titre); font-weight: 400; font-size: 30px; letter-spacing: -.01em; }
#wrapwrap > main .o_wappointment_wrap .btn-primary, #wrapwrap > main .o_wappointment_wrap .o_slot_button.btn-primary { background: var(--safran); border-color: var(--safran); color: var(--basalte); font-weight: 700; border-radius: var(--r-bouton); }
#wrapwrap > main .o_wappointment_wrap .btn-primary:hover { background: var(--safran-clair); border-color: var(--safran-clair); color: var(--basalte); }
#wrapwrap > main .o_wappointment_wrap .btn-outline-primary, #wrapwrap > main .o_wappointment_wrap .btn-link { color: var(--lagon); border-color: var(--lagon); }
#wrapwrap > main .o_wappointment_wrap .o_day.o_selected, #wrapwrap > main .o_wappointment_wrap .o_day.active, #wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_selected .o_day, #wrapwrap > main .o_wappointment_wrap table.o_appointment_month .o_day.o_selected { background: var(--safran) !important; color: var(--basalte) !important; border-color: var(--safran) !important; }
#wrapwrap > main .o_wappointment_wrap .o_day.o_available, #wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_slots_available .o_day, #wrapwrap > main .o_wappointment_wrap .o_available { color: var(--lagon); font-weight: 700; }
#wrapwrap > main .o_wappointment_wrap .text-primary, #wrapwrap > main .o_wappointment_wrap a { color: var(--lagon); }
#wrapwrap > main .o_wappointment_wrap .o_appointment_details_column { background: var(--blanc); border: 1px solid var(--trait); border-radius: var(--r-carte); padding: 20px; }
#wrapwrap > main .o_wappointment_wrap .form-control:focus, #wrapwrap > main .o_wappointment_wrap .form-select:focus { border-color: var(--safran); box-shadow: 0 0 0 3px rgba(233, 169, 60, .25); }
#wrapwrap > main .o_wappointment_wrap .badge.bg-primary, #wrapwrap > main .o_wappointment_wrap .bg-primary { background: var(--lagon) !important; }

/* ---------- Blog (website_blog) ---------- */
#wrapwrap > main #o_wblog_blog_top, #wrapwrap > main #o_wblog_post_top { background: var(--basalte); font-family: var(--texte); }
#wrapwrap > main #o_wblog_blog_top .o_record_cover_container, #wrapwrap > main #o_wblog_post_top .o_record_cover_container { background: var(--basalte) !important; min-height: 0 !important; height: auto !important; }
#wrapwrap > main #o_wblog_blog_top .o_record_cover_image, #wrapwrap > main #o_wblog_blog_top .o_record_cover_filter, #wrapwrap > main #o_wblog_post_top .o_record_cover_filter { display: none !important; }
#wrapwrap > main #o_wblog_post_top .o_record_cover_image { position: absolute; inset: 0; opacity: .35; }
#wrapwrap > main #o_wblog_blog_top .container, #wrapwrap > main #o_wblog_post_top .container { width: min(var(--conteneur), 100% - 2 * var(--marge)); max-width: none; padding: clamp(56px, 7vw, 96px) 0 !important; min-height: 0 !important; height: auto !important; }
#wrapwrap > main #o_wblog_post_top .container { text-align: left !important; }
#wrapwrap > main .o_wblog_post_title { max-width: 860px; }
#wrapwrap > main #o_wblog_blog_top .o_wblog_post_title { padding-top: 0 !important; }
#wrapwrap > main h1.o_wblog_post_name { font-family: var(--titre); font-weight: 400; font-size: clamp(36px, 5vw, 64px); line-height: .98; letter-spacing: -.01em; color: var(--ecume); text-shadow: none; }
#wrapwrap > main .o_wblog_post_subtitle { font-family: var(--texte); font-size: 20px; color: rgba(241, 244, 243, .85); margin-top: 16px; text-shadow: none; }
#wrapwrap > main #o_wblog_post_content_jump { display: none !important; }
#wrapwrap > main #o_wblog_blog_top + nav.navbar, #wrapwrap > main nav.navbar.navbar-light.pt-4 { background: var(--ecume); font-family: var(--texte); }
#wrapwrap > main nav.navbar .container { width: min(var(--conteneur), 100% - 2 * var(--marge)); max-width: none; }
#wrapwrap > main .o_searchbar_form .search-query { background: var(--blanc) !important; border: 1px solid var(--trait) !important; border-radius: 999px 0 0 999px; padding-left: 18px; font-family: var(--texte); }
#wrapwrap > main .o_searchbar_form .oe_search_button { background: var(--basalte); color: var(--ecume); border-radius: 0 999px 999px 0; border: 0; }
#wrapwrap > main #o_wblog_index_content { background: var(--ecume); font-family: var(--texte); }
#wrapwrap > main #o_wblog_index_content .container { width: min(var(--conteneur), 100% - 2 * var(--marge)); max-width: none; padding-bottom: clamp(48px, 6vw, 80px) !important; }
#wrapwrap > main article.o_wblog_post { background: var(--blanc); border: 1px solid var(--trait); border-radius: var(--r-carte); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
#wrapwrap > main article.o_wblog_post:hover { transform: translateY(-4px); box-shadow: var(--ombre); }
#wrapwrap > main article.o_wblog_post > a.d-block { margin: 0 !important; }
#wrapwrap > main article.o_wblog_post .o_record_cover_container { background: var(--lagon-fonce); aspect-ratio: 16 / 9; min-height: 0 !important; border-radius: 0; }
#wrapwrap > main article.o_wblog_post .o_wblog_post_list_author { display: none !important; }
#wrapwrap > main article.o_wblog_post > div { padding: 0 22px; }
#wrapwrap > main article.o_wblog_post > a + div { padding-top: 18px; }
#wrapwrap > main article.o_wblog_post .o_blog_post_title { font-family: var(--texte); font-weight: 700; font-size: 20px; line-height: 1.25; color: var(--basalte); }
#wrapwrap > main article.o_wblog_post .o_wblog_post_short_tag_section { padding-top: 10px !important; }
#wrapwrap > main article.o_wblog_post .o_wblog_normalize_font { padding: 10px 22px 20px !important; color: var(--gris); font-size: 16px; }
#wrapwrap > main article.o_wblog_post .o_wblog_normalize_font .text-muted, #wrapwrap > main article.o_wblog_post small { color: var(--gris) !important; }
#wrapwrap > main .o_wblog_post_short_tag_section .badge, #wrapwrap > main #o_wblog_post_main .badge, #wrapwrap > main .o_wblog_tags_list .badge, #wrapwrap > main a.badge, #wrapwrap > main #o_wblog_post_footer .badge { background: var(--ecume) !important; color: var(--lagon) !important; border: 1px solid var(--trait); border-radius: 999px; font-family: var(--texte); font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; }
#wrapwrap > main article.o_wblog_post span.o_not_editable { background: var(--safran); color: var(--basalte); border-radius: 999px; font-weight: 700; }
#wrapwrap > main #o_wblog_post_main { font-family: var(--texte); background: var(--ecume); width: 100%; max-width: none; padding: clamp(40px, 5vw, 72px) 0 !important; }
#wrapwrap > main #o_wblog_post_main .o_container_small { max-width: 820px; }
#wrapwrap > main #o_wblog_post_content { color: var(--basalte); font-size: 18px; line-height: 1.65; }
#wrapwrap > main #o_wblog_post_content .breadcrumb { font-family: var(--texte); font-size: 14px; margin-bottom: 18px; }
#wrapwrap > main #o_wblog_post_content .breadcrumb a { color: var(--lagon); }
#wrapwrap > main #o_wblog_post_info { font-size: 14px; color: var(--gris) !important; margin-bottom: 28px !important; }
#wrapwrap > main #o_wblog_post_content h2, #wrapwrap > main #o_wblog_post_content h3 { font-family: var(--texte); font-weight: 700; color: var(--basalte); margin: 36px 0 12px; }
#wrapwrap > main #o_wblog_post_content h2 { font-size: 28px; }
#wrapwrap > main #o_wblog_post_content h3 { font-size: 22px; }
#wrapwrap > main #o_wblog_post_content p { margin-bottom: 16px; }
#wrapwrap > main #o_wblog_post_content p.lead { font-size: 21px; color: var(--gris); }
#wrapwrap > main #o_wblog_post_content a { color: var(--lagon); text-decoration: underline; }
#wrapwrap > main #o_wblog_post_content img { border-radius: var(--r-carte); }
#wrapwrap > main #o_wblog_post_content blockquote { border-left: 4px solid var(--safran); padding: 8px 0 8px 20px; font-family: var(--script); font-style: italic; font-size: 26px; color: var(--lagon); }
#wrapwrap > main #o_wblog_post_footer, #wrapwrap > main .o_wblog_post_footer { font-family: var(--texte); }
#wrapwrap > main .o_wblog_social_links a, #wrapwrap > main .o_wblog_author_avatar { border-radius: 50%; }
#wrapwrap > main #o_wblog_post_main .o_wblog_sidebar, #wrapwrap > main #o_wblog_sidebar { font-family: var(--texte); }
/* Bloc newsletter + CTA injectés dans le blog */
.ec-blog-fin { background: var(--ecume); }
.ec-blog-fin .ec-newsletter { background: var(--lagon); color: var(--ecume); border-radius: var(--r-carte); padding: clamp(36px, 4vw, 56px) clamp(24px, 3vw, 48px); }
.ec-blog-fin .ec-newsletter h2 { font-family: var(--titre); font-weight: 400; font-size: clamp(28px, 3.4vw, 44px); line-height: 1; color: var(--ecume); }
.ec-blog-fin .ec-newsletter p { font-size: 18px; color: rgba(241, 244, 243, .85); max-width: 560px; }
.ec-newsletter .js_subscribe_btn, .ec-newsletter .js_subscribed_btn { height: 48px; border-radius: 999px; font-family: var(--texte); font-weight: 700; padding: 0 22px; border: 0; }
.ec-newsletter .js_subscribe_btn { background: var(--safran); color: var(--basalte); }
.ec-newsletter .js_subscribed_btn { background: var(--basalte); color: var(--ecume); }
.ec-newsletter .input-group { display: flex; width: 100%; max-width: 560px; padding: 6px; border-radius: 999px; background: var(--lagon-fonce); border: 1px solid rgba(241, 244, 243, .2); gap: 6px; }
.ec-newsletter .input-group .form-control { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--ecume); font: 400 17px var(--texte); padding: 0 18px; box-shadow: none; }
.ec-newsletter .input-group .form-control::placeholder { color: rgba(241, 244, 243, .6); }
.ec-newsletter .js_subscribed_wrap, .ec-newsletter .o_subscribed_message { color: var(--ecume); }

/* v2.1 — newsletter sur fond lagon */
.ec-blog-fin .ec-newsletter .ec-accent { color: var(--safran-clair); }
.ec-blog-fin .ec-newsletter small a { color: var(--safran-clair); text-decoration: underline; }
.ec-blog-fin .ec-newsletter h2 { margin-bottom: 4px; }

/* v2.2 — agenda : jours disponibles / jour sélectionné / créneaux */
#wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_slot_button { border-color: var(--lagon) !important; color: var(--lagon); font-weight: 700; border-radius: 10px; }
#wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_slot_button:hover { background: var(--ecume); }
#wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_slot_selected, #wrapwrap > main .o_wappointment_wrap .o_day_wrapper.active { background: var(--safran) !important; border-color: var(--safran) !important; color: var(--basalte) !important; }
#wrapwrap > main .o_wappointment_wrap .o_day_wrapper.o_slot_selected::after, #wrapwrap > main .o_wappointment_wrap .o_day_wrapper.active::after { display: none; }
#wrapwrap > main .o_wappointment_wrap .o_slot_hours { border-color: var(--lagon) !important; color: var(--lagon); font-weight: 700; border-radius: 999px; }
#wrapwrap > main .o_wappointment_wrap .o_slot_hours:hover, #wrapwrap > main .o_wappointment_wrap .o_slot_hours.active { background: var(--safran); border-color: var(--safran) !important; color: var(--basalte); }
#wrapwrap > main .o_wappointment_wrap .o_appointment_btn.text-primary { color: var(--basalte) !important; }
#wrapwrap > main .o_wappointment_wrap .btn-primary:not(.o_day_wrapper) { padding: 10px 22px; }

/* v2.3 */
#wrapwrap > main .o_wappointment_wrap .o_appointment_details_column { align-self: flex-start; }

/* v2.4 — graphique collé au bord droit, tuiles image, agenda intégré (page contact), logo sans mention */
.ec-hero__visuel::after { left: auto; right: 0; bottom: -22%; width: 72%; background-position: right center; opacity: .4; }
.ec-pourquoi::after { left: auto; right: 0; bottom: -60px; width: 340px; background-position: right center; opacity: .14; }
.ec-newsletter::after { right: 0; bottom: -60px; background-position: right center; }
.ec-bento__tuile--img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s ease; }
.ec-bento__tuile--img:hover img { transform: scale(1.04); }
.ec-bento__tuile--img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 15, 16, 0) 35%, rgba(12, 15, 16, .85) 100%); }
.ec-bento__tuile--img h3 { position: relative; z-index: 1; } .ec-bento__tuile--img .ec-bento__etiquette { z-index: 1; }
a.ec-bento__tuile--img, a.ec-bento__tuile--img h3 { color: var(--ecume); }
.ec-logo span { display: none; }
.ec-rdv { background: var(--blanc); border: 1px solid var(--trait); border-radius: 24px; padding: clamp(20px, 2.4vw, 32px); }
.ec-rdv .ec-script { margin-bottom: 6px; }
.ec-rdv h2 { margin-bottom: 16px; }
.ec-rdv iframe { display: block; width: 100%; border: 0; min-height: 640px; border-radius: 16px; background: var(--ecume); }
.ec-rdv .rgpd { margin-top: 14px; font-size: 13px; color: var(--gris); }
@media (max-width: 860px) { .ec-contact { grid-template-columns: 1fr; } .ec-rdv iframe { min-height: 720px; } }
