/* Maison Floribel – site.css (compatible WAIXERA Editor)
   Grille wx-* identique au convertisseur WAIXERA + thème « volets bleus ».
   Couleurs et polices : modifiez uniquement les variables de :root. */
:root{
  --blue:#1f4f8f;      /* bleu des volets : liens, titres d'accent */
  --navy:#14335c;      /* pied de page, en-tête au défilement */
  --lemon:#f3c33b;     /* boutons (chaises jaunes du jardin) */
  --lemon-dk:#e0ad1f;
  --ink:#1e2532;       /* texte */
  --muted:#566073;     /* texte secondaire */
  --wash:#eef3f7;      /* fond des sections alternées (mur chaulé) */
  --line:#d5dde7;
  --white:#fff;
  --citron:#e9b824;--mandarine:#ec8a2b;--pamplemousse:#e0665a;--olivier:#6e8a3a;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Montserrat",Arial,Helvetica,sans-serif;
  --wrap:1200px;--pad:24px;--section:96px;
}
@media(max-width:767px){:root{--pad:16px;--section:64px}}

/* ---------- fondations WAIXERA (ne pas supprimer : utilisées par l'éditeur) ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-variant-numeric:lining-nums;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
iframe,video,embed,object{max-width:100%}
.wx-text,.wx-html{overflow-wrap:break-word}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--lemon);outline-offset:3px}
.wx-wrap{max-width:calc(var(--wrap) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.wx-wrap.wx-fluid{max-width:none}
.wx-row{--gap:40px;display:flex;flex-wrap:wrap;margin:0 calc(var(--gap)/-2)}
@media(max-width:991px){.wx-row{--gap:28px}}
.wx-col,.wx-sub{padding:0 calc(var(--gap)/2);flex:0 0 calc(var(--xs,12)/12*100%);max-width:calc(var(--xs,12)/12*100%)}
@media(min-width:768px){.wx-col,.wx-sub{flex-basis:calc(var(--sm,12)/12*100%);max-width:calc(var(--sm,12)/12*100%)}}
@media(min-width:992px){.wx-col,.wx-sub{flex-basis:calc(var(--md,12)/12*100%);max-width:calc(var(--md,12)/12*100%)}}
@media(min-width:1200px){.wx-col,.wx-sub{flex-basis:calc(var(--lg,12)/12*100%);max-width:calc(var(--lg,12)/12*100%)}}
@media(max-width:767px){.hide-xs{display:none!important}.wx-nxs{flex-basis:100%!important;max-width:100%!important}}
.wx-vsp{height:var(--sxs,20px)}
.wx-spacer{min-height:1px}
.wx-bgimg{background-repeat:no-repeat;background-size:cover;background-position:center}
.wx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wx-img{margin:0}
.wx-img img{display:block;width:100%;height:auto}
.wx-box{position:relative}
.wx-box[data-wx-added]{padding:48px 0}
.wx-box[data-wx-added] .wx-row{row-gap:24px}
.wx-cta.wx-ctr{text-align:center}

/* ---------- typographie ---------- */
h1,h2,h3,h4{font-variant-numeric:lining-nums;font-family:var(--serif);font-weight:500;color:inherit;margin:0 0 .4em;letter-spacing:-.005em}
.fb-nw{white-space:nowrap}
h1,h2{text-wrap:balance}
h1{font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1.04}
h2{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.1}
h3{font-size:1.55rem;line-height:1.2;font-weight:600}
h4{font-family:var(--sans);font-size:1rem;font-weight:600}
p{margin:0 0 1em}
.wx-text>:last-child{margin-bottom:0}
.wx-text ul{margin:0 0 1.1em;padding-left:1.2em}
.wx-text li{margin:.2em 0}
.wx-text li::marker{color:var(--blue)}
.fb-sub{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.35;color:var(--muted);margin:-.2em 0 1.1em}
.fb-lead{font-size:1.08rem;max-width:60ch}
.fb-small{font-size:.875rem;color:var(--muted)}
.fb-price{font-variant-numeric:lining-nums;font-family:var(--serif);font-size:1.35rem;color:var(--ink)}
.fb-center{text-align:center}
.fb-center .fb-lead{margin-left:auto;margin-right:auto}
.fb-measure{max-width:68ch}

