/* ==========================================================
   NOSY BE — Ma'Tour Guide Madagascar
   Direction : "L'île aux parfums" — lagon, corail, vert mer.
   Fichier dédié à nosybe.html
   
   Requires base.css to be loaded first (reset,
   typography, header, nav, buttons live there).
========================================================== */

:root{
    --lagoon:#0B6E99;
    --coral:#E8703C;
    --seagreen:#2E8B57;
    --sun:#FFD54F;
    --ease:cubic-bezier(.25,.8,.25,1);
}


/* ==========================================
   HERO — NOSY BE
========================================== */

.destination-hero{
    position:relative;
    height:100vh;
    min-height:600px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:url('images/nosybe.jpg') center/cover no-repeat;
    animation:heroZoom 22s ease-in-out infinite alternate;
}

@keyframes heroZoom{
    from{ background-size:100%; }
    to{ background-size:112%; }
}

.destination-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg, rgba(31,24,48,.55) 0%, rgba(31,24,48,.35) 45%, rgba(31,24,48,.75) 100%);
    z-index:1;
}

.destination-content{
    position:relative;
    z-index:2;
    text-align:center;
    color:#fff;
    max-width:820px;
    padding:0 24px;
    animation:heroRise 1.1s var(--ease) both;
}

@keyframes heroRise{
    from{ opacity:0; transform:translateY(28px); }
    to{ opacity:1; transform:translateY(0); }
}

.destination-content h1{
    font-family:var(--display);
    font-weight:600;
    font-size:68px;
    line-height:1.1;
    margin-bottom:22px;
    letter-spacing:.5px;
}

.destination-content h1::after{
    content:"";
    display:block;
    width:70px;
    height:3px;
    background:var(--gold);
    margin:22px auto 0;
}

.destination-content p{
    font-size:20px;
    font-weight:300;
    margin-bottom:38px;
    color:#F3EFE6;
}

.destination-content .btn{
    background:var(--coral);
    border-color:var(--coral);
}

.destination-content .btn:hover{
    background:var(--gold);
    border-color:var(--gold);
}

.hero-eyebrow{
    display:inline-block;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--sun);
    margin-bottom:18px;
}

.hero-tags{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:34px;
}

.hero-tags span{
    padding:8px 18px;
    border:1px solid rgba(255,255,255,.4);
    border-radius:30px;
    font-size:14px;
    font-weight:500;
    color:#fff;
    backdrop-filter:blur(2px);
}


/* ==========================================
   INTRODUCTION — ÉDITORIAL
========================================== */

.destination-intro{
    position:relative;
    padding:130px 12% 110px;
    text-align:center;
    background:var(--sand);
    overflow:hidden;
}

.destination-intro::before{
    content:"L'île aux parfums";
    display:inline-block;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--coral);
    margin-bottom:18px;
}

.destination-intro h2{
    font-family:var(--display);
    font-weight:600;
    font-size:44px;
    color:var(--bark);
    margin-bottom:30px;
}

.destination-intro p{
    font-size:19px;
    line-height:1.9;
    max-width:780px;
    margin:auto;
    color:var(--bark-soft);
    position:relative;
}

.destination-intro p::first-letter{
    font-family:var(--display);
    font-size:64px;
    font-weight:700;
    color:var(--lagoon);
    float:left;
    line-height:0.8;
    margin:8px 10px 0 0;
}


/* ==========================================
   EXCURSIONS — ARCHIPEL
========================================== */

.excursions{
    position:relative;
    padding:120px 8% 130px;
    text-align:center;
    background:#fff;
    overflow:hidden;
}

.excursions::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:900px;
    height:900px;
    transform:translate(-50%,-50%);
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><g fill='none' stroke='%230B6E99' stroke-width='0.6'><circle cx='100' cy='100' r='90'/><circle cx='100' cy='100' r='60'/><path d='M100 10 L100 190 M10 100 L190 100 M35 35 L165 165 M165 35 L35 165'/></g></svg>") center/contain no-repeat;
    opacity:.05;
    animation:spin 90s linear infinite;
    pointer-events:none;
}

