/* Dr Dumoulin: design layer over the migrated Kadence/Elementor markup (loaded by src/lib/enhance.ts). */
:root{
 --d-navy:#08304b;--d-navy-deep:#052236;--d-teal:#16a0c5;--d-teal-text:#0e7e9e;--d-teal-light:#4cc0e2;--d-pale:#c2d6e0;--d-red:#c81e14;
 --d-text:#2b2f36;--d-muted:#565c66;--d-line:#dfe6eb;--d-soft:#f3f7f9;--d-radius:12px;
 --d-shadow:0 1px 2px rgba(8,48,75,.06),0 12px 28px -14px rgba(8,48,75,.28);
 --d-shadow-lg:0 2px 4px rgba(8,48,75,.08),0 26px 50px -22px rgba(8,48,75,.42);
 --d-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Colour contrast ----------
   The brand turquoise (#16a0c5) gives 3:1 with white. On light surfaces it is used one step darker,
   on the navy surfaces one step lighter; the hue stays the same. */
body.elementor-kit-10,body[class]{--e-global-color-fee2b74:var(--d-teal-text)}
.elementor-location-header .elementor-element-26e6b074,.elementor-location-header .elementor-element-37f5fdc,.elementor-location-footer,
.elementor-section[data-settings*="background_background"]:is(.elementor-element-7c38985,.elementor-element-86bfbe0,.elementor-element-4ad1fda7){--e-global-color-fee2b74:var(--d-teal-light)}
/* Buttons keep white text on the darker turquoise wherever they sit */
.elementor-button,.elementor-location-header .elementor-button,.elementor-location-footer .elementor-button{--e-global-color-fee2b74:var(--d-teal-text)}
/* Decorative squares keep the original brand tone */
.elementor-widget-icon,.elementor-widget-spacer,.elementor-widget-divider{--e-global-color-fee2b74:var(--d-teal)}

/* ---------- Typography ---------- */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li{text-wrap:pretty}
h1,h2,h3,h4,.elementor-heading-title{text-wrap:balance}
::selection{background:var(--d-teal);color:#fff}
:focus-visible{outline:2px solid var(--d-teal-text);outline-offset:3px;border-radius:2px}
.elementor-location-header :focus-visible,.elementor-location-footer :focus-visible,.elementor-element-7c38985 :focus-visible,.elementor-element-86bfbe0 :focus-visible{outline-color:#fff}
.prism-placeholder[hidden]{display:none!important}
.elementor-widget-heading:has(>.elementor-widget-container>.prism-placeholder){display:none}

/* ---------- Header ---------- */
.elementor-location-header .elementor-nav-menu--main .elementor-item{transition:color .2s}
.elementor-location-header .elementor-nav-menu--dropdown a{transition:background .15s,color .15s,padding .15s}
.elementor-button{transition:background-color .2s,color .2s,transform .2s var(--d-ease),box-shadow .2s!important}
.elementor-button:hover,.elementor-button:focus-visible{transform:translateY(-2px);box-shadow:0 12px 22px -12px rgba(8,48,75,.55)}
.elementor-location-header .elementor-element-716d0435 .elementor-button:hover,.elementor-location-header .elementor-element-46742da .elementor-button:hover{background-color:var(--d-navy)!important}

/* ---------- Home ---------- */
/* Hero: solid navy behind the optional background video (no pale flash, same look without video) */
.elementor-element-4ad1fda7{background-color:var(--d-navy-deep)}
.elementor-element-ef11847 .elementor-heading-title{color:var(--d-red)!important}
/* Joint cards and post cards: lift on hover */
.elementor-element-7c38985 .elementor-widget-icon-box>.elementor-widget-container,.elementor-posts .elementor-post,article.loop-entry{transition:transform .3s var(--d-ease),box-shadow .3s}
.elementor-posts .elementor-post:hover,article.loop-entry:hover{transform:translateY(-5px);box-shadow:var(--d-shadow-lg)!important}
/* Card pictures fill their frame (on phones they were shown narrower, with grey bands on both sides) */
.elementor-posts .elementor-post__thumbnail{overflow:hidden}
.elementor-posts .elementor-post__thumbnail img{position:absolute!important;top:0!important;left:0!important;max-width:none!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;transition:transform .6s var(--d-ease)!important}
.elementor-posts .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.04)!important}
article.loop-entry .post-thumbnail img{transition:transform .6s var(--d-ease)}
article.loop-entry:hover .post-thumbnail img{transform:scale(1.04)}
.elementor-posts .elementor-post__excerpt p,.elementor-posts .elementor-post__excerpt{color:var(--d-muted)!important}
.elementor-posts .elementor-post__read-more{transition:color .15s,letter-spacing .2s}
.elementor-posts .elementor-post__read-more:hover{color:var(--d-navy)!important}
.elementor-testimonial__name,.elementor-testimonial__title{color:var(--d-teal-text)!important}
.elementor-widget-text-editor strong[style*="color"],.elementor-element-67ecaeb6 strong{color:var(--d-red)!important}

/* Interventions listing: joint filter buttons readable over their picture */
.elementor-element-7e81333 .elementor-button,.elementor-element-bd37098 .elementor-button,.elementor-element-0a77fb5 .elementor-button{background-color:var(--d-teal-text)!important;background-blend-mode:multiply;text-shadow:0 1px 2px rgba(5,34,54,.55)}
.facetwp-counter{color:var(--d-muted)!important}
.facetwp-checkbox{transition:color .15s}
.facetwp-checkbox:hover{color:var(--d-teal-text)}

/* ---------- Articles and archives ---------- */
.elementor-post-info .elementor-icon-list-text,.elementor-post-info__item{color:var(--d-muted)!important}
.elementor-share-btn_twitter{background-color:#0c7abf!important}
.elementor-share-btn{transition:transform .2s var(--d-ease),filter .2s}
.elementor-share-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
/* Category and author archives: the title was dark on a dark band */
.entry-hero.post-archive-hero-section .entry-hero-container-inner,.entry-hero .entry-hero-container-inner{background:var(--d-navy)!important}
.entry-hero .entry-header{padding:34px 0;min-height:0}
.entry-hero .hero-section-overlay{background:var(--d-navy)!important}
.wp-site-blocks .entry-hero h1.page-title,.entry-hero .archive-title{color:#fff!important;font-family:Poppins,sans-serif;font-weight:500;font-size:clamp(26px,3.2vw,38px);letter-spacing:.01em;margin:0}
article.loop-entry{border-radius:var(--d-radius);overflow:hidden;box-shadow:var(--d-shadow)}
article.loop-entry .entry-title a{color:var(--d-navy);text-decoration:none}
article.loop-entry .entry-title a:hover{color:var(--d-teal-text)}
article.loop-entry .entry-meta,article.loop-entry .entry-meta a{color:var(--d-muted)}
article.loop-entry .entry-meta .updated{display:none}
article.loop-entry .entry-summary{color:var(--d-text)}
.category-links a{color:var(--d-teal-text)}
section.error .page-content{max-width:640px;margin:48px auto;padding:40px 28px;text-align:center;background:var(--d-soft);border-radius:var(--d-radius)}
section.error .page-content p{font-size:17px;color:var(--d-text);margin:0 0 20px}
.prism-empty-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0!important}
.prism-empty-links a{display:inline-flex;align-items:center;min-height:46px;padding:11px 20px;border-radius:6px;background:var(--d-teal-text);color:#fff!important;font-weight:600;text-decoration:none;transition:background .2s}
.prism-empty-links a+a{background:transparent;color:var(--d-navy)!important;box-shadow:inset 0 0 0 2px var(--d-navy)}
.prism-empty-links a:hover{background:var(--d-navy);color:#fff!important}

/* ---------- Intervention pages ---------- */
/* The template asked another site for a Merriweather file that no longer exists: use the site's own text font */
.elementor-33827 .elementor-element.elementor-element-59cbac5{font-family:Roboto,sans-serif}
.elementor-toggle .elementor-tab-title{transition:background .15s;cursor:pointer}
.elementor-toggle .elementor-tab-title:hover{background:var(--d-soft)}
.elementor-post-navigation a{transition:color .15s}
.elementor-post-navigation a:hover span{color:var(--d-teal-text)!important}

/* ---------- Forms ---------- */
#inner-wrap form.frm-fluent-form .ff-el-form-control{border:1.5px solid var(--d-line)!important;border-radius:8px!important;font-size:16px!important;transition:border-color .15s,box-shadow .15s}
#inner-wrap form.frm-fluent-form .ff-el-form-control:focus{border-color:var(--d-teal)!important;box-shadow:0 0 0 4px rgba(22,160,197,.35)!important;outline:none}
#inner-wrap form.frm-fluent-form .ff-btn-submit{background-color:var(--d-teal-text)!important;color:#fff!important;font-weight:600;border-radius:6px!important;transition:background-color .2s,transform .2s var(--d-ease)}
#inner-wrap form.frm-fluent-form .ff-btn-submit:hover,#inner-wrap form.frm-fluent-form .ff-btn-submit:focus-visible{background-color:#fff!important;color:var(--d-navy)!important;transform:translateY(-2px)}
.prism-form-notice{margin-top:16px;padding:14px 18px;border-radius:8px;background:#fff;color:var(--d-navy)}

/* ---------- Google Maps and YouTube: click-to-load panels ---------- */
.prism-map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;padding:28px 22px;background:#fff;border-radius:var(--d-radius);box-shadow:var(--d-shadow);text-align:center;color:var(--d-navy);line-height:1.5}
.prism-map-consent svg{flex:none;color:#fff;background:var(--d-teal-text);border-radius:50%;padding:12px;width:60px;height:60px}
.prism-map-consent p{margin:0;max-width:38ch;line-height:1.55;font-size:15px;color:var(--d-text)}
.prism-map-consent p strong{color:var(--d-navy)}
.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:44px;padding:11px 18px!important;border:0;border-radius:6px!important;font:inherit;font-weight:600;font-size:15px!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s}
.prism-map-actions button{background:var(--d-teal-text);color:#fff}
.prism-map-actions button:hover,.prism-map-actions button:focus-visible{background:var(--d-navy);color:#fff}
.prism-map-actions a{background:transparent;color:var(--d-navy)!important;box-shadow:inset 0 0 0 2px var(--d-navy)}
.prism-map-actions a:hover,.prism-map-actions a:focus-visible{background:var(--d-navy);color:#fff!important}
iframe[data-prism-map][hidden]{display:none!important}
.elementor-widget-google_maps iframe{border-radius:var(--d-radius)}
.prism-video{height:100%;width:100%}
.prism-video iframe{display:block;width:100%;height:100%;border:0;background:#000;border-radius:var(--d-radius)}
.prism-video-consent{height:100%;min-height:230px;background:var(--d-navy);box-shadow:none;color:#fff}
.prism-video-consent p,.prism-video-consent p strong{color:#fff}
.prism-video-consent svg{background:var(--d-teal-text)}
.prism-video-consent .prism-map-actions a{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}
.prism-video-consent .prism-map-actions button:hover,.prism-video-consent .prism-map-actions a:hover{background:#fff;color:var(--d-navy)!important}

/* ---------- Cookie banner ---------- */
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
#moove_gdpr_cookie_info_bar .mgbutton{min-width:120px;font-weight:600!important;border-radius:6px!important}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all,#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn{background:#fff!important;color:var(--d-navy)!important;box-shadow:none!important;opacity:1!important}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all:hover,#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn:hover{background:var(--d-teal-light)!important;color:var(--d-navy-deep)!important}

/* ---------- Footer ---------- */
.elementor-location-footer a{transition:color .15s}
.elementor-location-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--d-teal-light)!important}
.elementor-location-footer .elementor-element-03b81b9 a{color:#ff9db6!important}
.elementor-location-footer .elementor-element-03b81b9 a:hover{color:#fff!important}

/* ---------- Motion ---------- */
.prism-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s var(--d-ease)}
.prism-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.prism-reveal{opacity:1;transform:none;transition:none}.elementor-button:hover,.elementor-posts .elementor-post:hover,article.loop-entry:hover,.elementor-share-btn:hover{transform:none}}

/* ---------- Mobile ---------- */
.prism-call{display:none}
@media (max-width:767px){
 .prism-call{display:flex;position:fixed;left:14px;bottom:14px;z-index:999;align-items:center;gap:8px;padding:12px 18px;background:var(--d-teal-text);color:#fff!important;font-weight:600;font-size:16px;line-height:1;text-decoration:none;border-radius:999px;box-shadow:0 8px 22px -6px rgba(5,34,54,.6),0 0 0 2px rgba(255,255,255,.9)}
 .prism-call:active{background:var(--d-navy)}
 .prism-map-consent{min-height:260px;padding:24px 16px}
 .prism-map-actions button,.prism-map-actions a{flex:1 1 100%;justify-content:center}
 .prism-video-consent{min-height:0;padding:14px 12px;gap:8px}
 .prism-video-consent svg{display:none}
 .prism-video-consent p{font-size:13.5px}
 .elementor-widget-video:has(.prism-video-consent) .elementor-wrapper{aspect-ratio:auto}
 .entry-hero .entry-header{padding:24px 0}
 /* Video captions had a line height smaller than their font size */
 .prism-intervention .elementor-widget-theme-post-content p.elementor-heading-title{line-height:1.3!important}
 section.error .page-content{margin:28px 0;padding:28px 18px}
}
