/* =====================================================================
   Open Water & Training Rolle — styles personnalisés (thème Webflow)
   Chargé automatiquement par Helix Ultimate (add_css('custom.css')).
   Réutilisable sur toutes les pages SP Page Builder via les classes owt-*.
   Tokens : accent #2c5a61 / hover #3f818b · fond #15191a · cartes #2b3233
            · texte #dae4e5 (secondaire #dae4e599 / #dae4e5b3)
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&family=Instrument+Sans:wght@400;500;600&display=swap');

/* ===== THÈME SOMBRE (toutes les pages SPPB) ===== */
#sp-page-builder { font-family:"Instrument Sans",sans-serif; color:#dae4e5; background:#15191a; }
#sp-page-builder h1,#sp-page-builder h2,#sp-page-builder h3,#sp-page-builder h4 { font-family:"Lexend",sans-serif; color:#dae4e5; }

/* ===== TYPOGRAPHIE / HELPERS ===== */
.owt-eyebrow .sppb-addon-content { text-transform:uppercase; letter-spacing:.12em; font-size:13px; font-weight:600; color:#dae4e5; }
.owt-hero-title .sppb-addon-title { font-family:"Instrument Sans",sans-serif; font-size:clamp(2.87rem,8vw,5.61rem); line-height:1.1; font-weight:500; letter-spacing:-0.01em; margin:0 0 .4em; color:#dae4e5; }
.owt-h2 .sppb-addon-title { font-family:"Instrument Sans",sans-serif; font-size:clamp(2rem,5.2vw,4.2rem); line-height:1.05; font-weight:500; letter-spacing:-0.01em; margin:0 0 .3em; color:#dae4e5; }
.owt-card-title .sppb-addon-title { font-size:1.35rem; font-weight:600; margin:0; color:#dae4e5; }
.owt-center {text-align: center!important;}
.owt-center .sppb-addon-title,.owt-center .sppb-addon-content { text-align:center; }
.owt-center-inverse .sppb-addon-title { color:#dae4e5; }
.owt-subheading .sppb-addon-content { font-size:1.15rem; line-height:1.6; color:#dae4e5b3; max-width:560px; }
.owt-center.owt-subheading .sppb-addon-content { margin-left:auto; margin-right:auto; }
.owt-subheading-inverse .sppb-addon-content { color:#dae4e5cc; }
.owt-muted .sppb-addon-content { color:#dae4e599; font-size:1rem; }
.owt-card-lead .sppb-addon-content { font-size:1.05rem; line-height:1.5; color:#dae4e5cc; }
.owt-header-center { max-width:760px; margin:0 auto; }
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a,.sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge) {
font-size:1rem;
}

/* ===== BOUTONS ===== */
.sppb-btn.owt-btn { background:#2c5a61 !important; border:none !important; color:#fff !important; border-radius:.75rem !important; margin: 1em 0;
  font-family:"Instrument Sans",sans-serif; font-weight:600; padding: 1em 1.5em !important; transition:background .2s ease; box-shadow:none !important; }
.sppb-btn.owt-btn:hover { background:#3f818b !important; }
.sppb-btn.owt-btn-ghost,.sppb-btn.owt-btn-ghost-inverse { background:rgba(218,228,229,.12) !important; color:#dae4e5 !important; box-shadow:0 0 0 1px #dae4e533 inset !important; }
.sppb-btn.owt-btn-ghost:hover,.sppb-btn.owt-btn-ghost-inverse:hover { background:rgba(218,228,229,.2) !important; }
.sppb-btn.owt-btn-soft { background:rgba(218,228,229,.1) !important; color:#dae4e599 !important; }
.sppb-btn.owt-btn-soft:hover { background:rgba(218,228,229,.16) !important; }
.owt-btn-block .sppb-button-wrapper { display:block; }
.owt-btn-block .sppb-btn { display:block; width:100%; text-align:center; }

/* ===== HERO ===== */
.owt-hero { position:relative; }
.owt-hero:before { content:""; position:absolute; inset:0; background:rgba(21,25,26,.55); pointer-events:none; }
.owt-hero .sppb-column-addons,.owt-hero > .sppb-row-container { position:relative; z-index:2; }
#sp-page-builder .owt-hero-card { position:relative; z-index:2; max-width:600px; margin-left:0 !important;
  background:rgba(43,50,51,.85); backdrop-filter:blur(30px); -webkit-backdrop-filter:blur(30px);
  border-radius:1rem; padding:2.75rem; box-shadow:0 0 0 1px #dae4e533 inset, 0 20px 60px rgba(0,0,0,.35); }
/* Boutons alignés horizontalement (chaque bouton = un addon distinct) */
.owt-hero-card .sppb-addon-wrapper:has(.sppb-btn) { display:inline-block; margin:12px 12px 0 0; vertical-align:top; }
.owt-hero-card .sppb-addon-wrapper:has(.sppb-btn) .sppb-button-wrapper { margin:0; }

/* ===== CARTES ===== */
.owt-card { background:#2b3233; border-radius:1rem; overflow:hidden; padding:1.75rem; height:100%;
  box-shadow:0 0 0 1px #dae4e533 inset, 0 3px 3px rgba(0,0,0,.1); color:#dae4e5; }
/* Image qui déborde le padding de la carte (bord à bord en haut), titre reste avec le padding */
.owt-card-img { margin:-1.75rem -1.75rem 1.25rem; }
.owt-card-img img { width:100%; height:auto; border-radius:0; display:block; object-fit:cover; }
.owt-card-title { margin-top:.75rem; }
.owt-avatar { margin:1rem 0 .5rem; }
.owt-avatar img { width:56px; height:56px; border-radius:50%; object-fit:cover; }
.owt-person .sppb-addon-title { font-size:1rem; font-weight:600; margin:0; color:#dae4e5; }
.owt-person .sppb-addon-content { font-size:.9rem; color:#dae4e599; }

/* ===== GRILLE BENTO ASYMÉTRIQUE (Natation | Coach large | Training + Fitness) ===== */
#sp-page-builder .owt-bento .sppb-row { display:grid !important; grid-template-columns:1fr 1fr 1fr; gap:16px;
  grid-template-areas:"nat coach coach" "nat train fit"; }
.owt-bento .sppb-row > [class*="sppb-col"] { max-width:none !important; width:auto !important; flex:none !important; padding:1.75rem !important; float:none !important; }
.owt-b-natation { grid-area:nat; }
.owt-b-coach { grid-area:coach; }
.owt-b-training { grid-area:train; }
.owt-b-fitness { grid-area:fit; }
/* Carte Coach : texte plus grand, avatar rond + nom à côté (comme Webflow) */
.owt-card-coach .owt-coach-lead .sppb-addon-content { font-size:1.5rem; line-height:1.6; color:#dae4e5; margin-bottom:1.25rem; }
.owt-card-coach .sppb-addon-wrapper:has(.owt-avatar) { float:left; width:auto; margin:0 16px 0 0; }
.owt-card-coach .owt-avatar img { width:64px !important; height:64px !important; border-radius:50% !important; object-fit:cover; }
.owt-card-coach .sppb-addon-wrapper:has(.owt-person) { overflow:hidden; min-height:64px; display:flex; flex-direction:column; justify-content:center; }
.owt-card-coach .owt-person .sppb-addon-title { font-size:1.05rem; margin:0; }
.owt-card-coach .owt-person .sppb-addon-content { margin-bottom:0; }
@media (max-width:767px){
  #sp-page-builder .owt-bento .sppb-row { grid-template-columns:1fr 1fr; grid-template-areas:"nat nat" "coach coach" "train fit"; }
}
@media (max-width:479px){
  #sp-page-builder .owt-bento .sppb-row { grid-template-columns:1fr; grid-template-areas:"nat" "coach" "train" "fit"; }
}

/* Carte type "média + texte superposé sur dégradé" (ex. Natation en lac) */
#sp-page-builder .owt-card-natation { position:relative; padding:0 !important; height:100%; min-height:440px; }
#sp-page-builder .owt-card-natation > .sppb-column,
#sp-page-builder .owt-card-natation .sppb-column-addons { height:100%; }
#sp-page-builder .owt-card-natation .sppb-column-addons { display:flex; flex-direction:column; justify-content:flex-end; }
.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-img) { position:absolute !important; inset:0 !important; margin:0 !important; z-index:0; }
.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-img) > *,
.owt-card-natation .owt-nat-img,
.owt-card-natation .owt-nat-img .sppb-addon-content,
.owt-card-natation .sppb-addon-single-image-container { height:100% !important; width:100% !important; max-width:100% !important; margin:0 !important; }
.owt-card-natation .sppb-img-responsive { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:0 !important; display:block; }
/* Dégradé placé DANS .sppb-column-addons (même contexte d'empilement que le texte) :
   image(z0) < dégradé(z1) < texte(z2). Sur le .owt-card-natation, .sppb-column a déjà z-index:1
   (Helix) → un :after sur la carte passerait au-dessus du texte. */
#sp-page-builder .owt-card-natation .sppb-column-addons { position:relative; }
.owt-card-natation .sppb-column-addons:after { content:""; position:absolute; left:0; right:0; bottom:0; height:88%;
  background:linear-gradient(to top, rgba(21,25,26,.96) 24%, rgba(21,25,26,.8) 50%, rgba(21,25,26,.32) 74%, transparent); z-index:1; pointer-events:none; }

.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-eyebrow),
.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-lead) { position:relative; z-index:2; padding:0 1.75rem; }
.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-eyebrow) { margin-bottom:.35rem; }
.owt-card-natation .sppb-addon-wrapper:has(.owt-nat-lead) { padding-bottom:1.75rem; }
.owt-card-natation .owt-eyebrow .sppb-addon-content { font-size:.9rem; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.owt-card-natation .owt-nat-lead .sppb-addon-content { color:#dae4e5; font-size:1.33rem; line-height:1.3; font-weight:500; text-shadow:0 1px 8px rgba(0,0,0,.55); }

/* ===== IMAGE PLEINE LARGEUR (bannière plein écran 100vw, hauteur courte) ===== */
/* Débordement pleine fenêtre même si le contenu SPPB est dans un conteneur centré */
#sp-page-builder .owt-fullimg-row { overflow:hidden; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.owt-fullimg-col .sppb-column-addons,.owt-fullimg-col .sppb-column { line-height:0; }
.owt-fullimg .sppb-addon-wrapper,.owt-fullimg .sppb-addon,.owt-fullimg .sppb-addon-content,
.owt-fullimg .sppb-addon-single-image-container { display:block !important; width:100% !important; max-width:none !important; }
.owt-fullimg .sppb-img-responsive { width:100% !important; max-width:none !important; height:clamp(260px,38vw,460px) !important; display:block; border-radius:0 !important; object-fit:cover; }

/* ===== GALERIE : bande horizontale (débordement masqué = effet bande) ===== */
#sp-page-builder .owt-gallery { overflow:hidden; }
.owt-gallery-strip .sppb-column-addons { display:flex !important; flex-wrap:nowrap; justify-content:center; align-items:center; gap:clamp(16px,3vw,48px); will-change:transform; }
.owt-gallery-strip .sppb-column-addons > .sppb-addon-wrapper { flex:0 0 auto !important; margin:0 !important; width:auto !important; }
.owt-gallery-strip .sppb-addon-wrapper > *,
.owt-gallery-strip .owt-gal,
.owt-gallery-strip .owt-gal .sppb-addon-content,
.owt-gallery-strip .sppb-addon-single-image-container { width:auto !important; max-width:none !important; margin:0 !important; }
.owt-gallery-strip .sppb-img-responsive { height:clamp(220px,30vw,450px) !important; width:auto !important; max-width:none !important; border-radius:.85rem; object-fit:cover; display:block; }
.owt-gallery-strip .owt-gal-16x9 .sppb-img-responsive { aspect-ratio:16/9; }
.owt-gallery-strip .owt-gal-1x1 .sppb-img-responsive { aspect-ratio:1/1; }

/* ===== CTA ===== */
.owt-cta { background:#2b3233; border-radius:0; }
.owt-cta-buttons { text-align:center; }
.owt-cta-buttons .sppb-addon-wrapper:has(.sppb-btn) { display:inline-block; vertical-align:top; margin:16px 6px 0; }
.owt-cta-buttons .sppb-addon-wrapper:has(.sppb-btn) .sppb-button-wrapper { display:inline-block; margin:0; }
.owt-cta-card { position:relative; }
.owt-cta-card:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(21,25,26,.7),rgba(21,25,26,.45)); }
.owt-cta-inner { position:relative; z-index:2; }

/* ===== CARTES TARIFAIRES ===== */
/* Ligne des 3 cartes : marge entre les blocs + même hauteur en desktop (flex) */
#sp-page-builder .sppb-row:has(> .owt-price-card) { display:flex !important; align-items:stretch !important; gap:24px; flex-wrap:wrap; }
#sp-page-builder .sppb-row:has(> .owt-price-card) > [class*="sppb-col"] { flex:1 1 0 !important; max-width:none !important; width:auto !important; float:none !important; height:auto !important; align-self:stretch !important; }
@media (max-width:767px){
  #sp-page-builder .sppb-row:has(> .owt-price-card) { flex-direction:column; }
  #sp-page-builder .sppb-row:has(> .owt-price-card) > [class*="sppb-col"] { flex:1 1 auto !important; }
}

.owt-price-card { background:#2b3233; border:0; border-radius:1rem; padding:2rem 1.75rem;
  height:100%; box-shadow:0 0 0 1px #dae4e533 inset, 0 3px 3px rgba(0,0,0,.1); color:#dae4e5; }
.owt-price-eyebrow .sppb-addon-content { text-transform:uppercase; letter-spacing:.14em; font-size:13px; font-weight:600; color:#dae4e5; text-align:center; }
.owt-price-amount .sppb-addon-title,.owt-price-amount-in { display:block; width:100%; text-align:center; font-family:"Lexend",sans-serif; font-size:2.6rem; font-weight:600; line-height:1.05; margin:.25rem 0 .1rem; color:#dae4e5; }
.owt-price-amount .owt-per,.owt-price-amount-in .owt-per { font-size:1rem; font-weight:500; color:#dae4e599; }
.owt-price-sub .sppb-addon-content,.owt-price-sub-in { text-align:center; font-size:.9rem; color:#dae4e599; margin-bottom:.75rem; }
.owt-price-desc .sppb-addon-content,.owt-price-desc-in { text-align:center; font-size:1rem; line-height:1.5; color:#dae4e5cc; margin-bottom:1rem; }
.owt-price-features { margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid #dae4e526; }
.owt-price-features .owt-inc { text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:600; color:#dae4e599; margin:0 0 .6rem; }
.owt-price-features .owt-feat { list-style:none; padding:0; margin:0; }
.owt-price-features .owt-feat li { position:relative; padding-left:1.75rem; margin-bottom:.55rem; font-size:.98rem; color:#dae4e5; }
.owt-price-features .owt-feat li:before { content:"✓"; position:absolute; left:0; top:0; width:1.15rem; height:1.15rem;
  background:rgba(44,90,97,.35); color:#7fb0b8; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; }

/* Onglets (addon tab, style "lines") */
.owt-natation-tabs .sppb-addon-tab { margin-top:.25rem; }
.owt-natation-tabs .sppb-nav-lines { display:flex; justify-content:center; gap:0; border-bottom:1px solid #dae4e526; margin-bottom:1.25rem; padding:0; list-style:none; }
.owt-natation-tabs .sppb-nav-lines > li { margin:0; }
.owt-natation-tabs .sppb-nav-lines > li > a { display:block; padding:.6rem 1.1rem; font-family:"Instrument Sans",sans-serif; font-weight:600; font-size:.98rem; color:#dae4e599; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; background:none; text-decoration:none; transition:color .2s ease,border-color .2s ease; }
.owt-natation-tabs .sppb-nav-lines > li > a:hover { color:#dae4e5; }
.owt-natation-tabs .sppb-nav-lines > li.active > a { color:#7fb0b8 !important; border-bottom-color:#2c5a61 !important; background:none !important; }
.owt-natation-tabs .sppb-tab-content { padding:0 !important; }
.owt-tabpane { text-align:center; }
.owt-tab-btn { display:block; width:100%; text-align:center; background:#2c5a61; color:#fff; border-radius:.75rem; font-family:"Instrument Sans",sans-serif; font-weight:600; padding:13px 26px; text-decoration:none; transition:background .2s ease; }
.owt-tab-btn:hover { background:#3f818b; color:#fff; }
.owt-tab-btn-soft { background:rgba(218,228,229,.1); color:#dae4e599; }
.owt-tab-btn-soft:hover { background:rgba(218,228,229,.16); color:#dae4e5; }
/* Carte Natation : bouton S'inscrire en taille auto (centré) + liste "Inclus" alignée à gauche comme les autres cartes */
.owt-natation-tabs .owt-tab-btn { display:inline-block; width:auto; }
.owt-natation-tabs .owt-price-features { text-align:left; }

/* ===== FAQ ===== */
.owt-faq { background:#2b3233; }
.owt-faq-item { margin-bottom:2.5rem; }
.owt-faq-item .sppb-addon-title { font-family:"Instrument Sans",sans-serif!important; font-size:1.5rem; font-weight:500; margin:0 0 1rem; color:#dae4e5; }
.owt-faq-item .sppb-addon-content { color:#dae4e5b3; line-height:1.55; }

/* ===== NAV : bouton CTA "Réserver" ===== */
.sp-megamenu-parent > li > a.owt-nav-cta,
.sp-megamenu-parent a.owt-nav-cta { background:#2c5a61 !important; color:#fff !important; border-radius:.7rem;
  padding:9px 20px !important; font-weight:600; margin-left:8px; line-height:1; transition:background .2s ease; }
.sp-megamenu-parent > li > a.owt-nav-cta:hover { background:#3f818b !important; }

/* ===== HEADER PERSONNALISÉ (Logo | Titre | Menu centré | Réserver) ===== */
.owt-header .owt-header-row { flex-wrap:nowrap; }
.owt-header-brand { line-height:0; }
.owt-brand-link { font-family:"Instrument Sans",sans-serif; font-weight:500; font-size:1.4rem; line-height:1.2em; color:#dae4e5; text-decoration:none; display:inline-block; }
.owt-brand-link:hover { color:#fff; }
.owt-header-menu { flex:1 1 auto; min-width:0; }
.owt-header-menu .sp-column { justify-content:center !important; }
.owt-header-menu .sp-megamenu-parent>li>a, .owt-header-menu .sp-megamenu-parent>li>span { font-size: 1.1rem; font-family: "Instrument Sans", sans-serif!important; font-weight:400;}
.owt-reserver-btn { display:inline-block; background:#2c5a61; color:#fff !important; border-radius:.7rem; padding: 1em 1.5em; font-weight:600; font-size:1.05rem; line-height:1.1; text-decoration:none; transition:background .2s ease; white-space:nowrap; }
.owt-reserver-btn:hover { background:#3f818b; color:#fff !important; }
.owt-header-cta { gap:10px; }
#sp-header.full-header { padding-left: 85px; padding-right: 85px;}
/* Empêche le menu de passer sur 2 lignes quand la place se réduit (992–1199px) :
   on récupère de la largeur en diminuant le padding du header et l'espacement du menu. */
@media (min-width:992px) and (max-width:1199px){
	#sp-header.full-header { padding-left:24px; padding-right:24px; }
	.owt-header-menu .sp-megamenu-parent>li>a,
	.owt-header-menu .sp-megamenu-parent>li>span { font-size:1rem; padding-left:12px; padding-right:12px; }
}
@media (max-width:575px){ .owt-reserver-btn { padding:10px 20px; font-size:.95rem; } }
/* Titre visible à côté du logo sur mobile/tablette (réduit pour tenir la place) */
@media (max-width:991px){
	.owt-header-brand { display:block; }
	.owt-brand-link { font-size:1.05rem; }
	#sp-header.full-header { padding-left:20px; padding-right:20px; }
}
@media (max-width:575px){
	.owt-brand-link { font-size:.9rem; }
	.owt-header-cta { gap:6px; }
	/* Récupère l'espace gaspillé : padding header/container + gouttières colonnes */
	#sp-header.full-header { padding-left:8px !important; padding-right:8px !important; }
	.owt-header .container-fluid { padding-left:0; padding-right:0; }
	.owt-header .container-inner { padding-left:6px; padding-right:6px; }
	.owt-header-row > [class*="col"] { padding-left:6px; padding-right:6px; }
	.owt-header-menu { flex:1 1 0; }
}
@media (max-width:379px){
	.owt-brand-link { font-size:.8rem; }
	.owt-reserver-btn { padding:9px 14px; font-size:.85rem; }
}

/* ===== MEGA-MENU "Prestations" ===== */
/* Centré sur la FENÊTRE (au lieu de l'item) → jamais coupé à gauche sur petit écran */
.sp-dropdown-mega { position:fixed !important; top:100px !important; left:50% !important; right:auto !important;
  transform:translateX(-50%) !important; margin:0 !important; max-width:calc(100vw - 24px); }
.sp-dropdown-mega { background:#20262a !important; border:1px solid rgba(218,228,229,.12) !important; border-radius:14px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.45) !important; overflow:hidden; padding:0 !important; }
.sp-dropdown-mega .sp-dropdown-inner { padding:0 !important; }
.sp-dropdown-mega .row,.sp-dropdown-mega [class*="col-sm"] { margin:0 !important; padding:0 !important; }
.sp-dropdown-mega .sp-mega-group,.sp-dropdown-mega li { list-style:none; margin:0; padding:0; }
.owt-mega { display:flex; }
.owt-mega-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:4px 18px; padding:22px 24px; flex:1 1 auto; }
.owt-mega-eyebrow { text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:600; color:rgba(218,228,229,.6); margin:0 0 8px 8px; }
.owt-mega-link { display:flex; gap:12px; align-items:flex-start; padding:9px 8px; border-radius:10px; text-decoration:none; transition:background .15s ease; }
.owt-mega-link:hover { background:rgba(218,228,229,.06); }
/* Icônes en CSS (::before) — indépendantes du HTML pour survivre à l'édition Joomla (qui supprime les <svg>) */
.owt-mega-link::before { content:""; flex:0 0 auto; width:38px; height:38px; border-radius:9px;
  background-color:rgba(44,90,97,.28); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.owt-mega-cols .owt-mega-col:nth-of-type(1) .owt-mega-link::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%237fb0b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 8c1.5 0 1.5-2 3-2s1.5 2 3 2 1.5-2 3-2 1.5 2 3 2 1.5-2 3-2'/%3E%3Cpath d='M1 13c1.5 0 1.5-2 3-2s1.5 2 3 2 1.5-2 3-2 1.5 2 3 2 1.5-2 3-2'/%3E%3C/svg%3E"); }
.owt-mega-cols .owt-mega-col:nth-of-type(2) .owt-mega-link::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%237fb0b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='3.5' r='1.6'/%3E%3Cpath d='M3 15l3-4 3 2 2-5m-2 5l3 3m1-8l3 1 1 3'/%3E%3C/svg%3E"); }
.owt-mega-cols .owt-mega-col:nth-of-type(3) .owt-mega-link::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%237fb0b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10h3l2-5 4 10 2-5h5'/%3E%3C/svg%3E"); }
.owt-mega-txt { display:flex; flex-direction:column; min-width:0; }
.owt-mega-txt strong { color:#dae4e5; font-weight:600; font-size:.95rem; font-family:"Lexend",sans-serif; line-height:1.2; }
.owt-mega-txt small { color:rgba(218,228,229,.6); font-size:.82rem; margin-top:3px; line-height:1.3; }
.owt-mega-card { flex:0 0 240px; background:#2c5a61; color:#fff; text-decoration:none; padding:24px; display:flex; flex-direction:column; transition:background .2s ease; }
.owt-mega-card:hover { background:#3f818b; color:#fff; }
.owt-mega-card-title { font-family:"Lexend",sans-serif; font-weight:600; font-size:1.12rem; line-height:1.25; margin-bottom:10px; }
.owt-mega-card p { color:rgba(255,255,255,.85); font-size:.88rem; line-height:1.45; margin:0 0 auto; }
.owt-mega-card-cta { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.9rem; margin-top:18px; }
@media (max-width:991px){ .owt-mega { flex-direction:column; } .owt-mega-cols { grid-template-columns:1fr; } .owt-mega-card { flex:1 1 auto; } }

/* ===== FOOTER (clair, comme Webflow : bg #dae4e5, texte #15191a) ===== */
#sp-footer { background:#dae4e5 !important; }
.owt-footer { font-family:"Instrument Sans",sans-serif; color:#15191a; padding:64px 0 28px; }
.owt-footer * { box-sizing:border-box; }
.owt-footer-inner { /*max-width:1140px;*/ margin:0 auto; padding:0 20px; }
.owt-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.6fr; gap:32px; }
.owt-foot-brand p { font-size:1.5rem; line-height:1.3; font-family:"Lexend",sans-serif; color:#15191a; margin:0 24px 0 0; font-weight:500; }
.owt-foot-col h4 { font-size:12px; text-transform:none; letter-spacing:1.2px; color:rgba(21,25,26,.75); margin:0 0 1rem; font-family:"Instrument Sans",sans-serif; font-weight:500; }
.owt-foot-col ul { list-style:none; padding:0; margin:0; }
.owt-foot-col li { margin-bottom:.6rem; }
.owt-foot-col a { color:#15191a; text-decoration:none; transition:color .2s ease; }
.owt-foot-col a:hover { color:#2c5a61; }
.owt-foot-news p { color:#15191a; font-size:1.05rem; line-height:1.5; margin:0 0 1rem; }
.owt-news-form { display:flex; gap:8px; max-width:360px; }
.owt-news-form input { flex:1; min-width:0; padding:11px 14px; border-radius:.7rem !important; border:1px solid rgba(21,25,26,.1) !important;
  background:transparent !important; color:#15191a !important; font-size:.95rem; box-shadow:none !important; }
.owt-news-form input::placeholder { color:rgba(21,25,26,.5) !important; }
.owt-news-form button { background:#2c5a61; color:#fff; border:0; border-radius:.7rem; padding:11px 20px; font-weight:600; cursor:pointer; transition:background .2s ease; }
.owt-news-form button:hover { background:#3f818b; }
.owt-foot-news .owt-small { font-size:.85rem; color:rgba(21,25,26,.6); margin:.75rem 0 0; }
.owt-foot-news .owt-small a { color:#15191a; }
.owt-footer-divider { height:1px; background:rgba(21,25,26,.12); margin:36px 0 22px; }
.owt-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; color:#15191a; font-size:.95rem; }
.owt-social { list-style:none; display:flex; gap:18px; margin:0; padding:0; }
.owt-social a { color:#15191a; text-decoration:none; }
.owt-social a:hover { color:#2c5a61; }
@media (max-width:991px){ .owt-footer-grid { grid-template-columns:1fr 1fr; } .owt-foot-brand,.owt-foot-news { grid-column:1 / -1; } }
@media (max-width:575px){ .owt-footer-grid { grid-template-columns:1fr; } .owt-footer-bottom { flex-direction:column; align-items:flex-start; } }
