/* Camping des Étoiles v3 */
:root{--cde-bleu:#1B3A4B;--cde-bleu-clair:#2C5F7A;--cde-bleu-doux:#3A7CA5;--cde-bleu-pale:#A8CDE0;--cde-orange:#E07B3C;--cde-orange-clair:#F09A5E;--cde-orange-doux:#F5BE8E;--cde-creme:#FAF6EF;--cde-sable:#EDE5D5;--cde-brun:#5C4A3A;--cde-blanc:#FFFDF8;--cde-noir:#2A2420;--cde-vert:#4A8C3F;--cde-vert-doux:#6BAF5E;--cde-jaune-star:#FFD700;--cde-ft:'Libre Baskerville',Georgia,serif;--cde-fb:'Nunito',system-ui,sans-serif;--cde-fe:'Caveat',cursive;--cde-r:12px;--cde-rg:20px;--cde-sh:0 4px 20px rgba(27,58,75,.08);--cde-tr:.35s ease}
[class^="cde-"],[class*=" cde-"]{box-sizing:border-box}
.cde-container{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,50px)}
.cde-label{font-family:var(--cde-fe);font-size:1.3rem;color:var(--cde-orange);display:flex;align-items:center;gap:6px}
.cde-label--center{justify-content:center}
.cde-label i{color:var(--cde-orange)}
.cde-zigzag{width:80px;height:8px;margin:16px 0;background:repeating-linear-gradient(90deg,var(--cde-orange) 0px,var(--cde-orange) 10px,transparent 10px,transparent 20px);border-radius:4px;opacity:.6}
.cde-zigzag--center{margin:16px auto}
.cde-zigzag--orange-doux{background:repeating-linear-gradient(90deg,var(--cde-orange-doux) 0px,var(--cde-orange-doux) 10px,transparent 10px,transparent 20px)}
.cde-small{font-size:.85rem;color:#889;margin-top:8px}
.cde-star-inline{color:var(--cde-jaune-star);font-size:1.1em}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-family:var(--cde-fb);font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:var(--cde-tr);text-decoration:none;line-height:1.2}
.btn--sm{padding:10px 22px;font-size:.85rem}
.btn--orange{background:var(--cde-orange);color:#fff;box-shadow:0 4px 16px rgba(224,123,60,.3)}
.btn--orange:hover{background:var(--cde-orange-clair);transform:translateY(-2px)}
.btn--bleu{background:var(--cde-bleu);color:var(--cde-creme)}
.btn--bleu:hover{background:var(--cde-bleu-clair);transform:translateY(-2px)}
.btn--vert{background:var(--cde-vert);color:#fff}
.btn--vert:hover{background:var(--cde-vert-doux);transform:translateY(-2px)}
.btn--contour{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff}
.btn--contour:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ═══ NAV — aligned properly ═══ */
.cde-nav{position:fixed;top:0;left:0;right:0;z-index:99999;padding:10px 0;transition:var(--cde-tr)}
.cde-nav.scrolled{background:rgba(27,58,75,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px 0;box-shadow:0 2px 20px rgba(0,0,0,.15)}
.cde-nav__inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,50px);gap:20px}
.cde-nav__logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.cde-nav__logo-img{height:44px;width:auto}
.cde-nav__links{display:flex;gap:24px;list-style:none;align-items:center;margin:0;padding:0;flex:1;justify-content:center}
.cde-nav__links a{color:rgba(255,255,255,.75);font-size:.88rem;font-weight:600;transition:var(--cde-tr);text-decoration:none;white-space:nowrap}
.cde-nav__links a:hover{color:var(--cde-orange-clair)}
.cde-nav__right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.cde-nav__tel{color:var(--cde-orange-doux);font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:6px}
.cde-nav__tel i{font-size:.75rem}
.cde-nav__burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.cde-nav__burger span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:var(--cde-tr)}
.cde-nav__burger--open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.cde-nav__burger--open span:nth-child(2){opacity:0}
.cde-nav__burger--open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ═══ HERO — video bg + stars + big note ═══ */
.cde-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;font-family:var(--cde-fb)}
.cde-hero__video-wrap{position:absolute;inset:0}
.cde-hero__video{width:100%;height:100%;object-fit:cover}
.cde-hero__overlay{position:absolute;inset:0;background:linear-gradient(170deg,rgba(27,58,75,.7) 0%,rgba(26,48,64,.6) 50%,rgba(30,62,80,.65) 100%)}
.cde-hero__stars{position:absolute;inset:0;pointer-events:none}
.cde-star{position:absolute;color:var(--cde-jaune-star);opacity:.3;animation:cde-twinkle 3s ease-in-out infinite alternate}
.cde-star--1{top:12%;left:8%;font-size:1.4rem;animation-delay:0s}
.cde-star--2{top:20%;right:12%;font-size:1rem;animation-delay:.5s}
.cde-star--3{top:60%;left:15%;font-size:.8rem;animation-delay:1s}
.cde-star--4{top:35%;right:20%;font-size:1.2rem;animation-delay:1.5s}
.cde-star--5{bottom:25%;left:25%;font-size:.9rem;animation-delay:2s}
.cde-star--6{bottom:15%;right:8%;font-size:1.1rem;animation-delay:2.5s}
@keyframes cde-twinkle{0%{opacity:.15;transform:scale(1)}100%{opacity:.5;transform:scale(1.3)}}
.cde-hero__content{position:relative;z-index:2;padding:140px 20px 100px;max-width:750px}
.cde-hero__logo{height:130px;width:auto;margin:0 auto 28px;filter:drop-shadow(0 4px 20px rgba(0,0,0,.3));animation:cde-monte .7s ease-out}
.cde-hero h1{font-family:var(--cde-ft);font-weight:700;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.15;color:#fff;margin-bottom:8px;animation:cde-monte .7s ease-out .1s both}
.cde-hero h1 em{font-style:italic;color:var(--cde-orange-clair)}
.cde-hero__accroche{font-family:var(--cde-fe);font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--cde-bleu-pale);margin-bottom:12px;animation:cde-monte .7s ease-out .2s both}
.cde-hero__pitch{color:rgba(255,255,255,.65);font-size:1.05rem;max-width:520px;margin:0 auto 36px;line-height:1.75;animation:cde-monte .7s ease-out .3s both}
.cde-hero__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:cde-monte .7s ease-out .4s both}
.cde-hero__note{margin-top:36px;font-family:var(--cde-fe);font-size:clamp(1.4rem,2.5vw,1.8rem);color:var(--cde-jaune-star);background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.2);border-radius:50px;padding:12px 32px;display:inline-block;animation:cde-monte .7s ease-out .5s both}
@keyframes cde-monte{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ═══ INTRO — overlapping photos ═══ */
.cde-intro{padding:clamp(80px,10vw,140px) 0;background:var(--cde-blanc);font-family:var(--cde-fb);color:var(--cde-noir)}
.cde-intro__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.cde-intro__photos{position:relative;min-height:520px}
.cde-intro__photo{border-radius:var(--cde-rg);overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.12)}
.cde-intro__photo img{width:100%;height:100%;object-fit:cover;display:block}
.cde-intro__photo--big{position:relative;z-index:2;height:480px;transform:rotate(-2deg)}
.cde-intro__photo--small{position:absolute;bottom:-30px;right:-20px;width:55%;height:260px;z-index:3;transform:rotate(3deg);border:4px solid var(--cde-blanc)}
.cde-intro__photo-tag{position:absolute;top:20px;left:20px;font-family:var(--cde-fe);font-size:1.2rem;background:var(--cde-orange);color:#fff;padding:8px 20px;border-radius:30px;transform:rotate(-5deg);z-index:4}
.cde-intro h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin-bottom:20px}
.cde-intro h2 em{color:var(--cde-vert);font-style:italic}
.cde-intro p{color:#5A554E;margin-bottom:14px;font-size:1.02rem;line-height:1.8}
.cde-intro__trucs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:28px 0}
.cde-intro__truc{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--cde-sable);border-radius:var(--cde-r);font-size:.9rem;font-weight:600;color:var(--cde-brun)}
.cde-intro__truc i{color:var(--cde-vert);width:16px;text-align:center}

