⁸/* =================================================
   DELNAVAZ VIP — PRODUCTION CSS
   Dark Luxury • Mobile First • Stable
   ================================================= */

/* ---------- RESET ---------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ---------- FONT ---------- */
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/Vazirmatn-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}

/* ---------- ROOT (ONLY ONE) ---------- */
:root {
  --black-vip: #0b0b0f;
  --gold-vip: #c9a24d;
  --white: #ffffff;

  --text-light: #e5e7eb;
  --text-muted: #9ca3af;

  --shadow-soft: 0 10px 30px rgba(0,0,0,0.4);
  --shadow-md: 0 30px 70px rgba(0,0,0,0.55);
  --shadow-lg: 0 50px 120px rgba(0,0,0,0.7);

  --glow-gold: 0 0 40px rgba(201,162,77,0.25);

  --glass-bg: rgba(15,15,20,0.55);
  --glass-blur: blur(18px);

  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 32px;
}

/* ---------- BASE ---------- */
html, body {
  background: var(--black-vip);
}

body {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  direction: rtl;
  line-height: 1.9;
  color: var(--text-light);
  overflow-x: hidden;
  padding-bottom: 110px;
}

/* ---------- LAYOUT ---------- */
.container{
    width:min(92%,1200px);
    margin:0 auto;
    overflow:hidden;
}

section {
  padding: 60px 0;
  background: transparent;
}

/* ===== HEADER ===== */

#site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(11,11,15,.90);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(201,162,77,.18);
}

#site-header .container{
    display:flex;
    flex-direction:column;
}

.header-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo a{
    color:#d4af37;
    text-decoration:none;
    font-size:28px;
    font-weight:700;
}

.admin-btn{
    padding:10px 22px;
    border-radius:12px;
    text-decoration:none;
    background:linear-gradient(135deg,#d4af37,#f2d57c);
    color:#111;
    font-weight:700;
}

.main-nav{
    width:100%;
    border-top:1px solid rgba(201,162,77,.15);
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}

.main-nav::-webkit-scrollbar{
    display:none;
}

.main-nav ul{
    list-style:none;
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:24px;
    width:max-content;
    padding:16px 18px;
    margin:0;
}

.main-nav li{
    flex:0 0 auto;
}

.main-nav a{
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
}

@media(max-width:768px){

.header-top{
    padding:14px 0;
}

.logo a{
    font-size:22px;
}

.admin-btn{
    padding:8px 14px;
    font-size:13px;
}

.main-nav ul{
    gap:18px;
}

}
/* ===========================
   Tablet
=========================== */

@media(max-width:992px){

.main-nav ul{
gap:18px;
}

.main-nav a{
font-size:14px;
}

.btn-reserve{
padding:10px 18px;
}

}

/* ===========================
   Mobile
=========================== */

@media(max-width:768px){

#site-header .container{
height:auto;
padding:14px 0;
flex-direction:column;
gap:15px;
}

.main-nav{
margin:0;
width:100%;
}

.main-nav ul{
display:flex;
justify-content:center;
flex-wrap:wrap;
overflow:hidden;
white-space:normal;
gap:10px;
}

.logo a{
font-size:22px;
}

.main-nav a{
font-size:14px;
}

.btn-reserve{
padding:10px 16px;
}

}

/* ---------- NAV ---------- */
.main-nav ul {
  list-style: none;
  display: flex;
  gap: 32px;
}

.main-nav a {
  color: var(--text-light);
  text-decoration: none;
  position: relative;
  font-size: 15px;
}

.main-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: var(--gold-vip);
  transition: width 0.3s ease;
}

.main-nav a:hover::after {
  width: 100%;
}
/* =================================================
   HERO
================================================= */

.video-hero{
    width:100%;
    overflow:hidden;
    padding-bottom:15px;
}

.hero-video{
    width:100%;
    height:55vw;
    max-height:650px;
    overflow:hidden;
}

.hero-video video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.hero-info{
    padding:10px 0 8px !important;
}


#vip-services{
    padding-top:5px !important;
}

