/* ==========================================================================
   هتل شکوه ایمان — استایل لوکس (آبی سرمه‌ای + طلایی + زرد)
   فونت: وزیر (Vazir)
   ========================================================================== */
:root{
  /* رنگ اصلی و لهجه — این دو تا از پنل مدیریت قابل تغییرند */
  --primary:#023047;
  --accent:#c9a227;

  /* ─────── آبی نفتی (مشتق از --primary) ─────── */
  --navy-900:color-mix(in srgb, var(--primary) 78%, black);
  --navy-800:color-mix(in srgb, var(--primary) 88%, black);
  --navy-700:var(--primary);
  --navy-600:color-mix(in srgb, var(--primary) 85%, white);
  --navy-500:color-mix(in srgb, var(--primary) 68%, white);
  --navy-400:color-mix(in srgb, var(--primary) 40%, white);

  /* ─────── طلایی (مشتق از --accent) ─────── */
  --gold-600:color-mix(in srgb, var(--accent) 85%, black);
  --gold-500:var(--accent);
  --gold-400:color-mix(in srgb, var(--accent) 88%, white);
  --gold-300:color-mix(in srgb, var(--accent) 60%, white);
  --gold-200:color-mix(in srgb, var(--accent) 35%, white);

  /* ─────── زرد کهربایی ─────── */
  --yellow-500:#f4d35e;
  --yellow-400:#f7dd7d;
  --yellow-300:#fae9a3;

  /* ─────── کرم و خنثی ─────── */
  --cream-100:#faf8f2;
  --cream-200:#f2eee1;
  --cream-300:#e8e2cf;
  --ink-900:#0f1924;
  --ink-600:#4a5666;
  --line:#e5dfcd;

  /* ─────── وضعیت ─────── */
  --danger:#b3432b;
  --success:#2f7d5c;

  /* ─────── Radius ─────── */
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;

  /* ─────── سایه‌ها ─────── */
  --shadow-sm:0 4px 12px rgba(10,30,63,.06);
  --shadow:0 10px 30px rgba(10,30,63,.10);
  --shadow-lg:0 20px 60px rgba(10,30,63,.20);

  --font-fa:'Vazir', Tahoma, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:100px;}
body{
  margin:0;
  padding-top:var(--hdr-h, 100px);
  font-family:var(--font-fa);
  background:var(--cream-100);
  color:var(--ink-900);
  line-height:1.75;
  overflow-x:hidden;
}

/* ─────────── نوار پیشرفت اسکرول ─────────── */
.scroll-progress{
  position:fixed; top:0; right:0; left:0; height:3px; z-index:70;
  background:linear-gradient(90deg, var(--gold-600), var(--gold-400), var(--yellow-500));
  width:0%; transform-origin:right;
  box-shadow:0 0 10px rgba(201,162,39,.5);
  transition:width .12s ease-out;
}

/* ─────────── انیمیشن‌های ظاهر شدن هنگام اسکرول ─────────── */
.reveal, .reveal-left, .reveal-right{
  opacity:0; transform:translateY(18px);
  transition:opacity .45s cubic-bezier(.16,.8,.24,1), transform .45s cubic-bezier(.16,.8,.24,1);
  will-change:opacity, transform;
}
.reveal-left{transform:translateX(-26px);}
.reveal-right{transform:translateX(26px);}
.reveal.in-view, .reveal-left.in-view, .reveal-right.in-view{opacity:1; transform:translate(0,0);}

.reveal-group > *{
  opacity:0; transform:translateY(18px);
  transition:opacity .4s cubic-bezier(.16,.8,.24,1), transform .4s cubic-bezier(.16,.8,.24,1);
  will-change:opacity, transform;
}
.reveal-group.in-view > *{opacity:1; transform:translateY(0);}
.reveal-group.in-view > *:nth-child(1){transition-delay:0s;}
.reveal-group.in-view > *:nth-child(2){transition-delay:.04s;}
.reveal-group.in-view > *:nth-child(3){transition-delay:.08s;}
.reveal-group.in-view > *:nth-child(4){transition-delay:.12s;}
.reveal-group.in-view > *:nth-child(5){transition-delay:.16s;}
.reveal-group.in-view > *:nth-child(6){transition-delay:.20s;}
.reveal-group.in-view > *:nth-child(7){transition-delay:.24s;}
.reveal-group.in-view > *:nth-child(8){transition-delay:.28s;}
.reveal-group.in-view > *:nth-child(n+9){transition-delay:.3s;}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit;}
.container{max-width:1200px; margin:0 auto; padding:0 24px;}
.muted{color:var(--ink-600);}
.small-note{font-size:13px;}
.eyebrow{color:var(--gold-500); font-weight:700; letter-spacing:.5px; margin:0 0 8px; font-size:14px;}

h1,h2,h3,h4{margin:0 0 12px; font-weight:800; line-height:1.4;}
h2{font-size:clamp(24px,3vw,34px);}
h3{font-size:20px;}

/* ─── آیکون‌های SVG ─── */
.svg-icon{display:inline-flex; align-items:center; justify-content:center; color:inherit;}
.svg-icon svg{width:100%; height:100%; display:block;}

/* ─────────── دکمه‌ها ─────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 28px; border-radius:999px; border:1.5px solid transparent;
  font-family:inherit; font-size:15px; font-weight:700; cursor:pointer;
  transition:all .25s ease; white-space:nowrap;
  position:relative; overflow:hidden; isolation:isolate;
}
.btn::before{
  content:""; position:absolute; top:0; bottom:0; left:-75%; width:45%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.4), transparent);
  transform:skewX(-20deg); transition:left .55s ease; z-index:1; pointer-events:none;
}
.btn:hover::before{left:130%;}
.btn-sm{padding:9px 20px; font-size:14px;}
.btn:active{transform:translateY(1px) scale(.98);}
.btn-primary{
  background:linear-gradient(135deg, var(--navy-700), var(--navy-800));
  color:#fff;
}
.btn-primary:hover{
  background:linear-gradient(135deg, var(--navy-800), var(--navy-900));
  box-shadow:0 12px 28px rgba(10,30,63,.4), 0 0 0 1px rgba(201,162,39,.25);
  transform:translateY(-2px);
}
.btn-outline{background:transparent; border-color:var(--primary); color:var(--primary);}
.btn-outline:hover{background:var(--primary); color:#fff;}
.btn-ghost{
  background:rgba(255,255,255,.12); color:#fff;
  border-color:rgba(255,255,255,.4); backdrop-filter:blur(6px);
}
.btn-ghost:hover{background:rgba(255,255,255,.22);}
.btn-danger{background:var(--danger); color:#fff;}
.btn-block{width:100%;}
.btn-row{display:flex; gap:10px; flex-wrap:wrap;}
.file-btn{position:relative; overflow:hidden;}

/* ─────────── هدر (لوکس، شناور روی هیرو) ─────────── */
:root{
  --hdr-h:100px;
  --hdr-h-scrolled:76px;
}
.site-header{
  --hdr-line:rgba(255,255,255,.14);
  position:fixed; top:0; right:0; left:0; z-index:45;
  height:var(--hdr-h);
  direction:rtl;
  background:linear-gradient(180deg, rgba(6,18,32,.60) 0%, rgba(6,18,32,0) 100%);
  transition:background .35s ease, box-shadow .35s ease, height .35s ease;
}
.site-header::after{
  content:""; position:absolute; right:0; left:0; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-500), transparent);
  opacity:0; transition:opacity .35s ease;
}
.site-header.scrolled{
  height:var(--hdr-h-scrolled);
  background:rgba(10,30,63,.85);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
.site-header.scrolled::after{opacity:.9;}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height:100%; gap:18px;
}
.brand{display:flex; align-items:center; gap:12px; font-weight:800; font-size:18px; flex-shrink:0;}
.brand-mark{
  width:58px; height:58px;
  background-size:contain; background-repeat:no-repeat; background-position:center;
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:26px; font-weight:800;
  text-shadow:0 2px 10px rgba(0,0,0,.55);
  flex-shrink:0; transition:width .35s ease, height .35s ease;
}
.site-header.scrolled .brand-mark{width:46px; height:46px; font-size:19px;}
.brand-text{display:flex; flex-direction:column; line-height:1.25;}
.brand-text strong{font-size:17px; color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.35);}
.brand-text small{font-size:11px; color:var(--gold-300); font-weight:600; letter-spacing:.4px;}

