/* =====================================================================
   Cozy — shared styles for every page (admin + customer).
   Palette: white / navy / black (light), near-black / blue / white (dark).
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&family=Tajawal:wght@300;400;500;700;800&display=swap');

:root{
  --bg:#FFFFFF; --bg-soft:#F4F6F9;
  --surface:#FFFFFF; --surface-2:#F6F8FA; --surface-3:#ECEFF4;
  --ink:#0B1320; --ink-soft:#4A5568; --ink-faint:#8C96A6;
  --line:#E4E8EE; --line-strong:#CDD4DF;
  --primary:#15294D; --primary-dark:#0A1730; --primary-soft:#E8EDF6; --on-primary:#FFFFFF;
  --accent:#15294D; --accent-dark:#0A1730; --accent-soft:#E8EDF6; --on-accent:#FFFFFF;
  --danger:#B3261E; --danger-soft:#FBE9E7;
  --success:#1E6B4D; --success-soft:#E3F3EB;
  --info:#205C97; --info-soft:#E7EFF8;
  --shadow:0 18px 40px -16px rgba(10,20,40,.18);
  --shadow-sm:0 8px 20px -10px rgba(10,20,40,.14);
  --radius:10px; --radius-sm:6px; --radius-lg:14px;
  --font-display:'Cairo',sans-serif; --font-body:'Tajawal',sans-serif;
}
[data-theme="dark"]{
  --bg:#080A0F; --bg-soft:#0C0F16;
  --surface:#10141C; --surface-2:#0B0E15; --surface-3:#171C28;
  --ink:#F1F3F7; --ink-soft:#9CA6B8; --ink-faint:#646E80;
  --line:#1D2330; --line-strong:#2C3445;
  --primary:#6E94E8; --primary-dark:#4A6FC4; --primary-soft:#172033; --on-primary:#080A0F;
  --accent:#6E94E8; --accent-dark:#4A6FC4; --accent-soft:#172033; --on-accent:#080A0F;
  --danger:#E2685C; --danger-soft:#2A1614;
  --success:#57C193; --success-soft:#0F2A1F;
  --info:#6E94E8; --info-soft:#172033;
  --shadow:0 18px 44px -14px rgba(0,0,0,.65);
  --shadow-sm:0 10px 22px -10px rgba(0,0,0,.6);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .25s,color .25s;}
h1,h2,h3,h4{font-family:var(--font-display);}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
a{color:inherit;text-decoration:none;}
.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

.container{max-width:1240px;margin:0 auto;padding:0 24px;}
.row{display:flex;align-items:center;}
.grid{display:grid;}
.between{justify-content:space-between;}
.gap-1{gap:6px;}.gap-2{gap:10px;}.gap-3{gap:16px;}.gap-4{gap:24px;}
.wrap{flex-wrap:wrap;}
.muted{color:var(--ink-soft);}
.faint{color:var(--ink-faint);}
.relative{position:relative;}
.hide{display:none !important;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:4px;padding:12px 24px;font-weight:700;font-size:14px;transition:transform .15s,box-shadow .2s,background .2s,opacity .2s;white-space:nowrap;}
.btn:active{transform:scale(.97);}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--primary-dark);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.btn-ghost:hover{background:var(--surface-3);}
.btn-soft{background:var(--surface-3);color:var(--ink);}
.btn-soft:hover{background:var(--line);}
.btn-danger{background:var(--danger-soft);color:var(--danger);}
.btn-danger:hover{background:var(--danger);color:#fff;}
.btn-sm{padding:8px 16px;font-size:13px;border-radius:4px;}
.btn-icon{padding:10px;border-radius:50%;}
.btn-block{width:100%;}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:700;}
.badge-success{background:var(--success-soft);color:var(--success);}
.badge-danger{background:var(--danger-soft);color:var(--danger);}
.badge-info{background:var(--info-soft);color:var(--info);}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-size:13.5px;font-weight:700;color:var(--ink-soft);}
.field .hint{font-size:12px;color:var(--ink-faint);font-weight:400;}
.hint{font-size:12px;color:var(--ink-faint);font-weight:400;}
.input,.select,.textarea{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;font-size:14.5px;color:var(--ink);width:100%;outline:none;transition:border-color .15s,box-shadow .15s;}
.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
/* ── Shared auth (login) classes ── */
.auth-input-wrap{position:relative;width:100%;}
.auth-leading-icon{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-faint);pointer-events:none;z-index:2;}
.auth-password-toggle{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0;border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-faint);z-index:2;}
.auth-password-toggle:hover{background:var(--surface-3);}
.auth-inp-icon{padding-inline-start:42px!important;padding-inline-end:46px!important;}
.auth-error{font-size:13px;margin:8px 0 4px;padding:8px 12px;border-radius:8px;background:#FEF2F2;border:1px solid #FECACA;color:#DC2626;display:none;width:100%;box-sizing:border-box;}
.auth-submit{width:100%;}
.input-group{position:relative;}
.input-group .icon{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);color:var(--ink-faint);}
.input-group .input{padding-inline-start:40px;}
.input-group .toggle-eye{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink-faint);}
.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.lang-tag{font-size:10.5px;background:var(--surface-3);color:var(--ink-soft);padding:2px 8px;border-radius:6px;font-weight:800;}