.hero-content{
    max-width:1000px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.hero-content h1{
    font-size:52px;
    font-weight:700;
    color:#fff;
    margin-bottom:12px;
    text-shadow:0 8px 35px rgba(0,0,0,.55);
}

.hero-subtitle{
    font-size:22px;
    color:#e6c97a;
    margin-bottom:22px;
}

.hero-actions{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    width:100%;
    margin:0 auto;
}

.hero-actions .btn{
    min-width:220px;
    display:flex;
    justify-content:center;
    align-items:center;
}

@media (max-width:992px){

.hero-content h1{
    font-size:42px;
}

.hero-subtitle{
    font-size:19px;
}

}

@media (max-width:768px){

.hero-info{
    padding:15px 15px 15px;
}

.hero-content h1{
    font-size:30px;
}

.hero-subtitle{
    font-size:16px;
    margin-bottom:18px;
}

.hero-actions{
    flex-direction:column;
    gap:12px;
}

.hero-actions .btn{
    width:85%;
    max-width:250px;
    margin:0 auto;
}
}



@media (max-width:480px){

.hero-content h1{
    font-size:26px;
}

.hero-subtitle{
    font-size:15px;
}

}
/* =================================================
   BUTTONS
================================================= */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 34px;
border-radius:18px;
font-weight:600;
text-decoration:none;
transition:.35s;
cursor:pointer;
}

.btn.primary{
background:linear-gradient(135deg,#d4af37,#f1d27a);
color:#111;
box-shadow:0 16px 40px rgba(212,175,55,.30);
}

.btn.secondary{
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.28);
color:#fff;
backdrop-filter:blur(8px);
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 20px 45px rgba(0,0,0,.35);
}
/* ---------- BUTTONS ---------- */
.btn {
  display: inline-block;
  padding: 14px 34px;
  border-radius: var(--radius-md);
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.btn.primary {
  background: linear-gradient(135deg, var(--gold-vip), #e6c97a);
  color: #0b0b0f;
  box-shadow: 0 16px 40px rgba(201,162,77,0.35);
}

.btn.secondary {
  border: 1px solid rgba(255,255,255,0.4);
  color: var(--white);
  backdrop-filter: blur(6px);
}

.btn:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-soft), var(--glow-gold);
}

/* =================================================
   SERVICES
================================================= */

.section-title{
text-align:center;
font-size:38px;
font-weight:700;
margin-bottom:45px;
color:var(--gold-vip);
text-shadow:0 0 25px rgba(201,162,77,.25);
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

.service-card{
position:relative;
overflow:hidden;
padding:30px;
border-radius:28px;
background:rgba(20,20,25,.75);
backdrop-filter:blur(16px);
border:1px solid rgba(201,162,77,.18);
box-shadow:0 25px 60px rgba(0,0,0,.45);
transition:.35s;
}

.service-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(
90deg,
transparent,
#d4af37,
#f7e08a,
#d4af37,
transparent
);
}

.service-card:hover{
transform:translateY(-8px);
box-shadow:
0 25px 60px rgba(0,0,0,.55),
0 0 40px rgba(212,175,55,.30);
}

.service-icon{
width:90px;
height:90px;
margin:0 auto 20px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:48px;
color:#d4af37;
background:rgba(201,162,77,.08);
border:1px solid rgba(201,162,77,.25);
box-shadow:
0 0 25px rgba(201,162,77,.20),
inset 0 0 20px rgba(201,162,77,.10);
transition:.35s;
}

.service-card:hover .service-icon{
transform:scale(1.08);
}

.service-card h3{
font-size:22px;
margin-bottom:15px;
color:var(--gold-vip);
}

.service-card p{
font-size:15px;
line-height:2;
color:var(--text-light);
}

/* ===== VIP SERVICES ===== */

#vip-services .service-grid{
grid-template-columns:repeat(6,1fr);
gap:15px;
}

#vip-services .service-card{
text-align:center;
padding:35px 25px;
}

#vip-services .service-card h3{
font-size:20px;
}

#vip-services .service-card p{
font-size:14px;
line-height:1.9;
}

/* =================================================
   STATS
================================================= */

#stats{
padding:80px 0;
}

#stats .service-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

#stats .service-card{
text-align:center;
padding:35px 20px;
}

#stats h3{
font-size:46px;
font-weight:700;
color:var(--gold-vip);
margin-bottom:10px;
text-shadow:0 0 20px rgba(201,162,77,.25);
}

#stats p{
font-size:16px;
color:var(--text-light);
line-height:1.8;
}

/* =================================================
   PORTFOLIO
================================================= */

#portfolio-preview{
padding:80px 0;
}

#portfolio-preview p{
text-align:center;
max-width:700px;
margin:0 auto 35px;
color:var(--text-light);
line-height:2;
}

.portfolio-preview-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-bottom:35px;
}

.portfolio-preview-grid img{
display:block;
width:100%;
height:240px;
object-fit:cover;
border-radius:20px;
border:1px solid rgba(201,162,77,.18);
box-shadow:0 20px 45px rgba(0,0,0,.35);
transition:.35s;
cursor:pointer;
}

.portfolio-preview-grid img:hover{
transform:translateY(-8px) scale(1.02);
box-shadow:
0 30px 70px rgba(0,0,0,.55),
0 0 35px rgba(201,162,77,.25);
}

