:root{--bg:#f3eee5;--paper:#faf6ef;--surface:#ffffff;--text:#171717;--muted:#6f6b66;--gold:#b99256;--dark:#132225;--border:#e5ddd0;--shadow:0 20px 60px rgba(16,16,16,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.container{width:min(1200px,92%);margin:0 auto}.section{padding:80px 0}.narrow-container{width:min(900px,92%);margin:0 auto}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px;display:inline-block}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em;line-height:1.04;margin:0 0 14px}h1{font-size:68px;font-weight:500}h2{font-size:46px;font-weight:500}h3{font-size:28px;font-weight:500}p{margin:0 0 15px;color:var(--muted)}
.site-top{position:fixed;left:0;right:0;top:0;z-index:40;padding:18px 0;transition:padding .28s ease,background .28s ease}.navbar{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:14px 18px;transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease,padding .28s ease,border-radius .28s ease}.site-top.scrolled{padding:10px 0}.site-top.scrolled .navbar{background:rgba(8,10,12,.96);border-color:rgba(255,255,255,.08);box-shadow:0 14px 38px rgba(0,0,0,.34);padding:10px 16px;border-radius:18px}.logo-image{height:42px}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{color:#fff;font-weight:600;text-shadow:0 1px 10px rgba(0,0,0,.18)}.menu-toggle{display:none;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.92);border:none;align-items:center;justify-content:center;position:relative}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:20px;height:2px;background:var(--dark);position:absolute}.menu-toggle::before{transform:translateY(-6px)}.menu-toggle::after{transform:translateY(6px)}.menu-toggle.active span{opacity:0}.menu-toggle.active::before{transform:rotate(45deg)}.menu-toggle.active::after{transform:rotate(-45deg)}
.btn,.btn-outline,button{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:0;border:none;font:inherit;font-weight:700;cursor:pointer;transition:.22s ease}.btn{background:var(--dark);color:#fff}.btn-outline{background:transparent;color:var(--dark);border:1px solid rgba(19,34,37,.2)}button:hover,.btn:hover,.btn-outline:hover{transform:translateY(-1px)}.booking-ribbon .search-bar button{background:linear-gradient(135deg,#11181b 0%,#243338 100%);color:#fff;border:1px solid rgba(0,0,0,.18)}.booking-ribbon .search-bar button:hover{background:linear-gradient(135deg,var(--gold) 0%,#d1ad73 100%);color:#111;border-color:#c8a467;box-shadow:0 12px 24px rgba(185,146,86,.24)}.nav-links a:hover{color:#f2d3a0}.site-top.scrolled .nav-links a{color:#fff;text-shadow:none}
.hero{padding:24px 0 0}.hero-frame{position:relative;min-height:100vh;border-radius:0;overflow:hidden;background:#111}.hero-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,14,.18) 0%,rgba(11,14,15,.28) 35%,rgba(11,14,15,.68) 100%)}.hero-content{position:absolute;left:0;right:0;bottom:54px;color:#fff;z-index:2}.hero-copy{width:min(900px,92%);margin:0 auto}.hero-copy p{color:rgba(255,255,255,.84);font-size:18px;max-width:640px}.booking-ribbon{margin-top:32px;background:rgba(255,255,255,.96);padding:18px;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.18);border-top:4px solid var(--gold);width:min(1120px,100%)}.search-bar{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(120px,1fr)) minmax(150px,.9fr);gap:12px;align-items:stretch}.search-bar input,.search-bar select,.form-grid input,.form-grid select,.form-grid textarea,.sidebar-card input,.sidebar-card textarea{padding:14px 15px;border:1px solid var(--border);background:#fff;font:inherit;color:var(--text)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}.editorial-card,.content-card,.sidebar-card,.auth-card,.stat-card,.dynamic-box{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.editorial-card,.content-card,.sidebar-card,.auth-card,.stat-card,.dynamic-box{padding:30px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.card-media{aspect-ratio:1.07/1;background:#e7dfd2;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card:hover .card-media img{transform:scale(1.04)}.card-body{padding:22px}.meta-row{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:16px}.price-row{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--border)}.price-row strong{font-size:24px;color:var(--dark);font-family:Georgia,'Times New Roman',serif}
.destinations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.destination-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.destination-card img{width:100%;height:270px;object-fit:cover}.destination-card div{padding:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}
.dynamic-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dynamic-box strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:30px;color:var(--dark);margin-bottom:10px}.split-banner{display:grid;grid-template-columns:1fr 1fr;gap:24px}.banner-box{position:relative;min-height:360px;overflow:hidden;box-shadow:var(--shadow)}.banner-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.banner-box::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,14,.08) 0%,rgba(10,13,14,.72) 100%)}.banner-box .inner{position:absolute;left:28px;right:28px;bottom:26px;color:#fff;z-index:1}
.property-layout{display:grid;grid-template-columns:1.36fr .78fr;gap:28px;align-items:start}.content-stack{display:grid;gap:20px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-grid a,.gallery-grid img{display:block}.gallery-grid img{width:100%;height:240px;object-fit:cover}.gallery-grid .hero-image{grid-column:1/-1;height:520px}.property-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}.property-highlights .mini{padding:16px;background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow)}.property-highlights .mini strong{display:block;font-size:20px;color:var(--dark);font-family:Georgia,'Times New Roman',serif}
.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.amenity-chip{display:flex;align-items:center;gap:12px;padding:16px;background:var(--paper);border:1px solid var(--border)}.amenity-icon{width:34px;height:34px;background:rgba(185,146,86,.14);display:inline-flex;align-items:center;justify-content:center;color:var(--dark);font-weight:800}.sidebar-card{position:sticky;top:110px;padding:28px;background:var(--surface)}.enquiry-box{border-top:4px solid var(--gold)}.price-line{display:flex;align-items:end;gap:8px;margin-bottom:16px}.price-line strong{font-size:42px;color:var(--dark);font-family:Georgia,'Times New Roman',serif;line-height:1}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:grid;gap:8px;font-weight:600}.form-grid .full{grid-column:1/-1}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.stat-card strong{display:block;font-size:34px;color:var(--dark);font-family:Georgia,'Times New Roman',serif}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 12px;border-bottom:1px solid var(--border);text-align:left}.alert{padding:14px 16px;margin-bottom:16px}.success{background:#e8f6ee;color:#16502b}.error{background:#fdecec;color:#8c2020}.season-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.small-gallery{grid-template-columns:repeat(3,1fr)}.gallery-item-card{background:#fff;border:1px solid var(--border);padding:10px}.gallery-item-card img{width:100%;height:180px;object-fit:cover;margin-bottom:10px}.lightbox-overlay{position:fixed;inset:0;background:rgba(8,10,12,.88);display:none;align-items:center;justify-content:center;z-index:9999;padding:30px}.lightbox-overlay.open{display:flex}.lightbox-overlay img{max-width:min(1100px,92vw);max-height:86vh;box-shadow:0 20px 70px rgba(0,0,0,.35)}.lightbox-close{position:absolute;top:24px;right:24px;width:48px;height:48px;background:#fff;border:none;font-size:22px;cursor:pointer}
.footer-premium{padding:0 0 50px}.footer-shell{background:var(--dark);color:rgba(255,255,255,.82);padding:34px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px}.footer-shell p,.footer-shell a{color:rgba(255,255,255,.76)}.footer-shell h4{color:#fff;margin:0 0 12px}.footer-list{display:grid;gap:8px}.footer-bottom{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:rgba(255,255,255,.62)}
@media (max-width:1100px){.intro-grid,.property-layout,.split-banner{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.destinations-grid{grid-template-columns:repeat(2,1fr)}.dynamic-strip{grid-template-columns:1fr}.sidebar-card{position:static}}
@media (max-width:760px){h1{font-size:42px}h2{font-size:30px}.site-top{padding:12px 0}.menu-toggle{display:inline-flex}.nav-links{display:none;position:absolute;left:4%;right:4%;top:78px;background:rgba(20,25,28,.94);padding:16px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.search-bar,.cards,.destinations-grid,.stats-grid,.form-grid,.season-row,.property-highlights,.amenities-grid,.small-gallery,.footer-shell{grid-template-columns:1fr}.hero-frame{min-height:92vh}.hero-content{bottom:34px}.gallery-grid .hero-image{height:320px}.gallery-grid img{height:200px}}

.hero-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 28%);z-index:1}.hero-content{z-index:3}.hero-kicker{display:flex;gap:18px;align-items:center;margin-bottom:18px}.hero-kicker span{display:inline-block;padding:10px 14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.booking-ribbon{background:rgba(255,255,255,.95);box-shadow:0 24px 70px rgba(0,0,0,.18);border-top:4px solid var(--gold)}
.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.collection-card{position:relative;min-height:520px;overflow:hidden;box-shadow:var(--shadow)}.collection-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.collection-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,15,.08) 0%,rgba(10,14,15,.7) 100%)}.collection-card .inner{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;color:#fff}.collection-card p{color:rgba(255,255,255,.84)}
.minimal-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.destination-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.destination-hero-meta .mini{padding:16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff}.destination-hero-meta .mini strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:24px}
@media (max-width:900px){.collection-grid{grid-template-columns:1fr}.destination-hero-meta{grid-template-columns:1fr}}