.main-nav{display:flex; align-items:center; gap:2px;}
.nav-link{
  font-weight:500; font-size:14px; border:none; background:none; cursor:pointer;
  color:#f0f2f5; font-family:inherit; padding:10px 13px; border-radius:999px;
  transition:color .2s; position:relative; z-index:1; text-shadow:0 1px 10px rgba(0,0,0,.35);
  white-space:nowrap;
}
.site-header.scrolled .nav-link{text-shadow:none;}
.nav-link::before{
  content:""; position:absolute; inset:0; border-radius:999px; z-index:-1;
  background:linear-gradient(135deg, rgba(201,162,39,.18), rgba(212,175,55,.12));
  opacity:0; transform:scale(.82); transition:opacity .25s, transform .25s;
}
.nav-link:hover{color:var(--gold-300);}
.nav-link:hover::before{opacity:1; transform:scale(1);}
.nav-link.active{color:var(--gold-300);}
.nav-link.active::after{
  content:""; position:absolute; bottom:2px; right:50%; transform:translateX(50%);
  width:20px; height:2.5px; border-radius:2px;
  background:linear-gradient(90deg, var(--gold-500), var(--yellow-500));
}
.nav-drawer-sep, .nav-drawer-only{display:none !important;}

.header-actions{display:flex; align-items:center; gap:10px;}
.btn-book{
  position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px;
  padding:10px 22px; border:1px solid var(--gold-500); border-radius:999px;
  color:var(--gold-300); font-size:14px; font-weight:700; white-space:nowrap;
  background:rgba(201,162,39,.10); transition:background .25s, color .25s;
}
.btn-book::before{
  content:""; position:absolute; inset:0; background:currentColor; opacity:0; transition:opacity .25s;
}
.btn-book::after{
  content:""; position:absolute; top:0; bottom:0; width:40%; right:-60%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
  transform:skewX(-20deg); animation:btnBookShine 5s ease-in-out infinite;
}
@keyframes btnBookShine{0%,70%{right:-60%;} 100%{right:130%;}}
.btn-book:hover{background:var(--gold-500); color:var(--navy-900);}
.tel-chip{
  display:inline-flex; align-items:center; gap:9px; padding-right:16px;
  margin-right:2px; border-right:1px solid var(--hdr-line);
  color:#f0f2f5; text-shadow:0 1px 10px rgba(0,0,0,.35); transition:color .2s;
}
.site-header.scrolled .tel-chip{text-shadow:none;}
.tel-chip:hover{color:var(--gold-300);}
.tel-chip svg{width:18px; height:18px; color:var(--gold-500); flex-shrink:0;}
.tel-chip span{font-size:14px; font-weight:600;}
.hamburger{
  display:none; flex-direction:column; gap:5px; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; background:none;
  border:1px solid var(--hdr-line); cursor:pointer; padding:0; transition:.3s;
}
.hamburger:hover{border-color:var(--gold-500); background:rgba(201,162,39,.08);}
.hamburger span{width:20px; height:1.5px; background:#fff; border-radius:2px; transition:.3s;}
.hamburger span:nth-child(2){background:var(--gold-500);}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.hidden-admin-trigger{display:none;}

.mobile-book-float{
  display:none; position:fixed; bottom:20px; left:20px; z-index:44;
  padding:13px 22px; background:linear-gradient(135deg, var(--gold-500), var(--yellow-500));
  color:var(--navy-900); font-weight:800; font-size:13.5px; border-radius:999px;
  box-shadow:0 10px 28px rgba(201,162,39,.5); animation:mobileBookFloat 3s ease-in-out infinite;
}
body.nav-drawer-open .mobile-book-float{display:none !important;}
@keyframes mobileBookFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-4px);}}

/* ─────────── هیرو ─────────── */
.hero{
  position:relative; min-height:660px; display:flex; align-items:center;
  color:#fff; overflow:hidden; padding:80px 0;
  margin-top:calc(-1 * var(--hdr-h, 100px));
}
.hero-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:var(--navy-900);
  animation:heroZoom 20s ease-in-out infinite alternate;
}
@keyframes heroZoom{from{transform:scale(1);} to{transform:scale(1.05);}}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(10,30,63,.55) 0%,
    rgba(15,40,71,.78) 50%,
    rgba(10,30,63,.88) 100%);
}
.hero-overlay::after{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(45deg,
    rgba(201,162,39,.04) 0 1px, transparent 1px 32px);
  pointer-events:none;
}
.hero-inner{position:relative; z-index:2; max-width:820px; padding:40px 24px;}