#portfolio-preview .btn{
display:table;
margin:0 auto;
}

/* =================================================
   INTRO
================================================= */

#intro{
padding:80px 0;
}

#intro .container{
max-width:900px;
}

.intro-text{
font-size:18px;
line-height:2.2;
text-align:center;
color:var(--text-light);
margin-bottom:25px;
}

.intro-text:last-child{
margin-bottom:0;
}

#intro strong{
color:var(--gold-vip);
font-weight:700;
}

#intro::before{
content:"";
display:block;
width:80px;
height:3px;
margin:0 auto 35px;
background:linear-gradient(
90deg,
transparent,
var(--gold-vip),
transparent
);
}

/* =================================================
   SERVICES
================================================= */

#services{
padding:80px 0;
}

#services .service-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:28px;
margin-top:45px;
}

#services .service-card{
position:relative;
padding:35px;
border-radius:28px;
background:rgba(20,20,25,.72);
backdrop-filter:blur(16px);
border:1px solid rgba(201,162,77,.18);
box-shadow:0 25px 60px rgba(0,0,0,.40);
transition:.35s;
overflow:hidden;
}

#services .service-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(
90deg,
transparent,
var(--gold-vip),
#f7e08a,
var(--gold-vip),
transparent
);
}

#services .service-card:hover{
transform:translateY(-8px);
box-shadow:
0 30px 70px rgba(0,0,0,.55),
0 0 35px rgba(201,162,77,.28);
}

#services .service-card h3{
font-size:24px;
margin-bottom:16px;
color:var(--gold-vip);
}

#services .service-card p{
font-size:15px;
line-height:2;
color:var(--text-light);
}

/* =================================================
   EXPERIENCE
================================================= */

#experience{
padding:80px 0;
}

.experience-list{
max-width:900px;
margin:40px auto 0;
padding:35px;
list-style:none;
border-radius:28px;
background:rgba(15,15,20,.60);
backdrop-filter:blur(16px);
border:1px solid rgba(201,162,77,.18);
box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.experience-list li{
display:flex;
align-items:flex-start;
gap:12px;
padding:16px 0;
line-height:2;
color:var(--text-light);
border-bottom:1px solid rgba(255,255,255,.06);
}

.experience-list li::before{
content:"✔";
flex-shrink:0;
font-size:18px;
font-weight:bold;
color:var(--gold-vip);
margin-top:4px;
}

.experience-list li:last-child{
border-bottom:none;
}

.experience-list strong{
color:var(--gold-vip);
}

/* =================================================
   OFFER
================================================= */

#offer{
padding:80px 0;
}

#offer .offer-box{
max-width:900px;
margin:auto;
padding:55px 40px;
text-align:center;
border-radius:30px;
background:linear-gradient(
135deg,
rgba(201,162,77,.10),
rgba(255,255,255,.02)
);
border:1px solid rgba(201,162,77,.20);
box-shadow:
0 25px 60px rgba(0,0,0,.40),
0 0 40px rgba(201,162,77,.08);
}

#offer h2{
font-size:36px;
color:var(--gold-vip);
margin-bottom:18px;
}

#offer p{
max-width:650px;
margin:0 auto 30px;
font-size:16px;
line-height:2;
color:var(--text-light);
}

#offer .btn{
min-width:220px;
}

/* =================================================
   FINAL CTA
================================================= */

#final-cta{
padding:90px 0;
text-align:center;
}

#final-cta .container{
max-width:850px;
}

#final-cta h2{
font-size:42px;
font-weight:700;
color:var(--gold-vip);
margin-bottom:18px;
text-shadow:0 0 25px rgba(201,162,77,.20);
}

#final-cta p{
max-width:680px;
margin:0 auto 35px;
font-size:16px;
line-height:2;
color:var(--text-light);
}

#final-cta .btn{
min-width:240px;
}

#final-cta .btn:hover{
transform:translateY(-4px);
}

/* =================================================
   RESERVATION
================================================= */

.reservation{
padding:80px 0 120px;
}

.reservation-header{
text-align:center;
margin-bottom:45px;
}

.reservation-header h1{
font-size:48px;
color:var(--gold-vip);
margin-bottom:15px;
text-shadow:0 0 30px rgba(201,162,77,.25);
}

.reservation-header p{
max-width:700px;
margin:auto;
font-size:16px;
line-height:2;
color:var(--text-muted);
}

.reservation-benefits{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
margin-bottom:40px;
}

.benefit-card{
padding:20px;
text-align:center;
border-radius:22px;
background:rgba(15,15,20,.65);
backdrop-filter:blur(16px);
border:1px solid rgba(201,162,77,.15);
}