body.menu-open{overflow:hidden}.overlay-menu{position:fixed;inset:0;background:rgba(14,19,22,.96);color:#fff;display:none;z-index:9998;padding:40px}.overlay-menu.open{display:block}.overlay-menu-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;height:100%}.overlay-links{display:grid;gap:14px;align-content:start}.overlay-links a{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.05;color:#fff}.overlay-links small{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.52);font-family:Inter,Arial,sans-serif}.overlay-side{display:grid;gap:16px;align-content:end}.overlay-side .mini-card{padding:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}.overlay-side .mini-card h4{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:24px}.overlay-close{position:absolute;top:22px;right:22px;width:52px;height:52px;border:none;background:#fff;color:#111;font-size:24px;cursor:pointer}
.editorial-blocks{display:grid;gap:28px}.editorial-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.editorial-row.reverse .editorial-text{order:2}.editorial-row.reverse .editorial-image{order:1}.editorial-image img{width:100%;height:520px;object-fit:cover;box-shadow:var(--shadow)}.editorial-text{padding:28px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}
@media (max-width:900px){.overlay-menu-grid,.editorial-row{grid-template-columns:1fr}.overlay-links a{font-size:30px}.editorial-image img{height:320px}}


.status-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.status-pending{background:#fff2df;color:#8a5a00;border-color:#efcf97}.status-published{background:#e7f6ec;color:#16643c;border-color:#b8e0c7}.status-hidden{background:#f1f2f4;color:#57606a;border-color:#d8dde3}.status-draft{background:#eef3ff;color:#3256a8;border-color:#cad6ff}.status-featured{background:#f8efe0;color:#7c5830;border-color:#e5cc9d}.table-responsive{overflow:auto}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-bar select[name="destination"]{min-width:0}
.search-bar input,.search-bar select{min-height:58px;border-radius:14px;border:1px solid #ddd7ca;box-shadow:none}.search-bar button{min-height:58px;border-radius:16px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1.15;align-self:stretch;white-space:normal}.search-bar button br{display:none}.booking-ribbon .search-bar button{margin:0}.search-bar select[name="destination"]{min-width:0}

.usage-badge{display:inline-flex;margin-top:10px;font-size:13px;color:var(--muted);font-weight:600}

button[disabled]{opacity:.55;cursor:not-allowed}.nested-card{padding:22px}.narrow-container{max-width:980px}.package-pill{display:inline-flex;padding:8px 12px;border-radius:999px}

.admin-topbar-wrap{position:sticky;top:0;z-index:999;background:#101618;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap}
.admin-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-back,.admin-home,.admin-links a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.03em}
.admin-back{background:#fff;color:#111}
.admin-home{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.admin-links{display:flex;gap:10px;flex-wrap:wrap}
.admin-links a{color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.admin-links a.active{background:#d8c29a;color:#111;border-color:#d8c29a}
@media (max-width:760px){.admin-topbar{padding:10px 0}.admin-links{width:100%}.admin-links a{padding:8px 12px;font-size:12px}}

.owner-topbar-wrap{position:sticky;top:0;z-index:998;background:#182022;border-bottom:1px solid rgba(255,255,255,.08)}
.owner-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap}
.owner-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.owner-back,.owner-home,.owner-links a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.03em}
.owner-back{background:#fff;color:#111}
.owner-home{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12)}
.owner-links{display:flex;gap:10px;flex-wrap:wrap}
.owner-links a{color:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.owner-links a.active{background:#c7d7c3;color:#111;border-color:#c7d7c3}
@media (max-width:760px){.owner-topbar{padding:10px 0}.owner-links{width:100%}.owner-links a{padding:8px 12px;font-size:12px;flex:0 0 auto}.owner-left{width:100%}}


/* Global mobile polish */
input,select,textarea,button{max-width:100%}
.table{display:block;overflow-x:auto;white-space:nowrap}
.table th,.table td{vertical-align:top}
.content-card,.editorial-card,.sidebar-card,.auth-card,.stat-card,.dynamic-box{border-radius:18px}
.card,.collection-card,.banner-box{border-radius:18px;overflow:hidden}
@media (max-width:980px){
  .cards{grid-template-columns:1fr 1fr}
  .property-highlights{grid-template-columns:repeat(2,1fr)}
  .gallery-grid .hero-image{height:360px}
  .search-bar{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:15px;line-height:1.55}
  .container,.narrow-container{width:min(100%, calc(100% - 28px))}
  .section{padding:48px 0}
  h1{font-size:36px;line-height:1.06}
  h2{font-size:28px;line-height:1.1}
  h3{font-size:22px;line-height:1.15}
  .site-top{padding:10px 0}
  .navbar{padding:12px 14px;border-radius:18px}
  .logo-image{height:34px}
  .hero{padding-top:10px}
  .hero-frame{min-height:88vh}
  .hero-content{bottom:22px}
  .hero-copy p{font-size:15px}
  .hero-kicker{gap:10px;flex-wrap:wrap}
  .hero-kicker span{padding:8px 10px;font-size:11px}
  .booking-ribbon{padding:14px;border-radius:16px}
  .search-bar{grid-template-columns:1fr !important;gap:10px}
  .search-bar button,.btn,.btn-outline,button{width:100%;min-height:46px}
  .cards,.collection-grid,.destinations-grid,.dynamic-strip,.stats-grid,.form-grid,.season-row,.property-highlights,.amenities-grid,.small-gallery,.footer-shell,.intro-grid,.property-layout,.split-banner,.editorial-row{grid-template-columns:1fr !important}
  .minimal-head,.section-head{display:grid;gap:12px}
  .price-row{display:grid;gap:10px;align-items:start}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid .hero-image{grid-column:auto;height:260px}
  .gallery-grid img{height:200px;border-radius:14px}
  .property-highlights .mini{padding:14px}
  .content-card,.editorial-card,.sidebar-card,.auth-card,.stat-card,.dynamic-box{padding:18px;border-radius:16px}
  .amenity-chip{padding:14px}
  .table{font-size:14px}
  .table th,.table td{padding:12px 10px}
  .inline-form{display:grid;grid-template-columns:1fr;gap:8px}
  .admin-topbar,.owner-topbar{padding:10px 0;gap:12px}
  .admin-links,.owner-links{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .admin-links a,.owner-links a{white-space:nowrap}
  .admin-back,.admin-home,.owner-back,.owner-home{min-height:42px}
  .overlay-menu{padding:22px}
  .overlay-links a{font-size:28px}
  .overlay-side{align-content:start}
  .footer-shell{padding:22px}
}
@media (max-width:480px){
  h1{font-size:30px}
  h2{font-size:24px}
  .hero-frame{min-height:80vh}
  .gallery-grid .hero-image{height:220px}
  .gallery-grid img{height:180px}
  .property-highlights{gap:10px}
  .status-badge{font-size:11px;padding:6px 9px}
}

.logout-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;color:#111;font-weight:700;white-space:nowrap}
@media (max-width:760px){.logout-link{width:100%;min-height:42px}}


/* Strong public mobile nav fix */
@media (max-width:900px){
  .nav-links{display:none !important}
  .menu-toggle{display:inline-flex !important}
  .site-top .navbar{position:relative;gap:10px}
  .overlay-menu{display:none !important;background:rgba(14,19,22,.98) !important;color:#fff !important}
  .overlay-menu.open{display:block !important}
  .overlay-menu .container{width:min(100%, calc(100% - 28px))}
  .overlay-links{display:grid !important;gap:14px !important}
  .overlay-links a{display:block !important;color:#fff !important;text-decoration:none !important;font-family:Georgia,'Times New Roman',serif !important;font-size:28px !important;line-height:1.08 !important}
  .overlay-links small{color:rgba(255,255,255,.55) !important}
  .overlay-side .mini-card{background:rgba(255,255,255,.06) !important;color:#fff !important}
  .overlay-side .mini-card p,.overlay-side .mini-card h4{color:#fff !important}
  .overlay-close{display:inline-flex !important;align-items:center;justify-content:center;background:#fff !important;color:#111 !important;border-radius:12px !important;width:46px !important;height:46px !important;border:none !important}
  body.menu-open{overflow:hidden !important}
}

.logo-image{height:58px;object-fit:contain}.footer-premium .logo-image{height:64px !important}@media (max-width:760px){.logo-image{height:44px}.footer-premium .logo-image{height:50px !important}}

.logo-wrap{display:inline-flex;align-items:center;max-width:min(340px,42vw)}.logo-image{height:auto !important;width:100%;max-height:72px;object-fit:contain}.footer-premium .logo-image{max-height:78px !important;max-width:320px}@media (max-width:760px){.logo-wrap{max-width:220px}.logo-image{max-height:48px}.footer-premium .logo-image{max-height:56px !important;max-width:220px}}
.hero-frame img{content-visibility:auto}

.logo-wrap{display:inline-flex;align-items:center;max-width:min(420px,48vw)}.logo-image{width:100%;height:auto !important;max-height:86px;object-fit:contain}.footer-premium .logo-image{max-height:82px !important;max-width:360px}@media (max-width:760px){.logo-wrap{max-width:250px}.logo-image{max-height:56px}.footer-premium .logo-image{max-height:60px !important;max-width:250px}}

.search-list{display:grid;gap:18px}.search-result-card{display:grid;grid-template-columns:minmax(280px,420px) 1fr;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.search-result-media{display:block;min-height:260px;background:#e7dfd2}.search-result-media img{width:100%;height:100%;object-fit:cover}.search-result-body{display:flex;flex-direction:column;justify-content:space-between;padding:24px;gap:18px}.search-result-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--border);padding-top:18px}.search-result-price strong{display:block;font-size:32px;color:var(--dark);font-family:Georgia,'Times New Roman',serif}.search-result-price span{color:var(--muted)}@media (max-width:900px){.search-result-card{grid-template-columns:1fr}.search-result-media{min-height:220px}}@media (max-width:760px){.search-result-body{padding:18px}.search-result-bottom{display:grid;grid-template-columns:1fr;align-items:start}.search-result-price strong{font-size:28px}}

.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px}.calendar-legend span{display:flex;align-items:center;gap:8px;color:var(--muted)}.legend-box{display:inline-block;width:16px;height:16px;border-radius:6px}.legend-box.available{background:#e7f6ec;border:1px solid #b8e0c7}.legend-box.booked{background:#f03535;border:1px solid #efc1c1}.availability-months{display:grid;grid-template-columns:1fr 1fr;gap:18px}.availability-month{background:var(--paper);border:1px solid var(--border);padding:16px;border-radius:16px}.availability-month h4{margin:0 0 14px}.availability-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.availability-day{display:flex;align-items:center;justify-content:center;min-height:38px;border-radius:10px;font-size:14px;font-weight:600}.availability-day.available{background:#e7f6ec;color:#16643c}.availability-day.booked{background:#f03535;color:#a12828}.availability-day.past{background:#f1f2f4;color:#8c8c8c}.availability-day.empty{background:transparent}.availability-day:hover{transform:none}@media (max-width:760px){.availability-months{grid-template-columns:1fr}.availability-grid{gap:6px}.availability-day{min-height:34px;font-size:13px}}

.payment-hold-box{display:grid;gap:16px}.hold-timer{font-weight:700;color:#8a5a00}


/* Final responsive cleanup */
@media (max-width: 900px){
  .property-layout{display:grid !important;grid-template-columns:1fr !important;gap:18px !important}
  .sidebar-card.enquiry-box{position:static !important;order:-1}
}
@media (max-width: 760px){
  .content-card,.sidebar-card,.auth-card{padding:16px !important}
  .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .gallery-item-card img,.content-card img{max-width:100%;height:auto}
  .search-result-card{border-radius:16px}
  .search-result-media{min-height:200px !important}
  .navbar{align-items:center}
  .logo-wrap{max-width:210px !important}
  .hero-copy{max-width:100% !important}
  .form-grid label{display:grid;gap:8px}
  .form-grid input,.form-grid select,.form-grid textarea{width:100%}
  .btn-outline,button,.btn{font-size:15px}
  .footer-list a,.footer-list span{display:block;padding:4px 0}
}


.calendar-nav{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}
.calendar-arrow{width:44px;height:44px;border:none;border-radius:12px;background:#111;color:#fff;font-size:20px;cursor:pointer}
.calendar-arrow:disabled{opacity:.45;cursor:not-allowed}
.availability-slider{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.slide-month{display:block}
.availability-day.booked{background:#f03535;color:#fff}
@media (max-width:760px){.availability-slider{grid-template-columns:1fr}}

.site-top.no-hero{padding:10px 0}.site-top.no-hero .navbar{background:rgba(8,10,12,.96);border-color:rgba(255,255,255,.08);box-shadow:0 14px 38px rgba(0,0,0,.34);padding:10px 16px;border-radius:18px}


.compact-admin-card{padding:22px !important}
.compact-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.compact-admin-head h1{font-size:54px;line-height:1;margin-bottom:6px}
.compact-table{font-size:14px}
.compact-table th,.compact-table td{padding:10px 10px;vertical-align:middle}
.compact-inline-form{gap:6px}
.compact-action-btn,.compact-link-btn{min-height:38px !important;padding:8px 12px !important;font-size:13px !important;border-radius:12px !important}
.compact-link-btn{display:inline-flex;align-items:center;justify-content:center}
.compact-table .status-badge{padding:6px 9px;font-size:11px}
.compact-table td:nth-child(1){min-width:220px}
.compact-table td:nth-child(8){white-space:nowrap}
@media (max-width:760px){
  .compact-admin-card{padding:16px !important}
  .compact-admin-head h1{font-size:36px}
  .compact-action-btn,.compact-link-btn{width:auto !important;min-height:36px !important}
}

.action-dropdown-form{flex-wrap:nowrap}
.compact-action-select{min-height:38px;border-radius:12px;border:1px solid var(--border);padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:13px}
@media (max-width:760px){
  .action-dropdown-form{display:grid;grid-template-columns:1fr;gap:6px;width:100%}
  .compact-action-select{width:100%}
}

.ui-breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:18px}.ui-breadcrumbs a{color:var(--dark);font-weight:600}.ui-breadcrumbs span:last-child{color:var(--muted)}

.footer-premium{
  padding: 64px 0 34px;
}

.footer-premium a{
  text-decoration: none;
  color: rgba(255,255,255,0.92);
  transition: all .25s ease;
}

.footer-premium a:hover{
  color: #d6b36a;
  transform: translateX(2px);
}

.footer-premium h4{
  font-size: 19px;
  margin: 0 0 14px;
  color: #fff;
}

.footer-premium .footer-list a{
  line-height: 1.7;
}

@media (max-width: 1100px){
  .footer-shell{
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }
}

@media (max-width: 760px){
  .footer-shell{
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .footer-premium{
    padding: 48px 0 28px;
  }
}

.enquiry-box-luxury{background:linear-gradient(180deg,#fffdf8 0%,#f7f1e4 100%);border:1px solid rgba(185,146,86,.28);box-shadow:0 18px 45px rgba(31,27,20,.10)}
.enquiry-intro{margin:-4px 0 18px;color:var(--muted);font-size:15px;line-height:1.6}
.price-panel{padding:18px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(185,146,86,.22);margin-bottom:16px}
.price-subline{font-size:13px;color:var(--muted);margin:-8px 0 14px}
.booking-mini-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.booking-mini-card{padding:14px 14px;border-radius:16px;background:#fff;border:1px solid var(--border)}
.booking-mini-card span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.booking-mini-card strong{font-size:18px;color:var(--dark);font-family:Georgia,'Times New Roman',serif}
.enquiry-form-modern{gap:14px}
.enquiry-form-modern label span{font-size:13px;letter-spacing:.02em;color:#4e4a43}
.enquiry-form-modern input,.enquiry-form-modern textarea{border-radius:14px;background:#fffdf9;border:1px solid #d8cdb8;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.enquiry-form-modern input:focus,.enquiry-form-modern textarea:focus{outline:none;border-color:#b99256;box-shadow:0 0 0 4px rgba(185,146,86,.12)}
.captcha-box{padding:14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px dashed rgba(185,146,86,.45)}
.captcha-inline{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center}
.captcha-badge{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 14px;border-radius:14px;background:#1c2430;color:#fff;font-weight:700;letter-spacing:.04em}
.enquiry-form-modern button{border-radius:16px;padding:16px 18px;font-weight:700;box-shadow:0 14px 24px rgba(17,22,27,.12)}
@media (max-width:760px){.booking-mini-summary,.captcha-inline{grid-template-columns:1fr}.price-line strong{font-size:36px}}


/* CLEAN v3: square corners + navbar-width search bar + compact picker */
.booking-ribbon,
.search-bar,
.search-bar input,
.search-bar select,
.search-bar button,
.date-range-field,
.date-range-display,
.date-range-picker,
.drp-month,
.drp-day,
.drp-empty,
.btn,
.btn-outline,
button,
.navbar,
.content-card,
.sidebar-card,
.editorial-card,
.auth-card,
.stat-card,
.dynamic-box,
.card,
.footer-shell,
.status-badge,
.amenity-chip,
.booking-mini-card,
.captcha-box,
.captcha-badge{
  border-radius:0 !important;
}

.hero-copy{
  width:min(1200px,92%) !important;
  margin:0 auto !important;
}

.booking-ribbon{
  margin-top:34px !important;
  width:100% !important;
  max-width:100% !important;
  padding:10px 12px !important;
  background:rgba(255,255,255,.95) !important;
  border:1px solid rgba(220,210,194,.95) !important;
  border-top:2px solid rgba(185,146,86,.95) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.14) !important;
}

.search-bar{
  display:grid !important;
  width:100% !important;
  grid-template-columns:minmax(240px,1.45fr) minmax(240px,1.45fr) minmax(130px,.8fr) minmax(150px,.95fr) minmax(160px,.9fr) !important;
  gap:10px !important;
  align-items:center !important;
}

.search-bar input,
.search-bar select{
  min-height:46px !important;
  height:46px !important;
  padding:0 14px !important;
  border:1px solid #d8cfbf !important;
  background:#fff !important;
  box-shadow:none !important;
}

.search-bar button{
  min-height:40px !important;
  height:40px !important;
  padding:0 18px !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.date-range-field{
  position:relative !important;
  display:block !important;
  z-index:80 !important;
}

.date-range-display{
  min-height:46px !important;
  height:46px !important;
  line-height:46px !important;
  padding:0 42px 0 14px !important;
  cursor:pointer !important;
  background:#fff !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.date-range-field::after{
  content:"📅";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:16px;
  pointer-events:none;
  opacity:.8;
}

.date-range-picker{
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  top:auto !important;
  bottom:calc(100% + 8px) !important;
  width:330px !important;
  max-width:330px !important;
  padding:10px !important;
  background:#fffdfa !important;
  border:1px solid #dfd4c4 !important;
  box-shadow:0 18px 48px rgba(0,0,0,.16) !important;
  z-index:9999 !important;
}

.date-range-picker-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin-bottom:8px !important;
}

.date-range-picker-title{
  font-size:15px !important;
  font-weight:700 !important;
}

.date-range-picker-nav{
  display:flex !important;
  gap:6px !important;
}

.date-range-picker-nav button{
  width:32px !important;
  height:32px !important;
  min-height:auto !important;
  padding:0 !important;
  font-size:15px !important;
}

.date-range-picker-months{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}

.drp-month{
  padding:8px !important;
  border:1px solid var(--border) !important;
  background:#fffdf8 !important;
}

.drp-month-title{
  font-size:14px !important;
  font-weight:700 !important;
  margin-bottom:6px !important;
  font-family:Georgia,'Times New Roman',serif !important;
}

.drp-weekdays,
.drp-grid{
  display:grid !important;
  grid-template-columns:repeat(7,1fr) !important;
  gap:4px !important;
}

.drp-weekdays span{
  font-size:9px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
  text-align:center !important;
  padding:3px 0 !important;
}

.drp-day,
.drp-empty{
  height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
}

.drp-day{
  border:1px solid transparent !important;
  background:#fff !important;
  cursor:pointer !important;
  font-weight:600 !important;
}

.drp-day:hover{
  border-color:#d9c299 !important;
  background:#fff8ec !important;
}

.drp-day.disabled{
  background:#f3f4f6 !important;
  color:#a1a1aa !important;
  cursor:not-allowed !important;
  text-decoration:line-through !important;
}

.drp-day.booked{
  background:#fff1f1 !important;
  color:#d12d2d !important;
}

.drp-day.in-range,
.availability-day.in-range{
  background:#f7ecd6 !important;
  color:#7a5a24 !important;
}

.drp-day.selected-start,
.drp-day.selected-end,
.availability-day.selected-start,
.availability-day.selected-end{
  background:linear-gradient(135deg,#b99256 0%,#d8ba84 100%) !important;
  color:#111 !important;
}

.availability-day[data-selectable="1"]{
  cursor:pointer;
}

.availability-day[data-selectable="1"]:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

@media (max-width:1100px){
  .search-bar{
    grid-template-columns:1fr 1fr 1fr 1fr 1fr !important;
  }
}

@media (max-width:760px){
  .hero-copy{
    width:min(100%, calc(100% - 28px)) !important;
  }

  .booking-ribbon{
    width:100% !important;
    padding:12px !important;
  }

  .search-bar{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .search-bar input,
  .search-bar select,
  .search-bar button,
  .date-range-display{
    min-height:50px !important;
    height:50px !important;
    line-height:50px !important;
  }

  .date-range-picker{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    width:auto !important;
    max-width:none !important;
    max-height:85vh !important;
    overflow:auto !important;
    padding:14px !important;
  }

  .drp-day,
  .drp-empty{
    height:36px !important;
    font-size:13px !important;
  }
}


/* v4 picker polish: one clean box + smaller day cells */
.date-range-picker{
  background:#fffdf8 !important;
  border:1px solid #d8cfbf !important;
  box-shadow:0 18px 48px rgba(0,0,0,.16) !important;
  padding:12px !important;
}

.date-range-picker-header{
  background:transparent !important;
  border:none !important;
  margin:0 0 -20px 0 !important;
  padding:0 !important;
}

.date-range-picker-title{
  color:#1b1b1b !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.price-subline{
  color:#6d665e !important;
  font-size:12px !important;
}

.date-range-picker-months{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
}

.drp-month{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

.drp-month-title{
  color:#1f1f1f !important;
  font-size:14px !important;
  font-weight:700 !important;
  margin:0 0 8px 0 !important;
}

.drp-weekdays span{
  color:#6f675f !important;
  font-size:10px !important;
  font-weight:700 !important;
}

.drp-grid{
  gap:3px !important;
}

.drp-day,
.drp-empty{
  width:30px !important;
  height:30px !important;
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  padding:0 !important;
}

.drp-day{
  line-height:30px !important;
  background:#f7f1e7 !important;
  color:#1f1f1f !important;
  border:1px solid #eadfcd !important;
  font-weight:700 !important;
}

.drp-day:hover{
  background:#efe2c8 !important;
  border-color:#d6b277 !important;
  color:#111 !important;
}

.drp-day.disabled{
  background:#f4efe8 !important;
  color:#b6ada2 !important;
  border-color:#efe7dc !important;
  text-decoration:none !important;
}

.drp-day.booked{
  background:#f8dede !important;
  color:#b42323 !important;
  border-color:#ebc4c4 !important;
}

.drp-day.selected-start,
.drp-day.selected-end{
  background:#cfae72 !important;
  color:#111 !important;
  border-color:#b99256 !important;
}

.drp-day.in-range{
  background:#f2e6cf !important;
  color:#6c5124 !important;
  border-color:#e4d2af !important;
}

@media (max-width:760px){
  .drp-day,
  .drp-empty{
    width:34px !important;
    height:34px !important;
    min-height:34px !important;
    font-size:12px !important;
  }

  .drp-day{
    line-height:34px !important;
  }
}

/* Force square corners everywhere */
*,
*::before,
*::after{
  border-radius:0 !important;
}
.property-gallery-split{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:12px;
  margin-bottom:20px;
}

.gallery-main,
.gallery-thumb{
  display:block;
  overflow:hidden;
  border-radius:18px;
  background:#e7dfd2;
}

.gallery-main img,
.gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.gallery-main:hover img,
.gallery-thumb:hover img{
  transform:scale(1.03);
}

.gallery-main{
  min-height:520px;
}

.gallery-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.gallery-thumb{
  min-height:254px;
}

.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#111;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10001;
}

.lightbox-prev{
  left:24px;
}

.lightbox-next{
  right:24px;
}

@media (max-width:760px){
  .property-gallery-split{
    grid-template-columns:1fr;
  }

  .gallery-main{
    min-height:280px;
  }

  .gallery-side{
    grid-template-columns:1fr 1fr;
  }

  .gallery-thumb{
    min-height:140px;
  }

  .lightbox-prev,
  .lightbox-next{
    width:46px;
    height:46px;
    font-size:28px;
  }

  .lightbox-prev{
    left:12px;
  }

  .lightbox-next{
    right:12px;
  }
}
.gallery-thumb-more{
  position:relative;
}

.gallery-more-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.45);
  color:#fff;
  font-size:22px;
  font-weight:700;
  letter-spacing:.02em;
  z-index:2;
}

.gallery-thumb-more img{
  filter:brightness(.72);
}

@media (max-width:760px){
  .gallery-more-overlay{
    font-size:16px;
    padding:10px;
    text-align:center;
  }
}
.gallery-hidden-links{
  display:none;
}
@media (max-width:760px){
  .property-gallery-split{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:18px;
  }

  .gallery-main{
    min-height:260px;
    border-radius:16px;
  }

  .gallery-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .gallery-thumb{
    min-height:120px;
    border-radius:14px;
  }

  .gallery-more-overlay{
    font-size:15px;
    padding:10px;
    text-align:center;
  }
}

@media (max-width:480px){
  .gallery-main{
    min-height:220px;
  }

  .gallery-side{
    gap:8px;
  }

  .gallery-thumb{
    min-height:100px;
  }

  .gallery-more-overlay{
    font-size:14px;
  }
}

/* Destination single page navbar same as destinations listing */
.destination-single-page .site-top,
.destination-single .site-top,
body[data-page="destination"] .site-top{
  padding:10px 0 !important;
}

.destination-single-page .site-top .navbar,
.destination-single .site-top .navbar,
body[data-page="destination"] .site-top .navbar{
  background:rgba(8,10,12,.96) !important;
  border-color:rgba(255,255,255,.08) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.34) !important;
  padding:10px 16px !important;
}

.destination-single-page .site-top .nav-links a,
.destination-single .site-top .nav-links a,
body[data-page="destination"] .site-top .nav-links a{
  color:#fff !important;
  text-shadow:none !important;
}