@keyframes spin{
    from{ transform:translate(-50%,-50%) rotate(0deg); }
    to{ transform:translate(-50%,-50%) rotate(360deg); }
}

.excursions h2{
    position:relative;
    font-family:var(--display);
    font-weight:600;
    font-size:44px;
    color:var(--bark);
    margin-bottom:15px;
    z-index:1;
}

.excursions .subtitle{
    position:relative;
    display:block;
    font-size:16px;
    color:var(--bark-soft);
    margin-bottom:60px;
    z-index:1;
}

.excursion-subgroup{
    position:relative;
    z-index:1;
    text-align:left;
    margin-bottom:90px;
}

.excursion-subgroup:last-child{
    margin-bottom:0;
}

.excursion-subgroup-title{
    display:flex;
    align-items:baseline;
    gap:18px;
    margin-bottom:38px;
}

.excursion-subgroup-title h3{
    font-family:var(--display);
    font-size:28px;
    color:var(--lagoon);
    white-space:nowrap;
}

.excursion-subgroup-title span{
    font-size:14px;
    color:var(--bark-soft);
    font-weight:400;
}

.excursion-subgroup-title::after{
    content:"";
    flex:1;
    height:1px;
    background:linear-gradient(90deg, rgba(11,110,153,.25), transparent);
}

.excursion-grid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:40px;
    z-index:1;
}

.excursion-card{
    position:relative;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    text-align:left;
    box-shadow:0 14px 34px rgba(31,24,48,.10);
    transition:transform .45s var(--ease), box-shadow .45s var(--ease);
    display:flex;
    flex-direction:column;
}

.excursion-card:hover{
    transform:translateY(-12px);
    box-shadow:0 26px 50px rgba(31,24,48,.18);
}

.excursion-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:0;
    margin-bottom:0;
    transition:transform .6s var(--ease);
}

.excursion-card:hover img{
    transform:scale(1.06);
}

.excursion-card[data-badge]::before{
    content:attr(data-badge);
    position:absolute;
    top:18px;
    left:18px;
    z-index:2;
    padding:7px 16px;
    border-radius:30px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:#fff;
    background:rgba(31,24,48,.75);
    backdrop-filter:blur(3px);
}

.excursion-card h3{
    font-family:var(--display);
    font-size:22px;
    margin:22px 22px 8px;
    color:var(--lagoon);
}

.excursion-card h3::after{
    content:"";
    display:block;
    width:36px;
    height:2px;
    background:var(--gold);
    margin-top:10px;
}

.excursion-card p{
    margin:0 22px 18px;
    color:var(--bark-soft);
    line-height:1.75;
    font-size:15.5px;
    flex:1;
}

.card-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 22px 16px;
}

.card-tags span{
    padding:6px 14px;
    border-radius:30px;
    background:var(--sand);
    color:var(--lagoon);
    font-size:12.5px;
    font-weight:600;
}

/* Nouveaux styles : actions sur les cartes */
.card-actions{
    display:flex;
    gap:10px;
    align-items:center;
    margin:0 22px 22px;
    flex-wrap:wrap;
}

.card-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:1;
    min-width:140px;
    padding:10px 20px;
    border-radius:30px;
    background:rgba(200,93,46,.08);
    color:#c85d2e;
    font-weight:600;
    font-size:0.85rem;
    text-decoration:none;
    text-align:center;
    transition:background .3s ease, color .3s ease;
    border:1px solid rgba(200,93,46,.15);
    white-space:nowrap;
}

.card-cta:hover{
    background:#c85d2e;
    color:#fff;
}

.card-cta-alt{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:30px;
    background:transparent;
    color:var(--bark-soft);
    font-weight:600;
    font-size:0.82rem;
    text-decoration:none;
    text-align:center;
    transition:background .3s ease, color .3s ease, border-color .3s ease;
    border:1px solid rgba(59,42,32,.18);
    white-space:nowrap;
}

.card-cta-alt:hover{
    background:var(--bark);
    color:#fff;
    border-color:var(--bark);
}