.benefit-card span{
display:block;
font-size:24px;
color:var(--gold-vip);
margin-bottom:10px;
}

.reservation-form{
max-width:760px;
margin:auto;
padding:45px;
display:flex;
flex-direction:column;
gap:22px;
border-radius:30px;
background:rgba(15,15,20,.75);
backdrop-filter:blur(20px);
border:1px solid rgba(201,162,77,.18);
box-shadow:
0 30px 80px rgba(0,0,0,.55),
0 0 50px rgba(201,162,77,.08);
}

.form-group{
display:flex;
flex-direction:column;
}

.form-group label{
margin-bottom:10px;
font-size:15px;
font-weight:600;
color:var(--gold-vip);
}

.form-group input,
.form-group textarea,
.form-group select{
width:100%;
padding:16px 18px;
font-family:inherit;
font-size:15px;
color:#fff;
background:rgba(255,255,255,.04);
border:1px solid rgba(201,162,77,.18);
border-radius:16px;
transition:.35s;
}

.form-group textarea{
height:58px;
min-height:58px;
max-height:58px;
resize:none;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
outline:none;
border-color:var(--gold-vip);
box-shadow:0 0 25px rgba(201,162,77,.22);
}

.form-group select option{
background:#111;
color:#fff;
}

.checkbox{
display:flex;
align-items:center;
gap:12px;
}

.checkbox input{
width:20px;
height:20px;
}

.checkbox label{
margin:0;
color:#ddd;
}

.full{
width:100%;
}

#submitBtn{
height:58px;
font-size:17px;
font-weight:700;
}

.contact-box{
margin-top:35px;
padding:25px;
text-align:center;
border-radius:22px;
background:rgba(255,255,255,.03);
border:1px solid rgba(201,162,77,.15);
}

.contact-box h3{
margin-bottom:10px;
color:var(--gold-vip);
}

.contact-box a{
display:inline-block;
margin:12px 0;
font-size:24px;
font-weight:700;
color:var(--gold-vip);
text-decoration:none;
}

.contact-box p{
color:var(--text-muted);
}

.success-message{
display:none;
margin-top:30px;
padding:35px;
text-align:center;
border-radius:22px;
background:rgba(40,209,124,.12);
border:1px solid rgba(40,209,124,.35);
}

.success-message h2{
margin-bottom:12px;
font-size:28px;
color:#30e287;
}

.success-message p{
line-height:2;
color:#fff;
}

/* =================================================
   FOOTER FINAL
================================================= */

#site-footer{
padding:70px 20px;
background:#08090c;
border-top:1px solid rgba(201,162,77,.15);
text-align:center;
}

.footer-title{
font-size:34px;
color:#d4af37;
margin-bottom:18px;
font-weight:700;
}

#site-footer> .container>p{
max-width:700px;
margin:0 auto 35px;
color:#bdbdbd;
line-height:2;
font-size:15px;
}

.footer-contact{

display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:18px;

margin-bottom:40px;

}

.footer-contact a{

display:flex;
align-items:center;
gap:10px;

padding:14px 22px;

background:rgba(255,255,255,.04);

border:1px solid rgba(201,162,77,.18);

border-radius:18px;

text-decoration:none;

color:#fff;

transition:.35s;

}

.footer-contact a i{

font-size:20px;
color:#d4af37;

}

.footer-contact a:hover{

transform:translateY(-6px);

background:rgba(201,162,77,.08);

box-shadow:
0 15px 35px rgba(0,0,0,.45),
0 0 25px rgba(212,175,55,.25);

}

.designer-credit{

margin-top:35px;
padding-top:25px;

border-top:1px solid rgba(201,162,77,.12);

}

.designer-credit p{

margin:10px 0;
color:#9d9d9d;

}

.designer-credit strong{

color:#d4af37;

}

@media(max-width:768px){

.footer-title{

font-size:28px;

}

.footer-contact{

flex-direction:column;

}

.footer-contact a{

width:100%;
justify-content:center;

}

}
/* =================================================
   LIGHTBOX
================================================= */

.lightbox{
position:fixed;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:rgba(11,11,15,.88);
backdrop-filter:blur(18px);
opacity:0;
visibility:hidden;
transition:.35s;
z-index:10000;
}

.lightbox.active{
opacity:1;
visibility:visible;
}

.lightbox-content{
position:relative;
max-width:92%;
max-height:92%;
animation:zoomIn .4s ease;
}

.lightbox img,
.lightbox video{
display:block;
max-width:100%;
max-height:80vh;
border-radius:20px;
background:#000;
box-shadow:
0 40px 120px rgba(0,0,0,.8),
0 0 60px rgba(201,162,77,.25);
}

