.villa-comparison{padding-top:64px;padding-bottom:42px}.villa-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.villa-comparison-card{background:#fff;border:1px solid #e2e8e1;border-radius:16px;flex-direction:column;scroll-margin-top:28px;display:flex;overflow:hidden}.villa-comparison-card>a{aspect-ratio:4/3;display:block;overflow:hidden}.villa-comparison-card>a img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.villa-comparison-card>a:hover img{transform:scale(1.03)}.villa-comparison-body{flex-direction:column;flex:1;padding:24px;display:flex}.villa-comparison-body .eyebrow{letter-spacing:1.5px;min-height:16px;font-size:10px}.villa-comparison-body h3{font-family:var(--font-reading);margin:6px 0 18px;font-size:32px}.villa-comparison-body ul{gap:12px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.villa-comparison-body li{align-items:flex-start;gap:10px;display:flex}.villa-comparison-body li svg{color:#496657;flex-shrink:0}.villa-comparison-price{margin-top:auto;padding-top:24px;font-size:14px}.villa-comparison-price strong{font-size:26px;display:block}.villa-comparison-price small{color:#626d66;margin-top:4px;font-size:12px;display:block}.villa-comparison-detail{text-align:center;margin-top:15px;font-size:13px;text-decoration:underline}.villa-options-summary{padding:clamp(48px,5vw,72px) 0 14px}.villa-options-summary h3{margin-bottom:22px;font-size:25px}.villa-options-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.villa-options-grid article{align-items:flex-start;gap:12px;display:flex}.villa-options-grid svg{color:#426454;flex-shrink:0}.villa-options-grid h4{margin:0 0 7px;font-size:15px}.villa-options-grid p{margin:0;font-size:13px;line-height:1.6}.villa-options-grid small{font-size:12px;display:block}.reservation-selection-summary{background:#edf3ee;border-radius:12px;margin-bottom:24px;padding:20px}.reservation-selection-summary p{margin:6px 0}.reservation-options{border-block:1px solid #e1e6df;grid-column:1/-1;padding:16px 0}.reservation-options summary{cursor:pointer;font-weight:600}.reservation-options>div{gap:22px;margin-top:20px;display:grid}.partner-code-bottom{max-width:700px;margin:auto;padding:45px 24px}.partner-code-bottom summary{cursor:pointer;font-size:16px;font-weight:600}.partner-code-bottom .promo-code-field{margin-top:18px}.booking-home .discovery-booking-hero{min-height:700px}.booking-home .discovery-search-results{color:#253a2d;background:#fff}.booking-home .partner-code-bottom{background:#fff;border-radius:16px}.availability-card-total strong{font-size:23px;display:block}.availability-card-total small{font-size:12px;display:block}.booking-progress ol{grid-template-columns:repeat(5,minmax(0,1fr))!important}.booking-progress ol li{font-size:11px}.journey-results-note{color:#5b675f;font-size:13px;line-height:1.6}.journey-selection-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px;display:flex}.booking-home-main{max-width:none}.discovery-search-results:focus{outline:none}@media (max-width:900px){.villa-comparison-grid{gap:12px}.villa-comparison-body{padding:18px}.villa-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:719px){.villa-comparison-grid{grid-template-columns:1fr}.villa-comparison-card>a{aspect-ratio:16/10}.villa-comparison-body{padding:24px}.villa-options-grid{gap:24px 14px}.villa-options-grid article{display:block}.villa-options-grid svg{margin-bottom:10px}.booking-progress ol{gap:3px}.booking-progress ol li{font-size:10px}.booking-progress ol li>span{padding:5px!important}.villa-comparison{padding-top:40px}}.reservation-section[hidden]{display:none!important}.villa-comparison>.section-heading{text-align:center;display:block}.villa-comparison>.section-heading>div{width:100%}.villa-comparison>.section-heading :is(h2,p){text-align:center;margin-inline:auto}.villa-comparison>.section-heading .eyebrow{justify-content:center}body .villa-comparison>.section-heading h2{margin-top:clamp(28px,4vw,52px)!important}body .booking-date-trigger{width:100%;min-height:44px;color:var(--palette-heading,#123b4a);font:400 17px/1.4 var(--font-interface);text-align:left;cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}body .booking-date-trigger svg{color:var(--palette-ink,#087f83);flex:none}body .booking-date-trigger [data-empty=true]{color:var(--vf-cal-muted,#536b73);font-size:16px}body .booking-date-trigger:hover{color:var(--vf-cal-accent,#08777b)}body .vf-date-overlay{z-index:1100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102d3566;position:fixed;inset:0}body .vf-date-dialog{z-index:1101;overscroll-behavior:contain;border:1px solid var(--vf-cal-line,#b8cfcc);background:var(--vf-cal-paper,#fff);width:min(790px,100vw - 40px);max-height:calc(100dvh - 40px);color:var(--vf-cal-text,#203e48);font:400 15px/1.5 var(--font-interface);text-align:left;box-sizing:border-box;border-radius:24px;outline:none;padding:28px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 100px #082d4b40}body .vf-date-dialog *{box-sizing:border-box}body .vf-date-dialog button{letter-spacing:normal;text-transform:none;cursor:pointer;font-family:inherit}body .vf-date-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}body .vf-date-eyebrow{color:var(--vf-cal-accent,#08777b);letter-spacing:.14em;font-size:11px;font-weight:700}body .vf-date-heading h2{font:600 26px/1.3 var(--font-interface)!important;color:var(--vf-cal-heading,#123b4a)!important;letter-spacing:-.025em!important;margin:5px 0 0!important}body .vf-date-close,body .vf-date-navigation button{border:1px solid var(--vf-cal-line,#dce8e5);background:var(--vf-cal-soft,#f4f8f7);width:44px;height:44px;min-height:44px;color:var(--vf-cal-heading,#123b4a);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}body .vf-date-description{color:var(--vf-cal-muted,#536b73);margin:12px 0 20px;font-size:14px;line-height:1.6}body .vf-date-selection{background:var(--vf-cal-soft,#f4f8f7);border:1px solid var(--vf-cal-line,#e0ebe8);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}body .vf-date-selection>button{min-width:0;min-height:64px;color:var(--vf-cal-text,#203e48);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}body .vf-date-selection>button[data-active=true]{background:var(--vf-cal-paper,#fff);border-color:var(--vf-cal-accent,#08777b);box-shadow:0 2px 8px #123b4a0a}body .vf-date-selection>button span{color:var(--vf-cal-muted,#536b73);font-size:12px}body .vf-date-selection>button strong{font-size:17px;font-weight:600}body .vf-date-duration{white-space:nowrap;background:var(--vf-cal-range,#e1f0ed);color:var(--vf-cal-on-soft,#075d62);border-radius:20px;padding:6px 10px;font-size:13px}body .vf-date-instruction{justify-content:space-between;gap:12px;margin-top:22px;font-size:14px;display:flex}body .vf-date-instruction>span{color:var(--vf-cal-muted,#536b73);font-size:12px}body .vf-date-dialog .vf-date-minimum{background:var(--vf-cal-soft,#f4f8f7);color:var(--vf-cal-muted,#38545e);border-radius:10px;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}body .vf-date-minimum svg{color:var(--vf-cal-accent,#08777b);flex:none;margin-top:1px}body .vf-date-minimum strong{color:var(--vf-cal-heading,#123b4a)}body .vf-date-navigation{justify-content:space-between;align-items:center;margin:16px 0 6px;display:flex}body .vf-date-navigation>span{color:var(--vf-cal-muted,#536b73);font-size:12px}body .vf-date-months{grid-template-columns:1fr 1fr;gap:30px;display:grid}body .vf-date-month h3{text-align:center;text-transform:capitalize;font:600 17px/1.5 var(--font-interface)!important;color:var(--vf-cal-heading,#123b4a)!important;margin:0 0 14px!important}body .vf-date-week,body .vf-date-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}body .vf-date-week{color:var(--vf-cal-muted,#536b73);margin-bottom:8px;font-size:11px}body .vf-date-days button{background:var(--vf-cal-soft,#f4f8f7);width:100%;min-width:0;min-height:44px;color:var(--vf-cal-muted,#536b73);border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;padding:3px 0 0;font-size:15px;font-weight:500;line-height:1.15;display:flex}body .vf-date-days button small{justify-content:center;align-items:center;min-height:13px;font-size:10px;line-height:13px;display:flex}body .vf-date-days button[data-status=available]{background:var(--vf-cal-available,#e5f3ef);color:var(--vf-cal-on-available,#086267)}body .vf-date-days button[data-status=available]:hover{border-color:var(--vf-cal-accent,#08777b);background:var(--vf-cal-range,#d4ece6)}body .vf-date-days button[data-status=unknown]{background:var(--vf-cal-warning,#fff8eb);color:var(--vf-cal-on-warning,#79551d)}body .vf-date-days button[aria-disabled=true]{cursor:help}body .vf-date-days button[data-status=unavailable]{background:var(--vf-cal-unavailable,#f2f4f4);color:var(--vf-cal-on-unavailable,#65737b)}body .vf-date-days button[data-status=unavailable]>span{text-decoration:line-through;text-decoration-thickness:1.5px}body .vf-date-days button[data-status=past],body .vf-date-days button[data-status=before-arrival]{background:var(--vf-cal-paper,#fff);color:var(--vf-cal-muted,#6d7c84)}body .vf-date-days button[data-status=too-short]{background:var(--vf-cal-warning,#fff5e8);color:var(--vf-cal-on-warning,#84521f);border-color:var(--vf-cal-warning-line,#f3dbbd)}body .vf-date-days button[data-range=true]{background:var(--vf-cal-range,#d4ebe6);color:var(--vf-cal-on-soft,#075d62);border-color:var(--vf-cal-line,#b8d5ce);border-radius:3px}body .vf-date-days button[data-selected=true]{background:var(--vf-cal-action,#08777b);color:var(--vf-cal-on-action,#fff);border-color:var(--vf-cal-accent,#08777b);border-radius:9px;font-weight:700}body .vf-date-days button[data-selected=true]>span,body .vf-date-days button[data-range=true]>span{color:inherit;text-decoration:none}body .vf-date-days button[data-selected=true] small{font-size:9px}body .vf-date-dialog button:focus-visible{outline:3px solid var(--vf-cal-focus,#f4a261);outline-offset:2px}body .vf-date-dialog button:disabled{opacity:.5;cursor:not-allowed}body .vf-date-legend{color:var(--vf-cal-muted,#536b73);flex-wrap:wrap;justify-content:center;gap:12px 22px;margin-top:20px;font-size:12px;display:flex}body .vf-date-legend>span{align-items:center;gap:7px;display:flex}body .vf-date-legend i{border:1px solid var(--vf-cal-line,#b8cfcc);background:var(--vf-cal-soft,#f4f8f7);border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-style:normal;display:inline-flex}body .vf-date-legend [data-state=available]{background:var(--vf-cal-range,#d4ece6);border-color:var(--vf-cal-line,#5a9e8c)}body .vf-date-legend [data-state=range]{background:var(--vf-cal-range,#d4ebe6);border-color:var(--vf-cal-line,#b8d5ce);color:var(--vf-cal-on-soft,#075d62)}body .vf-date-legend [data-state=unavailable]{background:var(--vf-cal-unavailable,#f2f4f4);color:var(--vf-cal-on-unavailable,#65737b);text-decoration:line-through;text-decoration-thickness:1.5px}body .vf-date-legend [data-state=too-short]{background:var(--vf-cal-warning,#fff5e8);color:var(--vf-cal-on-warning,#84521f);border-color:var(--vf-cal-warning-line,#f3dbbd);width:25px;font-size:9px}body .vf-date-legend [data-state=muted]{background:var(--vf-cal-paper,#fff);border-color:var(--vf-cal-line,#dce8e5)}body .vf-date-dialog .vf-date-explanation{min-height:36px;color:var(--vf-cal-muted,#38545e);align-items:flex-start;gap:7px;margin:12px 0 0;font-size:12px;line-height:1.5;display:flex}body .vf-date-explanation svg{color:var(--vf-cal-accent,#08777b);flex:none;margin-top:1px}body .vf-date-live{color:var(--vf-cal-muted,#536b73);justify-content:center;align-items:center;gap:8px;min-height:22px;margin:14px 0 0;font-size:12px;display:flex}body .vf-date-live>span{align-items:center;gap:6px;display:flex}body .vf-date-live svg{flex:none}body .vf-date-live button{min-height:44px;color:var(--vf-cal-accent,#08777b);background:0 0;border:0;text-decoration:underline}body .vf-date-footer{border-top:1px solid var(--vf-cal-line,#dce8e5);justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding-top:20px;display:flex}body .vf-date-footer>div{flex-direction:column;gap:3px;min-width:0;font-size:13px;display:flex}body .vf-date-footer strong{color:var(--vf-cal-on-available,#086267);font-size:14px}body .vf-date-footer small{color:var(--vf-cal-muted,#536b73);font-size:11px;line-height:1.5}body .vf-date-footer .vf-date-availability{flex:1;gap:9px}body .vf-date-availability[data-available=true]{border:2px solid var(--vf-cal-accent,#08777b);background:var(--vf-cal-available,#e5f3ef);border-radius:14px;padding:16px}body .vf-date-available-villas{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}body .vf-date-available-villas li{border:1px solid var(--vf-cal-line,#b8cfcc);background:var(--vf-cal-paper,#fff);color:var(--vf-cal-heading,#123b4a);border-radius:8px;align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:18px;font-weight:700;line-height:1.4;display:flex}body .vf-date-available-villas svg{color:var(--vf-cal-accent,#08777b);flex:none}body .vf-date-apply{background:var(--vf-cal-action,#08777b);min-height:50px;color:var(--vf-cal-on-action,#fff);border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:15px;font-weight:600;display:flex}body .vf-date-apply:hover:not(:disabled){background:var(--vf-cal-action-hover,#075d62)}@media (max-width:640px){body .vf-date-dialog{border-radius:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px}body .vf-date-heading h2{font-size:23px!important}body .vf-date-description{margin:10px 0 16px;font-size:13px}body .vf-date-months{grid-template-columns:minmax(0,1fr);gap:0}body .vf-date-month:nth-child(2){display:none}body .vf-date-selection{gap:7px;padding:8px}body .vf-date-selection>button{min-height:60px;padding:8px}body .vf-date-selection>button strong{font-size:16px}body .vf-date-duration{display:none}body .vf-date-days{gap:4px}body .vf-date-days button{min-height:44px}body .vf-date-instruction{margin-top:16px;font-size:13px}body .vf-date-navigation{margin-top:10px}body .vf-date-footer{flex-direction:column;align-items:stretch;gap:12px;margin-top:16px;padding-top:14px}body .vf-date-apply{width:100%;min-height:50px}body .vf-date-legend{gap:12px;margin-top:14px}body .vf-date-live{margin-top:10px}body .vf-date-footer small{font-size:11px}}@media (prefers-reduced-motion:no-preference){body .vf-date-days button,body .vf-date-apply{transition:background .15s,border-color .15s}}body .vf-date-days button[data-holiday=true]{position:relative;box-shadow:inset 0 -3px #b57b13}body .vf-date-days button[data-holiday=true][data-status=available]:not([data-selected=true]):not([data-range=true]){color:#614008;background:#fff1ce;border-color:#d7b66f}body .vf-date-days .vf-holiday-star{color:#825307;font-size:10px;line-height:1;text-decoration:none;position:absolute;top:2px;right:3px}body .vf-date-days button[data-selected=true] .vf-holiday-star{color:#ffe5a2}body .vf-date-legend [data-state=holiday]{color:#825307;background:#fff1ce;border-color:#d7b66f}@media (forced-colors:active){body .vf-date-days button[data-holiday=true]{border:2px dotted buttontext}body .vf-date-days .vf-holiday-star{color:buttontext}}.vf-school-choice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:.85rem;display:flex}.vf-school-choice label{align-items:center;gap:10px;display:flex}.vf-school-choice select{color:#143e48;background:#fff;border:1px solid #cbd9d9;border-radius:8px;max-width:210px;padding:8px}.vf-school-source{color:#526571;margin:12px 0;font-size:.75rem;line-height:1.5}.vf-school-source a{text-decoration:underline}.vf-date-days button[data-school-holiday=true]{position:relative}.vf-date-days button[data-school-holiday=true]:after{content:"";background:#8345c6;border-radius:3px;height:3px;position:absolute;bottom:3px;left:20%;right:20%}.vf-date-days button[data-school-holiday=true][data-selected=true]:after{background:#edceff}.vf-date-legend i[data-state=school]{background:#8345c6;border:0;height:4px}body .discovery-booking-hero{isolation:isolate;background:#173d3f;align-items:center;min-height:min(900px,100svh);padding:88px clamp(24px,4vw,64px) 110px;scroll-margin-top:0;display:flex;position:relative}body .discovery-booking-photo{object-fit:cover;object-position:59% 60%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}body .discovery-booking-shade{z-index:-1;background:linear-gradient(#061c2066,#061c2038 48%,#061c208a);position:absolute;inset:0}body .discovery-booking-content{text-align:center;width:100%;max-width:1180px;margin:auto}body .discovery-booking-place{font:600 13px/1.5 var(--font-interface);letter-spacing:.16em;background:#102d3530;border:1px solid #ffffff50;border-radius:30px;justify-content:center;align-items:center;gap:8px;min-height:44px;margin:0 0 22px;padding:8px 12px;text-decoration:none;transition:background .2s;display:inline-flex;color:#fff!important}body[data-theme] .discovery-booking-hero h1{text-wrap:balance;text-shadow:0 2px 22px #102d3555;margin:0;color:#fff!important;font-family:var(--font-reading),Georgia,serif!important;letter-spacing:-.025em!important;font-size:clamp(38px,4.5vw,68px)!important;font-weight:400!important;line-height:1.12!important}body .discovery-booking-description{font:400 clamp(16px,1.5vw,20px)/1.6 var(--font-interface);text-shadow:0 1px 8px #102d3580;margin:24px auto 22px;color:#fff!important}body .discovery-booking-benefits{color:#fff;font:400 14px/1.5 var(--font-interface);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px;margin:28px 0 32px;padding:0;list-style:none;display:flex}body .discovery-booking-benefits li{align-items:center;gap:8px;display:flex}body .discovery-availability-search{color:#174337;text-align:left;z-index:3;background:#fff;border-radius:12px;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(130px,.9fr) auto;align-items:stretch;gap:0;padding:9px;display:grid;position:relative;box-shadow:0 12px 48px #09282a2b}body .discovery-search-field{color:#314d51;min-width:0;font:600 13px/1.4 var(--font-interface);border-right:1px solid #e0e7e6;flex-direction:column;justify-content:center;gap:5px;padding:10px 15px;display:flex}body .discovery-search-field input{color:#123b43;width:100%;min-width:0;min-height:30px;font:400 16px/1.5 var(--font-interface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border:0;border-radius:0;padding:0}body .discovery-search-guests{color:#123b43;min-width:0;position:relative}body .discovery-search-guests summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:70px;padding:10px 16px;list-style:none;display:flex}body .discovery-search-guests summary::-webkit-details-marker{display:none}body .discovery-search-guests summary small{font:600 13px/1.4 var(--font-interface);color:#314d51;margin-bottom:5px;display:block}body .discovery-search-guests summary strong{font:400 16px/1.5 var(--font-interface);color:#123b43;display:block}body .discovery-guests-panel{z-index:5;background:#fff;border:1px solid #d9e6e5;border-radius:12px;width:320px;max-width:calc(100vw - 40px);padding:22px;position:absolute;top:calc(100% + 18px);right:0;box-shadow:0 15px 45px #08292a33}body .discovery-guests-panel label{font:600 15px/1.4 var(--font-interface);justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}body .discovery-guests-panel label small{color:#526566;margin-top:3px;font-size:13px;font-weight:400;display:block}body .discovery-guests-panel input{color:#123b43;background:#fff;border:1px solid #8da8ac;border-radius:7px;width:76px;min-height:44px;padding:8px;font-size:16px}body .discovery-guests-panel p{font:400 12px/1.5 var(--font-interface);color:#526566;margin:8px 0 14px}body .discovery-guests-panel button{background:var(--trial-green,#086782);color:#fff;width:100%;min-height:44px;font:600 14px var(--font-interface);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:12px;display:flex}body .discovery-search-submit{background:var(--trial-green,#086782);color:#fff;font:600 15px/1.4 var(--font-interface);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;max-width:220px;padding:14px 20px;display:flex}body .discovery-search-submit:hover,body .discovery-guests-panel button:hover{filter:brightness(.92)}body .discovery-availability-search :is(input,summary,button):focus-visible{outline-offset:3px;outline:3px solid #e4b64c}body .discovery-search-note{font:400 13px/1.6 var(--font-interface);text-shadow:0 1px 5px #0006;margin:16px 0 0;color:#fff!important}body .discovery-photo-caption{color:#fff;font:400 12px/1.4 var(--font-interface);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#123c4266;border:1px solid #ffffff50;border-radius:30px;padding:7px 14px;position:absolute;bottom:23px;right:24px}body .discovery-search-results{max-width:1180px;margin:auto;padding:45px clamp(20px,4vw,60px);scroll-margin-top:30px}body .discovery-search-results h2{margin:0 0 16px;font-size:32px}body .discovery-search-results .stay-availability{margin:20px 0}body .discovery-search-results .stay-estimate{margin:24px 0}body .discovery-search-results .button{margin-top:16px}@media (min-width:1100px) and (max-width:1400px){body .discovery-search-submit{max-width:175px;padding-inline:14px}body .discovery-search-submit svg{display:none}body .discovery-booking-hero{padding-inline:32px}}@media (max-width:760px){body .discovery-booking-hero{align-items:flex-start;min-height:760px;padding:74px 20px 80px}body .discovery-booking-photo{object-position:63% 58%}body[data-theme] .discovery-booking-hero h1{font-size:clamp(34px,8vw,50px)!important}body .discovery-booking-place{margin-bottom:20px;font-size:11px}body .discovery-booking-description{margin:20px 0;font-size:16px}body .discovery-booking-benefits{gap:10px 14px;margin-bottom:24px;font-size:12px}body .discovery-availability-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:8px}body .discovery-search-field{border-bottom:1px solid #e0e7e6;padding:10px 8px}body .discovery-search-field:nth-child(2){border-right:0}body .discovery-search-guests summary{min-height:66px;padding:10px 8px}body .discovery-search-submit{max-width:none;margin:8px 0 0;padding:12px 10px;font-size:13px}body .discovery-search-submit svg{display:none}body .discovery-guests-panel{width:300px;top:calc(100% + 12px);left:-8px;right:auto}body .discovery-photo-caption{bottom:18px;right:20px}body .discovery-search-results{scroll-margin-top:85px}body .discovery-search-note{font-size:12px}}.discovery-booking-content h1 .discovery-hero-subtitle{letter-spacing:0;margin-top:12px;font-size:.57em;line-height:1.35;display:inline-block}body .discovery-booking-place:hover{background:#102d3570;border-color:#fff}body .discovery-booking-place:focus-visible{outline-offset:5px;outline:3px solid #fff}.golf-carousel{background:var(--background,#fff);width:100%;max-width:none;position:relative;overflow:hidden}.golf-carousel .favorite-photos-slide{background:var(--background,#fff)}.golf-carousel .favorite-photos-slide img{object-fit:cover;object-position:center;width:100%;height:100svh;padding:0;animation:none;display:block;transform:none}.senior-long-stays .senior-agenda-intro{margin-top:0;margin-bottom:70px}.senior-long-stays .section-heading{margin-bottom:30px}.long-stay-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.long-stay-offer{border:1px solid var(--palette-line,var(--trial-line,#d5dccd));background:var(--palette-soft,var(--trial-paper,#fff));border-radius:18px;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:clamp(20px,3vw,32px);display:flex}.long-stay-offer h3,.long-stay-offer p{margin:0}.long-stay-offer .long-stay-price{font-family:var(--font-interface);color:var(--palette-heading,var(--trial-indigo));font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;line-height:1.2}.long-stay-period{min-height:3.2em}.long-stay-offer .button{white-space:normal;text-align:center;max-width:100%;margin-top:auto}.long-stay-terms{margin-top:24px;font-size:.95rem;line-height:1.7}@media (max-width:680px){.long-stay-offers{grid-template-columns:1fr}.long-stay-period{min-height:0}}.long-stay-dates{gap:16px;width:100%;display:grid}.long-stay-dates input{width:100%;min-width:0}.long-stay-dates .button:disabled{opacity:.5;cursor:not-allowed}.senior-intro-section .senior-agenda-intro{margin-bottom:0}.long-stay-surf-illustration{box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:100%;height:100svh;margin:0;padding:clamp(20px,3vw,48px);display:flex;overflow:hidden}.long-stay-surf-illustration img{object-fit:contain;object-position:center;flex:1 1 0;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.long-stay-payment{border:1px solid var(--primary,#007fa5);background:#ffffffbf;border-radius:12px;padding:16px 18px}.long-stay-payment strong{color:var(--primary,#007fa5);display:block}.long-stay-payment small{margin-top:6px;line-height:1.5;display:block}.booking-home{isolation:isolate;background:var(--primary);color:#303c3c;min-height:100svh;font-family:var(--font-interface);position:relative}.booking-home-background{z-index:-1;pointer-events:none;position:fixed;inset:0}.booking-home-background img{object-fit:cover;object-position:center;width:100%;height:100%}.booking-home-background:after{content:"";background:linear-gradient(90deg,#071f228c,#071f2238 70%,#071f2255);position:absolute;inset:0}.booking-home-header{z-index:40;padding:calc(14px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 14px max(24px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf5f5;align-items:center;gap:20px;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 3px 18px #143e3010}.booking-home .booking-menu-trigger{width:48px;min-width:48px;height:48px;min-height:48px;color:var(--primary);letter-spacing:.02em;text-transform:none;background:#fff;border:1px solid #8fafa3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:11px;font-size:18px;font-weight:400;display:inline-flex}.booking-home .booking-menu-trigger:hover{border-color:var(--primary);background:#eef5ed}.booking-home .booking-menu-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.booking-home-header .booking-home-brand{min-width:0;color:var(--primary);align-items:center;gap:12px;font-size:clamp(22px,2.6vw,34px);line-height:1.2;text-decoration:none;display:flex}.booking-home-brand img{object-fit:contain;flex:0 0 44px;width:44px;height:34px}.booking-home-wordmark{overflow-wrap:anywhere;min-width:0}.booking-home-main{max-width:1600px;padding:calc(128px + env(safe-area-inset-top,0px)) 6% 80px;grid-template-columns:minmax(0,1fr) minmax(0,680px);align-items:start;gap:6vw;margin:0 auto;display:grid}.booking-home-intro{color:#fff;padding:40px 0;position:sticky;top:clamp(128px,25vh,240px)}.booking-home-intro p{color:#fff;letter-spacing:.16em;text-align:center;margin-bottom:24px;font-size:18px;line-height:1.6}.booking-home-intro h1{font-family:var(--font-editorial);letter-spacing:-.035em;text-shadow:0 2px 20px #001b2430;font-size:clamp(38px,4.2vw,66px);line-height:1.23}.booking-home-intro em{color:#fff3d1}.booking-home #reservation{width:100%;max-width:none;margin:0;padding:0}.booking-home .reservation-card{border:1px solid var(--line-soft);background:#fff;border-radius:14px;padding:clamp(24px,3.4vw,44px);box-shadow:0 12px 48px #001c2520}.booking-home .reservation-card h2{font-family:var(--font-editorial);letter-spacing:-.035em;color:var(--indigo);margin-bottom:18px;font-size:clamp(1.65rem,2.6vw,2.4rem);line-height:1.35}.booking-home .reservation-description{color:#586763;margin:18px 0 28px}.booking-home .form-grid{gap:24px 20px}.booking-home .villa-choice input{min-height:20px;padding:0}.booking-home .field{letter-spacing:.02em}.booking-home .field :is(input:not([type=checkbox]):not([type=radio]),textarea,[data-slot=select-trigger]),.booking-home .stay-date-fields button{border:1px solid var(--line-soft);min-height:50px;box-shadow:none;color:#303c3c;background:#fff;border-radius:7px;padding:12px}.booking-home .stay-date-fields button{font-family:var(--font-interface);font-size:18px;line-height:1.5}:is(.booking-home .field :is(input,textarea):focus-visible,.booking-home .stay-date-fields button:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.booking-home .field small,.booking-home .form-note{color:#586763}.booking-home .button.primary{background:var(--primary);border-color:var(--primary);color:#fff;letter-spacing:0;text-transform:none;border-radius:8px;min-height:48px}.booking-home .button.primary:hover{background:#19483f;border-color:#19483f}.booking-menu-account{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:20px;padding-top:20px;font-size:18px;display:flex}@media (max-width:1099px){.booking-home-main{max-width:780px;padding:calc(112px + env(safe-area-inset-top,0px)) 24px 40px;grid-template-columns:minmax(0,1fr);gap:28px}.booking-home-intro{padding:16px 0;position:static}.booking-home-intro h1{font-size:clamp(34px,5.5vw,48px)}.booking-home-intro h1 br{display:none}.booking-home-intro h1 em:before{content:" "}.booking-home-intro p{margin-bottom:14px}}@media (max-width:560px){.booking-home-header{padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));gap:12px}.booking-home .booking-menu-trigger{gap:8px;padding:10px 12px}.booking-home-header .booking-home-brand{gap:8px;font-size:clamp(20px,5vw,26px)}.booking-home-brand img{flex-basis:32px;width:32px;height:28px}.booking-home .reservation-card{padding:26px 20px}.booking-home .form-grid{gap:20px}}@media (max-width:360px){.booking-home-header{padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px));gap:10px}.booking-home .booking-menu-trigger{gap:6px;padding:10px;font-size:16px}.booking-home-brand img{flex-basis:26px;width:26px;height:24px}.booking-home-header .booking-home-brand{gap:6px;font-size:20px}}.reservation-card .paid-options .paid-option-choice{align-items:center;gap:12px;line-height:1.5;display:flex}.reservation-card .paid-options .paid-option-choice input[type=checkbox]{flex:0 0 20px;align-self:center;width:20px;height:20px;min-height:20px;margin:0;padding:0;display:block}.reservation-card .paid-options .paid-option-choice>span{min-width:0;margin:0;line-height:1.5;display:block}.reservation-card #coordonnees{scroll-margin-top:110px}.booking-home .booking-home-main{max-width:none;padding:96px 0 0;display:block}.booking-home .discovery-search-results{border-radius:16px;max-width:1100px;margin:30px auto;padding:30px}.booking-home #reservation{max-width:880px;margin:30px auto;padding:0 20px}.booking-home .partner-code-bottom{margin:30px auto}.booking-home .discovery-booking-hero{width:100%}@media (max-width:700px){.booking-home .discovery-search-results{margin:20px 10px;padding:24px 16px}.booking-home .booking-home-main{padding-top:85px}}.quote-grid:has(.review-compact){align-items:start}.quote.review-compact{min-width:0;padding:20px!important}.review-compact .review-stars{margin-bottom:12px}.review-compact cite{margin-top:16px;font-size:16px;display:block}.review-compact time{font-size:16px}.review-excerpt{border:0;margin:0;padding:0}.review-excerpt summary{cursor:pointer;padding:0;font-weight:400;list-style:none}.review-excerpt summary::-webkit-details-marker{display:none}.review-preview{-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:16px;line-height:1.6;display:-webkit-box;overflow:hidden}.review-preview-image{object-fit:cover;border-radius:6px;width:100%;max-height:100px;margin:12px 0;display:block}.review-open-label,.review-close-label{color:#285a50;margin-top:12px;font-size:16px;text-decoration:underline;display:block}.review-close-label,.review-excerpt[open] .review-preview,.review-excerpt[open] .review-preview-image,.review-excerpt[open] .review-open-label{display:none}.review-excerpt[open] .review-close-label{display:block}.review-full blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;line-height:1.7;font-size:16px!important}.review-excerpt summary:focus-visible{outline-offset:5px;border-radius:4px;outline:2px solid #285a50}#villas-jardin .favorite-photos-slide img{object-position:center top!important}.guestbook-invitation{text-align:center}.guestbook-invitation :is(h3,p){text-align:center;margin-inline:auto}.guestbook-invitation>.button{margin-inline:auto}
