/* Styles strictement ciblés sur les classes mca ; aucune police externe chargée ici. */
.mca{--mca-ink:#102b35;--mca-accent:#802783;--mca-mint:#eaf8f5;min-width:0;box-sizing:border-box}
.mca-section{padding:92px 28px!important;scroll-margin-top:150px;position:relative}
.mca-section:after{content:"";position:absolute;left:50%;bottom:-1px;width:1px;height:42px;background:linear-gradient(#7fc9c1,transparent);pointer-events:none}
.mca-inner{width:100%!important;max-width:1180px!important;margin-inline:auto!important}
.elementor .e-con.mca-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.elementor .e-con.mca-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mca .elementor-heading-title{line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word}
.mca .elementor-widget-text-editor p:last-child{margin-bottom:0}
.mca-eyebrow .elementor-heading-title{font-size:14px;font-weight:700;letter-spacing:.07em;color:#056d68}
.mca-card{border:1px solid #dbeae7;border-radius:26px;padding:30px!important;background:#fff;height:100%;min-height:320px;box-shadow:0 18px 48px rgba(16,43,53,.055);transition:transform .3s ease,box-shadow .3s ease}
.mca-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(16,43,53,.11)}
.mca-grid>.mca-card:first-child{background:#123b45;color:#fff;border-color:#123b45;min-height:420px}
.mca-grid>.mca-card:first-child .elementor-heading-title{color:#fff!important}.mca-grid>.mca-card:first-child .elementor-widget-text-editor{color:#c9dfe0}.mca-grid>.mca-card:first-child .elementor-button{background:transparent!important;color:#7be1d3!important;padding-left:0!important}
.mca-card>.elementor-widget-button{margin-top:auto}
.mca-hero{background:radial-gradient(circle at 0 20%,rgba(12,154,143,.12),transparent 32%),linear-gradient(125deg,#eef9f6,#f8f4fa)}
.mca-hero-title .elementor-heading-title{max-width:650px}
.mca-tint{background:#f3f9f7}
.mca-section:not(.mca-hero):not(.mca-tint):not(.mca-booking):not(.mca-footer){background:radial-gradient(circle at 4% 12%,rgba(6,129,121,.065),transparent 25%),#fbfdfd}
.mca-section .mca-split>.mca:first-child>.elementor-widget-heading:nth-child(2) .elementor-heading-title{font-size:clamp(42px,5vw,70px)!important;max-width:620px}.mca-section .mca-split>.mca:first-child>.elementor-widget-heading:nth-child(2) .elementor-heading-title span{color:#902992}
.mca-portrait-card{border-radius:36px;background:#dfefea;padding:20px;overflow:hidden}
.mca-portrait img{width:100%;height:520px;object-fit:cover;object-position:50% 25%;border-radius:24px}
.elementor .e-con.mca-actions,.elementor .e-con.mca-quick{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px}
.mca-compact{padding-top:24px;padding-bottom:24px}
.mca-quick>.elementor-element{flex:1;min-width:190px}
.mca-quick .elementor-button{width:100%;text-align:left;background:#fff;color:#102b35;border:1px solid #dbeae7}
.mca-secondary .elementor-button{background:#fff;color:#102b35;border:1px solid #dbeae7}
.mca-booking{padding-inline:12px}
.mca-booking>.mca-inner{max-width:none}
.mca-booking-card{width:100%;margin:auto;border-radius:18px;background:#102b35;padding:64px;color:white}
.mca-booking-card .elementor-heading-title,.mca-footer .elementor-heading-title{color:white}
.mca-booking-card .elementor-widget-text-editor,.mca-footer .elementor-widget-text-editor{color:#dcefeb}
.mca-booking-card .mca-eyebrow .elementor-heading-title{color:#98e2d6}
.mca-footer{background:#102b35;color:#fff}
.mca-footer-link .elementor-button{background:transparent;padding:0;color:#dcefeb;text-align:left}
.mca-faq-row{padding:22px 0;border-bottom:1px solid #dbeae7}
.mca-depth{position:relative;overflow:hidden;isolation:isolate}
.mca-depth:before{content:"";position:absolute;width:250px;height:250px;right:-100px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(7,142,134,.2),transparent 70%);transform:perspective(600px) translate(var(--mca-x,0),var(--mca-y,0));transition:transform .15s;z-index:-1;pointer-events:none}
.elementor-location-header:has(.mca-header){position:sticky;top:0;z-index:100}
body.admin-bar .elementor-location-header:has(.mca-header){top:32px}
.mca-header{max-width:1220px;margin:auto;padding:16px 24px;background:rgba(255,255,255,.97);border:1px solid #dbeae7;border-radius:0 0 24px 24px;transition:background .3s,box-shadow .3s}
.mca-header.is-scrolled{background:#e2f4ef;box-shadow:0 8px 30px #102b3515}
.elementor .e-con.mca-header-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.mca-brand{flex:1}.mca-brand .elementor-heading-title{font-size:20px}
.elementor .e-con.mca-navigation{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.mca-navigation .elementor-button{background:transparent;color:#102b35;padding:10px 12px;font-size:14px}
.mca-menu-toggle{display:none}
.mca a:focus-visible,.mca button:focus-visible{outline:3px solid #078e86;outline-offset:5px}
.mca-hero-title.mca-enter{animation:mca-rise .7s ease both}
@keyframes mca-rise{from{transform:translateY(16px);opacity:.2}to{transform:none;opacity:1}}
@media(max-width:1024px){.elementor .e-con.mca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.elementor .e-con.mca-split{gap:34px}.mca-section{padding:68px 24px!important}.mca-grid>.mca-card:first-child{min-height:340px}}
@media(max-width:767px){.elementor .e-con.mca-split,.elementor .e-con.mca-grid{grid-template-columns:1fr}.mca-section{padding:52px 18px!important}.mca-section .mca-split>.mca:first-child>.elementor-widget-heading:nth-child(2) .elementor-heading-title{font-size:clamp(38px,12vw,56px)!important}.mca-card{min-height:0}.mca-grid>.mca-card:first-child{min-height:380px}.mca-booking-card{padding:30px 22px;width:100%;border-radius:24px}.mca-portrait img{height:400px}.mca-header{padding:12px 16px}.mca-brand .elementor-heading-title{font-size:16px}.mca-header-top{flex-wrap:wrap}.mca-header.mca-enhanced .mca-menu-toggle{display:block}.mca-header.mca-enhanced .mca-navigation{display:none}.mca-header.mca-enhanced.is-open .mca-navigation{display:flex;flex-direction:column;align-items:stretch}.mca-navigation .elementor-button{width:100%;text-align:left}.mca-quick>.elementor-element{min-width:100%;flex-basis:100%}body.admin-bar .elementor-location-header:has(.mca-header){top:46px}}
@media(prefers-reduced-motion:reduce){.mca *, .mca *:before{animation:none;transition:none}}