.switch{position:relative;display:inline-block;width:46px;height:26px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.switch .track{position:absolute;inset:0;background:var(--line-strong);border-radius:999px;transition:.2s;}
.switch .knob{position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 2px 4px rgba(0,0,0,.25);}
.switch input:checked + .track{background:var(--primary);}
.switch input:checked + .track .knob{transform:translateX(20px);}
[dir="rtl"] .switch input:checked + .track .knob{transform:translateX(-20px);}

table{width:100%;border-collapse:collapse;}
th,td{padding:13px 14px;text-align:start;font-size:14px;border-bottom:1px solid var(--line);white-space:nowrap;}
th{color:var(--ink-soft);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;}
tr:last-child td{border-bottom:none;}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:none;overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;}
.actions-cell{display:flex;gap:6px;}
.table-card{overflow:hidden;}
.empty-state{text-align:center;padding:60px 20px;color:var(--ink-soft);}
.scrollx{overflow-x:auto;}

/* admin shell */
.admin-shell{display:flex;min-height:100vh;}
.sidebar{width:250px;flex:none;background:var(--surface-2);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px;}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px;font-family:var(--font-display);font-weight:800;font-size:17px;}
.side-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:var(--ink-soft);font-weight:700;font-size:14.5px;margin-bottom:4px;border:none;background:none;width:100%;text-align:start;}
.side-link .icon{font-size:18px;}
.side-link:hover{background:var(--surface-3);color:var(--ink);}
.side-link.active{background:var(--primary);color:var(--on-primary);}
.side-sep{height:1px;background:var(--line);margin:14px 8px;}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.admin-topbar{height:68px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:30;}
.admin-content{padding:28px;flex:1;}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.page-head h2{font-size:23px;margin:0 0 4px;}
.page-head p{margin:0;color:var(--ink-soft);font-size:13.5px;}
.iconbtn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink);border:none;font-size:17px;}
.iconbtn:hover{background:var(--line);}
.lang-toggle{display:flex;border:1.5px solid var(--line-strong);border-radius:999px;overflow:hidden;}
.lang-toggle button{border:none;background:transparent;padding:7px 14px;font-weight:800;font-size:13px;color:var(--ink-soft);}
.lang-toggle button.active{background:var(--primary);color:var(--on-primary);}
.profile-pop{position:absolute;inset-inline-end:0;top:54px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:220px;padding:8px;z-index:50;}
.profile-pop button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;text-align:start;}
.profile-pop button:hover{background:var(--surface-3);}

