/* Camping & Rallyes — mise en page exclusivement locale. */
.camping-main{--ivory:#FAF7F1;--sand:#E9DDCD;--terra:#B76549;--chocolate:#352A25;--lagoon:#246D72;background:var(--ivory);color:var(--chocolate)}
.camping-main *{box-sizing:border-box;min-width:0}
.camping-main figure{margin:0;overflow:hidden}
.camping-main img{display:block;width:100%;height:auto;filter:none!important}
.camping-main h1,.camping-main h2{font:400 clamp(44px,4.5vw,64px)/1.06 Cormorant,Georgia,serif;letter-spacing:-.025em;margin:18px 0 24px}
.camping-main p{font:400 16px/1.85 Manrope,Arial,sans-serif;margin:0;max-width:640px}
.camping-main .eyebrow{font:600 11px/1.8 Manrope,Arial,sans-serif;letter-spacing:.12em;color:var(--terra)}
.camping-main .button{background:var(--terra);border-color:var(--terra);color:#FFFDF9;font:600 12px/1.5 Manrope,Arial,sans-serif;padding:17px 24px;min-height:54px;margin-top:26px;white-space:normal;text-align:center}
.camping-container{padding:44px max(28px,calc((100% - 1200px)/2))}
.camping-hero{position:relative;isolation:isolate;height:clamp(590px,77svh,710px);background:var(--chocolate)}
.camping-hero>figure{position:absolute;inset:0;z-index:0}
.camping-hero img{height:100%;object-fit:cover;object-position:center}
.camping-hero-copy{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:48px max(28px,calc((100% - 1200px)/2));background:linear-gradient(90deg,#352a25be,#352a2555 55%,transparent 90%)}
.camping-hero .eyebrow{color:var(--sand)}
.camping-main .camping-hero h1{font-size:clamp(64px,6.2vw,92px);color:#FFFDF9;margin:22px 0 26px}
.camping-hero p{max-width:510px;color:#FFFDF9}
.camping-halte{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:32px;align-items:center}
.camping-halte figure{border-radius:8px 56px 8px 8px}
.camping-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;background:var(--sand)}
.camping-option{display:flex;flex-direction:column;align-items:flex-start}
.camping-option h2{font-size:clamp(40px,3.9vw,56px);max-width:500px}
.camping-option p{flex:1}
.camping-option .button{background:transparent;border-color:var(--lagoon);color:var(--lagoon)}
.camping-panorama{padding-top:38px;padding-bottom:40px}
.camping-panorama>div{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}
.camping-panorama h2{margin:0;max-width:750px}
.camping-panorama figure{border-radius:48px 8px 8px 8px}
.camping-panorama img{aspect-ratio:2.4;object-fit:cover}
.camping-contact{background:var(--sand);text-align:center;border-radius:48px 48px 0 0}
.camping-contact h2{max-width:850px;margin:18px auto 24px}
.camping-contact>p{margin:auto}
.camping-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.camping-actions>.button:last-child{background:transparent;color:var(--chocolate);border-color:var(--chocolate)}
.camping-stay{padding-top:24px;padding-bottom:28px}
.camping-main .booking{position:relative;inset:auto;width:100%;max-width:none;margin:16px 0 0;padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);gap:18px;background:transparent;border:1px solid var(--sand);border-radius:6px;box-shadow:none}
.camping-main .booking input,.camping-main .booking select{width:100%;max-width:100%}
.camping-main .booking .button{margin:0;background:transparent;color:var(--lagoon);border-color:var(--lagoon);font-size:11px}
.camping-main .camping-note{font-size:12px;margin-top:14px}
@media(max-width:900px){.camping-container{padding:36px 28px}.camping-halte{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:24px}.camping-options{gap:28px}.camping-panorama>div{display:block}.camping-panorama h2{margin-top:14px}.camping-main .booking{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.camping-container{padding:32px 18px}.camping-hero{height:610px}.camping-hero-copy{padding:36px 22px;background:linear-gradient(90deg,#352a25be,#352a2555)}.camping-main .camping-hero h1{font-size:clamp(52px,13vw,68px)}.camping-main h2{font-size:42px}.camping-main p{font-size:15px}.camping-halte,.camping-options{grid-template-columns:1fr;gap:28px}.camping-halte figure{grid-row:1}.camping-options{gap:36px}.camping-option h2{font-size:40px}.camping-panorama img{aspect-ratio:1.45}.camping-contact{border-radius:28px 28px 0 0}.camping-actions{flex-direction:column;gap:12px;margin-top:26px}.camping-actions .button{margin:0;justify-content:center}.camping-main .booking{padding:16px 12px;gap:18px 12px}.camping-main .booking .button{grid-column:1/-1}}
/* Trois finitions ciblées : titres, panorama et conclusion. */
.camping-main .camping-option h2{font-size:clamp(42px,4.15vw,60px)}
.camping-main .camping-panorama{padding-left:max(28px,calc((100% - 1320px)/2));padding-right:max(28px,calc((100% - 1320px)/2))}
.camping-main .camping-panorama img{aspect-ratio:auto;height:auto;object-fit:contain}
.camping-main .camping-contact h2{max-width:1050px;text-wrap:balance}
@media(min-width:601px){.camping-main .camping-options{column-gap:64px}.camping-main .camping-option+ .camping-option{position:relative}.camping-main .camping-option+ .camping-option::before{content:"";position:absolute;left:-32px;top:6px;bottom:6px;width:1px;background:#B7654933}}
@media(min-width:601px) and (max-width:900px){.camping-main .camping-options{column-gap:40px}.camping-main .camping-option+ .camping-option::before{left:-20px}}
@media(max-width:600px){.camping-main .camping-option h2{font-size:42px}.camping-main .camping-panorama{padding-left:18px;padding-right:18px}}

/* Directive 24 — les deux offres comparables partagent un axe central. */
.camping-main .camping-option{align-items:center;text-align:center}
.camping-main .camping-option > h2,.camping-main .camping-option > p{margin-left:auto;margin-right:auto}
