/* ===== Nosy Be — habillage premium ===== */
:root{--nbp-navy:#2a2438;--nbp-orange:#c75c2e;--nbp-sand:#f4ecdb;--nbp-ink:#2a2438;--nbp-soft:#665c55}
body main{background:#fff}

/* Héros */
.destination-hero{height:92vh!important;min-height:560px!important;align-items:flex-end!important;justify-content:flex-start!important;padding:0!important;background-position:center 40%!important}
.destination-overlay{background:linear-gradient(90deg,rgba(18,15,22,.68) 0%,rgba(18,15,22,.22) 46%,rgba(18,15,22,0) 72%),linear-gradient(to top,rgba(18,15,22,.5) 0%,rgba(18,15,22,0) 40%)!important}
.destination-content{max-width:820px!important;text-align:left!important;padding:0 6vw 11vh!important;margin:0!important;width:100%}
.destination-content .hero-eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#f2c46d;margin:0 0 14px}
.destination-content h1{font-size:clamp(1.9rem,3.6vw,3rem)!important;line-height:1.1!important;text-align:left!important;margin:0 0 14px!important}
.destination-content h1::after{display:none!important}
.destination-content p{font-size:clamp(1rem,1.4vw,1.15rem)!important;text-align:left!important;margin:0 0 26px!important;max-width:520px;opacity:.95}
.destination-content .hero-actions{justify-content:flex-start!important}
.destination-content .hero-actions .btn{background:var(--nbp-orange)!important;border:1px solid var(--nbp-orange)!important;color:#fff!important;border-radius:999px;padding:15px 30px;font-weight:700;letter-spacing:0;text-transform:none;font-size:1rem}
.destination-content .hero-actions .btn:hover{background:#a94a22!important}
.destination-content p.nbp-cancel{font-size:.85rem!important;margin:12px 0 0!important;opacity:.9}

/* Titres de section communs */
.excursions,.nb-section,.nb-tarifs,.practical-info,.faq-section,.quote-form-section{padding:88px max(5%,calc((100% - 1200px)/2))!important}
.excursions h2,.nb-section h2,.nb-tarifs h2,.practical-info h2,.faq-section h2{font-family:var(--display,'Fraunces',serif)!important;font-weight:600!important;font-size:clamp(1.9rem,3.2vw,2.8rem)!important;color:var(--nbp-ink)!important;text-align:center!important;margin:0 0 12px!important}
.excursions .subtitle,.nb-sub{text-align:center;color:var(--nbp-soft);max-width:700px;margin:0 auto 40px!important;line-height:1.7}
.excursions{background:#fff!important}
.nb-section.nb-alt,.nb-tarifs,.practical-info{background:var(--nbp-sand)!important}
.nb-section{background:#fff}
.excursions::before,.excursions::after{display:none!important}

/* Excursions : cartes */
.excursion-subgroup{margin:0 0 56px}
.excursion-subgroup-title{text-align:left!important;margin:0 0 22px!important;border-bottom:1px solid rgba(42,36,56,.12);padding-bottom:12px}
.excursion-subgroup-title h3{font-family:var(--display,'Fraunces',serif);font-size:1.5rem;color:var(--nbp-ink);margin:0 0 4px}
.excursion-subgroup-title span{color:var(--nbp-soft);font-size:.95rem}
.excursion-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:26px!important}
.excursion-card{position:relative;background:#fff!important;border-radius:20px!important;overflow:hidden;box-shadow:0 12px 32px rgba(42,36,56,.09)!important;border:1px solid rgba(42,36,56,.06)!important;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.excursion-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(42,36,56,.15)!important}
.excursion-card img{width:100%!important;height:230px!important;object-fit:cover;display:block;border-radius:0!important}
.excursion-card[data-badge]::before{content:attr(data-badge);position:absolute;top:14px;left:14px;z-index:2;background:rgba(255,255,255,.92);color:var(--nbp-navy);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.excursion-card h3{font-family:var(--display,'Fraunces',serif);font-size:1.3rem;color:var(--nbp-ink);margin:20px 22px 8px!important}
.excursion-card p{color:var(--nbp-soft);line-height:1.65;margin:0 22px 16px!important;font-size:.97rem;flex:1}
.excursion-card .card-actions{padding:0 22px 6px;margin:0!important;display:block!important}
.excursion-card .card-cta{display:inline-block;background:var(--nbp-orange)!important;color:#fff!important;border:0!important;border-radius:999px;padding:11px 22px;font-weight:700;text-decoration:none}
.excursion-card .card-cta:hover{background:#a94a22!important}
.nbp-card-cancel{display:block;padding:8px 22px 22px;font-size:.78rem;color:var(--nbp-soft)}

/* Tableaux */
.nb-table-wrap{background:#fff;border-radius:18px!important;box-shadow:0 12px 32px rgba(42,36,56,.08)!important;overflow-x:auto}
.nb-table th{background:var(--nbp-navy)!important;color:#fff!important;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.nb-table td{color:var(--nbp-soft)!important}.nb-table td:first-child{color:var(--nbp-ink)!important}
.nb-table td strong{color:#a95732}
.nb-table tr:nth-child(even) td{background:rgba(244,236,219,.55)!important}
.nb-note a,.nb-section p a,.nb-itin a{color:#a95732!important}

/* Programmes */
.nb-grid{gap:26px!important}
.nb-card{border-radius:20px!important;border-top:4px solid var(--nbp-orange);box-shadow:0 12px 32px rgba(42,36,56,.09)!important}
.nb-days{font-family:var(--display,'Fraunces',serif);font-size:2rem;color:var(--nbp-ink)}
.nb-label{color:#a95732;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}
.nb-badge{background:var(--nbp-orange)!important;color:#fff!important;border-radius:999px}

/* Infos pratiques */
.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.practical-card{background:#fff;border-radius:18px;padding:26px;box-shadow:0 10px 26px rgba(42,36,56,.07)}
.practical-card h3{font-family:var(--display,'Fraunces',serif);color:var(--nbp-ink);font-size:1.15rem;margin:0 0 10px;padding-bottom:10px;border-bottom:2px solid var(--nbp-orange);display:inline-block}
.practical-card p{color:var(--nbp-soft);line-height:1.65;margin:0;font-size:.96rem}

/* FAQ */
.faq-section{background:#fff}
.faq-section details{max-width:860px;margin:0 auto!important;border-bottom:1px solid rgba(42,36,56,.12)!important;padding:0!important}
.faq-section summary{padding:20px 4px!important;font-weight:600;font-size:1.05rem!important;color:var(--nbp-ink)!important;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary::after{content:"+";color:var(--nbp-orange);font-size:1.5rem;line-height:1}
.faq-section details[open] summary::after{content:"–"}
.faq-section details p{padding:0 4px 22px;margin:0!important;color:var(--nbp-soft);line-height:1.75}

/* Formulaire de devis : bloc final */
.quote-form-section{background:var(--nbp-navy)!important}
.quote-form-section .section-heading h2,.quote-form-section .section-heading p{color:#fff!important}
.quote-form-section .section-heading .eyebrow{color:#f2c46d!important}
.quote-form-wrapper{max-width:820px;margin:0 auto}
.quote-form{background:#fff;border-radius:22px;padding:34px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.quote-form button[type=submit],.quote-form .btn{background:var(--nbp-orange)!important;border:0!important;color:#fff!important;border-radius:999px;padding:14px 30px;font-weight:700}

/* Responsive */
@media(max-width:1000px){.excursion-grid{grid-template-columns:repeat(2,1fr)!important}.practical-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.excursion-grid,.practical-grid{grid-template-columns:1fr!important}.destination-content{padding-bottom:8vh!important}.excursions,.nb-section,.nb-tarifs,.practical-info,.faq-section,.quote-form-section{padding:60px 6%!important}.quote-form{padding:22px}}

/* Bandeau forfait complet : même orange que tous les boutons */
.excursion-cta-section{background:var(--nbp-navy)!important;border-radius:24px!important;box-shadow:0 18px 44px rgba(42,36,56,.22)!important}
.excursion-cta-section::before,.excursion-cta-section::after{display:none!important}
.excursion-cta-eyebrow{color:#f2c46d!important}
.excursion-cta-section h3,.excursion-cta-section p{color:#fff!important}
.excursion-cta-btn{background:var(--nbp-orange)!important;color:#fff!important;box-shadow:none!important;border-radius:999px!important}
.excursion-cta-btn:hover{background:#a94a22!important}
.practical-card a{color:#a95732!important;font-weight:700}
.practical-card strong{color:#a95732}