/* login */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;}
.login-art{position:relative;background:var(--primary-dark);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.login-form-side{display:flex;align-items:center;justify-content:center;padding:40px;}
.login-card{width:100%;max-width:400px;}
.login-card h1{font-size:25px;margin:14px 0 6px;}
.login-card p.sub{color:var(--ink-soft);font-size:14px;margin:0 0 26px;}
.demo-creds{background:var(--surface-3);border-radius:var(--radius-sm);padding:12px 14px;font-size:12.5px;margin-top:20px;line-height:1.7;}
@media (max-width:860px){.login-wrap{grid-template-columns:1fr;}.login-art{display:none;}}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(8,20,19,.55);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;}
.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);flex:none;}
.modal-head h3{margin:0;font-size:18.5px;}
.modal-body{padding:22px 24px;overflow-y:auto;flex:1;}
.modal-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;flex:none;}
.modal-close{background:var(--surface-3);border:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

.modal.modal-lg{max-width:880px;}
.form-section-title{font-size:13px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 10px;display:flex;align-items:center;gap:8px;}
.form-section-title:first-child{margin-top:0;}
.pill-group{display:flex;flex-wrap:wrap;gap:8px;}
.pill-opt{border:1.5px solid var(--line);background:var(--surface-2);padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.15s;}
.pill-opt.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);}
.pill-opt.disabled-type{opacity:.4;text-decoration:line-through;cursor:not-allowed;}
.check-row{display:flex;align-items:center;gap:10px;padding:10px 0;}
.check-row label{font-size:14px;font-weight:600;}
.divider{height:1px;background:var(--line);margin:18px 0;border:none;}

.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dow{text-align:center;font-size:12px;font-weight:800;color:var(--ink-faint);padding-bottom:6px;}
.cal-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:88px;padding:6px 4px;display:flex;flex-direction:column;gap:2px;cursor:pointer;overflow:visible;position:relative;z-index:1;}
.cal-cell:hover{border-color:var(--primary);}
.cal-cell.out{opacity:.35;}
.cal-cell .dnum{font-weight:800;font-size:13px;}
.cal-cell.today{border:2px solid var(--primary);}
/* Continuous booking bar — chips bleed across the 4px cell gap */
.cal-chip{font-size:10.5px;font-weight:700;padding:2px 5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;min-height:18px;display:block;position:relative;z-index:10;}
/* Continuous booking bar — margins span: 4px cell padding + 4px grid gap */
.cal-chip[data-pos="start"]{border-radius:0 6px 6px 0;margin-inline-end:-8px;}
.cal-chip[data-pos="mid"]{border-radius:0;margin-inline:-8px;}
.cal-chip[data-pos="end"]{border-radius:6px 0 0 6px;margin-inline-start:-8px;}
.cal-chip[data-pos="only"]{border-radius:6px;}
/* LTR override — start is on the left, end is on the right */
[dir="ltr"] .cal-chip[data-pos="start"]{border-radius:6px 0 0 6px;}
[dir="ltr"] .cal-chip[data-pos="end"]{border-radius:0 6px 6px 0;}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:13px;font-weight:700;}
.legend .dot{width:11px;height:11px;border-radius:3px;display:inline-block;margin-inline-end:6px;}
@media (max-width:640px){.cal-grid{grid-template-columns:repeat(7,minmax(36px,1fr));}.cal-cell{min-height:60px;font-size:11px;}}

/* toast */
.toast-wrap{position:fixed;top:20px;inset-inline-end:20px;z-index:200;display:flex;flex-direction:column;gap:10px;}
.toast{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--primary);box-shadow:var(--shadow);border-radius:var(--radius-sm);padding:14px 18px;min-width:280px;font-size:14px;font-weight:700;}
.toast.success{border-inline-start-color:var(--success);}
.toast.error{border-inline-start-color:var(--danger);}
.toast.info{border-inline-start-color:var(--info);}

@media (max-width:980px){
  .admin-shell{flex-direction:column;}
  .sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:10px;}
  .sidebar .brand{display:none;}
  .side-sep{display:none;}
  .form-grid2{grid-template-columns:1fr;}
}
.site-header{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(6px);}