.lightbox-close{
position:absolute;
top:-50px;
right:0;
width:44px;
height:44px;
border:none;
background:none;
font-size:42px;
color:var(--gold-vip);
cursor:pointer;
transition:.3s;
}

.lightbox-close:hover{
transform:rotate(90deg);
}

@keyframes zoomIn{

from{
opacity:0;
transform:scale(.92);
}

to{
opacity:1;
transform:scale(1);
}

}

/* =================================================
   EFFECTS
================================================= */

/* ---------- Scroll Animation ---------- */

[data-animate]{
opacity:0;
transform:translateY(40px);
transition:
opacity .9s ease,
transform .9s ease;
}

[data-animate].is-visible{
opacity:1;
transform:translateY(0);
}

/* ---------- Cursor Glow ---------- */

.cursor-glow{
position:fixed;
width:180px;
height:180px;
pointer-events:none;
border-radius:50%;
background:radial-gradient(
circle,
rgba(201,162,77,.18),
transparent 60%
);
mix-blend-mode:screen;
transform:translate(-50%,-50%);
z-index:1;
transition:opacity .3s;
}

/* ---------- Film Grain ---------- */

body::after{
content:"";
position:fixed;
inset:0;
pointer-events:none;
z-index:2;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

/* ---------- Soft Parallax ---------- */

.parallax-soft{
transform:translateZ(0);
will-change:transform;
}

/* ---------- Preloader ---------- */

#preloader{
position:fixed;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:#0b0b0f;
z-index:99999;
transition:opacity .6s ease;
}

#preloader span{
font-size:18px;
letter-spacing:3px;
color:var(--gold-vip);
animation:pulse 1.6s infinite;
}

@keyframes pulse{

0%{
opacity:.4;
}

50%{
opacity:1;
}

100%{
opacity:.4;
}

}

/* =================================================
   DATEPICKER
================================================= */

.pwt-datepicker{
font-family:"Vazirmatn",Tahoma,sans-serif !important;
background:#121212 !important;
border:1px solid rgba(212,175,55,.25) !important;
border-radius:18px !important;
box-shadow:0 25px 60px rgba(0,0,0,.45) !important;
}

.pwt-datepicker table th,
.pwt-datepicker table td{
color:#fff !important;
}

.pwt-datepicker .selected{
background:var(--gold-vip) !important;
color:#111 !important;
border-radius:50% !important;
}

.datepicker-plot-area{
background:#0b0b0f !important;
border:1px solid var(--gold-vip) !important;
}

.datepicker-plot-area *{
color:#fff !important;
}

.datepicker-plot-area .datepicker-navigator{
background:#111 !important;
}

.datepicker-plot-area .datepicker-day-view .table-days td.selected span{
background:var(--gold-vip) !important;
color:#000 !important;
}

.datepicker-plot-area .toolbox{
background:#111 !important;
}

.datepicker-plot-area .toolbox .pwt-btn-submit,
.datepicker-plot-area .toolbox .pwt-btn-today{
color:var(--gold-vip) !important;
}

/* =================================================
   RESPONSIVE
================================================= */

/* ---------- 1200px ---------- */

@media (max-width:1200px){

.container{
width:92%;
}

#vip-services .service-grid{
grid-template-columns:repeat(3,1fr);
}

#stats .service-grid{
grid-template-columns:repeat(2,1fr);
}

.portfolio-preview-grid{
grid-template-columns:repeat(2,1fr);
}

.reservation-benefits{
grid-template-columns:repeat(2,1fr);
}

}

/* ---------- 992px ---------- */

@media (max-width:992px){

#site-header .container{
height:auto;
padding:18px 0;
flex-direction:column;
gap:18px;
}

.logo{
margin:0;
}

.main-nav{
width:100%;
margin:0;
}

.main-nav ul{
justify-content:center;
flex-wrap:wrap;
gap:15px;
}

.hero-content h1{
font-size:42px;
}

.hero-subtitle{
font-size:20px;
}

#services .service-grid{
grid-template-columns:1fr;
}

}

/* ---------- 768px ---------- */

@media (max-width:768px){

section{
padding:60px 0;
}

.section-title{
font-size:28px;
}

.logo a{
font-size:22px;
}
.main-nav ul{
display:flex;
justify-content:flex-start;
overflow-x:auto;
overflow-y:hidden;
white-space:nowrap;
flex-wrap:nowrap;
padding:0 12px;
gap:18px;
scrollbar-width:none;
}
.main-nav ul::-webkit-scrollbar{
display:none;
}

.main-nav a{
font-size:13px;
}

.btn-reserve{
padding:8px 14px;
font-size:13px;
}

.hero-content{
padding:20px;
}

.hero-content h1{
font-size:30px;
}

.hero-subtitle{
font-size:16px;
margin-bottom:25px;
}

.hero-actions{
flex-direction:column;
gap:12px;
}

.hero-actions .btn{
width:100%;
max-width:320px;
}

#vip-services .service-grid{
grid-template-columns:repeat(2,1fr);
gap:15px;
}