/* ==========================================
   CTA GLOBAL — TOUTES LES EXCURSIONS
========================================== */

.excursion-cta-section{
    position:relative;
    z-index:1;
    margin-top:60px;
    padding:50px 40px;
    border-radius:24px;
    background:linear-gradient(135deg, var(--lagoon) 0%, var(--seagreen) 100%);
    color:#fff;
    text-align:center;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(11,110,153,.25);
}

.excursion-cta-section::before{
    content:"";
    position:absolute;
    top:-50%;
    right:-10%;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    pointer-events:none;
}

.excursion-cta-content{
    position:relative;
    z-index:2;
    max-width:680px;
    margin:0 auto;
}

.excursion-cta-eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--sun);
    margin-bottom:14px;
}

.excursion-cta-section h3{
    font-family:var(--display);
    font-size:clamp(26px,3.5vw,38px);
    font-weight:500;
    margin:0 0 14px;
    line-height:1.2;
    color:#fff;
}

.excursion-cta-section p{
    font-size:16px;
    line-height:1.7;
    color:rgba(255,255,255,.88);
    margin:0 0 28px;
}

.excursion-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 38px;
    border-radius:999px;
    background:#25d366;
    color:#fff;
    font-weight:700;
    font-size:0.88rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
    box-shadow:0 10px 28px rgba(37,211,102,.4);
}

.excursion-cta-btn:hover,
.excursion-cta-btn:focus-visible{
    background:#1da851;
    transform:translateY(-3px);
    box-shadow:0 16px 40px rgba(37,211,102,.55);
}

.excursion-cta-btn:focus-visible{
    outline:3px solid var(--gold);
    outline-offset:4px;
}


/* ==========================================
   FORMULAIRE DE DEVIS
========================================== */

.quote-form-section{
    position:relative;
    padding:120px 8% 130px;
    background:var(--sand);
}

.quote-form-wrapper{
    max-width:860px;
    margin:0 auto;
}

.quote-form{
    margin-top:40px;
    padding:44px 48px;
    background:#fff;
    border-radius:24px;
    box-shadow:0 14px 40px rgba(31,24,48,.1);
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}

.form-field{
    margin-bottom:20px;
}

.form-field label{
    display:block;
    font-size:14px;
    font-weight:600;
    color:var(--bark);
    margin-bottom:8px;
    letter-spacing:.01em;
}

.form-field input,
.form-field textarea{
    width:100%;
    padding:14px 18px;
    border-radius:12px;
    border:1.5px solid rgba(59,42,32,.18);
    font-family:var(--body);
    font-size:15px;
    color:var(--bark);
    background:var(--sand);
    transition:border-color .25s ease, background .25s ease;
}

.form-field input:focus,
.form-field textarea:focus{
    outline:none;
    border-color:var(--coral);
    background:#fff;
}

.form-field textarea{
    resize:vertical;
    min-height:120px;
}

.form-checkboxes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:4px;
}

.form-checkbox{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:10px;
    background:var(--sand);
    border:1.5px solid transparent;
    font-size:14px;
    color:var(--bark);
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
}

.form-checkbox:hover{
    background:#fff;
    border-color:rgba(59,42,32,.12);
}

.form-checkbox input{
    width:18px;
    height:18px;
    accent-color:var(--coral);
    flex-shrink:0;
}

.form-checkbox-full{
    grid-column:1 / -1;
    background:rgba(200,93,46,.08);
    border-color:rgba(200,93,46,.2);
}

.form-submit{
    margin-top:12px;
    text-align:center;
}

.form-submit-btn{
    width:100%;
    max-width:340px;
    padding:16px 38px;
    border-radius:999px;
    background:var(--coral);
    color:#fff;
    font-weight:700;
    font-size:0.85rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    border:none;
    cursor:pointer;
    transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
    box-shadow:0 10px 28px rgba(232,112,60,.35);
}

.form-submit-btn:hover{
    background:var(--gold);
    color:var(--bark);
    transform:translateY(-3px);
    box-shadow:0 14px 36px rgba(224,168,62,.45);
}

