@font-face{font-family:"TikTok Sans";src:url("../fonts/TikTokSans-VariableFont_opsz,slnt,wdth,wght.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#021530;--gold:#D99A24;--white:#fff;--ink:#172333;--muted:#667384;--cream:#F8F6F1;--line:#E2E7ED;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"TikTok Sans",Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}.container{width:min(92%,var(--max));margin:auto}
.header{position:sticky;top:0;z-index:50;background:var(--blue);box-shadow:0 4px 18px #0003}.nav{min-height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:block;line-height:0}.brand img{display:block;width:235px;height:auto;max-height:76px;object-fit:contain}
.navlinks{display:flex;gap:28px;align-items:center}.navlinks a{text-decoration:none;color:#fff;font-weight:700}.navlinks a:hover{color:var(--gold)}.menu{display:none;background:none;color:#fff;border:1px solid #fff;border-radius:8px;padding:7px 11px;font-size:20px}
.hero{background:var(--blue);color:#fff;padding:94px 0 105px}.hero-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:65px;align-items:center}.eyebrow,.kicker{color:var(--gold);font-weight:850;letter-spacing:.11em;text-transform:uppercase;font-size:14px}
h1{font-size:clamp(40px,6vw,68px);line-height:1.04;margin:14px 0 24px;font-weight:800}.hero h1 span{color:var(--gold)}h2{font-size:clamp(30px,4vw,43px);line-height:1.12;color:var(--blue);margin:0 0 18px;font-weight:750}h3{color:var(--blue);margin:8px 0 10px;font-weight:750}.lead{font-size:20px;max-width:760px}
.ctas{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:13px 22px;border-radius:9px;text-decoration:none;font-weight:750;border:2px solid var(--gold)}.btn.primary{background:var(--gold);color:var(--blue)}.btn.light{color:#fff}.hero-card{background:#fff;color:var(--ink);border-radius:18px;padding:31px;box-shadow:0 25px 60px #0005}.hero-card h2{color:var(--blue)}
.section{padding:78px 0}.alt{background:var(--cream)}.center{text-align:center}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 9px 28px #0215300c}.num{color:var(--gold);font-size:26px;font-weight:850}
.band{background:var(--blue);color:#fff;padding:55px 0}.band h2{color:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.offer{background:#fff;border:1px solid var(--line);border-radius:18px;padding:31px;position:relative;box-shadow:0 10px 32px #02153010}.offer.featured{border:2px solid var(--gold);transform:translateY(-7px)}.badge{position:absolute;top:18px;right:18px;background:var(--gold);color:var(--blue);font-size:12px;font-weight:850;padding:5px 10px;border-radius:30px}.offer h2{margin-top:4px}.offer ul{padding-left:20px}.offer li{margin:7px 0}.offer-cta{margin-top:22px}.custom{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.custom .box{background:var(--blue);color:#fff;border-radius:16px;padding:27px}.custom h3{color:var(--gold)}
.contactbox{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.contactitem{padding:23px;border:1px solid var(--line);border-radius:13px;background:#fff}.contactitem a{font-weight:750;color:var(--blue)}.notice{background:#FFF7E6;border-left:4px solid var(--gold);padding:16px;border-radius:8px;margin:20px 0}.legal{max-width:900px}.legal h2{font-size:29px;margin-top:34px}
.footer{background:#011022;color:#dce5ef;padding:38px 0}.footerlinks{display:flex;gap:22px;flex-wrap:wrap}.footer a{color:#fff}.small{font-size:13px}
@media(max-width:900px){.hero-grid,.two{grid-template-columns:1fr}.cards,.offer-grid{grid-template-columns:1fr 1fr}.offer.featured{transform:none}.navlinks{display:none;position:absolute;top:92px;left:0;right:0;background:var(--blue);padding:22px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu{display:block}}
@media(max-width:600px){.hero{padding:66px 0 76px}.section{padding:58px 0}.cards,.offer-grid,.custom,.contactbox{grid-template-columns:1fr}.brand img{width:190px;max-height:68px}.lead{font-size:18px}}
/* === OFFRES — déclinaison du visuel de la plaquette EWANORA === */
.offers-page{background:#fff}
.offers-intro{background:var(--cream);padding:48px 0 28px;}
.offers-title{font-size:clamp(31px,4vw,47px);line-height:1.08;color:var(--blue);margin:5px 0 7px;font-weight:850;text-transform:uppercase}
.offers-subtitle{margin:0;color:var(--blue);font-size:18px}
.offer-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.offer-card{border:1px solid #dce2e9;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 7px 22px #02153014;display:flex;flex-direction:column}
.offer-head{min-height:61px;padding:0 16px;display:flex;align-items:center;gap:12px;color:#fff;background:var(--blue);font-size:22px;font-weight:850}
.offer-card:nth-child(2) .offer-head{background:var(--gold)}
.offer-card:nth-child(3) .offer-head{background:#385574}
.offer-card:nth-child(4) .offer-head{background:var(--blue)}
.offer-icon-start{font-size:29px;line-height:1;width:34px;text-align:center;color:var(--gold)}
.offer-icon-increase{font-size:29px;line-height:1;width:34px;text-align:center}
.offer-icon-rocket{font-size:29px;line-height:1;width:34px;text-align:center}
.offer-icon{font-size:29px;line-height:1;width:34px;text-align:center}
.offer-body{padding:15px 16px 14px;display:flex;flex-direction:column;flex:1}
.offer-lead{text-align:center;color:var(--blue);font-size:15px;line-height:1.38;font-weight:700;min-height:79px}
.offer-lead strong{font-size:16px}.offer-lead .plus{color:var(--gold);font-weight:850}
.offer-list{list-style:none;padding:0;margin:4px 0 16px;color:var(--blue);font-size:13.5px;line-height:1.36}
.offer-list li{position:relative;padding-left:15px;margin:8px 0}
.offer-list li::before{content:"•";position:absolute;left:0;top:-2px;font-size:18px}
.offer-consult{margin-top:auto;border:1px solid #e0e5eb;border-radius:12px;background:#f7f8fa;padding:12px 9px;text-align:center}
.offer-consult strong{display:block;color:var(--blue);font-size:16px}
.offer-consult a{display:inline-block;margin-top:8px;padding:9px 15px;border-radius:8px;background:var(--gold);color:var(--blue);text-decoration:none;font-weight:850}
.offer-strip{margin:10px 0 16px;background:var(--blue);color:#fff;border-radius:13px;padding:10px 16px;text-align:center;font-size:13.5px;line-height:1.45;font-weight:650}
.offer-strip strong{color:var(--gold)}
.rfe-row{border:1px solid #dce2e9;border-radius:15px;padding:13px 16px;display:grid;grid-template-columns:175px 1fr;gap:20px;align-items:center;background:#fff;box-shadow:0 5px 18px #0215300a}
.rfe-label{background:var(--gold);color:var(--blue);border-radius:12px;padding:9px;text-align:center;font-weight:850;font-size:18px;line-height:1.15}
.rfe-label small{display:block;font-size:12px;margin-top:4px}
.rfe-content{color:var(--blue);font-size:13.5px;line-height:1.45}
.rfe-content p{margin:3px 0}
.dot{color:var(--gold);font-weight:900;padding:0 5px}
.offers-note{text-align:center;color:var(--muted);font-size:12.5px;margin:12px 0 0}
@media(max-width:1080px){.offer-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){
 .offers-intro{padding-top:30px}.offers-title{font-size:29px}.offers-subtitle{font-size:16px}
 .offer-cards{grid-template-columns:1fr;gap:18px}.offer-head{min-height:57px}
 .offer-lead{min-height:auto}.rfe-row{grid-template-columns:1fr;gap:12px}
 .offer-strip{font-size:12.5px}
}
/* Styles spécifiques à la page de réservation */
.booking-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#f1c66e;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;margin-bottom:12px}
.booking-eyebro:before{content:"";width:24px;height:2px;background:#D99A24}
.booking-trust{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:26px;color:#f5f7fa;font-size:14px}
.booking-trust span{display:inline-flex;align-items:center;gap:8px}
.booking-trust b{color:#f0bd57;font-size:17px}
.booking-section{padding:44px 0 68px;background:#f8f6f1}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:26px;align-items:start}
.booking-card,.booking-aside{background:#fff;border:1px solid #e2e7ed;border-radius:18px;box-shadow:0 14px 40px #0215300b;overflow:hidden}
.booking-card-head{padding:25px 28px 18px;border-bottom:1px solid #edf0f3}
.booking-card-head .booking-label,.booking-aside .booking-label{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#a66e0b;font-weight:800;margin:0 0 8px}
.booking-card h2,.booking-aside h2{font-size:24px;line-height:1.25;color:#021530;margin:0 0 9px}
.booking-card-head p{margin:0;color:#667384;font-size:15px}
.cal-frame{padding:10px;min-height:650px;background:#fff}
#my-cal-inline{width:100%;min-height:630px;overflow:hidden}
#my-cal-inline iframe{width:100%!important;min-width:0!important;border:0!important}
.booking-aside{padding:27px;position:sticky;top:100px}
.booking-aside h2{font-size:23px}
.booking-aside-intro{color:#667384;font-size:15px;margin:0 0 24px}
.booking-step{display:grid;grid-template-columns:38px 1fr;gap:12px;margin:19px 0}
.booking-step-num{width:36px;height:36px;border-radius:11px;background:#fbf2df;color:#98610a;display:grid;place-items:center;font-weight:800}
.booking-step strong{display:block;color:#172333;margin:0 0 3px}
.booking-step p{margin:0;color:#667384;font-size:14px;line-height:1.55}
.booking-rule{height:1px;background:#e2e7ed;margin:23px 0}
.booking-contact{font-size:14px;color:#667384;margin:0 0 14px}
.booking-contact a{color:#021530;font-weight:700;text-decoration:none}
.booking-contact a:hover{text-decoration:underline}
.booking-fallback{margin-top:14px;font-size:13px;color:#667384;text-align:center}
.booking-fallback a{color:#021530;font-weight:700}
.booking-privacy{font-size:12px;color:#778392;margin:16px 20px 22px;line-height:1.55}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.booking-aside{position:static}.booking-section{padding:28px 0 48px}.cal-frame{padding:4px;min-height:680px}#my-cal-inline{min-height:660px}}
@media(max-width:520px){.booking-trust{display:grid;gap:9px}.booking-card-head{padding:22px 20px 16px}.booking-aside{padding:22px}.cal-frame{padding:0;min-height:700px}#my-cal-inline{min-height:690px}}

.social-links {
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:18px;
}

.social-links a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    color:#fff;
    text-decoration:none;
    transition:color .2s ease, transform .2s ease;
}

.social-links a:hover {
    color:var(--gold);
    transform:translateY(-1px);
}

.social-links svg {
    width:22px;
    height:22px;
    display:block;
}

/* Mobile */
@media(max-width:900px){
    .hero-grid,.two{grid-template-columns:1fr}
    .cards,.offer-grid{grid-template-columns:1fr 1fr}
    .offer.featured{transform:none}

    .navlinks{
        display:none;
        position:absolute;
        top:92px;
        left:0;
        right:0;
        background:var(--blue);
        padding:22px;
        flex-direction:column;
        align-items:flex-start;
    }

    .navlinks.open{
        display:flex;
    }

    .menu{
        display:block;
    }

    /* Réseaux sociaux en bas à droite du menu */
.social-links {
    margin-top: auto; /* Force magiquement le bloc à se coller tout en bas */
    margin-right: auto; /* Aligne le bloc vers la gauche */
    margin-left: 0;
    padding-top: 18px; /* Remplace le margin-top pour garder de l'espace propre */
    display: flex;
    align-items: center;
    gap: 4px;
}

.social-links a {
    width: 40px;
    height: 40px;
    display: flex; /* Aligne l'icône SVG bien au centre du lien */
    align-items: center;
    justify-content: center;
}

.social-links svg {
    width: 22px;
    height: 22px;
}