/* Sharm Capital unified visual system — v2.1
   Mirrors the public home page across public, owner and admin screens. */
:root{
  --sc-ink:#292929;--sc-ink-2:#343434;--sc-gold:#b59a6b;--sc-gold-2:#cfb989;
  --sc-cream:#f4f0e7;--sc-cream-2:#fbf9f5;--sc-line:#ddd6ca;--sc-muted:#736f68;
  --sc-white:#fff;--sc-shadow:0 18px 55px rgba(35,31,25,.11);
  /* React shell compatibility */
  --teal-50:#f4f0e7;--teal-100:#e9dfcf;--teal-200:#d9c8aa;--teal-400:#b59a6b;
  --teal-500:#8f774f;--teal-600:#735e3e;--teal-700:#4d4438;--teal-800:#292929;--teal-900:#1f1f1f;
  --gold-50:#fbf7ef;--gold-100:#f0e6d4;--gold-200:#ddcaab;--gold-400:#b59a6b;--gold-500:#9c8257;--gold-600:#7e6846;
  --bg-base:#fff;--bg-page:#fbf9f5;--bg-sidebar:#292929;--bg-card:#fff;
  --text-primary:#292929;--text-secondary:#736f68;--text-muted:#948e84;--border-light:#e7e0d5;--border-medium:#d6cec1;
  --radius-sm:3px;--radius-md:3px;--radius-lg:4px;--radius-xl:6px;
  --shadow-sm:0 8px 28px rgba(35,31,25,.06);--shadow-md:0 16px 42px rgba(35,31,25,.10);--shadow-lg:0 24px 70px rgba(35,31,25,.16);
  /* standalone admin compatibility */
  --j-bg:#fbf9f5;--j-card:#fff;--j-text:#292929;--j-muted:#736f68;--j-line:#ddd6ca;
  --j-primary:#292929;--j-primary-2:#3a3a3a;--j-success:#56745e;--j-warning:#9b7335;--j-danger:#8d4646;--j-info:#756649;
  --j-radius:4px;--j-shadow:0 12px 36px rgba(35,31,25,.07)
}
html{background:var(--sc-cream-2)}
body{background:var(--sc-cream-2);color:var(--sc-ink)}
::selection{background:#d8c5a3;color:#1f1f1f}

/* React / main booking + sales + admin shell */
.sidebar{background:#292929!important;border-right:1px solid #3b3b3b}.sidebar-logo{border-bottom-color:rgba(255,255,255,.13)!important}.sidebar-logo .brand-name{font-family:'Playfair Display',serif!important;letter-spacing:.08em!important}.sidebar-logo .brand-sub{color:#cfc4b1!important;letter-spacing:.14em!important}.sidebar-section-label{color:#b3a58d!important}.nav-item{color:#ddd6ca!important}.nav-item:hover{background:rgba(181,154,107,.12)!important;color:#fff!important}.nav-item.active{background:rgba(181,154,107,.18)!important;border-right:2px solid #b59a6b!important;color:#fff!important}.top-header{background:rgba(255,255,255,.98)!important;border-color:#e7e0d5!important}.main-content,.page-content{background:#fbf9f5}.page-title,.card-title,.modal-title{color:#292929!important}.page-title{font-family:'Playfair Display',serif!important;font-weight:600!important;letter-spacing:-.01em}.card,.stat-card,.modal{border-color:#e2dbcf!important;border-radius:4px!important;box-shadow:0 10px 32px rgba(35,31,25,.06)!important}.card-header,.modal-header{border-color:#e9e2d8!important}.btn,.form-control,.form-select,.btn-icon{border-radius:3px!important}.btn-primary{background:#292929!important;border-color:#292929!important;color:#fff!important}.btn-primary:hover:not(:disabled){background:#3a3a3a!important;border-color:#3a3a3a!important}.btn-secondary{border-color:#d4cabd!important;background:#fff!important}.form-control:focus,.form-select:focus{border-color:#b59a6b!important;box-shadow:0 0 0 3px rgba(181,154,107,.14)!important}.stat-card.accent-teal,.stat-card.accent-gold{border-left-color:#b59a6b!important}.badge-teal,.badge-gold{background:#f2eadc!important;color:#725e3e!important}thead th{background:#f4f0e7!important;color:#665f56!important}tbody tr:hover{background:#fbf7ef!important}

/* Standalone v39 admin pages */
.j39-side{background:#292929!important;color:#fff!important;padding-top:18px!important}.j39-brand{font-family:'Playfair Display',serif!important;font-size:19px!important;letter-spacing:.06em!important;padding-bottom:20px!important}.j39-brand small{font-family:Inter,Arial,sans-serif!important;color:#cfc4b1!important;letter-spacing:.13em!important}.j39-nav a{border-radius:3px!important;color:#ddd6ca!important;font-weight:500!important}.j39-nav a:hover,.j39-nav a.active{background:rgba(181,154,107,.17)!important;color:#fff!important}.j39-top{background:rgba(255,255,255,.985)!important;border-color:#e3dccf!important}.j39-top h1,.j39-toolbar h2,.j39-card h2,.j39-card h3{font-family:'Playfair Display',serif!important;color:#292929!important;font-weight:600!important}.j39-content{background:#fbf9f5}.j39-card,.j39-table-wrap,.j39-avail-wrap{border-color:#ded6ca!important;border-radius:4px!important;box-shadow:0 10px 30px rgba(35,31,25,.055)!important}.j39-btn,.j39-input,.j39-select,.j39-textarea,.j39-note,.j39-error,.j39-warning{border-radius:3px!important}.j39-btn.primary{background:#292929!important}.j39-btn.primary:hover{background:#3a3a3a!important}.j39-btn.secondary{border-color:#cfc4b3!important;color:#292929!important}.j39-input:focus,.j39-select:focus,.j39-textarea:focus{border-color:#b59a6b!important;box-shadow:0 0 0 3px rgba(181,154,107,.13)!important}.j39-table th,.j39-avail th{background:#f4f0e7!important;color:#665f56!important}.j39-avail th.unit{background:#ede5d8!important}.j39-toast{background:#292929!important;border-left:3px solid #b59a6b}.j39-badge{border-radius:3px!important}

/* Owner console */
.oc-body{background:#fbf9f5!important}.oc-top{background:rgba(255,255,255,.985)!important;border-color:#e3dccf!important}.oc-shell{background:#fbf9f5}.oc-login h1,.oc-heading h1,.oc-login form h2,.oc-panel h3{color:#292929}.oc-login form,.oc-panel,.oc-kpis>div,.connection{border-color:#ded6ca!important;border-radius:4px!important;box-shadow:0 10px 30px rgba(35,31,25,.05)}.oc-login input,.oc-panel input,.oc-panel select,.oc-heading select,.oc-top-actions button,.oc-month-nav button,#reload-channels,.connection-actions button{border-radius:3px!important;border-color:#d2c8ba!important}.oc-login form>button,.oc-primary{background:#292929!important;border-radius:3px!important}.oc-tabs button.active{border-bottom-color:#b59a6b!important}.oc-chart i{background:#9a8460!important}.day{border-radius:3px!important}.day.booking{background:#b59a6b!important}.day.channel{background:#e4dac9!important}.day.owner{background:#292929!important}

/* Public forms/marketing — preserve home shape system */
.subhero,.management-hero,.listing-hero{background-color:#292929}.panel,.form-card,.scenario-card,.management-card,.service-card{border-radius:4px!important}.btn,button,input,select,textarea{border-radius:3px}.topbar{border-bottom-color:#eee8df}

/* Admin login / public React login polish where generic selectors exist */
.auth-card,.login-card,[class*="login-card"],[class*="auth-card"]{border-radius:4px!important;border-color:#ded6ca!important;box-shadow:0 20px 60px rgba(35,31,25,.10)!important}

@media(max-width:900px){.page-content{padding:18px!important}.j39-content{padding:18px!important}}

/* Accessibility — keyboard focus + skip link, shared across every page that
   loads this theme (public site, owner console, admin shells). */
/* Off-screen-until-focused via a small negative `top`, not an extreme
   negative `left` — an offset like -9999px creates a huge phantom
   horizontal-scroll region (confirmed live: it inflated scrollWidth to
   11000px+ and broke rendering entirely once the page switched to RTL,
   where that far-off-screen offset is measured from the opposite edge). */
.skip-link{position:absolute;top:-40px;left:0;z-index:1000;background:#292929;color:#fff;padding:12px 20px;border-radius:0 0 4px 0;text-decoration:none;font-size:13px;font-weight:600;transition:top .15s}
.skip-link:focus{top:0}
html[dir="rtl"] .skip-link{left:auto;right:0;border-radius:0 0 0 4px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #b59a6b;outline-offset:2px}

/* The floating admin language-toggle pill (#jr-admin-lang-toggle) is injected
   with position:fixed and an extremely high z-index by its own inline <style>,
   so it always wins the cascade regardless of load order — the only way to
   move it is to override its own rule with !important. At top:10px it sits
   on top of the dashboard header's user name/role text instead of below it. */
#jr-admin-lang-toggle{top:82px!important}
html[dir="rtl"] #jr-admin-lang-toggle{top:82px!important}
@media(max-width:700px){#jr-admin-lang-toggle{top:76px!important}}

/* v2.3 public React-shell alignment: detail/booking/account pages now follow
   the same charcoal / champagne / ivory language as the approved homepage. */
.pub-header{background:rgba(255,255,255,.985)!important;border-bottom:1px solid #eee8df!important;box-shadow:none!important;position:sticky!important;top:0!important;z-index:120!important}
.pub-header-inner{max-width:1320px!important;margin:0 auto!important;padding-left:4vw!important;padding-right:4vw!important;min-height:84px!important}
.pub-logo{gap:12px!important;text-decoration:none!important}.pub-logo-img{height:58px!important;max-width:78px!important;object-fit:contain!important}.pub-logo-name{font-family:'Playfair Display',serif!important;color:#292929!important;font-size:24px!important;font-weight:600!important}.pub-logo-sub{color:#736f68!important;letter-spacing:.10em!important;font-size:10px!important;text-transform:uppercase!important}
.pub-nav{gap:20px!important}.pub-nav>a{color:#292929!important;font-size:12px!important;font-weight:500!important}.pub-nav>a:hover,.pub-nav>a.active{color:#8f774f!important}.pub-btn-teal,.pub-nav a.pub-btn-teal,.pub-auth-links a.pub-btn-teal{background:#292929!important;border-color:#292929!important;color:#fff!important;border-radius:3px!important}.pub-btn-teal:hover,.pub-nav a.pub-btn-teal:hover{background:#3a3a3a!important}.pub-auth-links>a:not(.pub-btn-teal){color:#292929!important}.pub-lang-btn{border:1px solid #d8d0c4!important;background:#f4f0e7!important;color:#292929!important;border-radius:3px!important;padding:7px 10px!important}
.pub-hero-search,.pub-search,.pub-sale-card,.pub-sale-side,.pub-inquiry-form,.pub-auth-card,.pub-co-card,.pub-co-plans{border-radius:4px!important}.pub-sale-card{border-color:#e2dbcf!important}.pub-sale-name,.pub-detail-title,.pub-co-title{font-family:'Playfair Display',serif!important;color:#292929!important}.pub-sale-type,.pub-plan-name{color:#8f774f!important}.pub-sale-price .amt{color:#292929!important}.pub-footer{background:#292929!important;color:#eee8df!important}.pub-footer a{color:#eee8df!important}.pub-footer h4{color:#fff!important}
@media(max-width:900px){.pub-header-inner{min-height:72px!important;padding-left:5vw!important;padding-right:5vw!important}.pub-logo-img{height:48px!important}.pub-logo-name{font-size:20px!important}}