.form-note{
    margin-top:16px;
    font-size:13px;
    color:var(--bark-soft);
    text-align:center;
}

.form-whatsapp-alt{
    margin-top:28px;
    padding-top:24px;
    border-top:1px dashed rgba(59,42,32,.15);
    text-align:center;
    font-size:14px;
    color:var(--bark-soft);
}

.form-whatsapp-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:8px;
    color:#25d366;
    font-weight:700;
    text-decoration:none;
    transition:color .25s ease;
}

.form-whatsapp-link:hover{
    color:#1da851;
    text-decoration:underline;
}


/* ==========================================
   INFOS PRATIQUES
========================================== */

.practical-info{
    position:relative;
    padding:120px 8% 130px;
    text-align:center;
    background:var(--sand);
}

.practical-info h2{
    font-family:var(--display);
    font-weight:600;
    font-size:44px;
    color:var(--bark);
    margin-bottom:40px;
}

.practical-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:24px;
    max-width:1200px;
    margin:0 auto;
    text-align:left;
}

.practical-card{
    background:#fff;
    border-radius:16px;
    padding:30px 28px;
    box-shadow:0 10px 30px rgba(31,24,48,.08);
    transition:transform .35s var(--ease);
}

.practical-card:hover{
    transform:translateY(-6px);
}

.practical-card h3{
    font-family:var(--display);
    font-size:20px;
    color:var(--lagoon);
    margin-bottom:12px;
}

.practical-card p{
    color:var(--bark-soft);
    line-height:1.7;
    font-size:15px;
    margin:0;
}

.practical-card strong{
    color:var(--coral);
}


/* ==========================================
   GALLERY
========================================== */

#gallery{
    position:relative;
    padding:120px 8% 130px;
    text-align:center;
    background:#fff;
}

#gallery h2{
    font-family:var(--display);
    font-weight:600;
    font-size:44px;
    color:var(--bark);
    margin-bottom:15px;
}

#gallery .subtitle{
    font-size:16px;
    color:var(--bark-soft);
    margin-bottom:50px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:240px;
    gap:16px;
    max-width:1300px;
    margin:0 auto;
}

.gallery-item{
    overflow:hidden;
    border-radius:16px;
    box-shadow:0 6px 20px rgba(31,24,48,.08);
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s var(--ease);
}

.gallery-item:hover img{
    transform:scale(1.06);
}

.gallery-item:nth-child(1){
    grid-column:span 2;
    grid-row:span 2;
}

.gallery-item:nth-child(6){
    grid-column:span 2;
    grid-row:span 1;
}


/* ==========================================
   FAQ
========================================== */

.faq-section{
    position:relative;
    padding:120px 8% 130px;
    text-align:center;
    background:var(--sand);
}

.faq-section h2{
    font-family:var(--display);
    font-weight:600;
    font-size:44px;
    color:var(--bark);
    margin-bottom:40px;
}

.faq-section details{
    max-width:900px;
    margin:0 auto 8px;
    border-bottom:1px solid rgba(31,24,48,.12);
    padding:18px 0;
    text-align:left;
}

.faq-section summary{
    cursor:pointer;
    font-weight:600;
    font-size:18px;
    color:var(--bark);
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:4px 0;
}

.faq-section summary::-webkit-details-marker{
    display:none;
}

.faq-section summary::after{
    content:"+";
    font-size:26px;
    font-weight:300;
    color:var(--coral);
    transition:transform .3s ease;
}

.faq-section details[open] summary::after{
    transform:rotate(45deg);
}

.faq-section details p{
    padding:16px 4px 4px;
    margin:0;
    line-height:1.8;
    color:var(--bark-soft);
    max-width:90%;
}

.faq-section details p strong{
    color:var(--coral);
}


/* ==========================================
   CONTACT
========================================== */

.contact{
    position:relative;
    padding:150px 8% 120px;
    text-align:center;
    color:#fff;
    background:linear-gradient(160deg, var(--dusk) 0%, var(--lagoon) 100%);
    overflow:hidden;
}

