/* Familial chaleureux : composition inspirée de la maquette retenue. */
:root{--ink:#013f6a;--teal:#03a2c3;--deep:#013653;--coral:#febc4d;--yellow:#febc4d;--sand:#cda36e;--cream:#fffaf4;--mint:#e8f7fa;--radius:18px;--max:1460px}
body{font-family:"Segoe UI",Arial,sans-serif;background:var(--cream)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.04em;font-weight:700}h2{font-size:clamp(2.25rem,3.25vw,3.7rem)}h3{font-size:1.6rem}.utility{display:none}.header{border-bottom:0;background:#fffcf5}.nav-row{min-height:86px;gap:40px}.brand{gap:16px}.brand img{width:74px;height:74px}.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2.5vw,2.8rem);line-height:1.1;font-weight:700;letter-spacing:-.04em}.brand small{font-size:.72rem;letter-spacing:.105em;font-weight:600;margin-top:2px}.main-nav{gap:clamp(16px,2vw,35px)}.main-nav>a{font-size:.9rem;font-weight:600;white-space:nowrap}.main-nav .btn{padding:12px 29px;min-width:146px;font-size:1rem}.btn{border-radius:100px;background:var(--coral);font-weight:700;box-shadow:inset 0 0 0 1px #ffffff25}.btn:hover{background:#d94b39}.btn.outline{border-color:var(--teal)}.btn.teal{background:#077585}.handwritten{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-style:italic;font-weight:400;line-height:1.55;letter-spacing:0}.resort-hero{height:clamp(470px,32vw,580px);position:relative;isolation:isolate;overflow:hidden;background:#73b8db}.hero-family{position:absolute;inset:0 auto 0 0;width:66%;height:100%;object-fit:cover;object-position:center 47%;z-index:-1}.hero-seaside{position:absolute;inset:0 0 0 auto;width:39%;height:100%;object-fit:cover;object-position:0% 70%;z-index:-2}.holiday-note{position:absolute;left:6%;top:27px;color:white;font-size:1.18rem;transform:rotate(-7deg);text-shadow:0 1px 5px #07394c50;margin:0}.holiday-note span{display:block;font-family:Georgia,serif;font-size:2.5rem;line-height:1.1;text-align:center;margin-top:2px}.seaside-note{position:absolute;right:1.4%;top:36%;color:white;font-size:1.05rem;transform:rotate(-9deg);text-shadow:0 2px 5px #07394c70;width:78px}.resort-panel{position:relative;margin-left:62%;width:32%;height:100%;background:var(--cream);border-radius:18% 13% 12% 9% / 13% 23% 38% 14%;padding:clamp(25px,2.4vw,43px) clamp(23px,2.1vw,37px) 23px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:-12px 0 22px #12394508}.resort-panel h1{font-size:clamp(2.35rem,3.5vw,4rem);line-height:1.03;margin:0 -9px 13px;letter-spacing:-.035em;position:relative;transform:rotate(-2deg)}.resort-panel h1 .heart{color:var(--coral);font-family:"Segoe Print",cursive;font-weight:400;display:inline-block;font-size:.9em;vertical-align:middle;transform:rotate(12deg);margin-left:4px}.resort-panel .sun-accent{position:absolute;left:5%;top:7%;color:#e9a522;font-size:2.7rem;line-height:1;transform:rotate(-13deg);font-family:Georgia,serif}.resort-panel .subhead{font-size:clamp(.88rem,1.14vw,1.15rem);line-height:1.4;white-space:normal;margin:0 -9px 20px}.resort-booking{display:grid;grid-template-columns:1fr 1fr;gap:11px 13px;text-align:left;background:white;border-radius:20px;padding:19px 20px;box-shadow:0 7px 18px #9968240c}.resort-booking label{font-size:.73rem;font-weight:600;display:grid;gap:5px;min-width:0}.resort-booking input,.resort-booking select{border:1px solid #dce1e3;border-radius:12px;background:white;color:var(--ink);width:100%;min-width:0;padding:9px 10px;font-size:.82rem;line-height:1.25;height:39px}.resort-booking .btn{grid-column:1/-1;min-height:46px;font-size:1.05rem;padding:11px 20px;margin-top:2px;box-shadow:0 4px 0 #a8d5c94d}.resort-services{display:flex;justify-content:space-around;align-items:flex-end;gap:8px;padding-top:19px}.resort-services a{display:grid;justify-items:center;gap:4px;font-size:.87rem;font-weight:700}.resort-services svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.resort-services a:nth-child(1) svg{color:var(--teal)}.resort-services a:nth-child(2) svg{color:var(--coral)}.resort-services a:nth-child(3) svg{color:#efad2e}.resort-services a:hover{color:#bc4337}.resort-hero>.image-note{position:absolute;bottom:8px;left:18px;color:white;text-shadow:0 1px 5px #0009;font-size:.68rem;margin:0;background:#07394c38;padding:2px 6px;border-radius:4px}.lodging-showcase{padding:24px 0 42px}.showcase-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.showcase-head h2{font-size:clamp(2.15rem,3.1vw,3.3rem);margin:0;white-space:nowrap}.showcase-head .handwritten{font-size:clamp(.95rem,1.35vw,1.4rem);margin:0 0 0 auto;transform:rotate(-4deg);border-bottom:2px solid var(--teal);padding-bottom:4px}.showcase-head .btn{font-size:.8rem;min-height:43px;padding:10px 19px;white-space:nowrap}.showcase-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr .84fr;gap:18px;align-items:stretch}.stay-tile{background:white;border-radius:15px;box-shadow:0 5px 12px #9b753310;overflow:hidden;min-width:0;display:flex;flex-direction:column;transition:transform .2s}.stay-tile:hover{transform:translateY(-5px)}.stay-tile>img{width:100%;height:clamp(140px,10.7vw,190px);object-fit:cover}.stay-tile:nth-child(2)>img{object-position:45% center}.stay-tile .tile-copy{padding:13px 15px 16px;position:relative;flex:1}.tile-copy h3{font-size:clamp(1.05rem,1.22vw,1.37rem);margin:0 32px 3px 0;letter-spacing:-.04em;line-height:1.2}.tile-copy p{font-size:.78rem;color:#4b6270;line-height:1.4;margin:0;padding-right:24px}.tile-copy .tile-arrow{position:absolute;right:13px;top:15px;width:35px;height:35px;display:grid;place-content:center;background:var(--yellow);color:var(--ink);border-radius:50%;font-size:1.25rem}.memory-tile{position:relative;overflow:hidden;border-radius:16px;min-height:230px;background:#87cde8;isolation:isolate}.memory-tile>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:-2}.memory-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07394c15,transparent 80%);z-index:-1}.memory-tile .handwritten{position:absolute;right:14px;top:17px;font-size:clamp(1rem,1.3vw,1.35rem);color:white;text-shadow:0 1px 5px #12425555;transform:rotate(-5deg)}.memory-tile .image-note{position:absolute;bottom:5px;left:9px;color:white;font-size:.64rem;margin:0;text-shadow:0 1px 4px #000}.destination-tile{border-radius:16px;background:#054559;color:#fffaeb;display:flex;flex-direction:column;padding:22px 20px;position:relative;overflow:hidden;min-height:230px}.destination-tile .little-wave{color:#78c4c4;font-size:2rem;line-height:.8;letter-spacing:.16em;margin-bottom:18px;opacity:.85}.destination-tile h3{font-size:clamp(1.12rem,1.45vw,1.6rem);line-height:1.13;letter-spacing:-.025em;margin-bottom:13px}.destination-tile .handwritten{font-size:clamp(.87rem,1.1vw,1.1rem);color:#c4ded8;margin-bottom:24px}.destination-tile .tile-arrow{margin:auto 0 0 auto;background:var(--cream);color:var(--ink);width:37px;height:37px;display:grid;place-content:center;border-radius:50%;font-size:1.25rem}.destination-tile:hover{background:#076477}.home-reassurance{display:flex;justify-content:center;gap:50px;border-top:1px solid #0b546318;padding-top:25px;margin-top:32px;flex-wrap:wrap;font-size:.86rem;font-weight:600}.home-reassurance span:before{content:"✓";margin-right:10px;color:#008d96}.welcome-v2{padding:45px 0 75px}.welcome-v2 .split{gap:80px;max-width:1200px;margin:auto}.welcome-v2 .welcome-photo{height:350px;border-radius:42% 10% 10% 12% / 18% 20% 12% 20%;object-fit:cover}.welcome-v2 .handwritten{color:#087581;font-size:1.2rem;transform:rotate(-3deg);margin-bottom:14px}.welcome-v2 h2{font-size:clamp(2.2rem,3.3vw,3.4rem)}.welcome-v2 p{font-size:1rem}.welcome-v2 .btn{font-size:.88rem}.section{padding:70px 0}.section.big-fun{background:#087b88}.big-fun h2{font-size:clamp(2.5rem,4vw,4.3rem)}.photo-stack>img{border-radius:24px;transform:rotate(2deg)}.pool-badge{border-radius:50%;width:148px;height:148px;display:grid;place-content:center;text-align:center;font-size:1rem}.pool-badge strong{font-family:Georgia,serif;font-size:2.7rem}.mini-grid{margin-top:30px}.mini b{font-family:Georgia,serif;font-size:1.5rem;font-weight:700}.escape{border-radius:40px 20px 50px 20px}.escape h2{font-size:clamp(2.5rem,4vw,4rem)}.page-hero{background:#f7efdf;padding:45px 0;border-radius:0 0 4% 8%}.page-hero h1{font-size:clamp(2.8rem,4.5vw,4.8rem)}.eyebrow{color:#087985}.card{border-radius:17px}.card h3{font-size:1.8rem}.card .round-arrow{background:var(--yellow);color:var(--ink)}.chip{border-radius:18px}.fact{background:#f6efdf}.fact b{font-family:Georgia,serif;color:var(--ink)}.cta{background:#ffcd61}.footer{background:#063d50}.footer .brand strong{font-size:1.8rem}.footer .brand small{font-size:.63rem}.footer h3{font-family:Georgia,serif;font-size:1.2rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.15fr}.footer-bottom{color:#c1d2d5}.footer-bottom p:last-child{max-width:660px;text-align:right}.contact-card{background:#f5eddb}.main-nav a[aria-current=page]{color:#ad3b2c}.resort-panel .subhead a{text-decoration:none}
@media(min-width:1700px){.nav-row{min-height:100px}.showcase-grid{gap:22px}.lodging-showcase{padding-top:30px}.resort-booking{gap:13px 15px;padding:22px}.resort-booking input,.resort-booking select{height:43px}.resort-services{padding-top:25px}.resort-services svg{width:43px;height:43px}}
@media(max-width:1200px){.nav-row{gap:22px}.brand img{width:60px;height:60px}.brand strong{font-size:1.85rem}.brand small{font-size:.58rem}.main-nav{gap:17px}.main-nav>a{font-size:.8rem}.main-nav .btn{min-width:auto;padding-inline:23px;font-size:.9rem}.resort-hero{height:500px}.resort-panel{margin-left:57%;width:38%;padding:28px 27px}.hero-family{width:63%}.resort-panel h1{font-size:2.95rem}.resort-panel .subhead{font-size:.94rem}.resort-booking{padding:16px}.seaside-note{display:none}.showcase-grid{gap:13px}.showcase-head{gap:18px}.showcase-head h2{font-size:2.4rem}.showcase-head .handwritten{font-size:1rem}.showcase-head .btn{font-size:.73rem;padding:10px 15px}.tile-copy .tile-arrow{width:30px;height:30px;right:10px}.stay-tile .tile-copy{padding:12px}.tile-copy h3{font-size:1.1rem}.tile-copy p{font-size:.72rem}.destination-tile{padding:20px 16px}.destination-tile h3{font-size:1.25rem}.memory-tile .handwritten{font-size:1.05rem;right:8px}.home-reassurance{gap:25px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:1000px){.container{width:calc(100% - 40px)}.menu-toggle{display:block}.nav-row{justify-content:space-between;min-height:82px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px;box-shadow:var(--shadow)}.main-nav.open{display:flex;flex-direction:column;align-items:stretch}.main-nav>a{font-size:1rem;padding:8px}.main-nav .btn{font-size:1rem;padding:14px}.resort-panel{margin-left:51%;width:45%;padding:25px}.hero-family{width:58%;object-position:40% center}.resort-panel h1{font-size:2.9rem}.resort-panel .subhead{margin-bottom:17px}.resort-services a{font-size:.8rem}.holiday-note{left:3%;font-size:1rem}.showcase-head{flex-wrap:wrap}.showcase-head h2{font-size:2.7rem}.showcase-head .handwritten{display:none}.showcase-grid{grid-template-columns:repeat(3,1fr)}.stay-tile>img{height:190px}.tile-copy h3{font-size:1.4rem}.tile-copy p{font-size:.83rem}.memory-tile{grid-column:1/3;min-height:240px}.memory-tile>img{object-position:center 65%}.memory-tile .handwritten{right:11%;font-size:1.5rem}.destination-tile h3{font-size:1.7rem}.destination-tile .handwritten{font-size:1.15rem}.destination-tile .little-wave{margin-bottom:18px}.welcome-v2 .split{gap:38px}.home-reassurance{font-size:.78rem;gap:19px}.footer .brand strong{font-size:1.5rem}}
@media(max-width:650px){.container{width:calc(100% - 30px)}.brand img{width:54px;height:54px}.brand{gap:10px}.brand strong{font-size:1.65rem}.brand small{font-size:.55rem}.nav-row{min-height:78px;gap:10px}.menu-toggle{font-size:.8rem;padding:9px 11px}.resort-hero{height:auto;padding-top:295px;overflow:hidden;background:var(--cream)}.hero-family{width:100%;height:330px;object-position:center 43%;inset:0}.hero-seaside{display:none}.holiday-note{top:18px;left:7%;font-size:1.05rem}.resort-panel{margin-left:0;width:100%;height:auto;min-height:420px;border-radius:12% 18% 0 0 / 9% 12% 0 0;padding:32px 25px 26px;box-shadow:none}.resort-panel h1{font-size:2.9rem;margin-bottom:13px}.resort-panel .subhead{font-size:.93rem;margin:0 auto 20px;max-width:300px}.resort-panel .sun-accent{left:7%;top:4%;font-size:2.1rem}.resort-booking{padding:17px;gap:11px;max-width:430px;width:100%;margin:auto}.resort-booking input,.resort-booking select{font-size:.83rem;height:41px}.resort-booking .btn{min-height:48px}.resort-services{max-width:420px;width:100%;margin:auto;padding-top:22px}.resort-services svg{width:34px;height:34px}.resort-services a{font-size:.85rem}.resort-hero>.image-note{top:270px;bottom:auto;font-size:.64rem;left:10px}.lodging-showcase{padding:24px 0 30px}.showcase-head{gap:14px;margin-bottom:20px;align-items:flex-start}.showcase-head h2{font-size:2.3rem;white-space:normal}.showcase-head .btn{font-size:.77rem;min-height:38px;padding:9px 15px}.showcase-grid{grid-template-columns:1fr 1fr;gap:14px}.stay-tile:first-child{grid-column:1/-1}.stay-tile:first-child>img{height:225px}.stay-tile>img{height:140px}.stay-tile .tile-copy{padding:13px 12px 16px}.tile-copy h3{font-size:1.15rem;margin-right:25px}.tile-copy p{font-size:.75rem}.tile-copy .tile-arrow{width:28px;height:28px;right:9px}.memory-tile{grid-column:auto;min-height:255px}.memory-tile .handwritten{font-size:1rem;right:9px;top:12px}.memory-tile>img{object-position:center}.destination-tile{min-height:255px;padding:22px 15px}.destination-tile h3{font-size:1.35rem}.destination-tile .handwritten{font-size:.9rem}.destination-tile .little-wave{font-size:1.6rem}.home-reassurance{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;text-align:left;padding-top:23px;margin-top:24px;font-size:.75rem}.home-reassurance span:before{margin-right:6px}.welcome-v2{padding:20px 0 45px}.welcome-v2 .split{gap:30px}.welcome-v2 .welcome-photo{height:300px;order:2}.welcome-v2 .handwritten{font-size:1.05rem}.welcome-v2 h2{font-size:2.4rem}.section{padding:50px 0}.pool-badge{width:122px;height:122px;font-size:.85rem}.pool-badge strong{font-size:2.3rem}.escape{border-radius:30px 15px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom p:last-child{text-align:left}.footer .brand strong{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.stay-tile:hover{transform:none}}

/* Plus d'air autour de la promesse et du formulaire sur grand écran. */
@media(min-width:1201px){
  .resort-hero{height:clamp(630px,37vw,720px)}
  .resort-panel{width:min(34%,600px);margin-left:auto;margin-right:clamp(24px,3.5vw,72px);padding:clamp(64px,4vw,82px) clamp(32px,2.4vw,46px) clamp(48px,3vw,66px)}
  .resort-panel h1{margin-bottom:22px}
  .resort-panel .subhead{margin-bottom:30px}
  .resort-booking{width:100%;max-width:500px;margin-inline:auto}
  .resort-services{width:100%;max-width:500px;margin-inline:auto;padding-top:31px}
}
@media(min-width:1001px) and (max-width:1200px){
  .resort-hero{height:560px}
  .resort-panel{padding-top:42px;padding-bottom:38px}
  .resort-panel h1{margin-bottom:18px}
  .resort-panel .subhead{margin-bottom:24px}
  .resort-services{padding-top:25px}
}

/* Une seule photo continue dans le bandeau, y compris en ultrawide. */
.hero-family{width:100%;object-position:center 47%}
.hero-seaside{display:none}
@media(min-width:1201px){
  .seaside-note{display:block;right:calc(min(34%,600px) + clamp(24px,3.5vw,72px) + 26px);top:38%;width:105px;z-index:2;text-align:center}
}

/* Identité visuelle 2026 : couleurs et emblème fournis par le camping. */
.header{background:#fff}.brand{gap:13px}.brand-art{position:relative;display:block;width:108px;height:66px;overflow:hidden;flex:0 0 auto}.brand-art img{position:absolute;display:block;max-width:none;width:188px;height:auto;left:-30px;top:-1px;object-fit:initial}.brand-copy{display:flex;flex-direction:column;min-width:0}.header .brand strong{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(1.16rem,1.55vw,1.6rem);font-weight:800;letter-spacing:.015em;line-height:1;color:var(--ink);white-space:nowrap}.brand small{margin-top:5px;color:var(--teal);font-size:.62rem;letter-spacing:.155em;font-weight:700}.brand em{margin-top:2px;color:var(--sand);font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:.72rem;line-height:1;font-weight:600}.btn,.resort-booking .btn,.cve-content-section .wp-block-button__link{background:var(--yellow);color:var(--ink);box-shadow:none}.btn:hover,.cve-content-section .wp-block-button__link:hover{background:#e4a53f;color:var(--ink)}.main-nav .btn,.main-nav .btn:hover{color:var(--ink)}.main-nav a[aria-current=page],.main-nav>a:not(.btn):hover{color:var(--teal)}.resort-panel h1 .heart{color:var(--sand)}.resort-panel .sun-accent{color:var(--yellow)}.resort-services a:nth-child(2) svg{color:var(--sand)}.resort-services a:nth-child(3) svg{color:var(--yellow)}.resort-services a:hover{color:var(--teal)}.destination-tile{background:var(--ink)}.destination-tile:hover{background:#02517e}.welcome-v2 .handwritten{color:var(--teal)}.section.big-fun{background:var(--teal)}.page-hero{background:#f7f0e6}.cta{background:var(--yellow)}.footer{background:var(--ink)}.contact-card{background:#f5eee5}.round-arrow,.card .round-arrow{color:var(--ink)}
.footer .brand-art{width:92px;height:57px}.footer .brand-art img{width:160px;left:-26px}.footer .brand strong{font-family:"Segoe UI",Arial,sans-serif;font-size:1.05rem;letter-spacing:.015em}.footer .brand small{font-size:.52rem}.footer .brand em{font-size:.62rem;color:#e1ba81}
@media(max-width:1200px){.brand-art{width:84px;height:52px}.brand-art img{width:146px;left:-23px}.brand em{display:none}.header .brand strong{font-size:1.18rem}.brand small{font-size:.5rem}.nav-row{gap:18px}}
@media(max-width:650px){.brand-art{width:65px;height:41px}.brand-art img{width:113px;left:-18px}.header .brand strong{font-size:.88rem;white-space:normal;max-width:150px}.brand small{font-size:.43rem;letter-spacing:.08em}.footer .brand-art{width:76px;height:47px}.footer .brand-art img{width:132px;left:-21px}.footer .brand strong{font-size:.92rem}}
.header{background:#fcfbf9}.footer .brand-art{width:92px;height:50px}.footer .brand-art img{width:340px;left:-11px;top:-203px}
@media(max-width:650px){.footer .brand-art{width:76px;height:42px}.footer .brand-art img{width:280px;left:-9px;top:-167px}}