/* ══ PAGE BACKGROUND SYSTEM — COMPREHENSIVE ════════════════════════════════ */
:root { --page-text:#0b1933; --page-muted:#4b5563; }
body.custom-background-dark { --page-text:#ffffff; --page-muted:rgba(255,255,255,0.78); }

body.theme-color {
  background-color:var(--site-bg-color,#ffffff) !important;
  background-image:none !important; min-height:100vh;
}
body.theme-color .site-header {
  background:rgba(255,255,255,0.18) !important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom-color:rgba(255,255,255,0.2) !important;
}
body.theme-color .site-footer { background:transparent !important; }

body.theme-image {
  background-color:#0B1933;
  background-image:
    linear-gradient(rgba(var(--site-overlay-rgb,0,0,0),var(--site-overlay-opacity,.25)),
                    rgba(var(--site-overlay-rgb,0,0,0),var(--site-overlay-opacity,.25))),
    var(--site-bg-image,none);
  background-size:cover; background-position:center;
  background-repeat:no-repeat; background-attachment:fixed; min-height:100vh;
}
body.theme-image .site-header {
  background:rgba(0,0,0,0.25) !important;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom-color:rgba(255,255,255,0.12) !important;
}
body.theme-image .site-footer { background:transparent !important; }
@media(max-width:768px){ body.theme-image { background-attachment:scroll; } }

body.custom-background-dark .nav-links a,
body.custom-background-dark .brand,
body.custom-background-dark .iconbar button,
body.custom-background-dark .iconbtn { color:#ffffff; }

body.custom-background-dark .section-head h2,
body.custom-background-dark .section-head p,
body.custom-background-dark .section > .container > h2,
body.custom-background-dark .section > .container > p,
body.custom-background-dark .page-heading { color:var(--page-text); }

body.custom-background-dark .btn-soft {
  background:rgba(255,255,255,0.15) !important; color:#ffffff !important;
  border-color:rgba(255,255,255,0.3) !important; backdrop-filter:blur(6px);
}

/* MASTER SURFACE RESET — every surface element resets --ink to dark */
body.theme-color .card, body.theme-image .card,
body.theme-color .prop-card, body.theme-image .prop-card,
body.theme-color .cat-card, body.theme-image .cat-card,
body.theme-color .chalet-card, body.theme-image .chalet-card,
body.theme-color .amenity-tag, body.theme-image .amenity-tag,
body.theme-color .price-row, body.theme-image .price-row,
body.theme-color .price-panel, body.theme-image .price-panel,
body.theme-color .contact-card, body.theme-image .contact-card,
body.theme-color .detail-surface, body.theme-image .detail-surface,
body.theme-color .stats-card, body.theme-image .stats-card,
body.theme-color .modal, body.theme-image .modal,
body.theme-color .select, body.theme-image .select,
body.theme-color .owner-login-form, body.theme-image .owner-login-form {
  --ink:#0b1933; --ink-soft:#4b5563; --ink-faint:#9ca3af;
  --line:rgba(11,25,51,.14); --accent-dark:var(--primary); color:#0b1933;
}

/* Glass backgrounds */
body.theme-color .card, body.theme-image .card,
body.theme-color .cat-card, body.theme-image .cat-card,
body.theme-color .chalet-card, body.theme-image .chalet-card,
body.theme-color .prop-card, body.theme-image .prop-card,
body.theme-color .price-panel, body.theme-image .price-panel,
body.theme-color .contact-card, body.theme-image .contact-card,
body.theme-color .detail-surface, body.theme-image .detail-surface,
body.theme-color .owner-login-form, body.theme-image .owner-login-form {
  background:rgba(255,255,255,0.92) !important;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-color:rgba(11,25,51,0.12) !important;
}
body.theme-color .amenity-tag, body.theme-image .amenity-tag {
  background:rgba(255,255,255,0.92) !important; border-color:rgba(11,25,51,0.18) !important;
}
body.theme-color .amenity-tag .icon, body.theme-image .amenity-tag .icon { color:var(--primary); }
body.theme-color .price-row, body.theme-image .price-row {
  background:rgba(248,250,252,0.96) !important; border-color:rgba(11,25,51,0.14) !important;
}
body.theme-color .cat-card .cat-ico, body.theme-image .cat-card .cat-ico { border-color:rgba(11,25,51,0.2); color:var(--primary); }
body.theme-color .stats-strip, body.theme-image .stats-strip { background:transparent !important; }
body.theme-color .stats-card, body.theme-image .stats-card {
  background:rgba(255,255,255,0.9) !important; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-color:rgba(11,25,51,0.14);
}
body.theme-color .input, body.theme-image .input {
  background:rgba(255,255,255,0.95) !important; color:#0b1933 !important; border-color:rgba(11,25,51,0.2) !important;
}
body.theme-color .select, body.theme-image .select { background:rgba(255,255,255,0.95) !important; color:#0b1933 !important; }
body.theme-color .modal, body.theme-image .modal { background:var(--surface) !important; }

/* Themed sections */
body.theme-default .themed-section { background:var(--surface-2); }
body.theme-color .themed-section, body.theme-image .themed-section { background:transparent; }
body.theme-color .themed-section .card, body.theme-image .themed-section .card { background:rgba(255,255,255,0.92) !important; }

/* Banner / Counter layout */
body.banner-hidden .hero-banner, body.banner-hidden #heroBanner { display:none !important; }
body.has-banner .stats-strip { position:relative; margin-top:-56px; z-index:5; }
body.no-banner  .stats-strip { position:relative; margin-top:0 !important; transform:none !important; padding-top:40px; }
body.no-counter .stats-strip { display:none !important; }
body.no-banner main > section:first-child:not(.stats-strip) { padding-top:40px; }
/* ════════════════════════════════════════════════════════════════════════════*/
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:20px;}
.brand .logo-mark{width:38px;height:38px;flex:none;}
.nav-links{display:flex;align-items:center;gap:26px;font-weight:700;font-size:14.5px;}
.nav-links a{color:var(--ink-soft);padding:8px 2px;border-bottom:2px solid transparent;transition:.15s;}
.nav-links a.active,.nav-links a:hover{color:var(--primary);border-color:var(--primary);}
.iconbar{display:flex;align-items:center;gap:8px;}
.iconbtn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink);border:none;font-size:17px;transition:.15s;}
.iconbtn:hover{background:var(--line);}
.lang-toggle{display:flex;border:1.5px solid var(--line-strong);border-radius:999px;overflow:hidden;}
.lang-toggle button{border:none;background:transparent;padding:7px 14px;font-weight:800;font-size:13px;color:var(--ink-soft);}
.lang-toggle button.active{background:var(--primary);color:var(--on-primary);}

/* ============ HERO / SCENE ART ============ */
.hero-banner{position:relative;width:100%;min-height:62vh;max-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);}
.hero-banner .bg{position:absolute;inset:0;z-index:0;}
.hero-banner .bg img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-banner .bg svg{width:100%;height:100%;display:block;}
.hero-banner .overlay-grad{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(5,7,12,.1) 0%, rgba(5,7,12,.45) 55%, rgba(5,7,12,.92) 100%);}
.hero-banner .content{position:relative;z-index:2;color:#fff;padding:64px 0 88px;width:100%;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);color:#fff;font-weight:800;font-size:12px;padding:7px 15px;border-radius:999px;letter-spacing:.04em;backdrop-filter:blur(6px);}
.hero-banner h1{font-size:52px;line-height:1.12;margin:18px 0 14px;font-weight:800;color:#fff;}
.hero-banner p.lead{font-size:16.5px;color:#D7DEEA;max-width:540px;margin-bottom:0;}
.hero-banner .cta-row{margin-top:26px;}
.btn-on-photo{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(6px);}
.btn-on-photo:hover{background:rgba(255,255,255,.22);}
.hero-banner.intro .eyebrow{animation:heroRise .6s ease both;}
.hero-banner.intro h1{animation:heroRise .6s .08s ease both;}
.hero-banner.intro p.lead{animation:heroRise .6s .16s ease both;}
.hero-banner.intro .cta-row{animation:heroRise .6s .24s ease both;}
@keyframes heroRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){.hero-banner.intro .eyebrow,.hero-banner.intro h1,.hero-banner.intro p.lead,.hero-banner.intro .cta-row{animation:none;}}
.stats-strip{position:relative;z-index:3;margin-top:-44px;margin-bottom:10px;}
.stats-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;width:100%;overflow:hidden;}
.stats-card .stat{flex:1;text-align:center;padding:22px 14px;border-inline-end:1px solid var(--line);}
.stats-card .stat:last-child{border-inline-end:none;}
.stats-card .stat .num{font-family:var(--font-display);font-weight:800;font-size:28px;color:var(--ink);line-height:1;}
.stats-card .stat .lbl{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:6px;font-weight:700;}
.scene-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--surface-3);}
.scene-wrap svg{width:100%;height:100%;display:block;}
.tide{position:relative;height:56px;margin-top:-2px;}
.tide svg{width:100%;height:100%;display:block;}
.tide .wave-anim{animation:driftWave 14s linear infinite;}
@keyframes driftWave{from{transform:translateX(0);}to{transform:translateX(-200px);}}
@media (prefers-reduced-motion: reduce){.tide .wave-anim{animation:none;}}