.contact::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:60px;
    background:#fff;
    clip-path:polygon(0 0, 100% 0, 100% 0, 0 100%);
}

.contact h2{
    font-family:var(--display);
    font-weight:600;
    font-size:42px;
    margin-bottom:18px;
}

.contact p{
    font-size:18px;
    color:#D8E7EC;
    max-width:600px;
    margin:0 auto 40px;
    font-weight:300;
}

.contact-buttons{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

.contact-buttons .btn{
    display:inline-block;
    padding:14px 36px;
    border-radius:50px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.08em;
    font-size:0.8rem;
    text-decoration:none;
    transition:all .3s ease;
    background:var(--coral);
    border-color:var(--coral);
    color:#fff;
    border:2px solid transparent;
    box-shadow:0 10px 30px rgba(232,112,60,.35);
}

.contact-buttons .btn:hover{
    background:var(--gold);
    border-color:var(--gold);
    transform:translateY(-3px);
    box-shadow:0 14px 36px rgba(224,168,62,.45);
}

.contact-buttons .btn-outline{
    background:transparent;
    border-color:rgba(255,255,255,.5);
    box-shadow:none;
}

.contact-buttons .btn-outline:hover{
    background:rgba(255,255,255,.15);
    border-color:#fff;
}


/* ==========================================
   DESTINATION SEO HUB
========================================== */

.destination-seo-hub{
    position:relative;
    padding:100px 8% 120px;
    background:var(--sand);
    text-align:center;
}

.destination-seo-hub .section-heading{
    max-width:760px;
    margin:0 auto 40px;
}

.destination-seo-hub .section-heading .eyebrow{
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--coral);
    display:block;
    margin-bottom:12px;
}

.destination-seo-hub .section-heading h2{
    font-family:var(--display);
    font-weight:600;
    font-size:36px;
    color:var(--bark);
    margin-bottom:12px;
}

.destination-seo-hub .section-heading p{
    color:var(--bark-soft);
    font-size:17px;
    line-height:1.7;
}

.destination-seo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    max-width:1200px;
    margin:0 auto;
}

.destination-seo-card{
    background:#fff;
    border-radius:16px;
    padding:28px 24px;
    box-shadow:0 6px 20px rgba(31,24,48,.06);
    transition:transform .35s var(--ease);
    text-align:left;
}

.destination-seo-card:hover{
    transform:translateY(-4px);
}

.destination-seo-card h3{
    font-family:var(--display);
    font-size:18px;
    color:var(--lagoon);
    margin-bottom:10px;
}

.destination-seo-card p{
    color:var(--bark-soft);
    font-size:14px;
    line-height:1.7;
    margin:0;
}


/* ===================================================
   FOOTER — GLASSMORPHISM "LAGON AU CRÉPUSCULE"
=================================================== */

.footer-glass-nosybe{
    position:relative;
    padding:150px 8% 0;
    background:
        radial-gradient(ellipse 900px 500px at 10% 0%, rgba(11,110,153,.20), transparent 60%),
        radial-gradient(ellipse 900px 600px at 90% 100%, rgba(232,112,60,.18), transparent 55%),
        linear-gradient(190deg, #101E26 0%, var(--dusk) 45%, #0C1620 100%);
    overflow:hidden;
    isolation:isolate;
}

.footer-wave-nosybe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:90px;
    z-index:1;
}

.footer-glass-container-nosybe{
    position:relative;
    z-index:2;
    max-width:1300px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1.1fr;
    gap:22px;
}

.footer-glass-panel-nosybe{
    position:relative;
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(22px) saturate(140%);
    -webkit-backdrop-filter:blur(22px) saturate(140%);
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    padding:32px 28px;
    box-shadow:
        0 20px 44px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.14);
}

.footer-brand-nosybe h3{
    font-family:var(--display);
    font-weight:600;
    font-size:22px;
    color:var(--sand);
    margin-bottom:14px;
}

.footer-brand-nosybe p{
    font-size:14.5px;
    line-height:1.75;
    color:rgba(244,236,219,.62);
    font-weight:300;
    max-width:280px;
    margin-bottom:26px;
}