/* ─── ذرات طلایی شناور در هیرو ─── */
.hero-particles{position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
.hero-particles span{
  position:absolute; border-radius:50%;
  background:radial-gradient(circle, var(--gold-300), rgba(212,175,55,0) 70%);
  opacity:.55; animation:floatParticle 9s ease-in-out infinite;
}
.hero-particles span:nth-child(1){top:18%; right:8%;  width:7px; height:7px; animation-delay:0s;}
.hero-particles span:nth-child(2){top:62%; right:22%; width:4px; height:4px; animation-delay:1.4s;}
.hero-particles span:nth-child(3){top:32%; right:42%; width:5px; height:5px; animation-delay:2.8s;}
.hero-particles span:nth-child(4){top:78%; right:58%; width:8px; height:8px; animation-delay:.6s;}
.hero-particles span:nth-child(5){top:14%; right:74%; width:5px; height:5px; animation-delay:2s;}
.hero-particles span:nth-child(6){top:52%; right:90%; width:6px; height:6px; animation-delay:3.6s;}
@keyframes floatParticle{
  0%,100%{transform:translateY(0) translateX(0) scale(1); opacity:.3;}
  50%{transform:translateY(-34px) translateX(12px) scale(1.3); opacity:.9;}
}

.hero-eyebrow{
  color:var(--gold-300); font-weight:600; letter-spacing:2.5px; margin:0 0 20px;
  font-size:12.5px; text-transform:uppercase;
  animation:heroFadeUp .8s cubic-bezier(.16,.8,.24,1) both;
}
.hero h1{
  font-size:clamp(30px,4.5vw,54px); line-height:1.25; margin:0 0 22px;
  font-weight:800; letter-spacing:-.5px;
  text-shadow:0 4px 24px rgba(0,0,0,.4);
  animation:heroFadeUp .8s .12s cubic-bezier(.16,.8,.24,1) both;
}
.hero h1::after{
  content:""; display:block; width:80px; height:4px;
  background:linear-gradient(90deg, var(--gold-500), var(--yellow-500));
  border-radius:2px; margin-top:18px;
  animation:lineGrow 1s .6s cubic-bezier(.16,.8,.24,1) both;
}
@keyframes lineGrow{from{width:0; opacity:0;} to{width:80px; opacity:1;}}
.hero-sub{
  font-size:17px; color:#d5dce6; margin:0 0 36px; max-width:62ch; line-height:1.9;
  animation:heroFadeUp .8s .24s cubic-bezier(.16,.8,.24,1) both;
}
.hero-cta{
  display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px;
  animation:heroFadeUp .8s .36s cubic-bezier(.16,.8,.24,1) both;
}
.hero-badges{
  display:flex; gap:44px; flex-wrap:wrap;
  padding-top:32px; border-top:1px solid rgba(201,162,39,.18);
  animation:heroFadeUp .8s .48s cubic-bezier(.16,.8,.24,1) both;
}
@keyframes heroFadeUp{from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:translateY(0);}}
.hb{display:flex; flex-direction:column; gap:2px;}
.hb strong{
  font-size:26px; font-weight:700;
  color:var(--gold-300);
}
.hb span{font-size:12.5px; color:#c5cfda;}

/* ─── دکمه بستن منوی موبایل ─── */
.nav-close{display:none;}
@media (max-width:840px){
  .nav-close{
    display:flex; align-items:center; justify-content:center;
    position:absolute; top:20px; left:20px;
    width:40px; height:40px; border-radius:50%;
    border:1px solid rgba(201,162,39,.4);
    background:rgba(201,162,39,.08);
    color:#fff; font-size:24px; line-height:1; font-weight:300;
    cursor:pointer; z-index:2; transition:.25s;
  }
  .nav-close:hover{background:rgba(201,162,39,.2); border-color:var(--gold-500); color:var(--gold-300);}
}

/* ─────────── بخش‌ها ─────────── */
.section{padding:80px 0;}
.section-alt{background:var(--cream-200);}
.section-head{margin-bottom:44px;}
.section-head.centered{text-align:center; max-width:640px; margin-right:auto; margin-left:auto;}
.section-head h2{margin-bottom:10px;}

/* ─────────── درباره ما ─────────── */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.about-media{position:relative;}
.about-media::before{
  content:""; position:absolute; top:20px; right:-20px; bottom:-20px; left:20px;
  border:2px solid var(--gold-500); border-radius:var(--radius-lg);
  z-index:0;
}
.about-media img{
  position:relative; z-index:1;
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  width:100%; height:480px; object-fit:cover;
}
.about-body h2{margin-bottom:18px; color:var(--navy-800);}
.about-body p{color:var(--ink-600); line-height:2; margin:0 0 24px;}
.about-features{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.about-features li{
  background:#fff; padding:14px 18px; border-radius:var(--radius-sm);
  box-shadow:var(--shadow-sm); font-weight:600; font-size:14px;
  border-right:3px solid var(--gold-500);
  display:flex; gap:8px; align-items:center; color:var(--navy-800);
}
.about-features li::before{content:"✓"; color:var(--gold-500); font-weight:800; font-size:16px;}

/* ─────────── اتاق‌ها ─────────── */
.rooms-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:26px;}
.room-card{
  background:#fff; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .4s cubic-bezier(.16,.8,.24,1), box-shadow .4s ease;
  border:1px solid rgba(10,30,63,.05);
  position:relative;
}
.room-card::before{
  content:""; position:absolute; top:0; right:0; left:0; height:3px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500), var(--yellow-500));
  z-index:2; transform:scaleX(0); transform-origin:right; transition:transform .5s ease;
}
.room-card:hover::before{transform:scaleX(1);}
.room-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-lg), 0 0 0 1px rgba(201,162,39,.22);
}
.room-img-wrap{position:relative; height:220px; overflow:hidden; background:var(--cream-200);}
.room-img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.room-card:hover .room-img{transform:scale(1.08);}
.room-tag{
  position:absolute; top:14px; right:14px; padding:6px 14px; border-radius:999px;
  background:linear-gradient(135deg, var(--navy-900), var(--navy-700));
  color:var(--gold-300); font-size:12px; font-weight:700;
  backdrop-filter:blur(4px);
  box-shadow:0 4px 12px rgba(10,30,63,.35);
  border:1px solid rgba(201,162,39,.3);
}
.room-body{padding:22px; display:flex; flex-direction:column; gap:12px; flex:1;}
.room-body h3{margin:0; font-size:18px; color:var(--navy-800);}
.room-desc{margin:0; font-size:13.5px; color:var(--ink-600); line-height:1.8;}
.room-features{display:flex; flex-wrap:wrap; gap:6px; margin:4px 0;}
.room-features span{
  background:linear-gradient(135deg, var(--cream-200), var(--cream-100));
  color:var(--navy-800); font-size:11.5px;
  padding:3px 10px; border-radius:999px; font-weight:600;
  border:1px solid rgba(201,162,39,.2);
}
.room-price-row{display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; border-top:1px dashed var(--line);}
.room-price{font-weight:800; font-size:19px; color:var(--navy-700);}
.room-price small{font-weight:500; font-size:12px; color:var(--ink-600);}
.room-stock{font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:999px;}
.room-stock.ok{background:#dcf3e6; color:var(--success);}
.room-stock.low{background:#fff3d6; color:#8a6100;}
.room-stock.out{background:#fbe1da; color:var(--danger);}
.room-body .btn{margin-top:12px;}

/* ─────────── امکانات ─────────── */
.amenities-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:22px;}
.amenity-card{
  background:#fff; border-radius:var(--radius-lg); padding:34px 24px; text-align:center;
  box-shadow:var(--shadow-sm); transition:transform .25s, box-shadow .25s;
  border:1px solid rgba(10,30,63,.05);
  position:relative; overflow:hidden;
}
.amenity-card::after{
  content:""; position:absolute; bottom:0; right:0; left:0; height:3px;
  background:linear-gradient(90deg, var(--navy-700), var(--gold-500));
  transform:scaleX(0); transform-origin:right;
  transition:transform .3s;
}
.amenity-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.amenity-card:hover::after{transform:scaleX(1);}
.amenity-icon{
  width:76px;
  height:76px;
  border-radius:20px;
  margin:0 auto 20px;
  background:linear-gradient(135deg, var(--cream-100), var(--cream-200));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--navy-700);
  border:2px solid var(--gold-500);
  transition:all .3s ease;
  padding:14px;
}
.amenity-icon svg{width:100%; height:100%;}
.amenity-card:hover .amenity-icon{
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300);
  transform:scale(1.06) rotate(-2deg);
}
.amenity-card h4{font-size:16px; margin-bottom:6px; color:var(--navy-800);}
.amenity-card p{font-size:13px; color:var(--ink-600); margin:0; line-height:1.8;}

/* ─────────── گالری ─────────── */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; grid-auto-rows:220px;}
.gallery-item{
  overflow:hidden; border-radius:var(--radius-md); cursor:pointer; position:relative;
  box-shadow:var(--shadow-sm); background:var(--cream-200);
  border:2px solid transparent;
  transition:border-color .3s;
}
.gallery-item:hover{border-color:var(--gold-500);}
.gallery-item:nth-child(1){grid-column:span 2; grid-row:span 2;}
.gallery-item:nth-child(6n+5){grid-row:span 2;}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.gallery-item:hover img{transform:scale(1.1) rotate(.5deg);}
.gallery-item::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(10,30,63,.55);
  opacity:0; transition:opacity .3s;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23e5c76b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
}
.gallery-item:hover::after{opacity:1;}

/* ─────────── مراحل رزرو ─────────── */
.howto-section{background:var(--cream-100);}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px;}
.steps li{
  background:#fff; padding:34px 24px; border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm); text-align:center; position:relative;
  border-top:3px solid var(--gold-500);
  display:flex; flex-direction:column; gap:10px;
  transition:transform .25s, box-shadow .25s;
}
.steps li:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.step-num{
  width:50px; height:50px; border-radius:50%;
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300); font-weight:800; font-size:20px;
  display:flex; align-items:center; justify-content:center; margin:0 auto 10px;
  border:2px solid var(--gold-500);
}
.steps li strong{font-size:16px; color:var(--navy-800);}
.steps li span:last-child{font-size:13.5px; color:var(--ink-600); line-height:1.8;}

/* ─────────── تماس ─────────── */
.contact-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:stretch;}
.contact-info h2{margin-bottom:14px; color:var(--navy-800);}
.contact-list{list-style:none; padding:0; margin:28px 0 0; display:flex; flex-direction:column; gap:16px;}
.contact-list li{display:flex; gap:14px; align-items:flex-start;}
.ci-ico{
  width:48px; height:48px; border-radius:12px; flex-shrink:0;
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  border:2px solid var(--gold-500);
  box-shadow:0 4px 12px rgba(10,30,63,.15);
  padding:12px;
}
.ci-ico svg{width:100%; height:100%; color:#fff;}
.contact-list li div{display:flex; flex-direction:column;}
.contact-list strong{font-size:13px; color:var(--gold-500); font-weight:700;}
.contact-list span{font-size:15px; font-weight:700; color:var(--navy-800);}
.contact-social{display:flex; gap:12px; margin-top:26px;}
.contact-social a{
  width:46px; height:46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--cream-200); transition:.2s; color:var(--navy-800);
}
.contact-social a:hover{
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300); transform:translateY(-3px);
  box-shadow:0 8px 16px rgba(10,30,63,.30);
}
.contact-social svg{width:20px; height:20px;}
.contact-map{
  border-radius:var(--radius-lg); overflow:hidden; min-height:420px;
  box-shadow:var(--shadow); background:var(--cream-200);
  border:2px solid var(--gold-500);
}
.contact-map iframe{width:100%; height:100%; min-height:420px; border:0;}
.map-placeholder{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  height:100%; gap:14px; color:var(--ink-600); padding:40px;
}
.map-placeholder [data-icon]{color:var(--gold-500);}
.map-placeholder [data-icon] svg{width:64px; height:64px;}
.map-placeholder p{margin:0; font-weight:700; color:var(--navy-800); font-size:17px;}

