:root{
  --steel:#3a3f47; --steel-dark:#2a2e34; --red:#d32f2f; --white:#ffffff;
  --text:#232629; --text-dim:#6b7178; --bg:#f4f5f6; --border:#e1e3e5;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Tajawal',Tahoma,sans-serif;line-height:1.65}
h1,h2,h3{font-family:'Noto Kufi Arabic',sans-serif;margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
select,input{font-family:inherit}

.back-pill{position:fixed;inset-block-start:16px;inset-inline-end:16px;z-index:130;background:rgba(35,38,41,.9);color:#fff;padding:8px 16px;border-radius:6px;font-size:13px;border:1px solid var(--red)}

.app{display:flex;min-height:100vh}

/* ---- Sidebar (archetype B, anchored inline-start = right edge in RTL) ---- */
.sidebar{
  width:250px;flex-shrink:0;background:var(--steel-dark);color:#fff;
  display:flex;flex-direction:column;padding:26px 0;
}
.sidebar__brand{display:flex;align-items:center;gap:10px;padding:0 22px 22px}
.sidebar__mark{width:36px;height:36px;border-radius:8px;background:var(--red);display:flex;align-items:center;justify-content:center;font-family:'Noto Kufi Arabic',sans-serif;font-weight:700;font-size:18px}
.sidebar__name{font-family:'Noto Kufi Arabic',sans-serif;font-weight:700;font-size:16px}
.sidebar__nav{display:flex;flex-direction:column;gap:2px;padding:0 12px;flex:1}
.nav-item{padding:12px 14px;border-radius:8px;color:#c9cdd1;font-size:14.5px;font-weight:600}
.nav-item:hover,.nav-item.is-active{background:rgba(255,255,255,.08);color:#fff}
.sidebar__cta{margin:16px;background:var(--red);color:#fff;text-align:center;padding:13px;border-radius:8px;font-weight:700;font-size:14px}

.sidebar-toggle{display:none;position:fixed;inset-block-start:16px;inset-inline-start:16px;z-index:135;background:var(--steel-dark);color:#fff;width:44px;height:44px;border-radius:8px;font-size:20px}

/* ---- Main content ---- */
.content{flex:1;min-width:0}
.hero-strip{position:relative;height:52vh;min-height:340px;overflow:hidden}
.hero-strip__img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.hero-strip__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 40px;color:#fff}
.hero-strip__overlay h1{font-size:clamp(26px,4vw,42px);margin-block-end:12px}
.hero-strip__overlay p{max-width:520px;color:#e4e6e8;font-size:15px}

.section{max-width:1000px;margin:0 auto;padding:50px 24px}
.section__title{font-size:24px;margin-block-end:8px}
.section__lead{color:var(--text-dim);font-size:14px;margin:0 0 24px}

.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.service-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;cursor:pointer;transition:border-color .2s,transform .2s}
.service-card:hover{border-color:var(--red);transform:translateY(-2px)}
.service-card__name{font-weight:700;font-size:15.5px;margin-block-end:6px}
.service-card__price{color:var(--red);font-weight:700;font-size:16px}
.service-card__meta{color:var(--text-dim);font-size:12.5px;margin-block-start:6px}
.service-card__desc{display:none;color:var(--text-dim);font-size:13px;margin-block-start:10px;line-height:1.6;border-block-start:1px solid var(--border);padding-block-start:10px}
.service-card.is-open .service-card__desc{display:block}

.brands-strip{display:flex;flex-wrap:wrap;gap:10px}
.brands-strip span{background:#fff;border:1px solid var(--border);padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--text-dim)}

.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gallery-grid img{border-radius:12px;height:220px;object-fit:cover;width:100%}

.booking-form{display:grid;gap:12px;max-width:460px}
.booking-form select,.booking-form input{padding:13px 14px;border-radius:8px;border:1px solid var(--border);font-size:14px;background:#fff}
.btn-primary{background:var(--red);color:#fff;padding:14px;border-radius:8px;font-weight:700;font-size:15px}
.booking-confirm{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;max-width:460px}
.booking-confirm h3{color:#1a7a3c;margin-block-end:8px}
.booking-confirm__note{color:var(--text-dim);font-size:13px;margin-block-start:10px}

/* ---- Footer ---- */
.site-footer{background:var(--steel-dark);color:#dfe1e3;padding:40px 24px 20px}
.footer-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.footer-grid h4{color:var(--red);font-size:14.5px;margin:0 0 10px}
.footer-grid p{font-size:13px;margin:0 0 6px;color:#c5c9cc;line-height:1.7}
.tax-line{opacity:.7;font-size:11.5px}
.footer-bottom{text-align:center;font-size:12px;color:#9298a0;margin-block-start:26px;padding-block-start:18px;border-block-start:1px solid #4a4f56}

/* ---- Responsive: sidebar becomes off-canvas drawer ---- */
@media (max-width:900px){
  .sidebar{
    position:fixed;inset-block:0;inset-inline-start:0;z-index:120;width:78%;max-width:300px;
    transform:translateX(100%);transition:transform .3s ease;
  }
  .sidebar.is-open{transform:none}
  .sidebar-toggle{display:flex;align-items:center;justify-content:center}
  .sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:110;opacity:0;pointer-events:none;transition:opacity .25s}
  .sidebar-overlay.is-open{opacity:1;pointer-events:auto}
  .hero-strip{margin-block-start:60px}
}
@media (max-width:600px){
  .gallery-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;text-align:center}
}