.footer-social-nosybe{
    display:flex;
    gap:10px;
}

.footer-social-nosybe a{
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    color:var(--sand);
    text-decoration:none;
    transition:background .3s ease, border-color .3s ease, transform .3s ease;
}

.footer-social-nosybe a:hover{
    background:rgba(11,110,153,.25);
    border-color:rgba(11,110,153,.55);
    transform:translateY(-3px);
}

.footer-social-nosybe svg{
    width:16px;
    height:16px;
    fill:currentColor;
}

.footer-glass-panel-nosybe h4{
    font-family:var(--display);
    font-weight:600;
    font-size:15px;
    letter-spacing:.4px;
    color:var(--sun);
    text-transform:uppercase;
    margin-bottom:20px;
}

.footer-glass-panel-nosybe a,
.footer-glass-panel-nosybe .footer-static-nosybe{
    display:block;
    font-size:14.5px;
    color:rgba(244,236,219,.78);
    text-decoration:none;
    line-height:1;
    margin-bottom:16px;
    transition:color .25s ease, transform .25s ease;
}

.footer-glass-panel-nosybe a:hover{
    color:var(--sand);
    transform:translateX(4px);
}

.footer-glass-panel-nosybe a:last-child,
.footer-glass-panel-nosybe .footer-static-nosybe:last-child{
    margin-bottom:0;
}

.footer-contact-panel-nosybe p{
    font-size:14px;
    line-height:1.7;
    color:rgba(244,236,219,.62);
    font-weight:300;
    margin-bottom:22px;
}

.footer-glass-btn-nosybe{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    padding:13px 18px;
    border-radius:50px;
    font-size:13.5px;
    font-weight:500;
    text-decoration:none;
    margin-bottom:12px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.06);
    color:var(--sand);
    backdrop-filter:blur(6px);
    transition:background .3s ease, border-color .3s ease, transform .3s ease;
}

.footer-glass-btn-nosybe:last-child{ margin-bottom:0; }

.footer-glass-btn-nosybe.filled{
    background:rgba(46,139,87,.22);
    border-color:rgba(46,139,87,.5);
}

.footer-glass-btn-nosybe:hover{
    transform:translateY(-2px);
    background:rgba(232,112,60,.2);
    border-color:rgba(232,112,60,.55);
}

.footer-glass-btn-nosybe svg{
    width:15px;
    height:15px;
    fill:currentColor;
}

.footer-bottom-glass-nosybe{
    position:relative;
    z-index:2;
    max-width:1300px;
    margin:56px auto 0;
    padding:22px 6px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    border-top:1px solid rgba(255,255,255,.1);
}

.footer-bottom-glass-nosybe p{
    font-size:12.5px;
    color:rgba(244,236,219,.45);
    font-weight:300;
    letter-spacing:.2px;
}

.footer-bottom-links-nosybe{
    display:flex;
    gap:22px;
}

.footer-bottom-links-nosybe a{
    font-size:12.5px;
    color:rgba(244,236,219,.45);
    text-decoration:none;
    transition:color .25s ease;
}

.footer-bottom-links-nosybe a:hover{
    color:var(--sun);
}


/* ==========================================
   RESPONSIVE — NOSY BE GENERAL
========================================== */

@media(max-width:1000px){
    .footer-glass-container-nosybe{
        grid-template-columns:1fr 1fr;
    }
    .footer-brand-nosybe{ grid-column:span 2; }
}

@media(max-width:900px){
    .destination-content h1{ font-size:44px; }
    .destination-intro{ padding:90px 8% 80px; }
    .destination-intro h2{ font-size:34px; }
    .excursions{ padding:90px 6% 100px; }
    .excursions h2{ font-size:34px; }
    .practical-info{ padding:90px 6% 100px; }
    .practical-info h2{ font-size:34px; }
    #gallery{ padding:90px 6% 100px; }
    #gallery h2{ font-size:34px; }
    .faq-section{ padding:90px 6% 100px; }
    .faq-section h2{ font-size:34px; }
    .contact{ padding:100px 8% 90px; }
    .contact h2{ font-size:32px; }
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:200px;
    }
    .gallery-item:nth-child(1){
        grid-column:span 2;
        grid-row:span 1;
    }
    .gallery-item:nth-child(6){
        grid-column:span 2;
        grid-row:span 1;
    }
}