/* ─────────── فوتر ─────────── */
.site-footer{
  background:linear-gradient(180deg, var(--navy-900), #061529);
  color:#d5dce6; margin-top:80px; position:relative;
}
.site-footer::before{
  content:""; position:absolute; top:0; right:0; left:0; height:4px;
  background:linear-gradient(90deg, var(--gold-600), var(--gold-500), var(--yellow-500), var(--gold-500), var(--gold-600));
}
.footer-grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px;
  padding:70px 24px 50px;
}
.footer-col h4{
  color:#fff; font-size:16px; margin-bottom:22px; position:relative; padding-bottom:14px;
}
.footer-col h4::after{
  content:""; position:absolute; bottom:0; right:0; width:36px; height:3px;
  background:linear-gradient(90deg, var(--gold-500), var(--yellow-500));
  border-radius:2px;
}
.footer-brand{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
.footer-brand .brand-mark{
  width:50px;
  height:50px;
  border-radius:12px;
  padding:5px;
}
.footer-brand strong{font-size:17px; color:#fff;}
.footer-about p{font-size:13.5px; line-height:1.9; color:#98a5b8; margin:0 0 20px;}
.footer-social{display:flex; gap:10px;}
.footer-social a{
  width:42px; height:42px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); transition:.2s;
  color:var(--gold-300);
  border:1px solid rgba(201,162,39,.25);
}
.footer-social a:hover{
  background:linear-gradient(135deg, var(--gold-500), var(--yellow-500));
  color:var(--navy-900); border-color:transparent;
  transform:translateY(-3px);
}
.footer-social svg{width:18px; height:18px;}
.footer-links, .footer-contact, .footer-hours{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;
}
.footer-links a{font-size:13.5px; color:#98a5b8; transition:.2s; position:relative; padding-right:0;}
.footer-links a:hover{color:var(--gold-300); padding-right:8px;}
.footer-links a::before{
  content:"›"; position:absolute; right:-12px; opacity:0; transition:.2s; color:var(--gold-500);
}
.footer-links a:hover::before{opacity:1; right:-2px;}
.footer-contact li{
  font-size:13.5px; color:#98a5b8;
  display:flex; gap:10px; align-items:center;
}
.footer-contact .ft-ico{
  color:var(--gold-300);
  width:16px; height:16px;
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.footer-contact .ft-ico svg{width:16px; height:16px;}
.footer-hours li{display:flex; justify-content:space-between; font-size:13.5px; color:#98a5b8;}
.footer-hours strong{color:var(--gold-300); font-weight:600;}
.footer-cta{margin-top:18px;}
.footer-bottom{border-top:1px solid rgba(201,162,39,.15); padding:24px 0;}
.footer-bottom-inner{display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; text-align:center;}
.footer-bottom p{margin:0; font-size:13px; color:#98a5b8;}
.footer-credit span{color:var(--gold-300);}

/* ─────────── مودال ─────────── */
.modal-overlay{
  position:fixed; inset:0; background:rgba(10,30,63,.7); display:none;
  align-items:center; justify-content:center; z-index:100; padding:20px;
  backdrop-filter:blur(6px);
}
.modal-overlay.open{display:flex; animation:fadeIn .2s;}
@keyframes fadeIn{from{opacity:0;} to{opacity:1;}}
.modal{
  background:#fff; border-radius:var(--radius-lg); padding:34px; width:100%; max-width:520px;
  max-height:90vh; overflow-y:auto; position:relative; box-shadow:var(--shadow-lg);
  animation:slideUp .25s ease;
  border-top:4px solid var(--gold-500);
}
@keyframes slideUp{from{transform:translateY(20px); opacity:0;} to{transform:translateY(0); opacity:1;}}
.modal-sm{max-width:420px; text-align:center;}
.modal-close{
  position:absolute; top:16px; left:16px; width:34px; height:34px; border-radius:50%;
  border:none; background:var(--cream-200); font-size:20px; cursor:pointer; line-height:1;
  transition:.2s; color:var(--navy-800);
}
.modal-close:hover{background:var(--danger); color:#fff;}

/* ─────────── فرم ─────────── */
.field{margin-bottom:16px; display:flex; flex-direction:column; gap:6px;}
.field label{font-size:13.5px; font-weight:700; color:var(--navy-800);}
.field input, .field select, .field textarea{
  padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--radius-sm);
  font-family:inherit; font-size:14.5px; background:#fff; color:var(--ink-900);
  transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(201,162,39,.15);
}
.field textarea{resize:vertical; font-family:inherit;}
.form-row.two-col{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

.id-type-toggle{display:flex; gap:10px; flex-wrap:wrap;}
.id-type-opt{
  display:flex; align-items:center; gap:8px; padding:10px 16px;
  border:1.5px solid var(--line); border-radius:999px; cursor:pointer;
  font-size:13.5px; font-weight:600; color:var(--ink-600);
  transition:border-color .2s, background .2s, color .2s;
  background:#fff;
}
.id-type-opt input{accent-color:var(--primary); margin:0;}
.id-type-opt:has(input:checked){
  border-color:var(--accent); background:rgba(201,162,39,.08); color:var(--navy-700);
}
.field.field-error input{border-color:var(--danger) !important; box-shadow:0 0 0 3px rgba(179,67,43,.12) !important;}
.field-error-msg{color:var(--danger); font-size:12px; margin-top:4px; display:none;}
.field.field-error .field-error-msg{display:block;}
.link-btn{
  background:none; border:none; color:var(--primary); font-family:inherit;
  font-size:13px; font-weight:600; cursor:pointer; text-decoration:underline;
  text-underline-offset:3px; padding:0;
}
.policy-link{text-align:center; margin:14px 0 4px;}
.error-text{color:var(--danger); font-size:13.5px;}

.price-box{
  display:flex; justify-content:space-between;
  background:linear-gradient(135deg, var(--cream-200), var(--cream-100));
  border-radius:var(--radius-sm); padding:16px 20px; margin:18px 0;
  border:1px solid rgba(201,162,39,.25);
}
.price-box div{display:flex; flex-direction:column; gap:2px; font-size:12.5px; color:var(--ink-600);}
.price-box strong{font-size:18px; color:var(--navy-800); font-weight:800;}

.pay-box{
  background:var(--cream-100); border:1.5px dashed var(--gold-500);
  border-radius:var(--radius-sm); padding:18px; margin-bottom:18px;
}
.pay-box h4{margin:0 0 6px; font-size:15px; color:var(--navy-800);}
.card-number-display{
  background:linear-gradient(135deg, var(--navy-900), var(--navy-700)); color:#fff;
  border-radius:var(--radius-sm); padding:20px; margin:14px 0; display:flex;
  flex-direction:column; gap:8px; font-family:monospace; letter-spacing:2px; font-size:18px;
  box-shadow:0 10px 28px rgba(10,30,63,.30), inset 0 0 0 1px rgba(201,162,39,.4);
  position:relative; overflow:hidden;
}
.card-number-display::before{
  content:""; position:absolute; top:-50%; right:-50%; width:200%; height:200%;
  background:radial-gradient(circle, rgba(201,162,39,.15), transparent 60%);
  pointer-events:none;
}
.card-holder{font-family:var(--font-fa); font-size:12.5px; letter-spacing:0; color:var(--gold-300);}
.receipt-preview{margin-top:10px; max-height:180px; border-radius:var(--radius-sm); border:1px solid var(--line);}
.success-icon{
  width:72px; height:72px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-500), var(--yellow-500));
  color:var(--navy-900);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  animation:pulse .6s ease;
  box-shadow:0 10px 28px rgba(201,162,39,.40);
  border:2px solid rgba(255,255,255,.4);
}
.success-icon svg{width:36px; height:36px;}
@keyframes pulse{0%{transform:scale(.5); opacity:0;} 60%{transform:scale(1.1);} 100%{transform:scale(1); opacity:1;}}

/* ─────────── تقویم ─────────── */
.datepicker-popover{
  position:absolute; z-index:200; display:none; background:#fff; border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg); padding:18px; width:310px;
  border:2px solid var(--gold-500);
}
.datepicker-popover.open{display:block;}
.dp-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px; font-weight:800; color:var(--navy-800);
}
.dp-nav{
  background:none; border:none; font-size:20px; cursor:pointer;
  color:var(--navy-700); padding:4px 12px; border-radius:8px; transition:.15s;
}
.dp-nav:hover{background:var(--cream-200); color:var(--gold-500);}
.dp-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center;}
.dp-weekday{font-size:12px; color:var(--gold-500); padding:4px 0; font-weight:800;}
.dp-day{
  padding:9px 0; border-radius:8px; cursor:pointer; font-size:14px; border:none; background:none;
  font-family:inherit; transition:.15s; color:var(--navy-800);
}
.dp-day:hover:not(.disabled):not(.empty){background:var(--cream-200); color:var(--gold-600);}
.dp-day.today{border:1.5px solid var(--gold-500);}
.dp-day.selected{
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300); font-weight:700;
}
.dp-day.disabled{color:#c9c9c9; cursor:not-allowed;}
.dp-day.empty{visibility:hidden;}

/* ─────────── پنل مدیریت ─────────── */
.admin-panel{
  display:none; position:fixed; inset:0; z-index:60; background:var(--cream-100);
  grid-template-columns:280px 1fr;
}
.admin-panel.open{display:grid;}
.admin-sidebar{
  background:linear-gradient(180deg, var(--navy-900), #061529);
  color:#fff; padding:24px 18px;
  display:flex; flex-direction:column; gap:18px; overflow-y:auto;
  position:relative;
}
.admin-sidebar::before{
  content:""; position:absolute; top:0; right:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--gold-500), var(--yellow-500), var(--gold-500));
}
.admin-brand{
  display:flex; align-items:center; gap:12px; padding-bottom:18px;
  border-bottom:1px solid rgba(201,162,39,.2); font-weight:800; font-size:15px;
}
.admin-brand .brand-mark{
  width:42px;
  height:42px;
  font-size:17px;
  padding:5px;
  border-radius:10px;
}
.admin-nav{display:flex; flex-direction:column; gap:6px; flex:1;}
.admin-nav-btn{
  text-align:right; background:none; border:none; color:#b8c2d1; font-family:inherit; font-size:14px;
  padding:12px 14px; border-radius:var(--radius-sm); cursor:pointer;
  display:flex; align-items:center; gap:10px; transition:.2s;
  border-right:3px solid transparent;
}
.admin-nav-btn .nav-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:20px; height:20px; color:currentColor; flex-shrink:0;
}
.admin-nav-btn .nav-ico svg{width:18px; height:18px;}
.admin-nav-btn > span:not(.nav-ico):not(.badge){flex:1;}
.admin-nav-btn:hover{background:rgba(201,162,39,.08); color:var(--gold-300);}
.admin-nav-btn.active{
  background:linear-gradient(90deg, rgba(201,162,39,.20), transparent);
  color:var(--gold-300); font-weight:700;
  border-right-color:var(--gold-500);
}
.badge{
  background:linear-gradient(135deg, var(--gold-500), var(--yellow-500));
  color:var(--navy-900); font-size:11px; padding:2px 8px; border-radius:999px; font-weight:800;
  margin-right:auto;
}
.admin-logout{margin-top:auto;}
.back-to-site{color:var(--gold-300); font-size:13.5px; text-align:center; padding:10px; transition:.2s;}
.back-to-site:hover{color:#fff;}
.admin-content{padding:34px 40px; overflow-y:auto;}
.admin-tab{display:none;}
.admin-tab.active{display:block; animation:fadeIn .25s;}
.admin-tab h2{color:var(--navy-800); position:relative; padding-bottom:12px;}
.tab-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; flex-wrap:wrap; gap:10px;}

.stat-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; margin:22px 0 34px;}
.stat-card{
  background:#fff; border-radius:var(--radius-md); padding:26px 24px; text-align:center;
  box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:6px;
  border-top:3px solid var(--gold-500);
  position:relative; overflow:hidden;
}
.stat-card::before{
  content:""; position:absolute; top:0; right:0; width:80px; height:80px;
  background:radial-gradient(circle, rgba(201,162,39,.10), transparent 70%);
}
.stat-num{
  font-size:34px; font-weight:800;
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-num-sm{font-size:19px; word-break:break-word;}
.stat-card span:last-child{color:var(--ink-600); font-size:13.5px;}

.notif-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.notif-list li{
  background:#fff; padding:14px 18px; border-radius:var(--radius-sm);
  border-right:3px solid var(--gold-500);
  display:flex; justify-content:space-between; font-size:14px; box-shadow:var(--shadow-sm);
}
.notif-list .notif-time{color:var(--ink-600); font-size:12px;}
.empty-state{color:var(--ink-600); text-align:center; padding:30px 0;}

.table-wrap{overflow-x:auto; background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-sm);}
.data-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.data-table th, .data-table td{padding:14px 16px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap; vertical-align:middle;}
.data-table td.cell-wrap{white-space:normal; max-width:260px;}
.data-table th{
  background:linear-gradient(180deg, var(--cream-200), var(--cream-100));
  font-weight:800; font-size:13px; color:var(--navy-800);
}
.data-table tr:last-child td{border-bottom:none;}
.data-table tbody tr:hover{background:rgba(201,162,39,.04);}
.data-table img.thumb{width:52px; height:52px; object-fit:cover; border-radius:8px; border:2px solid var(--gold-500);}