#vip-services .service-card{
padding:18px 12px;
}

#vip-services .service-card h3{
font-size:16px;
}

#vip-services .service-card p{
font-size:12px;
line-height:1.7;
}

.service-icon{
width:60px;
height:60px;
font-size:28px;
}

#stats .service-grid{
grid-template-columns:1fr;
}

.portfolio-preview-grid{
grid-template-columns:repeat(2,1fr);
gap:12px;
}

.portfolio-preview-grid img{
height:150px;
}

.intro-text{
font-size:16px;
}

.experience-list{
padding:25px;
}

#offer .offer-box{
padding:35px 20px;
}

#offer h2{
font-size:28px;
}

#final-cta h2{
font-size:30px;
}

.reservation{
padding:60px 0 100px;
}

.reservation-header h1{
font-size:32px;
}

.reservation-benefits{
grid-template-columns:1fr;
}

.reservation-form{
padding:25px;
}

.contact-box a{
font-size:18px;
}

.mobile-cta{
position:fixed;
left:50%;
bottom:16px;
transform:translateX(-50%);
width:calc(100% - 30px);
display:flex;
gap:12px;
}

}

/* ---------- 480px ---------- */

@media (max-width:480px){

.hero-content h1{
font-size:26px;
}

.section-title{
font-size:24px;
}

.portfolio-preview-grid{
grid-template-columns:1fr;
}

.portfolio-preview-grid img{
height:220px;
}

.form-group input,
.form-group textarea,
.form-group select{
padding:14px;
}

.reservation-header h1{
font-size:28px;
}

}

/* ---------- Desktop ---------- */

@media (min-width:1024px){

.mobile-cta{
display:none;
}

}

@media (hover:none){

.cursor-glow{
display:none;
}

}

/* =================================================
   MK PROMOTION
================================================= */

.mk-divider{
display:flex;
align-items:center;
justify-content:center;
margin:45px auto 30px;
}

.mk-divider::before,
.mk-divider::after{
content:"";
flex:1;
height:1px;
background:linear-gradient(to left,transparent,#d4af37,transparent);
}

.mk-divider span{
margin:0 18px;
color:#d4af37;
font-size:14px;
font-weight:700;
white-space:nowrap;
}

.mk-box{

max-width:420px;
margin:0 auto;

padding:28px;

text-align:center;

border-radius:22px;

background:rgba(255,255,255,.05);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

border:1px solid rgba(212,175,55,.22);

box-shadow:
0 20px 45px rgba(0,0,0,.35);

transition:.35s;

}

.mk-box:hover{

transform:translateY(-5px);

box-shadow:
0 25px 60px rgba(0,0,0,.45),
0 0 30px rgba(212,175,55,.18);

}

.mk-box h3{

color:#d4af37;

font-size:22px;

margin-bottom:10px;

}

.mk-box p{

color:#d8d8d8;

margin-bottom:18px;

}

.mk-phone{

display:inline-block;

padding:12px 22px;

border-radius:14px;

background:linear-gradient(135deg,#d4af37,#f2d57c);

color:#111;

font-weight:700;

text-decoration:none;

transition:.3s;

}

.mk-phone:hover{

transform:scale(1.05);

}

/* ===== Fix Persian Datepicker Days ===== */

.datepicker-plot-area .table-days td span{
    color:#111 !important;
}

.datepicker-plot-area .table-days td.other-month span{
    color:#999 !important;
}

.datepicker-plot-area .table-days td.selected span{
    color:#000 !important;
}
html{
overflow-x:hidden;
width:100%;
}

body{
overflow-x:hidden;
width:100%;
max-width:100%;
}
.mobile-cta a{
    color:#d4af37 !important;
    text-decoration:none;
    font-weight:700;
}

.mobile-cta a:visited{
    color:#d4af37 !important;
}

.mobile-cta a:hover{
    color:#f2d57c !important;
}
@media (max-width:768px){

.main-nav{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.main-nav ul{
display:flex !important;
flex-wrap:nowrap !important;
justify-content:flex-start !important;
width:max-content;
padding-right:15px;
padding-left:15px;
margin:0;
}

.main-nav li{
flex:0 0 auto;
}

}

/* =================================================
   ACADEMY
================================================= */

#academy-hero{
    padding:80px 0 40px;
    text-align:center;
}

#academy-courses{
    padding:40px 0 80px;
}

.academy-heading{
    max-width:850px;
    margin:0 auto 50px;
    text-align:center;
}

.academy-badge{
    display:inline-block;
    padding:8px 18px;
    margin-bottom:18px;
    border-radius:999px;
    background:rgba(201,162,77,.12);
    border:1px solid rgba(201,162,77,.25);
    color:var(--gold-vip);
    font-size:14px;
    font-weight:700;
}

.academy-text{
    max-width:720px;
    margin:18px auto 0;
    color:var(--text-light);
    line-height:2;
}
.academy-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:28px;
}