/* ============ SECTIONS ============ */
.section{padding:54px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap;}
.section-head h2{font-size:28px;font-weight:800;margin:0 0 6px;}
.section-head p{margin:0;color:var(--ink-soft);font-size:14.5px;}

/* category chips/cards */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;}
.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 14px;text-align:center;transition:.2s;cursor:pointer;}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--primary);}
.cat-card.selected{border-color:var(--primary);background:var(--primary-soft);}
.cat-card .cat-ico{width:56px;height:56px;border-radius:50%;background:transparent;border:1px solid var(--line-strong);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:22px;overflow:hidden;transition:.2s;}
[data-theme="dark"] .cat-card .cat-ico{color:var(--accent);}
.cat-card:hover .cat-ico{border-color:var(--accent);background:var(--accent-soft);}
.cat-card .cat-ico img{width:100%;height:100%;object-fit:cover;}
.cat-card .cat-name{font-weight:800;font-size:14.5px;}

/* chalet card grid */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.chalet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;}
.chalet-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s;cursor:pointer;display:flex;flex-direction:column;}
.chalet-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.chalet-card .cover{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-3);}
.chalet-card .cover-art{position:absolute;inset:0;}
.chalet-card .cover-art svg,.chalet-card .cover-art img{width:100%;height:100%;display:block;}
.chalet-card .cover .price-tag{position:absolute;inset-inline-end:12px;bottom:12px;background:rgba(8,30,28,.78);color:#FBF8EF;padding:7px 14px;border-radius:999px;font-weight:800;font-size:13.5px;backdrop-filter:blur(4px);}
.chalet-card .cover .fav-badges{position:absolute;inset-inline-start:12px;top:12px;display:flex;gap:6px;z-index:2;}
.chalet-card .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.chalet-card .title{font-family:var(--font-display);font-weight:800;font-size:17.5px;}
.chalet-card .tease{font-size:13px;color:var(--ink-soft);line-height:1.55;flex:1;}
.chalet-card .specs{display:flex;gap:14px;font-size:12.5px;color:var(--ink-soft);flex-wrap:wrap;}
.chalet-card .specs span{display:flex;align-items:center;gap:4px;}
.chalet-card .cats{display:flex;gap:6px;flex-wrap:wrap;}

/* chalet detail */
.gallery-main{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow);margin-bottom:14px;background:var(--surface-3);position:relative;}
.gallery-main img,.gallery-main>div{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.gallery-main svg,.gallery-main img{width:100%;height:100%;display:block;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.gallery-thumbs .thumb{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;background:var(--surface-3);}
.gallery-thumbs .thumb.active{border-color:var(--primary);}
.gallery-thumbs .thumb svg,.gallery-thumbs .thumb img{width:100%;height:100%;display:block;object-fit:cover;}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.spec-item{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:8px;}
.spec-item .ico{width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--accent-dark);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
[data-theme="dark"] .spec-item .ico{border-color:var(--accent);color:var(--accent);}
.spec-item .lbl{font-size:12px;color:var(--ink-faint);font-weight:700;}
.spec-item .val{font-size:14.5px;font-weight:800;}
.stat-row{display:flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);}
.stat-tile{flex:1;text-align:center;padding:18px 8px;border-inline-end:1px solid var(--line);}
.stat-tile:last-child{border-inline-end:none;}
.stat-tile .num{font-family:var(--font-display);font-weight:800;font-size:25px;color:var(--ink);line-height:1;}
.stat-tile .cap{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-weight:700;}
.amenity-row{display:flex;flex-wrap:wrap;gap:10px;}
.amenity-tag{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:4px;font-size:13.5px;font-weight:700;color:var(--ink);background:var(--surface-2);}
.amenity-tag .icon{color:var(--accent-dark);}
[data-theme="dark"] .amenity-tag .icon{color:var(--accent);}
.price-table{display:flex;flex-direction:column;gap:10px;}
.price-row{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 16px;}
.wa-cta{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#1E8E5A,#0C5C53);color:#fff;border-radius:var(--radius);padding:18px 22px;margin-top:20px;}
[data-theme="dark"] .wa-cta{background:linear-gradient(135deg,#15543A,#0E2F2B);}
.wa-cta .ico{width:46px;height:46px;background:rgba(255,255,255,.18);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;}

/* footer */
.site-footer{background:var(--primary-dark);color:#EFE8D6;padding:50px 0 26px;margin-top:40px;}
[data-theme="dark"] .site-footer{background:#061817;}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;align-items:start;text-align:center;}
.footer-grid > div{min-width:0;}
.site-footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#9FC6BC;margin:0 0 14px;}
.site-footer .item{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;font-size:14px;color:#DCE7D9;}
/* ── Centered social row (independent of any column) ── */
.footer-social-center{width:100%;display:flex;justify-content:center;align-items:center;margin:24px 0;direction:ltr;}
.footer-social-links{display:flex;justify-content:center;align-items:center;gap:var(--footer-social-gap,14px);flex-wrap:wrap;}
.footer-social-link{width:var(--footer-social-size,40px);height:var(--footer-social-size,40px);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--footer-social-bg,rgba(255,255,255,.1));color:var(--footer-social-icon-color,#fff);text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease;}
.footer-social-link:hover{background:var(--footer-social-hover-bg,rgba(255,255,255,.25));color:var(--footer-social-hover-icon-color,#fff);transform:translateY(-2px);}
.footer-social-link svg{width:20px;height:20px;color:inherit;}
@media(max-width:768px){.footer-social-center{margin:20px 0;}.footer-social-links{flex-wrap:wrap;}}
.social-row a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:16px;transition:.15s;}
.social-row a:hover{background:var(--accent);color:#22150A;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:12.5px;color:#9FB6AE;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;}
.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;text-decoration:none;color:var(--ink);transition:.15s;}
.contact-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);}
.contact-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none;}
.contact-label{font-size:11.5px;color:var(--ink-faint);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;}
.contact-value{font-size:15px;font-weight:700;}

@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
}
@media (max-width:640px){
  .hero-banner h1{font-size:34px;}
  .hero-banner{min-height:52vh;}
}

/* ── About Us Page ──────────────────────────────────────────── */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:60px 0;}
.about-hero-text h2{font-size:36px;font-weight:800;margin:0 0 18px;line-height:1.25;}
.about-hero-text p{font-size:15.5px;line-height:1.85;color:var(--ink-soft);}
.about-carousel{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--surface-3);box-shadow:var(--shadow-lg);}
.about-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s;}
.about-carousel img.hidden{opacity:0;}
.vm-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;}
.vm-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;gap:14px;align-items:flex-start;}
.vm-icon{width:44px;height:44px;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;}
.vm-title{font-size:14px;font-weight:800;margin-bottom:6px;}
.vm-text{font-size:13.5px;color:var(--ink-soft);line-height:1.7;}
.who-section{padding:60px 0;}
.who-section h2{font-size:32px;font-weight:800;margin-bottom:32px;text-align:center;}
.who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,320px));justify-content:center;gap:18px;}
.who-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;display:flex;gap:14px;align-items:flex-start;}
.who-num{width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex:none;}
.who-text{font-size:14.5px;line-height:1.75;color:var(--ink-soft);}
.journey-section{padding:60px 0;overflow:hidden;}
.journey-section h2{font-size:32px;font-weight:800;margin-bottom:44px;text-align:center;}
.journey-track{position:relative;padding:0 0 10px;}
.journey-track::before{content:'';position:absolute;top:20px;inset-inline-start:0;inset-inline-end:0;height:3px;background:linear-gradient(to left,var(--primary),var(--accent,#B68A2E));}
.journey-items{display:flex;gap:0;overflow-x:auto;padding-bottom:20px;}
.journey-item{flex:none;min-width:200px;max-width:240px;padding-top:44px;padding-inline-end:24px;position:relative;text-align:center;}
.journey-item::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:var(--primary);border:4px solid var(--surface);}
.journey-year{font-size:22px;font-weight:800;color:var(--primary);margin-bottom:6px;line-height:1.2;}
.journey-text{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin:0;}
/* About sections centered */
.who-we-section,.journey-section,.team-section,.clients-section{text-align:center;}
.who-we-section .container,.journey-section .container,.team-section .container,.clients-section .container{max-width:1100px;margin:0 auto;padding:0 24px;}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;justify-items:center;}
.team-section{padding:60px 0;}
.team-section h2{font-size:32px;font-weight:800;margin-bottom:36px;text-align:center;}
.team-card{text-align:center;background:var(--surface-2);border-radius:var(--radius-lg);padding:28px 16px;border:1px solid var(--line);transition:.15s;width:100%;}
.team-card:hover{box-shadow:var(--shadow);border-color:var(--primary);}
.team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 14px;overflow:hidden;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:32px;border:3px solid var(--line);}
.team-avatar img{width:100%;height:100%;object-fit:cover;}
.team-name{font-size:14.5px;font-weight:800;margin-bottom:4px;}
.team-role{font-size:12.5px;color:var(--ink-faint);font-weight:600;}
.clients-section{padding:60px 0;}
.clients-section h2{font-size:32px;font-weight:800;margin-bottom:32px;text-align:center;}
.clients-grid{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;}
.client-logo{width:110px;height:70px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;padding:10px;}
.client-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.section-divider{height:1px;background:var(--line);margin:20px 0;}
@media(max-width:768px){.about-hero{grid-template-columns:1fr;}.vm-row{grid-template-columns:1fr;}.team-grid{grid-template-columns:repeat(2,1fr);}}