.status-pill{padding:5px 14px; border-radius:999px; font-size:12px; font-weight:700; display:inline-block;}
.status-pending{background:#fff3d6; color:#8a6100;}
.status-confirmed{background:#dcf3e6; color:var(--success);}
.status-rejected{background:#fbe1da; color:var(--danger);}

.row-actions{display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.icon-btn{
  border:none; border-radius:8px; padding:7px 12px; cursor:pointer; font-size:12.5px;
  font-family:inherit; font-weight:700; transition:.15s;
}
.icon-btn:hover{opacity:.88; transform:translateY(-1px);}
.icon-btn.approve{background:var(--success); color:#fff;}
.icon-btn.reject{background:var(--danger); color:#fff;}
.icon-btn.edit{background:var(--cream-200); color:var(--navy-800);}
.icon-btn.edit:hover{background:var(--navy-700); color:#fff;}
.icon-btn.delete{background:var(--danger); color:#fff;}
.icon-btn.view{
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300);
}

.settings-form fieldset, .admin-fieldset{
  border:1px solid var(--line); border-radius:var(--radius-md);
  padding:22px 24px; margin-bottom:24px;
  background:#fff;
  position:relative;
}
.settings-form fieldset::before, .admin-fieldset::before{
  content:""; position:absolute; top:0; right:24px; left:24px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-500), transparent);
}
.settings-form legend, .admin-fieldset legend{
  padding:0 12px; font-weight:800; color:var(--navy-800); font-size:15px;
}
.receipt-full{border-radius:var(--radius-sm); margin-top:14px; max-height:70vh;}

.upload-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.upload-row input[type="text"]{flex:1; min-width:180px;}
.preview-img{margin-top:10px; max-height:160px; border-radius:var(--radius-sm); border:2px solid var(--gold-500);}

.gallery-manage{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; margin-top:16px;}
.gallery-manage-item{
  position:relative; border-radius:var(--radius-sm); overflow:hidden;
  box-shadow:var(--shadow-sm); aspect-ratio:1;
  border:2px solid var(--gold-500);
}
.gallery-manage-item img{width:100%; height:100%; object-fit:cover;}
.gallery-manage-item button{
  position:absolute; top:6px; left:6px; width:30px; height:30px; border-radius:50%;
  background:var(--danger); color:#fff; border:none; cursor:pointer; font-size:14px; font-weight:800;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}

.amenity-add-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
.amenity-add-row input[type="text"]{flex:1; min-width:100px;}
.amenities-manage{display:flex; flex-direction:column; gap:8px; margin-top:16px;}
.amenity-manage-item{
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  background:linear-gradient(135deg, var(--cream-100), var(--cream-200));
  border-radius:var(--radius-sm);
  border-right:3px solid var(--gold-500);
}
.amenity-manage-item .am-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; color:var(--navy-700);
}
.amenity-manage-item .am-ico svg{width:26px; height:26px;}
.amenity-manage-item .am-body{flex:1; display:flex; flex-direction:column;}
.amenity-manage-item .am-body strong{font-size:14px; color:var(--navy-800);}
.amenity-manage-item .am-body small{color:var(--ink-600); font-size:12px;}
.amenity-manage-item button{
  background:var(--danger); color:#fff; border:none; border-radius:8px;
  padding:6px 12px; cursor:pointer; font-family:inherit; font-size:12px; font-weight:700;
}

/* ─────────── دکمه بازگشت به بالا ─────────── */
.back-to-top{
  position:fixed; bottom:26px; left:26px; width:50px; height:50px; border-radius:50%;
  background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
  color:var(--gold-300);
  border:2px solid var(--gold-500);
  cursor:pointer;
  box-shadow:0 8px 20px rgba(10,30,63,.35);
  opacity:0; pointer-events:none; transition:.25s; z-index:50;
  display:flex; align-items:center; justify-content:center;
  padding:14px;
}
.back-to-top svg{width:100%; height:100%;}
.back-to-top.visible{opacity:1; pointer-events:auto;}
.back-to-top:hover{
  transform:translateY(-4px);
  background:linear-gradient(135deg, var(--gold-500), var(--gold-600));
  color:var(--navy-900);
  box-shadow:0 12px 28px rgba(201,162,39,.40);
}

/* ─────────── ریسپانسیو ─────────── */
@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .about-grid{grid-template-columns:1fr; gap:34px;}
  .about-media::before{display:none;}
  .about-media img{height:360px;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:840px){
  .admin-panel.open{grid-template-columns:1fr;}
  .admin-sidebar{flex-direction:row; flex-wrap:wrap; padding:14px; gap:10px;}
  .admin-sidebar::before{width:100%; height:3px; top:auto; bottom:auto; right:0; left:0;}
  .admin-nav{flex-direction:row; flex-wrap:wrap; gap:6px; flex:auto;}
  .admin-content{padding:20px;}
  .admin-brand{display:none;}
  .main-nav{
    position:fixed; inset:0; z-index:46;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:4px; padding:100px 24px 40px; direction:rtl; text-align:center;
    background:
      radial-gradient(circle at 30% 20%, rgba(201,162,39,.10), transparent 50%),
      radial-gradient(circle at 70% 80%, rgba(201,162,39,.08), transparent 50%),
      rgba(6,20,34,.98);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .35s ease, visibility .35s ease;
    overflow-y:auto;
  }
  .main-nav.open{opacity:1; visibility:visible; pointer-events:auto;}
  .main-nav .nav-link{
    color:#fff; font-size:1.25rem; font-weight:400; padding:12px 20px; text-shadow:none;
  }
  .main-nav .nav-link.active, .main-nav .nav-link:hover{color:var(--gold-300);}
  .nav-drawer-sep{
    display:block !important; width:64px; height:1px; margin:16px 0;
    background:linear-gradient(90deg, transparent, var(--gold-500), transparent);
  }
  .nav-drawer-only{display:inline-flex !important;}
  .main-nav .btn-book{padding:13px 34px; font-size:14.5px;}
  .main-nav .tel-chip{border-right:0; padding-right:0; margin-top:18px; color:#c5cfda;}
  .header-actions .btn-book,
  .header-actions .tel-chip{display:none;}
  .hamburger{display:flex;}
  .mobile-book-float{display:inline-flex;}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:180px;}
  .gallery-item:nth-child(1){grid-column:span 2; grid-row:span 1;}
  .gallery-item:nth-child(6n+5){grid-row:span 1;}
}
@media (max-width:600px){
  :root{--hdr-h:80px; --hdr-h-scrolled:66px;}
  .brand-text small{display:none;}
  .mobile-book-float{padding:11px 18px; font-size:12.5px; bottom:16px; left:16px;}
  .hero{min-height:540px;}
  .hero h1::after{width:60px;}
  .hero-badges{gap:24px; padding-top:28px;}
  .hb strong{font-size:22px;}
  .brand-mark{width:48px; height:48px; font-size:20px;}
  .brand-text strong{font-size:16px;}
  .form-row.two-col{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; gap:30px; padding:50px 20px 30px;}
  .about-features{grid-template-columns:1fr;}
  .section{padding:56px 0;}
  .footer-bottom-inner{flex-direction:column; text-align:center;}
  .back-to-top{bottom:18px; left:18px; width:44px; height:44px; padding:12px;}
}

/* ═══════════════ داشبورد حرفه‌ای ═══════════════ */
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.dash-head h2{margin:0;padding-bottom:0;}
.dash-head h2::after{display:none;}
.dash-sub{color:var(--ink-600);font-size:13.5px;margin:6px 0 0;}
.dash-hello{
  display:flex;align-items:center;gap:12px;padding:12px 18px;
  background:linear-gradient(135deg,var(--cream-100),var(--cream-200));
  border:1px solid rgba(201,162,39,.25);border-radius:var(--radius-md);
}
.dash-hello-icon{font-size:24px;}
.dash-hello strong{display:block;font-size:14px;color:var(--navy-800);}
.dash-hello small{color:var(--ink-600);font-size:12px;}

/* کارت‌های آماری رنگی */
.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0 0 24px;}
.stat-card{
  display:flex;align-items:center;gap:14px;padding:20px;
  background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);
  border-top:none;position:relative;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.stat-card::before{display:none;}
.stat-ico{
  width:60px;height:60px;border-radius:16px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;color:#fff;
}
.stat-ico svg{width:32px;height:32px;color:#fff;}
.stat-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.stat-num{font-size:24px;font-weight:800;color:var(--navy-800);line-height:1.2;word-break:break-word;}
.stat-num-sm{font-size:16px;}
.stat-lbl{font-size:12.5px;color:var(--ink-600);}

/* پالت جواهری هم‌خانواده با سرمه‌ای/طلایی برند — به‌جای رنگ‌های شاد نامرتبط */
.sc-primary  {border-right:4px solid #023047;}
.sc-primary  .stat-ico{background:linear-gradient(135deg,#023047,#0f4c68);}
.sc-success  {border-right:4px solid #2f7d5c;}
.sc-success  .stat-ico{background:linear-gradient(135deg,#2f7d5c,#3fa877);}
.sc-warning  {border-right:4px solid #c8992e;}
.sc-warning  .stat-ico{background:linear-gradient(135deg,#c8992e,#e0b64b);}
.sc-info     {border-right:4px solid #8b5e34;}
.sc-info     .stat-ico{background:linear-gradient(135deg,#8b5e34,#b08347);}
.sc-gold     {border-right:4px solid #9c7a1f;}
.sc-gold     .stat-ico{background:linear-gradient(135deg,#9c7a1f,#c9a227);}
.sc-purple   {border-right:4px solid #6d2932;}
.sc-purple   .stat-ico{background:linear-gradient(135deg,#6d2932,#8f3a44);}
.sc-teal     {border-right:4px solid #0f3d3e;}
.sc-teal     .stat-ico{background:linear-gradient(135deg,#0f3d3e,#1c5c5e);}
.sc-pink     {border-right:4px solid #7a4048;}
.sc-pink     .stat-ico{background:linear-gradient(135deg,#7a4048,#9a5a63);}

/* گرید کارت‌های داشبورد */
.dash-grid{display:grid;gap:18px;margin-bottom:20px;}
.dash-grid-2{grid-template-columns:1.4fr 1fr;}
@media (max-width:900px){.dash-grid-2{grid-template-columns:1fr;}}
.dash-card{
  background:#fff;border-radius:var(--radius-md);padding:22px;
  box-shadow:var(--shadow-sm);border:1px solid rgba(10,30,63,.05);
}
.dash-card .card-head{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;margin-bottom:16px;flex-wrap:wrap;
}
.dash-card .card-head h3{margin:0;font-size:15px;color:var(--navy-800);}
.card-head-hint{font-size:12.5px;color:var(--ink-600);background:var(--cream-200);padding:4px 10px;border-radius:999px;}

/* نمودار ۷ روز اخیر */
.weekly-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:180px;align-items:end;}
.wc-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;}
.wc-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;}
.wc-bar{
  width:70%;max-width:38px;border-radius:8px 8px 0 0;
  background:linear-gradient(180deg,#c8992e,#023047);
  position:relative;transition:height .5s cubic-bezier(.16,.8,.24,1);
  box-shadow:0 2px 6px rgba(10,30,63,.15);
}
.wc-bar span{
  position:absolute;top:-20px;left:50%;transform:translateX(-50%);
  font-size:11px;font-weight:700;color:var(--navy-800);
}
.wc-lbl{font-size:11.5px;color:var(--ink-600);}
.wc-date{font-size:10.5px;color:#9aa4b2;}
.wc-today .wc-bar{background:linear-gradient(180deg,#f4d35e,#c8992e);}
.wc-today .wc-lbl{color:var(--navy-800);font-weight:700;}

/* نمودار وضعیت رزروها */
.status-dist{display:flex;flex-direction:column;gap:14px;}
.sd-row{display:flex;flex-direction:column;gap:6px;}
.sd-head{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--navy-800);}
.sd-head strong{margin-right:auto;color:var(--navy-800);}
.sd-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.sd-bar{height:8px;background:var(--cream-200);border-radius:99px;overflow:hidden;}
.sd-bar span{display:block;height:100%;border-radius:99px;transition:width .6s cubic-bezier(.16,.8,.24,1);}
.sd-pct{font-size:11.5px;color:var(--ink-600);text-align:left;}
.sd-total{padding-top:10px;border-top:1px dashed var(--line);font-size:13px;color:var(--ink-600);text-align:center;}

/* آخرین رزروها */
.recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.recent-item{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--cream-100),#fff);
  border-right:3px solid var(--gold-500);
  transition:transform .2s;
}
.recent-item:hover{transform:translateX(-3px);}
.recent-avatar{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--navy-700),var(--navy-900));
  color:var(--gold-300);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;
}
.recent-body{flex:1;display:flex;flex-direction:column;min-width:0;}
.recent-body strong{font-size:13.5px;color:var(--navy-800);}
.recent-body small{font-size:11.5px;color:var(--ink-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.recent-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.recent-meta small{font-size:11.5px;color:var(--navy-800);font-weight:700;}

/* اعلان‌ها با دکمه‌ی حذف */
.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.notif-item{
  display:flex;align-items:center;gap:10px;padding:12px 14px;
  background:#fff;border-radius:var(--radius-sm);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .2s;
}
.notif-item:hover{transform:translateX(-2px);border-color:rgba(201,162,39,.4);}
.notif-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold-500),var(--yellow-500));
  box-shadow:0 0 0 3px rgba(201,162,39,.15);
}
.notif-text{flex:1;font-size:13px;color:var(--navy-800);line-height:1.6;}
.notif-time{font-size:11.5px;color:var(--ink-600);flex-shrink:0;}
.notif-del{
  width:26px;height:26px;border-radius:50%;border:none;cursor:pointer;
  background:var(--cream-200);color:var(--danger);
  font-size:16px;font-weight:800;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;flex-shrink:0;
}
.notif-del:hover{background:var(--danger);color:#fff;transform:scale(1.1);}

/* بج مدرک هویتی در جدول */
.id-badge{
  display:inline-block;padding:2px 8px;border-radius:6px;
  background:linear-gradient(135deg,var(--cream-200),var(--cream-100));
  color:var(--navy-800);font-size:11px;font-weight:700;
  border:1px solid rgba(201,162,39,.3);
  margin-bottom:4px;
}
.mono{font-family:monospace;font-size:13px;letter-spacing:.5px;color:var(--navy-800);}

/* ═══ اتاق بسته به رزرو / تکمیل ظرفیت (فقط افزوده شده، بخش‌های قبلی دست‌نخورده) ═══ */
.room-card .btn:disabled,
.room-card .btn[disabled]{
  background:#e6e9ee; color:#7b8794; border-color:transparent;
  box-shadow:none; cursor:not-allowed; opacity:1; transform:none;
}
.room-card .btn:disabled::before,
.room-card .btn[disabled]::before{display:none;}
.room-card .btn:disabled:hover,
.room-card .btn[disabled]:hover{background:#e6e9ee; color:#7b8794; transform:none;}
.room-card:has(button[data-room]:disabled) .room-img{filter:grayscale(.65) brightness(.92);}

/* ── فاز ۱: پیام موجودی بازه‌ی تاریخ و کد رزرو ── */
.availability-note{margin:10px 0 0;padding:10px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.9}
.availability-note.ok{background:#e9f7ef;color:#1d6b43}
.availability-note.bad{background:#fdecea;color:#a23a2a}
.availability-note.wait{background:#f3f5f8;color:#516275}
.success-code{margin:6px 0 14px;font-size:15px}
.success-code strong{letter-spacing:2px;font-size:18px}
.review-flag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:8px;background:#fdecea;color:#a23a2a;font-size:11px;font-weight:800}
.status-expired,.status-cancelled{background:#eef1f5!important;color:#5b6b7c!important}

/* ══════════════ فاز ۳: تقویم، قیمت‌گذاری، گزارش‌ها، کاربران ══════════════ */
#adminPanel .admin-me{margin:10px 6px 12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);color:#fff;display:flex;flex-direction:column;gap:3px}
#adminPanel .admin-me:empty{display:none}
#adminPanel .admin-me strong{font-size:13px}
#adminPanel .admin-me small{font-size:11px;color:rgba(255,255,255,.62)}
#adminPanel .tab-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#adminPanel .res-search,#adminPanel .rep-date{height:42px;border:1px solid #dfe7ef;border-radius:12px;background:#fff;padding:0 12px;font-family:inherit;min-width:150px}
#adminPanel .rep-date{min-width:130px;cursor:pointer}
#adminPanel #repPreset{height:42px;border:1px solid #dfe7ef;border-radius:12px;background:#fff;padding:0 10px;font-family:inherit}
.form-row.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.form-row.four-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:900px){.form-row.three-col,.form-row.four-col{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.form-row.three-col,.form-row.four-col{grid-template-columns:1fr}}
.modal-wide{max-width:860px;text-align:right}
.check-line{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font-size:13.5px;font-weight:600;cursor:pointer}
.check-line input{width:17px;height:17px;accent-color:var(--primary)}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chip{display:inline-flex;align-items:center;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{padding:7px 13px;border:1px solid #dfe7ef;border-radius:999px;font-size:12.5px;font-weight:700;color:#516275;background:#fff;transition:.15s}
.chip input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.ops-form{padding:16px;border:1px dashed #dfe7ef;border-radius:16px;margin-bottom:16px;background:#fbfcfe}
.row-past td{opacity:.55}
.paid-pill,.due-pill{display:inline-block;margin-top:3px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800}
.paid-pill{background:#eaf8f1;color:#16845a}
.due-pill{background:#fff4e5;color:#a35c00}
.stay-pill{display:inline-block;margin-top:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f5;color:#4b5b6c}
.stay-pill.stay-checked_in{background:#e7f0ff;color:#1d4fb8}
.stay-pill.stay-no_show{background:#fdecea;color:#a23a2a}
.discount-row{display:flex;gap:8px}
.discount-row input{flex:1;min-width:0}
.price-breakdown{margin:-6px 0 10px;font-size:12.5px;color:var(--ink-600,#5b6b7c);line-height:1.9}

/* تقویم */
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;color:#516275;margin:6px 0 12px}
.cal-legend .lg{display:inline-block;width:14px;height:14px;border-radius:4px;margin-left:4px;vertical-align:-2px;border:1px solid rgba(0,0,0,.06)}
.cal-legend .lg.ok,.cal-cell.ok{background:#eaf8f1}
.cal-legend .lg.low,.cal-cell.low{background:#fff4dc}
.cal-legend .lg.full,.cal-cell.full{background:#fde5e3}
.cal-legend .lg.closed,.cal-cell.closed{background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 4px,#e1e6ec 4px,#e1e6ec 8px)}
.cal-legend .lg.wknd{background:#fff;box-shadow:inset 0 -3px 0 #c8992e}
.cal-wrap{overflow-x:auto;border:1px solid #e7edf4;border-radius:16px;background:#fff;-webkit-overflow-scrolling:touch}
.cal-table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:12px}
.cal-table th,.cal-table td{border-bottom:1px solid #eef2f6;border-left:1px solid #eef2f6;text-align:center;padding:6px 4px}
.cal-table thead th{background:#f7f9fc;font-weight:700;color:#516275;position:sticky;top:0;z-index:1}
.cal-table thead th small{display:block;font-size:10px;font-weight:600;color:#8594a5}
.cal-table thead th strong{display:block;font-size:14px;color:#17263a}
.cal-table thead th.is-today{background:#e7f0ff}
.cal-table thead th.is-today strong{color:#1d4fb8}
.cal-table thead th.is-fri strong{color:#b3432b}
.cal-table .cal-room{position:sticky;right:0;background:#fff;z-index:2;text-align:right;min-width:150px;padding:8px 12px;box-shadow:-6px 0 10px -8px rgba(15,23,42,.15)}
.cal-table thead .cal-room{background:#f7f9fc;z-index:3}
.cal-table .cal-room strong{display:block;font-size:12.5px;color:#17263a}
.cal-table .cal-room small{display:block;font-size:10.5px;color:#8594a5;font-weight:600}
.cal-cell{position:relative;cursor:pointer;min-width:56px;transition:filter .12s}
.cal-cell:hover,.cal-cell:focus{filter:brightness(.95);outline:none}
.cal-cell.wknd{box-shadow:inset 0 -3px 0 #c8992e}
.cal-cell.sel{outline:2px solid #1d4fb8;outline-offset:-2px}
.cal-av{display:block;font-size:14px;font-weight:900;color:#17263a}
.cal-av small{font-size:10px;font-weight:600;color:#8594a5}
.cal-cell.full .cal-av{color:#a23a2a}
.cal-price{display:block;font-size:10px;color:#516275;font-weight:600}
.cal-min{position:absolute;top:2px;left:3px;font-size:9px;font-weight:800;color:#8a6100;background:#fff7e5;border-radius:6px;padding:0 4px}
.cal-detail{margin-top:16px;padding:16px;border:1px solid #e7edf4;border-radius:16px;background:#fff}
.cal-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cal-res-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cal-res-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #eef2f6;border-radius:12px}
.cal-res-list small{color:#5b6b7c}
.cal-res-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}

/* جزئیات رزرو */
.rd-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 14px}
.rd-grid>div{padding:10px 12px;border:1px solid #eef2f6;border-radius:12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.rd-grid label{font-size:11px;color:#8594a5;font-weight:700}
.rd-grid strong{font-size:13.5px;color:#17263a;overflow-wrap:anywhere}
.rd-grid span{font-size:12px;color:#5b6b7c;overflow-wrap:anywhere}
@media(max-width:760px){.rd-grid{grid-template-columns:1fr 1fr}}
.rd-nights{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.rd-nights span{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:10px;background:#f7f9fc;font-size:12px;font-weight:700}
.rd-nights small{font-size:10px;color:#8594a5;font-weight:600}
.rd-form{padding-top:6px;border-top:1px solid #eef2f6}
.rd-actions{margin-top:14px}

/* گزارش‌ها */
.rep-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}
@media(max-width:900px){.rep-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rep-tiles{grid-template-columns:1fr}}
.rep-tile{padding:16px;border:1px solid #e7edf4;border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:4px}
.rep-tile span{font-size:12px;color:#5b6b7c;font-weight:700}
.rep-tile strong{font-size:20px;color:#17263a}
.rep-tile small{font-size:11px;color:#8594a5;line-height:1.7}
.rep-bars{display:flex;align-items:flex-end;gap:3px;height:150px;padding-top:8px;overflow-x:auto}
.rep-bar{flex:1 0 12px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.rep-bar-fill{display:block;width:100%;max-width:26px;border-radius:5px 5px 0 0;background:var(--primary);opacity:.85}
.rep-bar:hover .rep-bar-fill{opacity:1}
.rep-bar small{font-size:9.5px;color:#8594a5;height:12px}
.occ-meter{display:inline-block;width:70px;height:6px;border-radius:6px;background:#eef2f6;margin-left:6px;vertical-align:middle;overflow:hidden}
.occ-meter span{display:block;height:100%;background:var(--primary)}
.rep-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.rep-two{grid-template-columns:1fr}}
.audit-table td{vertical-align:top}

.ops-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#17263a;color:#fff;padding:11px 20px;border-radius:12px;font-size:13.5px;font-weight:700;opacity:0;pointer-events:none;transition:.2s;z-index:300;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.ops-toast.show{opacity:1;transform:translate(-50%,0)}
#usersBody select{height:36px;border:1px solid #dfe7ef;border-radius:10px;padding:0 10px;font-family:inherit;background:#fff;font-size:12.5px;font-weight:700;color:#24364a}
#usersBody select:disabled{background:#f4f7fb;color:#8594a5}
#usersBody .row-actions,#ratesBody .row-actions,#discountsBody .row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}

/* ══════════════ فاز ۴: پیگیری رزرو، واچر، اتصال سایت‌ها ══════════════ */
.track-modal{max-width:640px;text-align:right}
.otp-input{font-size:24px!important;letter-spacing:10px;text-align:center;font-weight:800}
.voucher{border:1px solid var(--line,#e7edf4);border-radius:18px;padding:20px;background:#fff}
.v-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:1px dashed var(--line,#e7edf4)}
.v-hotel{display:block;font-size:18px;color:var(--navy-800,#17263a)}
.v-sub{font-size:12.5px;color:var(--ink-600,#5b6b7c)}
.v-code{text-align:center;padding:8px 14px;border-radius:12px;background:var(--cream-200,#f3eee2)}
.v-code span{display:block;font-size:11px;color:var(--ink-600,#5b6b7c)}
.v-code strong{font-size:18px;letter-spacing:2px;color:var(--navy-800,#17263a)}
.v-status{margin:14px 0;padding:9px 14px;border-radius:12px;font-weight:800;font-size:14px}
.v-status.ok{background:#e9f7ef;color:#1d6b43}
.v-status.wait{background:#fff4e0;color:#8a5a00}
.v-status.bad{background:#fdecea;color:#a23a2a}
.v-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v-grid>div{padding:10px 12px;border:1px solid #eef2f6;border-radius:12px;display:flex;flex-direction:column;gap:2px}
.v-grid label,.v-hotel-info label{font-size:11px;color:#8594a5;font-weight:700}
.v-grid strong{font-size:14px;color:var(--navy-800,#17263a)}
.v-grid span{font-size:12px;color:#5b6b7c}
.v-pay{margin-top:12px;border-radius:12px;background:#f7f9fc;padding:4px 14px}
.v-pay>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:13.5px}
.v-pay>div:last-child{border-bottom:0}
.v-hotel-info{margin-top:12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.v-hotel-info label{display:inline-block;margin-left:6px}
.v-foot{margin:12px 0 0;font-size:12px;color:#8594a5}
.v-cancel{margin-top:14px}
.v-note{padding:10px 14px;border-radius:12px;background:#f7f9fc;font-size:13px;line-height:1.9;margin-bottom:10px}
.v-note.bad{background:#fdecea;color:#7d2b1f}
.btn-danger-outline{border-color:#d94b58!important;color:#b3323e!important}
.btn-danger-outline:hover{background:#d94b58!important;color:#fff!important}
.track-actions{margin-top:14px}
@media(max-width:520px){.v-grid{grid-template-columns:1fr}.v-head{flex-direction:column}}
@media print{
  body.print-voucher>*:not(#trackModal){display:none!important}
  body.print-voucher #trackModal{position:static!important;display:block!important;background:none!important;padding:0!important;backdrop-filter:none!important}
  body.print-voucher #trackModal .modal{box-shadow:none!important;border:0!important;max-height:none!important;overflow:visible!important;padding:0!important;max-width:none!important;animation:none!important}
  body.print-voucher #trackModal .modal-close,body.print-voucher #trackModal h3,body.print-voucher .v-cancel,body.print-voucher .track-actions{display:none!important}
  body.print-voucher .voucher{border:1px solid #999}
}
.ext-pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#f1ecff;color:#5b3fb3}
.refund-box{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:#fff4e5;margin-bottom:14px;font-size:13px;line-height:1.9}
.refund-box.done{background:#eaf8f1}
.howto-list{margin:0 0 8px;padding-right:20px;line-height:2.1;font-size:13.5px}
.channel-list{display:flex;flex-direction:column;gap:12px}
.channel-card{padding:16px;border:1px solid #e7edf4;border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:8px}
.channel-card.is-off{opacity:.6}
.channel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.channel-head .row-actions{display:flex;flex-wrap:wrap;gap:6px}
.copy-row{display:flex;gap:8px}
.copy-row input{flex:1;min-width:0;height:38px;border:1px solid #dfe7ef;border-radius:10px;padding:0 10px;font-size:12px;background:#f7f9fc;font-family:monospace}
.channel-status{font-size:12.5px}
.channel-ups{display:flex;flex-wrap:wrap;gap:6px}
#adminPanel .channel-head .row-actions,#adminPanel #usersBody .row-actions,#adminPanel #ratesBody .row-actions,#adminPanel #discountsBody .row-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:6px!important;align-items:center}
.ok-note{background:#e9f7ef!important;color:#1d6b43}
.warn-note{background:#fff4e0!important;color:#7a4f00}
.copy-row input{direction:ltr!important;text-align:left!important;unicode-bidi:isolate}
