:root{--jade-deep: #0B4F6C;--jade-light: #146C8C;--gold: #E8B04B;--gold-text: #8A5A00;--gold-light: #FFF8E8;--gold-border: #EBD7A4;--sand: #F4F7F7;--sand-dark: #E6EEEF;--foam: #FFFFFF;--dark: #1E293B;--gray: #475569;--border: #D8DFDB}*{box-sizing:border-box;margin:0;padding:0;font-family:Work Sans,sans-serif}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--sand)}body{color:var(--dark);background-color:var(--sand);line-height:1.6;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.skip-link{position:absolute;top:-100px;left:8px;background:var(--jade-deep);color:var(--gold-light);padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none;z-index:1000;transition:top .2s ease}.skip-link:focus{top:8px}.slider-overlay-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:#fffffff2;color:var(--jade-deep);font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0000002e;display:none;align-items:center;justify-content:center;z-index:5;transition:opacity .2s ease}.slider-overlay-arrow-prev{left:-6px}.slider-overlay-arrow-next{right:-6px}.slider-overlay-arrow[disabled]{opacity:0;pointer-events:none}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.season-slider-wrap{position:relative}.season-slider-wrap .slider-overlay-arrow{display:flex;width:30px;height:30px;font-size:1.05rem}}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.activities-slider-wrap{position:relative}.activities-slider-wrap .slider-overlay-arrow{display:flex;width:30px;height:30px;font-size:1.05rem}}h1,h2,h3,h4,.section-title,.logo,.hero-content h1,.direct-advantage-content h3,.gite-details h3,.form-card h3{font-family:Lora,Georgia,serif;letter-spacing:-.01em}header{background:var(--foam);box-shadow:0 2px 10px color-mix(in srgb,var(--jade-deep) 5%,transparent);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--gold-border)}.nav-container{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:12px 20px}.logo{display:flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;color:var(--jade-deep);text-decoration:none;font-style:italic}.logo img{height:36px;width:auto;object-fit:contain;border-radius:4px}.nav-links{display:flex;gap:20px;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--dark);font-weight:500;font-size:.95rem;transition:.2s}.nav-links a:hover{color:var(--gold)}.nav-phone{background:var(--gold);color:var(--jade-deep);padding:8px 16px;border-radius:30px;font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 3px 10px color-mix(in srgb,var(--gold) 50%,transparent);transition:transform .2s}.nav-phone:hover{transform:translateY(-1px);background-color:color-mix(in srgb,var(--gold) 88%,#fff);box-shadow:0 10px 30px color-mix(in srgb,var(--gold) 60%,transparent)}.nav-links a.lang-switch{display:inline-block;border:1.5px solid var(--gold);color:var(--jade-deep);padding:3px 10px;border-radius:20px;font-weight:700;font-size:.8rem;letter-spacing:.04em;line-height:1.4}.nav-links a.lang-switch:hover{background:var(--gold);color:var(--jade-deep)}.menu-toggle{display:none;cursor:pointer;flex-direction:column;gap:4px;background:none;border:none;padding:5px}.menu-toggle .bar{width:22px;height:2.5px;background-color:var(--jade-deep);border-radius:2px;transition:.3s}[id]{scroll-margin-top:90px}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.menu-toggle{display:flex}.logo{gap:4px;font-size:1.05rem}.nav-links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:var(--foam);box-shadow:0 10px 15px #0000001a;overflow:hidden;max-height:0;visibility:hidden;transition:max-height .4s ease-in-out,visibility .4s ease-in-out;border-bottom:1px solid var(--border);padding:0;margin:0}.nav-links.active{max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;visibility:visible;padding:8px 0}.nav-links li{width:100%;text-align:center;padding:3px 0}.nav-links a{font-size:1rem;display:block;padding:4px 0}.nav-container>.nav-phone{display:inline-block;padding:8px 15px;font-size:.85rem;white-space:nowrap}.container{padding:25px 6px}.booking-container{padding:10px!important;gap:15px!important}.calendar-box{background-color:var(--sand-dark);padding:10px!important;border-radius:12px;text-align:center;border:1px solid var(--gold-border);width:100%!important;max-width:100%!important;box-sizing:border-box}.form-card{padding:5px}.date-fields-grid>div{min-width:0!important}.form-card input[type=date]{width:100%!important;min-width:0!important;height:40px!important;box-sizing:border-box!important;-webkit-appearance:none;appearance:none}.activity-card{padding:8px}.options-box{padding:8px 10px;margin-top:6px;margin-bottom:6px}.calendar-box{padding:10px!important}.legal-block{padding:12px;margin-top:15px}.direct-advantage-banner,.gite-details,.activities-intro,.tarifs-price-wrapper{padding:15px!important}}@media(max-width:380px){.logo{font-size:.9rem}.logo img{height:28px}.nav-container>.nav-phone{padding:7px 12px;font-size:.78rem}.nav-container{padding:10px 12px;gap:6px}}.hero{position:relative;min-height:80vh;min-height:80svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:40px 20px;overflow:hidden;background-color:var(--jade-deep)}.hero-video-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:var(--jade-deep)}.hero-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(color-mix(in srgb,var(--jade-deep) 50%,transparent),#1e293bbf);z-index:2}
/* Hero : l'overlay s'éclaircit en dégradé vers la droite (la mer) ; le texte, à gauche, garde son contraste. Ordinateur et tablette seulement. */
@media(min-width:769px){.hero-overlay{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 38%,rgba(0,0,0,.35) 100%);mask-image:linear-gradient(to right,#000 0%,#000 38%,rgba(0,0,0,.35) 100%)}}.hero-content{position:relative;z-index:3;max-width:850px}.eyebrow{display:inline-block;font-size:.84rem;font-weight:500;letter-spacing:.05em;margin-bottom:12px;color:#fff;text-transform:uppercase}.hero-content h1{font-size:3.2rem;font-weight:700;font-style:italic;margin-bottom:15px;text-shadow:0 2px 8px rgba(0,0,0,.4);color:#fff}.hero-content p{font-size:1.2rem;font-weight:400;margin:0 auto 25px;color:var(--gold-light)}.hero-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px;margin-bottom:18px}.badge{background:color-mix(in srgb,var(--gold) 20%,transparent);backdrop-filter:blur(6px);padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);color:#fff}.btn-primary{position:relative;overflow:hidden;background-color:var(--gold);color:var(--jade-deep);padding:16px 36px;border-radius:40px;text-decoration:none;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-block;border:none;cursor:pointer;font-size:1.05rem;text-align:center;box-shadow:0 6px 20px color-mix(in srgb,var(--gold) 40%,transparent)}.btn-primary:hover{transform:translateY(-3px);background-color:color-mix(in srgb,var(--gold) 88%,#fff);box-shadow:0 10px 30px color-mix(in srgb,var(--gold) 60%,transparent)}.btn-primary:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff80;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.btn-primary:active:after{animation:ricochet .6s ease-out}@keyframes ricochet{0%{transform:scale(0) translate(-50%,-50%);opacity:.6}to{transform:scale(40) translate(-50%,-50%);opacity:0}}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}.icon-svg{width:34px;height:34px;stroke:var(--jade-deep);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}.highlight-icon .icon-svg{width:30px;height:30px;stroke:var(--gold);margin-bottom:0}.deco-icon{width:28px;height:28px;flex-shrink:0;display:inline-block;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-inline{width:18px;height:18px;display:inline-block;vertical-align:-3px;margin-right:6px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.promo-topbar{background:var(--promo-bg,#1F7A8C);color:var(--promo-tx,#fff);padding:9px 16px;font-weight:700;text-align:center;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.12);position:relative;z-index:101}.promo-topbar:hover,.promo-topbar:focus-visible{filter:brightness(1.06)}.promo-topbar-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:6px 12px;flex-wrap:wrap}.promo-badge{background:var(--promo-badge-bg,var(--sand));color:var(--promo-badge-tx,var(--jade-deep));border-radius:999px;padding:2px 11px;font-weight:800;font-size:.85em;white-space:nowrap}.promo-cta{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}@media(max-width:768px){.promo-topbar{padding:8px 12px;font-size:.9rem}}@media(min-width:769px){html.promo-sticky .promo-topbar{position:sticky;top:0}html.promo-sticky header{top:var(--promo-h,0px)}html.promo-sticky [id]{scroll-margin-top:calc(90px + var(--promo-h,0px))}html.promo-sticky #estimatedPriceBox{top:calc(64px + var(--promo-h,0px))}}.wave-separator{width:100%;overflow:hidden;line-height:0;background:transparent;margin:22px 0;position:relative;z-index:3}.wave-separator svg{position:relative;display:block;width:calc(100% + 1.3px);height:45px}.wave-separator.fill-foam svg{fill:var(--foam)}.container{max-width:1100px;margin:0 auto;padding:45px 20px}.section-title{font-size:2rem;color:var(--jade-deep);margin-bottom:12px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.section-title{flex-direction:column}}.section-desc{color:var(--gray);margin-bottom:40px;text-align:center;max-width:910px;margin-left:auto;margin-right:auto;font-size:1.08rem}.direct-advantage-banner{background:linear-gradient(135deg,var(--jade-deep) 0%,var(--jade-light) 100%);color:#fff;border-radius:16px;padding:35px;margin-bottom:45px;box-shadow:0 10px 30px color-mix(in srgb,var(--jade-deep) 15%,transparent);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}.direct-advantage-content h3{font-size:1.3rem;margin-bottom:8px;color:var(--gold);display:flex;align-items:center;gap:8px}.direct-advantage-content p{font-size:.95rem;opacity:.9}.direct-advantage-banner .btn-primary{padding:.7rem 1.3rem;font-size:.9rem;font-weight:600;line-height:1;flex-shrink:0}.direct-advantage-banner-compact{background:linear-gradient(135deg,var(--jade-deep) 0%,var(--jade-light) 100%);color:#fff;border-radius:12px;padding:16px 24px;margin-top:25px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);text-align:center}.direct-advantage-banner-compact p{margin:0;font-size:.92rem}.direct-advantage-banner-compact strong{color:var(--gold)}.direct-advantage-banner-compact .btn-primary{padding:.55rem 1.1rem;font-size:.85rem;flex-shrink:0}.highlights-box{background:var(--foam);border-radius:14px;padding:35px;margin-bottom:45px;box-shadow:0 4px 15px #00000008;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:25px;border:1px solid var(--border)}.highlight-item{display:flex;gap:15px;align-items:start}.highlight-icon{font-size:1.8rem;line-height:1}.highlight-item h3{font-size:1.1rem;color:var(--jade-deep);margin-bottom:4px}#lightbox-modal{display:none;position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background-color:#000000d9;backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}#lightbox-modal.active{display:flex}#lightbox-modal img{max-width:90%;max-height:90vh;max-height:90dvh;border-radius:8px;box-shadow:0 10px 30px #00000080;object-fit:contain}.lightbox-video-container{display:none;position:relative;width:90%;max-width:900px;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080;background:#000}.lightbox-video-container iframe{width:100%;height:100%;border:0}.lightbox-page-container{display:none;position:relative;width:92%;max-width:1100px;height:88vh;height:88dvh;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080;background:#fff;flex-direction:column}.lightbox-page-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--jade-deep);color:#fff;font-size:.85rem}.lightbox-page-bar span{opacity:.85}.lightbox-page-bar a{color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.4);padding:6px 12px;border-radius:6px;text-decoration:none;font-weight:600;white-space:nowrap}.lightbox-page-bar a:hover{background:#ffffff47}.lightbox-page-container iframe{width:100%;flex:1;border:0}.lightbox-page-noembed{display:none;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;gap:12px;overflow-y:auto}.lightbox-page-noembed img{width:180px;height:180px;object-fit:cover;border-radius:12px;box-shadow:0 6px 20px #00000026;margin-bottom:10px}.lightbox-page-noembed h3{color:var(--jade-deep);font-size:1.3rem}.lightbox-page-noembed p{color:var(--gray);max-width:480px;font-size:.95rem;line-height:1.5}.lightbox-page-noembed .season-cta{margin-top:8px}#lightbox-close{position:absolute;top:max(20px,env(safe-area-inset-top,0px));right:max(30px,env(safe-area-inset-right,0px));color:#fff;font-size:2.5rem;font-weight:700;cursor:pointer;background:none;border:none;z-index:10000}#lightbox-close:hover{color:var(--gold)}.spa-feature-showcase{background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border-radius:16px;border:1px solid var(--gold-border);padding:55px;margin-bottom:45px;box-shadow:0 10px 25px #0000000a;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}@media(max-width:850px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.spa-feature-showcase{grid-template-columns:1fr;padding:25px}}.spa-feature-img img{width:100%;height:360px;object-fit:cover;border-radius:10px;box-shadow:0 6px 20px #00000014;cursor:pointer;transition:transform .3s ease}.spa-feature-img img:hover{transform:scale(1.02)}.spa-feature-img video{width:100%;height:360px;object-fit:cover;object-position:center bottom;border-radius:10px;box-shadow:0 6px 20px #00000014;display:block;background:var(--jade-deep)}@media(max-width:850px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.spa-feature-img img{height:240px;aspect-ratio:auto}.spa-feature-img video{height:240px;object-position:center bottom}}.spa-feature-content h3{font-size:1.8rem;color:var(--jade-deep);margin-bottom:20px}.spa-feature-content p{color:var(--gray);margin-bottom:25px;font-size:1rem;line-height:1.7}.owner-welcome{background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border-radius:16px;padding:30px 35px;margin-bottom:45px;box-shadow:0 4px 15px #00000008;border:2px solid var(--gold-border);display:flex;align-items:center;gap:26px}.owner-welcome-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--gold);box-shadow:0 4px 12px color-mix(in srgb,var(--jade-deep) 15%,transparent)}.owner-welcome-text{flex:1;min-width:0}.owner-welcome-title{font-size:1rem;color:var(--jade-deep);font-weight:700;letter-spacing:.03em;margin-bottom:10px}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.owner-welcome{flex-direction:column;text-align:center;gap:14px;padding:24px 20px}.owner-welcome-photo{width:84px;height:84px}}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){#estimatedPriceBox{position:sticky;top:64px;z-index:20;box-shadow:0 6px 16px color-mix(in srgb,var(--jade-deep) 12%,transparent)}}.immersion-jade-section{background-color:var(--jade-deep);color:#e2e8f0;padding:45px 0;margin:38px 0}.immersion-jade-section .section-title{color:var(--gold)}.immersion-jade-section .section-desc{color:#e2e8f0}.activities-intro{background:#ffffff0d;border-radius:12px;padding:35px;margin-bottom:30px;border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);text-align:center}.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}.activity-card{background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border:1px solid var(--gold-border);border-radius:12px;padding:10px;box-shadow:0 4px 15px #0000000d;color:var(--dark);transition:transform .3s ease}.activity-card:hover{transform:translateY(-4px)}.activity-card h3{color:var(--jade-deep);font-size:1.1rem;margin-bottom:10px}.activity-card p{font-size:.88rem;color:var(--gray);margin-bottom:8px}@media(max-width:1024px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.activities-grid{grid-template-columns:repeat(2,1fr)!important}}.zone-tabs-row{display:flex;justify-content:center;gap:.75rem;margin-bottom:24px;flex-wrap:wrap}@media(max-width:1024px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.zone-tabs-row{display:grid;grid-template-columns:repeat(2,1fr)}.zone-tabs-row .zone-tab:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .375rem)}.zone-tab{width:82%;margin:0 auto}}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.activities-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:2%;scroll-padding-right:2%;-webkit-overflow-scrolling:touch;gap:10px!important;padding:4px 2% 6px!important;margin:0 0 6px;scrollbar-width:none;overscroll-behavior-x:contain}.activities-grid::-webkit-scrollbar{display:none}.activity-card{flex:0 0 96%;scroll-snap-align:center;scroll-snap-stop:always}.activity-card img{height:clamp(130px,28vw,200px)!important}.activity-card h3{font-size:.95rem}.activity-card p{font-size:.8rem}}.gite-details{background:var(--foam);border-radius:14px;padding:24px 16px;margin-bottom:50px;box-shadow:0 4px 15px #00000008;border:1px solid var(--border)}.gite-details h3{font-size:1.5rem;color:var(--jade-deep);margin-bottom:20px;border-bottom:2px solid var(--sand-dark);padding-bottom:8px}.details-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media(max-width:1024px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.details-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.details-grid{grid-template-columns:1fr;gap:20px}}.plan-feature-content .detail-block h3{color:var(--jade-deep);font-size:.95rem;margin-bottom:8px;display:flex;align-items:center;gap:6px}.plan-feature-content .detail-block h3 svg.icon-inline{width:22px;height:22px;margin-right:0;flex-shrink:0}.detail-block ul{list-style-type:none;padding-left:0}.detail-block li{font-size:.82rem;margin-bottom:6px;position:relative;padding-left:13px;line-height:1.4}.detail-block li:before{content:"•";color:var(--gold);font-weight:700;position:absolute;left:0}@media(max-width:1024px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.gite-details{padding:28px}.details-grid{gap:20px}.plan-feature-content .detail-block h3{font-size:1.05rem;gap:8px;white-space:normal}.plan-feature-content .detail-block h3 svg.icon-inline{width:26px;height:26px}.detail-block li{font-size:.92rem;padding-left:15px}}details{background:var(--foam);border:1px solid var(--border);border-radius:10px;margin-bottom:25px;padding:16px 20px;box-shadow:0 2px 8px #00000005}summary{font-weight:700;color:var(--jade-deep);cursor:pointer}summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){html,.review-cards-row{scroll-behavior:auto!important}.reveal-on-scroll{opacity:1!important;transform:none!important;transition:none!important}.btn-primary:active:after{animation:none!important}}@media(max-width:380px){details{padding:14px}summary{font-size:.9rem}}details[open] summary{margin-bottom:12px;border-bottom:1px solid var(--sand-dark);padding-bottom:8px}.booking-container{display:flex;flex-direction:column;gap:20px;background:var(--foam);padding:16px 22px;border-radius:16px;box-shadow:0 10px 30px color-mix(in srgb,var(--jade-deep) 6%,transparent);border:1px solid var(--border)}@media(min-width:901px) and (min-height:481px){.form-card{display:flex;flex-direction:column}.form-columns{display:flex;gap:18px}.form-col{flex:1;min-width:0}.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card input[type=date]{height:34px!important}.form-card textarea{min-height:44px}.form-card .form-group{margin-bottom:4px}.form-card .grid-2{gap:6px}.form-card .form-step-label{margin:6px 0 3px}.form-card .form-step-label:first-of-type{margin-top:0}#estimatedPriceBox{padding:8px 14px!important;margin-bottom:6px!important}.options-box{padding:5px 10px!important}.calendar-box{padding:10px 12px!important}.calendar-sync-badge{margin-bottom:4px}}.form-card h3{font-size:1.25rem;color:var(--jade-deep);margin-bottom:5px;border-bottom:2px solid var(--sand-dark);padding-bottom:4px}.form-step-label{display:flex;align-items:center;gap:8px;color:var(--jade-deep);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}.form-step-label:first-of-type{margin-top:2px}.form-step-label .step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--jade-deep);font-size:.75rem;flex-shrink:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-group{margin-bottom:8px}label.field-label{display:block;font-weight:600;font-size:.85rem;margin-bottom:4px;color:var(--dark)}.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card input[type=date]{width:100%;height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:7px;font-size:.9rem;background-color:var(--sand);box-sizing:border-box;line-height:1.4;transition:border-color .15s,box-shadow .15s}.form-card input:focus{outline:none;border-color:var(--jade-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--jade-deep) 12%,transparent)}.form-card input:disabled{opacity:.55;cursor:not-allowed}.options-box{background:color-mix(in srgb,var(--jade-deep) 9%,#fff);padding:8px 12px;border-radius:10px;margin-top:4px;margin-bottom:4px;border:1px solid var(--gold-border)}.option-item{font-size:.82rem;display:flex;align-items:center;gap:7px;cursor:pointer;margin-bottom:4px;min-height:24px;white-space:nowrap}.option-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--jade-deep);cursor:pointer}.option-item-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;font-size:.82rem;margin-bottom:4px;gap:8px;white-space:nowrap}.option-item-row span{overflow:hidden;text-overflow:ellipsis}.option-item-row input[type=number]{width:50px;height:30px;padding:2px 4px;border:1px solid var(--border);border-radius:6px;text-align:center;font-size:.82rem;box-sizing:border-box;flex-shrink:0}@media(max-width:900px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.options-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.option-menage{order:1}.option-animal{order:2}.option-linge-lit{order:3}.option-linge-toilette{order:4}}@media(max-width:480px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.options-box-grid{grid-template-columns:1fr}}@media(min-width:901px) and (min-height:481px){.options-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}}.calendar-box{background-color:var(--sand-dark);padding:14px;border-radius:12px;text-align:center;border:1px solid var(--gold-border);box-shadow:0 4px 14px color-mix(in srgb,var(--jade-deep) 4%,transparent)}.calendar-nav-btn{width:30px;height:30px;border-radius:50%;background:var(--foam);border:1px solid var(--gold-border);color:var(--jade-deep);font-size:1.05rem;line-height:1;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:transform .15s,background .15s}.calendar-nav-btn:hover:not(:disabled){background:var(--gold);transform:scale(1.08)}.calendar-nav-btn:disabled{opacity:.35;cursor:default}.calendar-sync-badge{display:inline-flex;align-items:center;gap:6px;background:#e0f2fe;color:#0369a1;padding:4px 10px;border-radius:20px;font-size:clamp(.6rem,2.6vw,.8rem);font-weight:600;margin-bottom:8px;white-space:nowrap;max-width:100%}.calendar-sync-badge .icon-inline{width:1.1em;height:1.1em;margin-right:0;flex-shrink:0}.calendar-months-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}@media(max-width:560px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.calendar-months-grid{grid-template-columns:1fr;gap:14px}}footer{background:var(--jade-deep);color:#fff;text-align:center;padding:45px 20px calc(45px + env(safe-area-inset-bottom,0px));margin-top:45px;font-size:.9rem;border-top:3px solid var(--gold)}footer a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}.legal-block{background:#ffffff0d;padding:20px;border-radius:10px;margin-top:25px;font-size:.82rem;color:#cbd5e1;text-align:left;max-width:800px;margin-left:auto;margin-right:auto;border:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}.legal-block h3{font-family:inherit;color:var(--gold);font-size:.95rem;margin-bottom:6px}.activity-card:focus-visible,.zone-tab:focus-visible,.season-tab:focus-visible,.btn-primary:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.activity-card{min-height:44px;padding:14px 10px}.zone-tab{width:100%;min-height:44px;padding:.55rem .8rem;font-size:.88rem}}.calendar-legend{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:10px;margin-top:8px;padding-top:6px;border-top:1px solid var(--sand-dark);font-size:.8rem;color:var(--gray)}.calendar-legend-item{display:flex;align-items:center;gap:5px;white-space:nowrap}@media(max-width:680px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.calendar-legend{flex-wrap:wrap;row-gap:8px;column-gap:10px;font-size:.75rem}.calendar-legend-item{white-space:nowrap}}@media(max-width:480px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.hero-reviews-row{flex-wrap:nowrap!important;gap:10px!important;overflow-x:hidden;min-width:0!important;width:100%!important;box-sizing:border-box}.hero-review-badge{font-size:.7rem!important;gap:4px!important}.hero-review-badge svg{width:14px!important;height:14px!important}}.photo-patchwork{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 40px}.photo-patchwork img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 6px 18px #00000014;display:block;transition:transform .3s ease;cursor:pointer}.photo-patchwork figure:hover{transform:scale(1.02)}.photo-patchwork figure:nth-child(6n+1){grid-column:span 2;grid-row:span 2;height:100%;min-height:340px}.photo-patchwork figure:nth-child(6n+2){height:164px}.photo-patchwork figure:nth-child(6n+3){height:164px}.photo-patchwork figure:nth-child(6n+4){grid-column:span 2;height:240px}.photo-patchwork figure:nth-child(6n+5){height:164px}.photo-patchwork figure:nth-child(6n){height:164px}@media(max-width:900px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.photo-patchwork{grid-template-columns:repeat(2,1fr);gap:10px}.photo-patchwork figure:nth-child(6n+1){grid-column:span 2;grid-row:span 1;min-height:0;height:220px}.photo-patchwork figure:nth-child(6n+4){grid-column:span 2;height:200px}.photo-patchwork figure:not(:nth-child(6n+1)):not(:nth-child(6n+4)){height:160px}}.plan-feature-showcase{background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border-radius:16px;border:1px solid var(--gold-border);padding:55px;margin:40px 0 45px;box-shadow:0 10px 25px #0000000a;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}@media(max-width:850px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.plan-feature-showcase{grid-template-columns:1fr;padding:25px}}.plan-feature-img img{width:100%;height:auto;object-fit:contain;background:#fff;border-radius:10px;box-shadow:0 6px 20px #00000014;cursor:zoom-in;filter:contrast(1.18) saturate(1.1);transition:transform .3s ease}.plan-feature-img img:hover{transform:scale(1.01)}.plan-feature-content h3{font-size:1.8rem;color:var(--jade-deep);margin-bottom:8px}.plan-feature-content .plan-caption{color:var(--gray);font-size:.9rem;margin-bottom:22px;font-style:italic}.plan-feature-content .details-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.plan-feature-content .details-grid{grid-template-columns:1fr}}.zone-tab{border:2px solid color-mix(in srgb,var(--jade-deep) 5%,#fff);padding:.6rem 1.4rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s;background:color-mix(in srgb,var(--jade-deep) 5%,#fff);color:var(--jade-deep)}.zone-tab.active{background-color:var(--jade-light)!important;border-color:var(--gold)!important;color:var(--gold-light)!important;font-weight:700!important;box-shadow:0 3px 10px #00000059!important}.zone-tab:hover:not(.active){border-color:var(--gold);box-shadow:0 4px 12px color-mix(in srgb,var(--gold) 35%,transparent);filter:brightness(.96)}.zone-tab.active:hover{box-shadow:0 4px 14px color-mix(in srgb,var(--gold) 50%,transparent)}.season-tab.active{background-color:var(--jade-deep)!important;color:var(--gold-light)!important;border-color:var(--gold)!important;font-weight:700!important}.season-tab:hover:not(.active){transform:translateY(-2px) scale(1.03);border-color:var(--gold)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--gold) 35%,transparent);filter:brightness(.94) saturate(1.15)}.season-tab.active:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 4px 14px color-mix(in srgb,var(--gold) 50%,transparent)}.season-tab[data-level="1"]{background:color-mix(in srgb,var(--jade-deep) 5%,#fff)!important;border-color:color-mix(in srgb,var(--jade-deep) 5%,#fff)!important}.season-tab[data-level="2"]{background:color-mix(in srgb,var(--jade-deep) 9%,#fff)!important;border-color:color-mix(in srgb,var(--jade-deep) 9%,#fff)!important}.season-tab[data-level="3"]{background:color-mix(in srgb,var(--gold) 20%,#fff)!important;border-color:color-mix(in srgb,var(--gold) 20%,#fff)!important}.season-tab[data-level="4"]{background:color-mix(in srgb,var(--gold) 32%,#fff)!important;border-color:color-mix(in srgb,var(--gold) 32%,#fff)!important}.season-tab[data-level="5"]{background:color-mix(in srgb,var(--gold) 60%,#fff)!important;border-color:color-mix(in srgb,var(--gold) 60%,#fff)!important}.season-tab{border-width:2px!important}.season-tab.active[data-level]{background-color:var(--jade-deep)!important;color:var(--gold-light)!important;border:2px solid var(--gold)!important;box-shadow:0 3px 10px color-mix(in srgb,var(--jade-deep) 25%,transparent)!important;transform:translateY(-1px)}.season-tabs-scroll{display:flex;gap:.5rem;margin-bottom:1.5rem;justify-content:center;flex-wrap:wrap}.season-cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--jade-deep);color:var(--gold-light);padding:.7rem 1.3rem;border-radius:30px;text-decoration:none;font-weight:600;font-size:.9rem;line-height:1;margin-top:1.2rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jade-deep) 15%,transparent)}.season-cta:hover{transform:translateY(-3px);background-color:var(--jade-light);box-shadow:0 10px 30px color-mix(in srgb,var(--jade-deep) 60%,transparent)}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.season-price-row>div:first-child{flex-wrap:nowrap!important;gap:.6rem!important}.season-price-row h3{font-size:1.05rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.season-price-row>div:first-child>div:last-child{font-size:1.15rem!important;white-space:nowrap;flex-shrink:0}.season-dates{font-size:.72rem!important;white-space:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.season-dates::-webkit-scrollbar{display:none}}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.season-tabs-scroll{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.season-tabs-scroll .season-tab{width:100%;min-height:44px;padding:0 .3rem!important;line-height:44px;font-size:.78rem!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.season-tabs-scroll .season-tab:last-child{grid-column:1 / -1;max-width:200px;margin:0 auto;width:100%}.tarifs-price-wrapper{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:2%;scroll-padding-right:2%;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:none!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:10px 2%!important;gap:10px;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior-x:contain}.tarifs-price-wrapper::-webkit-scrollbar{display:none}.tarifs-price-wrapper .season-content{display:block!important;flex:0 0 96%;max-width:96%;scroll-snap-align:center;scroll-snap-stop:always;box-sizing:border-box;background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border:1px solid var(--gold-border);border-radius:16px;box-shadow:0 4px 15px #0000000f;padding:16px 14px}}.tarifs-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.tarifs-extra-grid{grid-template-columns:1fr}}.tarifs-tabs{border-top:1px solid var(--border);padding-top:.3rem;margin-bottom:.4rem}.tarifs-tabs-header{display:flex;flex-wrap:nowrap;gap:1.5rem}.tarifs-tab-btn{cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;padding:.6rem 0;font-family:inherit;font-weight:600;font-size:.95rem;color:var(--gray);display:flex;align-items:center;gap:8px;white-space:nowrap;transition:color .2s ease,border-color .2s ease}.tarifs-tab-btn .icon-inline{stroke:var(--gold);margin-right:0;flex-shrink:0}.tarifs-tab-btn:hover{color:var(--jade-deep)}.tarifs-tab-btn.active{color:var(--jade-deep);border-bottom-color:var(--gold)}.tarifs-tab-panels{display:grid;margin-top:.4rem}.tarifs-tab-content{grid-column:1;grid-row:1;background:var(--sand-dark);border-radius:10px;padding:20px;font-size:.85rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s ease}.tarifs-tab-content.active{visibility:visible;opacity:1;pointer-events:auto}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.tarifs-tabs-header{gap:.9rem;flex-wrap:wrap}.tarifs-tab-btn{font-size:.82rem;gap:5px;min-height:44px;white-space:normal;min-width:0;line-height:1.25;text-align:left}.tarifs-tab-btn .icon-inline{width:15px;height:15px}}@media(max-width:480px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.tarifs-nowrap{white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;font-size:.78rem}.tarifs-nowrap::-webkit-scrollbar{display:none}}.review-block{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:24px;margin-bottom:34px}.review-summary-card{background:transparent;padding:4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:190px;box-shadow:none;text-decoration:none;opacity:.9;transition:opacity .2s ease}.review-summary-card:hover{opacity:1}.review-summary-label{font-family:Lora,Georgia,serif;font-weight:600;font-size:.95rem;color:var(--jade-deep);letter-spacing:.06em}.review-summary-stars{color:#b45309;font-size:1.3rem;line-height:1;letter-spacing:1px}.review-summary-logo{display:flex;align-items:center;gap:6px;margin-top:2px}.review-cards-row{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:10px;max-width:660px}.review-cards-row::-webkit-scrollbar{height:6px}.review-cards-row::-webkit-scrollbar-track{background:#ffffff26;border-radius:4px}.review-cards-row::-webkit-scrollbar-thumb{background:var(--gold-border);border-radius:4px}.review-card{background:linear-gradient(135deg,var(--foam) 0%,var(--sand-dark) 100%);border:1px solid var(--gold-border);padding:24px 34px;border-radius:10px;box-shadow:0 3px 10px #0000001f;flex:0 0 320px;width:320px;font-size:1.05rem;text-align:left;display:flex;flex-direction:column;justify-content:space-between;position:relative;scroll-snap-align:start}.review-card-airbnb .stars{color:#ff5a5f!important}.review-summary-stars-airbnb{color:#c13515!important}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.review-block{flex-direction:column;gap:12px;width:100%}.review-cards-row-wrap{width:100%;min-width:0}.review-cards-row{max-width:100%;width:100%;min-width:0;gap:10px;scroll-padding-left:2%;scroll-padding-right:2%;padding:4px 2% 10px;scrollbar-width:none;overscroll-behavior-x:contain}.review-card{flex:0 0 96%;width:96%;scroll-snap-align:center;scroll-snap-stop:always;padding:14px 16px}.review-cards-row::-webkit-scrollbar{display:none}.review-summary-card{padding:10px 14px;min-width:0;width:100%}.review-card-header{gap:8px;margin-bottom:6px}.review-stars-verified{margin-bottom:6px}.review-quote-mark{display:none}}.review-card-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.review-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Lora,Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--jade-deep);background:var(--gold-light);border:1.5px solid var(--gold-border);flex-shrink:0}.review-name-block{display:flex;flex-direction:column;line-height:1.25;flex:1}.review-name{font-weight:700;font-size:14px;color:#222}.review-time{font-size:12px;color:#888}.review-platform-icon{flex-shrink:0}.review-stars-verified{display:flex;align-items:center;gap:6px;margin-bottom:10px}.review-stars-verified .stars{color:#f59e0b;font-size:16px}.review-quote-mark{position:absolute;bottom:14px;right:18px;font-family:Lora,Georgia,serif;font-size:2.6rem;color:var(--gold-border);line-height:1;user-select:none;pointer-events:none}.review-cards-row-wrap{position:relative}.review-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:#fffffff2;color:var(--jade-deep);font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0000002e;display:flex;align-items:center;justify-content:center;z-index:5;transition:opacity .2s ease}.review-arrow-prev{left:-4px}.review-arrow-next{right:-4px}.review-arrow[disabled]{opacity:0;pointer-events:none}@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.review-arrow{width:30px;height:30px;font-size:1.05rem}.review-arrow-prev{left:-6px}.review-arrow-next{right:-6px}}.review-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:max-height .3s ease}.review-text.expanded{display:block;-webkit-line-clamp:unset}.review-toggle-btn{background:none;border:none;color:var(--jade-deep, var(--jade-deep));font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-bottom:15px;text-decoration:underline;align-self:flex-start;display:none}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px;align-items:start}.faq-grid details{margin-bottom:0}@media(max-width:700px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.faq-grid{grid-template-columns:1fr}}.plan-feature-content .detail-block.acc{border:1px solid rgba(10,54,41,.14);border-radius:10px;padding:0 14px;background:#fff}.plan-feature-content .detail-block.acc h3{cursor:pointer;margin:0;padding:12px 0;display:flex;align-items:center;gap:8px;white-space:normal}.plan-feature-content .detail-block.acc h3:after{content:"";margin-left:auto;flex-shrink:0;width:8px;height:8px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s}.plan-feature-content .detail-block.acc.is-open h3:after{transform:rotate(-135deg)}.plan-feature-content .detail-block.acc ul{display:none;padding-bottom:10px;margin:0}.plan-feature-content .detail-block.acc.is-open ul{display:block}.faq-grid details.faq-hidden{display:none}.faq-more{display:none;margin:16px auto 0;padding:12px 22px;border:1.5px solid var(--jade-deep);border-radius:999px;background:transparent;color:var(--jade-deep);font:inherit;font-weight:600;cursor:pointer}.nw{white-space:nowrap}.br-narrow{display:none}.hero-content h1{text-wrap:balance}.wrap-pretty{text-wrap:pretty}@media(max-width:1039px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.br-narrow{display:inline}}@media(min-width:1040px) and (min-height:481px){.hero-content{max-width:1000px}.hero-content h1{white-space:nowrap}}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.hero-content h1{font-size:1.05rem!important}}h1,h2,h3,h4,.section-title,summary{text-wrap:balance}.section-desc:not(.wrap-pretty){text-wrap:balance}p,li{text-wrap:pretty}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.section-title{font-size:1.6rem}}.spa-feature-content .spa-plus{display:block;text-wrap:balance}@media(min-width:901px) and (min-height:481px){.photo-patchwork{grid-auto-rows:164px}.photo-patchwork figure:nth-child(6n+1),.photo-patchwork figure:nth-child(6n+2),.photo-patchwork figure:nth-child(6n+3),.photo-patchwork figure:nth-child(6n+4),.photo-patchwork figure:nth-child(6n+5),.photo-patchwork figure:nth-child(6n){height:100%;min-height:0}}.calendar-box [style*=C94A4A i]{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.38) 0,rgba(255,255,255,.38) 3px,transparent 3px,transparent 7px)!important;color:#fff!important}.plan-feature-img{text-align:center}.nav-links a[aria-current=true]{color:var(--jade-deep);font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}.season-tab:not(.active){color:var(--jade-deep)!important}@supports (-webkit-touch-callout: none){.form-card input[type=date]:invalid:before,.form-card input[type=date]:disabled:before{content:attr(data-placeholder);color:#757575;margin-right:6px}}@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.footer-sep{display:block;height:0;overflow:hidden;font-size:0}.section-desc,.activities-intro p{text-align:center!important;text-wrap:pretty!important;letter-spacing:normal!important}.spa-feature-content p,.spa-feature-content .spa-plus{text-wrap:pretty!important;letter-spacing:normal!important}.faq-grid{gap:8px}.faq-grid details{padding:10px 14px}.faq-grid summary{font-size:.95rem}.faq-grid details[open] summary{margin-bottom:8px;padding-bottom:6px}}.stepper{display:flex;align-items:center;gap:6px;width:100%}.stepper input[type=number]{flex:1 1 auto;min-width:0;text-align:center;-moz-appearance:textfield;appearance:textfield}.stepper input[type=number]::-webkit-inner-spin-button,.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-btn{flex:0 0 auto;width:40px;height:40px;padding:0;border:1.5px solid var(--jade-deep);border-radius:50%;background:#fff;color:var(--jade-deep);font-size:1.4rem;font-weight:600;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.stepper-btn:active:not(:disabled){background:var(--jade-deep);color:var(--gold-light)}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.option-item-row .stepper{width:auto;flex-shrink:0;gap:3px}.option-item-row .stepper input[type=number]{flex:0 0 34px;width:34px;padding:2px 0}.option-item-row .stepper-btn{width:30px;height:30px;font-size:1.15rem}.form-card input[type=date]:invalid::-webkit-datetime-edit,.form-card input[type=date]:disabled::-webkit-datetime-edit{color:#757575}.form-card input[type=date]:valid::-webkit-datetime-edit{color:var(--dark)}.plan-feature-content .detail-block h3 .acc-toggle{display:flex;align-items:center;gap:inherit;flex:1;min-width:0}.plan-feature-content .detail-block.acc h3 .acc-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.btn-spinner{display:inline-block;width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite;vertical-align:-3px;margin-right:8px;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.season-cta.is-sending,.season-cta[disabled]{opacity:.8;cursor:wait;transform:none;pointer-events:none}@media(prefers-reduced-motion:reduce){.btn-spinner{animation-duration:2s}}
@media(orientation:landscape) and (max-height:480px) and (max-width:1000px){#estimatedPriceBox{position:static!important}.hero{min-height:0}}
.section-desc.desc-left{text-align:left!important;margin-left:0;margin-right:auto}
@media(min-width:601px) and (min-height:481px),(min-width:1001px){.section-desc.desc-left{padding-left:calc(30px + 15px)}}
.section-title.title-left{justify-content:flex-start;text-align:left}
@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.section-title.title-left{align-items:flex-start}}
.section-desc.desc-left{max-width:94%!important;text-wrap:pretty!important}
.section-title.title-left{gap:15px}.section-title.title-left .deco-icon{width:30px;height:30px}

/* Retours à la ligne basiques (natifs) : descriptions, intro activités, bloc spa */
.section-desc,.section-desc:not(.wrap-pretty),.section-desc.desc-left,.activities-intro p,.spa-feature-content p,.spa-feature-content .spa-plus{text-wrap:wrap!important}

/* Marge de droite réduite pour les descriptions alignées à gauche */
.section-desc.desc-left{max-width:96%!important}
/* Smartphone : icône à gauche du titre, sur la même ligne */
@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.section-title.title-left{flex-direction:row;align-items:center;gap:15px}.section-title:not(.title-left){display:block;text-align:center}.section-title:not(.title-left) .deco-icon{display:inline-block;vertical-align:middle;margin-right:15px}.section-title .deco-icon{width:26px;height:26px}}

/* Intro "Bienvenue au Clapotis 44" : pleine largeur, et "Ici," repart à la ligne sur grand écran */
.section-desc.desc-left.desc-intro{max-width:100%!important}
.br-wide{display:inline}

/* Smartphone : "Plage à pied, sentier…" repart à la ligne, texte sur toute la largeur (sans marge de droite) */
.br-phone{display:none}
@media(max-width:600px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){.br-phone{display:inline}.section-desc.desc-left{max-width:100%!important;margin-right:0}.activities-intro{padding-right:6px!important}}

/* ===== Section tarifs : refonte (l'essentiel d'abord, même contenu sur tous les écrans) ===== */
.season-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.25;text-align:center}
.tab-price{font-size:.8rem;font-weight:500;white-space:nowrap}
.season-tab.active[data-level]{transform:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent)!important}
/* carte : prix en grand, nom de saison réservé aux lecteurs d'écran */
.season-dates.season-when{display:grid;gap:.3rem;white-space:normal!important;overflow:visible!important;font-size:.95rem!important;color:var(--gray)}
.season-when p{margin:0}
.season-when .icon-inline{stroke:var(--gold)}
/* trois prix à la nuit */
.season-nights{grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important}
.season-nights>div{display:flex;align-items:center;justify-content:center;gap:.4rem;background:none;border:0;border-radius:0;padding:.45rem .4rem;font-size:.9rem}
.season-nights>div strong{display:inline;font-size:1.15rem;color:var(--jade-deep);margin:0}
.season-note{grid-template-columns:1fr!important;gap:.4rem!important;background:var(--gold-light);border:1px solid var(--gold-border);border-radius:12px;padding:.8rem 1rem}
/* bouton discret */
.season-cta{background:transparent;color:var(--jade-deep);border:1.5px solid var(--jade-deep);box-shadow:none}
.season-cta:hover{background:var(--jade-deep);color:var(--gold-light);box-shadow:none}
@media(min-width:769px){
.season-note{grid-template-columns:1fr 1fr!important}
.season-content{min-height:var(--season-h,0)}
.season-tabs-scroll{display:flex;flex-wrap:nowrap;gap:.5rem}
.season-tabs-scroll .season-tab{flex:1 1 0;min-width:0;padding:.55rem .4rem!important;font-size:.9rem!important}
}
@media(max-width:768px),(orientation:landscape) and (max-height:480px) and (max-width:1000px){
.season-tabs-scroll{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;overflow:visible}
.season-tabs-scroll .season-tab{width:100%;min-width:0;min-height:52px;line-height:1.25;padding:.45rem .3rem!important;font-size:.82rem!important;white-space:normal;overflow:visible}
.season-tabs-scroll .season-tab:last-child{grid-column:1 / -1;max-width:200px;margin:0 auto}
.tarifs-price-wrapper{overflow-x:hidden}
.tarifs-price-wrapper .season-content{flex:0 0 100%;max-width:100%}
.season-slider-wrap .slider-overlay-arrow{display:none!important}
.season-nights{grid-template-columns:1fr!important;gap:0!important}
.season-nights>div{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;background:none;border:0;border-bottom:1px solid var(--sand-dark);border-radius:0;padding:.35rem 0;text-align:left;font-size:.95rem}
.season-nights>div strong{display:inline;margin:0 0 0 auto;font-size:1.15rem}
.tarifs-price-wrapper{padding:4px 2%!important;margin-bottom:1rem!important}
.tarifs-price-wrapper .season-content{padding:10px 12px}
.season-price-row{padding-bottom:.4rem!important;margin-bottom:.3rem!important}
.season-dates.season-when{font-size:.88rem!important;gap:.1rem}
.season-note{padding:.5rem .7rem}
.season-cta{margin-top:.5rem;padding:.55rem 1.1rem}
.season-tabs-scroll{margin-bottom:.8rem}
}