.academy-item{
    display:flex;
}

.academy-card{
    width:100%;
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.academy-card-body{
    padding:28px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.academy-image{
    width:100%;
    height:240px;
    overflow:hidden;
    background:#111;
}

.academy-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.academy-card:hover .academy-image img{
    transform:scale(1.06);
}

.academy-image-placeholder{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(201,162,77,.08);
    color:var(--gold-vip);
    font-size:70px;
}
.academy-card-title{
    margin-bottom:16px;
    font-size:22px;
    line-height:1.6;
}

.academy-card-title a{
    color:var(--gold-vip);
    text-decoration:none;
    transition:.3s;
}

.academy-card-title a:hover{
    color:#f2d57c;
}

.academy-description{
    color:var(--text-light);
    line-height:2;
    margin-bottom:24px;
    flex:1;
}

.academy-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:auto;
}

.academy-price{
    font-size:22px;
    font-weight:700;
    color:var(--gold-vip);
}

.academy-price span{
    font-size:14px;
    margin-right:4px;
}

.academy-free{
    color:#43d17a;
    font-size:18px;
}

.academy-btn{
    white-space:nowrap;
}
.academy-empty{
    max-width:600px;
    margin:40px auto;
    padding:50px 30px;
    text-align:center;
    border-radius:28px;
    background:rgba(20,20,25,.75);
    border:1px solid rgba(201,162,77,.18);
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.academy-empty i{
    display:block;
    font-size:70px;
    color:var(--gold-vip);
    margin-bottom:20px;
}

.academy-empty h3{
    color:var(--gold-vip);
    font-size:26px;
    margin-bottom:14px;
}

.academy-empty p{
    color:var(--text-light);
    line-height:2;
}
@media (max-width:768px){

    #academy-hero{
        padding:60px 0 30px;
    }

    .academy-heading{
        margin-bottom:35px;
    }

    .academy-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .academy-image{
        height:210px;
    }

    .academy-card-body{
        padding:22px;
    }

    .academy-card-title{
        font-size:20px;
    }

    .academy-footer{
        flex-direction:column;
        align-items:stretch;
        gap:14px;
    }

    .academy-price{
        text-align:center;
    }

    .academy-btn{
        width:100%;
        text-align:center;
    }

    .academy-empty{
        padding:35px 20px;
    }

}
/* ===========================
   Course Details Page
=========================== */

#course-details{
    padding:80px 0;
}

.course-single-card{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:40px;
    align-items:start;
    background:#111;
    border:1px solid rgba(212,175,55,.18);
    border-radius:22px;
    overflow:hidden;
    padding:30px;
}

.course-single-image img{
    width:100%;
    display:block;
    border-radius:18px;
    object-fit:cover;
}

.course-single-image .academy-image-placeholder{
    height:320px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#1b1b1b;
    font-size:70px;
    color:#d4af37;
}

.course-single-content h2{
    margin:0 0 20px;
    color:#d4af37;
    font-size:34px;
}

.course-single-price{
    margin-bottom:25px;
    font-size:28px;
    font-weight:700;
    color:#fff;
}

.course-short-description{
    line-height:2;
    color:#ddd;
    margin-bottom:30px;
}

.course-description-box{
    margin-top:50px;
    background:#111;
    border:1px solid rgba(212,175,55,.18);
    border-radius:20px;
    padding:35px;
}

.course-description-box h3{
    color:#d4af37;
    margin-bottom:20px;
}

.course-description{
    line-height:2.2;
    color:#ddd;
}

.course-actions{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-top:35px;
}

@media(max-width:992px){

.course-single-card{
    grid-template-columns:1fr;
}

.course-single-content h2{
    font-size:28px;
}

.course-single-price{
    font-size:24px;
}

}

@media(max-width:576px){

#course-details{
    padding:50px 0;
}

.course-single-card{
    padding:20px;
}

.course-description-box{
    padding:20px;
}

.course-actions .academy-btn{
    width:100%;
    text-align:center;
}

}
.contract-rules{
padding:25px;
margin:10px 0 20px;
background:rgba(255,255,255,.04);
border:1px solid rgba(212,175,55,.18);
border-radius:18px;
}