/* ═══ MANIFESTO — green/orange ═══ */
.cde-manifesto{padding:clamp(60px,8vw,100px) 0;background:var(--cde-vert);text-align:center;font-family:var(--cde-fb);color:#fff}
.cde-manifesto__inner{max-width:700px;margin:0 auto}
.cde-manifesto__icon{font-size:2.8rem;color:rgba(255,255,255,.4);margin-bottom:16px}
.cde-manifesto h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin-bottom:20px}
.cde-manifesto .cde-zigzag{background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0px,rgba(255,255,255,.4) 10px,transparent 10px,transparent 20px)}
.cde-manifesto__text{font-size:1.1rem;color:rgba(255,255,255,.85);margin-bottom:30px;line-height:1.8}
.cde-manifesto__items{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}
.cde-manifesto__item{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:rgba(255,255,255,.12);border-radius:50px;font-size:.92rem;font-weight:600;color:#fff}
.cde-manifesto__item i{color:var(--cde-orange-clair)}
.cde-manifesto__punchline{font-family:var(--cde-fe);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--cde-jaune-star);transform:rotate(-1.5deg)}

/* ═══ CHAPITEAU ═══ */
.cde-chapiteau{padding:clamp(80px,10vw,140px) 0;background:var(--cde-bleu);color:#fff;font-family:var(--cde-fb)}
.cde-chapiteau__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.cde-chapiteau__photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cde-chapiteau__pic{border-radius:var(--cde-r);overflow:hidden}
.cde-chapiteau__pic:first-child{grid-row:span 2}
.cde-chapiteau__pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cde-chapiteau__pic:hover img{transform:scale(1.05)}
.cde-chapiteau h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin-bottom:20px}
.cde-chapiteau h2 em{color:var(--cde-orange-clair);font-style:italic}
.cde-chapiteau__texte{color:rgba(255,255,255,.7);margin-bottom:14px;line-height:1.8}
.cde-chapiteau__chiffre{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--cde-r);margin-top:16px}
.cde-chapiteau__chiffre-nb{font-family:var(--cde-ft);font-size:2.2rem;font-weight:700;color:var(--cde-orange-clair)}
.cde-chapiteau__chiffre-txt{font-size:.85rem;color:rgba(255,255,255,.55)}

