/* Adrien RAULT, psychologue à Brest: design layer over the migrated Kadence/Elementor markup (loaded by src/lib/enhance.ts). */
:root{
 --p-navy:#001c38;--p-gold:#d3b574;--p-gold-deep:#7d6223;--p-text:#2b2f36;--p-muted:#4a4f55;--p-soft:#f5f3ee;--p-line:#e3dfd6;
 --p-shadow:0 1px 2px rgba(0,28,56,.05),0 12px 30px -16px rgba(0,28,56,.25);
 --p-shadow-lg:0 2px 4px rgba(0,28,56,.06),0 24px 48px -24px rgba(0,28,56,.4);
 --p-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Typography ---------- */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li{text-wrap:pretty}
h1,h2,h3,.elementor-heading-title{text-wrap:balance}
#main .elementor-widget-text-editor{line-height:1.7}
::selection{background:var(--p-gold);color:var(--p-navy)}
/* Grey note under "Prise de rendez-vous" was slightly too light */
.elementor-element-5ffbe5e,.elementor-element-5ffbe5e p{color:var(--p-muted)!important}
#main .elementor-widget-text-editor a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Focus (the theme removed every focus outline) ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--p-navy)!important;outline-offset:3px}
.elementor-location-footer a:focus-visible,.elementor-element-32641542 a:focus-visible,.elementor-element-5e24ee6a a:focus-visible{outline-color:var(--p-gold)!important}
.skip-link:focus{position:fixed!important;top:8px;left:8px;z-index:100000;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;padding:12px 18px;background:#fff;color:var(--p-navy);font-weight:600}

/* ---------- Header ---------- */
/* Active and hovered menu entries were gold on white (2:1): navy text with a gold underline instead */
.elementor-location-header .elementor-nav-menu--main .elementor-item{transition:color .2s,text-decoration-color .2s;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:9px}
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,.elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted{color:var(--p-navy)!important;text-decoration-color:var(--p-gold)}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover{color:var(--p-navy)!important;background:var(--p-soft)!important}
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item{padding-top:14px;padding-bottom:14px}
.elementor-element-acebe0f p.elementor-heading-title{margin:0}

/* ---------- Buttons ---------- */
.elementor-button,.elementor-cta__button{transition:background-color .2s,color .2s,box-shadow .2s!important}
.elementor-button:hover,.elementor-button:focus-visible{box-shadow:0 10px 22px -14px rgba(0,28,56,.6)}
#main .elementor-cta__button:hover{background:var(--p-gold)!important;color:var(--p-navy)!important;border-color:var(--p-gold)!important}

/* ---------- Cards ---------- */
#main .elementor-widget-call-to-action .elementor-cta{transition:transform .3s var(--p-ease),box-shadow .3s}
#main .elementor-widget-call-to-action:hover .elementor-cta{transform:translateY(-3px);box-shadow:var(--p-shadow-lg)}
#main .elementor-cta__description a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* ---------- Contact form ---------- */
#main form.frm-fluent-form{max-width:760px;margin-left:auto;margin-right:auto}
#main form.frm-fluent-form label{font-family:Montserrat,sans-serif;font-weight:600;color:var(--p-navy)}
#main form.frm-fluent-form .ff-el-form-control{border:1px solid #b9bec6;border-radius:2px;padding:12px 14px;font-size:16px;color:var(--p-text);transition:border-color .15s,box-shadow .15s}
#main form.frm-fluent-form .ff-el-form-control::placeholder{color:#6b7280}
#main form.frm-fluent-form .ff-el-form-control:focus{border-color:var(--p-navy);box-shadow:0 0 0 3px rgba(211,181,116,.55);outline:none!important}
#main form.frm-fluent-form .ff-btn-submit{background:var(--p-navy)!important;color:#fff!important;border:0;border-radius:0;padding:14px 34px;font-family:Montserrat,sans-serif;font-size:16px;font-weight:500;transition:background-color .2s,color .2s}
#main form.frm-fluent-form .ff-btn-submit:hover,#main form.frm-fluent-form .ff-btn-submit:focus-visible{background:var(--p-gold)!important;color:var(--p-navy)!important}
.prism-form-note{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--p-muted)}
.prism-form-note a{color:var(--p-navy);text-decoration:underline;text-underline-offset:3px}
.prism-form-notice{max-width:760px;margin:16px auto 0}

/* ---------- Legal pages ---------- */
.prism-page-hero{padding:64px 24px;background:var(--p-navy);text-align:center}
.prism-page-hero h1{max-width:1140px;margin:0 auto;font-family:Merriweather,serif;font-weight:600;font-size:clamp(26px,3.4vw,32px);line-height:1.2;color:#fff}
.prism-legal{max-width:800px;margin:0 auto;padding:56px 24px 88px}
.prism-legal-section{padding:28px 0;border-bottom:1px solid var(--p-line)}
.prism-legal-section:first-child{padding-top:0}
.prism-legal-section h2{margin:0 0 14px;font-family:Merriweather,serif;font-weight:600;font-size:clamp(20px,2.2vw,24px);line-height:1.3;color:var(--p-navy)}
.prism-legal-section p,.prism-legal-section li{font-family:Roboto,sans-serif;font-size:16.5px;line-height:1.75;color:var(--p-text)}
.prism-legal-section ul{padding-left:1.2em}
.prism-legal-section li{margin:.4em 0}
.prism-legal a{color:var(--p-navy);text-decoration:underline;text-decoration-color:var(--p-gold);text-decoration-thickness:2px;text-underline-offset:3px}
.prism-legal a:hover{text-decoration-color:var(--p-navy)}
.prism-legal-updated{margin:24px 0 0;font-family:Roboto,sans-serif;font-size:14px;color:var(--p-muted)}

/* ---------- Google Maps: click-to-load panel ---------- */
.prism-map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;padding:32px 24px;background:var(--p-soft);text-align:center;color:var(--p-navy)}
.prism-map-consent svg{color:var(--p-navy);background:var(--p-gold);border-radius:50%;padding:12px;width:60px;height:60px}
.prism-map-consent p{margin:0;max-width:38ch;font-family:Roboto,sans-serif;line-height:1.55;font-size:15px;color:var(--p-text)}
.prism-map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
.prism-map-actions button,.prism-map-actions a{display:inline-flex;align-items:center;min-height:46px;padding:12px 20px!important;border:0;border-radius:0!important;font-family:Montserrat,sans-serif;font-weight:500;font-size:15px!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer;transition:background-color .2s,color .2s}
.prism-map-actions button{background:var(--p-navy);color:#fff}
.prism-map-actions button:hover,.prism-map-actions button:focus-visible{background:var(--p-gold);color:var(--p-navy)}
.prism-map-actions a{background:transparent;color:var(--p-navy)!important;box-shadow:inset 0 0 0 1.5px var(--p-navy)}
.prism-map-actions a:hover,.prism-map-actions a:focus-visible{background:var(--p-navy);color:#fff!important}
iframe[data-prism-map][hidden]{display:none!important}

/* ---------- Footer ---------- */
/* Footer lists were white at 38% opacity (3.5:1) */
.elementor-location-footer .elementor-icon-list-text,.elementor-location-footer .elementor-icon-list-text a{color:rgba(255,255,255,.82)!important}
.elementor-location-footer .elementor-icon-list-item>a{transition:color .15s}
.elementor-location-footer .elementor-icon-list-item>a:hover .elementor-icon-list-text,.elementor-location-footer .elementor-icon-list-text a:hover{color:var(--p-gold)!important}
.elementor-location-footer .elementor-element-693b0407 .elementor-heading-title,.elementor-location-footer .elementor-element-893b271 .elementor-heading-title,.elementor-location-footer .elementor-element-893b271 a{color:#c9ced6!important}
.elementor-location-footer .elementor-element-893b271 p{margin:0}
.elementor-location-footer .elementor-element-893b271 a{text-decoration:underline;text-underline-offset:3px}
.elementor-location-footer .elementor-element-893b271 a:hover{color:var(--p-gold)!important}
.prism-legal-links{display:flex;justify-content:flex-end;gap:18px;margin:8px 0 0!important;font-family:Merriweather,serif;font-size:12px;font-weight:300;line-height:1.4}

/* ---------- Motion (kept minimal) ---------- */
.prism-reveal{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s var(--p-ease)}
.prism-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.prism-reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- Mobile ---------- */
.prism-call{display:none}
@media (max-width:767px){
 .prism-call{display:flex;position:fixed;right:16px;bottom:16px;z-index:999;align-items:center;gap:8px;padding:13px 20px;background:var(--p-gold);color:var(--p-navy);font-family:Montserrat,sans-serif;font-weight:600;font-size:16px;text-decoration:none;border-radius:999px;box-shadow:0 8px 22px -6px rgba(0,28,56,.55)}
 .prism-call:focus-visible{outline:2px solid #fff!important}
 .elementor-location-footer{padding-bottom:72px;background:var(--p-navy)}
 /* The home title was justified, which opened wide gaps between words */
 .elementor-element-6b62e02d .elementor-heading-title{text-align:left!important}
 .prism-page-hero{padding:44px 20px}
 .prism-legal{padding:36px 20px 64px}
 .prism-legal-links{justify-content:center}
 .elementor-location-footer .elementor-icon-list-item{padding-top:4px;padding-bottom:4px}
 .elementor-location-footer .elementor-element-4b5c4b5{margin-top:22px}
 .elementor-location-footer .elementor-element-693b0407 .elementor-heading-title,.elementor-location-footer .elementor-element-893b271 .elementor-heading-title{text-align:center!important}
}