/* ===== Tarifs : lisibilité des onglets de saison et des mois ===== */
/* Onglet non sélectionné : bordure visible (contraste >= 3:1 avec le fond) */
.season-tab[data-level]:not(.active){border-width:2px!important;border-style:solid!important}
/* Dégradé froid -> chaud (calme -> été) : fond plus contrasté d'un niveau à l'autre, bordure = teinte plus foncée du même niveau */
.season-tab[data-level="1"]:not(.active){background:color-mix(in srgb,var(--jade-deep) 7%,#fff)!important;border-color:#6F8F80!important}
.season-tab[data-level="2"]:not(.active){background:#DCEBE1!important;border-color:#5E8C71!important}
.season-tab[data-level="3"]:not(.active){background:color-mix(in srgb,var(--gold) 24%,#fff)!important;border-color:#96853F!important}
.season-tab[data-level="4"]:not(.active){background:color-mix(in srgb,var(--gold) 45%,#fff)!important;border-color:#A8872F!important}
.season-tab[data-level="5"]:not(.active){background:color-mix(in srgb,var(--gold) 88%,#fff)!important;border-color:var(--gold-text)!important}
/* Icônes dorées des cartes : un ton plus foncé pour rester visibles sur fond clair */
.season-when .icon-inline{stroke:var(--gold-text)}
.season-tab[data-level]:not(.active):hover{border-color:var(--gold)!important}
/* Détail des saisons (mois + vacances) : graisse intermédiaire */
.season-when p{font-weight:500;color:var(--dark)}

/* ===== Boutons : même effet au survol (léger grossissement + montée) ===== */
@media(hover:hover){
.season-cta:hover,.btn-primary:hover,.nav-phone:hover,.zone-tab:not(.active):hover{transform:translateY(-2px) scale(1.03)}
}

/* ===== Palette : corrections de contraste ===== */
:root{--gold-text:#8A5A00;--field-border:#8FA7B0}
/* 1. Doré foncé pour icônes décoratives sur fond clair (le doré d'origine reste sur fond vert) */
.deco-icon,.highlight-icon .icon-svg{stroke:var(--gold-text)}
.tarifs-tab-btn .icon-inline{stroke:var(--gold-text)!important}
.immersion-jade-section .deco-icon{stroke:var(--gold)}
/* 2. Étoiles d'avis (les étoiles Airbnb gardent leur couleur d'origine) */
.review-stars-verified .stars{color:#B45309}
/* 3. Texte secondaire */
.review-time{color:#6B6B6B}
.form-card input[type=date]:invalid::-webkit-datetime-edit,.form-card input[type=date]:disabled::-webkit-datetime-edit{color:#6B6B6B}
@supports (-webkit-touch-callout: none){.form-card input[type=date]:invalid:before,.form-card input[type=date]:disabled:before{color:#6B6B6B}}
/* 4. Bordures des champs de formulaire */
.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card input[type=date],.form-card select,.form-card textarea,.option-item-row input[type=number]{border-color:var(--field-border)}

/* Étoiles du titre « avis Airbnb » : même rouge que le logo Airbnb */
.review-summary-stars-airbnb{color:#ff5a5f!important}

/* ===== HERO (FR / EN / NL / DE) : aligné à gauche sur la grille du site ===== */
/* Même balisage dans les 4 pages : .eyebrow, .hero-title, .hero-description, .hero-price, .hero-availability, .hero-badges, .hero-reviews-row */

/* Largeur : 1060 px + 20 px de marge du hero = même bord gauche que .container (1100 px, marge 20 px) */
.hero-content{width:100%;max-width:1060px;margin:0 auto;text-align:left}
.hero-content .eyebrow{display:block;margin-top:28px;margin-bottom:16px}

.hero-content .hero-title{
  font-family:Lora,Georgia,serif;font-weight:600;font-style:normal;
  font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.16;letter-spacing:-.02em;
  color:color-mix(in srgb,var(--gold) 34%,#fff);text-shadow:0 2px 8px rgba(0,0,0,.55);
  max-width:980px;margin:0 0 20px;white-space:normal;text-wrap:balance}
/* H1 : mots de liaison (Votre, pour, la virgule, entre, et) en or color-mix(in srgb,var(--gold) 80%,#000) ; le reste du titre reste beige color-mix(in srgb,var(--gold) 34%,#fff) */
.hero-content .hero-title .hero-title-accent{color:color-mix(in srgb,var(--gold) 80%,#000)}

.hero-content .hero-description{
  font-size:1.1rem;line-height:1.5;font-weight:400;color:#fff;
  max-width:760px;margin:0 0 22px;text-shadow:0 1px 5px rgba(0,0,0,.45)}

.hero-content .hero-price{font-size:1.05rem;font-weight:600;color:var(--gold);margin:0 0 18px}

.hero-content .hero-availability{display:inline-block;padding:.8rem 1.5rem;font-size:1rem;margin:0 0 24px}

.hero-content .hero-badges{justify-content:flex-start;gap:8px;margin:0 0 18px}
.hero-content .hero-badges .badge{font-size:.8rem}

.hero-content .hero-reviews-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px;margin:0;opacity:.92}
.hero-content .hero-review-badge{font-size:.75rem!important}

@media(max-width:600px){
  /* !important nécessaire : une règle d'origine impose 1.05rem au h1 du hero sur mobile */
  .hero-content .hero-title{font-size:clamp(1.55rem,6.4vw,1.9rem)!important;margin-bottom:16px}
  .hero-content .hero-description{font-size:1rem;margin-bottom:20px}
  .hero-content .hero-badges{gap:6px}
  /* les badges passent à la ligne, jamais sous 0,75 rem */
  .hero-content .hero-badges .badge{font-size:.75rem;padding:6px 10px;white-space:normal;line-height:1.25}
  /* les avis passent à la ligne si besoin (une règle d'origine les forçait sur une seule ligne) */
  .hero-content .hero-reviews-row{flex-wrap:wrap!important;gap:8px 14px!important}
}

/* ===== Consentement aux traceurs (consent.js) ===== */
.cookie-manage{background:none;border:none;padding:0;font:inherit;color:var(--gold);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.clapotis-consent-panel-actions{display:flex;flex-wrap:wrap;gap:10px}
.clapotis-consent-btn{font:inherit;font-size:.9rem;font-weight:600;padding:10px 18px;min-height:44px;border-radius:30px;border:1.5px solid var(--gold);background:transparent;color:#fff;cursor:pointer}
.clapotis-consent-accept,.clapotis-consent-refuse{background:var(--gold);color:var(--jade-deep)}
.clapotis-consent-panel{position:fixed;inset:0;z-index:9100;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .45s ease}
.clapotis-consent-panel.is-visible{opacity:1}
.clapotis-consent-panel .clapotis-consent-panel-card{transform:translateY(14px);transition:transform .45s ease}
.clapotis-consent-panel.is-visible .clapotis-consent-panel-card{transform:none}
@media(prefers-reduced-motion:reduce){.clapotis-consent-panel,.clapotis-consent-panel .clapotis-consent-panel-card{transition:none}}
.clapotis-consent-panel-card{background:var(--foam);color:var(--dark);border-radius:14px;padding:24px;max-width:480px;width:100%;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.clapotis-consent-panel-card h2{color:var(--jade-deep);font-size:1.2rem;margin:0 0 10px}
.clapotis-consent-panel-card p{font-size:.92rem;margin:0 0 14px;color:var(--gray)}
.clapotis-consent-panel-card p a{color:var(--jade-deep);text-decoration:underline}
.clapotis-consent-toggle{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:18px;cursor:pointer}
.clapotis-consent-toggle input{width:22px;height:22px;accent-color:var(--jade-deep)}
.clapotis-consent-panel .clapotis-consent-customize{color:var(--jade-deep)}
.clapotis-consent-status{font-weight:600;color:var(--jade-deep)!important}

/* Hero : fondu doux image -> vidéo (classe .is-playing ajoutée par app-fr_v5.js à la 1re image jouée) */
.hero-video{opacity:0;transition:opacity .8s ease;will-change:opacity}
.hero-video.is-playing{opacity:1}
@media (prefers-reduced-motion:reduce){.hero-video{transition:none}}

/* ===== Titre du hero : blanc (meilleur contraste sur l'image) ===== */
.hero-content .hero-title,.hero-content .hero-title .hero-title-white,.hero-content .hero-title .hero-title-beige{color:#fff}
/* Titres en Lora (plus lisible que Fraunces) : un peu plus de graisse et d'interlignage pour la lecture */
h1,h2,h3,h4,.section-title{font-family:Lora,Georgia,serif;letter-spacing:0;line-height:1.25}
.hero-content .hero-title{letter-spacing:-.005em;font-weight:700}

/* ===== Menu transparent sur le hero, blanc dès qu'on défile (header.v5.js ajoute .is-over-hero) ===== */
header{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 16px rgba(10,54,41,.06);transition:background-color .7s ease,box-shadow .7s ease,border-color .7s ease}
header .logo,header .nav-links a,header .menu-toggle .bar{transition:color .6s ease,background-color .6s ease,border-color .6s ease,text-shadow .6s ease}
/* le hero passe sous le menu (son padding est réglé plus bas, section « Application des réglages ») */
body.hero-overlay-header header{margin-bottom:calc(-1 * var(--header-h,64px))}
header.is-over-hero{background:rgba(255,255,255,0);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-bottom-color:transparent}
header.is-over-hero .logo{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
header.is-over-hero .nav-links a{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
header.is-over-hero .nav-links a:hover{color:var(--gold)}
header.is-over-hero .nav-links a[aria-current=true]{color:#fff}
header.is-over-hero .nav-links a.lang-switch{color:#fff;border-color:var(--gold)}
header.is-over-hero .menu-toggle .bar{background-color:#fff}
@media (prefers-reduced-motion:reduce){header,header .logo,header .nav-links a,header .menu-toggle .bar{transition:none}}

/* ===== Fenêtre modale : mentions légales et politique de confidentialité (legal-modal.v5.js) ===== */
.footer-legal-links{margin-top:14px}
body.legal-modal-ready .legal-block{display:none}
html.legal-modal-open{overflow:hidden}
#legal-modal{display:none;position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background-color:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}
#legal-modal.active{display:flex}
#legal-modal-close{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:max(22px,env(safe-area-inset-right,0px));color:#fff;font-size:2.5rem;font-weight:700;line-height:1;cursor:pointer;background:none;border:none;z-index:10000}
#legal-modal-close:hover{color:var(--gold)}
.legal-modal-card{background:#fff;color:#24352f;width:92%;max-width:900px;max-height:86vh;max-height:86dvh;overflow-y:auto;border-radius:12px;box-shadow:0 10px 30px #00000080;padding:clamp(20px,4vw,36px);line-height:1.7;font-size:.95rem;outline:none;text-align:left}
.legal-modal-card h1,.legal-modal-card h2{color:var(--jade-deep);line-height:1.2;margin:0 0 10px}
.legal-modal-card h1{font-size:1.6rem}
.legal-modal-card h2{font-size:1.25rem;margin-top:1.6rem}
.legal-modal-card #legal-modal-content>h2:first-child{margin-top:0;font-size:1.5rem}
.legal-modal-card h3{color:var(--jade-deep);font-size:1.05rem;margin:1.2rem 0 6px}
.legal-modal-card p{margin:.6rem 0}
.legal-modal-card li{margin:.35rem 0}
.legal-modal-card a{color:var(--jade-deep);text-decoration:underline}
.legal-modal-card .cookie-manage,.legal-modal-card .privacy-manage{font:inherit;font-weight:600;padding:10px 18px;min-height:44px;border-radius:30px;border:1.5px solid var(--jade-deep);background:transparent;color:var(--jade-deep);text-decoration:none;cursor:pointer}
.legal-modal-card .privacy-table-wrap{overflow-x:auto;margin:.8rem 0}
.legal-modal-card .privacy-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.88rem}
.legal-modal-card .privacy-table th,.legal-modal-card .privacy-table td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
.legal-modal-card .privacy-table th{background:var(--sand-dark);color:var(--jade-deep)}

/* Panneau cookies : même habillage que la fenêtre photo, au-dessus des autres fenêtres */
.clapotis-consent-panel{z-index:10001;background-color:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.clapotis-consent-panel-card{position:relative}

/* ===== Pied de page : aucun soulignement ===== */
footer a,footer .cookie-manage,footer .legal-block a{text-decoration:none}
footer a:hover,footer .cookie-manage:hover{color:#fff}

/* ===== Lora sur tous les titres, y compris le texte dans des <span> ===== */
/* La règle d'origine *{font-family:Work Sans} s'applique à chaque élément : sans ceci, les <span> du h1 restent en Work Sans */
h1 *,h2 *,h3 *,h4 *,.section-title *,.hero-title *{font-family:inherit}
.hero-content .hero-title,.hero-content .hero-title span{font-family:Lora,Georgia,serif}

/* ===== Fenêtre « Gérer les cookies » : aucune croix de fermeture visible ===== */
.clapotis-consent-panel .clapotis-consent-close,.clapotis-consent-panel [class*="close"],.clapotis-consent-panel [aria-label="Fermer"]{display:none!important}
/* les croix des autres fenêtres (mentions légales, photos) ne transparaissent plus derrière */
body:has(.clapotis-consent-panel) #legal-modal-close,body:has(.clapotis-consent-panel) #lightbox-close{visibility:hidden}

/* ===== Pied de page : aucun soulignement (liens, boutons, survol, focus) ===== */
footer a,footer a:hover,footer a:focus,footer .cookie-manage,footer .cookie-manage:hover,footer .legal-block a,footer .legal-block a:hover{text-decoration:none!important}

/* ===== Smartphone : titre du bloc spa moins grand ===== */
@media(max-width:600px){
  .spa-feature-content h3{font-size:1.3rem;line-height:1.3;margin-bottom:14px}
}

/* ===== Lora aussi sur les « faux titres » restés en Work Sans : questions FAQ, titre de l'hôte, titre des mentions légales ===== */
summary,.owner-welcome-title,.legal-block h3{font-family:Lora,Georgia,serif}
summary{font-weight:600;line-height:1.35}
.owner-welcome-title{font-size:1.1rem;letter-spacing:0}
.legal-block h3{font-weight:700}

/* ===== Retouches de confort ===== */
/* Sections : plus d'air entre les blocs sur ordinateur et tablette */
@media(min-width:769px){.container{padding-top:64px;padding-bottom:64px}}

/* ===== Fenêtre cookies : « Tout accepter » mis en avant, « Tout refuser » reste bien visible ===== */
.clapotis-consent-panel-actions{gap:12px}
.clapotis-consent-panel .clapotis-consent-accept{background:var(--gold);border-color:var(--gold);color:var(--jade-deep);font-weight:700;box-shadow:0 4px 14px color-mix(in srgb,var(--gold) 45%,transparent);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.clapotis-consent-panel .clapotis-consent-accept:hover{background:#e0bd45;box-shadow:0 6px 18px color-mix(in srgb,var(--gold) 60%,transparent);transform:translateY(-1px)}
.clapotis-consent-panel .clapotis-consent-refuse{background:transparent;border:1.5px solid var(--jade-deep);color:var(--jade-deep);font-weight:600}
.clapotis-consent-panel .clapotis-consent-refuse:hover{background:rgba(10,54,41,.08)}
.clapotis-consent-panel .clapotis-consent-btn:focus-visible,.clapotis-consent-panel .clapotis-consent-accept:focus{outline:3px solid var(--jade-deep);outline-offset:3px}
.clapotis-consent-panel-card h2{font-family:Lora,Georgia,serif}
.clapotis-consent-panel-card p{line-height:1.6}

/* =====================================================================
   HERO : TABLEAU DE RÉGLAGE (tout se règle ici, ne rien changer ailleurs)
   Chaque valeur = l'espace SOUS la phrase / l'élément indiqué.
   Pour descendre un texte : augmentez l'espace de l'élément AU-DESSUS.
   Pour remonter : diminuez-le. Les valeurs mobile sont plus bas.
   ===================================================================== */
:root{
  /* --- Position du bloc dans le hero (ordinateur) --- */
  --hero-hauteur: 82svh;          /* hauteur minimale du hero */
  --hero-alignement: flex-start;  /* flex-start = le texte commence à --hero-haut (réglage exact) · center = texte centré dans la hauteur, --hero-haut agit alors 2 fois moins */
  --hero-haut: 40px;              /* espace entre le menu et la 1re ligne (surtitre) */
  --hero-bas: 66px;               /* espace sous la dernière ligne (avis) */

  /* --- Espace SOUS chaque élément (ordinateur) --- */
  --sous-surtitre: 26px;          /* « PRÉFAILLES · CÔTE DE JADE… » -> titre */
  --sous-titre: 10px;             /* titre H1 -> description */
  --sous-description: 40px;       /* description -> « À partir de 390 € » */
  --sous-prix: 10px;              /* « À partir de 390 € » -> barre de recherche */
  --sous-bouton: 45px;            /* barre de recherche (dates, voyageurs, tarif) -> badges */
  --sous-badges: 18px;            /* badges -> avis Google / Airbnb */
  --sous-avis: 0px;               /* sous la ligne des avis */

  /* --- Retrait à gauche de la ligne d'avis (aligne avec le texte des badges) --- */
  --retrait-avis: 15px;

  /* --- Tailles et interlignes (ordinateur) --- */
  --taille-titre: clamp(1.65rem,3vw,2.6rem);
  --graisse-titre: 700;           /* 400 fin · 600 doux · 700 gras */
  --interligne-titre: 1.2;
  --taille-description: 1.1rem;
  --interligne-description: 1.7;
  --largeur-description: 720px;
}
@media(max-width:600px){
  :root{
    /* --- Position du bloc (mobile) --- */
    --hero-hauteur: 82svh;
    --hero-haut: 20px;
    --hero-bas: 60px;

    /* --- Espace SOUS chaque élément (mobile) --- */
    --sous-surtitre: 34px;
    --sous-titre: 18px;
    --sous-description: 18px;
    --sous-prix: 10px;
    --sous-bouton: 34px;
    --sous-badges: 12px;
    --sous-avis: 0px;
    --retrait-avis: 13px;

    /* --- Tailles et interlignes (mobile) --- */
   --taille-titre: clamp(1.65rem,3vw,2.6rem);
    --interligne-titre: 1.2;
    --taille-description: 1rem;
    --interligne-description: 1.6;
    --largeur-description: 100%;
  }
}

/* --- Application des réglages (ne pas modifier) --- */
body .hero#accueil{
  padding-top:calc(var(--header-h,64px) + var(--hero-haut))!important;
  padding-bottom:var(--hero-bas)!important;
  align-items:var(--hero-alignement)!important;
  min-height:var(--hero-hauteur)!important}
.hero-content .eyebrow{margin-top:0!important;margin-bottom:var(--sous-surtitre)!important}
.hero-content .hero-title{
  font-size:var(--taille-titre)!important;font-weight:var(--graisse-titre)!important;line-height:var(--interligne-titre)!important;
  margin-top:0!important;margin-bottom:var(--sous-titre)!important}
.hero-content .hero-description{
  font-size:var(--taille-description)!important;line-height:var(--interligne-description)!important;
  max-width:var(--largeur-description);margin-top:0!important;margin-bottom:var(--sous-description)!important}
.hero-content .hero-price{margin-top:0!important;margin-bottom:var(--sous-prix)!important}
.hero-content .hero-availability,.hero-content .hero-search{margin-top:0!important;margin-bottom:var(--sous-bouton)!important}
.hero-content .hero-badges{margin-top:0!important;margin-bottom:var(--sous-badges)!important}
.hero-content .hero-reviews-row{margin-top:0!important;margin-bottom:var(--sous-avis)!important;padding-left:var(--retrait-avis)!important}
@media(orientation:landscape) and (max-height:480px) and (max-width:1000px){body .hero#accueil{min-height:0!important}}

/* Le hero passe sous le menu dès le premier affichage, sans attendre header.v5.js (évite le saut au chargement) */
body:has(#accueil) header{margin-bottom:calc(-1 * var(--header-h,64px))}

/* --- v5.1 : styles sortis du HTML (nettoyage inline) ---
   Sélecteurs doublés (.x.x) pour garder la priorité qu'avait le style inline. */
#activites .activity-link{display: block; text-decoration: none; color: inherit;}
#activites .activity-img{width: 100%; height: 140px; object-fit: cover; border-radius: 6px; margin-bottom: 12px;}
html body .faq-answer-body.faq-answer-body{font-size: 0.95rem; padding-top: 10px; color: var(--dark);}
html body .review-text-inline.review-text-inline{font-size: 14px; color: #555; margin-bottom: 5px;}
#tarifs .season-tab-base{border: 1px solid var(--border); padding: 0.6rem 1.4rem; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.95rem; transition: all 0.2s;}
#tarifs .season-price-row-base{display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; border-bottom: 1px solid var(--sand-dark); padding-bottom: 1rem; margin-bottom: 1rem;}
#tarifs .season-head{display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 1rem; width: 100%;}
#tarifs .season-name{color: var(--jade-deep); margin: 0; font-family: 'Lora', Georgia, serif; font-size: 1.3rem;}
#tarifs .season-weekly{font-size: 1.6rem; font-weight: bold; color: var(--jade-deep);}
#tarifs .season-unit{font-size: 0.85rem; font-weight: normal; color: var(--gray);}
#tarifs .w-full{width: 100%;}
#tarifs .season-grid{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; font-size: 0.95rem; color: var(--dark);}
#tarifs .tarifs-list{list-style: none; padding: 0; margin: 0; display: grid; gap: 0.3rem;}
#tarifs .tarifs-col{padding: 0;}
html body .section-desc-center.section-desc-center{text-align: center; color: var(--gray); margin-bottom: 1rem;}
html body .ic-gold.ic-gold{stroke: var(--gold);}
html body .link-plain.link-plain{text-decoration: none;}
html body .ic-18.ic-18{width: 18px; height: 18px; flex-shrink: 0;}
html body .ic-18-airbnb.ic-18-airbnb{width: 18px; height: 18px; fill: #FF5A5F; flex-shrink: 0;}
html body .ic-h26.ic-h26{height: 26px; width: auto;}
html body .ic-h26-airbnb.ic-h26-airbnb{height: 26px; width: auto; fill: #FF5A5F;}
html body .star-google.star-google{color: #FFD700;}
html body .star-airbnb.star-airbnb{color: #FF7A7F;}
html body .hero-rating.hero-rating{color: white; font-weight: bold;}
html body .hero-count.hero-count{color: white; opacity: 0.85;}
html body .text-sm-gray.text-sm-gray{font-size: 0.9rem; color: var(--gray);}
html body .container-tight.container-tight{padding-top: 10px; padding-bottom: 10px;}
html body .mb-0.mb-0{margin-bottom: 0;}
html body .desc-light.desc-light{color: #E2E8F0; max-width: 900px; margin-bottom: 0;}
#activites .grid-3{grid-template-columns: repeat(3, 1fr);}
html body .link-gold.link-gold{color: var(--gold); text-decoration: none; font-weight: 700;}
html body .link-gold.link-gold:hover{color: color-mix(in srgb,var(--gold) 88%,#fff);}
html body .link-inherit.link-inherit{color: inherit; text-decoration: none;}
html body .price-strong.price-strong{font-size: 1.2rem; font-weight: 700; color: var(--jade-deep);}
html body .price-line.price-line{display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 6px;}
html body .form-step-sub.form-step-sub{margin-top: 4px; opacity: 0.85;}
html body .text-normal-gray.text-normal-gray{font-weight: 400; color: var(--gray);}
html body .hero-reviews-row.hero-reviews-row{flex-wrap: wrap; gap: 20px; margin-bottom: 24px; opacity: 0.92;}
html body .hero-review-badge.hero-review-badge{font-size: 0.82rem; font-weight: 600; color: white; align-items: center; gap: 6px;}
html body .tarifs-wrapper.tarifs-wrapper{width: 100%; max-width: 850px; margin: 0 auto; box-sizing: border-box;}
html body .tarifs-price-wrapper.tarifs-price-wrapper{background: linear-gradient(135deg, var(--foam) 0%, var(--sand-dark) 100%); border: 1px solid var(--gold-border); border-radius: 16px; padding: 35px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); margin-bottom: 2rem;}
#calendar-month-label{text-align: center; font-weight: 600; color: var(--jade-deep); margin: 6px 0; font-size: 0.95rem;}
#availability-calendar{flex: 1; min-width: 0;}
#estimatedPriceBox{background: linear-gradient(135deg, var(--foam) 0%, var(--sand-dark) 100%); border: 1px solid var(--gold-border); border-radius: 8px; padding: 14px 16px; margin: 0 0 14px 0;}
#estimatedPriceSummary{font-size: 0.85rem; color: var(--gray); margin: 6px 0 0 0;}
#estimatedPriceToggle{background: none; border: none; padding: 6px 0 0 0; margin: 0; color: var(--jade-deep); font-weight: 600; font-size: 0.82rem; text-decoration: underline; cursor: pointer;}
#estimatedPriceDetail{font-size: 0.85rem; color: var(--gray); margin-top: 4px;}
#estimatedPriceFootnote{font-size: 0.78rem; color: var(--gray); margin: 8px 0 0 0; font-style: italic;}
#dateAvailabilityWarning{font-size: 0.85rem; color: #B91C1C; background: #FEF2F2; border: 1px solid #FCA5A5; border-radius: 6px; padding: 8px 12px; margin: 0px 0 12px 0;}
#Message{width: 100%; padding: 6px 10px; border: 1px solid var(--sand-dark); border-radius: 8px; font-family: inherit; font-size: 0.9rem; resize: vertical; box-sizing: border-box;}
#Consentement_rgpd{margin-top: 1px; flex-shrink: 0; width: 24px; height: 24px; cursor: pointer; accent-color: var(--jade-deep);}
#bookingFormStatus{margin-top: 12px; font-size: 0.9rem;}
#tarifs .season-dates-inline{font-size: 0.85rem; color: var(--gray); margin: 0; width: 100%;}

.hero-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px;align-items:end;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4);border-radius:16px;padding:10px 12px;margin:0 0 24px;width:min(100%,620px);box-shadow:0 8px 28px #00000040}
.hero-content{min-width:0}
.hs-field{display:flex;flex-direction:column;min-width:0;text-align:left}
.hs-field>span:first-child,.hs-field>.hs-lab{display:block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);margin-bottom:3px}
/* Champs : même design que le formulaire de réservation */
.hs-field input[type=date],.hs-field input[type=number]{width:100%;min-width:0;max-width:100%;height:40px;padding:6px 10px;border:1px solid var(--field-border);border-radius:7px;font-size:.9rem;color:var(--dark);background-color:var(--sand);box-sizing:border-box;line-height:1.4;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.hs-field input:focus{outline:none;border-color:var(--jade-deep);box-shadow:0 0 0 3px color-mix(in srgb,var(--jade-deep) 12%,transparent)}
.hs-field input[type=date]:invalid::-webkit-datetime-edit{color:#757575}
.hs-field input[type=date]:valid::-webkit-datetime-edit{color:var(--dark)}
/* 2e ligne : tarif + bouton (toujours présente → la hauteur du hero ne bouge pas) */
.hs-price{grid-column:span 2;display:flex;align-items:center;min-height:40px;min-width:0}
.hs-price-val{display:block;color:#fff;font-size:.85rem;font-weight:600;line-height:1.25;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.hs-price-val.has-price{color:var(--gold);font-size:.95rem;font-weight:700;white-space:nowrap}
.hs-price-val strong{font-size:1.4rem;font-weight:800;letter-spacing:-.01em}
.hs-btn{grid-column:span 2;width:100%;height:40px;min-height:40px;padding:0 20px;border:0;border-radius:30px;background:var(--gold);color:var(--jade-deep);font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 3px 10px color-mix(in srgb,var(--gold) 50%,transparent);transition:transform .2s}
.hs-btn:hover{transform:translateY(-1px);background-color:color-mix(in srgb,var(--gold) 88%,#fff);box-shadow:0 10px 30px color-mix(in srgb,var(--gold) 60%,transparent)}
.hs-error{flex:1 0 100%;color:#9b1c1c;font-size:.85rem;margin:0}
.hero-availability-link{display:inline-block;color:#fff;font-size:.9rem;text-decoration:underline;margin-bottom:8px}
@media(max-width:600px){.hero-search{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:10px}.hs-price,.hs-btn{grid-column:span 1}.hs-price-val.has-price{font-size:.85rem}.hs-price-val strong{font-size:1.25rem}.hs-field .stepper-btn{width:36px;height:36px}}
/* Smartphone : bloc plus transparent (la photo du hero reste visible, champs inchangés) */
@media(max-width:600px){.hero-search{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000026}}

/* Voyageurs du hero : même sélecteur +/− que le formulaire, version compacte */
.hs-field .stepper{gap:6px;width:100%}
.hs-field .stepper input[type=number]{width:auto;flex:1 1 0;min-width:0;padding:6px 0;text-align:center}

/* Capacité du gîte (formulaire) */
.cap-hint{font-size:.78rem;color:var(--gray);margin:-2px 0 8px}

/* Tarif estimé : montant bien visible */
html body #estimatedPriceBox{border:1px solid var(--gold);border-left:5px solid var(--gold);background:linear-gradient(135deg,var(--gold-light) 0%,#fff 100%);box-shadow:0 4px 14px color-mix(in srgb,var(--jade-deep) 8%,transparent)}
html body #estimatedPriceBox .price-line>span:first-child{font-size:.95rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.03em}
html body #estimatedPriceAmount.price-strong{font-size:2rem;line-height:1.05;font-weight:800;color:var(--jade-deep);letter-spacing:-.01em}
@media(max-width:768px){html body #estimatedPriceAmount.price-strong{font-size:1.7rem}}

/* Avis : mention claire que le titre mène à la page des avis (nouvel onglet) */
.review-summary-more{font-size:.8rem;font-weight:700;color:var(--jade-deep);text-decoration:none;margin-top:2px}
.review-summary-card:hover .review-summary-more{color:var(--gold-text,var(--gold-text))}

/* Mosaïque photos : légende sur chaque photo (les photos sont dans des <figure>) */
.photo-patchwork figure{position:relative;margin:0;min-width:0;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px #00000014;transition:transform .3s ease}
.photo-patchwork figure img{box-shadow:none}
.photo-patchwork figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font-size:.78rem;font-weight:600;line-height:1.25;color:#fff;text-align:left;background:linear-gradient(to top,rgba(0,0,0,.62),transparent);text-shadow:0 1px 3px rgba(0,0,0,.5);pointer-events:none}
@media(max-width:600px){.photo-patchwork figcaption{font-size:.72rem;padding:18px 8px 6px}}

.zone-note{max-width:760px;margin:0 auto 20px;text-align:center;line-height:1.6;color:#E2E8F0;font-size:1rem}

@media (max-width:768px){.zone-note{font-size:.92rem;line-height:1.5;padding:0 6px;margin-bottom:16px}}

@media (min-width:1025px){.zone-note{max-width:none;white-space:nowrap}}

/* Badge météo du menu : largeur fixe (évite le décalage du menu au chargement de la météo) */
@media(min-width:769px){.wt-pill{width:10.5rem;justify-content:center;box-sizing:border-box}}
/* Badges du hero : icône et texte centrés verticalement */
.hero-content .hero-badges .badge{display:inline-flex;align-items:center;gap:6px}
.hero-content .hero-badges .badge .icon-inline{flex-shrink:0;vertical-align:0;margin:0}
/* Mobile / tactile : plus de « soulèvement » des vignettes au survol. Sur un écran tactile, :hover reste collé après un toucher ou un glissement et fait sauter la vignette pendant le défilement. */
@media (hover:none),(max-width:768px){.activity-card,.activity-card:hover,.activity-card:active{transform:none!important;transition:none!important}}