@media(max-width:760px){
    .destination-hero{
        min-height:500px;
        height:auto;
        padding:80px 0;
    }
    .destination-content h1{ font-size:34px; }
    .destination-content p{ font-size:17px; }
    .destination-intro p::first-letter{ font-size:48px; }
    .excursions::before{ width:600px; height:600px; }
    .excursion-subgroup-title{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }
    .excursion-subgroup-title::after{ display:none; }
    .excursion-subgroup-title h3{ font-size:24px; white-space:normal; }
    .excursion-grid{ grid-template-columns:1fr; }
    .excursion-card img{ height:200px; }
    .practical-grid{ grid-template-columns:1fr; }
    .gallery-grid{
        grid-template-columns:1fr;
        grid-auto-rows:220px;
    }
    .gallery-item:nth-child(1),
    .gallery-item:nth-child(6){
        grid-column:span 1;
        grid-row:span 1;
    }
    .destination-seo-grid{ grid-template-columns:1fr; }
    .contact-buttons{
        flex-direction:column;
        align-items:center;
    }
    .contact-buttons .btn{
        width:100%;
        max-width:300px;
        text-align:center;
    }
    .faq-section details p{ max-width:100%; }
    .footer-glass-container-nosybe{
        grid-template-columns:1fr;
    }
    .footer-brand-nosybe{ grid-column:span 1; }
    .footer-glass-nosybe{ padding:110px 6% 0; }
    .footer-bottom-glass-nosybe{
        flex-direction:column;
        align-items:flex-start;
    }
    /* Formulaire responsive */
    .quote-form-section{ padding:80px 6% 90px; }
    .quote-form{ padding:32px 24px; border-radius:20px; }
    .form-row{ grid-template-columns:1fr; gap:0; }
    .form-checkboxes{ grid-template-columns:1fr; }
    .form-submit-btn{ width:100%; max-width:100%; }
    /* CTA global responsive */
    .excursion-cta-section{
        margin-top:40px;
        padding:36px 24px;
        border-radius:20px;
    }
    .excursion-cta-btn{
        width:100%;
        max-width:340px;
        padding:14px 24px;
        font-size:0.8rem;
    }
}

@media(max-width:480px){
    .destination-hero{
        min-height:400px;
        padding:60px 0;
    }
    .destination-content h1{ font-size:28px; }
    .destination-content p{ font-size:15px; }
    .hero-tags span{ font-size:12px; padding:6px 14px; }
    .destination-content .btn{ padding:12px 24px; font-size:0.7rem; }
    .excursion-card{ border-radius:14px; }
    .excursion-card h3{ font-size:20px; margin:16px 16px 6px; }
    .excursion-card p{ font-size:14px; margin:0 16px 12px; }
    .card-tags{ margin:0 16px 12px; }
    .card-tags span{ font-size:11px; padding:4px 12px; }
    .card-cta{ margin:0 16px 16px; padding:8px 16px; font-size:0.8rem; }
    .practical-card{ padding:20px 16px; }
    .practical-card h3{ font-size:17px; }
    .faq-section summary{ font-size:16px; }
    .faq-section summary::after{ font-size:22px; }
    .faq-section details p{ font-size:14px; }
    .contact h2{ font-size:26px; }
    .contact p{ font-size:16px; }
    /* Formulaire mobile */
    .card-actions{
        margin:0 16px 16px;
        flex-direction:column;
        align-items:stretch;
    }
    .card-actions .card-cta{ min-width:100%; }
    .card-cta-alt{ width:100%; }
}

@media (prefers-reduced-motion: reduce){
    .destination-hero,
    .destination-content,
    .excursions::before,
    .footer-social-nosybe a,
    .footer-glass-btn-nosybe,
    .footer-glass-panel-nosybe a{
        animation:none;
        transition:none;
    }
}