.contract-rules h3{
color:#d4af37;
margin-bottom:15px;
}

.contract-rules h4{
margin:15px 0 8px;
color:#d4af37;
font-size:16px;
}

.contract-rules p{
line-height:2;
margin-bottom:10px;
}

.contract-rules ul{
padding-right:22px;
margin:0;
}

.contract-rules li{
margin-bottom:8px;
line-height:2;
}

.checkbox{
margin-top:20px;
}

/* ===== Persian Datepicker Fix ===== */

.datepicker-plot-area{
    background:#fff !important;
}

.datepicker-plot-area .datepicker-navigator,
.datepicker-plot-area .datepicker-navigator *,
.datepicker-plot-area .datepicker-header *,
.datepicker-plot-area .datepicker-view-title{
    color:#111 !important;
}

.datepicker-plot-area .month-item,
.datepicker-plot-area .year-item{
    color:#111 !important;
}

.datepicker-plot-area .month-item:hover,
.datepicker-plot-area .year-item:hover{
    background:#d4af37 !important;
    color:#000 !important;
}

.datepicker-plot-area .selected{
    background:#d4af37 !important;
    color:#000 !important;
}
/* رفع رنگ ماه و سال Persian Datepicker */

.pwt-datepicker .datepicker-header,
.pwt-datepicker .datepicker-header *,
.pwt-datepicker .year-select,
.pwt-datepicker .month-select,
.pwt-datepicker .year-item,
.pwt-datepicker .month-item {
    color: #111 !important;
}

.pwt-datepicker .datepicker-header select {
    color: #111 !important;
    background: #fff !important;
}
/* اصلاح رنگ متن تقویم */
.datepicker-plot-area *{
    color:#333 !important;
}

.datepicker-plot-area .datepicker-navigator .pwt-btn-switch,
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next{
    color:#333 !important;
}
/* نوار بالای تقویم */
.datepicker-plot-area .datepicker-navigator{
    background:#f5f5f5;
}

/* ماه و سال */
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch{
    color:#222 !important;
    font-weight:bold;
}

/* فلش‌های قبلی و بعدی */
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next{
    color:#222 !important;
    font-weight:bold;
}

/* حالت قرار گرفتن ماوس */
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch:hover,
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev:hover,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next:hover{
    color:#005299 !important;
}
/* هدر تقویم */
.datepicker-plot-area .datepicker-navigator{
    background:#d4af37 !important;   /* طلایی */
}

/* ماه و سال */
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch{
    background:#d4af37 !important;
    color:#111 !important;
    font-weight:700 !important;
}

/* فلش‌های قبلی و بعدی */
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next{
    background:#d4af37 !important;
    color:#111 !important;
    font-size:18px !important;
    font-weight:bold !important;
}

/* هاور */
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch:hover,
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev:hover,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next:hover{
    background:#c59b17 !important;
    color:#000 !important;
}
/* هدر تقویم */
.datepicker-plot-area .datepicker-navigator{
    background:#1f1f1f !important;
}

/* ماه و سال */
.datepicker-plot-area .datepicker-navigator .pwt-btn-switch{
    background:#1f1f1f !important;
    color:#f4d06f !important;
    font-weight:bold !important;
}

/* فلش‌های قبلی و بعدی */
.datepicker-plot-area .datepicker-navigator .pwt-btn-prev,
.datepicker-plot-area .datepicker-navigator .pwt-btn-next{
    background:#1f1f1f !important;
    color:#f4d06f !important;
    font-size:18px !important;
    font-weight:bold !important;
}
.datepicker-plot-area .datepicker-navigator *{
    color:#f4d06f !important;
}
.contact-box{
    margin-top:35px;
    padding:30px;
    background:#151515;
    border-radius:20px;
    display:flex;
    flex-direction:column;
    gap:15px;
}

.contact-box h3{
    color:#d4af37;
    text-align:center;
    margin-bottom:10px;
}

.contact-item{
    display:block;
    width:100%;
    padding:16px;
    background:#202020;
    color:#fff;
    border:1px solid rgba(212,175,55,.25);
    border-radius:15px;
    text-align:center;
    text-decoration:none;
    transition:.3s;
}

.contact-item:hover{
    background:#d4af37;
    color:#111;
}

.contact-text{
    text-align:center;
    color:#bbb;
    margin-top:15px;
}
@media (max-width: 768px) {

  .hero-content {
    width: 100%;
    max-width: 100%;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero-actions {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .hero-actions .btn {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .reservation-form {
    width: calc(100% - 24px);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 18px;
    padding-right: 18px;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}