@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=Syne:wght@600;700;800&display=swap";:root{--font-body: "Plus Jakarta Sans", "Segoe UI", sans-serif;--font-display: "Syne", "Segoe UI", sans-serif;--font-micro: "Space Grotesk", "Plus Jakarta Sans", "Segoe UI", sans-serif;--bg: #e9f1f7;--surface: #ffffff;--surface-2: #eef5fb;--text: #0f2235;--muted: #425f79;--primary: #0ea5e9;--primary-strong: #0284c7;--accent: #12b981;--ring: rgba(14, 165, 233, .28);--radius: 18px;--radius-sm: 12px;--shadow-soft: 0 12px 35px rgba(11, 33, 53, .12);--shadow-strong: 0 24px 55px rgba(6, 24, 38, .2);--container: 1120px}[data-theme=dark]{--bg-main: #0f172a;--bg-card: #1e293b;--bg-soft: #111827;--text-main: #f1f5f9;--text-secondary: #94a3b8;--border: rgba(255, 255, 255, .08);--primary: #3b82f6;--primary-hover: #2563eb;--success: #22c55e;--danger: #ef4444;--bg: var(--bg-main);--surface: var(--bg-card);--surface-2: var(--bg-soft);--text: var(--text-main);--muted: var(--text-secondary);--primary-strong: var(--primary-hover);--accent: var(--success);--ring: rgba(59, 130, 246, .34);--shadow-soft: 0 12px 30px rgba(2, 6, 23, .36);--shadow-strong: 0 24px 56px rgba(2, 6, 23, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-main: #0f172a;--bg-card: #1e293b;--bg-soft: #111827;--text-main: #f1f5f9;--text-secondary: #94a3b8;--border: rgba(255, 255, 255, .08);--primary: #3b82f6;--primary-hover: #2563eb;--success: #22c55e;--danger: #ef4444;--bg: var(--bg-main);--surface: var(--bg-card);--surface-2: var(--bg-soft);--text: var(--text-main);--muted: var(--text-secondary);--primary-strong: var(--primary-hover);--accent: var(--success);--ring: rgba(59, 130, 246, .34);--shadow-soft: 0 12px 30px rgba(2, 6, 23, .36);--shadow-strong: 0 24px 56px rgba(2, 6, 23, .5)}}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);line-height:1.45;letter-spacing:.005em;text-rendering:optimizeLegibility;background:radial-gradient(1200px 550px at -5% -15%,rgba(14,165,233,.18),transparent 60%),radial-gradient(1100px 500px at 105% -10%,rgba(16,185,129,.13),transparent 65%),linear-gradient(165deg,#eef5fb,#e5eff8 42%,#edf4fa),var(--bg);color:var(--text);transition:background .3s ease,color .3s ease}#root{min-height:100dvh}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.02em}a{color:inherit;text-decoration:none}.container{max-width:var(--container);margin:0 auto;padding:0 20px}.section-space{padding-top:clamp(24px,4vw,54px);padding-bottom:clamp(26px,4vw,60px)}.card{background:linear-gradient(180deg,#fffffffa,#f8fcfff2);border:1px solid rgba(14,42,68,.14);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.btn{display:inline-block;font-family:var(--font-micro);padding:12px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,filter .22s ease,background .22s ease,color .22s ease;position:relative}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 25px #0284c747}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px) scale(1.02);box-shadow:0 14px 35px #0284c759}.btn-primary:active:not(:disabled){transform:translateY(-1px) scale(.99)}.btn-ghost{border:1px solid rgba(14,42,68,.24);color:var(--text);background:#ffffffe6}.btn-ghost:hover:not(:disabled){transform:translateY(-2px);background:#fff;border-color:#0e2a445c;box-shadow:0 8px 20px #0b21351f}.btn-danger{border:1px solid rgba(165,19,53,.4);background:#ffeef2f2;color:#8a1633}.btn-danger:hover{background:#ffe6ec}.pill{display:inline-flex;align-items:center;font-family:var(--font-micro);font-weight:600;letter-spacing:.01em;border-radius:999px;padding:6px 12px;font-size:.84rem;border:1px solid rgba(14,42,68,.2);background:#fffffff2;color:var(--muted)}.site-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e9f1f7e6;border-bottom:1px solid rgba(16,33,49,.12)}.site-nav{display:flex;justify-content:space-between;align-items:center;min-height:74px;gap:18px}.brand{font-family:var(--font-display);font-weight:800;letter-spacing:-.01em;font-size:clamp(1.35rem,1.9vw,1.8rem)}.nav-links{display:flex;align-items:center;gap:16px;font-family:var(--font-micro);color:var(--muted);font-weight:600}.contrast-toggle{font-family:var(--font-micro);border:1px solid rgba(16,33,49,.24);background:#fffffff2;color:var(--text);border-radius:999px;padding:8px 12px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .2s ease}.contrast-toggle:hover{border-color:#10213157}.contrast-toggle.active{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;border-color:transparent}.contrast-toggle.auto{border-style:dashed}.nav-links a:hover{color:var(--text)}.hero{position:relative;overflow:hidden;padding:clamp(24px,5vw,48px)}.hero:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at center,rgba(14,165,233,.35),transparent 70%);pointer-events:none}.hero-grid{display:grid;gap:26px;align-items:center}.hero-copy p{font-size:clamp(1rem,1.5vw,1.12rem);color:var(--muted);max-width:65ch}.hero-title{margin:10px 0 16px;font-weight:800;font-size:clamp(2rem,6vw,4rem)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-item{background:var(--surface);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(16,33,49,.14)}.stat-item strong{font-family:var(--font-display);letter-spacing:-.01em;display:block;font-size:1.3rem}.stat-item span{font-family:var(--font-micro);font-size:.95rem}.seo-section{margin-top:16px}.seo-copy-card{padding:16px}.seo-copy-card h2,.seo-copy-card h3{margin-top:0}.faq-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.faq-card{padding:14px}.faq-card h3{margin-top:0;margin-bottom:8px}.faq-list{display:grid;gap:12px}.faq-list h3{margin:0 0 6px}.faq-list p{margin:0;color:var(--muted)}.controls{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0 22px}.input,.select{width:100%;border:1px solid rgba(16,33,49,.24);border-radius:12px;background:#fffffff5;color:var(--text);padding:11px 14px;font:inherit}.input:focus,.select:focus{outline:3px solid var(--ring);border-color:var(--primary)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip-btn{font-family:var(--font-micro);border:1px solid rgba(16,33,49,.22);background:#fffffff0;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:600;color:var(--muted)}.chip-btn.active{background:#0ea5e929;border-color:#0ea5e973;color:#0a4d69}.grid{display:grid;gap:18px}.villa-card{overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.villa-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}.villa-image{width:100%;height:250px;object-fit:cover}.villa-body{padding:16px}.villa-meta{font-family:var(--font-micro);color:var(--muted);margin:6px 0 10px}.villa-price{font-family:var(--font-micro);letter-spacing:.01em;margin:0 0 14px;font-weight:700}.detail-grid{display:grid;gap:18px;align-items:start}.detail-gallery{display:flex;flex-direction:column}.gallery-stage{position:relative;border-radius:14px;overflow:hidden}.detail-panel{display:flex;flex-direction:column;justify-content:center;gap:0}.detail-panel-meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.detail-panel-rating{font-family:var(--font-micro);font-size:.9rem;font-weight:700;color:var(--text)}.detail-panel-rating-count{color:var(--muted);font-weight:500}.detail-panel-urgency{font-family:var(--font-micro);font-size:.78rem;font-weight:700;color:#92400e;background:#fbbf2424;border:1px solid rgba(251,191,36,.32);border-radius:8px;padding:4px 9px}.detail-panel-price{margin:6px 0 8px;display:flex;flex-direction:column;gap:3px}.detail-panel-price-amount{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.1}.detail-panel-price-unit{font-family:var(--font-micro);font-size:.95rem;color:var(--muted);font-weight:600}.detail-panel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 6px}.detail-panel-stat{border:1px solid rgba(16,33,49,.13);border-radius:10px;padding:9px 10px;background:#ffffffc7;display:flex;flex-direction:column;gap:2px;text-align:center;transition:all .2s ease}.detail-panel-stat:hover{background:#fffffff2;border-color:#0ea5e93d;transform:translateY(-2px);box-shadow:0 6px 16px #0b213514}.detail-panel-stat-val{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text);line-height:1}.detail-panel-stat-label{font-family:var(--font-micro);font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.detail-cta-primary{min-width:180px;animation:ctaPulseGlow 4.6s ease-in-out infinite}@keyframes ctaPulseGlow{0%,to{box-shadow:0 10px 24px #3b82f62e}50%{box-shadow:0 0 20px #3b82f626,0 12px 30px #3b82f642}}.gallery-main{width:100%;height:clamp(220px,48vw,470px);object-fit:cover;display:block;border-radius:14px;border:1px solid rgba(16,33,49,.2)}.gallery-open-btn{font-family:var(--font-micro);position:absolute;right:14px;bottom:14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#091827a8;color:#fff;padding:9px 14px;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,background .2s ease}.gallery-stage:hover .gallery-open-btn,.gallery-open-btn:focus-visible{opacity:1;transform:translateY(0)}.gallery-open-btn:hover{background:#091827d1}.thumb-row{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.thumb-btn{border:2px solid transparent;border-radius:10px;padding:0;cursor:pointer;overflow:hidden;background:transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.thumb-btn.active{border-color:var(--primary)}.thumb-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 20px #0b213524}.thumb-btn img{width:100%;height:78px;object-fit:cover;display:block}.detail-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.villa-highlights{margin-top:16px;border:1px solid rgba(16,33,49,.14);border-radius:14px;padding:16px;background:#ffffffbf}.villa-highlights-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.villa-highlights-grid{margin-top:10px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.villa-highlight-card{border:1px solid rgba(16,33,49,.14);border-radius:12px;padding:12px;background:#ffffffdb}.villa-highlight-card h4{margin:0 0 8px}.villa-highlight-card ul{margin:0;padding-left:0;display:grid;gap:6px;list-style:none}.villa-highlight-list li{display:flex;align-items:flex-start;gap:8px}.villa-item-icon{width:16px;height:16px;border-radius:50%;margin-top:2px;flex:0 0 16px;box-shadow:inset 0 0 0 1px #ffffff8c}.villa-item-icon.service{background:linear-gradient(180deg,#10b981e0,#059669e0)}.villa-item-icon.distribution{background:linear-gradient(180deg,#0ea5e9e0,#0284c7e0)}.villa-expand-btn{display:none;margin-top:10px;border:1px solid rgba(16,33,49,.2);background:#ffffffe6;border-radius:999px;padding:7px 12px;font-family:var(--font-micro);font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer}.villa-expand-btn:hover{color:var(--text);background:#fff}.booking-card{margin-top:16px;border:1px solid rgba(16,33,49,.14);border-radius:14px;padding:16px;background:#ffffffb8;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}.booking-card.calendar-highlight{border-color:#0ea5e970;box-shadow:0 0 0 3px #0ea5e933,0 16px 34px #0ea5e92e;animation:calendarHighlightPulse .95s ease}@keyframes calendarHighlightPulse{0%{transform:translateY(0)}30%{transform:translateY(-1px)}to{transform:translateY(0)}}.booking-card-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.booking-calendar-col{min-width:0}.booking-sidebar{position:sticky;top:90px;border:1px solid rgba(16,33,49,.16);border-radius:18px;padding:22px;background:#fffffff7;box-shadow:0 18px 48px #0b213529;display:flex;flex-direction:column;gap:14px;transition:top .28s ease,box-shadow .28s ease,transform .28s ease,border-color .28s ease;animation:bookingSidebarIntro .45s ease}@keyframes bookingSidebarIntro{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-price-display{display:flex;align-items:baseline;gap:4px}.booking-price-amount{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.booking-price-unit{font-family:var(--font-micro);font-size:.88rem;color:var(--muted)}.booking-rating-row{font-family:var(--font-micro);font-size:.86rem;font-weight:600;color:var(--text);margin:-6px 0 0}.booking-rating-count{color:var(--muted);font-weight:500}.booking-urgency-badge{margin:0;font-family:var(--font-micro);font-size:.8rem;font-weight:700;color:#92400e;background:#fbbf2424;border:1px solid rgba(251,191,36,.32);border-radius:8px;padding:8px 11px}.booking-date-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(16,33,49,.18);border-radius:10px;overflow:hidden}.booking-date-box{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:transparent;border-right:1px solid rgba(16,33,49,.14)}.booking-date-box:last-child{border-right:none}.booking-date-box small{text-transform:uppercase;font-size:.67rem;letter-spacing:.06em;color:var(--muted);font-family:var(--font-micro);font-weight:700}.booking-date-box strong{font-family:var(--font-micro);font-size:.88rem;font-weight:700;color:var(--text)}.booking-guest-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(16,33,49,.14);border-radius:10px}.booking-guest-label{font-family:var(--font-micro);font-weight:700;font-size:.88rem;color:var(--text);display:block}.booking-guest-sublabel{font-family:var(--font-micro);font-size:.73rem;color:var(--muted);display:block;margin-top:1px}.guest-stepper{display:flex;align-items:center;gap:10px}.guest-stepper-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(16,33,49,.26);background:#ffffffe6;font-family:var(--font-micro);font-size:1.15rem;font-weight:700;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .22s cubic-bezier(.34,1.56,.64,1);line-height:1;padding:0}.guest-stepper-btn:not(:disabled):hover{transform:scale(1.12);background:#0ea5e914;border-color:#0ea5e96b;color:#0a4d69}.guest-stepper-btn:not(:disabled):active{transform:scale(.96)}.guest-stepper-btn:disabled{opacity:.5;cursor:not-allowed}.guest-stepper-count{font-family:var(--font-micro);font-weight:700;font-size:1rem;min-width:22px;text-align:center;color:var(--text)}.booking-sidebar-total{border-top:1px solid rgba(16,33,49,.1);padding-top:12px;display:flex;flex-direction:column;gap:6px;transition:transform .22s ease,box-shadow .22s ease}.booking-sidebar-total.price-updated{animation:pricePulse .36s ease}.booking-sidebar-line{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-micro);font-size:.88rem;color:var(--muted)}.booking-sidebar-line.total-line{color:var(--text);font-size:.95rem;border-top:1px solid rgba(16,33,49,.1);padding-top:8px;margin-top:2px}.booking-sidebar-cta{width:100%;padding:15px 20px;font-size:1rem;text-align:center;justify-content:center;display:inline-flex;align-items:center;gap:8px}.booking-sidebar-cta.is-loading{filter:saturate(.92);cursor:wait}.btn-loader{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;display:inline-block;animation:btnSpin .75s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.booking-occupancy-rows{margin-top:10px;display:flex;flex-direction:column;gap:8px}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.calendar-toolbar{margin-top:12px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.calendar-nav-btn{padding:8px 12px;font-size:.86rem}.calendar-nav-btn:disabled{opacity:.45;cursor:not-allowed}.calendar-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-month{border:1px solid rgba(16,33,49,.14);border-radius:12px;padding:10px;background:#ffffffd9}.calendar-month-title{font-family:var(--font-micro);text-transform:capitalize;font-weight:700;margin-bottom:8px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{font-family:var(--font-micro);font-size:.75rem;color:var(--muted);text-align:center}.calendar-empty{display:block;height:48px}.calendar-day{position:relative;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(16,33,49,.14);border-radius:9px;background:#fff;color:var(--text);cursor:pointer;font-family:var(--font-micro);font-weight:600;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-day:not(:disabled):hover{transform:translateY(-1px) scale(1.03)}.calendar-day.day-pop{animation:calendarDayPop .3s ease}@keyframes calendarDayPop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.calendar-day:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%) translateY(5px);padding:6px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.34);background:#091827db;color:#fff;font-family:var(--font-micro);font-size:.73rem;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2}@media(hover:hover)and (pointer:fine){.calendar-day:hover:after,.calendar-day:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}}.calendar-day-number{line-height:1}.calendar-day-price{font-size:.58rem;color:var(--muted);line-height:1}.calendar-day.is-available{background:linear-gradient(180deg,#d9fcecf2,#eefff6f0);border-color:#10b98161}.calendar-day.is-available .calendar-day-price{color:#0f6d4d}.calendar-day.is-confirmed,.calendar-day.is-blocked{background:linear-gradient(180deg,#ffeceff5,#fff6f8f5);border-color:#f43f5e4d}.calendar-day.is-pending{background:linear-gradient(180deg,#d1fae5f5,#ecfdf5f5);border-color:#10b98175}.calendar-day.is-confirmed .calendar-day-price,.calendar-day.is-blocked .calendar-day-price{color:#b3435a}.calendar-day.is-pending .calendar-day-price{color:#0f6d4d}.calendar-day.is-confirmed:disabled,.calendar-day.is-blocked:disabled{opacity:1;cursor:not-allowed}.calendar-day.is-pending:disabled{opacity:1;cursor:not-allowed}@media(hover:hover)and (pointer:fine){.calendar-day.is-available:hover,.calendar-day.is-available:focus-visible{box-shadow:0 0 0 2px #10b98138,0 12px 26px #10b98147;transform:translateY(-1px);transition:box-shadow .2s ease,transform .2s ease}}.calendar-day:disabled{opacity:.34;cursor:not-allowed}.calendar-day.in-range{background:#0ea5e924;border-color:#0ea5e973;animation:rangeFadeIn .22s ease}@keyframes rangeFadeIn{0%{opacity:.72}to{opacity:1}}.calendar-day.start,.calendar-day.end{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;border-color:transparent}.calendar-day.start .calendar-day-price,.calendar-day.end .calendar-day-price{color:#ffffffe6}.booking-summary{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-legend{margin-top:10px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:var(--muted);font-family:var(--font-micro);font-size:.84rem}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.available{background:linear-gradient(180deg,#10b981,#059669)}.legend-dot.confirmed{background:linear-gradient(180deg,#f43f5e,#e11d48)}.legend-dot.pending{background:linear-gradient(180deg,#10b981,#059669)}.calendar-loading{color:var(--muted)}.booking-summary p{margin:0;border:1px solid rgba(16,33,49,.14);border-radius:10px;padding:9px 10px;background:#ffffffe0}.booking-modal{position:fixed;inset:0;z-index:34;background:#0816238f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;padding:18px;animation:modalOverlayIn .3s ease}.booking-modal-card{width:min(1260px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:22px;background:radial-gradient(900px 320px at 0% -10%,rgba(14,165,233,.12),transparent 55%),radial-gradient(800px 280px at 100% -15%,rgba(16,185,129,.12),transparent 58%),linear-gradient(180deg,#fffffffa,#f6fbfff5);animation:modalCardIn .3s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalCardIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.booking-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.booking-modal-title{margin:10px 0 6px}.booking-step-indicator{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.booking-step-indicator span{border-radius:999px;border:1px solid rgba(16,33,49,.16);background:#ffffffd1;padding:6px 10px;color:var(--muted);font-family:var(--font-micro);font-size:.8rem;font-weight:700;transition:all .22s ease;position:relative}.booking-step-indicator span:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:2px;background:transparent;border-radius:999px;transition:background .22s ease}.booking-step-indicator span.active{border-color:#0ea5e96b;background:#0ea5e91f;color:#0a4d69}.booking-step-indicator span.active:after{background:var(--primary)}.booking-modal-toolbar{margin-top:12px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.booking-modal-grid{margin-top:12px}.booking-modal-grid .calendar-weekdays,.booking-modal-grid .calendar-days{gap:10px}.booking-step-layout{margin-top:10px;display:grid;gap:18px;grid-template-columns:minmax(0,2.1fr) minmax(280px,.75fr);align-items:start;animation:bookingStepSlideIn .35s cubic-bezier(.34,1.56,.64,1)}.booking-step-layout.is-step-transitioning{animation:bookingStepSwap .32s ease}@keyframes bookingStepSwap{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes bookingStepSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.booking-step-main{min-width:0}.booking-step-aside{position:sticky;top:8px}.booking-step-summary-card{border:1px solid rgba(16,33,49,.14);border-radius:12px;background:#ffffffe6;padding:12px;transition:border-color .22s ease,box-shadow .22s ease}.booking-step-summary-card.price-updated{border-color:#0ea5e957;box-shadow:0 10px 22px #0ea5e91f}.booking-modal-form-grid{margin-top:12px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.booking-modal-month{background:#ffffffe6}.booking-modal-day{min-height:60px}.booking-modal-footer{margin-top:14px;display:grid;gap:12px;grid-template-columns:1fr 220px auto;align-items:end}.booking-modal-summary{display:grid;gap:8px;grid-template-columns:1fr}.booking-modal-summary p{margin:0;border:1px solid rgba(16,33,49,.14);border-radius:10px;padding:10px 11px;background:#ffffffe0;transition:background-color .15s ease,border-color .15s ease}.booking-modal-summary .summary-item-muted{color:#5e6f80}.booking-modal-summary .summary-item.has-value{border-color:#0ea5e947;background:#effbffe0}.booking-modal-summary .summary-item-total{border-color:#0ea5e957;background:linear-gradient(180deg,#e8f7fff5,#f5fcfffa);font-size:1.06rem;font-weight:700;grid-column:1 / -1}.booking-modal-summary .summary-item-total.price-updated{animation:pricePulse .36s ease}@keyframes pricePulse{0%{transform:scale(1)}50%{transform:scale(1.025)}to{transform:scale(1)}}.booking-occupancy-card{margin-top:12px;border:1px solid rgba(16,33,49,.14);border-radius:12px;background:#ffffffeb;padding:12px;transition:box-shadow .15s ease,border-color .15s ease}.booking-occupancy-card:focus-within{border-color:#0ea5e957;box-shadow:0 8px 20px #0ea5e91f}.booking-occupancy-title{margin:0;font-size:.95rem;font-family:var(--font-micro);letter-spacing:.02em;color:#284154}.booking-occupancy-grid{margin-top:10px}.booking-guests-field{min-width:0}.booking-modal-cta{min-width:0;width:100%}.booking-cta-note{margin:6px 0 0;font-family:var(--font-micro);font-size:.8rem;color:#5e6f80;text-align:center}.booking-step-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.booking-submit-error{grid-column:1 / -1;margin:0}.booking-contact-actions{margin-top:12px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.booking-contact-preview{margin-top:12px;border:1px solid rgba(16,33,49,.14);border-radius:10px;background:#ffffffe6;padding:11px}.booking-contact-preview p{margin:8px 0 0;color:var(--muted);line-height:1.5}.nightly-list{margin-top:12px;border:1px solid rgba(16,33,49,.14);border-radius:10px;max-height:170px;overflow:auto}.nightly-row{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;font-family:var(--font-micro);border-top:1px solid rgba(16,33,49,.08)}.nightly-row:first-child{border-top:0}.gallery-modal{position:fixed;inset:0;z-index:35;background:#08162399;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;overflow:hidden;padding:20px;animation:modalOverlayIn .3s ease}.gallery-modal-card{position:relative;width:min(980px,100%);max-height:min(calc(100dvh - 40px),780px);overflow:hidden;display:flex;flex-direction:column;padding:16px;animation:modalCardIn .3s ease}.gallery-modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.gallery-float-controls{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;flex-direction:column;gap:8px}.gallery-float-btn{font-family:var(--font-micro);min-width:76px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#091827bf;color:#fff;padding:8px 12px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #05121d59}.gallery-float-btn:hover{background:#091827e0}.gallery-modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.gallery-scroll-btn{min-width:84px}.gallery-modal-body{flex:1;min-height:0;overflow-y:scroll;scrollbar-gutter:stable;padding-right:6px}.gallery-modal-body{scrollbar-width:auto;scrollbar-color:rgba(16,33,49,.45) rgba(16,33,49,.1)}.gallery-modal-body::-webkit-scrollbar{width:12px}.gallery-modal-body::-webkit-scrollbar-track{background:#1021311a;border-radius:999px}.gallery-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0ea5e9cc,#0284c7cc);border-radius:999px;border:2px solid rgba(255,255,255,.55)}.gallery-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0ea5e9f2,#0284c7f2)}.gallery-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gallery-modal-item{border:2px solid transparent;border-radius:12px;padding:0;background:#fff;overflow:hidden;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.gallery-modal-item.active{border-color:var(--primary)}.gallery-modal-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 12px 26px #0b21352e}.gallery-modal-item img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .28s ease}.gallery-modal-item.active img{transform:scale(1.04)}.gallery-modal-item span{display:block;padding:9px 10px;font-family:var(--font-micro);color:var(--muted)}.site-footer{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:center;color:var(--muted);padding-top:clamp(14px,3vw,22px);padding-bottom:clamp(14px,3vw,22px);font-size:clamp(.9rem,1.8vw,1rem);border-top:1px solid rgba(16,33,49,.16)}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}.villa-page-transition.is-villa-transitioning{animation:villaPageIn .45s ease}@keyframes villaPageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.villa-skeleton{overflow:hidden}.villa-skeleton-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px}.villa-skeleton-aside{display:flex;flex-direction:column;gap:10px}.villa-skeleton-booking{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.skeleton-block{border-radius:12px;background:linear-gradient(110deg,#94a3b833 8%,#94a3b857 18%,#94a3b833 33%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.skeleton-image{min-height:320px}.skeleton-title{height:34px;width:75%}.skeleton-line{height:14px;width:94%}.skeleton-line.short{width:66%}.skeleton-price{height:48px;width:52%}.skeleton-cta{height:46px;width:58%}.skeleton-calendar,.skeleton-sidebar{min-height:260px}@keyframes shimmer{to{background-position-x:-200%}}:root[data-contrast=high]{--bg: #dfe8ef;--surface: #ffffff;--surface-2: #edf4fa;--text: #091827;--muted: #29455d;--shadow-soft: 0 12px 35px rgba(5, 18, 29, .2);--shadow-strong: 0 24px 55px rgba(5, 18, 29, .28)}:root[data-contrast=high] body{background:radial-gradient(1200px 550px at -5% -15%,rgba(14,165,233,.14),transparent 60%),radial-gradient(1100px 500px at 105% -10%,rgba(16,185,129,.09),transparent 65%),linear-gradient(165deg,#e5eef5,#dbe7f1 42%,#e4edf6),var(--bg)}:root[data-contrast=high] .card,:root[data-contrast=high] .stat-item,:root[data-contrast=high] .input,:root[data-contrast=high] .select,:root[data-contrast=high] .chip-btn,:root[data-contrast=high] .btn-ghost,:root[data-contrast=high] .pill,:root[data-contrast=high] .site-header,:root[data-contrast=high] .site-footer,:root[data-contrast=high] .gallery-main,:root[data-contrast=high] .gallery-open-btn,:root[data-contrast=high] .gallery-modal-item,:root[data-contrast=high] .gallery-float-btn,:root[data-contrast=high] .booking-card,:root[data-contrast=high] .calendar-month,:root[data-contrast=high] .calendar-day,:root[data-contrast=high] .booking-summary p,:root[data-contrast=high] .nightly-list,:root[data-contrast=high] .calendar-nav-btn,:root[data-contrast=high] .contrast-toggle{border-color:#0918275c}:root[data-contrast=high] .gallery-modal-body{scrollbar-color:rgba(9,24,39,.65) rgba(9,24,39,.14)}@media(prefers-contrast:more){:root{--text: #0b1b2b;--muted: #334f68;--ring: rgba(2, 132, 199, .42)}.card,.stat-item,.input,.select,.chip-btn,.btn-ghost,.pill{border-color:#0b1b2b4d}}.result-note{color:var(--muted);margin:6px 0 16px}.admin-panel{padding:clamp(14px,2vw,22px);position:relative;background:radial-gradient(900px 340px at 5% -10%,rgba(14,165,233,.12),transparent 58%),radial-gradient(900px 300px at 100% -16%,rgba(18,185,129,.1),transparent 60%),linear-gradient(180deg,#fffffffa,#f8fcfff0)}.admin-panel-locked{filter:saturate(.8) blur(2px);pointer-events:none}.admin-login-overlay{position:sticky;top:92px;z-index:20;display:grid;place-items:center;margin:0 auto 14px}.admin-login-card{width:min(460px,100%);padding:18px;border:1px solid rgba(16,33,49,.18);box-shadow:0 22px 50px #0a1b2b38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-login-title{margin:10px 0 8px}.admin-login-btn{margin-top:6px;width:100%}.admin-header{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-title{margin:12px 0 8px}.admin-header-top{align-items:flex-start}.admin-kpis{margin-top:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-item{border:1px solid rgba(16,33,49,.14);border-radius:12px;padding:10px 12px;background:#ffffffe0}.admin-kpi-item strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1}.admin-kpi-item span{display:block;margin-top:4px;color:var(--muted);font-family:var(--font-micro);font-size:.84rem}.admin-kpi-item.pending{border-color:#f9731652}.admin-kpi-item.confirmed{border-color:#10b98161}.admin-kpi-item.cancelled{border-color:#ec48994d}.admin-auth-grid,.admin-toolbar{display:grid;gap:10px;margin-top:14px}.admin-toolbar{align-items:end}.admin-smart-controls{margin-top:12px;display:grid;gap:10px;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end}.admin-chip-row{display:flex;gap:8px;flex-wrap:wrap}.admin-chip{border:1px solid rgba(16,33,49,.18);border-radius:999px;background:#fffc;color:var(--muted);font-family:var(--font-micro);font-weight:700;padding:8px 12px;cursor:pointer}.admin-chip.active{background:#0ea5e924;border-color:#0ea5e973;color:#0a4d69}.active-compact{border-style:dashed}.admin-field{display:grid;gap:6px}.admin-field span{font-family:var(--font-micro);font-size:.86rem;color:var(--muted);font-weight:600}.admin-alert{border-radius:10px;border:1px solid transparent;padding:10px 12px;margin:12px 0 0;font-family:var(--font-micro)}.admin-alert.error{background:#ffedf1f2;border-color:#a9163b4d;color:#84203b}.admin-alert.success{background:#e6f9f1e6;border-color:#117f5454;color:#146b4a}.admin-table-wrap{margin-top:14px;border:1px solid rgba(16,33,49,.14);border-radius:12px;overflow:auto;background:#ffffffeb}.admin-bookings-board{padding:12px;overflow:hidden}.admin-bookings-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-bookings-grid.compact{gap:9px}.admin-booking-card{position:relative;border-radius:14px;border:1px solid rgba(16,33,49,.14);padding:12px;background:linear-gradient(160deg,#fffffffa,#f7fbfff0);box-shadow:0 12px 26px #0b213514}.admin-booking-card.compact{padding:10px}.admin-booking-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:#0ea5e9cc}.admin-booking-card.tone-pending:before{background:linear-gradient(180deg,#f59e0b,#f97316)}.admin-booking-card.tone-confirmed:before{background:linear-gradient(180deg,#10b981,#059669)}.admin-booking-card.tone-cancelled:before{background:linear-gradient(180deg,#f43f5e,#e11d48)}.admin-booking-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.admin-booking-id{margin:0;color:var(--muted);font-family:var(--font-micro);font-size:.82rem}.admin-booking-title{margin:4px 0 2px;font-size:1.35rem}.admin-status-pill{border-radius:999px;padding:6px 11px;border:1px solid rgba(16,33,49,.2);background:#ffffffe6;font-family:var(--font-micro);font-size:.78rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.admin-status-pill.tone-pending{border-color:#f59e0b73;color:#9a4f09}.admin-status-pill.tone-confirmed{border-color:#10b98173;color:#0f6d4d}.admin-status-pill.tone-cancelled{border-color:#f43f5e73;color:#9f1636}.admin-booking-body{margin-top:10px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-booking-body.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-detail-item{border:1px solid rgba(16,33,49,.12);border-radius:10px;background:#ffffffbf;padding:8px 10px}.admin-detail-item span{display:block;color:var(--muted);font-family:var(--font-micro);font-size:.76rem;text-transform:uppercase;letter-spacing:.02em}.admin-detail-item strong{display:block;margin-top:4px}.admin-detail-item small{display:block;margin-top:3px;color:var(--muted)}.admin-booking-actions{margin-top:10px;display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-booking-actions.compact{margin-top:8px}.admin-results-head{display:flex;justify-content:flex-end;margin-bottom:8px}.admin-load-more-wrap{display:flex;justify-content:center;margin-top:12px}.admin-empty-card{border:1px dashed rgba(16,33,49,.2);border-radius:10px;padding:16px;background:#ffffffc2}.admin-table{width:100%;border-collapse:collapse;min-width:860px}.admin-table th,.admin-table td{border-bottom:1px solid rgba(16,33,49,.12);text-align:left;padding:10px;vertical-align:top}.admin-table th{font-family:var(--font-micro);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.admin-subtext{color:var(--muted);font-size:.82rem}.admin-empty{text-align:center;color:var(--muted)}.admin-inline-select{min-width:132px}.admin-row-actions{display:flex;gap:8px}.admin-create-card{margin-top:16px;border:1px solid rgba(16,33,49,.14);border-radius:12px;background:#ffffffc2;padding:14px}.admin-create-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-notes-field{grid-column:1 / -1}.admin-textarea{resize:vertical}.admin-fullscreen-overlay{position:fixed;inset:0;z-index:60;background:#0714209e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:12px}.admin-fullscreen-panel{width:min(1320px,100%);height:calc(100dvh - 24px);border-radius:14px;border:1px solid rgba(255,255,255,.28);background:radial-gradient(900px 340px at 5% -10%,rgba(14,165,233,.12),transparent 58%),radial-gradient(900px 300px at 100% -16%,rgba(18,185,129,.1),transparent 60%),linear-gradient(180deg,#fffffffa,#f8fcfff0);box-shadow:0 26px 60px #07142057;padding:14px;display:flex;flex-direction:column}.admin-fullscreen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.admin-fullscreen-controls{margin-top:10px;display:grid;gap:10px;grid-template-columns:1.2fr .9fr .9fr}.admin-fullscreen-body{margin-top:12px;overflow:auto;border:1px solid rgba(16,33,49,.14);border-radius:12px;background:#fffc;padding:12px}.reveal{opacity:1;transform:none}.reveal.reveal-ready{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .68s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.reveal-ready.is-visible{opacity:1;transform:translateY(0) scale(1)}.btn,.card,.calendar-day,.guest-stepper-btn,.pill,.thumb-btn,.gallery-modal-item{transition:all .2s ease}.btn:active:not(:disabled),.calendar-day:active:not(:disabled),.guest-stepper-btn:active:not(:disabled),.pill:active{transform:scale(.97)}.btn:focus-visible,.calendar-day:focus-visible,.guest-stepper-btn:focus-visible,.pill:focus-visible,.thumb-btn:focus-visible,.gallery-modal-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(pointer:fine){.btn,.card,.calendar-day,.guest-stepper-btn,.pill,.thumb-btn,.gallery-modal-item{transition-duration:.18s}.booking-step-layout.is-step-transitioning,.booking-modal,.booking-modal-card,.gallery-modal,.gallery-modal-card{animation-duration:.26s}}@media(pointer:coarse){.detail-cta-primary{animation:none}.btn,.card,.calendar-day,.guest-stepper-btn,.pill,.thumb-btn,.gallery-modal-item{transition-duration:.14s}.booking-step-layout.is-step-transitioning{animation:bookingStepSwapTouch .2s ease}.btn:active:not(:disabled),.calendar-day:active:not(:disabled),.guest-stepper-btn:active:not(:disabled),.pill:active{transform:scale(.98)}}@keyframes bookingStepSwapTouch{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.reveal,.reveal.reveal-ready,.reveal.reveal-ready.is-visible{opacity:1;transform:none;transition:none}.detail-cta-primary,.booking-modal,.booking-modal-card,.gallery-modal,.gallery-modal-card,.villa-page-transition.is-villa-transitioning,.calendar-day.in-range,.skeleton-block{animation:none}}@media(min-width:900px){.hero-grid{grid-template-columns:1.25fr .75fr}.controls{grid-template-columns:1fr 220px auto;align-items:center}.grid-2{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1.2fr .8fr;align-items:center}.seo-copy-card{padding:18px}}@media(max-width:760px){.hero{padding:22px 18px}.hero-grid{gap:18px}.hero-title{margin:8px 0 12px;font-size:clamp(1.9rem,10vw,2.55rem);line-height:1.08;letter-spacing:-.015em}.hero-copy p{font-size:1rem;line-height:1.52;max-width:34ch}.hero-actions{margin-top:16px}.stat-grid{gap:10px}.stat-item{padding:11px}.stat-item strong{font-size:1.1rem}.stat-item span{font-size:.9rem;line-height:1.35}.faq-grid{grid-template-columns:1fr}.site-nav{min-height:66px}.nav-links{gap:10px}.contrast-toggle{padding:7px 10px;font-size:.78rem}.nav-links,.pill,.villa-meta,.chip-btn,.stat-item span{font-family:var(--font-body);font-weight:500;letter-spacing:0}.btn,.villa-price,.contrast-toggle{font-family:var(--font-micro);font-weight:600;letter-spacing:.005em}.gallery-open-btn{opacity:1;transform:none;right:10px;bottom:10px;font-size:.84rem;padding:8px 12px}.gallery-modal{padding:10px}.gallery-modal-card{max-height:calc(100dvh - 20px);padding:12px}.gallery-modal-actions{width:100%;justify-content:flex-start}.gallery-scroll-btn{min-width:74px}.gallery-modal-body{padding-right:0}.gallery-float-controls{right:10px;bottom:10px}.gallery-float-btn{min-width:70px;padding:7px 11px;font-size:.82rem}.gallery-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-modal-item img{height:120px}.calendar-grid,.booking-summary,.booking-card-layout{grid-template-columns:1fr}.booking-sidebar{position:static;order:-1}.booking-modal{padding:10px}.booking-modal-card{max-height:calc(100dvh - 20px);padding:14px}.booking-modal-footer,.booking-modal-form-grid,.booking-modal-summary{grid-template-columns:1fr}.booking-modal-cta{width:100%;min-width:0}.villa-highlights-grid{grid-template-columns:1fr}.villa-highlight-list li.mobile-hidden{max-height:0;opacity:0;overflow:hidden;margin:0;padding-top:0;padding-bottom:0;transform:translateY(-6px);transition:max-height .32s ease,opacity .24s ease,transform .24s ease,margin .24s ease,padding .24s ease}.villa-highlight-list.expanded li.mobile-hidden{max-height:44px;opacity:1;transform:translateY(0);margin:0;padding-top:0;padding-bottom:0}.villa-expand-btn{display:inline-flex}.calendar-toolbar{justify-content:flex-start}.booking-step-layout{grid-template-columns:1fr}.booking-step-aside{position:static}.calendar-day{height:52px}.admin-create-grid,.admin-kpis,.admin-smart-controls,.admin-bookings-grid,.admin-booking-body{grid-template-columns:1fr}.admin-booking-actions{flex-direction:column;align-items:stretch}.admin-fullscreen-panel{height:calc(100dvh - 14px);border-radius:12px;padding:10px}.admin-fullscreen-controls{grid-template-columns:1fr}.admin-row-actions{flex-direction:column}}[data-theme=dark] body{background:var(--bg-main);color:var(--text-main)}[data-theme=dark] .site-header{background:#111827;border-bottom-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=dark] .site-footer{background:#111827;border-top-color:var(--border)}[data-theme=dark] .card{background:var(--bg-card);border-color:var(--border);box-shadow:0 10px 28px #02061757}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hover));box-shadow:0 10px 26px #2563eb4d}[data-theme=dark] .btn-primary:hover:not(:disabled){box-shadow:0 14px 34px #2563eb5c;filter:brightness(1.08)}[data-theme=dark] .btn-primary:active:not(:disabled){transform:scale(.97)}[data-theme=dark] .input,[data-theme=dark] .select{background:var(--bg-soft);border-color:var(--border);color:var(--text-main)}[data-theme=dark] .input::placeholder{color:var(--text-secondary)}[data-theme=dark] .btn-ghost{background:var(--bg-card);border-color:var(--border);color:var(--text-main)}[data-theme=dark] .btn-ghost:hover{background:#273449}[data-theme=dark] .btn-ghost:active:not(:disabled){transform:scale(.97)}[data-theme=dark] .btn-danger{background:#500a16d9;border-color:#f43f5e4d;color:#f6a4b2}[data-theme=dark] .pill{background:var(--bg-soft);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .chip-btn{background:var(--bg-card);border-color:var(--border);color:var(--text-main)}[data-theme=dark] .chip-btn.active{border-color:#3b82f680;background:#3b82f62e;color:#bfdbfe}[data-theme=dark] .contrast-toggle,[data-theme=dark] .theme-toggle{background:var(--bg-card);border-color:var(--border);color:var(--text-main)}[data-theme=dark] .stat-item{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .hero{background:transparent}[data-theme=dark] .hero:before{display:none}[data-theme=dark] .calendar-month{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .calendar-day{background:var(--bg-soft);border-color:var(--border);color:var(--text-main)}[data-theme=dark] .calendar-day-price{color:var(--text-secondary)}[data-theme=dark] .calendar-day.is-available{background:#22c55e29;border-color:#22c55e61}[data-theme=dark] .calendar-day.is-available .calendar-day-price{color:#bbf7d0}[data-theme=dark] .calendar-day.is-confirmed,[data-theme=dark] .calendar-day.is-blocked{background:#ef444424;border-color:#ef444457}[data-theme=dark] .calendar-day.is-confirmed .calendar-day-price,[data-theme=dark] .calendar-day.is-blocked .calendar-day-price{color:#fecaca}[data-theme=dark] .calendar-day.is-pending{background:#22c55e21;border-color:#22c55e52}[data-theme=dark] .calendar-day.in-range{background:#3b82f633;border-color:#3b82f673}[data-theme=dark] .calendar-day.start,[data-theme=dark] .calendar-day.end{background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-color:#3b82f6cc;color:#fff}@media(hover:hover)and (pointer:fine){[data-theme=dark] .calendar-day.is-available:hover,[data-theme=dark] .calendar-day.is-available:focus-visible{box-shadow:0 0 0 2px #22c55e38,0 10px 22px #0206176b;transform:translateY(-1px) scale(1.02)}}[data-theme=dark] .calendar-nav-btn{background:#ffffff0d;border-color:#ffffff1a;color:var(--text-main);border-radius:999px}[data-theme=dark] .calendar-nav-btn:hover:not(:disabled){background:#3b82f626;border-color:var(--primary);box-shadow:0 8px 22px #2563eb33;transform:scale(1.03)}[data-theme=dark] .calendar-nav-btn:active:not(:disabled){transform:scale(.97)}[data-theme=dark] .booking-modal{background:#0f172adb;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=dark] .booking-modal-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .booking-step-summary-card,[data-theme=dark] .booking-occupancy-card{background:var(--bg-soft);border-color:var(--border);box-shadow:0 10px 24px #02061747}[data-theme=dark] .booking-modal-summary p{background:#ffffff08;border-color:#ffffff14;color:var(--text-main)}[data-theme=dark] .booking-modal-summary .summary-item.has-value{border-color:#3b82f666;background:#3b82f624}[data-theme=dark] .booking-modal-summary .summary-item-total{background:#3b82f62e;border-color:#3b82f670;color:#dbeafe}[data-theme=dark] .booking-card,[data-theme=dark] .booking-summary p{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .booking-sidebar{background:var(--bg-card);border-color:var(--border);box-shadow:0 16px 38px #0206176b}[data-theme=dark] .guest-stepper-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#f8fafc}[data-theme=dark] .guest-stepper-btn:not(:disabled):hover{background:#ffffff26;border-color:#fff3;color:#fff;transform:scale(1.05);box-shadow:0 8px 20px #02061759}[data-theme=dark] .guest-stepper-btn:not(:disabled):active{transform:scale(.95)}[data-theme=dark] .guest-stepper-btn:disabled{opacity:.42}[data-theme=dark] .guest-stepper-count{color:var(--text-main)}[data-theme=dark] .booking-date-row,[data-theme=dark] .booking-guest-row,[data-theme=dark] .booking-date-box{border-color:var(--border)}[data-theme=dark] .booking-date-box{background:var(--bg-soft)}[data-theme=dark] .booking-sidebar-line{color:var(--text-secondary)}[data-theme=dark] .booking-sidebar-line.total-line{color:var(--text-main);border-top-color:var(--border)}[data-theme=dark] .booking-sidebar-cta{background:linear-gradient(135deg,var(--primary),var(--primary-hover));box-shadow:0 12px 28px #2563eb47,0 0 20px #3b82f626}[data-theme=dark] .booking-sidebar-cta:hover:not(:disabled){box-shadow:0 14px 34px #2563eb57}[data-theme=dark] .villa-highlights{background:var(--bg-card);border-color:var(--border);border-radius:16px;padding:20px}[data-theme=dark] .villa-highlights h3,[data-theme=dark] .villa-highlight-card h4{color:var(--text-main)}[data-theme=dark] .villa-highlights .result-note,[data-theme=dark] .villa-highlight-card li{color:var(--text-secondary)}[data-theme=dark] .villa-highlights-grid{gap:14px}[data-theme=dark] .villa-highlight-card{background:var(--bg-soft);border-color:var(--border);box-shadow:0 8px 18px #0206173d}[data-theme=dark] .villa-item-icon.service{background:linear-gradient(180deg,#22c55edb,#16a34adb)}[data-theme=dark] .villa-item-icon.distribution{background:linear-gradient(180deg,#3b82f6db,#2563ebdb)}[data-theme=dark] .nightly-list{background:var(--bg-soft);border-color:var(--border)}[data-theme=dark] .nightly-row{border-top-color:var(--border)}[data-theme=dark] .booking-contact-preview{background:var(--bg-soft);border-color:var(--border)}[data-theme=dark] .booking-step-indicator span{background:var(--bg-card);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .booking-step-indicator span.active{background:#3b82f62e;border-color:#3b82f675;color:#dbeafe}[data-theme=dark] .gallery-modal{background:#0f172adb;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=dark] .gallery-modal-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .gallery-modal-item{background:var(--bg-soft);border-color:var(--border)}[data-theme=dark] .gallery-modal-item.active{border-color:var(--primary)}[data-theme=dark] .admin-panel{background:var(--bg-main)}[data-theme=dark] .admin-kpi-item,[data-theme=dark] .admin-booking-card,[data-theme=dark] .admin-login-card,[data-theme=dark] .booking-step-summary-card,[data-theme=dark] .admin-fullscreen-panel{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .admin-fullscreen-overlay{background:#0f172ab8}[data-theme=dark] .admin-booking-body{background:var(--bg-soft);border-top-color:var(--border)}[data-theme=dark] .admin-status-badge.status-pending{background:#22c55e29;color:#86efac}[data-theme=dark] .admin-status-badge.status-confirmed{background:#3b82f62e;color:#bfdbfe}[data-theme=dark] .admin-status-badge.status-cancelled{background:#94a3b82e;color:#cbd5e1}[data-theme=dark] .villa-expand-btn{background:var(--bg-card);border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .detail-tabs{background:var(--bg-soft)}[data-theme=dark] .tab-btn{color:var(--text-secondary)}[data-theme=dark] .tab-btn.active{background:#3b82f629;color:#dbeafe}.theme-toggle{font-family:var(--font-micro);border:1px solid rgba(16,33,49,.24);background:#fffffff2;color:var(--text);border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px;line-height:1}.theme-toggle:hover{transform:translateY(-1px)}[data-theme=dark] .detail-panel-stat{background:var(--bg-soft);border-color:var(--border)}[data-theme=dark] .detail-panel-stat:hover{background:var(--bg-card);border-color:#3b82f657}[data-theme=dark] .detail-panel-price-amount{color:var(--text-main)}[data-theme=dark] .detail-panel-price-unit{color:var(--text-secondary)}[data-theme=dark] .detail-panel-urgency{background:#fbbf2414;border-color:#fbbf2433;color:#d4900a}[data-theme=dark] .btn,[data-theme=dark] .calendar-day,[data-theme=dark] .guest-stepper-btn,[data-theme=dark] .pill,[data-theme=dark] .calendar-nav-btn{transition:all .2s ease}[data-theme=dark] .btn:focus-visible,[data-theme=dark] .calendar-day:focus-visible,[data-theme=dark] .guest-stepper-btn:focus-visible,[data-theme=dark] .calendar-nav-btn:focus-visible,[data-theme=dark] .villa-expand-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px #3b82f638}@keyframes bookingStepFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:761px)and (max-width:1100px){.booking-step-layout{grid-template-columns:1fr}.booking-step-aside{position:static}.admin-smart-controls{grid-template-columns:1fr 1fr}.admin-bookings-grid{grid-template-columns:1fr}.admin-booking-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:860px){.admin-auth-grid,.admin-toolbar{grid-template-columns:1fr 1fr auto}}
