:root{
  --bt-primary:#4f46e5;
  --bt-primary-dark:#3730a3;
  --bt-accent:#06b6d4;
  --bt-bg:#f7f8fc;
  --bt-card:#ffffff;
  --bt-text:#1e1b3a;
  --bt-muted:#6b7280;
  --bt-success:#16a34a;
  --bt-warning:#d97706;
  --bt-danger:#dc2626;
  --bt-radius:16px;
}

html[dir="rtl"] body{ font-family:"Cairo",system-ui,sans-serif; }
html[dir="ltr"] body{ font-family:"Inter",system-ui,sans-serif; }

body{ background:var(--bt-bg); color:var(--bt-text); }

.bt-navbar{ background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.05); padding:.75rem 0; }
.bt-brand{ font-weight:800; font-size:1.35rem; color:var(--bt-primary)!important; display:flex; align-items:center; gap:.5rem; }
.bt-brand-logo{
  width:1.9em; height:1.9em; min-width:1.9em; min-height:1.9em;
  object-fit:cover; object-position:center;
  border-radius:50%;
  flex-shrink:0;
  display:block;
}
.bt-logo-dot{ width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg,var(--bt-primary),var(--bt-accent)); display:inline-block; }
.bt-lang-btn{ border:1px solid var(--bt-primary); color:var(--bt-primary); border-radius:20px; padding:.25rem .9rem; font-weight:600; }
.bt-lang-btn:hover{ background:var(--bt-primary); color:#fff; }
.bt-badge{ position:absolute; top:-2px; inset-inline-end:-6px; font-size:.6rem; }
.bt-notif-panel{ min-width:280px; max-height:340px; overflow-y:auto; }
.bt-notif-item{ white-space:normal; }

.bt-card{ background:var(--bt-card); border:none; border-radius:var(--bt-radius); box-shadow:0 4px 24px rgba(30,27,58,.06); }

/* Semi-transparent "glass" variant — used for frames on the public
   storefront homepage only (admin panels keep solid backgrounds for
   readability). Combine with .bt-card: class="bt-card bt-glass" */
.bt-glass{
  background:rgba(255,255,255,.68)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 12px 40px rgba(30,27,58,.16)!important;
}
.bt-hero{ background:linear-gradient(135deg,var(--bt-primary),var(--bt-accent)); color:#fff; border-radius:24px; padding:3rem 2rem; }
.bt-hero h1{ font-weight:800; }

/* Professional hero used on the storefront home page */
.bt-hero-pro{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,var(--bt-primary),var(--bt-accent));
  background-size:cover;
  background-position:center;
  min-height:340px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bt-hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(135deg, color-mix(in srgb, var(--bt-primary) 88%, transparent), color-mix(in srgb, var(--bt-accent) 80%, transparent));
}
.bt-hero-content{ position:relative; z-index:1; color:#fff; padding:2rem 1.5rem; max-width:640px; }
.bt-hero-content h1{ text-shadow:0 2px 12px rgba(0,0,0,.15); }

.bt-section-title{ position:relative; display:inline-block; }

/* Service cards on the storefront */
.bt-service-card{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.5);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 34px rgba(30,27,58,.14);
  transition:transform .18s ease, box-shadow .18s ease;
  display:flex;
  flex-direction:column;
}
.bt-service-card:hover{ transform:translateY(-4px); box-shadow:0 10px 28px rgba(30,27,58,.12); }
.bt-service-img{ width:100%; height:130px; object-fit:cover; display:block; }
.bt-service-img-placeholder{
  display:flex; align-items:center; justify-content:center;
  font-size:2rem; background:linear-gradient(135deg, color-mix(in srgb, var(--bt-primary) 12%, #fff), color-mix(in srgb, var(--bt-accent) 12%, #fff));
}

.bt-gallery-img{ transition:transform .18s ease; }
.bt-gallery-img:hover{ transform:scale(1.03); }

.bt-gallery-frame{ position:relative; overflow:hidden; border-radius:0.75rem; }
.bt-gallery-caption-overlay{
  position:absolute; inset-inline:0; bottom:0;
  padding:1.25rem .75rem .6rem;
  background:linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.25) 65%, rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.bt-gallery-caption-text{
  color:#fff; font-size:.85rem; font-weight:700;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}

.bt-contact-icon{ font-size:1.8rem; margin-bottom:.25rem; }

/* Optional subtle full-page background image (homepage only) — tiled/repeated */
.bt-page-bg-image{
  position:fixed; inset:0; z-index:-1;
  background-size:220px; background-position:0 0; background-repeat:repeat;
  opacity:0; /* JS sets this once an image + opacity are loaded */
  pointer-events:none;
}

/* Hero carousel (3 rotating banners) */
.bt-hero-carousel{ border-radius:24px; overflow:hidden; box-shadow:0 8px 30px rgba(30,27,58,.12); }
.bt-hero-slide-img{ width:100%; height:380px; object-fit:cover; }
@media (max-width: 576px){ .bt-hero-slide-img{ height:220px; } }

.bt-hero-caption-overlay{
  position:absolute;
  inset-inline:0;
  bottom:0;
  padding:2.5rem 1.5rem 1.5rem;
  background:linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%);
  text-align:center;
}
.bt-hero-caption-text{
  color:#fff;
  font-size:1.5rem;
  font-weight:800;
  text-shadow:0 2px 10px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.4);
  letter-spacing:.2px;
}
@media (max-width: 576px){ .bt-hero-caption-text{ font-size:1.1rem; } }

/* Modern social icons */
.bt-social-link{ display:inline-flex; align-items:center; justify-content:center; transition:transform .15s ease; }
.bt-social-link:hover{ transform:translateY(-3px); }

/* ===== Admin dashboard shell: sidebar + topbar ===== */
.bt-admin-body{ background:var(--bt-bg); margin:0; }
.bt-admin-shell{ display:flex; min-height:100vh; }

.bt-admin-sidebar{
  width:250px; flex-shrink:0;
  background:#fff;
  border-inline-end:1px solid #eef0f4;
  display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; overflow-y:auto;
}
.bt-admin-sidebar-brand{
  display:flex; align-items:center; gap:.6rem;
  padding:1.25rem 1.25rem 1rem;
  font-weight:800; font-size:1.05rem; color:var(--bt-primary);
  border-bottom:1px solid #f1f2f6;
}
.bt-admin-nav{ display:flex; flex-direction:column; padding:.75rem; gap:.15rem; flex:1; }
.bt-admin-nav-link{
  display:block; padding:.6rem .9rem; border-radius:10px;
  color:var(--bt-text); text-decoration:none; font-weight:600; font-size:.92rem;
  transition:background .15s ease, color .15s ease;
}
.bt-admin-nav-link:hover{ background:#f4f4fb; }
.bt-admin-nav-link.active{ background:var(--bt-primary); color:#fff; }
.bt-admin-sidebar-footer{ padding:.75rem; border-top:1px solid #f1f2f6; }
.bt-admin-logout{ color:var(--bt-danger)!important; }
.bt-admin-logout:hover{ background:#fee2e2!important; }

.bt-admin-content{ flex:1; min-width:0; display:flex; flex-direction:column; }
.bt-admin-topbar{
  display:flex; align-items:center; gap:1rem;
  background:#fff; border-bottom:1px solid #eef0f4;
  padding:.85rem 1.5rem;
  position:sticky; top:0; z-index:10;
}
.bt-admin-topbar-title{ font-size:.9rem; color:var(--bt-muted); }
.bt-admin-bell{ font-size:1.3rem; background:none; border:none; line-height:1; position:relative; }
.bt-admin-main{ padding:1.5rem; flex:1; }

@media (max-width: 991px){
  .bt-admin-sidebar{
    position:fixed; inset-inline-start:0; top:0; z-index:1050;
    transform:translateX(-100%);
    transition:transform .2s ease;
    box-shadow:0 0 30px rgba(0,0,0,.15);
  }
  html[dir="rtl"] .bt-admin-sidebar{ transform:translateX(100%); }
  .bt-admin-sidebar.open{ transform:translateX(0); }
}

.bt-stat-card{ border-radius:var(--bt-radius); padding:1.25rem; background:#fff; box-shadow:0 4px 20px rgba(30,27,58,.05); }
.bt-stat-num{ font-size:1.9rem; font-weight:800; color:var(--bt-primary); }
.bt-stat-label{ color:var(--bt-muted); font-size:.9rem; }

.bt-slot{ border:1.5px solid #e5e7eb; border-radius:12px; padding:.55rem .4rem; text-align:center; cursor:pointer; font-weight:600; transition:.15s; background:#fff; }
.bt-slot:hover{ border-color:var(--bt-primary); color:var(--bt-primary); }
.bt-slot.selected{ background:var(--bt-primary); color:#fff; border-color:var(--bt-primary); }

.badge-status-confirmed{ background:#dcfce7; color:var(--bt-success); }
.badge-status-pending{ background:#fef3c7; color:var(--bt-warning); }
.badge-status-cancelled{ background:#fee2e2; color:var(--bt-danger); }
.badge-status-completed{ background:#e0e7ff; color:var(--bt-primary); }
.badge-status-noshow{ background:#f3f4f6; color:var(--bt-muted); }

.bt-footer{ color:var(--bt-muted); }

.btn-bt-primary{ background:var(--bt-primary); color:#fff; border-radius:12px; font-weight:700; border:none; }
.btn-bt-primary:hover{ background:var(--bt-primary-dark); color:#fff; }

.bt-period-row{ background:#f9fafb; border-radius:12px; padding:.75rem; margin-bottom:.5rem; }

@media (max-width: 576px){
  .bt-hero{ padding:2rem 1.25rem; border-radius:18px; }
  .bt-stat-num{ font-size:1.5rem; }
}
