@font-face{font-family:IRANSansX;src:local('IRANSansX'),local('IRANSans');font-display:swap}
:root{--bg:#f5f3ee;--surface:#fff;--surface-soft:#f7f7f3;--ink:#17372b;--muted:#718078;--line:#d9dfd9;--green:#164d37;--green2:#2d6b50;--gold:#b79048;--gold-soft:#f4ecd9;--shadow:0 20px 55px rgba(22,51,39,.09);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:IRANSansX,IRANSans,Tahoma,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
/* Header / hero */
.top{position:absolute;inset:0 0 auto;z-index:20;color:#fff;background:linear-gradient(180deg,rgba(5,23,15,.72),transparent)}.nav{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border:1px solid rgba(221,190,111,.8);border-radius:12px;display:grid;place-items:center;color:#e7cd91;font-weight:900}.brand b{display:block;font-size:16px}.brand small{display:block;opacity:.68;font-size:10px;margin-top:3px}.nav nav{display:flex;gap:23px;margin-right:auto;font-size:12px}.nav nav a{opacity:.9}.ghost,.site-btn{border:1px solid rgba(220,190,113,.72);border-radius:10px;padding:9px 13px;font-size:11px}
.hero{min-height:650px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 28%,#557c62 0,#28523c 42%,#0b2519 100%);color:#fff}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,19,12,.1),rgba(8,31,20,.24) 60%,var(--bg) 100%)}.hero-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(210,227,184,.08);filter:blur(8px);top:-100px;left:18%}.forest{position:absolute;font-size:115px;letter-spacing:-36px;opacity:.28;white-space:nowrap}.f1{bottom:85px;right:-35px}.f2{bottom:145px;left:-45px;font-size:82px}.hero-content{position:relative;padding-top:175px}.pill,.eyebrow{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:6px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:10px;color:#e3ece5}.eyebrow.dark{background:#edf3ee;color:#426651;border-color:#dfe8e0}.hero h1{font-size:50px;line-height:1.35;margin:18px 0 10px;letter-spacing:-1.5px}.hero h1 em{font-style:normal;color:#e5ca88}.hero p{max-width:540px;line-height:2;color:#e0ebe4;font-size:12px}.hero-cta,.book-now,.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;background:linear-gradient(135deg,#d9bb70,#ae8435);color:#16291e;border-radius:11px;padding:12px 18px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.16)}.hero-villa{position:absolute;left:7%;bottom:70px;width:400px;height:220px}.pool-shape{position:absolute;bottom:0;left:0;width:330px;height:72px;background:linear-gradient(#5ba8a4,#347b77);border-radius:50%;box-shadow:0 15px 45px #0005}.villa-house{position:absolute;bottom:42px;left:75px;font-size:140px;filter:drop-shadow(0 15px 15px #0004)}.mountains{position:absolute;bottom:112px;right:10px;font-size:90px;opacity:.35}
/* Main booking module */
.booking-shell{margin-top:-58px;position:relative;z-index:5}.booking-card,.guest-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.booking-card{padding:0 22px 20px;overflow:visible;position:relative}.booking-card:before,.guest-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,var(--green),var(--gold),var(--green2))}.booking-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e7ebe6}.booking-head>div:first-child{display:flex;align-items:center;gap:12px}.booking-head .eyebrow.dark,.guest-card .eyebrow.dark{padding:0;background:none;border:0;color:#738078;font-size:9px;font-weight:800}.booking-head h2{font-size:19px;margin:0;letter-spacing:-.3px}.mini-note{font-size:9px;color:#77857d;background:var(--surface-soft);border:1px solid #e3e8e1;border-radius:9px;padding:7px 10px;white-space:nowrap}
.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px 160px;gap:12px;align-items:end;padding-top:16px}.villa-picker-field{grid-column:1/-1}.field>span,.villa-picker-field>span{display:block;font-size:9px;font-weight:800;color:#586b61;margin-bottom:7px}.villa-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.villa-choice{min-height:66px!important;display:flex!important;align-items:center!important;gap:9px!important;width:100%;border:1px solid #d5ddd5!important;border-radius:11px!important;padding:8px 10px!important;background:#fafbf8!important;color:var(--ink)!important;box-shadow:none!important;transition:.16s ease}.villa-choice:hover{transform:translateY(-1px);border-color:#9fb5a5!important}.villa-choice.active{border-color:#4f7b62!important;background:#eef4ee!important;box-shadow:inset 0 0 0 1px #d9e6da!important}.villa-choice-photo{width:43px;height:43px;border-radius:9px;overflow:hidden;flex:none;display:grid;place-items:center;background:#e5ece5;color:var(--green);font-size:18px}.villa-choice-photo img{width:100%;height:100%;object-fit:cover}.villa-choice-copy{min-width:0;text-align:right;flex:1}.villa-choice b{display:block;font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.villa-choice small{display:block;font-size:7.5px!important;color:#77857e!important;margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.villa-choice>i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#dce7de;color:#5b7965;font-size:10px;font-style:normal;opacity:0}.villa-choice.active>i{opacity:1;background:var(--green);color:#fff}
.calendar-field{position:relative}.date-input,.night-control{height:46px;min-height:46px}.date-input{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fafbf8;border-radius:10px;padding:0 12px;color:var(--ink);font-size:11px}.date-input b{font-size:13px;color:var(--green2)}.night-control{display:flex;align-items:center;width:100%;border:1px solid var(--line);border-radius:10px;background:#fafbf8;padding:4px}.night-control button{width:34px;height:36px;border:0;border-radius:7px;background:#e8eee9;color:var(--green);font-size:18px;font-weight:800}.night-control strong{flex:1;text-align:center;font-size:13px}.booking-grid>.book-now{width:100%;height:46px;min-height:46px;padding:0;box-shadow:none;border-radius:10px}.summary{margin-top:12px;display:grid;grid-template-columns:1.35fr 1fr .65fr 1fr;gap:1px;background:#dfe4dd;border:1px solid #dfe4dd;border-radius:11px;overflow:hidden}.summary div{background:#f5f7f2;padding:9px 11px;min-width:0}.summary span{display:block;font-size:8px;color:#7b8981}.summary b{display:block;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Calendar */
.calendar{position:absolute;z-index:40;top:74px;right:0;width:310px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 24px 55px rgba(16,45,32,.2);padding:13px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.cal-head button{border:0;background:#edf2ed;width:32px;height:32px;border-radius:9px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week{text-align:center;color:#87948e;font-size:9px;margin-bottom:4px}.days button,.days span{height:34px;border:0;background:#fff;border-radius:8px}.days button:hover,.days button.sel{background:var(--green2);color:#fff}.days button:disabled{color:#c6ccc7;background:#f6f7f4}
/* Benefits */
.feature-strip{background:var(--green);border-top:1px solid #315d49;border-bottom:1px solid #0d3b29}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature-grid>div{min-height:92px;padding:14px 18px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:9px;border-left:1px solid rgba(255,255,255,.12)}.feature-grid>div:first-child{border-left:0}.feature-grid i{grid-row:1/-1;align-self:center;font-size:22px;font-style:normal}.feature-grid b{font-size:11px;color:#fff}.feature-grid span{font-size:8.5px;line-height:1.6;color:#c7d6cc;margin-top:2px}
/* Villas */
.section{padding:68px 0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-title h2{font-size:24px;margin:6px 0}.section-title p{max-width:400px;color:var(--muted);line-height:1.9;font-size:11px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.villa-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(24,51,40,.06)}.villa-photo,.villa-gallery{height:205px;position:relative;overflow:hidden;background:linear-gradient(140deg,#5f8b68,#163f2b);color:#fff}.villa-photo{padding:15px}.villa-photo:after{content:'🌲 🌲 🌲';position:absolute;bottom:8px;right:-5px;font-size:62px;opacity:.35}.villa-photo span{font-size:21px}.villa-photo strong{font-size:9px;border:1px solid #fff5;border-radius:20px;padding:5px 8px}.pool-mini{position:absolute;width:170px;height:40px;background:#55a7a2;border-radius:50%;bottom:22px;left:25px}.gallery-track,.gallery-img{width:100%;height:100%}.gallery-track{position:relative}.gallery-img{position:absolute;inset:0;object-fit:cover;opacity:0;transition:opacity .25s}.gallery-img.show{opacity:1}.gallery-badge{position:absolute;top:12px;right:12px;background:rgba(16,44,31,.78);backdrop-filter:blur(6px);border:1px solid #ffffff30;padding:6px 9px;border-radius:99px;font-size:8px}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:#fff;color:var(--green);font-size:20px}.gallery-arrow.prev{right:10px}.gallery-arrow.next{left:10px}.gallery-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:4px}.gallery-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#ffffff80;font-size:0}.gallery-dot.active{background:#fff}.gallery-fallback{height:100%;display:grid;place-items:center}.villa-body{padding:17px}.villa-top{display:flex;justify-content:space-between;gap:8px}.villa-top h3{margin:5px 0 0;font-size:16px}.villa-status{font-size:8px;background:#edf3ed;padding:5px 8px;border-radius:9px;height:max-content}.villa-body p{font-size:10.5px;line-height:1.9;color:#65746c;min-height:42px}.amenities{display:flex;flex-wrap:wrap;gap:5px}.amenities span{font-size:9px;background:#f5f6f2;border-radius:7px;padding:6px}.villa-feature-mini{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.villa-feature-mini>span{display:flex;align-items:center;gap:4px;font-size:8px;color:#66766e}.villa-feature-mini i{font-style:normal}.villa-feature-mini b{font-weight:700}.villa-feature-mini em{font-style:normal;display:none}.villa-bottom{border-top:1px solid #edf0eb;margin-top:13px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.villa-bottom b{font-size:10px}.villa-bottom small,.villa-bottom em{color:#829087;font-size:8px;font-style:normal}.villa-bottom button,.small-btn{border:0;background:#e8efe9;color:#1d5139;border-radius:9px;padding:8px 11px;font-size:9px;font-weight:700}
/* Guest: intentionally different composition, same design language */
.guest{padding-bottom:74px}.guest-card{position:relative;padding:25px;overflow:hidden}.guest-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid #e7ebe5}.guest-heading h2{font-size:23px;margin:5px 0 3px;letter-spacing:-.5px}.guest-intro{font-size:10px;color:var(--muted);margin:0}.step-mark{display:flex;align-items:center;gap:9px;color:#687870}.step-mark span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px;font-weight:800}.step-mark small{font-size:8px}.guest-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;padding-top:21px}.stay-panel{background:#f4f6f1;border:1px solid #dfe6df;border-radius:14px;padding:15px;align-self:start}.stay-kicker{font-size:9px;font-weight:800;color:#597064;margin-bottom:9px}.guest-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dce4dc;border:1px solid #dce4dc;border-radius:10px;overflow:hidden}.guest-summary>div{background:#fbfcf9;padding:10px 9px;min-width:0}.guest-summary span{display:block;font-size:7.5px;color:#839088}.guest-summary b{display:block;font-size:9.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stay-note{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #dde5de}.stay-note>span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#dce9df;color:var(--green);font-size:10px;flex:none}.stay-note b{display:block;font-size:8.5px}.stay-note small{display:block;font-size:7.5px;line-height:1.6;color:#7a8881;margin-top:2px}.guest-form-panel{min-width:0}.form-panel-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.form-panel-title b{font-size:11px}.form-panel-title span{font-size:8px;color:#89958e}.guest-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 120px;gap:11px;align-items:start}.guest-label{display:block;min-width:0;font-size:9px;font-weight:800;color:#53675d}.guest-label input,.guest-count-control{width:100%;height:45px;min-height:45px;margin-top:6px;border:1px solid #cfd8d0;border-radius:10px;background:#fcfdfb}.guest-label input{padding:0 12px;font-size:11px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.guest-label input:focus{border-color:#71927d;box-shadow:0 0 0 3px #eaf1eb}.guest-count-control{display:flex;align-items:center;padding:4px;overflow:hidden}.guest-count-control button{width:34px;height:35px;border:0;border-radius:7px;background:#e9eee8;color:var(--green);font-size:18px;font-weight:800}.guest-count-control strong{flex:1;text-align:center;font-size:13px}.field-help{display:block;font-size:7px;font-weight:400;color:#89958e;margin-top:3px}.capacity-box{min-height:45px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:7px 10px;border:1px solid #dce5dc;border-radius:10px;background:#f2f6f1;color:#557064;font-size:8px;grid-column:1/-1}.capacity-box>div{display:inline-flex;gap:5px;margin-left:12px}.capacity-box b{font-weight:800}.capacity-box span{color:#315c47}.capacity-box .full{width:100%}.error{color:#a33!important}.notes-label{display:block;font-size:9px;font-weight:800;color:#53675d;margin-top:13px}.notes-label>span{font-weight:400;color:#929d97;font-size:8px;margin-right:4px}.guest-card textarea{width:100%;min-height:58px;margin-top:6px;padding:10px 12px;border:1px solid #cfd8d0;border-radius:10px;background:#fcfdfb;font-size:10px;resize:vertical;outline:none}.guest-card textarea:focus{border-color:#71927d;box-shadow:0 0 0 3px #eaf1eb}.guest-actions{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #e7ebe5}.guest-actions .book-now{width:205px;height:44px;min-height:44px;margin:0;padding:0;border-radius:10px;box-shadow:none;font-size:10px}.guest-actions-note{font-size:7.5px;color:#89958e}.success,.payment-success{margin-top:12px;padding:10px;border-radius:9px;background:#edf6ef;color:#276044;font-size:9px}.error,.payment-failed{margin-top:10px;padding:9px;border-radius:9px;background:#fff0ee;color:#8c3c35;font-size:9px}
/* Other sections */
.experience{background:#183b2b;color:#fff;padding:78px 0;overflow:hidden}.experience-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.experience h2{font-size:38px;line-height:1.45}.experience p{line-height:2;color:#c9d7ce;max-width:500px;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{border:1px solid #ffffff22;border-radius:99px;padding:7px 10px;font-size:9px}.scene{height:320px;position:relative;background:linear-gradient(#2e624a,#163b2a);border-radius:28px;overflow:hidden}.sun{position:absolute;width:85px;height:85px;border-radius:50%;background:#d9bd70;top:32px;left:40px}.hill{position:absolute;border-radius:50% 50% 0 0}.h1{width:500px;height:220px;background:#214c37;bottom:-100px;right:-100px}.h2{width:400px;height:190px;background:#2b5d43;bottom:-110px;left:-100px}.tree-line{position:absolute;bottom:72px;right:25px;font-size:40px;opacity:.8}.scene-house{position:absolute;bottom:58px;left:45%;font-size:82px}.scene-pool{position:absolute;width:190px;height:45px;border-radius:50%;background:#5aa6a3;bottom:25px;left:28px}.process{padding:70px 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.process-grid>div{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}.process-grid b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf3ee;color:var(--green);font-size:10px}.process-grid h3{font-size:13px;margin:12px 0 5px}.process-grid p{font-size:9px;line-height:1.8;color:var(--muted)}.track{padding-bottom:70px}.track-card{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.track-card h2{font-size:20px;margin:5px 0}.track-card p{font-size:9px;color:var(--muted)}.track-form{display:flex;gap:8px}.track-form input{flex:1;height:43px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fafbf8;font-size:10px}.track-form button{border:0;border-radius:10px;padding:0 16px;background:var(--green);color:#fff;font-size:10px;font-weight:800}footer{background:#102b20;color:#dce7df}.footer-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;font-size:9px}.footer-inner .brand-mark{width:35px;height:35px}.footer-inner .brand b{font-size:13px}
.payment-success,.payment-failed{position:fixed;top:15px;right:15px;z-index:100;padding:12px 16px;box-shadow:0 12px 35px #0002}
/* Responsive */
@media(max-width:900px){.wrap{width:min(100% - 32px,700px)}.hero h1{font-size:42px}.hero-villa{opacity:.5;left:-40px}.villa-picker{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.guest-layout{grid-template-columns:1fr;gap:14px}.stay-panel{order:2}.guest-form-panel{order:1}.guest-grid{grid-template-columns:1.25fr 1fr}.guest-count-field{grid-column:2}.capacity-box{grid-column:1/-1}.track-card{grid-template-columns:1fr}.experience-inner{grid-template-columns:1fr}.scene{height:260px}.nav nav{gap:12px}}
@media(max-width:650px){.wrap{width:calc(100% - 24px)}.nav{height:68px;gap:10px}.nav nav,.ghost{display:none}.hero{min-height:590px}.hero-content{padding-top:145px}.hero h1{font-size:32px;letter-spacing:-1px}.hero p{font-size:10px}.hero-villa{display:none}.booking-shell{margin-top:-38px}.booking-card{padding:0 13px 14px;border-radius:15px}.booking-head{min-height:62px;padding-bottom:10px}.booking-head>div:first-child{gap:8px}.booking-head h2{font-size:15px}.mini-note{display:none}.booking-grid{grid-template-columns:1fr 1fr;gap:8px;padding-top:12px}.villa-picker-field{grid-column:1/-1}.villa-picker{grid-template-columns:1fr 1fr;gap:7px}.villa-choice{min-height:58px!important;padding:7px!important}.villa-choice-photo{width:35px;height:35px}.villa-choice b{font-size:9.5px!important}.villa-choice small{font-size:6.8px!important}.booking-grid .calendar-field{grid-column:1/-1}.booking-grid .field:not(.villa-picker-field){grid-column:auto}.booking-grid>.book-now{grid-column:2;height:43px;min-height:43px;font-size:10px}.summary{grid-template-columns:1.2fr 1fr .55fr 1fr}.summary div{padding:8px}.summary b{font-size:8.5px}.calendar{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(310px,calc(100vw - 28px))}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid>div{min-height:76px;padding:11px 10px}.feature-grid b{font-size:10px}.feature-grid span{font-size:7.5px}.section{padding:52px 0}.section-title{display:block}.section-title p{margin-top:8px}.cards{grid-template-columns:1fr}.experience{padding:58px 0}.experience h2{font-size:29px}.process-grid{grid-template-columns:1fr}.track-card{padding:18px}.track-form{display:grid;grid-template-columns:1fr auto}.footer-inner{min-height:105px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}.guest-card{padding:17px 14px;border-radius:15px}.guest-heading{padding-bottom:14px}.guest-heading h2{font-size:18px}.guest-intro{font-size:8.5px}.step-mark small{display:none}.guest-layout{padding-top:14px}.stay-panel{padding:12px}.guest-summary>div{padding:8px}.guest-summary b{font-size:8.5px}.form-panel-title{margin-bottom:9px}.guest-grid{grid-template-columns:1fr 1fr;gap:8px}.guest-name-field{grid-column:1/-1}.guest-count-field{grid-column:auto}.guest-label input,.guest-count-control{height:43px;min-height:43px}.guest-actions{display:block}.guest-actions .book-now{width:100%}.guest-actions-note{display:block;text-align:center;margin-top:7px}.notes-label{margin-top:10px}}
@media(max-width:390px){.villa-picker{grid-template-columns:1fr}.guest-grid{grid-template-columns:1fr}.guest-name-field,.guest-count-field,.capacity-box{grid-column:1}.feature-grid{grid-template-columns:1fr}.booking-grid>.book-now{grid-column:2}.hero h1{font-size:29px}}


/* admin */.admin-page{background:#f3f0e8}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 520px;background:#102f22}.login-art{position:relative;overflow:hidden;background:radial-gradient(circle at 40% 30%,#5e8e6c,#173e2b 55%,#081e15)}.login-art:after{content:'دنیز ویلا';position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:90px;font-weight:900;color:#ffffff10;white-space:nowrap}.login-trees{position:absolute;bottom:50px;font-size:130px;letter-spacing:-40px;opacity:.45;right:-20px}.login-pool{position:absolute;width:520px;height:110px;border-radius:50%;background:#4d9b98;bottom:20px;left:10%;opacity:.65}.login-card{background:#fff;margin:40px;border-radius:30px;padding:42px;align-self:center;box-shadow:0 30px 90px #0002}.login-card h1{font-size:36px;margin:15px 0 8px}.login-card p{font-size:12px;color:#75847c;line-height:2}.login-card .brand{color:#173c2a;margin-bottom:50px}.passbox{position:relative}.passbox button{position:absolute;left:8px;top:7px;border:0;background:transparent;padding:9px;color:#829088}.wide{width:100%;margin-top:10px}.link-btn{border:0;background:transparent;color:#8b6a28;font-size:11px;padding:14px 0}.back-link{display:block;color:#66766e;font-size:11px}.modal{position:fixed;inset:0;z-index:100;background:#09221899;backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal-card{position:relative;background:#fff;border-radius:25px;padding:30px;width:min(430px,100%);box-shadow:0 30px 100px #0004}.modal-card input{margin-top:10px}.modal-x{position:absolute;top:12px;left:12px;border:0;background:#edf0eb;border-radius:50%;width:32px;height:32px;font-size:20px}.modal-icon{font-size:35px}.admin-top{background:#123625;color:#fff}.admin-nav{height:78px;display:flex;align-items:center;justify-content:space-between}.admin-actions{display:flex;gap:8px}.logout{border:1px solid #ffffff33;background:transparent;color:#fff;border-radius:10px;padding:10px 14px}.admin-main{padding:30px 0 70px}.admin-hero{border-radius:28px;padding:30px;background:linear-gradient(135deg,#1d4d36,#123122);color:#fff;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.admin-hero h1{font-size:32px;margin:13px 0 5px}.admin-hero p{font-size:12px;color:#c8d8ce;max-width:620px;line-height:2}.admin-scene{font-size:70px;white-space:nowrap}.tabs{display:flex;gap:7px;overflow:auto;padding:18px 0;position:sticky;top:0;background:#f3f0e8ee;backdrop-filter:blur(10px);z-index:20}.tab{white-space:nowrap;border:1px solid #dddcd4;background:#fff;border-radius:12px;padding:10px 15px;font-size:11px;color:#5b6d63}.tab.active{background:#1d5139;color:#fff;border-color:#1d5139}.tabpane{display:none}.tabpane.active{display:block}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:10px 0 18px}.stat{background:#fff;border:1px solid #e3dfd5;border-radius:18px;padding:18px}.stat span{display:block;font-size:10px;color:#7b8881}.stat b{display:block;font-size:23px;margin-top:7px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid #e3dfd5;border-radius:22px;padding:22px;margin-bottom:18px}.panel h2{font-size:20px;margin:7px 0 18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.search{max-width:280px}.admin-row,.villa-admin,.list-item{display:grid;grid-template-columns:1.4fr 1.2fr auto;gap:12px;align-items:center;border-top:1px solid #edf0ea;padding:13px 0;font-size:11px}.admin-row small,.villa-admin small,.list-item small{display:block;color:#7a8880;font-size:9px;margin-top:4px}.row-actions{display:flex;gap:5px}.row-actions select{width:auto;padding:7px;font-size:9px}.bar{display:flex;justify-content:space-between;padding:12px;background:#f1f5ef;border-radius:12px;margin-bottom:7px}.villa-admin{grid-template-columns:auto 1fr auto auto}.thumb{width:55px;height:50px;border-radius:12px;display:grid;place-items:center;background:#dbe9dd;font-size:24px}.danger{border:0;background:#fae9e5;color:#a3473d;border-radius:9px;padding:8px 10px;font-size:9px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.form-grid textarea{min-height:80px;resize:vertical}.form-grid textarea:nth-of-type(n){grid-column:span 2}.toggle{display:flex;align-items:center;gap:8px;font-size:10px}.toggle input{width:auto}.note{font-size:10px;color:#7c8982;line-height:1.8}.test-row{display:flex;gap:7px;margin-top:15px}.test-row input{flex:1}.badge{padding:6px 8px;border-radius:8px;font-size:9px}.badge.sent{background:#e4f1e7;color:#277046}.badge.failed{background:#fbe7e5;color:#a54038}.empty{padding:25px;text-align:center;color:#8a968f;font-size:11px}.settings-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.nav nav{display:none}.hero{min-height:620px}.hero h1{font-size:38px}.hero-villa{opacity:.55;left:-60px}.booking-grid,.guest-grid,.cards,.stats{grid-template-columns:repeat(2,1fr)}.booking-grid .book-now{grid-column:span 2}.feature-grid{grid-template-columns:repeat(2,1fr)}.experience-inner,.two-col,.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{margin:20px}.process-grid{grid-template-columns:1fr}.admin-scene{display:none}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:94%}.nav{height:70px}.ghost{padding:8px}.hero-content{padding-top:150px}.hero h1{font-size:31px}.hero p{font-size:12px}.hero-villa{display:none}.booking-shell{margin-top:-45px}.booking-card{padding:17px;border-radius:20px}.booking-head{align-items:flex-start}.booking-head h2{font-size:20px}.mini-note{display:none}.booking-grid,.guest-grid,.cards,.stats,.feature-grid{grid-template-columns:1fr}.booking-grid .book-now{grid-column:auto}.summary{grid-template-columns:repeat(2,1fr)}.calendar{right:-5px;width:300px}.section{padding:55px 0}.section-title{display:block}.cards{gap:12px}.experience h2{font-size:30px}.scene{height:250px}.process{padding:55px 0}.track-form{display:block}.track-form button{width:100%;margin-top:8px}.admin-main{padding-top:15px}.admin-hero{padding:22px}.admin-hero h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr)}.stat:last-child{grid-column:span 2}.admin-row{grid-template-columns:1fr}.villa-admin{grid-template-columns:auto 1fr}.villa-admin .small-btn,.villa-admin .danger{grid-column:span 1}.form-grid,.settings-grid{grid-template-columns:1fr}.form-grid textarea{grid-column:auto}.tabs{top:0}.panel{padding:16px}.admin-nav .brand small{display:none}.login-card{padding:28px}}
/* v1.5.1 fixes */
[hidden]{display:none !important}
.modal[hidden],#forgot[hidden],#otpStep[hidden],#forgotForm[hidden]{display:none !important}
.login-screen{display:grid}
.login-screen[hidden],.admin-app[hidden]{display:none !important}
.night-control{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.night-control button{width:42px;height:42px;border:1px solid #d9dfd6;background:#f3f6f1;border-radius:12px;font-size:22px;color:#1d5139;cursor:pointer}.night-control .night-value{min-width:88px;text-align:center;font-size:18px;font-weight:900;background:#fff;border:1px solid #e2e6df;border-radius:14px;padding:10px}.guest-label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:#315040}.guest-label input{margin:0}.field-help{font-size:9px;color:#7c8982;font-weight:400}.capacity-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f6f8f4;border:1px solid #e4e9e1;border-radius:15px;padding:12px;grid-column:span 2}.capacity-box .full{grid-column:span 2}.admin-subtitle{font-size:11px;color:#728078;line-height:1.9}.modal-card{animation:modalIn .18s ease-out}@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.capacity-box{grid-column:auto;grid-template-columns:1fr}.capacity-box .full{grid-column:auto}.guest-label{font-size:10px}}

/* v1.5.2 booking/admin fixes */
[hidden]{display:none!important}
.night-control{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;background:#f7f9f6;border:1px solid #dfe6df;border-radius:16px;padding:6px;min-height:56px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.night-control button{width:44px;height:44px;border:0;border-radius:12px;background:#fff;color:#1d5139;font-size:25px;font-weight:900;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.night-control .night-value{min-width:0;text-align:center;font-size:20px;font-weight:900;background:transparent;border:0;padding:8px}
.guest-label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#315040}.guest-label input{margin:0}.guest-label.full,.capacity-box.full{grid-column:1/-1}.field-help{font-size:10px;color:#7c8982;font-weight:500}.capacity-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f6f8f4;border:1px solid #e4e9e1;border-radius:15px;padding:12px}.capacity-box>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.capacity-box .full{grid-column:1/-1}
@media(max-width:700px){.capacity-box{grid-template-columns:1fr}.capacity-box .full{grid-column:auto}.night-control{grid-template-columns:48px 1fr 48px}.night-control button{width:48px;height:46px}}

/* v1.5.3 — premium booking redesign */
:root{--green:#123b29;--green2:#1f5a40;--mint:#f3f7f2;--line:#dfe7df;--ink:#183328;--gold:#b49354}
body{background:#f7f8f5;color:var(--ink)}
.booking-card{border:1px solid #dfe6df;border-radius:30px;padding:24px;box-shadow:0 24px 65px rgba(18,59,41,.10)}
.booking-grid{grid-template-columns:1.55fr 1.15fr .72fr 1fr;gap:12px;align-items:stretch}
.booking-grid>.field{display:flex;flex-direction:column;justify-content:flex-end}
.booking-grid>.field>span{font-weight:800;color:#486056;margin-bottom:7px}
.field input,.field select,.date-input{height:50px;border-radius:14px;background:#fbfcfa;border:1px solid var(--line);box-shadow:0 2px 8px rgba(20,50,35,.025);font-size:12px}
.date-input{align-items:center;cursor:pointer}
.night-control{height:50px;min-height:50px;margin:0;display:grid;grid-template-columns:38px 1fr 38px;gap:5px;padding:5px;border-radius:14px;background:#fbfcfa;border:1px solid var(--line);box-shadow:0 2px 8px rgba(20,50,35,.025)}
.night-control button{width:38px;height:38px;border-radius:10px;background:#eef4ee;color:var(--green);font-size:20px;box-shadow:none}
.night-control .night-value{font-size:14px;padding:4px;background:transparent}
.book-now{height:50px;border-radius:14px;box-shadow:0 9px 22px rgba(18,59,41,.15);font-size:12px}
.villa-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;min-height:50px}
.villa-choice{position:relative;display:flex;align-items:center;gap:9px;text-align:right;border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:8px 10px;cursor:pointer;color:var(--ink);transition:.18s;min-width:0}
.villa-choice:hover{transform:translateY(-1px);border-color:#b9cbbb}
.villa-choice.active{background:linear-gradient(135deg,#1c5138,#17422f);color:#fff;border-color:#17422f;box-shadow:0 8px 18px rgba(18,59,41,.16)}
.villa-choice-icon{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;background:#eaf1ea;color:var(--green);font-size:15px}
.villa-choice.active .villa-choice-icon{background:#ffffff18;color:#fff}
.villa-choice b,.villa-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.villa-choice b{font-size:10px}.villa-choice small{font-size:8px;opacity:.7;margin-top:2px}.villa-choice i{position:absolute;left:7px;top:7px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:9px;font-style:normal;opacity:0}.villa-choice.active i{opacity:1}
.summary{border:1px solid #e1e8e0;background:#f5f8f4;border-radius:16px}
.cards{grid-template-columns:repeat(4,1fr);gap:16px}
.villa-card{border:1px solid #e1e7e0;border-radius:24px;box-shadow:0 15px 38px rgba(24,51,40,.07);transition:transform .2s,box-shadow .2s;overflow:hidden}
.villa-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(24,51,40,.12)}
.villa-photo{height:185px;background:linear-gradient(145deg,#6f9b79,#173f2c);padding:15px;position:relative}
.villa-photo.p2{background:linear-gradient(145deg,#78968b,#163b31)}.villa-photo.p3{background:linear-gradient(145deg,#8a9b72,#244b35)}.villa-photo.p4{background:linear-gradient(145deg,#6e8e98,#183c38)}
.villa-photo:before{content:'🌲  🌲  🌲';position:absolute;right:-8px;bottom:24px;font-size:54px;opacity:.3;letter-spacing:-15px}.photo-shine{position:absolute;inset:0;background:linear-gradient(120deg,#fff1,transparent 42%,#fff0 70%);pointer-events:none}
.villa-body{padding:17px}.villa-body p{min-height:45px;margin:9px 0;color:#718078;font-size:10px;line-height:1.9}.villa-top h3{font-size:16px}.villa-top>span{background:#edf4ed;color:#315640;font-size:8px}.amenities{gap:5px}.amenities span{font-size:8px;padding:6px 7px;background:#f5f7f3;border:1px solid #edf0eb}.villa-bottom{margin-top:13px;padding-top:12px}.villa-bottom b{font-size:10px}.villa-bottom small{font-size:8px}.villa-bottom .small-btn{padding:9px 10px;border-radius:11px;font-size:9px;background:#e9f1e9}
.track-card,.guest-card{border:1px solid #dfe6df;border-radius:27px;box-shadow:0 15px 40px rgba(24,51,40,.055)}
.track-card{background:linear-gradient(145deg,#fff,#f8faf7)}
.track-form{align-items:center}.track-form input{height:52px;border-radius:14px}.track-form button{height:52px;border:0;border-radius:14px;padding:0 28px;background:linear-gradient(135deg,#1e5b40,#123b29);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(18,59,41,.18);cursor:pointer;transition:.18s}.track-form button:hover{transform:translateY(-2px)}
.guest-card{padding:24px}.guest-card h2{font-size:23px}.guest-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.guest-label{gap:5px;font-size:10px}.guest-label input{height:46px;padding:10px 12px;border-radius:13px;font-size:11px}.guest-label:nth-child(3){grid-column:auto}.guest-label.full{grid-column:1/-1}.guest-label:nth-child(4),.guest-label:nth-child(5){grid-column:span 1}.field-help{font-size:8px;line-height:1.7}.capacity-box{grid-column:1/-1!important;padding:10px;border-radius:13px;gap:7px}.capacity-box>div{font-size:9px}.guest-card textarea{min-height:65px;border-radius:13px;font-size:10px}
#reserve{width:100%;margin-top:2px}
@media(max-width:1100px){.booking-grid{grid-template-columns:1.2fr 1.1fr .75fr 1fr}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.booking-grid{grid-template-columns:1fr 1fr}.booking-grid .villa-picker-field{grid-column:1/-1}.booking-grid .book-now{grid-column:1/-1}.villa-picker{grid-template-columns:repeat(2,1fr)}.guest-grid{grid-template-columns:1fr 1fr}.guest-label:nth-child(3){grid-column:1/-1}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.booking-card{padding:16px;border-radius:21px}.booking-grid{grid-template-columns:1fr}.booking-grid .villa-picker-field,.booking-grid .book-now{grid-column:auto}.villa-picker{grid-template-columns:1fr 1fr}.night-control{height:50px}.guest-card{padding:18px}.guest-grid{grid-template-columns:1fr 1fr}.guest-label:nth-child(3){grid-column:1/-1}.cards{grid-template-columns:1fr}.villa-photo{height:175px}.track-card{padding:20px}.track-form button{margin-top:8px}.track-form input{height:48px}}
/* v1.5.5 visual redesign */
:root{--green:#123d2a;--green2:#1d5a3f;--gold:#c9a85b;--gold2:#e5c979;--cream:#f7f4ec;--ink:#17362a;--muted:#6d7c73;--line:#e5e8df;--card:#fff;--shadow:0 22px 60px rgba(19,52,39,.10)}
body{background:linear-gradient(180deg,#faf9f5 0,#f5f2e9 100%);color:var(--ink)}
.booking-card,.track-card,.guest-card,.panel{border:1px solid rgba(31,65,48,.09);box-shadow:var(--shadow)}
.booking-card{border-radius:26px;padding:24px;background:rgba(255,255,255,.97)}
.booking-head{padding-bottom:17px;border-bottom:1px solid #eef0e9}.booking-head h2{font-size:24px}.booking-grid{grid-template-columns:1.65fr 1.15fr .72fr 1fr;gap:14px}.field>span{font-weight:800;color:#496057;margin-bottom:8px}.field>input,.date-input,.night-control{height:52px;border-radius:15px;border:1px solid #dfe5dc;background:#fbfcfa;transition:.2s}.field>input:focus,.date-input:focus,.night-control:focus-within{border-color:#b99a51;box-shadow:0 0 0 4px #c9a85b18}.night-control{display:flex;align-items:center;padding:4px;background:#f6f8f3;overflow:hidden}.night-control button{width:42px;height:42px;border:0;border-radius:11px;background:#fff;color:var(--green);font-size:24px;font-weight:900;box-shadow:0 3px 10px #1833280c}.night-value{flex:1;text-align:center;font-size:16px}.book-now{height:52px;border-radius:15px;white-space:nowrap}.summary{background:#f4f7f1;border:1px solid #e7ece2;border-radius:17px;padding:11px}.summary b{font-size:12px}.summary div{padding:2px 8px}
.villa-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.villa-choice{min-width:0;display:flex;align-items:center;gap:9px;text-align:right;border:1px solid #e0e6de;background:#fafbf8;border-radius:14px;padding:7px 9px;transition:.22s;position:relative;color:var(--ink)}.villa-choice:hover{transform:translateY(-1px);border-color:#c7a65d;box-shadow:0 8px 22px #18332812}.villa-choice.active{border-color:#c5a45a;background:linear-gradient(135deg,#fffdf7,#f1f6ee);box-shadow:0 8px 24px #b4934318}.villa-choice-photo{width:46px;height:46px;border-radius:11px;overflow:hidden;flex:0 0 46px;background:linear-gradient(135deg,#dce8d7,#7aa086);display:grid;place-items:center}.villa-choice-photo img{width:100%;height:100%;object-fit:cover}.villa-choice-copy{min-width:0}.villa-choice-copy b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.villa-choice-copy small{display:block;color:#758279;font-size:9px;margin-top:4px;white-space:nowrap}.villa-choice i{margin-right:auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e5eae2;color:transparent;font-style:normal;font-size:11px}.villa-choice.active i{background:var(--gold);color:#fff}
.section{padding-top:82px;padding-bottom:35px}.section-title{align-items:end;margin-bottom:25px}.section-title h2{font-size:31px}.section-title p{max-width:430px;line-height:1.9;color:var(--muted)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.villa-card{background:#fff;border:1px solid #e6e8e1;border-radius:24px;overflow:hidden;box-shadow:0 15px 45px #17362a0b;transition:.25s}.villa-card:hover{transform:translateY(-4px);box-shadow:0 25px 60px #17362a16}.villa-gallery{height:285px;position:relative;background:#dfe8dc;overflow:hidden}.gallery-track,.gallery-img{width:100%;height:100%}.gallery-img{object-fit:cover;position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .35s,transform .6s}.gallery-img.show{opacity:1;transform:scale(1)}.gallery-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:72px;color:#fff;background:linear-gradient(145deg,#244f38,#79a17e)}.gallery-fallback.p2{background:linear-gradient(145deg,#385d43,#c1a970)}.gallery-fallback.p3{background:linear-gradient(145deg,#173e30,#6d8f70)}.gallery-fallback.p4{background:linear-gradient(145deg,#405f4a,#8ea48a)}.gallery-fallback b{font-size:14px}.gallery-badge{position:absolute;top:14px;right:14px;background:#102d20d9;color:#fff;padding:8px 11px;border-radius:10px;font-size:10px;backdrop-filter:blur(8px)}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid #fff8;background:#102d2070;color:#fff;font-size:25px;z-index:2}.gallery-arrow.prev{right:12px}.gallery-arrow.next{left:12px}.gallery-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3}.gallery-dot{width:7px;height:7px;border-radius:50%;border:0;background:#ffffff80;padding:0}.gallery-dot.active{width:20px;border-radius:8px;background:#fff}.villa-body{padding:20px}.villa-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.villa-top h3{margin:7px 0 0;font-size:22px}.villa-status{font-size:9px;color:#315844;background:#eef5eb;border:1px solid #dfead9;padding:7px 9px;border-radius:9px;white-space:nowrap}.villa-body p{color:#6d7d74;line-height:1.9;font-size:12px;min-height:47px}.amenities{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.amenities span{background:#f6f8f3;border:1px solid #e7ebe3;border-radius:10px;padding:7px 9px;font-size:10px;color:#51665b}.villa-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #edf0e9;padding-top:15px;gap:10px}.villa-bottom small{display:block;color:#89948d;font-size:9px}.villa-bottom b{font-size:18px}.villa-bottom em{font-style:normal;color:#75827a;font-size:10px}.villa-select-btn{padding:11px 14px;border-radius:12px}
.track{padding-top:50px;padding-bottom:80px}.track-card{border-radius:24px;background:#fff;padding:26px;display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:center}.track-card h2{font-size:27px}.track-form{display:flex;gap:9px;background:#f6f8f3;border:1px solid #e5eae1;border-radius:15px;padding:6px}.track-form input{border:0;background:transparent;box-shadow:none}.track-form button{border:0;border-radius:11px;padding:12px 20px;background:var(--green);color:#fff;font-weight:800;box-shadow:0 8px 20px #123d2a25;white-space:nowrap}.track-form button:hover{background:#1c5940}.track-card #trackresult{grid-column:1/-1}.guest{padding-bottom:80px}.guest-card{border-radius:24px;background:#fff;padding:25px}.guest-grid{grid-template-columns:repeat(3,1fr);gap:12px}.guest-label{font-size:10px;color:#54675d;font-weight:800}.guest-label input{margin-top:7px}.guest-label:nth-child(3){grid-column:auto}.field-help{font-weight:500!important;color:#8a958f!important;font-size:9px!important;line-height:1.7;display:block;margin-top:4px}.capacity-box{grid-column:1/-1;background:linear-gradient(135deg,#f3f7ef,#faf9f2);border:1px solid #e2e9dd;border-radius:14px;padding:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.capacity-box>div{display:flex;justify-content:space-between;gap:8px;font-size:10px}.capacity-box b{font-size:10px}.capacity-box span{color:#65756c}.capacity-box .full{grid-column:1/-1}.guest-card textarea{margin-top:12px;min-height:80px}.guest-card .book-now{margin-top:12px}
.feature-strip{background:#102f21;color:#fff}.feature-grid{grid-template-columns:repeat(4,1fr);gap:1px}.feature-grid>div{padding:24px 16px;border-left:1px solid #ffffff10}.feature-grid i{font-size:23px}.feature-grid b{display:block;margin-top:8px}.feature-grid span{font-size:10px;color:#bdcbbf}.process{padding-top:70px;padding-bottom:30px}.process-grid>div{background:#fff;border:1px solid #e7e9e2;border-radius:18px;padding:20px;box-shadow:0 10px 30px #17362a08}.process-grid b{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e9efdf;color:#315844}.experience{margin-top:50px}.hero-cta{border-radius:14px}.top{background:linear-gradient(#061a12dd,transparent)}
/* admin */
.admin-page{background:#f5f7f3}.admin-main{padding-bottom:60px}.admin-hero{border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.tabs{position:sticky;top:0;z-index:20;background:#ffffffee;border:1px solid #e5e9e2;box-shadow:0 10px 30px #17362a0a;border-radius:16px;padding:6px;backdrop-filter:blur(12px)}.tab{border-radius:11px}.tab.active{background:var(--green);box-shadow:0 7px 18px #123d2a20}.panel{border-radius:20px}.stat{border-radius:18px;background:#fff}.small-btn,.primary{border-radius:12px}.form-grid input,.form-grid textarea,.form-grid select{border-radius:12px}.money-input{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.gallery-editor{grid-column:1/-1;border:1px solid #e3e8df;background:#f8faf6;border-radius:16px;padding:12px}.gallery-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.gallery-editor-head b{display:block;font-size:13px}.gallery-editor-head small{display:block;color:#78867e;font-size:9px;margin-top:3px}.gallery-editor-head>span{font-size:9px;background:#e9f0e4;color:#42624f;border-radius:9px;padding:7px 9px}.gallery-preview{display:flex;gap:8px;overflow:auto;margin-top:9px;padding-bottom:2px}.gallery-preview>div{position:relative;width:78px;height:58px;flex:0 0 78px;border-radius:10px;overflow:hidden;background:#dfe7dd}.gallery-preview img{width:100%;height:100%;object-fit:cover}.gallery-preview span{position:absolute;bottom:4px;right:4px;background:#102d20d9;color:#fff;border-radius:6px;padding:2px 5px;font-size:8px}.gallery-empty{font-size:10px;color:#89958e;padding:10px}.villa-admin{border:1px solid #e6ebe3;border-radius:15px;padding:9px;margin-bottom:8px;background:#fbfcfa}.villa-admin .thumb{border-radius:11px;overflow:hidden}.login-card{border-radius:25px;box-shadow:0 25px 70px #102d2020}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr 1fr}.villa-picker-field{grid-column:1/-1}.book-now{grid-column:1/-1}.cards{grid-template-columns:1fr}.track-card{grid-template-columns:1fr}.guest-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:min(94%,1180px)}.nav nav{display:none}.hero{min-height:620px}.hero-content{padding-top:150px}.hero h1{font-size:36px}.hero-villa{display:none}.booking-shell{margin-top:-42px}.booking-card{padding:16px;border-radius:20px}.booking-grid{grid-template-columns:1fr}.villa-picker{grid-template-columns:1fr}.booking-grid .book-now{grid-column:auto}.summary{grid-template-columns:1fr 1fr}.section{padding-top:55px}.section-title h2{font-size:25px}.villa-gallery{height:220px}.villa-body{padding:16px}.villa-top h3{font-size:20px}.track-card{padding:18px}.track-form{display:grid;grid-template-columns:1fr}.track-form button{width:100%}.guest-card{padding:17px}.guest-grid{grid-template-columns:1fr 1fr}.guest-label:nth-child(3){grid-column:1/-1}.capacity-box{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr}.admin-hero{border-radius:20px}.tabs{overflow:auto;white-space:nowrap}.tab{flex:0 0 auto}.gallery-editor-head{align-items:flex-start}.villa-bottom{align-items:stretch;flex-direction:column}.villa-select-btn{width:100%}}

/* v1.5.6 — refined minimal redesign */
.booking-grid{grid-template-columns:1.15fr 1.15fr .72fr .92fr;gap:12px;align-items:end}
.villa-picker-field{grid-column:1/-1}
.villa-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.villa-choice{min-height:58px;padding:7px 9px;border-radius:13px;background:#fbfcfa;color:#1d382c!important;border-color:#e2e8e0;box-shadow:none}
.villa-choice:hover{transform:translateY(-1px);background:#fff;border-color:#c9aa62;box-shadow:0 7px 18px #1833280d}
.villa-choice.active{background:#f5f1e6!important;color:#193629!important;border-color:#c7a55b;box-shadow:0 8px 20px #b4934314}
.villa-choice.active .villa-choice-copy b,.villa-choice.active .villa-choice-copy small{color:#193629!important}
.villa-choice-copy b{font-size:11px}.villa-choice-copy small{font-size:8px;color:#718078!important;opacity:1}
.villa-choice-photo{width:42px;height:42px;flex-basis:42px;border-radius:10px}
.villa-choice i{width:18px;height:18px;background:#e7ece5;color:transparent}.villa-choice.active i{background:#c5a45a;color:#fff}
.calendar-field{grid-column:2/3}.calendar-field + .field{grid-column:3/4}.booking-grid>.book-now{grid-column:2/4;grid-row:auto;height:46px;margin-top:0}
.night-control{height:48px;border:1px solid #dfe3dc;border-radius:13px;padding:3px;gap:2px}
.night-control button{width:39px;height:40px;border-radius:10px;font-size:20px}.night-value{font-size:14px}
.guest-card{padding:21px}.guest-card h2{font-size:23px}.guest-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;margin:15px 0}.guest-label{font-size:10px}.guest-label input{margin-top:5px;padding:10px 12px;height:43px}.guest-label:nth-child(3){grid-column:auto}.guest-count-field>span{display:block;margin-bottom:5px}.guest-count-control{height:43px;border:1px solid #dfe3dc;background:#fbfcf9;border-radius:13px;padding:3px;display:flex;align-items:center;gap:2px}.guest-count-control button{width:36px;height:35px;border:0;border-radius:9px;background:#edf2ea;color:#214c37;font-size:20px;font-weight:900}.guest-count-control strong{flex:1;text-align:center;font-size:13px}.guest-card textarea{min-height:65px;margin-top:8px}.guest-card .book-now{height:46px;margin-top:9px}
.capacity-box{grid-column:1/-1;padding:8px 10px;border-radius:12px}.field-help{margin-top:3px}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.villa-card{border-radius:18px;box-shadow:0 8px 28px #17362a0a}.villa-gallery{height:210px}.villa-body{padding:15px}.villa-top h3{font-size:16px}.villa-body p{font-size:10px;min-height:39px;margin:8px 0}.amenities{gap:4px}.amenities span{padding:5px 7px;font-size:8px}.villa-bottom{margin-top:11px;padding-top:11px}.villa-bottom b{font-size:11px}.villa-select-btn{padding:8px 10px!important;font-size:10px!important}
.track-card{border-radius:20px;padding:22px}.track-form{background:#f7f9f5;border-radius:13px}.track-form button{border-radius:10px;padding:10px 18px}
.section{padding-top:70px;padding-bottom:28px}.section-title{margin-bottom:20px}.section-title h2{font-size:28px}.feature-grid{padding:20px 0}.process{padding-top:60px}
@media(max-width:900px){.villa-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-field{grid-column:auto}.calendar-field + .field{grid-column:auto}.booking-grid>.book-now{grid-column:span 2}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.villa-picker{grid-template-columns:1fr}.booking-grid>.book-now{grid-column:auto}.guest-grid{grid-template-columns:1fr 1fr}.guest-label:nth-child(3){grid-column:1/-1}.guest-count-field{grid-column:auto}.cards{grid-template-columns:1fr}.villa-gallery{height:220px}.guest-card{padding:17px}}

/* v1.5.7 — responsive booking layout refinement */
/* Desktop: date + nights + continue share one clean row */
.booking-grid{grid-template-columns:minmax(0,1fr) minmax(170px,.95fr) minmax(120px,.58fr) minmax(145px,.72fr);gap:12px;align-items:end}
.booking-grid .villa-picker-field{grid-column:1/-1}
.booking-grid .calendar-field{grid-column:2}
.booking-grid .calendar-field + .field{grid-column:3}
.booking-grid > .book-now{grid-column:4;grid-row:auto;height:48px;margin:0;align-self:end}

/* Guest information: compact 4-column desktop row */
.guest-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.guest-label:nth-child(3){grid-column:auto}
.guest-count-field{grid-column:auto}
.guest-card{max-width:1000px;margin:auto}
.guest-label input,.guest-count-control{height:42px}
.guest-card .field-help{font-size:8px!important;line-height:1.5}

/* Mobile: villa choices one per line, then date, then nights + continue */
@media(max-width:600px){
  .booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .booking-grid .villa-picker-field{grid-column:1/-1}
  .villa-picker{grid-template-columns:1fr;gap:7px}
  .villa-choice{min-height:56px;padding:7px 9px}
  .villa-choice-photo{width:40px;height:40px;flex-basis:40px}
  .booking-grid .calendar-field{grid-column:1/-1}
  .booking-grid .calendar-field + .field{grid-column:1}
  .booking-grid > .book-now{grid-column:2;grid-row:auto;height:48px;width:100%;margin:0;align-self:end}
  .night-control{height:48px}
  .booking-head{margin-bottom:15px}
  .booking-head h2{font-size:20px}

  /* Guest: mobile + guest count sit together */
  .guest-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
  .guest-label:nth-child(1){grid-column:1}
  .guest-label:nth-child(2){grid-column:2}
  .guest-label:nth-child(3){grid-column:1}
  .guest-count-field{grid-column:2}
  .guest-count-control{height:42px}
  .guest-count-control button{height:34px;width:34px}
  .guest-card{padding:15px;border-radius:19px}
  .guest-card h2{font-size:21px}
  .guest-card textarea{min-height:58px}
  .capacity-box{grid-column:1/-1}
}

/* v1.5.8 — media library + compact money UI */
.money-input{font-family:inherit;font-variant-numeric:tabular-nums;direction:ltr;text-align:right}
.gallery-library .panel-head{align-items:center}.upload-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.upload-btn span{display:inline-flex;align-items:center;gap:6px;background:var(--green);color:#fff;border-radius:12px;padding:10px 14px;font-size:11px;font-weight:800;box-shadow:0 8px 18px #123d2a18}.upload-btn span:hover{transform:translateY(-1px)}
.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}.gallery-tile{background:#fff;border:1px solid #e5eae2;border-radius:15px;overflow:hidden;min-width:0}.gallery-tile img{display:block;width:100%;aspect-ratio:1.35;object-fit:cover;background:#edf1eb}.gallery-tile-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;gap:6px}.gallery-tile-bar span{font-size:8px;color:#6d7c72}.gallery-tile-bar .danger{font-size:8px;padding:5px 8px;border-radius:8px}.villa-gallery-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}.gallery-pick{position:relative;border:2px solid transparent;border-radius:11px;padding:0;overflow:hidden;background:#edf1eb;aspect-ratio:1.25;cursor:pointer}.gallery-pick img{width:100%;height:100%;object-fit:cover;display:block}.gallery-pick span{position:absolute;top:5px;right:5px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#ffffffdf;color:#183b2b;font-size:12px;font-weight:900;box-shadow:0 3px 10px #0002}.gallery-pick.selected{border-color:#c6a45a;box-shadow:0 0 0 2px #c6a45a22}.gallery-pick.selected span{background:#c6a45a;color:#fff}.gallery-editor{background:#fafbf8}.gallery-preview{min-height:0}.gallery-preview>div{width:68px;height:52px;flex-basis:68px}.note{font-size:10px;color:#78867e;line-height:1.8}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.villa-gallery-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.gallery-library .panel-head{align-items:stretch;flex-direction:column}.upload-btn,.upload-btn span{width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.villa-gallery-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gallery-tile{border-radius:12px}.gallery-tile-bar{padding:6px}.gallery-editor-head{gap:8px}.gallery-editor-head .small-btn{width:100%}}

/* v1.5.9 — final booking alignment + mobile feature strip polish */
.booking-grid{grid-template-columns:minmax(190px,230px) minmax(130px,170px) minmax(150px,190px);justify-content:center;gap:12px;align-items:end}
.booking-grid .villa-picker-field{grid-column:1/-1}
.booking-grid .calendar-field{grid-column:1}
.booking-grid .calendar-field + .field{grid-column:2}
.booking-grid > .book-now{grid-column:3;grid-row:auto;height:48px;margin:0;align-self:end}
.feature-grid>div{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:18px 14px}
.feature-grid i{grid-column:1;grid-row:1 / span 2;display:grid;place-items:center;font-size:22px;line-height:1}
.feature-grid b{grid-column:2;grid-row:1;margin:0;line-height:1.5;font-size:12px;white-space:nowrap}
.feature-grid span{grid-column:2;grid-row:2;margin:2px 0 0;line-height:1.7;font-size:9px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){
  .booking-grid{grid-template-columns:minmax(170px,210px) minmax(125px,160px) minmax(145px,175px);justify-content:center}
  .booking-grid .calendar-field{grid-column:1}
  .booking-grid .calendar-field + .field{grid-column:2}
  .booking-grid>.book-now{grid-column:3}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-grid>div{padding:17px 13px}
}
@media(max-width:600px){
  .booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-content:stretch;gap:9px}
  .booking-grid .calendar-field{grid-column:1/-1}
  .booking-grid .calendar-field + .field{grid-column:1}
  .booking-grid>.book-now{grid-column:2;height:48px}
  .feature-grid{grid-template-columns:1fr 1fr;gap:0}
  .feature-grid>div{grid-template-columns:27px minmax(0,1fr);column-gap:7px;padding:16px 11px;border-left:1px solid #ffffff10;border-bottom:1px solid #ffffff10}
  .feature-grid i{font-size:20px}
  .feature-grid b{font-size:11px}
  .feature-grid span{font-size:8.5px;line-height:1.8}
}
/* v1.6.0 design system */
:root{--page-bg:#f7f5ef;--card:#fff;--ink:#17221d;--muted:#6b746f;--radius:20px}body{background:var(--page-bg);color:var(--ink)}.booking-card,.guest-card,.track-card,.villa-card,.panel{border-radius:var(--radius);background:var(--card)}.feature-grid>div{min-height:128px;display:flex;align-items:center;justify-content:center;text-align:center}.feature-grid i{font-size:30px}.feature-grid b{font-size:17px}.feature-grid span{font-size:13px;color:var(--muted)}.payment-success,.payment-failed{position:fixed;top:18px;right:18px;z-index:9999;background:#fff;border:1px solid #dfe7df;border-radius:14px;padding:13px 17px;box-shadow:0 15px 40px #102d2020}.payment-success{border-color:#79ad8c}.payment-failed{border-color:#d69b9b}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice-card{border:1px solid #e0e7df;background:#fff;border-radius:14px;padding:11px;text-align:right;cursor:pointer}.choice-card.active{border-color:var(--green);box-shadow:0 0 0 2px #1f7a5a18;background:#f3faf5}.choice-card b,.choice-card small{display:block}.choice-card small{color:var(--muted);margin-top:4px}.theme-preview{padding:20px;border-radius:18px;background:var(--page-bg)}.preview-card{padding:20px;border-radius:var(--radius);background:var(--card);display:grid;gap:9px}.preview-card button{background:var(--green);color:#fff;border:0;border-radius:12px;padding:11px}.form-grid label{font-size:12px;color:var(--muted);display:grid;gap:6px}.form-grid input[type=color]{height:42px;padding:4px}.night-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px}.night-control button{width:34px;height:34px;border-radius:10px;border:1px solid #dce4dc;background:#fff;font-size:20px;cursor:pointer}.night-control strong{min-width:30px;text-align:center}.full{grid-column:1/-1}
@media(max-width:700px){.feature-grid>div{min-height:110px}.choice-grid{grid-template-columns:1fr}.payment-success,.payment-failed{left:12px;right:12px}.booking-grid{align-items:stretch}}
.custom-villa-picker>span{display:block;font-size:11px;color:#69776f;margin-bottom:7px}.custom-villa-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.custom-villa-options .choice-card{padding:9px}.custom-villa-options .choice-card b{font-size:12px}.custom-villa-options .choice-card small{font-size:10px}@media(max-width:700px){.custom-villa-options{grid-template-columns:1fr}}
.villa-feature-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.villa-feature-mini>span{display:grid;gap:2px;padding:8px;border:1px solid #e8ede7;border-radius:11px;background:#fbfcfa}.villa-feature-mini i{font-style:normal;font-size:15px}.villa-feature-mini b{font-size:10px}.villa-feature-mini em{font-style:normal;font-size:8px;color:var(--muted);line-height:1.4}@media(max-width:700px){.villa-feature-mini{grid-template-columns:1fr 1fr}}
.admin-date-popup{position:absolute;z-index:10000;width:300px;background:#fff;border:1px solid #dfe7df;border-radius:18px;padding:10px;box-shadow:0 22px 60px #102d2025}.admin-date-popup .days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.admin-date-popup .days button,.admin-date-popup .cal-empty{min-height:34px;border:0;border-radius:9px;background:#f6f8f5}.admin-date-popup .days button:hover,.admin-date-popup .days button.sel{background:var(--green);color:#fff}.admin-number-stepper{display:flex;align-items:center;gap:5px}.admin-number-stepper input{flex:1}.admin-number-stepper button{width:34px;height:34px;border:1px solid #dce4dc;border-radius:9px;background:#fff;font-size:18px;cursor:pointer}.jalali-input{cursor:pointer;background:#fff}.form-grid .admin-number-stepper{min-width:0}
/* v1.6.1 refinement */
.nav-editor{display:grid;gap:8px}.nav-edit-row{display:grid;grid-template-columns:28px 1fr 1.2fr auto auto auto;gap:7px;align-items:center;padding:9px;border:1px solid #e4e9e3;background:#fafcf9;border-radius:12px}.nav-edit-row .drag{font-size:18px;color:#84938a;cursor:grab;text-align:center}.nav-edit-row input{min-width:0}.nav-edit-row .danger{padding:6px 8px}.manual-calendar-panel{display:flex;flex-direction:column}.manual-calendar-panel .calendar{position:relative;right:auto;top:auto;margin-top:12px;box-shadow:none;width:min(100%,340px)}.choice-grid .choice-card{min-height:68px}.custom-villa-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.custom-villa-picker>span{display:block;font-size:10px;color:#718077;margin-bottom:7px}.custom-villa-options .choice-card{text-align:right}.form-grid .full{grid-column:1/-1}
@media(max-width:700px){.nav-edit-row{grid-template-columns:24px 1fr auto auto}.nav-edit-row input[data-nav-href]{grid-column:2/-1}.nav-edit-row label{grid-column:2/-1}.manual-calendar-panel .calendar{width:100%}.custom-villa-options{grid-template-columns:1fr}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100vw}.tab{flex:0 0 auto}}

/* v1.6.2 polish */
:root{--border:#cfd6ce}
.field input,.field select,.date-input,.step,input,textarea,select,.choice-card,.panel,.booking-card,.guest-card,.track-card,.villa-card{border-color:var(--border)}
.tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow:visible}
.tab{min-width:0;white-space:nowrap}
.villa-admin{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid #d5ddd4;border-radius:14px;background:#fff;margin-bottom:8px}
.villa-admin .thumb{width:58px;height:48px;border-radius:11px;display:grid;place-items:center;background:#edf3ed}
.sms-template-box{grid-column:1/-1;border:1px solid #d5ddd4;background:#fafcf9;border-radius:14px;padding:10px;display:grid;gap:8px}.sms-template-head{display:flex;align-items:center;justify-content:space-between}.sms-template-box textarea{min-height:82px}.content-group{border:1px solid #d5ddd4;border-radius:14px;padding:12px;background:#fafcf9;display:grid;gap:10px}.content-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.booking-grid{border:0}.guest-grid{align-items:end}
@media(max-width:900px){.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.content-feature-grid{grid-template-columns:1fr}.villa-admin{grid-template-columns:48px minmax(0,1fr) auto}.villa-admin .danger{grid-column:3}.villa-admin .thumb{width:48px;height:44px}}
@media(max-width:600px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tab{font-size:10px;padding:9px 6px}.villa-admin{grid-template-columns:44px minmax(0,1fr);gap:8px}.villa-admin .small-btn,.villa-admin .danger{grid-column:2}.sms-template-box{padding:9px}.guest-grid{grid-template-columns:1fr 1fr}.guest-label:nth-child(3){grid-column:1}.guest-count-field{grid-column:2}.booking-grid{width:100%}}
/* v1.6.4 premium refinement */
.booking-card{padding:28px 30px;border-color:#d5dbd2;box-shadow:0 20px 55px rgba(24,51,40,.12)}
.booking-head{margin-bottom:18px}.booking-head h2{font-size:24px;letter-spacing:-.3px}
.booking-grid{grid-template-columns:minmax(260px,1.35fr) minmax(190px,1fr) minmax(150px,.7fr) minmax(145px,.72fr);gap:14px}
.booking-grid .book-now{min-height:48px;white-space:nowrap}
.guest-card{padding:26px 30px;border-color:#d5dbd2;box-shadow:0 18px 50px rgba(24,51,40,.08)}
.guest-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;align-items:end}
.guest-label{font-size:11px}.guest-label input{margin-top:6px;height:46px}
.guest-count-field{display:grid;gap:6px}.guest-count-control{height:46px;border:1px solid #d7ded6;background:#fbfcf9;border-radius:13px;display:flex;align-items:center;justify-content:space-between;padding:4px}
.guest-count-control button{width:38px;height:36px;border:0;border-radius:10px;background:#e9efe9;color:#214c38;font-size:20px;font-weight:700}.guest-count-control strong{font-size:15px;min-width:32px;text-align:center}
.field-help{font-size:9px!important;line-height:1.7}.capacity-box.full{margin-top:0}
/* villa cards: keep compact, improve internal typography */
.villa-body p{font-size:13px;line-height:1.9;min-height:48px;color:#596a61;margin:10px 0 12px}.amenities span{font-size:10px;padding:7px 9px}
.villa-feature-mini b{font-size:11px}.villa-feature-mini em{font-size:9px}
/* homepage four benefits: desktop vertical, readable; mobile remains compact */
.feature-grid{gap:0}.feature-grid>div{min-height:142px;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;place-items:center;text-align:center;padding:22px 20px;border-left:1px solid #ffffff18}
.feature-grid>div:first-child{border-left:0}.feature-grid i{grid-column:1;grid-row:1;font-size:30px;line-height:1;margin-bottom:7px}.feature-grid b{grid-column:1;grid-row:2;font-size:16px;line-height:1.6;white-space:nowrap}.feature-grid span{grid-column:1;grid-row:3;font-size:12px;line-height:1.8;color:#c6d6cb;margin-top:2px;white-space:normal}
/* manual booking panel */
#tab-manual .two-col{align-items:start;gap:18px}.manual-calendar-panel{position:sticky;top:18px}.manual-calendar-panel .calendar{width:100%;max-width:390px;margin-inline:auto}
#manualForm{grid-template-columns:1fr 1fr;gap:12px}.manualForm{}
#manualForm .choice-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#manualForm .choice-card{min-height:74px;padding:13px 14px;border-color:#d8dfd7;transition:.18s ease}
#manualForm .choice-card:hover{transform:translateY(-1px);border-color:#b8c7ba}
#manualForm .choice-card.active{border-color:#1f6043;background:#f2f8f3;box-shadow:0 0 0 2px rgba(31,96,67,.08)}
#manualForm .date-input{height:48px}.stepper-field{display:grid;gap:6px}.stepper-field>span{font-size:11px;color:#64776d}
#manualForm textarea,#manualForm .primary{grid-column:1/-1}.manual-calendar-panel .note{line-height:1.8}
@media(max-width:900px){
 .booking-grid{grid-template-columns:1.15fr .85fr;gap:10px}.booking-grid .villa-picker-field{grid-column:1/-1}.booking-grid .calendar-field{grid-column:1}.booking-grid .calendar-field+.field{grid-column:2}.booking-grid>.book-now{grid-column:1/-1}
 .guest-grid{grid-template-columns:1fr 1fr}.guest-grid .capacity-box{grid-column:1/-1}
 .feature-grid>div{min-height:132px}
 #tab-manual .two-col{display:flex;flex-direction:column}.manual-calendar-panel{position:static;width:100%}.manual-calendar-panel .calendar{max-width:none}
}
@media(max-width:600px){
 .booking-card{padding:17px}.booking-head h2{font-size:20px}.booking-grid{grid-template-columns:1fr 1fr}.booking-grid .villa-picker-field{grid-column:1/-1}.booking-grid .calendar-field{grid-column:1/-1}.booking-grid .calendar-field+.field{grid-column:1}.booking-grid>.book-now{grid-column:2;min-height:48px}.booking-grid>.field:nth-of-type(3){grid-column:1}
 .guest-card{padding:20px 16px}.guest-grid{grid-template-columns:1fr 1fr;gap:9px}.guest-label input{height:44px}.guest-count-control{height:44px}
 .feature-grid{grid-template-columns:1fr 1fr}.feature-grid>div{min-height:112px;padding:15px 9px}.feature-grid i{font-size:21px}.feature-grid b{font-size:11px}.feature-grid span{font-size:9px}
 #manualForm{grid-template-columns:1fr;gap:10px}#manualForm .choice-grid{grid-template-columns:1fr}.manual-calendar-panel .calendar{width:100%}
}
/* v1.6.5 — premium visual refresh */
:root{--deep:#123b2b;--deep2:#0b2a1e;--accent:#c8a95a;--ink:#17372a;--muted:#6f7f76;--line:#b7c5b9;--soft:#f1f5ef;--card:#ffffff}
body{background:radial-gradient(circle at 12% 8%,#edf4ed 0,#f7f4ec 34%,#eef3ee 100%);color:var(--ink)}
.booking-card,.guest-card,.track-card,.villa-card,.panel{border-color:var(--line);box-shadow:0 18px 55px rgba(12,48,33,.10)}
.booking-card{background:rgba(255,255,255,.96);border-radius:24px}
.booking-grid{grid-template-columns:1.15fr 1fr .72fr .82fr;justify-content:center}
.booking-grid .calendar-field,.booking-grid>.field:not(.villa-picker-field),.booking-grid>.book-now{max-width:230px;width:100%;justify-self:center}
.booking-grid .villa-picker-field{max-width:none}
.booking-grid>.book-now{height:48px;align-self:end}
.villa-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.villa-choice{min-height:64px;border:1px solid #b9c7bb!important;background:#f8faf7!important;color:#18392b!important;border-radius:15px!important;box-shadow:none!important}
.villa-choice.active{border-color:#527761!important;background:#edf4ed!important;box-shadow:0 7px 18px rgba(27,74,51,.10)!important}
.villa-choice b,.villa-choice small{color:inherit!important}
.guest-card{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:24px;padding:28px}
.guest-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;align-items:end}
.guest-name-field{grid-column:1/-1}
.guest-label input,.guest-label .guest-count-control{min-height:48px}
.guest-label{font-size:12px;color:#365646}
.guest-count-control{display:flex;border:1px solid #b7c5b9;border-radius:13px;overflow:hidden;background:#f8faf7}
.guest-count-control button{width:48px;border:0;background:#e9f0e9;color:#173f2d;font-size:22px}
.guest-count-control strong{flex:1;display:grid;place-items:center;color:#18392b}
.feature-grid{max-width:1080px;margin:auto;gap:0}
.feature-grid div{min-height:105px;padding:18px 28px}
.feature-grid b{font-size:17px}.feature-grid span{font-size:12px;line-height:1.7}
.cards{gap:16px}.villa-card{transition:.2s transform,.2s box-shadow}.villa-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,57,39,.14)}
.hero{background:radial-gradient(circle at 72% 30%,#557f63,#17442f 50%,#071d14 100%)}
.process-grid>div,.track-card{border-color:var(--line)}
input,textarea,select,.date-input,.step{border-color:#b7c5b9!important;color:#17372a!important}
input::placeholder,textarea::placeholder{color:#89968f}
.book-now,.primary{background:linear-gradient(135deg,#d9bc70,#b38a35);box-shadow:0 10px 24px rgba(119,91,30,.18)}
@media(max-width:760px){
 .booking-grid{grid-template-columns:1fr 1fr;gap:10px}
 .booking-grid .villa-picker-field{grid-column:1/-1;max-width:none}
 .booking-grid .calendar-field,.booking-grid>.field:not(.villa-picker-field),.booking-grid>.book-now{max-width:none;width:100%;justify-self:stretch}
 .booking-grid>.book-now{grid-column:auto;height:48px}
 .villa-picker{grid-template-columns:1fr}
 .guest-grid{grid-template-columns:1fr 1fr}
 .guest-name-field{grid-column:1/-1}
 .feature-grid{grid-template-columns:1fr 1fr}
 .feature-grid div{border-left:0;border-bottom:1px solid #ffffff18;min-height:100px;padding:16px}
 .guest-card{padding:20px}
}
/* v1.6.6 — compact guest information / responsive premium layout */
.guest-card{padding:22px 26px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(243,248,243,.96));box-shadow:0 14px 36px rgba(12,48,33,.09)}
.guest-card h2{margin:4px 0 14px;font-size:21px}
.guest-grid{grid-template-columns:minmax(240px,1.25fr) minmax(190px,1fr) minmax(150px,.72fr);gap:10px;align-items:end}
.guest-name-field{grid-column:auto!important}
.guest-label{font-size:11px;font-weight:600;letter-spacing:-.1px}
.guest-label input,.guest-label .guest-count-control{height:44px;min-height:44px}
.guest-label input{margin-top:5px;padding:0 12px;border-radius:11px}
.guest-count-control{border-radius:11px!important;padding:3px!important}
.guest-count-control button{width:36px!important;height:36px!important;border-radius:8px!important}
.guest-count-control strong{font-size:14px}
.guest-label .field-help{font-size:8px!important;line-height:1.35;margin-top:2px}
.guest-grid .capacity-box{grid-column:1/-1;margin-top:0;padding:8px 10px;font-size:10px}
.guest-card textarea{min-height:58px;margin-top:10px;border-radius:11px}
.guest-card .book-now{margin-top:10px;min-height:44px}
@media(max-width:900px){
 .guest-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(130px,.7fr);gap:9px}
 .guest-name-field{grid-column:auto!important}
}
@media(max-width:650px){
 .guest-card{padding:17px 14px;border-radius:17px}
 .guest-grid{grid-template-columns:1fr 1fr;gap:8px}
 .guest-name-field{grid-column:1/-1!important}
 .guest-label input,.guest-label .guest-count-control{height:43px;min-height:43px}
}

/* v1.6.7 — compact editorial redesign: booking + guest cards */
:root{
  --page-bg:#f3f1e9;
  --card:#fcfcf9;
  --ink:#19352a;
  --muted:#68776f;
  --line:#c2cbc2;
  --green:#18533b;
  --green-soft:#eaf1eb;
  --gold:#b69245;
}
body{
  background:
    radial-gradient(900px 420px at 85% -10%,rgba(24,83,59,.09),transparent 65%),
    radial-gradient(700px 360px at -5% 35%,rgba(182,146,69,.07),transparent 65%),
    #f3f1e9;
}
.booking-shell,.guest.wrap{max-width:1120px;margin-inline:auto}
.booking-card,.guest-card{
  position:relative;
  background:rgba(252,252,249,.96);
  border:1px solid #bfc9c0;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(25,53,42,.07);
  overflow:hidden;
}
.booking-card{padding:19px 22px}
.booking-card:before,.guest-card:before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--green),var(--gold),var(--green));
  opacity:.85
}
.booking-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.booking-head h2,.guest-card h2{color:#19352a;font-weight:800;letter-spacing:-.45px}
.booking-head h2{font-size:21px;margin:3px 0 0}
.booking-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(125px,145px) minmax(145px,165px);
  gap:9px 10px;
  align-items:end;
}
.booking-grid .villa-picker-field{grid-column:1/-1}
.booking-grid .calendar-field{grid-column:1}
.booking-grid .calendar-field + .field{grid-column:2}
.booking-grid>.book-now{grid-column:3;max-width:none;width:100%;height:46px;min-height:46px;margin:0}
.booking-grid .calendar-field,.booking-grid>.field{min-width:0}
.booking-grid .field>span,.booking-grid .villa-picker-field>span{font-size:10px;font-weight:700;color:#486055;margin-bottom:5px;display:block}
.booking-grid .date-input,.booking-grid .night-control{height:46px;min-height:46px}
.booking-grid .night-control{width:100%;border:1px solid var(--line);border-radius:11px;background:#f7f9f5}
.booking-grid .night-control button{width:34px;height:34px;border:0;border-radius:8px;background:#e7eee8;color:var(--green);font-weight:800}
.booking-grid .night-control strong{font-size:14px;color:var(--ink)}
.villa-picker{gap:7px}
.villa-choice{min-height:58px!important;border-radius:12px!important;padding:9px 11px!important}
.villa-choice b{font-size:12px!important}.villa-choice small{font-size:9px!important;margin-top:3px!important}

/* compact guest panel: three useful fields in one desktop row */
.guest-card{padding:19px 22px}
.guest-card h2{font-size:20px;margin:3px 0 11px}
.guest-summary{margin-bottom:10px}
.guest-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(145px,.7fr)!important;
  gap:9px!important;
  align-items:end!important;
}
.guest-name-field{grid-column:auto!important}
.guest-label{min-width:0;font-size:10px!important;color:#476055!important}
.guest-label input,.guest-label .guest-count-control{
  width:100%;height:43px!important;min-height:43px!important;margin-top:5px!important;
  border:1px solid #bdc8bf!important;border-radius:10px!important;background:#f9faf7!important;
}
.guest-label input{padding:0 11px!important}
.guest-count-control{padding:3px!important}
.guest-count-control button{width:34px!important;height:35px!important;border-radius:8px!important;background:#e7eee8!important;color:#174b35!important;font-size:19px!important}
.guest-count-control strong{font-size:14px!important;color:#19352a!important}
.guest-label .field-help{font-size:7.5px!important;line-height:1.3!important;margin-top:2px!important;color:#839087!important}
.guest-grid .capacity-box{grid-column:1/-1;margin:0!important;padding:7px 10px!important;border-radius:9px!important;font-size:9px!important}
.guest-card textarea{margin-top:9px!important;min-height:52px!important;border-radius:10px!important}
.guest-card>.book-now{margin-top:9px!important;min-height:44px!important}

/* four benefits: compact editorial tiles */
.feature-grid{max-width:1120px!important;border-radius:16px;overflow:hidden}
.feature-grid>div{min-height:112px!important;padding:18px 15px!important;background:rgba(17,55,39,.94)!important}
.feature-grid i{font-size:24px!important;color:#d4bd7b}
.feature-grid b{font-size:15px!important;color:#fff!important}
.feature-grid span{font-size:10.5px!important;color:#cbd8cf!important}

/* mobile: retain clean stacking, no oversized whitespace */
@media(max-width:760px){
  .booking-card,.guest-card{border-radius:15px;padding:15px}
  .booking-head{align-items:flex-start;margin-bottom:11px}
  .booking-head h2{font-size:18px}
  .booking-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .booking-grid .villa-picker-field{grid-column:1/-1!important}
  .booking-grid .calendar-field{grid-column:1/-1!important}
  .booking-grid .calendar-field + .field{grid-column:1!important}
  .booking-grid>.book-now{grid-column:2!important;height:45px;min-height:45px}
  .guest-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .guest-name-field{grid-column:1/-1!important}
  .guest-card h2{font-size:18px}
}
@media(min-width:761px){
  .guest-card .capacity-box{max-width:100%;}
}

/* v1.6.12 — admin isolation & full admin UI repair */
.admin-page{--admin-bg:#f4f6f2;--admin-card:#ffffff;--admin-soft:#f7f9f6;--admin-line:#dce4dd;--admin-ink:#183328;--admin-muted:#718078;--admin-green:#164c36;--admin-green-2:#2a684d;--admin-gold:#b79550;background:var(--admin-bg);color:var(--admin-ink)}
.admin-page .admin-top{background:var(--admin-green);border-bottom:1px solid rgba(255,255,255,.08)}
.admin-page .admin-nav{height:72px;gap:16px}
.admin-page .admin-nav .brand{color:#fff}.admin-page .admin-nav .brand-mark{width:38px;height:38px;border-radius:10px}.admin-page .admin-actions{margin-right:auto}
.admin-page .admin-actions .site-btn,.admin-page .logout{height:38px;padding:0 13px;border-radius:10px;font-size:10px;display:inline-flex;align-items:center;justify-content:center}
.admin-page .admin-main{padding:22px 0 60px}
.admin-page .admin-hero{min-height:116px;padding:22px 25px;border-radius:18px;background:linear-gradient(135deg,#1b5038,#123524);box-shadow:0 14px 36px rgba(17,55,39,.12);border:1px solid rgba(255,255,255,.05)}
.admin-page .admin-hero h1{font-size:25px;margin:9px 0 3px}.admin-page .admin-hero p{font-size:10px;line-height:1.9}.admin-page .admin-scene{font-size:56px}
.admin-page .tabs{position:relative;top:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:14px 0;padding:6px;background:#fff;border:1px solid var(--admin-line);border-radius:14px;box-shadow:0 7px 24px rgba(21,54,39,.06);overflow:visible}
.admin-page .tab{min-width:0;width:100%;height:40px;padding:0 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:#617168;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-page .tab:hover{background:#f1f5f1;color:var(--admin-green)}.admin-page .tab.active{background:var(--admin-green);border-color:var(--admin-green);color:#fff;box-shadow:0 6px 14px rgba(22,76,54,.15)}
.admin-page .stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 14px}.admin-page .stat{min-height:82px;padding:13px 14px;border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-card);box-shadow:0 6px 20px rgba(21,54,39,.045)}.admin-page .stat span{font-size:8px}.admin-page .stat b{font-size:20px;margin-top:5px}
.admin-page .two-col{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:12px}.admin-page .panel{padding:16px 17px;margin-bottom:12px;border:1px solid var(--admin-line);border-radius:15px;background:var(--admin-card);box-shadow:0 7px 24px rgba(21,54,39,.045)}
.admin-page .panel h2{font-size:15px;margin:4px 0 13px}.admin-page .panel-head{min-height:30px}.admin-page .panel-head .eyebrow.dark{font-size:8px;color:#829087}
.admin-page .small-btn,.admin-page .primary{border:0;border-radius:9px;font-size:9px;font-weight:800}.admin-page .small-btn{padding:8px 11px;background:#edf3ed;color:var(--admin-green)}.admin-page .small-btn:hover{background:#e3ece4}.admin-page .primary{background:var(--admin-green);color:#fff;box-shadow:0 7px 16px rgba(22,76,54,.12)}
.admin-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-page .form-grid label{font-size:9px;color:#53665c;gap:5px}.admin-page .form-grid input,.admin-page .form-grid select,.admin-page .form-grid textarea,.admin-page input,.admin-page select,.admin-page textarea{width:100%;border:1px solid var(--admin-line);border-radius:9px;background:#fbfcfa;color:var(--admin-ink);font-size:10px;outline:none;box-shadow:none}.admin-page .form-grid input,.admin-page .form-grid select{height:39px;padding:0 10px}.admin-page .form-grid textarea{min-height:72px;padding:9px 10px}.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{border-color:#8aa895;box-shadow:0 0 0 3px #eaf1eb}.admin-page .form-grid .full{grid-column:1/-1}.admin-page .form-grid textarea.full{grid-column:1/-1}
.admin-page .search{height:36px;padding:0 10px;max-width:230px}.admin-page .admin-row,.admin-page .list-item{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) auto;gap:9px;padding:10px 0;font-size:10px;border-top:1px solid #edf1ed}.admin-page .admin-row small,.admin-page .list-item small,.admin-page .villa-admin small{font-size:8px}.admin-page .row-actions{gap:4px}.admin-page .row-actions button,.admin-page .row-actions select{font-size:8px}
.admin-page .villa-admin{grid-template-columns:52px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:8px;margin-bottom:7px;border:1px solid var(--admin-line);border-radius:12px;background:#fbfcfa}.admin-page .villa-admin .thumb{width:52px;height:46px;border-radius:9px;font-size:20px}.admin-page .danger{border:0;border-radius:8px;padding:7px 9px;font-size:8px}
.admin-page .choice-grid,.admin-page .custom-villa-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-page .choice-card{min-height:58px;padding:9px;border:1px solid var(--admin-line);border-radius:10px;background:#fbfcfa;color:var(--admin-ink);box-shadow:none}.admin-page .choice-card b{font-size:10px}.admin-page .choice-card small{font-size:8px}.admin-page .choice-card.active{border-color:#5f8a70;background:#eff6f0;box-shadow:inset 0 0 0 1px #d9e7db}
.admin-page .night-control{height:40px;min-height:40px;margin:0;border:1px solid var(--admin-line);border-radius:9px;background:#fbfcfa;padding:3px}.admin-page .night-control button{width:32px;height:32px;border-radius:7px;font-size:17px;background:#edf2ed;box-shadow:none}.admin-page .night-control strong,.admin-page .night-control .night-value{font-size:12px;padding:4px;background:transparent;border:0}
.admin-page .capacity-box{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px;border-radius:10px;background:#f3f7f3;border:1px solid #dfe8df;font-size:8px}.admin-page .capacity-box>div{font-size:8px}.admin-page .capacity-box .full{grid-column:1/-1}
.admin-page .toggle{font-size:9px}.admin-page .toggle input{width:auto}.admin-page .note,.admin-page .admin-subtitle{font-size:8px;line-height:1.8}.admin-page .bar{padding:9px 10px;border-radius:9px;font-size:9px;background:#f2f6f2}.admin-page .empty{padding:18px;font-size:9px}
.admin-page .gallery-editor,.admin-page .sms-template-box,.admin-page .content-group{border:1px solid var(--admin-line);border-radius:11px;background:#f8faf7;padding:10px}.admin-page .gallery-editor-head{margin-bottom:7px}.admin-page .gallery-editor-head b{font-size:10px}.admin-page .gallery-editor-head small{font-size:8px}.admin-page .gallery-preview{gap:6px}.admin-page .gallery-preview>div{width:65px;height:50px;flex-basis:65px;border-radius:8px}.admin-page .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.admin-page .gallery-tile{border-radius:10px;overflow:hidden}.admin-page .gallery-library .panel-head{align-items:center}
.admin-page .manual-calendar-panel .calendar{width:100%;max-width:330px;margin:10px auto 0;padding:9px;border:1px solid var(--admin-line);border-radius:12px}.admin-page .manual-calendar-panel .calendar .days{gap:3px}.admin-page .manual-calendar-panel .calendar .days button,.admin-page .manual-calendar-panel .calendar .cal-empty{height:31px;border-radius:7px}
.admin-page .admin-date-popup{width:290px;border-radius:13px;padding:9px;box-shadow:0 18px 45px rgba(16,45,32,.16)}
.admin-page .nav-editor{gap:6px}.admin-page .nav-edit-row{grid-template-columns:24px minmax(80px,1fr) minmax(110px,1.2fr) auto auto auto;gap:6px;padding:7px;border-radius:9px}.admin-page .nav-edit-row input{height:34px;padding:0 7px;font-size:9px}.admin-page .nav-edit-row .drag{font-size:15px}
.admin-page .theme-preview{padding:12px;border-radius:12px}.admin-page .preview-card{padding:13px;border-radius:12px}.admin-page .preview-card button{padding:8px;font-size:9px}
.admin-page .login-screen{grid-template-columns:minmax(0,1fr) 460px}.admin-page .login-card{margin:28px;border-radius:20px;padding:32px;max-width:460px;justify-self:stretch}.admin-page .login-card h1{font-size:29px}.admin-page .login-card .brand{margin-bottom:35px}.admin-page .login-card p{font-size:10px}.admin-page .passbox input{height:42px;padding:0 11px}.admin-page .wide{height:42px;margin-top:8px}
@media(max-width:1000px){.admin-page .tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-page .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-page .two-col{grid-template-columns:1fr}.admin-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.admin-page .wrap{width:calc(100% - 24px)}.admin-page .admin-nav{height:64px}.admin-page .admin-actions{gap:5px}.admin-page .admin-actions .site-btn,.admin-page .logout{height:34px;padding:0 9px;font-size:8px}.admin-page .admin-main{padding-top:12px}.admin-page .admin-hero{padding:17px;border-radius:14px}.admin-page .admin-hero h1{font-size:21px}.admin-page .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0;padding:5px}.admin-page .tab{height:37px;font-size:9px}.admin-page .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-page .stat{min-height:72px;padding:10px}.admin-page .stat b{font-size:17px}.admin-page .stat:last-child{grid-column:auto}.admin-page .panel{padding:13px;margin-bottom:9px;border-radius:13px}.admin-page .form-grid,.admin-page .settings-grid{grid-template-columns:1fr}.admin-page .form-grid .full,.admin-page .form-grid textarea.full{grid-column:auto}.admin-page .choice-grid,.admin-page .custom-villa-options{grid-template-columns:1fr}.admin-page .capacity-box{grid-template-columns:1fr}.admin-page .capacity-box .full{grid-column:auto}.admin-page .admin-row,.admin-page .list-item{grid-template-columns:1fr;gap:5px}.admin-page .villa-admin{grid-template-columns:44px minmax(0,1fr);gap:7px}.admin-page .villa-admin .thumb{width:44px;height:42px}.admin-page .villa-admin .small-btn,.admin-page .villa-admin .danger{grid-column:2}.admin-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .nav-edit-row{grid-template-columns:22px 1fr auto auto}.admin-page .nav-edit-row input[data-nav-href],.admin-page .nav-edit-row label{grid-column:2/-1}.admin-page .login-screen{display:block;min-height:100vh}.admin-page .login-art{display:none}.admin-page .login-card{margin:0;min-height:100vh;max-width:none;border-radius:0;padding:28px 22px;display:flex;flex-direction:column;justify-content:center}.admin-page .login-card .brand{margin-bottom:30px}}

/* v1.6.13 — admin manual booking fixes */
.admin-page .manual-booking-panel{padding:18px 20px}
.admin-page .manual-booking-head{margin-bottom:14px}
.admin-page .manual-booking-head h2{margin-bottom:4px}
.admin-page .manual-date-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:end;grid-column:1/-1}
.admin-page .manual-date-row .date-input{height:42px;width:100%;border:1px solid var(--admin-line);border-radius:10px;background:#fbfcfa;color:var(--admin-ink);font:inherit;font-size:10px;text-align:right;padding:0 12px;cursor:pointer}
.admin-page .manual-date-row .date-input:hover{border-color:#8aa895;background:#f4f8f4}
.admin-page .manual-guest-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 150px;gap:10px;align-items:end;grid-column:1/-1}
.admin-page .manual-guest-row input{height:42px}
.admin-page .manual-guest-row .stepper-field{margin:0}
.admin-page .manual-form{grid-template-columns:1fr 1fr}
.admin-page .manual-form #mNotes{grid-column:1/-1;min-height:62px}
.admin-page .manual-form>.wide{grid-column:1/-1}
.admin-page .manual-calendar-hidden{display:none!important}
.manual-date-popup{position:fixed;z-index:10000;background:#fff;border:1px solid #d9e1d9;border-radius:16px;padding:9px;box-shadow:0 24px 70px rgba(16,45,32,.2)}
.manual-date-popup .manual-date-popup-inner{position:relative}
.manual-date-popup #manualCalendar{display:block!important;width:100%;max-width:none;margin:0;padding:4px;border:0;box-shadow:none}
.manual-date-popup .cal-head{position:relative;padding-top:1px}
.manual-date-popup .manual-cal-close{position:absolute;left:0;top:0;width:27px;height:27px;border:0;border-radius:8px;background:#edf2ed;color:#40554a;font-size:18px;line-height:27px;cursor:pointer;z-index:2}
.manual-date-popup .calendar,.manual-date-popup .days{width:100%}
.manual-date-popup .days button,.manual-date-popup .cal-empty{height:34px}
@media(max-width:650px){.admin-page .manual-booking-panel{padding:14px}.admin-page .manual-date-row{grid-template-columns:1fr 118px;gap:7px}.admin-page .manual-guest-row{grid-template-columns:1fr 1fr;gap:8px}.admin-page .manual-guest-row #mName{grid-column:1/-1}.admin-page .manual-guest-row .stepper-field{grid-column:2}.admin-page .manual-form{grid-template-columns:1fr}.admin-page .manual-date-row,.admin-page .manual-guest-row,.admin-page .manual-form #mNotes,.admin-page .manual-form>.wide{grid-column:1/-1}}


/* v1.6.14 — complete public-site design system
   Intentionally scoped to .public-page so the admin panel keeps its own UI. */
.public-page{
  --p-bg:#f4f1e9; --p-paper:#fffdf8; --p-ink:#17352a; --p-muted:#6f7c74;
  --p-green:#174c38; --p-green-2:#2b6b4d; --p-gold:#c4a15b; --p-line:#d9ddd3;
  --p-radius:22px; --p-shadow:0 22px 70px rgba(20,48,36,.10);
  background:var(--p-bg); color:var(--p-ink); overflow-x:hidden;
}
.public-page .wrap{width:min(1180px,calc(100% - 56px))}
.public-page .top{position:absolute;background:linear-gradient(180deg,rgba(7,25,17,.78),rgba(7,25,17,.08));backdrop-filter:blur(2px)}
.public-page .nav{height:82px;gap:30px}
.public-page .brand-mark{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.public-page .nav nav{gap:27px;font-size:12px}
.public-page .nav nav a{position:relative;padding:8px 0;opacity:.88}
.public-page .nav nav a:after{content:'';position:absolute;right:0;left:0;bottom:0;height:1px;background:#d9bc70;transform:scaleX(0);transform-origin:center;transition:.2s}
.public-page .nav nav a:hover:after{transform:scaleX(1)}
.public-page .ghost{background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}

.public-page .hero{min-height:720px;background:#102d20;display:flex;align-items:center}
.public-page .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,14,.88) 0%,rgba(8,30,19,.60) 42%,rgba(8,30,19,.20) 100%);pointer-events:none}
.public-page .hero-content{z-index:4;padding-top:155px;padding-bottom:120px}
.public-page .hero-content .pill{background:rgba(255,255,255,.08);border-color:rgba(221,203,158,.32);letter-spacing:.1px}
.public-page .hero h1{max-width:650px;font-size:clamp(38px,5vw,64px);line-height:1.3;letter-spacing:-2.4px;margin:22px 0 15px}
.public-page .hero p{font-size:14px;max-width:520px;line-height:2.15;color:#d9e5dd}
.public-page .hero-cta{padding:14px 21px;border-radius:13px;margin-top:9px}
.public-page .hero-visual{position:absolute;z-index:3;left:5.5%;bottom:70px;width:min(42vw,500px);height:390px;transform:rotate(-2deg)}
.public-page .hero-photo-slot{height:100%;border-radius:30px;overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.20);background:linear-gradient(145deg,#426b52,#1b4734 48%,#0a261a);box-shadow:0 35px 90px rgba(0,0,0,.32)}
.public-page .hero-photo-slot:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.17),transparent 25%),linear-gradient(155deg,transparent 35%,rgba(0,0,0,.24));}
.public-page .hero-photo-slot span,.public-page .hero-photo-slot small{position:relative;z-index:1}
.public-page .hero-photo-slot span{font-size:16px;font-weight:800;color:#f8f4e8}
.public-page .hero-photo-slot small{margin-top:8px;font-size:10px;color:#cbd9d0}
.public-page .hero-photo-meta{position:absolute;right:20px;bottom:18px;z-index:5;background:rgba(7,25,17,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);border-radius:15px;padding:10px 13px;color:#fff;display:grid;gap:2px;min-width:150px}
.public-page .hero-photo-meta b{font-size:13px}.public-page .hero-photo-meta span{font-size:9px;color:#cddbd3}
.public-page .forest{opacity:.10;filter:blur(.3px)}

.public-page .booking-shell{position:relative;z-index:10;margin-top:-82px}
.public-page .booking-card{border:1px solid rgba(25,59,44,.14);border-radius:24px;padding:25px 28px;background:rgba(255,253,248,.97);box-shadow:0 28px 70px rgba(14,46,32,.15);backdrop-filter:blur(14px)}
.public-page .booking-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.public-page .booking-head h2{font-size:22px;margin:6px 0 0;letter-spacing:-.5px}
.public-page .mini-note{font-size:10px;color:#748078;background:#f0f4ed;border:1px solid #e0e6dd;padding:8px 11px;border-radius:10px}
.public-page .booking-grid{display:grid;grid-template-columns:minmax(0,1.75fr) 180px 140px 170px;gap:11px;align-items:end}
.public-page .booking-grid .villa-picker-field{grid-column:1/-1}
.public-page .field>span{font-size:10px;font-weight:800;color:#4d6558;margin-bottom:6px;display:block}
.public-page .villa-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.public-page .villa-choice{min-height:62px!important;border-radius:14px!important;border:1px solid #d4ddd4!important;background:#fafbf8!important;display:grid!important;grid-template-columns:46px 1fr 20px;align-items:center!important;gap:10px!important;padding:7px 10px!important;text-align:right!important;box-shadow:none!important}
.public-page .villa-choice-photo{width:46px;height:46px;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#6b8e74,#234e3a);display:grid;place-items:center;color:#f7f3e8;font-size:18px}
.public-page .villa-choice-photo img{width:100%;height:100%;object-fit:cover;display:block}
.public-page .villa-choice-copy{display:grid;gap:3px;min-width:0}.public-page .villa-choice-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-page .villa-choice-copy small{font-size:8px;color:#7a877f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-page .villa-choice i{font-style:normal;font-size:11px;color:#174c38;opacity:0}.public-page .villa-choice.active{background:#edf4ed!important;border-color:#6d8d78!important;box-shadow:inset 0 0 0 1px rgba(31,91,62,.10)!important}.public-page .villa-choice.active i{opacity:1}
.public-page .date-input,.public-page .night-control{height:48px;border-radius:12px!important;background:#fbfcf9!important;border:1px solid #cbd6cc!important}
.public-page .date-input{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#234637!important;font-size:11px}
.public-page .night-control{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;padding:4px}.public-page .night-control button{border:0;border-radius:9px;background:#edf2ec;color:#1d4d37;height:38px;font-size:20px}.public-page .night-value{text-align:center;font-size:14px}
.public-page .book-now{height:48px;border-radius:12px;padding:0 18px}
.public-page .summary{display:flex;gap:7px;margin-top:12px}.public-page .summary>div{flex:1;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#f7f8f4;border:1px solid #e2e7df;border-radius:10px}.public-page .summary span{font-size:9px;color:#7b877f}.public-page .summary b{font-size:9px}

.public-page .feature-strip{margin-top:0;background:#123b2b;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.08)}
.public-page .feature-grid{max-width:1180px}.public-page .feature-grid>div{min-height:112px!important;padding:20px 24px!important}.public-page .feature-grid b{font-size:14px!important}.public-page .feature-grid span{font-size:10px!important}

.public-page .section{padding-top:88px;padding-bottom:88px}.public-page .section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.public-page .section-title h2{font-size:32px;letter-spacing:-1px;margin:7px 0 0}.public-page .section-title p{max-width:410px;font-size:11px;color:var(--p-muted);line-height:2}
.public-page .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.public-page .villa-card{background:var(--p-paper);border-radius:22px;overflow:hidden;border:1px solid var(--p-line);box-shadow:0 15px 42px rgba(25,55,42,.07)}
.public-page .villa-gallery{height:300px;background:#dce6dd}.public-page .villa-gallery:after{background:linear-gradient(180deg,transparent 48%,rgba(7,29,19,.48))}
.public-page .villa-body{padding:21px 22px 20px}.public-page .villa-top h3{font-size:20px;letter-spacing:-.4px}.public-page .villa-top .eyebrow{font-size:8px;padding:5px 8px}.public-page .villa-status{font-size:9px}
.public-page .villa-body p{font-size:11px;line-height:1.95;min-height:44px;margin:9px 0 12px}.public-page .amenities span{font-size:9px;padding:6px 8px;border-radius:8px}.public-page .villa-feature-mini{border-top:1px solid #e6e9e3;border-bottom:1px solid #e6e9e3;margin:13px 0;padding:10px 0}
.public-page .villa-bottom{padding-top:3px}.public-page .villa-bottom small{font-size:8px}.public-page .villa-bottom b{font-size:16px}.public-page .small-btn{border-radius:10px}

.public-page .experience{padding:94px 0;background:#163d2d;color:#fff;overflow:hidden}.public-page .experience-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:center}.public-page .experience h2{font-size:42px;line-height:1.35;letter-spacing:-1.3px;margin:12px 0}.public-page .experience p{font-size:12px;line-height:2.15;color:#d1ded6;max-width:470px}.public-page .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.public-page .chips span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);padding:8px 11px;border-radius:9px;font-size:9px}
.public-page .scene{height:390px;border-radius:28px;border:1px solid rgba(255,255,255,.15);position:relative;overflow:hidden;background:linear-gradient(145deg,#547a61,#1e5039 50%,#0a271a);box-shadow:0 28px 70px rgba(0,0,0,.25)}
.public-page .scene:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(238,218,153,.28),transparent 18%),linear-gradient(145deg,rgba(255,255,255,.08),transparent 40%)}
.public-page .scene:after{content:'';position:absolute;inset:18px;border:1px dashed rgba(255,255,255,.22);border-radius:21px}
.public-page .scene-overlay{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.public-page .scene-overlay span{font-size:17px;font-weight:800}.public-page .scene-overlay small{font-size:10px;color:#cfddd4;margin-top:7px}

.public-page .process{padding-top:86px;padding-bottom:86px}.public-page .process-grid{gap:12px}.public-page .process-grid>div{background:#fffdf8;border:1px solid #d9ded7;border-radius:18px;padding:22px;box-shadow:none}.public-page .process-grid>div b{width:36px;height:36px;border-radius:10px;background:#e9f0e9;font-size:13px}.public-page .process-grid h3{font-size:14px;margin:14px 0 6px}.public-page .process-grid p{font-size:10px;line-height:1.9;color:#758179}
.public-page .track{padding-bottom:90px}.public-page .track-card{border-radius:20px;background:#eaf0e9;border:1px solid #d3ddd3;padding:26px 28px;box-shadow:none}.public-page .track-card h2{font-size:22px;margin:6px 0}.public-page .track-card p{font-size:10px;color:#718078}.public-page .track-form{display:grid;grid-template-columns:1fr 130px;gap:8px}.public-page .track-form input{height:46px;border-radius:11px!important;background:#fff;border:1px solid #ccd7ce!important}.public-page .track-form button{border:0;border-radius:11px;background:#174c38;color:#fff;font-weight:800}

.public-page .guest{padding-bottom:90px}.public-page .guest-card{background:#fffdf8;border:1px solid #d6ddd5;border-radius:22px;box-shadow:var(--p-shadow);padding:26px}.public-page .guest-heading{border-bottom:1px solid #e3e7e0;padding-bottom:18px;margin-bottom:18px}.public-page .guest-heading h2{font-size:22px}.public-page .guest-layout{gap:18px}.public-page .stay-panel{background:#173f2f;border-radius:17px;padding:17px}.public-page .guest-form-panel{border:1px solid #e0e5df;border-radius:17px;padding:18px;background:#fff}.public-page .form-panel-title{padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid #edf0eb}.public-page .form-panel-title b{font-size:13px}.public-page .form-panel-title span{font-size:9px;color:#8a948e;margin-right:8px}.public-page .guest-grid{gap:9px}.public-page .guest-label{font-size:10px}.public-page .guest-label input,.public-page .guest-count-control{height:42px!important;min-height:42px!important;border-radius:10px!important}.public-page .guest-label input{margin-top:4px}.public-page .guest-count-control button{height:34px!important;width:34px!important}.public-page .guest-card textarea{min-height:54px}.public-page .guest-actions .book-now{min-height:44px}

.public-page footer{background:#0d2a1e;border-top:1px solid rgba(255,255,255,.06)}.public-page .footer-inner{min-height:90px}.public-page footer .brand small,.public-page footer #footerText{color:#aebfb4;font-size:9px}

@media(max-width:950px){
 .public-page .hero{min-height:680px}.public-page .hero-visual{left:4%;width:43vw;height:330px;bottom:80px}.public-page .hero-content{padding-top:145px}.public-page .booking-grid{grid-template-columns:1fr 150px 130px}.public-page .booking-grid .villa-picker-field{grid-column:1/-1}.public-page .booking-grid>.book-now{grid-column:3}.public-page .villa-picker{grid-template-columns:repeat(2,1fr)}.public-page .experience-inner{grid-template-columns:1fr 1fr;gap:28px}.public-page .experience h2{font-size:34px}
}
@media(max-width:700px){
 .public-page .wrap{width:min(100% - 28px,560px)}.public-page .nav{height:70px}.public-page .nav nav{display:none}.public-page .ghost{margin-right:auto}.public-page .hero{min-height:690px}.public-page .hero:after{background:linear-gradient(180deg,rgba(5,22,14,.35),rgba(8,30,19,.70) 52%,rgba(8,30,19,.94) 100%)}.public-page .hero-content{padding-top:125px;padding-bottom:310px}.public-page .hero h1{font-size:37px;letter-spacing:-1.2px}.public-page .hero p{font-size:11px}.public-page .hero-visual{left:14px;right:14px;width:auto;height:250px;bottom:30px;transform:none}.public-page .hero-photo-slot{border-radius:22px}.public-page .booking-shell{margin-top:-12px}.public-page .booking-card{padding:18px;border-radius:19px}.public-page .booking-head{align-items:start;flex-direction:column;gap:8px}.public-page .booking-head h2{font-size:19px}.public-page .booking-grid{grid-template-columns:1fr 1fr;gap:9px}.public-page .booking-grid .villa-picker-field{grid-column:1/-1}.public-page .booking-grid .calendar-field{grid-column:1/-1}.public-page .booking-grid>.field:nth-of-type(3){grid-column:1}.public-page .booking-grid>.book-now{grid-column:2}.public-page .villa-picker{grid-template-columns:1fr 1fr}.public-page .villa-choice{grid-template-columns:40px 1fr 16px;min-height:58px!important;padding:6px!important}.public-page .villa-choice-photo{width:40px;height:40px}.public-page .villa-choice-copy b{font-size:10px}.public-page .villa-choice-copy small{font-size:7px}.public-page .summary{display:grid;grid-template-columns:1fr 1fr}.public-page .feature-grid{grid-template-columns:1fr 1fr}.public-page .section{padding-top:58px;padding-bottom:58px}.public-page .section-title{display:block}.public-page .section-title h2{font-size:27px}.public-page .section-title p{margin-top:10px}.public-page .cards{grid-template-columns:1fr;gap:14px}.public-page .villa-gallery{height:235px}.public-page .villa-body{padding:17px}.public-page .experience{padding:62px 0}.public-page .experience-inner{grid-template-columns:1fr;gap:25px}.public-page .experience h2{font-size:31px}.public-page .scene{height:245px}.public-page .process{padding-top:55px;padding-bottom:55px}.public-page .process-grid{grid-template-columns:1fr}.public-page .track-form{grid-template-columns:1fr}.public-page .guest-card{padding:17px}.public-page .guest-layout{grid-template-columns:1fr}.public-page .stay-panel{order:2}.public-page .guest-form-panel{order:1}
}
@media(max-width:420px){.public-page .villa-picker{grid-template-columns:1fr}.public-page .hero h1{font-size:33px}.public-page .feature-grid>div{padding-inline:8px!important}}
/* v1.6.15 — contact/footer system + redesigned hero photo composition */
.public-page .hero{min-height:700px;background:linear-gradient(116deg,#0b2519 0%,#173d2b 45%,#355b45 100%)}
.public-page .hero:before{background:radial-gradient(circle at 78% 18%,rgba(216,193,123,.13),transparent 24%),linear-gradient(180deg,rgba(3,17,11,.06),rgba(7,28,18,.16) 55%,var(--bg) 100%)}
.public-page .hero-content{padding-top:185px;z-index:5}
.public-page .hero h1{font-size:54px;max-width:650px;letter-spacing:-1.8px}
.public-page .hero p{font-size:12px;max-width:500px}
.public-page .hero-visual.hero-photo-composition{left:auto;right:5.5%;bottom:65px;width:min(47vw,560px);height:400px;transform:none;z-index:3}
.public-page .hero-photo-main,.public-page .hero-photo-side{position:absolute;overflow:hidden;border:1px solid rgba(255,255,255,.20);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.public-page .hero-photo-main{right:0;top:20px;width:78%;height:330px;border-radius:30px;background:linear-gradient(145deg,#5b7c61,#294e39 48%,#0a261a)}
.public-page .hero-photo-main:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(237,213,148,.20),transparent 22%),linear-gradient(155deg,rgba(255,255,255,.10),transparent 40%)}
.public-page .hero-photo-side{left:0;bottom:25px;width:42%;height:190px;border-radius:24px;background:linear-gradient(145deg,#9caa82,#52715a 55%,#173b29);transform:rotate(-3deg)}
.public-page .hero-photo-main span,.public-page .hero-photo-main small,.public-page .hero-photo-side span,.public-page .hero-photo-side small{position:absolute;right:20px;bottom:26px;z-index:1;color:#fff}
.public-page .hero-photo-main span,.public-page .hero-photo-side span{font-size:14px;font-weight:800}
.public-page .hero-photo-main small,.public-page .hero-photo-side small{bottom:10px;font-size:8px;color:#d9e4dc}
.public-page .hero-photo-badge{position:absolute;right:25px;bottom:0;z-index:4;background:rgba(9,31,20,.86);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);border-radius:14px;padding:10px 13px;display:grid;gap:2px;color:#fff}
.public-page .hero-photo-badge b{font-size:12px}.public-page .hero-photo-badge span{font-size:8px;color:#cbd8d0}
.public-page .hero-photo-caption{position:absolute;left:7px;top:0;color:#dce8df;font-size:8px;display:flex;gap:6px;align-items:center}.public-page .hero-photo-caption span{color:#d7b96f;font-size:13px}
.public-page .public-contact-area{background:#f3f1e9;padding:82px 0 76px;border-top:1px solid #dfe4dc}
.public-page .contact-head{margin-bottom:24px}.public-page .contact-head h2{font-size:30px;letter-spacing:-.8px;margin:8px 0}.public-page .contact-head p{font-size:10px;color:#748078;margin:0;line-height:2}
.public-page .contact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px}
.public-page .contact-card{grid-column:span 4;background:#fffdf8;border:1px solid #d8ded6;border-radius:19px;padding:19px;display:flex;gap:13px;align-items:flex-start;min-height:165px;box-shadow:0 12px 35px rgba(25,55,42,.045)}
.public-page .contact-card.contact-main{grid-column:span 4}.public-page .contact-card.about-card{grid-column:span 8;min-height:205px}.public-page .contact-card.location-card{grid-column:span 4}.public-page .contact-card.trust-card{grid-column:span 4;min-height:130px;align-items:center}
.public-page .contact-card-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#eaf1ea;color:#1c5239;font-size:18px;border:1px solid #d9e4da}
.public-page .contact-card>div:last-child{min-width:0}.public-page .contact-card>div:last-child>span{font-size:8px;color:#7b877f}.public-page .contact-card h3{font-size:15px;margin:5px 0 7px;color:#19372b}.public-page .contact-card p{font-size:9px;line-height:1.95;color:#6e7b73;margin:0}.public-page .contact-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.public-page .contact-links a,.public-page .contact-direct{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;background:#eef3ed;color:#1b4d37;font-size:8px;font-weight:800;border:1px solid #dce5dc}.public-page .contact-direct{margin-top:12px}.public-page .contact-direct b{font-size:11px}.public-page .trust-mark{width:62px;height:62px;flex:0 0 62px;border:1px solid #cfd8d0;border-radius:15px;background:#f4f7f2;display:grid;place-items:center;align-content:center;color:#175139}.public-page .trust-mark b{font-size:28px;line-height:1}.public-page .trust-mark span{font-size:6px;font-weight:800}
.public-page .trust-mark img{display:block;width:54px;height:54px;max-width:100%;object-fit:contain}.public-page footer .footer-inner{min-height:82px}
@media(max-width:950px){.public-page .hero{min-height:720px}.public-page .hero-content{padding-top:155px}.public-page .hero h1{font-size:46px}.public-page .hero-visual.hero-photo-composition{right:4%;width:48vw;height:340px;bottom:55px}.public-page .hero-photo-main{height:285px}.public-page .hero-photo-side{height:155px}.public-page .contact-card{grid-column:span 6!important}.public-page .contact-card.about-card{grid-column:span 12!important}}
@media(max-width:700px){.public-page .hero{min-height:720px}.public-page .hero-content{padding-top:120px;padding-bottom:335px}.public-page .hero h1{font-size:35px}.public-page .hero-visual.hero-photo-composition{right:14px;left:14px;bottom:24px;width:auto;height:260px}.public-page .hero-photo-main{right:0;top:16px;width:76%;height:218px;border-radius:21px}.public-page .hero-photo-side{left:0;bottom:0;width:43%;height:125px;border-radius:18px}.public-page .hero-photo-main span,.public-page .hero-photo-side span{right:13px;bottom:22px;font-size:10px}.public-page .hero-photo-main small,.public-page .hero-photo-side small{right:13px;bottom:9px;font-size:6.5px}.public-page .hero-photo-badge{right:16px;bottom:0;padding:8px 10px}.public-page .hero-photo-badge b{font-size:10px}.public-page .hero-photo-caption{left:0;top:0;font-size:6.5px}.public-page .public-contact-area{padding:58px 0 55px}.public-page .contact-head h2{font-size:24px}.public-page .contact-grid{grid-template-columns:1fr;gap:10px}.public-page .contact-card,.public-page .contact-card.about-card,.public-page .contact-card.location-card,.public-page .contact-card.trust-card{grid-column:1!important;min-height:auto;padding:16px}.public-page .contact-card.about-card{min-height:0}.public-page .contact-card p{font-size:8.5px}.public-page .contact-links{gap:5px}.public-page .contact-links a{font-size:7.5px}.public-page footer .footer-inner{min-height:100px}}

/* v1.6.16 — contact identity + no hero image placeholders */
.public-page .hero{overflow:hidden}
.public-page .hero-visual.hero-photo-composition{display:none!important}
.public-page .hero::before{content:"";position:absolute;left:auto;right:-110px;top:80px;width:460px;height:460px;border:1px solid rgba(214,184,111,.24);border-radius:50%;box-shadow:0 0 0 36px rgba(214,184,111,.035),0 0 0 72px rgba(214,184,111,.022);pointer-events:none}
.public-page .hero::after{background:linear-gradient(90deg,rgba(8,28,19,.10),rgba(8,30,19,.22) 48%,rgba(8,30,19,.82) 100%),radial-gradient(circle at 82% 35%,rgba(186,155,82,.16),transparent 34%)!important}
.public-page .contact-grid{align-items:stretch}
.public-page .contact-card{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.public-page .contact-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#b69245,#18533b);opacity:.75}
.public-page .contact-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(25,55,42,.08);border-color:#c5d1c7}
.public-page .contact-main{background:linear-gradient(135deg,#fffdf8,#f1f6f0)}
.public-page .manager-card{background:#193b2c;color:#fff;border-color:#2a5845}
.public-page .manager-card h3,.public-page .manager-card p{color:#fff}
.public-page .manager-card p{color:#cbd9d0}
.public-page .manager-card>div:last-child>span{color:#b9cbbf}
.public-page .manager-card .contact-card-icon{background:#244c3a;color:#e0c57e;border-color:#39614f}
.public-page .manager-card .contact-direct{background:#f1ead9;color:#193b2c;border-color:#d9c89e}
.public-page .contact-links a{flex-direction:column;align-items:flex-start;gap:2px}
.public-page .contact-links a b{font-size:7px;opacity:.72;direction:ltr}
.public-page .coordinates{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:7px;background:#f0f4ee;border:1px solid #dce4dc;color:#53675b;font-size:7.5px;direction:ltr}
.public-page .about-card{background:#f8f5ec}
.public-page .trust-card{background:#f4f7f2}
.public-page .designer-card{grid-column:span 4;background:linear-gradient(135deg,#f8f4e9,#fffdf8);min-height:150px}
.public-page .designer-card .contact-card-icon{background:#f2ead7;color:#8c6b29;border-color:#e2d5b7}
.public-page .designer-link{background:#193b2c!important;color:#fff!important;border-color:#193b2c!important}
@media(max-width:950px){.public-page .designer-card{grid-column:span 6!important}}
@media(max-width:700px){.public-page .hero::before{width:300px;height:300px;right:-150px;top:90px}.public-page .designer-card{grid-column:1!important}}

/* v1.6.17 — quieter footer credit, stronger secondary typography, tighter section rhythm */
.public-page .public-contact-area{padding:58px 0 54px}
.public-page .contact-head{margin-bottom:18px}
.public-page .contact-head h2{margin:6px 0;font-size:28px}
.public-page .contact-head p{font-size:11px;line-height:1.9}
.public-page .contact-grid{gap:10px}
.public-page .contact-card{padding:17px;min-height:150px;border-radius:17px;gap:11px}
.public-page .contact-card h3{font-size:16px;margin:4px 0 6px}
.public-page .contact-card p{font-size:10px;line-height:1.85}
.public-page .contact-card>div:last-child>span{font-size:9px}
.public-page .contact-links{gap:6px;margin-top:10px}
.public-page .contact-links a{min-width:86px;padding:7px 8px;border-radius:9px;font-size:9px;display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center}
.public-page .contact-links a .social-icon{grid-row:1 / span 2;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:13px;font-weight:900;line-height:1}
.public-page .contact-links a .whatsapp-icon{background:#dff0e3;color:#1d7144}
.public-page .contact-links a .instagram-icon{background:#eee4ef;color:#7b477f}
.public-page .contact-links a .phone-icon{background:#e7eee9;color:#1d553c}
.public-page .contact-links a b{grid-column:2;font-size:8px!important;opacity:.75;direction:ltr;text-align:right}
.public-page .coordinates{font-size:8px}
.public-page .contact-direct{font-size:9px;padding:7px 9px;margin-top:10px}
.public-page .about-card{min-height:190px!important}
.public-page .trust-card{min-height:118px!important}
.public-page .section{padding-top:62px;padding-bottom:62px}
.public-page .experience{padding:68px 0}
.public-page .process{padding-top:62px;padding-bottom:62px}
.public-page .track{padding-bottom:64px}
.public-page .guest{padding-bottom:64px}
.public-page .feature-grid>div span{font-size:10.5px!important}
.public-page .section-title p,.public-page .villa-body p,.public-page .process-grid p,.public-page .track-card p,.public-page .guest-intro,.public-page .guest-actions-note{font-size:11px}
.public-page .villa-body .amenities span,.public-page .villa-feature-mini>span{font-size:9.5px}
.public-page footer .footer-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.public-page .footer-meta{display:flex;align-items:center;gap:16px;min-width:0}
.public-page footer #footerText{font-size:9px}
.public-page .designer-footer-link{font-size:8px;color:#91a79b;opacity:.72;border-bottom:1px solid rgba(145,167,155,.28);padding-bottom:2px;white-space:nowrap;transition:opacity .2s ease,color .2s ease}
.public-page .designer-footer-link:hover{opacity:1;color:#d4c184}
@media(max-width:700px){
 .public-page .public-contact-area{padding:44px 0 40px}
 .public-page .contact-head{margin-bottom:14px}
 .public-page .contact-head h2{font-size:24px}
 .public-page .contact-grid{gap:8px}
 .public-page .contact-card{padding:15px}
 .public-page .section{padding-top:48px;padding-bottom:48px}
 .public-page .experience{padding:52px 0}
 .public-page .process{padding-top:48px;padding-bottom:48px}
 .public-page .track{padding-bottom:50px}
 .public-page .guest{padding-bottom:50px}
 .public-page footer .footer-inner{min-height:92px;align-items:center}
 .public-page .footer-meta{flex-direction:column;align-items:flex-end;gap:6px}
 .public-page .designer-footer-link{font-size:7.5px}
}

/* v1.6.18 — contact row + stronger secondary type + tighter footer credit */
.public-page .contact-main .contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;flex-wrap:nowrap}
.public-page .contact-main .contact-links a{min-width:0;width:100%;padding:8px 9px;grid-template-columns:22px minmax(0,1fr);column-gap:7px}
.public-page .contact-main .contact-links a b{font-size:8.5px!important}
.public-page .contact-main .contact-links a .social-icon{width:22px;height:22px;border-radius:7px;font-size:13px}
/* Secondary typography: raise readability without changing headline hierarchy. */
.public-page p,.public-page .section-title p,.public-page .villa-body p,.public-page .process-grid p,.public-page .track-card p,.public-page .guest-intro,.public-page .guest-actions-note{font-size:12px!important}
.public-page .contact-card p{font-size:11px!important;line-height:1.9}
.public-page .contact-card>div:last-child>span{font-size:10px!important}
.public-page .contact-links a,.public-page .contact-direct{font-size:10px!important}
.public-page .contact-links a b{font-size:8.5px!important}
.public-page .feature-grid>div span{font-size:11.5px!important}
.public-page .villa-body .amenities span,.public-page .villa-feature-mini>span{font-size:10px!important}
.public-page .designer-footer-link{font-size:10px!important;opacity:.82;padding-bottom:3px}
.public-page footer #footerText{font-size:10px!important}
.public-page footer .footer-meta{gap:18px}
@media(max-width:700px){
 .public-page .contact-main .contact-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .public-page .contact-main .contact-links a{padding:7px 5px;grid-template-columns:18px minmax(0,1fr);column-gap:5px}
 .public-page .contact-main .contact-links a .social-icon{width:18px;height:18px;font-size:11px;border-radius:6px}
 .public-page .contact-main .contact-links a b{font-size:7.5px!important}
 .public-page .contact-links a,.public-page .contact-direct{font-size:9px!important}
 .public-page .designer-footer-link{font-size:9px!important}
 .public-page footer #footerText{font-size:9px!important}
}


/* v1.6.19 — typography, spacing, compact header and viewport-safe manual calendar */
.public-page,
.public-page *,
.public-page button,
.public-page input,
.public-page select,
.public-page textarea{
  font-family:IRANSansX,IRANSans,Tahoma,sans-serif;
}
.public-page .nav{height:64px;gap:24px}
.public-page .brand b{font-size:15px;font-weight:600}
.public-page .brand small{font-size:10px;font-weight:400}
.public-page .nav nav{font-size:11px;font-weight:400}
.public-page .ghost,.public-page .site-btn{font-weight:400}
.public-page .hero-content{padding-top:150px}
.public-page .section{padding-top:48px;padding-bottom:48px}
.public-page .experience{padding:52px 0}
.public-page .process{padding-top:48px;padding-bottom:48px}
.public-page .track{padding-bottom:50px}
.public-page .guest{padding-bottom:50px}
.public-page .public-contact-area{padding:44px 0 42px}
.public-page .feature-grid>div span{font-size:11px!important;font-weight:400!important}
.public-page .section-title p,
.public-page .villa-body p,
.public-page .process-grid p,
.public-page .track-card p,
.public-page .guest-intro,
.public-page .guest-actions-note,
.public-page .contact-card p,
.public-page .contact-card>div:last-child>span{font-size:11px!important;font-weight:400!important;line-height:1.9}
.public-page .contact-head p{font-size:11px;font-weight:400}
.public-page .contact-card h3{font-weight:600}
.public-page .villa-body .amenities span,.public-page .villa-feature-mini>span{font-size:10px;font-weight:400}
.public-page .designer-footer-link{font-size:10px!important;font-weight:400!important}
.public-page .coordinates{display:none!important}
.manual-date-popup{max-height:calc(100vh - 24px);overflow:auto}
.manual-date-popup #manualCalendar{max-height:none}

/* v1.6.20 — static reservation calendar + compact booking rhythm */
.public-page .hero-content{padding-top:128px;padding-bottom:78px}
.public-page .booking-shell{margin-top:-42px}
.public-page .booking-card{padding:0 20px 17px;border-radius:20px}
.public-page .booking-head{min-height:58px;padding:0 2px}
.public-page .booking-head h2{font-size:18px}
.public-page .mini-note{font-size:8.5px;padding:6px 9px}
.public-page .booking-grid{grid-template-columns:minmax(0,1fr) 220px;gap:10px 14px;padding-top:12px;align-items:start}
.public-page .booking-grid .villa-picker-field{grid-column:1/-1}
.public-page .calendar-field{grid-column:1;grid-row:2 / span 2;position:relative}
.public-page .calendar-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.public-page .calendar-title-row>span{margin:0;font-size:9px;font-weight:800;color:#586b61}
.public-page .calendar-title-row>strong{font-size:9px;font-weight:500;color:#557064;background:#eef3ee;border:1px solid #dde7df;border-radius:7px;padding:4px 8px}
.public-page .static-calendar{position:static!important;display:block!important;visibility:visible!important;top:auto;right:auto;width:100%;max-width:none;padding:9px 10px;border-radius:12px;box-shadow:none;border-color:#dfe5df;background:#f9faf7}
.public-page .static-calendar .cal-head{margin-bottom:6px}
.public-page .static-calendar .cal-head strong{font-size:11px;font-weight:600}
.public-page .static-calendar .cal-head button{width:28px;height:28px;border-radius:8px}
.public-page .static-calendar .week,.public-page .static-calendar .days{gap:3px}
.public-page .static-calendar .week{font-size:8px;margin-bottom:3px}
.public-page .static-calendar .days button,.public-page .static-calendar .days span{height:29px;border-radius:7px;font-size:9px}
.public-page .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:2;grid-row:2;max-width:none;justify-self:stretch}
.public-page .booking-grid>.book-now{grid-column:2;grid-row:3;max-width:none;justify-self:stretch;height:44px;min-height:44px}
.public-page .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control{height:44px;min-height:44px}
.public-page .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control button{height:34px}
.public-page .summary{grid-column:1/-1;margin-top:0}
.public-page .booking-card .villa-picker{gap:7px}
.public-page .booking-card .villa-choice{min-height:58px!important;padding:7px 9px!important}
.public-page .booking-card .villa-choice-photo{width:39px;height:39px}
.public-page .booking-card .villa-choice-copy b{font-size:10.5px!important}
.public-page .booking-card .villa-choice-copy small{font-size:7px!important}
.public-page .contact-main .contact-card-icon{width:38px;height:38px;border-radius:11px}
.public-page .contact-main>div:last-child{min-width:0}
.public-page .contact-main h3{margin-bottom:4px}
.public-page .contact-main p{margin:0 0 8px;max-width:520px}
.public-page .contact-main .contact-links{margin-top:7px}
.public-page .contact-main .contact-links a{min-height:42px;padding:6px 7px}
.public-page .contact-main .contact-links a span:not(.social-icon){line-height:1.25}
.public-page .contact-main .contact-links a b{line-height:1.25}
.public-page .public-contact-area{padding-top:38px;padding-bottom:36px}
.public-page .section{padding-top:42px;padding-bottom:42px}
.public-page .experience{padding:46px 0}
.public-page .process{padding-top:42px;padding-bottom:42px}
.public-page .track{padding-bottom:44px}
.public-page .guest{padding-bottom:44px}
.public-page footer .footer-inner{min-height:66px}

@media(max-width:950px){
 .public-page .hero-content{padding-top:120px;padding-bottom:70px}
 .public-page .booking-shell{margin-top:-34px}
 .public-page .booking-grid{grid-template-columns:minmax(0,1fr) 190px}
}
@media(max-width:700px){
 .public-page .hero-content{padding-top:105px;padding-bottom:54px}
 .public-page .booking-shell{margin-top:-18px}
 .public-page .booking-card{padding:0 14px 14px;border-radius:17px}
 .public-page .booking-head{min-height:54px}
 .public-page .booking-head>div:first-child{gap:8px}
 .public-page .booking-head h2{font-size:16px}
 .public-page .mini-note{display:none}
 .public-page .booking-grid{grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}
 .public-page .booking-grid .villa-picker-field{grid-column:1/-1}
 .public-page .calendar-field{grid-column:1/-1;grid-row:auto}
 .public-page .static-calendar{padding:8px}
 .public-page .static-calendar .days button,.public-page .static-calendar .days span{height:31px}
 .public-page .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:1;grid-row:auto}
 .public-page .booking-grid>.book-now{grid-column:2;grid-row:auto;height:44px;min-height:44px}
 .public-page .summary{grid-column:1/-1}
 .public-page .public-contact-area{padding-top:34px;padding-bottom:32px}
 .public-page .section{padding-top:36px;padding-bottom:36px}
 .public-page .experience{padding:40px 0}
 .public-page .process{padding-top:36px;padding-bottom:36px}
 .public-page .track{padding-bottom:38px}
 .public-page .guest{padding-bottom:38px}
}

/* v1.6.21 — reservation card redesign: larger static calendar, balanced controls */
.public-page #booking .booking-card{padding:0 24px 20px;border-radius:22px}
.public-page #booking .booking-head{min-height:64px;margin-bottom:0;padding:0 2px;align-items:center;border-bottom:1px solid #e6ebe5}
.public-page #booking .booking-head h2{font-size:19px;font-weight:600;margin-top:4px}
.public-page #booking .mini-note{font-size:9px;padding:7px 11px;border:1px solid #e0e7df;border-radius:9px;background:#f5f8f3;color:#607269}
.public-page #booking .booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px 18px;padding-top:15px;align-items:stretch}
.public-page #booking .booking-grid .villa-picker-field{grid-column:1/-1;grid-row:1}
.public-page #booking .booking-grid .villa-picker-field>span{font-size:10px;margin-bottom:6px}
.public-page #booking .booking-grid .villa-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.public-page #booking .booking-grid .villa-choice{min-height:62px!important;padding:8px 10px!important;border-radius:12px!important}
.public-page #booking .booking-grid .villa-choice-photo{width:42px;height:42px}
.public-page #booking .booking-grid .villa-choice-copy b{font-size:11px!important;font-weight:500!important}
.public-page #booking .booking-grid .villa-choice-copy small{font-size:7.5px!important;font-weight:400!important}
.public-page #booking .booking-grid .calendar-field{grid-column:1;grid-row:2 / span 2;min-width:0;padding:0}
.public-page #booking .calendar-title-row{margin-bottom:8px}
.public-page #booking .calendar-title-row>span{font-size:10px;font-weight:600;color:#486055}
.public-page #booking .calendar-title-row>strong{font-size:10px;font-weight:400;padding:5px 9px;border-radius:8px}
.public-page #booking .static-calendar{width:100%;min-height:0;box-sizing:border-box;padding:14px 15px;border-radius:15px;border:1px solid #d9e1d9;background:#fbfcf9;box-shadow:0 5px 18px rgba(25,53,42,.035)}
.public-page #booking .static-calendar .cal-head{margin-bottom:10px}
.public-page #booking .static-calendar .cal-head strong{font-size:13px;font-weight:600;color:#244437}
.public-page #booking .static-calendar .cal-head button{width:34px;height:34px;border-radius:9px;background:#edf3ed;color:#285540;font-size:20px;line-height:1}
.public-page #booking .static-calendar .week{gap:5px;margin-bottom:5px;font-size:9px;color:#7b8981}
.public-page #booking .static-calendar .days{gap:5px}
.public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:40px;border-radius:9px;font-size:10px;font-weight:400}
.public-page #booking .static-calendar .days button:hover{background:#e5eee7;color:#18533b}
.public-page #booking .static-calendar .days button.sel{background:#18533b;color:#fff;box-shadow:0 3px 8px rgba(24,83,59,.18)}
.public-page #booking .static-calendar .days button:disabled{color:#c5ccc7;background:#f3f5f2}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:2;grid-row:2;align-self:start;max-width:none;width:100%;padding:0}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>span{font-size:10px;font-weight:600;margin-bottom:7px;color:#486055}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control{height:52px;min-height:52px;border-radius:12px;background:#f8faf7;border-color:#d5ded6;padding:6px}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control button{width:39px;height:38px;border-radius:9px;background:#e6eee8;font-size:19px;font-weight:600}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control strong{font-size:16px;font-weight:500}
.public-page #booking .booking-grid>.book-now{grid-column:2;grid-row:3;align-self:end;max-width:none;width:100%;height:50px;min-height:50px;border-radius:12px;font-size:11px;font-weight:500}
.public-page #booking .summary{grid-column:1/-1;grid-row:4;margin-top:0}

@media(max-width:950px){
 .public-page #booking .booking-grid{grid-template-columns:minmax(0,1fr) 220px}
 .public-page #booking .booking-grid .villa-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:38px}
}
@media(max-width:700px){
 .public-page #booking .booking-card{padding:0 14px 15px;border-radius:18px}
 .public-page #booking .booking-head{min-height:55px}
 .public-page #booking .booking-head h2{font-size:17px}
 .public-page #booking .booking-grid{grid-template-columns:1fr 1fr;gap:9px;padding-top:11px}
 .public-page #booking .booking-grid .villa-picker-field{grid-column:1/-1;grid-row:1}
 .public-page #booking .booking-grid .villa-picker{grid-template-columns:1fr 1fr}
 .public-page #booking .booking-grid .calendar-field{grid-column:1/-1;grid-row:2}
 .public-page #booking .static-calendar{padding:11px 10px;border-radius:13px}
 .public-page #booking .static-calendar .cal-head strong{font-size:12px}
 .public-page #booking .static-calendar .cal-head button{width:31px;height:31px}
 .public-page #booking .static-calendar .week{gap:3px;font-size:8px}
 .public-page #booking .static-calendar .days{gap:4px}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:38px;font-size:10px}
 .public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:1;grid-row:3;align-self:stretch}
 .public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control{height:46px;min-height:46px}
 .public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>.night-control button{height:34px;width:35px}
 .public-page #booking .booking-grid>.book-now{grid-column:2;grid-row:3;height:46px;min-height:46px;align-self:end}
 .public-page #booking .summary{grid-column:1/-1;grid-row:4}
 .public-page #booking .mini-note{display:none}
}
@media(max-width:420px){
 .public-page #booking .booking-grid .villa-picker{grid-template-columns:1fr}
 .public-page #booking .booking-grid .villa-choice{min-height:56px!important}
 .public-page #booking .static-calendar{padding:9px 7px}
 .public-page #booking .static-calendar .days{gap:3px}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:36px}
}

/* =========================================================
   Deniz Villa v1.6.22 — complete reservation redesign
   Replaces the accumulated booking-layout overrides with one
   coherent responsive composition. Functional markup unchanged.
   ========================================================= */
.public-page #booking.booking-shell{width:min(1180px,calc(100% - 40px));margin:-58px auto 0;position:relative;z-index:20}
.public-page #booking .booking-card{position:relative;overflow:hidden;padding:0 26px 24px;border:1px solid #dfe6df;border-radius:28px;background:#fff;box-shadow:0 22px 60px rgba(20,55,38,.12)}
.public-page #booking .booking-card:before{height:4px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,#1d6046 0%,#b89a55 50%,#1d6046 100%)}
.public-page #booking .booking-head{min-height:84px;padding:0;border-bottom:1px solid #edf0eb;display:flex;align-items:center;justify-content:space-between;gap:20px}
.public-page #booking .booking-head>div:first-child{display:flex;align-items:center;gap:15px}
.public-page #booking .booking-head .eyebrow.dark{margin:0;color:#6c7d73;font-size:10px;font-weight:500;letter-spacing:0}
.public-page #booking .booking-head h2{margin:0;color:#18261f;font-size:23px;font-weight:500;letter-spacing:-.45px}
.public-page #booking .mini-note{font-size:10px;font-weight:500;color:#687970;background:#f5f7f3;border:1px solid #e4e9e2;border-radius:11px;padding:9px 12px}

.public-page #booking .booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-areas:"villas villas" "calendar side";gap:0 22px;align-items:stretch;padding-top:20px}
.public-page #booking .villa-picker-field{grid-area:villas;display:block}
.public-page #booking .villa-picker-field>span,
.public-page #booking .calendar-title-row>span,
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>span{font-size:10px;font-weight:500;color:#607168;margin:0 0 9px}
.public-page #booking .villa-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.public-page #booking .villa-choice{min-width:0!important;min-height:68px!important;height:68px!important;padding:9px 11px!important;border:1px solid #dce4dc!important;border-radius:13px!important;background:#fafbf9!important;box-shadow:none!important;transform:none!important}
.public-page #booking .villa-choice:hover{border-color:#afc1b3!important;background:#f7faf7!important}
.public-page #booking .villa-choice.active{border-color:#5d806b!important;background:#f0f6f0!important;box-shadow:inset 0 0 0 1px #d5e3d8!important}
.public-page #booking .villa-choice-photo{width:46px;height:46px;border-radius:10px}
.public-page #booking .villa-choice-copy b{font-size:11.5px!important;font-weight:500!important;color:#24352c!important}
.public-page #booking .villa-choice-copy small{font-size:8px!important;font-weight:400!important;color:#7a8981!important}
.public-page #booking .villa-choice>i{width:20px;height:20px;background:#dfe9e1;color:#537360}
.public-page #booking .villa-choice.active>i{background:#52765f;color:#fff}

.public-page #booking .calendar-field{grid-area:calendar;position:relative;margin-top:18px;padding:17px 18px 18px;border:1px solid #e0e6df;border-radius:18px;background:#fbfcfa;min-width:0}
.public-page #booking .calendar-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.public-page #booking .calendar-title-row>span{margin:0;font-size:11px;font-weight:500;color:#43584c}
.public-page #booking .calendar-title-row>strong{font-size:10px;font-weight:400;color:#567060;background:#eef4ef;border:1px solid #dce8df;border-radius:8px;padding:6px 10px;white-space:nowrap}
.public-page #booking .static-calendar{position:static!important;display:block!important;visibility:visible!important;transform:none!important;top:auto!important;right:auto!important;left:auto!important;width:100%!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.public-page #booking .static-calendar .cal-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin:0 0 11px}
.public-page #booking .static-calendar .cal-head strong{font-size:15px;font-weight:500;color:#26382e;text-align:center}
.public-page #booking .static-calendar .cal-head button{width:38px;height:34px;border:1px solid #dce5dd;border-radius:9px;background:#fff;color:#557260;font-size:20px;line-height:1;cursor:pointer}
.public-page #booking .static-calendar .cal-head button:hover{background:#f1f5f1;border-color:#b9cbbd}
.public-page #booking .static-calendar .week,.public-page #booking .static-calendar .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.public-page #booking .static-calendar .week{margin-bottom:5px}
.public-page #booking .static-calendar .week b{text-align:center;font-size:9px;font-weight:500;color:#8a968f;padding:3px 0}
.public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{width:100%;height:39px;border-radius:9px;display:grid;place-items:center;font-family:inherit;font-size:11px;font-weight:400;box-sizing:border-box}
.public-page #booking .static-calendar .days button{border:1px solid transparent;background:#fff;color:#31443a;cursor:pointer}
.public-page #booking .static-calendar .days button:hover{border-color:#a9bfaf;background:#f2f7f2}
.public-page #booking .static-calendar .days button:disabled{background:#f3f4f2;color:#c3c9c4;cursor:not-allowed}
.public-page #booking .static-calendar .days button.sel{background:#356a4e;color:#fff;border-color:#356a4e;box-shadow:0 4px 10px rgba(43,91,67,.18)}
.public-page #booking .static-calendar .days .cal-empty{background:transparent;color:transparent}

.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field),
.public-page #booking .booking-grid>.book-now{grid-area:auto}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:2;grid-row:2;margin-top:18px;align-self:start;padding:17px 18px;border:1px solid #e0e6df;border-radius:18px;background:#fff}
.public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>span{display:block;margin-bottom:10px;font-size:11px}
.public-page #booking .night-control{height:58px;min-height:58px;padding:5px;border:1px solid #dce4dc;border-radius:12px;background:#f8faf7;display:flex;align-items:center}
.public-page #booking .night-control button{width:44px;height:44px;border:1px solid #dce4dc;border-radius:10px;background:#fff;color:#356a4e;font-size:23px;font-weight:400;box-shadow:none}
.public-page #booking .night-control button:hover{background:#f0f5f0}
.public-page #booking .night-control strong{font-size:16px;font-weight:500;color:#26382e}
.public-page #booking .booking-grid>.book-now{grid-column:2;grid-row:3;width:100%;height:54px;min-height:54px;margin:12px 0 0;border-radius:12px;background:#285f46;color:#fff;font-size:12px;font-weight:500;box-shadow:0 9px 20px rgba(40,95,70,.16)}
.public-page #booking .booking-grid>.book-now:hover{background:#214f3b;transform:translateY(-1px)}
.public-page #booking .booking-grid>.book-now span{font-size:16px;margin-right:7px}

.public-page #booking .summary{grid-column:1/-1;margin-top:18px;display:grid;grid-template-columns:1.35fr 1fr .7fr 1fr;gap:1px;padding:0;background:#dfe6df;border:1px solid #dfe6df;border-radius:13px;overflow:hidden}
.public-page #booking .summary div{min-height:57px;padding:10px 13px;background:#f5f7f3;display:flex;flex-direction:column;justify-content:center}
.public-page #booking .summary span{font-size:8.5px;font-weight:400;color:#7a8981}
.public-page #booking .summary b{font-size:10.5px;font-weight:500;color:#27392f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:950px){
 .public-page #booking .booking-grid{grid-template-columns:minmax(0,1fr) 280px;gap:0 16px}
 .public-page #booking .villa-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-page #booking .villa-choice{height:64px!important;min-height:64px!important}
 .public-page #booking .villa-choice-photo{width:42px;height:42px}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:37px}
}
@media(max-width:700px){
 .public-page #booking.booking-shell{width:calc(100% - 24px);margin:-34px auto 0}
 .public-page #booking .booking-card{padding:0 14px 16px;border-radius:21px}
 .public-page #booking .booking-head{min-height:72px;align-items:center}
 .public-page #booking .booking-head>div:first-child{display:block}
 .public-page #booking .booking-head .eyebrow.dark{display:block;margin-bottom:4px;font-size:9px}
 .public-page #booking .booking-head h2{font-size:18px;letter-spacing:-.25px}
 .public-page #booking .mini-note{display:none}
 .public-page #booking .booking-grid{grid-template-columns:1fr 1fr;grid-template-areas:"villas villas" "calendar calendar" "nights action";gap:0 8px;padding-top:14px}
 .public-page #booking .villa-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .public-page #booking .villa-choice{height:61px!important;min-height:61px!important;padding:7px!important;border-radius:11px!important}
 .public-page #booking .villa-choice-photo{width:38px;height:38px}
 .public-page #booking .villa-choice-copy b{font-size:10px!important}
 .public-page #booking .villa-choice-copy small{font-size:7px!important}
 .public-page #booking .calendar-field{grid-area:calendar;margin-top:12px;padding:13px 11px 14px;border-radius:15px}
 .public-page #booking .calendar-title-row{margin-bottom:10px}
 .public-page #booking .calendar-title-row>span{font-size:10px}
 .public-page #booking .calendar-title-row>strong{font-size:9px;padding:5px 8px}
 .public-page #booking .static-calendar .cal-head{grid-template-columns:34px 1fr 34px;margin-bottom:9px}
 .public-page #booking .static-calendar .cal-head button{width:34px;height:31px}
 .public-page #booking .static-calendar .cal-head strong{font-size:13px}
 .public-page #booking .static-calendar .week,.public-page #booking .static-calendar .days{gap:3px}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:37px;border-radius:8px;font-size:10px}
 .public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field){grid-column:1;grid-row:3;margin-top:9px;padding:12px;border-radius:13px}
 .public-page #booking .booking-grid>.field:not(.villa-picker-field):not(.calendar-field)>span{font-size:9px;margin-bottom:7px}
 .public-page #booking .night-control{height:48px;min-height:48px}
 .public-page #booking .night-control button{width:36px;height:36px;font-size:20px}
 .public-page #booking .booking-grid>.book-now{grid-column:2;grid-row:3;height:48px;min-height:48px;margin:9px 0 0;font-size:10px;border-radius:13px}
 .public-page #booking .summary{margin-top:10px;grid-template-columns:repeat(2,1fr);border-radius:12px}
 .public-page #booking .summary div{min-height:49px;padding:8px 9px}
 .public-page #booking .summary span{font-size:7.5px}
 .public-page #booking .summary b{font-size:9px}
}
@media(max-width:390px){
 .public-page #booking .villa-picker{grid-template-columns:1fr}
 .public-page #booking .villa-choice{height:58px!important;min-height:58px!important}
 .public-page #booking .static-calendar .days button,.public-page #booking .static-calendar .days span{height:35px}
 .public-page #booking .static-calendar .week b{font-size:8px}
}
/* v1.6.23 reservation admin coupon panel */
.coupon-box{min-height:100%}.coupon-message{line-height:1.7}.admin-row .row-actions{display:flex;gap:6px;flex-wrap:wrap}

/* v1.6.30/31 — admin visual consistency, villa controls, guides, Jalali coupons, and manual reservation wizard */
.admin-page .panel,
.admin-page .stats .stat,
.admin-page .villa-admin,
.admin-page .admin-row,
.admin-page .list-item,
.admin-page .gallery-editor,
.admin-page .sms-template-box,
.admin-page .content-group,
.admin-page .night-control,
.admin-page .capacity-box,
.admin-page .choice-card,
.admin-page .admin-date-popup,
.admin-page .manual-date-row .date-input,
.admin-page .form-grid input,
.admin-page .form-grid select,
.admin-page .form-grid textarea,
.admin-page .search,
.admin-page .toggle {
  border-color:#b6cfbd!important;
}
.admin-page .panel{box-shadow:0 7px 24px rgba(21,54,39,.045)}
.admin-page .panel-head,.admin-page .gallery-editor-head,.admin-page .sms-template-head{border-color:#b6cfbd}
.admin-page .toggle{display:inline-flex!important;align-items:center!important;gap:7px!important;width:max-content!important;min-height:32px!important;padding:5px 9px!important;border:1px solid #b6cfbd!important;border-radius:9px!important;background:#f4f8f4!important;color:#365747!important;line-height:1!important}
.admin-page .toggle input{appearance:none!important;-webkit-appearance:none!important;width:32px!important;height:18px!important;min-width:32px!important;border:0!important;border-radius:999px!important;background:#c9d4cc!important;position:relative!important;cursor:pointer!important;margin:0!important;box-shadow:none!important}
.admin-page .toggle input::after{content:"";position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:.16s}
.admin-page .toggle input:checked{background:#3f8966!important}
.admin-page .toggle input:checked::after{right:17px}
.admin-page .villa-admin{grid-template-columns:48px minmax(0,1fr) auto auto!important}
.admin-page .villa-admin .danger{background:#fff0f0;color:#a24f4f;border:1px solid #e7caca!important;cursor:pointer}
.admin-page .villa-admin .danger:hover{background:#fbe4e4}
.admin-page .villa-admin .small-btn,.admin-page .villa-admin .danger{min-height:31px;padding:6px 9px!important}
.admin-page .form-grid>.toggle{align-self:center}
.admin-page .tabpane{border-top:1px solid #b6cfbd}
.admin-page .tabs{border-color:#b6cfbd}
.admin-page .tab.active{box-shadow:inset 0 -2px 0 #a9cbb5,0 6px 14px rgba(22,76,54,.15)}
.trust-link{display:block;text-decoration:none;color:inherit;flex:0 0 auto}
.public-page .trust-card{border-color:#b6cfbd!important}
.public-page .trust-mark{border-color:#7fa48d!important;cursor:pointer;transition:.16s}
.public-page .trust-link:hover .trust-mark{border-color:#2d7655!important;transform:translateY(-1px);box-shadow:0 5px 16px rgba(32,92,64,.12)}
.reservation-calendar button[aria-selected="true"]{background:#1f7a55;color:#fff;border-color:#1f7a55}
.reservation-calendar button.unavailable[aria-selected="true"],.reservation-calendar button.past[aria-selected="true"]{background:repeating-linear-gradient(135deg,#eef2ef 0,#eef2ef 6px,#d9e1db 6px,#d9e1db 8px)!important;color:#9da69f!important;border-color:#aebfb3!important}
@media(max-width:650px){.admin-page .toggle{width:100%!important;justify-content:space-between}.admin-page .villa-admin{grid-template-columns:44px minmax(0,1fr)!important}.admin-page .villa-admin .small-btn,.admin-page .villa-admin .danger{grid-column:2}}

/* v1.6.31 — admin guides, tabs, and manual reservation wizard */
.admin-page .tabs{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.admin-page .tab{border:1.5px solid #8fb69f!important;background:#fff!important;border-radius:10px!important;box-shadow:none!important}
.admin-page .tab.active{border-color:#2f7d59!important;box-shadow:inset 0 -2px 0 #2f7d59!important;background:#f4faf6!important}
.admin-page .tabpane{border-top:0!important}.admin-page .panel-head{border:0!important}
.villa-field-guide{border:1px solid #b6cfbd;border-radius:11px;background:#f5f9f5;padding:11px}.villa-field-guide>b{display:block;color:#285f45;font-size:11px;margin-bottom:8px}.villa-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.villa-guide-grid span{font-size:9px;line-height:1.8;color:#66776d;background:#fff;border:1px solid #d7e4da;border-radius:8px;padding:6px}.villa-guide-grid strong{color:#315c46}
.manual-steps{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;align-items:center;gap:5px;margin:0 0 14px}.manual-step{border:1.5px solid #8fb69f;border-radius:10px;background:#fff;padding:8px;text-align:center;color:#66776d}.manual-step b{display:block;font-size:14px}.manual-step span{font-size:9px}.manual-step.active{border-color:#2f7d59;background:#f3faf5;color:#245c43}.manual-step.done{border-color:#5c9978}.manual-steps>i{height:1px;background:#b6cfbd}.manual-stage{border:1px solid #b6cfbd;border-radius:13px;padding:14px;background:#fff}.manual-stage .step-heading{margin-bottom:12px}.manual-stage .step-heading span{font-size:8px;color:#5d8a72}.manual-stage .step-heading h3{margin:3px 0;font-size:15px}.manual-villa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-stay-layout,.manual-guest-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:12px}.manual-calendar-card,.manual-stay-side{border:1px solid #b6cfbd;border-radius:11px;padding:11px}.manual-res-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.manual-res-calendar button{height:38px;border:1px solid #b8d0bf;border-radius:8px;background:#f2f8f3;color:#255d44}.manual-res-calendar button.selected{background:#1f7a55;color:#fff;border-color:#1f7a55}.manual-res-calendar button.unavailable{background:repeating-linear-gradient(135deg,#eef2ef 0,#eef2ef 6px,#d9e1db 6px,#d9e1db 8px)!important;color:#9da69f!important;cursor:not-allowed}.manual-res-calendar .empty{border-color:transparent;background:transparent}.manual-guest-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manual-guest-fields>.full-field{grid-column:1/-1}.manual-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.manual-actions.split{justify-content:space-between}.manual-stage .rules-box{height:100%}.field-error{border-color:#c36d6d!important}.shake{animation:fieldShake .45s ease}@keyframes fieldShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.field-required-msg{display:block;color:#b34d4d!important;font-size:10px!important;margin-top:5px}.admin-page .coupon-jalali{cursor:pointer;background:#fff}
@media(max-width:800px){.manual-steps{grid-template-columns:repeat(2,1fr)}.manual-steps>i{display:none}.manual-stay-layout,.manual-guest-layout{grid-template-columns:1fr}.manual-guest-fields{grid-template-columns:1fr}.villa-guide-grid{grid-template-columns:1fr}.manual-villa-grid{grid-template-columns:1fr}}
/* v1.6.32 — admin tabs, villa field guidance and Jalali picker */
.admin-page .tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.admin-page .tab{height:40px!important;padding:0 10px!important;border:1.5px solid #74a88a!important;border-radius:10px!important;background:#fff!important;color:#285b43!important;font-weight:600!important;box-shadow:none!important}
.admin-page .tab:hover{background:#f3f9f4!important;color:#1f6d4b!important}
.admin-page .tab.active{background:#1f6f4e!important;color:#fff!important;border-color:#1f6f4e!important;box-shadow:0 5px 14px rgba(31,111,78,.16)!important}
.admin-page .tab.active::after{display:none!important}
.admin-page .tabpane{border-top:0!important}
.admin-page .admin-field{display:grid;gap:4px;align-content:start}
.admin-page .admin-field.full{grid-column:1/-1}
.admin-page .field-label{display:block;font-size:10px;font-weight:600;color:#2e5e48;line-height:1.6}
.admin-page .field-help{display:block;font-size:8px;font-weight:400;color:#7b8981;line-height:1.7;margin:0 2px 1px}
.admin-page .admin-field>.toggle{margin-top:3px}
.admin-page .villa-field-guide{display:none!important}
.admin-page .admin-date-popup{width:310px;padding:10px;border:1.5px solid #74a88a;background:#fff;border-radius:15px;box-shadow:0 22px 60px rgba(16,45,32,.16)}
.admin-page .admin-date-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.admin-page .admin-date-head strong{font-size:11px;color:#285b43}
.admin-page .admin-date-head button{width:30px;height:30px;border:1px solid #b8cfbf;border-radius:8px;background:#f5faf6;color:#2a694b;font-size:18px;cursor:pointer}
.admin-page .admin-date-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;text-align:center;color:#7b8981;font-size:8px}
.admin-page .admin-date-popup .days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.admin-page .admin-date-popup .days button{min-height:34px;border:1px solid #c4d8c9;border-radius:8px;background:#f7faf7;color:#315e49;cursor:pointer;font-size:10px}
.admin-page .admin-date-popup .days button:hover{background:#e6f2e9;border-color:#4d906b}
.admin-page .admin-date-popup .days button.sel{background:#1f6f4e!important;color:#fff!important;border-color:#1f6f4e!important}
.admin-page .admin-date-popup .cal-empty{min-height:34px}
@media(max-width:1000px){.admin-page .tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:650px){.admin-page .tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-page .tab{height:37px!important;font-size:9px!important}.admin-page .admin-date-popup{width:min(310px,calc(100vw - 24px))}}

/* v1.6.36 — unified green public footer + reservation header */
.site-footer{background:var(--site-footer-bg,#103c2b)!important;color:#dcefe5!important;border-top:1px solid rgba(255,255,255,.08)}
.site-footer .footer-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}
.site-footer .brand b{color:#fff}.site-footer .brand small{color:#b9d4c5}.site-footer .footer-meta{display:flex;align-items:center;gap:18px;min-width:0}.site-footer .footer-meta>span{color:#d5e8dd;font-size:10px}.site-footer .designer-footer-link{color:#f0f7f3;font-size:10px;text-decoration:none;white-space:nowrap}.site-footer .designer-footer-link:hover{text-decoration:underline}
.reservation-nav-actions{display:flex;align-items:center;gap:9px;margin-right:auto}.reservation-admin-link{font-size:10px!important;padding:9px 13px!important}
@media(max-width:700px){.site-footer .footer-inner{min-height:56px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:7px;text-align:right;padding:9px 8px;overflow:hidden}.site-footer .brand{flex:0 0 auto;min-width:0;display:flex;align-items:center;gap:5px;white-space:nowrap}.site-footer .brand b{font-size:10px;white-space:nowrap}.site-footer .brand small{font-size:7.5px;white-space:nowrap}.site-footer .brand .brand-mark{width:27px;height:27px;font-size:9px;flex:0 0 27px}.site-footer .footer-meta{display:flex;flex:1 1 auto;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;white-space:nowrap;overflow:hidden}.site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:8px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:clip}.site-footer .designer-footer-link{flex:0 0 auto}.site-footer .footer-meta>span{min-width:0;overflow:visible}.admin-site-footer{margin-top:0}.reservation-nav-actions{gap:6px}.reservation-admin-link{padding:8px 10px!important}.reservation-top .back-home{font-size:9px!important}}@media(max-width:380px){.site-footer .footer-inner{gap:4px;padding-inline:6px}.site-footer .brand{gap:3px}.site-footer .brand b{font-size:9px}.site-footer .brand small{font-size:7px}.site-footer .brand .brand-mark{width:24px;height:24px;flex-basis:24px;font-size:8px}.site-footer .footer-meta{gap:4px}.site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:7px}}

/* v1.6.36 — single-calendar multi-day admin blocking */
.block-range-input{cursor:pointer}.block-range-hint{grid-column:1/-1;margin-top:-4px;color:#46745d;font-size:10px;line-height:1.8}.admin-date-popup .days button.range{background:#e4f1e8;border-color:#b8d3c2;color:#245e45;border-radius:0}.admin-date-popup .days button.range-start{border-radius:0 9px 9px 0}.admin-date-popup .days button.range-end{border-radius:9px 0 0 9px;background:#1f6f52;color:#fff;border-color:#1f6f52}.admin-date-popup .admin-picker-note{padding:8px 10px;border-top:1px solid #e5ebe5;color:#607269;font-size:9px;text-align:center;background:#fafcf9}
@media(max-width:700px){.admin-date-popup{max-width:calc(100vw - 24px);right:12px!important;left:12px!important}.admin-date-popup .days{gap:4px}.admin-date-popup .days button{min-height:38px}}


/* v1.6.41 — footer/header logo + footer alignment */
.top .brand-mark, .admin-nav .brand-mark, .site-footer .brand-mark{
  border:1px solid #d9b85f!important;
  color:#d9b85f!important;
  background:transparent!important;
  box-shadow:inset 0 0 0 1px rgba(217,184,95,.12), 0 0 0 1px rgba(217,184,95,.08)!important;
  font-weight:700!important;
}
.site-footer .footer-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:24px!important;
}
.site-footer .footer-inner>.brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
.site-footer .footer-inner>.brand>span:last-child{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}
.site-footer .footer-inner .brand b{white-space:nowrap!important}
.site-footer .footer-inner .brand small{white-space:nowrap!important}
.site-footer .footer-meta{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  white-space:nowrap!important;
  margin-right:auto!important;
}
.site-footer .footer-meta>span,.site-footer .designer-footer-link{white-space:nowrap!important}
@media(max-width:700px){
 .site-footer .footer-inner{gap:9px!important;padding-inline:7px!important}
 .site-footer .footer-inner>.brand{gap:5px!important}
 .site-footer .footer-inner>.brand .brand-mark{display:grid!important;width:27px!important;height:27px!important;flex:0 0 27px!important;font-size:10px!important;border-radius:9px!important}
 .site-footer .footer-inner>.brand>span:last-child{gap:2px!important}
 .site-footer .footer-inner .brand b{font-size:9px!important}
 .site-footer .footer-inner .brand small{font-size:6.7px!important}
 .site-footer .footer-meta{gap:6px!important;margin-right:auto!important}
 .site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:6.4px!important}
}
@media(max-width:430px){
 .site-footer .footer-inner{gap:6px!important}
 .site-footer .footer-inner>.brand .brand-mark{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:9px!important;border-radius:8px!important}
 .site-footer .footer-inner .brand b{font-size:8px!important}
 .site-footer .footer-inner .brand small{font-size:5.9px!important}
 .site-footer .footer-meta{gap:4px!important}
 .site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:5.6px!important}
}

/* v1.6.42 — definitive footer alignment: subtitle under brand, meta row aligned to subtitle */
.site-footer .footer-inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:end!important;
  justify-content:initial!important;
  gap:28px!important;
  flex-wrap:nowrap!important;
}
.site-footer .footer-inner>.brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.site-footer .footer-inner>.brand>span:last-child{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:3px!important;
  white-space:nowrap!important;
}
.site-footer .footer-inner .brand b,
.site-footer .footer-inner .brand small{white-space:nowrap!important}
.site-footer .footer-meta{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  min-width:0!important;
  margin:0!important;
  padding-bottom:1px!important;
  white-space:nowrap!important;
}
.site-footer .footer-meta>span,
.site-footer .designer-footer-link{white-space:nowrap!important}
@media(max-width:700px){
 .site-footer .footer-inner{grid-template-columns:auto minmax(0,1fr)!important;gap:8px!important;padding-inline:7px!important;align-items:end!important}
 .site-footer .footer-inner>.brand{gap:5px!important}
 .site-footer .footer-inner>.brand .brand-mark{display:grid!important;width:25px!important;height:25px!important;flex:0 0 25px!important;font-size:9px!important}
 .site-footer .footer-inner .brand b{font-size:8.5px!important}
 .site-footer .footer-inner .brand small{font-size:6px!important}
 .site-footer .footer-meta{gap:5px!important;padding-bottom:0!important;overflow:visible!important}
 .site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:5.8px!important;line-height:1!important}
}
@media(max-width:430px){
 .site-footer .footer-inner{gap:5px!important;padding-inline:5px!important}
 .site-footer .footer-inner>.brand .brand-mark{width:24px!important;height:24px!important;flex-basis:24px!important}
 .site-footer .footer-inner .brand b{font-size:8px!important}
 .site-footer .footer-inner .brand small{font-size:5.8px!important}
 .site-footer .footer-meta{gap:4px!important}
 .site-footer .footer-meta>span,.site-footer .designer-footer-link{font-size:5.5px!important}
}

/* v1.6.44 — footer rebuilt as two exact columns with a shared baseline */
.site-footer .footer-inner{
  direction:rtl!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-areas:"brand meta"!important;
  align-items:end!important;
  column-gap:56px!important;
  width:100%!important;
}
.site-footer .footer-brand-block{
  grid-area:brand!important;
  justify-self:start!important;
  align-self:end!important;
  min-width:max-content!important;
}
.site-footer .footer-brand-block .brand{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  text-align:right!important;
}
.site-footer .footer-brand-block .brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:3px!important;
  min-width:max-content!important;
}
.site-footer .footer-brand-block .brand b,
.site-footer .footer-brand-block .brand small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
.site-footer .footer-meta{
  grid-area:meta!important;
  justify-self:end!important;
  align-self:end!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:16px!important;
  margin:0 0 1px!important;
  padding:0!important;
  min-width:0!important;
  white-space:nowrap!important;
  direction:rtl!important;
}
.site-footer .footer-meta>span,
.site-footer .footer-meta>i,
.site-footer .footer-meta>.designer-footer-link{
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
.site-footer .footer-meta>i{font-style:normal!important;opacity:.5!important}
@media(max-width:700px){
 .site-footer .footer-inner{grid-template-columns:auto 1fr!important;column-gap:14px!important;padding-inline:6px!important}
 .site-footer .footer-brand-block .brand{gap:5px!important}
 .site-footer .footer-brand-block .brand-mark{width:25px!important;height:25px!important;flex:0 0 25px!important;font-size:9px!important}
 .site-footer .footer-brand-block .brand b{font-size:8.5px!important}
 .site-footer .footer-brand-block .brand small{font-size:6px!important}
 .site-footer .footer-meta{gap:7px!important;margin-bottom:0!important}
 .site-footer .footer-meta>span,.site-footer .footer-meta>i,.site-footer .footer-meta>.designer-footer-link{font-size:5.8px!important}
}
@media(max-width:430px){
 .site-footer .footer-inner{column-gap:8px!important;padding-inline:4px!important}
 .site-footer .footer-brand-block .brand-mark{width:23px!important;height:23px!important;flex-basis:23px!important}
 .site-footer .footer-brand-block .brand b{font-size:8px!important}
 .site-footer .footer-brand-block .brand small{font-size:5.7px!important}
 .site-footer .footer-meta{gap:5px!important}
 .site-footer .footer-meta>span,.site-footer .footer-meta>i,.site-footer .footer-meta>.designer-footer-link{font-size:5.4px!important}
}

/* v1.6.46 — exact header/footer shared alignment axis */
.site-footer .footer-inner{
  width:min(1160px,calc(100% - 48px))!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.public-page .site-footer .footer-inner{
  width:min(1180px,calc(100% - 56px))!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.admin-page .site-footer .footer-inner{
  width:min(1160px,calc(100% - 48px))!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
@media(max-width:900px){
  .site-footer .footer-inner{width:min(100% - 32px,700px)!important}
  .public-page .site-footer .footer-inner{width:min(100% - 32px,700px)!important}
  .admin-page .site-footer .footer-inner{width:min(100% - 32px,700px)!important}
}
@media(max-width:650px){
  .site-footer .footer-inner{width:calc(100% - 24px)!important}
  .public-page .site-footer .footer-inner{width:calc(100% - 24px)!important}
  .admin-page .site-footer .footer-inner{width:calc(100% - 24px)!important}
}
@media(max-width:600px){
  .site-footer .footer-inner{width:94%!important}
  .public-page .site-footer .footer-inner{width:min(94%,1180px)!important}
  .admin-page .site-footer .footer-inner{width:94%!important}
}

/* v1.6.48 — authoritative header/footer typography sync
   Footer brand typography now exactly follows the public header brand typography.
   This block intentionally comes last so older footer/mobile overrides cannot win. */
.site-footer .footer-brand-block .brand b,
.site-footer .footer-inner .brand b{font-size:16px!important;font-weight:600!important;line-height:1.25!important}
.site-footer .footer-brand-block .brand small,
.site-footer .footer-inner .brand small{font-size:10px!important;font-weight:400!important;line-height:1.15!important;margin-top:3px!important}
@media(max-width:700px){
  .site-footer .footer-brand-block .brand b,
  .site-footer .footer-inner .brand b{font-size:16px!important;font-weight:600!important}
  .site-footer .footer-brand-block .brand small,
  .site-footer .footer-inner .brand small{font-size:10px!important;font-weight:400!important;margin-top:3px!important}
}
@media(max-width:380px){
  .site-footer .footer-brand-block .brand b,
  .site-footer .footer-inner .brand b{font-size:16px!important;font-weight:600!important}
  .site-footer .footer-brand-block .brand small,
  .site-footer .footer-inner .brand small{font-size:10px!important;font-weight:400!important}
}

/* v1.6.49 — footer slogan + footer information line match header sizing */
.site-footer .footer-inner .brand b,
.site-footer .footer-brand-block .brand b{font-size:15px!important;font-weight:600!important;line-height:1.25!important}
.site-footer .footer-inner .brand small,
.site-footer .footer-brand-block .brand small{font-size:10px!important;font-weight:400!important;line-height:1.15!important;margin-top:3px!important}
.site-footer .footer-meta>span,
.site-footer .footer-meta>i,
.site-footer .footer-meta>.designer-footer-link{font-size:10px!important;font-weight:400!important;line-height:1.2!important}
@media(max-width:700px){
 .site-footer .footer-inner .brand b,
 .site-footer .footer-brand-block .brand b{font-size:15px!important;font-weight:600!important}
 .site-footer .footer-inner .brand small,
 .site-footer .footer-brand-block .brand small{font-size:10px!important;font-weight:400!important}
 .site-footer .footer-meta>span,
 .site-footer .footer-meta>i,
 .site-footer .footer-meta>.designer-footer-link{font-size:10px!important;font-weight:400!important;line-height:1.15!important}
}
@media(max-width:380px){
 .site-footer .footer-inner .brand b,
 .site-footer .footer-brand-block .brand b{font-size:15px!important}
 .site-footer .footer-inner .brand small,
 .site-footer .footer-brand-block .brand small{font-size:10px!important}
 .site-footer .footer-meta>span,
 .site-footer .footer-meta>i,
 .site-footer .footer-meta>.designer-footer-link{font-size:9px!important}
}

/* v1.6.76 — calmer editor pointer interaction + mobile reservation header alignment */
.reservation-top .nav{display:flex!important;align-items:center!important;min-height:70px!important;height:70px!important}
.reservation-top .brand{display:flex!important;align-items:center!important;align-self:center!important;gap:9px!important;margin:0!important;line-height:1!important}
.reservation-top .brand-mark{flex:0 0 auto!important;margin:0!important;transform:none!important}
.reservation-top .reservation-brand-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:2px!important;line-height:1.15!important;margin:0!important;padding:0!important}
.reservation-top .reservation-brand-copy b,.reservation-top .reservation-brand-copy small{display:block!important;margin:0!important;line-height:1.15!important}
.reservation-top .reservation-nav-actions{align-items:center!important;margin-right:auto!important}
@media(max-width:700px){
  .reservation-top .nav{height:64px!important;min-height:64px!important;padding-top:0!important;padding-bottom:0!important;align-items:center!important}
  .reservation-top .brand{height:44px!important;gap:6px!important;align-items:center!important}
  .reservation-top .brand-mark{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:13px!important}
  .reservation-top .reservation-brand-copy{justify-content:center!important;gap:2px!important;transform:none!important}
  .reservation-top .reservation-brand-copy b{font-size:12px!important;line-height:1.1!important}
  .reservation-top .reservation-brand-copy small{font-size:7.5px!important;line-height:1.1!important;white-space:nowrap!important}
  .reservation-top .reservation-nav-actions{height:100%!important;align-items:center!important}
  .reservation-top .back-home,.reservation-top .reservation-admin-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:32px!important;margin:0!important;line-height:1!important}
}
@media(max-width:430px){
  .reservation-top .nav{height:60px!important;min-height:60px!important;padding-inline:8px!important}
  .reservation-top .brand{height:40px!important;gap:5px!important}
  .reservation-top .brand-mark{width:31px!important;height:31px!important;flex-basis:31px!important;font-size:12px!important;border-radius:9px!important}
  .reservation-top .reservation-brand-copy b{font-size:11px!important}
  .reservation-top .reservation-brand-copy small{font-size:6.7px!important}
  .reservation-top .reservation-nav-actions{gap:4px!important}
  .reservation-top .back-home,.reservation-top .reservation-admin-link{height:30px!important;padding:6px 7px!important;font-size:8px!important}
}

/* v1.6.83 — unified header color + footer logo mark sizing */
.top,
.reservation-top{
  background:#102b20!important;
  background-image:none!important;
}
.site-footer .footer-brand-block .brand-mark,
.site-footer .footer-inner>.brand .brand-mark{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  font-size:16px!important;
  border-radius:12px!important;
}
@media(max-width:650px){
  .site-footer .footer-brand-block .brand-mark,
  .site-footer .footer-inner>.brand .brand-mark{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    font-size:16px!important;
    border-radius:12px!important;
  }
}


/* v1.6.83 — Master Header color shared by all public pages */
.top,.reservation-top{
  background:#102b20!important;
  background-image:none!important;
}

/* v1.6.84 messenger gateways */
.admin-page .gateway-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.admin-page .gateway-cards .gateway-panel:nth-child(1){grid-column:1;grid-row:1}.admin-page .gateway-cards .gateway-panel:nth-child(2){grid-column:2;grid-row:1}.admin-page .gateway-cards .gateway-panel:nth-child(3){grid-column:1;grid-row:2}.admin-page .gateway-cards .gateway-panel:nth-child(4){grid-column:2;grid-row:2}.admin-page .gateway-actions{display:flex;gap:8px;align-items:center}.admin-page .gateway-actions .primary{flex:1}.admin-page .gateway-status{min-height:18px;margin:0;font-size:10px;color:#5d7066}.admin-page .sms-manager-templates{margin-top:14px;border:1px solid var(--admin-line);border-radius:14px;padding:12px;background:#fbfcfa}.admin-page .sms-manager-templates h3{font-size:13px;margin:4px 0}.admin-page .sms-manager-templates .sms-notify-grid{margin-top:10px}.admin-page .sms-manager-templates .sms-vars{margin:9px 0}.admin-page .gateway-panel .note{line-height:1.8}@media(max-width:1000px){.admin-page .gateway-cards{grid-template-columns:1fr}.admin-page .gateway-cards .gateway-panel{grid-column:1!important;grid-row:auto!important}}

/* v1.7.18 — stable public navigation + booking tracking/recovery */
.public-page .top{position:absolute;inset:0 0 auto;z-index:1000!important;display:block!important;visibility:visible!important;opacity:1!important}
.public-page .top .nav{position:relative;z-index:1001}
.public-page #siteNav{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center;gap:27px}
.public-page #siteNav a{display:inline-flex!important;visibility:visible!important;white-space:nowrap}
.public-page .mobile-menu-btn{display:none;border:1px solid rgba(255,255,255,.22);background:rgba(10,31,21,.42);color:#fff;border-radius:10px;width:40px;height:40px;align-items:center;justify-content:center;font-size:19px}
.public-page .mobile-nav{display:none}
.public-page .track-box{min-width:0}
.public-page .track-tabs{display:flex;gap:7px;margin-bottom:9px}
.public-page .track-tab{border:1px solid #dbe3db;background:#fff;color:#496258;border-radius:10px;padding:9px 12px;font-size:9px;font-weight:800;cursor:pointer}
.public-page .track-tab.active{background:#174c38;color:#fff;border-color:#174c38}
.public-page .track-mode[hidden]{display:none!important}
.public-page .track-help{display:block;color:#7a877f;font-size:8px;margin-top:6px}
.public-page .track-result-card{margin-top:12px;background:#fff;border:1px solid #dbe4dc;border-radius:13px;padding:12px}
.public-page .track-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.public-page .track-result-head>b{font-size:12px;direction:ltr}
.public-page .booking-status{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef4ef;color:#2d664d;font-size:8px}
.public-page .booking-status.failed{background:#f8eeee;color:#9b4d4d}.public-page .booking-status.pending{background:#f7f1df;color:#806b34}.public-page .booking-status.canceled{background:#f0f1f0;color:#6f7772}
.public-page .track-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.public-page .track-result-grid span{display:flex;flex-direction:column;gap:3px;background:#f7f9f5;border-radius:8px;padding:7px}
.public-page .track-result-grid small{font-size:7px;color:#839088}.public-page .track-result-grid b{font-size:8.5px;color:#254d3b}
@media(max-width:900px){.public-page #siteNav{gap:15px}.public-page .ghost{display:inline-flex!important}.public-page .track-result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.public-page .top{position:absolute!important}.public-page .top .nav{height:70px}.public-page #siteNav,.public-page .top .ghost{display:none!important}.public-page .mobile-menu-btn{display:inline-flex;margin-right:auto}.public-page .mobile-nav{position:absolute;top:70px;right:12px;left:12px;display:flex;flex-direction:column;gap:4px;padding:8px;background:rgba(11,38,25,.97);border:1px solid rgba(255,255,255,.12);border-radius:15px;box-shadow:0 18px 40px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.18s;z-index:1002}.public-page .mobile-nav.open{opacity:1;pointer-events:auto;transform:none}.public-page .mobile-nav a{padding:11px 12px;border-radius:9px;color:#fff;font-size:10px}.public-page .mobile-nav a:hover{background:rgba(255,255,255,.08)}.public-page .track-tabs{overflow:auto}.public-page .track-tab{white-space:nowrap}.public-page .track-form{grid-template-columns:1fr auto!important;display:grid!important}.public-page .track-form button{margin-top:0!important;width:auto!important}.public-page .track-result-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.public-page .track-form{grid-template-columns:1fr!important}.public-page .track-form button{width:100%!important}.public-page .track-result-grid{grid-template-columns:1fr 1fr}}


/* v1.7.33 admin booking management */
.bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;margin-bottom:10px;border:1px solid #dfe8e1;border-radius:12px;background:#f8fbf8;font-size:9px;color:#62736a}.bulk-actions label{display:flex;align-items:center;gap:5px;font-weight:700}.bulk-actions select{width:auto;min-width:145px;padding:7px 9px;border:1px solid #d5e2d8;border-radius:9px;background:#fff;font:inherit}.guest-table table th,.guest-table table td{white-space:nowrap}.guest-table table th:first-child,.guest-table table td:first-child{width:28px;text-align:center}.guest-table table small{display:block;color:#7a8880;font-size:8px;margin-top:3px}.admin-page .stats{grid-template-columns:repeat(7,minmax(0,1fr))}.admin-page .stat b{font-size:18px}.admin-page .stat:nth-child(2) b{font-size:14px}@media(max-width:1100px){.admin-page .stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:650px){.admin-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .bulk-actions{align-items:stretch}.admin-page .bulk-actions select{width:100%}.admin-page .bulk-actions span{width:100%}}

/* v1.7.34 — compact guest toolbar + clearer admin data */
.admin-page .guest-search-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.admin-page .guest-search-row>.search{max-width:220px}
.admin-page .guest-page-size{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border:1px solid var(--admin-line);border-radius:9px;background:#fbfcfa;color:#53665c;font-size:10px;font-weight:700;white-space:nowrap}
.admin-page .guest-page-size select{width:auto!important;min-width:58px;height:30px!important;padding:0 7px!important;font-size:10px!important;background:#fff!important}
.admin-page .guest-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-right:auto}
.admin-page .guest-toolbar-actions label{font-size:10px;font-weight:700;color:#53665c;white-space:nowrap}
.admin-page .guest-select-all-label{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 8px;border:1px solid var(--admin-line);border-radius:9px;background:#fbfcfa}
.admin-page .guest-toolbar-actions .danger{height:36px;padding:0 10px;font-size:10px;background:#fff1f1;color:#9a4444;border:1px solid #efd2d2}
.admin-page .guest-sort-label{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border:1px solid var(--admin-line);border-radius:9px;background:#fbfcfa}
.admin-page .guest-sort-label select{width:auto!important;min-width:145px;height:30px!important;padding:0 7px!important;font-size:10px!important;background:#fff!important}
.admin-page .guest-table table{font-size:10px}
.admin-page .guest-table table th{font-size:10px;font-weight:800}
.admin-page .guest-table table td{font-size:10px}
.admin-page .guest-table table small{font-size:9px}
.admin-page .guest-table table td b{font-size:10px}
.admin-page .stats .stat span{font-size:10px}
.admin-page .stats .stat b{font-size:20px}
.admin-page .stats .stat:nth-child(2) b{font-size:16px}
@media(max-width:850px){.admin-page .guest-toolbar-actions{width:100%;margin-right:0}.admin-page .guest-search-row>.search{flex:1 1 180px;max-width:none}.admin-page .guest-page-size{flex:0 0 auto}.admin-page .guest-sort-label{flex:1 1 210px}.admin-page .guest-sort-label select{flex:1;min-width:0}}
@media(max-width:650px){.admin-page .guest-search-row{align-items:stretch}.admin-page .guest-search-row>.search,.admin-page .guest-page-size,.admin-page .guest-toolbar-actions{width:100%;max-width:none}.admin-page .guest-toolbar-actions>*{flex:1}.admin-page .guest-select-all-label{justify-content:center}.admin-page .guest-toolbar-actions .danger{text-align:center}.admin-page .guest-sort-label{justify-content:space-between}.admin-page .guest-sort-label select{min-width:130px}.admin-page .stats .stat span{font-size:9px}.admin-page .stats .stat b{font-size:19px}.admin-page .stats .stat:nth-child(2) b{font-size:15px}}

/* v1.7.37 — dashboard stats always visible + reservation status colors */
.admin-page #stats{min-height:82px;visibility:visible!important;opacity:1!important}
.admin-page #stats .stat{display:block!important;visibility:visible!important;opacity:1!important}
.week-booking.confirmed{background:#edf7ef;border-color:#c9e2cf;box-shadow:inset 3px 0 0 #6ea77d}
.week-booking.pending{background:#faf7e9;border-color:#eadfb5;box-shadow:inset 3px 0 0 #c7a957}
.week-booking.canceled{background:#fbefef;border-color:#eccccc;box-shadow:inset 3px 0 0 #c96d6d}
.week-booking.confirmed strong{color:#315f42}.week-booking.pending strong{color:#7b6730}.week-booking.canceled strong{color:#934b4b}
.week-booking.canceled small{color:#a36a6a}
@media(max-width:650px){.admin-page #stats{min-height:0}}

/* v1.7.37 dashboard secondary panels */
.admin-page .dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.admin-page .dashboard-lower-grid .panel{margin-bottom:0}
.dashboard-coupon-list{display:grid;gap:7px}.dashboard-coupon-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #e3ebe4;border-radius:11px;background:#fff}.dashboard-coupon-row b{display:block;font-size:10px}.dashboard-coupon-row small{display:block;color:#7b887f;font-size:8px;margin-top:2px}.dashboard-coupon-row .badge{white-space:nowrap}
@media(max-width:800px){.admin-page .dashboard-lower-grid{grid-template-columns:1fr}}

/* v1.7.89 admin visual hub polish */
.visual-subtitle{font-size:11px;font-weight:800;color:#29483a;padding:9px 11px;border:1px solid #dfe8e0;border-radius:10px;background:#f7faf7;margin-top:3px}.style-safe-note{display:grid;gap:3px;padding:11px 12px;border:1px solid #d8e7dc;border-radius:12px;background:linear-gradient(135deg,#f7fbf8,#eef6f0);color:#587066;font-size:9px;line-height:1.8}.style-safe-note b{font-size:11px;color:#29483a}.style-safe-form .form-grid{align-items:stretch}.style-safe-form label{min-width:0}.style-safe-form input[type=color]{width:100%;height:46px;border-radius:11px;background:#fff}.style-safe-form select{height:46px}.style-safe-form .stepper-field{border:1px solid #e0e8e1;border-radius:12px;padding:8px 10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.style-safe-form .stepper-field>span{font-size:10px;color:#53665c;font-weight:700}.style-safe-form .stepper-field small{display:block;color:#89968f;font-size:8px;margin-top:2px}.style-safe-form .night-control{min-width:112px}.style-safe-form .night-control button{width:34px;height:34px}.nav-edit-row{grid-template-columns:30px minmax(0,1fr) 88px 34px 34px;gap:7px;padding:8px 9px;background:#fff;box-shadow:0 1px 4px rgba(25,60,43,.03)}.nav-edit-row .nav-edit-main{display:grid;grid-template-columns:minmax(90px,.75fr) minmax(120px,1.25fr);gap:7px;min-width:0}.nav-edit-row .nav-edit-main input{width:100%;min-width:0;height:36px}.nav-edit-row .nav-visible{height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dce6de;border-radius:9px;background:#f7faf7;font-size:9px;color:#496156;cursor:pointer}.nav-edit-row .nav-visible input{accent-color:#2d825e;margin:0}.nav-edit-row .small-btn{min-width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:9px}.nav-edit-row.dragging{opacity:.55;border-color:#6c9a7b;background:#eef6f0}.nav-edit-row .drag{cursor:grab}.nav-edit-row .drag:active{cursor:grabbing}@media(max-width:760px){.nav-edit-row{grid-template-columns:24px minmax(0,1fr) 34px 34px;gap:5px}.nav-edit-row .nav-edit-main{grid-column:2/-1;grid-template-columns:1fr}.nav-edit-row .nav-visible{grid-column:2;justify-content:flex-start;padding:0 9px}.nav-edit-row .nav-up{grid-column:3;grid-row:3}.nav-edit-row .nav-down{grid-column:4;grid-row:3}}

.about-managed-image{width:100%;margin-bottom:12px;border-radius:18px;overflow:hidden}.about-managed-image img{display:block;width:100%;max-height:280px;object-fit:cover}

/* v1.7.98: optional homepage gallery managed from the shared media library */
.public-page .site-gallery-section[hidden]{display:none!important}.public-page .site-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-page .site-gallery-item{margin:0;min-width:0;overflow:hidden;border:1px solid #e4e9e1;border-radius:var(--radius,20px);background:var(--card,#fff);box-shadow:var(--shadow,0 10px 30px rgba(24,51,40,.06))}.public-page .site-gallery-item img{display:block;width:100%;height:230px;object-fit:cover;background:#edf2ec}.public-page .site-gallery-item figcaption{padding:10px 12px;color:var(--muted,#6b746f);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.public-page .site-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.public-page .site-gallery-item img{height:150px}}


/* v1.7.106 — safe appearance controls managed from the admin visual hub */
.public-page .top{background:linear-gradient(180deg,color-mix(in srgb,var(--site-header-bg,#071911) 78%,transparent),color-mix(in srgb,var(--site-header-bg,#071911) 8%,transparent))}
.public-page .hero-cta,.public-page .primary{background:linear-gradient(135deg,var(--site-button-start,#d9bb70),var(--site-button-end,#ae8435))}

/* v1.7.108 — curated homepage image album */
.home-images-panel .home-image-block{border:1px solid #e5e9e3;border-radius:16px;padding:16px;margin:14px 0;background:#fcfdfb;min-width:0}.home-image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.home-image-heading b{display:block;font-size:13px}.home-image-heading small{display:block;color:#7a8880;font-size:10px;line-height:1.8;margin-top:4px}.home-image-kind{flex-shrink:0;border-radius:99px;background:#eaf2eb;color:#285b3e;padding:6px 10px;font-size:10px}.experience-image-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px;max-height:390px;overflow:auto;padding:3px}.experience-image-picker .visual-image-option{position:relative;min-width:0;padding:5px;border:1px solid #e1e7df;border-radius:12px;background:#fff;overflow:hidden}.experience-image-picker .visual-image-option img{width:100%;height:90px;object-fit:cover;border-radius:8px}.experience-image-picker .visual-image-option span{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 2px}.experience-image-picker .visual-image-option.selected{border:2px solid #28764c;background:#eff7f0}.experience-image-picker .visual-image-option em{position:absolute;top:8px;right:8px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#28764c;color:white;font-style:normal;font-size:13px}.experience-admin-preview{display:flex;gap:8px;overflow:auto;padding:10px 0;min-height:70px}.experience-admin-thumb{position:relative;flex:0 0 76px;height:64px}.experience-admin-thumb img{width:100%;height:100%;object-fit:cover;border-radius:9px}.experience-admin-thumb span{position:absolute;top:4px;right:4px;background:#102f22dd;color:white;border-radius:6px;padding:2px 6px;font-size:10px}.experience-album{isolation:isolate}.experience-album .experience-album-image{width:100%;height:100%;min-height:260px;max-height:420px;object-fit:cover;display:block;border-radius:inherit}.experience-album-controls{position:absolute;z-index:2;inset:auto 12px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.experience-album-controls button{pointer-events:auto;border:1px solid #ffffff70;background:#0c261dcc;color:#fff;width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1;backdrop-filter:blur(8px)}.experience-album-controls span{font-size:11px;color:#fff;background:#0c261dcc;border-radius:99px;padding:7px 11px;backdrop-filter:blur(8px)}.experience-album-dots{position:absolute;z-index:2;top:12px;left:12px;display:flex;gap:5px;max-width:70%;flex-wrap:wrap}.experience-album-dots button{width:7px;height:7px;border:0;border-radius:99px;background:#ffffff9c;padding:0}.experience-album-dots button.active{width:20px;background:#fff}@media(max-width:600px){.home-images-panel .home-image-block{padding:12px}.experience-image-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.experience-image-picker .visual-image-option img{height:72px}.home-image-heading{align-items:flex-start}.experience-album .experience-album-image{min-height:220px}}


/* v1.7.111 — swipeable Experience carousel */
.public-page .experience .scene.experience-album{position:relative;overflow:hidden;isolation:isolate;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.public-page .experience .experience-album-viewport{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.public-page .experience .experience-album-track{display:flex;flex-direction:row;direction:ltr;width:100%;height:100%;transform:translate3d(0,0,0);transition:transform .52s cubic-bezier(.22,.72,.22,1);will-change:transform}
.public-page .experience .experience-album-slide{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:0;overflow:hidden}
.public-page .experience .experience-album-image{width:100%;height:100%;min-height:260px;max-height:none;object-fit:cover;display:block;border-radius:0;pointer-events:none;-webkit-user-drag:none}
.public-page .experience .experience-album-controls{inset:auto 12px 12px;z-index:3}
.public-page .experience .experience-album-controls button{display:grid;place-items:center;flex-shrink:0;cursor:pointer;transition:transform .18s ease,background .18s ease}
.public-page .experience .experience-album-controls button:hover{transform:scale(1.06);background:#0c261df0}
.public-page .experience .experience-album-dots{z-index:3;top:12px;left:12px}
.public-page .experience .experience-album-dots button{cursor:pointer;min-width:7px;min-height:7px}
.public-page .experience .experience-album-swipe-hint{position:absolute;z-index:2;right:12px;top:12px;padding:6px 9px;border-radius:99px;background:#0c261dcc;color:white;font-size:10px;pointer-events:none;backdrop-filter:blur(8px)}
.public-page .experience .experience-album:focus-visible{outline:3px solid var(--gold,#d7a84b);outline-offset:3px}
@media(max-width:600px){.public-page .experience .experience-album-image{min-height:220px}.public-page .experience .experience-album-swipe-hint{font-size:9px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.public-page .experience .experience-album-track{transition:none}}

.admin-page .gateway-status[data-state="success"]{color:#23784e}.admin-page .gateway-status[data-state="error"]{color:#b42318}


/* v1.7.111 — shared media-picker modal; library thumbnails live only in library/modal */
.shared-picker-hint{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 14px;border:1px dashed #c9d8cc;border-radius:12px;background:#f7faf7;color:#64776b;font-size:11px;line-height:1.9}
.visual-current-image{display:flex;align-items:center;gap:12px;padding:9px;border:1px solid #e1e9e2;border-radius:13px;background:#fbfdfb;min-width:0}
.visual-current-image>img{width:96px;height:70px;object-fit:cover;border-radius:9px;flex:0 0 96px}
.visual-current-image>div{flex:1;min-width:0;display:grid;gap:5px}.visual-current-image b{font-size:11px;color:#315742}.visual-current-image small{font-size:9px;line-height:1.7;color:#78867d}.visual-current-image button{border:1px solid #e5c6c2;background:#fff8f7;color:#a33c31;border-radius:9px;padding:7px 9px;font:inherit;font-size:10px;cursor:pointer;flex-shrink:0}
.experience-admin-thumb{position:relative}.experience-admin-thumb button{position:absolute;top:-5px;left:-5px;border:0;background:#a83931;color:#fff;width:22px;height:22px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer}
#sharedImagePickerModal[hidden]{display:none!important}.shared-image-picker-backdrop{position:fixed;z-index:10020;inset:0;padding:22px;display:flex;align-items:center;justify-content:center;background:rgba(5,22,14,.68);backdrop-filter:blur(7px)}.shared-image-picker-dialog{width:min(100%,920px);max-height:min(90vh,860px);display:flex;flex-direction:column;background:#fff;border:1px solid #dfe8e0;border-radius:22px;box-shadow:0 30px 100px #07191155;overflow:hidden;color:#17221d}.shared-image-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e8eee8;background:linear-gradient(180deg,#fbfdfb,#f3f8f3)}.shared-image-picker-head h2{font-size:18px;margin:4px 0}.shared-image-picker-head p{font-size:10px;color:#718078;margin:4px 0 0;line-height:1.8}.shared-image-picker-tools{display:flex;align-items:center;gap:10px;padding:12px 18px 6px}.shared-image-picker-tools input[type=search]{flex:1;min-width:0;border:1px solid #dfe8e0;border-radius:11px;padding:11px 12px;font:inherit;font-size:11px;background:#fff}.shared-image-picker-tools button{white-space:nowrap}.shared-image-picker-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 18px;color:#5e7367;font-size:10px}.shared-image-picker-meta>span{margin-left:auto}.shared-image-picker-grid{padding:8px 18px 16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;overflow:auto;overscroll-behavior:contain;min-height:100px}.shared-image-option{position:relative;display:block;min-width:0;border:2px solid #e1e8e1;background:#fff;border-radius:13px;padding:5px;text-align:right;overflow:hidden;cursor:pointer;color:#42584a;font:inherit}.shared-image-option img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eef3ee}.shared-image-option>span{display:block;padding:7px 3px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.shared-image-option.selected{border-color:#28764c;background:#eff7f0;box-shadow:0 0 0 1px #28764c inset}.shared-image-option em{position:absolute;top:9px;right:9px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#28764c;color:#fff;font-size:14px;font-style:normal;box-shadow:0 2px 7px #0003}.shared-image-picker-dialog>.gateway-status{margin:0 18px;min-height:22px;font-size:10px}.shared-image-picker-dialog .gateway-status[data-state=error]{color:#b42318}.shared-image-picker-dialog .gateway-status[data-state=success]{color:#23784e}.shared-image-picker-footer{display:flex;justify-content:flex-start;gap:10px;padding:14px 18px;border-top:1px solid #e8eee8;background:#fbfdfb}.shared-image-picker-footer #sharedImageApply{margin-right:auto;min-width:160px}.shared-image-picker-open{overflow:hidden}
@media(max-width:700px){.shared-image-picker-backdrop{padding:8px;align-items:flex-end}.shared-image-picker-dialog{max-height:92vh;border-radius:20px 20px 12px 12px}.shared-image-picker-head{padding:14px}.shared-image-picker-tools{padding:10px 12px 4px;flex-wrap:wrap}.shared-image-picker-tools input[type=search]{flex-basis:100%}.shared-image-picker-meta{padding:7px 12px}.shared-image-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px 12px 12px}.shared-image-option img{aspect-ratio:1/1}.shared-image-picker-footer{padding:10px 12px}.shared-image-picker-footer button{font-size:10px}.visual-current-image{align-items:flex-start;flex-wrap:wrap}.visual-current-image>img{width:76px;height:58px;flex-basis:76px}.visual-current-image>button{margin-right:auto}}