/* ── Horizontal category display ── */
.cat-grid-h{display:flex;flex-direction:column;gap:14px;}
.cat-card-h{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;display:flex;align-items:center;gap:18px;cursor:pointer;transition:.15s;}
.cat-card-h:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);}
.cat-ico-h{width:52px;height:52px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;}
.stats-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;}
.stats-card .stat .num{color:var(--counter-color,var(--primary));}

/* ── Amenity icon picker ── */
.ico-opt{width:44px;height:44px;border-radius:8px;background:var(--surface-2);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:18px;transition:.12s;color:var(--ink-soft);}
.ico-opt:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);}
.ico-opt--active{border-color:var(--primary)!important;background:var(--primary)!important;color:#fff!important;}
/* ── Pill options (amenities in chalet form) ── */
.pill-opt{padding:6px 12px;border-radius:20px;background:var(--surface-2);border:1.5px solid var(--line);cursor:pointer;font-size:13px;font-weight:600;transition:.12s;user-select:none;}
.pill-opt:hover,.pill-opt.active{background:var(--primary);color:#fff;border-color:var(--primary);}

/* ── Bookings redesign ── */
.tab-bar{display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:20px;}
.tab-btn{background:none;border:none;padding:10px 20px;font-size:14.5px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;transition:.15s;}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.prop-card{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:.15s;}
.prop-card:hover,.prop-card--active{border-color:var(--primary);box-shadow:var(--shadow);}
.prop-card--active{background:var(--primary-soft);}
.prop-thumb{height:130px;background:var(--surface-3);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:32px;}
.prop-thumb img{width:100%;height:100%;object-fit:cover;}
.prop-info{padding:12px;}
.prop-name{font-weight:700;font-size:14px;margin-bottom:4px;}
.prop-owner{font-size:12px;color:var(--ink-faint);}
.cal-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:4px;}

/* ── Customer list view ── */
.chalet-list{display:flex;flex-direction:column;gap:14px;}
.chalet-list-row{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:.15s;}
.chalet-list-row:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);}
.chalet-list-thumb{width:80px;height:60px;border-radius:8px;overflow:hidden;background:var(--surface-3);flex:none;display:flex;align-items:center;justify-content:center;}
.chalet-list-thumb img{width:100%;height:100%;object-fit:cover;}
.chalet-list-body{flex:1;}

/* Language tag shows in current UI language via data attribute */
[dir="rtl"] .lang-tag-ar::after { content: "عربي"; }
[dir="rtl"] .lang-tag-en::after { content: "إنجليزي"; }
[dir="ltr"] .lang-tag-ar::after { content: "AR"; }
[dir="ltr"] .lang-tag-en::after { content: "EN"; }
.lang-tag-ar, .lang-tag-en { font-size:10px;font-weight:800;background:var(--surface-3);padding:1px 5px;border-radius:4px;color:var(--ink-faint);vertical-align:middle;margin-inline-start:4px; }