/* ═══ RESTO — orange bg, white text, visible title ═══ */
.cde-resto{padding:clamp(80px,10vw,140px) 0;background:var(--cde-orange);font-family:var(--cde-fb);color:#fff}
.cde-resto__header{text-align:center;margin-bottom:50px}
.cde-resto__header .cde-label{color:#fff;justify-content:center}
.cde-resto__header .cde-label i{color:#fff}
.cde-resto__header h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);color:#fff}
.cde-resto__header h2 em{color:var(--cde-jaune-star);font-style:italic}
.cde-resto__header .cde-zigzag{background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0px,rgba(255,255,255,.4) 10px,transparent 10px,transparent 20px)}
.cde-resto__header p{color:rgba(255,255,255,.85);max-width:600px;margin:12px auto 0;line-height:1.75}
.cde-resto__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.cde-resto-card{background:rgba(255,255,255,.12);border-radius:var(--cde-rg);padding:32px 24px;text-align:center;transition:var(--cde-tr);border:2px solid transparent;backdrop-filter:blur(4px)}
.cde-resto-card:hover{border-color:rgba(255,255,255,.3);transform:translateY(-4px) rotate(-0.5deg);box-shadow:0 8px 30px rgba(0,0,0,.15)}
.cde-resto-card__icon{font-size:2.4rem;margin-bottom:14px;color:var(--cde-jaune-star)}
.cde-resto-card h3{font-family:var(--cde-ft);font-weight:700;font-size:1.2rem;margin-bottom:8px;color:#fff}
.cde-resto-card__quand{font-family:var(--cde-fe);font-size:1.3rem;color:var(--cde-jaune-star);margin-bottom:8px}
.cde-resto-card p{color:rgba(255,255,255,.8);font-size:.92rem;line-height:1.6}
.cde-resto__photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:30px}
.cde-resto__pic{border-radius:var(--cde-r);overflow:hidden}
.cde-resto__pic:first-child{grid-row:span 2}
.cde-resto__pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.cde-resto__pic:hover img{transform:scale(1.04)}
.cde-resto__encart{text-align:center;padding:28px;background:rgba(255,255,255,.1);border-radius:var(--cde-rg);border-left:4px solid var(--cde-jaune-star)}
.cde-resto__encart p{color:rgba(255,255,255,.9);line-height:1.75}
.cde-resto__encart strong{font-family:var(--cde-ft);font-size:1.3rem;color:var(--cde-jaune-star)}

/* ═══ HÉBERGEMENTS ═══ */
.cde-hebergements{padding:clamp(80px,10vw,140px) 0;background:var(--cde-bleu);color:#fff;font-family:var(--cde-fb)}
.cde-hebergements__header{text-align:center;margin-bottom:50px}
.cde-hebergements__header h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.cde-hebergements__header h2 em{color:var(--cde-orange-clair);font-style:italic}
.cde-hebergements__header p{color:rgba(255,255,255,.55);max-width:600px;margin:12px auto 0;line-height:1.75}
.cde-heb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.cde-heb-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--cde-rg);padding:28px;transition:var(--cde-tr)}
.cde-heb-card:hover{border-color:var(--cde-orange);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.cde-heb-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cde-heb-card__head h3{font-family:var(--cde-ft);font-size:1.35rem;font-weight:700}
.cde-heb-card__cap{font-family:var(--cde-fe);font-size:1rem;color:var(--cde-orange-doux);background:rgba(224,123,60,.12);padding:4px 14px;border-radius:20px}
.cde-heb-card p{color:rgba(255,255,255,.55);font-size:.9rem;margin-bottom:14px;line-height:1.7}
.cde-heb-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.cde-heb-card__tags span{padding:5px 12px;background:rgba(255,255,255,.06);border-radius:30px;font-size:.78rem;color:rgba(255,255,255,.5)}
.cde-heb-card__gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cde-heb-card__gallery img{width:100%;height:90px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .3s,opacity .3s}
.cde-heb-card__gallery img:hover{transform:scale(1.05);opacity:.85}
.cde-heb-note{text-align:center;margin-top:30px;color:rgba(255,255,255,.35);font-size:.88rem}

/* ═══ LIGHTBOX ═══ */
.cde-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.cde-lightbox--open{opacity:1;pointer-events:all}
.cde-lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px}
.cde-lightbox__close,.cde-lightbox__prev,.cde-lightbox__next{position:absolute;background:rgba(255,255,255,.1);border:none;color:#fff;cursor:pointer;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cde-lightbox__close:hover,.cde-lightbox__prev:hover,.cde-lightbox__next:hover{background:rgba(255,255,255,.25)}
.cde-lightbox__close{top:20px;right:20px}
.cde-lightbox__prev{left:20px;top:50%;transform:translateY(-50%)}
.cde-lightbox__next{right:20px;top:50%;transform:translateY(-50%)}
.cde-lightbox__counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);font-size:.9rem}