/* ---------- boutons (dans les textes : modifiables par le client) ---------- */
.wx-btn,.fb-btn{display:inline-block;padding:14px 28px;background:var(--lemon);color:var(--ink)!important;text-decoration:none;font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.01em;border:2px solid var(--lemon);border-radius:2px;transition:background .2s,border-color .2s;cursor:pointer}
.wx-btn:hover,.fb-btn:hover{background:var(--lemon-dk);border-color:var(--lemon-dk)}
.wx-btn.fb-ghost{background:transparent;border-color:currentColor;color:var(--blue)!important}
.wx-btn.fb-ghost:hover{background:var(--blue);border-color:var(--blue);color:#fff!important}
.fb-on-dark .wx-btn.fb-ghost{color:#fff!important}
.fb-on-dark .wx-btn.fb-ghost:hover{background:#fff;color:var(--navy)!important;border-color:#fff}
.fb-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.fb-center .fb-btns{justify-content:center}
.fb-link{font-weight:600;text-decoration:none;border-bottom:2px solid var(--lemon);padding-bottom:2px;color:var(--ink)}
.fb-link:hover{color:var(--blue);border-color:var(--blue)}

/* ---------- sections ---------- */
.fb-sec{padding:var(--section) 0}
.fb-sec.fb-tight{padding:calc(var(--section)*.6) 0}
.fb-wash{background:var(--wash)}
.fb-navy{background:var(--navy);color:#fff}
.fb-navy a{color:#fff}
.fb-on-dark{color:#fff}
.fb-on-dark .fb-sub{color:rgba(255,255,255,.82)}
.fb-va{align-items:center}
.fb-head{margin-bottom:48px}
.fb-gap-y{row-gap:40px}

/* ---------- en-tête (posé sur le bandeau) ---------- */
.fb-header{position:absolute;top:0;left:0;right:0;z-index:30;color:#fff}
.fb-header .wx-wrap{max-width:none;padding:0 clamp(16px,3vw,40px)}
.fb-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}
.fb-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.fb-logo{padding:10px 0}
.fb-logo img{width:210px;height:auto;filter:drop-shadow(0 1px 10px rgba(0,0,0,.3))}
@media(max-width:480px){.fb-logo img{width:150px}}
.fb-nav{display:flex;align-items:center;gap:28px}
.fb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.fb-nav a{color:#fff;text-decoration:none;font-size:.92rem;font-weight:500;letter-spacing:.02em;padding:6px 0;border-bottom:2px solid transparent}
.fb-nav a:hover,.fb-nav a[aria-current=page]{border-color:var(--lemon);color:#fff}
.fb-lang{display:flex;gap:2px;font-size:.82rem;font-weight:600}
.fb-lang a,.fb-lang span{padding:4px 7px;border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none}
.fb-lang span{background:#fff;color:var(--navy)}
.fb-nav .fb-book{padding:10px 20px;font-size:.88rem}
.fb-nav-chk{position:absolute;opacity:0;pointer-events:none}
.fb-burger{display:none;cursor:pointer;padding:10px;margin-right:-10px}
.fb-burger i{display:block;width:26px;height:2px;background:#fff;transition:transform .2s,opacity .2s}
.fb-burger i+i{margin-top:6px}
body.fb-scrolled .fb-header{position:fixed;background:rgba(20,51,92,.96);box-shadow:0 2px 18px rgba(0,0,0,.18)}
body.fb-scrolled .fb-bar{min-height:68px}
body.fb-scrolled .fb-logo{padding:6px 0}
body.fb-scrolled .fb-logo img{width:118px;filter:none}
@media(max-width:1099px){
  .fb-burger{display:block}
  .fb-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--navy);flex-direction:column;align-items:flex-start;gap:28px;padding:96px 32px 32px;transform:translateX(100%);transition:transform .25s ease;overflow:auto}
  .fb-nav ul{flex-direction:column;gap:6px}
  .fb-nav a{font-size:1.1rem}
  .fb-nav-chk:checked~.fb-nav{transform:none;box-shadow:-20px 0 60px rgba(0,0,0,.35)}
  .fb-nav-chk:checked~.fb-burger{position:fixed;right:clamp(16px,3vw,40px);z-index:2}
  .fb-nav-chk:checked~.fb-burger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .fb-nav-chk:checked~.fb-burger i:nth-child(2){opacity:0}
  .fb-nav-chk:checked~.fb-burger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .fb-bar{position:relative}
  .fb-burger{position:relative;z-index:2}
}
@media(prefers-reduced-motion:reduce){.fb-nav,.fb-burger i{transition:none}}

/* ---------- bandeau vidéo / image ---------- */
.fb-hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden;background-color:var(--navy)}
.fb-hero.fb-hero-sm{min-height:62vh;min-height:62svh}
.fb-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.fb-hero-video.is-playing{opacity:1}
.fb-hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,28,52,.66) 0%,rgba(12,28,52,.42) 28%,rgba(12,28,52,.46) 62%,rgba(12,28,52,.74) 100%)}
.fb-hero>.wx-wrap{position:relative;z-index:2;width:100%;padding-top:170px;padding-bottom:56px}
.fb-hero-text{text-align:center;max-width:860px;margin:0 auto;text-shadow:0 1px 18px rgba(0,0,0,.25)}
.fb-hero-text .fb-sub{color:#fff;opacity:.95;margin:0 0 .5em;font-size:clamp(1.2rem,2vw,1.55rem)}
.fb-hero-text h1{margin-bottom:.35em}
.fb-hero-text p{font-size:1.06rem;max-width:56ch;margin-left:auto;margin-right:auto}
.fb-hero-text .fb-btns{justify-content:center;margin-top:28px}
.fb-hero .wx-btn.fb-ghost{color:#fff!important;border-color:#fff}
.fb-hero .wx-btn.fb-ghost:hover{background:#fff;color:var(--navy)!important}
.fb-hero-sm .fb-hero-text .fb-nw{white-space:nowrap}
h1,h2{text-wrap:balance}
h1{font-size:clamp(2.3rem,4.6vw,3.8rem)}
.fb-scroll{position:absolute;left:50%;bottom:22px;z-index:2;width:1px;height:46px;background:rgba(255,255,255,.7);transform:translateX(-50%)}

/* ---------- barre de demande de réservation ---------- */
.fb-booking{position:relative;z-index:3;margin:40px auto 0;max-width:1040px;background:rgba(255,255,255,.97);color:var(--ink);padding:18px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;align-items:end;box-shadow:0 18px 50px rgba(8,22,44,.28);text-shadow:none}
.fb-booking label{display:block;font-size:.76rem;font-weight:600;color:var(--muted);margin-bottom:4px;letter-spacing:.02em}
.fb-booking input,.fb-booking select{width:100%;font:inherit;font-size:.95rem;padding:11px 10px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink)}
.fb-booking .fb-btn{white-space:nowrap;padding:13px 22px}
.fb-booking-note{grid-column:1/-1;margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.fb-booking-note a{color:var(--blue);font-weight:600}
.fb-booking.fb-inline{box-shadow:none;border:1px solid var(--line);background:#fff;margin:0;grid-template-columns:1fr 1fr;padding:24px;gap:16px}
.fb-booking.fb-inline .fb-btn{grid-column:1/-1}
@media(max-width:899px){.fb-booking{grid-template-columns:1fr 1fr}.fb-booking .fb-btn{grid-column:1/-1}}
@media(max-width:767px){.fb-hero .fb-booking{display:none}}  /* mobile : le bouton « Réserver » prend le relais */

/* ---------- chiffres clés ---------- */
.fb-facts .wx-col{border-top:2px solid var(--blue);padding-top:20px}
.fb-facts .wx-row{row-gap:32px}
.fb-facts h3{font-size:1.45rem;margin-bottom:.25em}
.fb-facts p{font-size:.94rem;color:var(--muted)}

/* ---------- images ---------- */
.fb-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.fb-photo.fb-land img{aspect-ratio:3/2}
.fb-photo.fb-wide img{aspect-ratio:16/9}
.fb-stack{position:relative}
.fb-stack .fb-inset{position:absolute;width:42%;right:-6%;bottom:-10%;border:8px solid #fff;box-shadow:0 14px 40px rgba(0,0,0,.18)}
@media(max-width:767px){.fb-stack{margin-bottom:56px}.fb-stack .fb-inset{width:38%;right:12px;bottom:-40px;border-width:5px}}
@media(max-width:991px){.fb-stack .fb-inset{right:4%;bottom:-8%}}
.fb-water{width:auto!important;max-height:96px;margin:0 0 14px}
.fb-water img{width:auto;max-height:96px}
figcaption,.fb-cap{font-size:.8rem;color:var(--muted);margin-top:8px}

/* ---------- logements (accueil) ---------- */
.fb-rooms .wx-row{row-gap:56px}
.fb-room{position:relative}
.fb-room .fb-photo img{aspect-ratio:3/2}
.fb-room-text{border-left:4px solid var(--c,var(--blue));padding:4px 0 4px 18px;margin-top:22px}
.fb-room-text h3{margin-bottom:.15em}
.fb-room-text .fb-specs{font-size:.92rem;color:var(--muted);margin-bottom:.6em}
.fb-c-citron{--c:var(--citron)}.fb-c-mandarine{--c:var(--mandarine)}.fb-c-pamplemousse{--c:var(--pamplemousse)}.fb-c-olivier{--c:var(--olivier)}

/* ---------- page chambres ---------- */
.fb-roomnav .wx-wrap{display:block}
.fb-roomnav .wx-text p{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin:0}
.fb-roomnav a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.35rem;font-weight:600;padding:6px 0;border-bottom:3px solid var(--c,var(--blue))}
.fb-roomnav a:hover{color:var(--blue)}
.fb-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.fb-gallery .wx-img{grid-column:span 4}
.fb-gallery .wx-img:first-child{grid-column:span 12}
.fb-gallery .wx-img img{width:100%;aspect-ratio:1/1;object-fit:cover}
.fb-gallery .wx-img:first-child img{aspect-ratio:3/2}
.fb-gallery.fb-t2 .wx-img:not(:first-child){grid-column:span 6}
.fb-gallery.fb-t4 .wx-img:not(:first-child){grid-column:span 3}
@media(max-width:767px){.fb-gallery.fb-t4 .wx-img:not(:first-child){grid-column:span 6}}
.fb-equip{columns:2;column-gap:28px;font-size:.94rem}
@media(max-width:600px){.fb-equip{columns:1}}
.fb-roomblock{scroll-margin-top:90px}

/* ---------- galerie maison ---------- */
.fb-mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:10px}
.fb-mosaic .wx-img{height:100%;overflow:hidden}
.fb-mosaic .wx-img img{width:100%;height:100%;object-fit:cover}
.fb-mosaic .wx-img:first-child{grid-column:span 2;grid-row:span 2}
@media(max-width:767px){.fb-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.fb-mosaic .wx-img:first-child{grid-row:span 2}.fb-mosaic .wx-img:nth-child(6){grid-column:span 2}}

/* ---------- emplacements photo à venir ----------
   Visibles uniquement dans l'éditeur (les zones de texte y sont « contenteditable ») ;
   cachés aux visiteurs tant que l'image provisoire n'est pas remplacée. */
.fb-slot:has(img[src^="data:image/svg"]){display:none}
body:has([contenteditable]) .fb-slot:has(img[src^="data:image/svg"]){display:block;outline:2px dashed #f59e0b;outline-offset:-2px}

/* ---------- bande image (petit-déjeuner) ---------- */
.fb-band{padding:calc(var(--section)*1.25) 0}
.fb-card{background:#fff;padding:44px 44px 40px;max-width:520px;box-shadow:0 20px 60px rgba(8,22,44,.18)}
.fb-card.fb-right{margin-left:auto}
@media(max-width:767px){.fb-card{padding:28px 22px}}

/* ---------- offre ---------- */
.fb-offer{border:1px solid var(--line);border-left:6px solid var(--olivier);background:#fff;padding:26px 30px}
.fb-offer h3{margin-bottom:.2em}

/* ---------- tarifs ---------- */
.fb-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fb-rates{width:100%;border-collapse:collapse;min-width:620px;font-size:.98rem;background:#fff}
.fb-rates th,.fb-rates td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.fb-rates thead th{font-family:var(--serif);font-size:1.3rem;font-weight:600;border-bottom:3px solid var(--c,var(--blue));vertical-align:bottom}
.fb-rates tbody th{font-weight:600}
.fb-rates td{font-variant-numeric:tabular-nums}
.fb-rates tbody tr:hover{background:var(--wash)}
.fb-rates small{display:block;font-family:var(--sans);font-size:.78rem;font-weight:500;color:var(--muted)}

/* ---------- logo, volets, croissant (accueil) ---------- */
.fb-intro-logo{max-width:300px;margin:0 0 22px -6px}
.fb-head-art{width:130px!important;margin:0 auto 14px}
.fb-head-art img{width:130px}
.fb-card-art{max-width:230px;margin:-8px 0 14px -6px}
.fb-room-head{display:flex;align-items:center;gap:14px;margin-bottom:.35em}
.fb-room-head .wx-text h3{margin:0}
.fb-fruit-ic{flex:0 0 auto;width:54px!important}
.fb-fruit-ic img{width:54px;height:54px;object-fit:contain}
@media(max-width:767px){.fb-intro-logo{max-width:240px}}

/* ---------- galerie pleine largeur ---------- */
.fb-full>.wx-wrap{max-width:none;padding:0 10px}
.fb-full .fb-mosaic{grid-auto-rows:clamp(200px,21vw,400px)}
.fb-trio{display:grid;grid-template-columns:2fr 3fr 3fr;gap:10px;margin-top:10px}
.fb-trio .wx-img{height:clamp(320px,32vw,600px);overflow:hidden}
.fb-trio .wx-img img{width:100%;height:100%;object-fit:cover}
.fb-trio .wx-img:nth-child(1){grid-column:1}.fb-trio .wx-img:nth-child(2){grid-column:2}.fb-trio .wx-img:nth-child(3){grid-column:3}
@media(max-width:767px){.fb-trio{grid-template-columns:1fr 1fr}.fb-trio .wx-img{height:220px}.fb-trio .wx-img:nth-child(1){grid-column:1;grid-row:span 2;height:450px}.fb-trio .wx-img:nth-child(2),.fb-trio .wx-img:nth-child(3){grid-column:2}}

/* ---------- avis ---------- */
.fb-score{font-size:1.05rem;margin:.2em 0 .6em}
.fb-stars{color:var(--lemon-dk);letter-spacing:2px;font-size:1.15rem}
.fb-reviews{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.fb-reviews>.fb-review{grid-column:span 2}
.fb-reviews>.fb-review:nth-child(n+4){grid-column:span 3}
@media(max-width:991px){.fb-reviews{grid-template-columns:1fr}.fb-reviews>.fb-review,.fb-reviews>.fb-review:nth-child(n+4){grid-column:auto}}
.fb-review{background:#fff;padding:30px 30px 24px;border-top:3px solid var(--blue);display:flex;flex-direction:column}
.fb-review blockquote{flex:1}
.fb-review h3{font-size:1.3rem;margin-bottom:.4em}
.fb-review blockquote{margin:0}
.fb-review blockquote p{font-family:var(--serif);font-size:1.18rem;line-height:1.5;color:var(--ink)}
.fb-who{font-size:.8rem;font-weight:600;color:var(--muted);margin:0}

/* ---------- FAQ ---------- */
.fb-faq h3{font-size:1.35rem;margin:1.4em 0 .35em;padding-top:1.1em;border-top:1px solid var(--line)}
.fb-faq h3:first-of-type{margin-top:.6em}
.fb-faq p{max-width:70ch}

/* ---------- contact ---------- */
.fb-phone{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:600;text-decoration:none;color:var(--blue);line-height:1.1}
.fb-map iframe{width:100%;height:420px;border:0;display:block;filter:saturate(.9)}

/* ---------- bandeau final ---------- */
.fb-cta{padding:var(--section) 0;background:var(--blue);color:#fff;text-align:center}
.fb-cta .fb-sub{color:rgba(255,255,255,.85)}

/* ---------- pied de page ---------- */
.fb-footer{background:var(--navy);color:rgba(255,255,255,.86);padding:72px 0 28px;font-size:.92rem}
.fb-footer a{color:#fff;text-decoration:none}
.fb-footer a:hover{text-decoration:underline}
.fb-footer h4{color:#fff;font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:0 0 .6em}
.fb-footer ul{list-style:none;margin:0;padding:0}
.fb-footer li{margin:.3em 0}
.fb-footer .fb-flogo img{width:240px;margin-left:-6px}
.fb-footer .wx-row{row-gap:36px}
.fb-legal{border-top:1px solid rgba(255,255,255,.18);margin-top:48px;padding-top:22px;font-size:.8rem;color:rgba(255,255,255,.66)}
.fb-legal p{margin:0}

/* ---------- polices auto-hébergées (SIL Open Font License) ---------- */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* =====================================================================
   AMBIANCE AQUARELLE — lavis, bords peints, papier, coups de pinceau
   (textures dans assets/img/wc/ ; aucun impact sur l'éditeur)
   ===================================================================== */
body{background:#fff url(../img/wc/papier.webp) repeat}
.fb-skip{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;color:var(--navy);padding:10px 16px;font-weight:600;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.2)}
.fb-skip:focus{top:12px}
.fb-nav-chk:focus-visible+.fb-burger{outline:3px solid var(--lemon);outline-offset:2px}
@media(min-width:1100px){.fb-nav-chk{display:none}}

/* lavis bleu des sections claires + bords peints haut et bas */
.fb-wash{background:url(../img/wc/papier.webp) repeat,linear-gradient(#f3f6fa,rgba(243,246,250,0) 90px,rgba(243,246,250,0) calc(100% - 90px),#f3f6fa),url(../img/wc/lavis-bleu.webp) center/cover no-repeat,#f3f6fa;z-index:2}
.fb-wash::before,.fb-wash::after,.fb-cta::before,.fb-footer::before,.fb-hero::after,.fb-band::after{content:"";position:absolute;left:0;right:0;height:46px;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;z-index:3}
.fb-wash::before{top:-45px;background-image:url(../img/wc/bord-lavis-haut.webp)}
.fb-wash::after{bottom:-45px;background-image:url(../img/wc/bord-lavis-bas.webp)}
/* le bandeau photo se fond dans le papier */
.fb-hero::after,.fb-band::after{bottom:-1px;height:58px;background-image:url(../img/wc/bord-blanc-haut.webp)}
.fb-band{position:relative}
/* bandeau bleu « Réservez » : lavis profond + vague en filigrane */
.fb-cta{background:url(../img/wc/papier.webp) repeat,linear-gradient(#2a62b8,rgba(42,98,184,0) 90px,rgba(42,98,184,0) calc(100% - 90px),#2a62b8),url(../img/wc/lavis-bleu-fonce.webp) center/cover no-repeat,#2a62b8;z-index:2;overflow:visible}
.fb-cta::before{top:-45px;background-image:url(../img/wc/bord-bleu-haut.webp)}
.fb-cta>.wx-wrap{position:relative}
.fb-cta>.wx-wrap::after{content:"";position:absolute;right:-2%;top:50%;width:300px;height:230px;transform:translateY(-50%) rotate(-6deg);background:url(../img/aquarelle-vague-bleue.webp) center/contain no-repeat;opacity:.22;mix-blend-mode:screen;pointer-events:none}
.fb-cta>.wx-wrap::before{content:"";position:absolute;left:-1%;top:50%;width:230px;height:200px;transform:translateY(-50%) scaleX(-1) rotate(-6deg);background:url(../img/aquarelle-vague-bleue.webp) center/contain no-repeat;opacity:.14;mix-blend-mode:screen;pointer-events:none}
@media(max-width:767px){.fb-cta>.wx-wrap::before,.fb-cta>.wx-wrap::after{display:none}}
/* pied de page : lavis de nuit */
.fb-footer{position:relative;z-index:3;background:url(../img/wc/papier.webp) repeat,linear-gradient(#1b3d6b,rgba(27,61,107,0) 90px),url(../img/wc/lavis-nuit.webp) center/cover no-repeat,var(--navy)}
.fb-footer::before{top:-45px;background-image:url(../img/wc/bord-nuit-haut.webp)}
.fb-fhead{color:#fff;font-family:var(--serif);font-size:1.35rem;font-weight:600;margin:0 0 .6em}

/* coups de pinceau sous les titres (le trait peint du logo) */
.fb-sec h2::after,.fb-cta h2::after{content:"";display:block;width:150px;height:30px;margin:10px 0 0 -6px;background:url(../img/wc/trait-bleu.webp) left center/contain no-repeat}
.fb-center h2::after,.fb-cta h2::after{margin-left:auto;margin-right:auto;background-position:center}
.fb-cta h2::after{background-image:url(../img/wc/trait-blanc.webp);opacity:.9}
.fb-plain h2::after,.fb-hero h2::after,.fb-nostroke h2::after{display:none}
.fb-c-citron h2::after{background-image:url(../img/wc/trait-citron.webp)}
.fb-c-mandarine h2::after{background-image:url(../img/wc/trait-mandarine.webp)}
.fb-c-pamplemousse h2::after{background-image:url(../img/wc/trait-pamplemousse.webp)}
.fb-c-olivier h2::after{background-image:url(../img/wc/trait-olivier.webp)}

/* bandeau : meilleure lisibilité du texte sur la photo */
.fb-hero-text{position:relative;isolation:isolate}
.fb-hero-text::before{content:"";position:absolute;inset:-60px -120px;background:radial-gradient(closest-side,rgba(10,24,46,.5),rgba(10,24,46,0));z-index:-1;pointer-events:none}

/* photos aux bords peints */
.fb-paint img{-webkit-mask:url(../img/wc/masque-peint.png) center/100% 100% no-repeat;mask:url(../img/wc/masque-peint.png) center/100% 100% no-repeat}
.fb-paint-p img{-webkit-mask-image:url(../img/wc/masque-peint-portrait.png);mask-image:url(../img/wc/masque-peint-portrait.png)}

/* chiffres clés : icônes aquarelle */
.fb-facts .wx-col{border-top:0;padding-top:0;text-align:center}
.fb-fact-ic{width:auto!important;margin:0 auto 12px}
.fb-fact-ic img{height:84px;width:auto;margin:0 auto;object-fit:contain}
@media(max-width:767px){.fb-facts .wx-col{flex-basis:50%!important;max-width:50%!important}.fb-fact-ic img{height:64px}}

/* cartes logements (accueil) : fruit devant le nom, trait de pinceau dans la couleur du fruit */
.fb-room-text{border-left:0;padding-left:0}
.fb-fruit-ic img{width:60px;height:60px}
.fb-room .fb-photo img{border-radius:2px;box-shadow:0 14px 34px rgba(20,51,92,.12)}

/* avis : papier, guillemet peint */
.fb-review{border-top:0;background:#fff url(../img/wc/papier.webp) repeat;box-shadow:0 12px 34px rgba(20,51,92,.09)}
.fb-review blockquote::before{content:"\201C";display:block;font-family:var(--serif);font-size:4.6rem;line-height:1;height:.5em;color:#8fb3df;margin:-6px 0 6px -2px}

/* offre Vegetime : carte au lavis d'olivier */
.fb-jc{justify-content:center}
.fb-offer{display:flex;align-items:center;gap:24px;border:0;background:url(../img/wc/papier.webp) repeat,url(../img/wc/lavis-olivier.webp) center/cover;padding:30px 36px;box-shadow:0 12px 34px rgba(60,80,30,.08)}
.fb-offer-ic{flex:0 0 120px;width:120px!important}
@media(max-width:600px){.fb-offer{flex-direction:column;text-align:center;padding:26px 22px}}

/* FAQ : branche d'olivier en marge */
@media(min-width:992px){.fb-faq-sec>.wx-wrap{background:url(../img/aquarelle-branche-olivier.webp) right 3% top 0/260px auto no-repeat}}

/* page chambres : un lavis dans la couleur du fruit pour chaque logement */
.fb-fruitwash{background-size:100% 100%,cover;background-repeat:no-repeat}
.fb-fruitwash.fb-c-citron{background-image:linear-gradient(#fff,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,#fff),url(../img/wc/lavis-citron.webp)}
.fb-fruitwash.fb-c-mandarine{background-image:linear-gradient(#fff,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,#fff),url(../img/wc/lavis-mandarine.webp)}
.fb-fruitwash.fb-c-pamplemousse{background-image:linear-gradient(#fff,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,#fff),url(../img/wc/lavis-pamplemousse.webp)}
.fb-fruitwash.fb-c-olivier{background-image:linear-gradient(#fff,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,#fff),url(../img/wc/lavis-olivier.webp)}
.fb-roomnav a{border-bottom:0;padding-bottom:12px;background:url(../img/wc/trait-bleu.webp) center bottom/86% 12px no-repeat}
.fb-roomnav a.fb-c-citron{background-image:url(../img/wc/trait-citron.webp)}.fb-roomnav a.fb-c-mandarine{background-image:url(../img/wc/trait-mandarine.webp)}
.fb-roomnav a.fb-c-pamplemousse{background-image:url(../img/wc/trait-pamplemousse.webp)}.fb-roomnav a.fb-c-olivier{background-image:url(../img/wc/trait-olivier.webp)}
.fb-roomnav a img{width:38px;height:38px;object-fit:contain}
.fb-water img{max-height:110px}

/* tarifs : fruits dans l'en-tête du tableau */
.fb-rates thead th img{display:block;width:46px;height:42px;object-fit:contain;margin:0 0 6px}
.fb-table-wrap{box-shadow:0 12px 34px rgba(20,51,92,.07)}

/* page Cros de Cagnes : aquarelle de l'église */
.fb-church{margin:0 0 6px}
.fb-church img{width:140px;margin-left:-8px}
.fb-trio.fb-trio3{grid-template-columns:repeat(3,1fr)}
.fb-trio.fb-trio3 .wx-img{grid-column:auto!important;height:clamp(220px,24vw,420px)}
@media(max-width:767px){.fb-trio.fb-trio3{grid-template-columns:1fr}}

/* contact : carte Google après consentement */
.fb-mapbox{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:36px 28px;background:url(../img/wc/papier.webp) repeat,url(../img/wc/lavis-bleu.webp) center/cover;box-shadow:0 12px 34px rgba(20,51,92,.08)}
.fb-mapbox img{width:120px;margin-bottom:6px}
.fb-mapbox .fb-btns{justify-content:center}
.fb-mapbox.is-loaded{padding:0;background:none;min-height:0}
.fb-mapbox iframe{width:100%;height:440px;border:0;display:block}

/* formulaire : pas de débordement sur mobile + panneau de repli */
.fb-booking>div{min-width:0}
.fb-booking input,.fb-booking select{min-width:0;max-width:100%}
.fb-booking-done{grid-column:1/-1;background:#f3f6fa;padding:16px 18px;margin-top:4px}
.fb-booking-done p{font-size:.88rem;margin:0 0 10px}
.fb-booking-done textarea{width:100%;font:inherit;font-size:.86rem;padding:10px;border:1px solid var(--line);background:#fff;resize:vertical}
.fb-booking-done .fb-btns{margin:10px 0 0}
@media(max-width:767px){#reservation .fb-btns .wx-btn{margin-bottom:28px}}
/* mobile : barre d'action fixe (appeler / réserver) */
.fb-callbar{display:none}
@media(max-width:767px){
  .fb-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;box-shadow:0 -6px 20px rgba(8,22,44,.18)}
  .fb-callbar a{flex:1;text-align:center;padding:14px 10px calc(14px + env(safe-area-inset-bottom));font-weight:600;font-size:.95rem;text-decoration:none}
  .fb-callbar a:first-child{background:var(--navy);color:#fff}
  .fb-callbar a:last-child{background:var(--lemon);color:var(--ink)}
  body{padding-bottom:52px}
}
/* espace supplémentaire (~1 cm) avant le bandeau aquarelle des chiffres clés */
.fb-facts{margin-top:40px}

/* ---------- motards et cyclistes : bandeau pleine largeur au lavis bleu ---------- */
.fb-ride{position:relative;z-index:2;padding:calc(var(--section)*.75) 0;color:#fff;
  background:url(../img/wc/papier.webp) repeat,linear-gradient(#2a62b8,rgba(42,98,184,0) 90px,rgba(42,98,184,0) calc(100% - 90px),#2a62b8),url(../img/wc/lavis-bleu-fonce.webp) center/cover no-repeat,#2a62b8}
.fb-ride::before,.fb-ride::after{content:"";position:absolute;left:0;right:0;height:46px;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;z-index:3}
.fb-ride::before{top:-45px;background-image:url(../img/wc/bord-bleu-haut.webp)}
.fb-ride::after{bottom:-45px;background-image:url(../img/wc/bord-bleu-bas.webp)}
.fb-ride>.wx-wrap{max-width:1400px}
.fb-ride h2::after{background-image:url(../img/wc/trait-blanc.webp)}
.fb-ride .fb-sub{color:rgba(255,255,255,.85)}
.fb-ride-art img{width:100%;filter:drop-shadow(0 10px 24px rgba(0,0,0,.25))}
.fb-ticks{list-style:none;padding:0!important;margin:0 0 1em}
.fb-ticks li{position:relative;padding-left:34px;margin:.5em 0;font-size:1.08rem}
.fb-ticks li::before{content:"";position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:50%;background:var(--lemon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2314335c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.fb-labels{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap}
.fb-label{display:block;flex:0 1 150px;transition:transform .2s}
.fb-label:hover,.fb-label:focus-visible{transform:scale(1.05)}
.fb-label img{width:100%;height:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}
@media(max-width:991px){.fb-ride .wx-row{row-gap:28px}.fb-ride-art{max-width:520px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){.fb-label{transition:none}}
.fb-labels{background:#fff url(../img/wc/papier.webp) repeat;padding:22px 18px 16px;border-radius:4px;box-shadow:0 14px 36px rgba(6,20,46,.3);flex-direction:column;gap:6px}
.fb-labels::before{content:"Nos labels";font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--navy)}
html[lang=en] .fb-labels::before{content:"Our labels"}
.fb-labels .fb-label{flex:none;width:150px}
.fb-label img{filter:none}
@media(max-width:767px){.fb-labels{flex-direction:row;flex-wrap:wrap}.fb-labels::before{flex-basis:100%;text-align:center}.fb-labels .fb-label{width:130px}}
/* motards et cyclistes : lavis jaune très clair, labels sans carte */
.fb-ride{color:var(--ink);background:url(../img/wc/papier.webp) repeat,linear-gradient(#fff8de,rgba(255,248,222,0) 90px,rgba(255,248,222,0) calc(100% - 90px),#fff8de),url(../img/wc/lavis-jaune.webp) center/cover no-repeat,#fff8de}
.fb-ride::before{background-image:url(../img/wc/bord-jaune-haut.webp)}
.fb-ride::after{background-image:url(../img/wc/bord-jaune-bas.webp)}
.fb-ride h2::after{background-image:url(../img/wc/trait-bleu.webp)}
.fb-ride .fb-sub{color:var(--muted)}
.fb-ride-art img{filter:drop-shadow(0 10px 22px rgba(120,90,10,.18))}
.fb-labels{background:none;box-shadow:none;padding:0}
.fb-label img{filter:drop-shadow(0 8px 16px rgba(120,90,10,.2))}
/* ~1 cm de blanc entre le bandeau jaune et le bandeau bleu suivant (les bords peints débordent de 45 px chacun) */
.fb-ride{margin-bottom:128px}
/* page chambres : sur ordinateur, photos à gauche pour Citron et Pamplemousse ; sur mobile, le descriptif reste en premier */
@media(min-width:992px){.fb-rev-md{flex-direction:row-reverse}}
/* tarifs (mobile) : invitation à faire défiler le tableau */
.fb-swipe{display:none}
@media(max-width:700px){
  .fb-swipe{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 14px;background:var(--lemon);color:var(--ink);font-weight:600;font-size:.9rem;line-height:1.35;border-radius:30px;box-shadow:0 6px 18px rgba(224,173,31,.35)}
  .fb-swipe-ic{font-size:1.25rem;flex:none}
  .fb-swipe-arrow{margin-left:auto;font-size:1.3rem;flex:none;animation:fb-nudge 1.2s ease-in-out infinite}
}
@keyframes fb-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
@media(prefers-reduced-motion:reduce){.fb-swipe-arrow{animation:none}}
/* tarifs (mobile) : ~1 cm entre « Langues parlées » et « Arrivée et départ » */
@media(max-width:767px){.fb-arrive{margin-top:40px}}
.fb-note-tel{font-weight:600;font-size:1rem;white-space:nowrap}

/* ---------- page ART ---------- */
.fb-art-photo img{aspect-ratio:auto}
.fb-artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 18px;max-width:1500px;margin:0 auto}
.fb-artcard .wx-img{background:#fff url(../img/wc/papier.webp) repeat;padding:14px;box-shadow:0 12px 30px rgba(20,51,92,.1)}
.fb-artcard .wx-img img{width:100%;aspect-ratio:4/5;object-fit:contain}
.fb-artcard .wx-text{text-align:center;padding:14px 8px 0}
.fb-artcard h3{font-size:1.35rem;margin:0 0 .15em}
.fb-dim{font-size:.88rem;color:var(--muted);margin:0}
@media(min-width:768px) and (max-width:1023px){.fb-artgrid{gap:24px 14px}}
@media(max-width:767px){.fb-artgrid{grid-template-columns:1fr;gap:34px;padding:0 28px}}  /* mobile : 1 tableau par ligne, ~1 cm de marge (10 px + 28 px) */
/* tableau sans photo : carte entière cachée aux visiteurs (visible dans l'éditeur) */
.fb-artcard:has(img[src^="data:image/svg"]){display:none}
body:has([contenteditable]) .fb-artcard:has(img[src^="data:image/svg"]){display:block}
body:has([contenteditable]) .fb-artcard .fb-slot{display:block}
/* section des tableaux cachée tant qu'aucun tableau n'est ajouté */
.fb-artsec:not(:has(.fb-artcard img:not([src^="data:"]))){display:none}
body:has([contenteditable]) .fb-artsec{display:block!important}
/* menu : 6 rubriques -> passage au menu ☰ un peu plus tôt */
@media(max-width:1199px){
  .fb-burger{display:block}
  .fb-nav{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--navy);flex-direction:column;align-items:flex-start;gap:28px;padding:96px 32px 32px;transform:translateX(100%);transition:transform .25s ease;overflow:auto}
  .fb-nav ul{flex-direction:column;gap:6px}
  .fb-nav a{font-size:1.1rem}
  .fb-nav-chk:checked~.fb-nav{transform:none;box-shadow:-20px 0 60px rgba(0,0,0,.35)}
  .fb-nav-chk:checked~.fb-burger{position:fixed;right:clamp(16px,3vw,40px);z-index:2}
  .fb-nav-chk:checked~.fb-burger i:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .fb-nav-chk:checked~.fb-burger i:nth-child(2){opacity:0}
  .fb-nav-chk:checked~.fb-burger i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
@media(min-width:1100px) and (max-width:1199px){.fb-nav-chk{display:block}}

/* ---------- page ART : protection des œuvres ---------- */
.fb-artcard img,.fb-art-photo img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.fb-cr{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,24,46,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fb-cr[hidden]{display:none}
.fb-cr-box{max-width:520px;background:#fff url(../img/wc/papier.webp) repeat;padding:34px 32px 28px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.35);border-top:5px solid var(--blue)}
.fb-cr-ic{font-family:var(--serif);font-size:3.4rem;line-height:1;color:var(--blue);margin:0 0 6px}
.fb-cr-title{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--navy);margin:0 0 12px}
.fb-cr-box p{font-size:.93rem}
.fb-cr-box .fb-cr-ic{font-size:3.4rem}
.fb-cr-box .fb-cr-title{font-size:1.7rem}
.fb-cr-ask a{font-weight:600}
.fb-cr-small{color:var(--muted);font-size:.8rem!important}
body.fb-cr-open main img{filter:blur(14px)}
/* impression : les œuvres ne s'impriment pas */
@media print{.fb-artcard,.fb-art-photo,.fb-hero{display:none!important}.fb-protect .fb-cr{display:none!important}main::before{content:"© Œuvres protégées par le droit d’auteur – reproduction interdite / Copyrighted artwork – reproduction prohibited";display:block;font-size:14pt;padding:20pt;text-align:center}}