/* ═══ GALERIE — true masonry columns ═══ */
.cde-galerie{padding:clamp(60px,8vw,100px) 0;background:var(--cde-sable);font-family:var(--cde-fb)}
.cde-galerie__header{text-align:center;margin-bottom:32px}
.cde-galerie__header h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.cde-galerie__header h2 em{color:var(--cde-vert);font-style:italic}
.cde-galerie__masonry{columns:4;column-gap:10px}
.cde-galerie__item{break-inside:avoid;margin-bottom:10px;border-radius:var(--cde-r);overflow:hidden}
.cde-galerie__item img{width:100%;display:block;transition:transform .4s;cursor:pointer}
.cde-galerie__item:hover img{transform:scale(1.04)}

/* ═══ TARIFS — visible on light bg ═══ */
.cde-tarifs{padding:clamp(80px,10vw,140px) 0;background:var(--cde-sable);font-family:var(--cde-fb);color:var(--cde-noir)}
.cde-tarifs__header{text-align:center;margin-bottom:50px}
.cde-tarifs__header h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--cde-bleu)}
.cde-tarifs__header h2 em{color:var(--cde-orange);font-style:italic}
.cde-tarifs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cde-tarif-card{background:#fff;border-radius:var(--cde-rg);padding:36px 28px;text-align:center;border:2px solid var(--cde-sable);transition:var(--cde-tr);position:relative}
.cde-tarif-card--star{background:var(--cde-bleu);color:#fff;border-color:var(--cde-orange)}
.cde-tarif-card:hover:not(.cde-tarif-card--star){border-color:var(--cde-orange);box-shadow:var(--cde-sh)}
.cde-tarif-card__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--cde-orange);color:#fff;font-size:.75rem;font-weight:700;padding:5px 16px;border-radius:30px;font-family:var(--cde-fe)}
.cde-tarif-card h3{font-family:var(--cde-ft);font-size:1.3rem;font-weight:700;margin-bottom:14px;color:var(--cde-bleu)}
.cde-tarif-card--star h3{color:#fff}
.cde-tarif-card__prix{font-family:var(--cde-ft);font-size:2.4rem;font-weight:700;color:var(--cde-orange);margin-bottom:4px}
.cde-tarif-card--star .cde-tarif-card__prix{color:var(--cde-orange-clair)}
.cde-tarif-card__unit{font-size:.82rem;color:#889;margin-bottom:20px}
.cde-tarif-card--star .cde-tarif-card__unit{color:rgba(255,255,255,.45)}
.cde-tarif-card ul{list-style:none;text-align:left;margin-bottom:24px;padding:0}
.cde-tarif-card ul li{padding:7px 0;font-size:.9rem;color:#5A554E;display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid rgba(0,0,0,.06)}
.cde-tarif-card--star ul li{color:rgba(255,255,255,.65);border-color:rgba(255,255,255,.06)}
.cde-tarif-card ul li:last-child{border:none}
.cde-tarif-card ul li::before{content:'\2192';color:var(--cde-orange);flex-shrink:0}
.cde-tarifs__infos{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.cde-tarifs__info{padding:10px 20px;background:#fff;border-radius:40px;font-size:.85rem;color:var(--cde-brun);box-shadow:0 1px 4px rgba(0,0,0,.05)}

/* ═══ LOCALISATION ═══ */
.cde-localisation{padding:clamp(80px,10vw,140px) 0;background:var(--cde-bleu);color:#fff;font-family:var(--cde-fb)}
.cde-localisation__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center}
.cde-localisation h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin-bottom:20px}
.cde-localisation h2 em{color:var(--cde-orange-clair);font-style:italic}
.cde-localisation__texte{color:rgba(255,255,255,.55);margin-bottom:24px;line-height:1.75}
.cde-localisation__distances{display:flex;flex-direction:column;gap:10px}
.cde-localisation__dist{display:flex;align-items:center;gap:14px;padding:12px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--cde-r)}
.cde-localisation__km{font-family:var(--cde-ft);font-size:1.2rem;font-weight:700;color:var(--cde-orange-clair);min-width:55px}
.cde-localisation__lieu{font-size:.9rem;color:rgba(255,255,255,.6)}
.cde-localisation__carte{border-radius:var(--cde-rg);overflow:hidden;aspect-ratio:4/3;box-shadow:0 8px 40px rgba(0,0,0,.3)}
.cde-localisation__carte iframe{width:100%;height:100%;border:none;display:block}

/* ═══ CONTACT ═══ */
.cde-contact{padding:clamp(80px,10vw,140px) 0;background:var(--cde-vert);text-align:center;font-family:var(--cde-fb);color:#fff}
.cde-contact__inner{max-width:700px;margin:0 auto}
.cde-contact .cde-label{color:#fff;justify-content:center}
.cde-contact .cde-label i{color:#fff}
.cde-contact h2{font-family:var(--cde-ft);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin-bottom:14px;color:#fff}
.cde-contact h2 em{color:var(--cde-jaune-star);font-style:italic}
.cde-contact .cde-zigzag{background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0px,rgba(255,255,255,.4) 10px,transparent 10px,transparent 20px)}
.cde-contact__texte{color:rgba(255,255,255,.8);margin-bottom:36px;line-height:1.75}
.cde-contact__moyens{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.cde-contact__moyen{display:flex;align-items:center;gap:12px;padding:18px 24px;background:rgba(255,255,255,.12);border-radius:var(--cde-r);transition:var(--cde-tr);text-decoration:none;color:#fff}
.cde-contact__moyen:hover{transform:translateY(-3px);background:rgba(255,255,255,.2)}
.cde-contact__moyen i{font-size:1.3rem;color:var(--cde-jaune-star)}
.cde-contact__moyen-label{font-size:.72rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;margin:0}
.cde-contact__moyen-value{font-weight:700;font-size:.95rem;margin:0}
.cde-contact__alerte{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--cde-r);font-size:.88rem;color:var(--cde-jaune-star);font-weight:600}

/* ═══ FOOTER — aligned ═══ */
.cde-footer{padding:28px 0;background:#0F2530;color:rgba(255,255,255,.4);font-size:.82rem;font-family:var(--cde-fb)}
.cde-footer__inner{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;text-align:center}
.cde-footer__inner p{margin:0}
.cde-footer__links{display:flex;gap:16px}
.cde-footer__links a{color:rgba(255,255,255,.55);transition:var(--cde-tr);text-decoration:none;cursor:pointer}
.cde-footer__links a:hover{color:var(--cde-orange-clair)}

/* ═══ MODAL (mentions légales) ═══ */
.cde-modal{position:fixed;inset:0;z-index:999998;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.cde-modal--open{opacity:1;pointer-events:all}
.cde-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.cde-modal__content{position:relative;background:var(--cde-blanc);border-radius:var(--cde-rg);max-width:700px;width:90%;max-height:80vh;overflow-y:auto;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.3);font-family:var(--cde-fb);color:var(--cde-noir)}
.cde-modal__content h2{font-family:var(--cde-ft);font-size:1.6rem;color:var(--cde-bleu);margin-bottom:20px}
.cde-modal__content h3{font-family:var(--cde-ft);font-size:1.1rem;color:var(--cde-orange);margin:20px 0 8px}
.cde-modal__content p{font-size:.92rem;line-height:1.7;color:#555;margin-bottom:12px}
.cde-modal__close{position:absolute;top:16px;right:16px;background:var(--cde-sable);border:none;cursor:pointer;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cde-modal__close:hover{background:var(--cde-orange);color:#fff}
.cde-modal__close svg{stroke:currentColor}

/* ═══ SCROLL ANIM ═══ */
.cde-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.cde-up.cde-vu{opacity:1;transform:translateY(0)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){
    .cde-intro__grid,.cde-chapiteau__grid,.cde-localisation__grid{grid-template-columns:1fr}
    .cde-heb-grid,.cde-tarifs__grid,.cde-resto__cards{grid-template-columns:1fr}
    .cde-galerie__masonry{columns:2}
    .cde-resto__photos{grid-template-columns:1fr 1fr}.cde-resto__pic:first-child{grid-row:span 1}
    .cde-nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(27,58,75,.98);flex-direction:column;padding:20px;gap:16px}
    .cde-nav__links--open{display:flex}
    .cde-nav__burger{display:block}
    .cde-nav__right{gap:10px}
    .cde-intro__photos{min-height:400px}.cde-intro__photo--big{height:360px}.cde-intro__photo--small{width:50%;height:200px}
}
@media(max-width:550px){
    .cde-intro__trucs{grid-template-columns:1fr}
    .cde-intro__photo--small{display:none}
    .cde-intro__photo--big{transform:none;height:300px}
    .cde-galerie__masonry{columns:2}
    .cde-resto__photos{grid-template-columns:1fr}
    .cde-contact__moyens{flex-direction:column;align-items:center}
    .cde-footer__inner{flex-direction:column}
    .cde-heb-card__gallery{grid-template-columns:repeat(2,1fr)}
    .cde-nav__tel{display:none}
}

/* ═══ v4 FIXES ═══ */

/* Nav — no bullets, hover effect */
.cde-nav__links{list-style:none !important}
.cde-nav__links li{list-style:none !important}
.cde-nav__links li::before{display:none !important;content:none !important}
.cde-nav__links a{position:relative;padding-bottom:4px}
.cde-nav__links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--cde-orange-clair);transition:width .3s ease}
.cde-nav__links a:hover::after{width:100%}

/* Bigger intro label */
.cde-label--big{font-size:clamp(1.6rem,2.5vw,2rem) !important}

/* Resto — uniform image height */
.cde-resto__photos{grid-auto-rows:260px}
.cde-resto__pic{height:100%}
.cde-resto__pic:first-child{grid-row:span 1}
.cde-resto__photos{grid-template-columns:repeat(3,1fr)}

/* Resto — prix line */
.cde-resto__prix-line{font-family:var(--cde-ft);font-size:1.2rem;color:var(--cde-jaune-star)}

/* Pizza section */
.cde-resto__pizza{display:flex;align-items:center;gap:24px;margin-top:30px;padding:28px 32px;background:rgba(0,0,0,.15);border-radius:var(--cde-rg);border:2px dashed rgba(255,255,255,.2)}
.cde-resto__pizza-icon{font-size:3rem;color:var(--cde-jaune-star);flex-shrink:0;animation:cde-flame 1.5s ease-in-out infinite alternate}
@keyframes cde-flame{0%{transform:scale(1)}100%{transform:scale(1.1) rotate(5deg)}}
.cde-resto__pizza-body h3{font-family:var(--cde-ft);font-size:1.4rem;margin-bottom:6px;color:#fff}
.cde-resto__pizza-body p{color:rgba(255,255,255,.8);font-size:1rem;margin-bottom:8px}
.cde-resto__pizza-tel{display:inline-flex;align-items:center;gap:6px;color:var(--cde-jaune-star);font-weight:700;font-size:1.1rem;text-decoration:none}
.cde-resto__pizza-tel:hover{text-decoration:underline}

/* Hébergements — more fun, less formal */
.cde-hebergements__intro{color:rgba(255,255,255,.6);max-width:650px;margin:12px auto 0;font-size:1.05rem;line-height:1.7}
.cde-heb-card{padding:24px;border-radius:16px}
.cde-heb-card__head h3{font-size:1.5rem}
.cde-heb-card__cap{font-size:1.1rem}
.cde-heb-card p{font-size:.95rem;line-height:1.8}
.cde-heb-card__gallery img{height:100px;border-radius:10px}

/* Contact grid */
.cde-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;max-width:550px;margin-left:auto;margin-right:auto}
.cde-contact__moyen{display:flex;align-items:center;gap:12px;padding:20px;background:rgba(255,255,255,.12);border-radius:var(--cde-r);text-decoration:none;color:#fff;transition:var(--cde-tr)}
.cde-contact__moyen:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.cde-contact__moyen--full{grid-column:span 2;justify-content:center}
.cde-contact__moyen i{font-size:1.4rem;color:var(--cde-jaune-star);flex-shrink:0;width:24px;text-align:center}
.cde-contact__moyen-label{display:block;font-size:.72rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}
.cde-contact__moyen-value{display:block;font-weight:700;font-size:.95rem}

/* Footer — centered */
.cde-footer__inner{justify-content:center;text-align:center;flex-direction:row;gap:8px}
.cde-footer__inner p{margin:0}
.cde-footer__links{display:flex;gap:16px;align-items:center}
.cde-footer__links a{display:inline-flex;align-items:center;gap:4px}
.cde-footer__inner::before{display:none}

/* Manifesto sous-titre */
.cde-manifesto__sous{font-family:var(--cde-fe);font-size:1.5rem;color:rgba(255,255,255,.6);margin-top:-12px;margin-bottom:16px}

@media(max-width:550px){
    .cde-contact__grid{grid-template-columns:1fr}
    .cde-contact__moyen--full{grid-column:span 1}
    .cde-resto__pizza{flex-direction:column;text-align:center}
}

/* v4 FIXES */
.cde-nav__links{list-style:none !important}.cde-nav__links li{list-style:none !important}.cde-nav__links li::before{display:none !important;content:none !important}
.cde-nav__links a{position:relative;padding-bottom:4px}.cde-nav__links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--cde-orange-clair);transition:width .3s ease}.cde-nav__links a:hover::after{width:100%}
.cde-label--big{font-size:clamp(1.6rem,2.5vw,2rem) !important}
.cde-resto__photos{grid-auto-rows:260px;grid-template-columns:repeat(3,1fr)}.cde-resto__pic{height:100%}.cde-resto__pic:first-child{grid-row:span 1}
.cde-resto__prix-line{font-family:var(--cde-ft);font-size:1.2rem;color:var(--cde-jaune-star)}
.cde-resto__pizza{display:flex;align-items:center;gap:24px;margin-top:30px;padding:28px 32px;background:rgba(0,0,0,.15);border-radius:var(--cde-rg);border:2px dashed rgba(255,255,255,.2)}
.cde-resto__pizza-icon{font-size:3rem;color:var(--cde-jaune-star);flex-shrink:0;animation:cde-flame 1.5s ease-in-out infinite alternate}
@keyframes cde-flame{0%{transform:scale(1)}100%{transform:scale(1.1) rotate(5deg)}}
.cde-resto__pizza-body h3{font-family:var(--cde-ft);font-size:1.4rem;margin-bottom:6px;color:#fff}
.cde-resto__pizza-body p{color:rgba(255,255,255,.8);font-size:1rem;margin-bottom:8px}
.cde-resto__pizza-tel{display:inline-flex;align-items:center;gap:6px;color:var(--cde-jaune-star);font-weight:700;font-size:1.1rem;text-decoration:none}.cde-resto__pizza-tel:hover{text-decoration:underline}
.cde-hebergements__intro{color:rgba(255,255,255,.6);max-width:650px;margin:12px auto 0;font-size:1.05rem}
.cde-heb-card{padding:24px;border-radius:16px}.cde-heb-card__head h3{font-size:1.5rem}.cde-heb-card__cap{font-size:1.1rem}
.cde-heb-card p{font-size:.95rem;line-height:1.8}.cde-heb-card__gallery img{height:100px;border-radius:10px}
.cde-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;max-width:550px;margin-left:auto;margin-right:auto}
.cde-contact__moyen{display:flex;align-items:center;gap:12px;padding:20px;background:rgba(255,255,255,.12);border-radius:var(--cde-r);text-decoration:none;color:#fff;transition:var(--cde-tr)}
.cde-contact__moyen:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.cde-contact__moyen--full{grid-column:span 2;justify-content:center}
.cde-contact__moyen i{font-size:1.4rem;color:var(--cde-jaune-star);flex-shrink:0;width:24px;text-align:center}
.cde-contact__moyen-label{display:block;font-size:.72rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}
.cde-contact__moyen-value{display:block;font-weight:700;font-size:.95rem}
.cde-footer__inner{justify-content:center;text-align:center;gap:8px}.cde-footer__links{display:flex;gap:16px;align-items:center}.cde-footer__links a{display:inline-flex;align-items:center;gap:4px}
.cde-manifesto__sous{font-family:var(--cde-fe);font-size:1.5rem;color:rgba(255,255,255,.6);margin-top:-12px;margin-bottom:16px}
@media(max-width:550px){.cde-contact__grid{grid-template-columns:1fr}.cde-contact__moyen--full{grid-column:span 1}.cde-resto__pizza{flex-direction:column;text-align:center}.cde-resto__photos{grid-auto-rows:200px;grid-template-columns:1fr}}

/* Fix intro title visible */
.cde-intro h2{color:var(--cde-bleu) !important}
.cde-intro h2 em{color:var(--cde-vert) !important}

/* Scattered stars */
.cde-stars-deco{position:absolute;pointer-events:none;color:var(--cde-jaune-star);opacity:.15;font-size:1.2rem}
.cde-stars-deco--1{top:30px;right:40px;font-size:1.5rem;opacity:.12;transform:rotate(15deg)}
.cde-stars-deco--2{bottom:40px;left:30px;font-size:1rem;opacity:.18;transform:rotate(-10deg)}
.cde-stars-deco--3{top:50%;right:20px;font-size:.9rem;opacity:.1;transform:rotate(25deg)}
.cde-intro{position:relative;overflow:hidden}
.cde-manifesto{position:relative;overflow:hidden}
.cde-chapiteau{position:relative;overflow:hidden}
.cde-resto{position:relative;overflow:hidden}
.cde-hebergements{position:relative;overflow:hidden}
.cde-tarifs{position:relative;overflow:hidden}
.cde-galerie{position:relative;overflow:hidden}
.cde-contact{position:relative;overflow:hidden}

/* ═══ CONTACT FIX — clean centered layout ═══ */
.cde-contact__inner{max-width:600px;margin:0 auto;text-align:center}
.cde-contact__grid{display:flex;flex-direction:column;gap:12px;margin:0 auto 28px;max-width:500px}
.cde-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cde-contact__moyen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 20px;background:rgba(255,255,255,.1);border-radius:12px;text-decoration:none;color:#fff;transition:.3s ease;text-align:center;min-height:110px}
.cde-contact__moyen:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.cde-contact__moyen i{font-size:1.5rem;color:var(--cde-jaune-star)}
.cde-contact__moyen-label{font-size:.7rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;display:block}
.cde-contact__moyen-value{font-weight:700;font-size:1rem;display:block}
.cde-contact__moyen--full{grid-column:auto}
.cde-contact__alerte{display:inline-flex;align-items:center;gap:8px;padding:16px 28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;font-size:.9rem;color:var(--cde-jaune-star);font-weight:600;margin-top:8px}
@media(max-width:550px){
    .cde-contact__row{grid-template-columns:1fr}
}
