@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&family=Lalezar&display=swap');

:root{
  --navy:#0B2545;
  --navy-deep:#071A33;
  --blue:#1f6fd1;
  --blue-bright:#3b8af0;
  --amber:#F2A93B;
  --paper:#F7F9FC;
  --paper-warm:#FBF7EF;
  --ink:#13213A;
  --ink-soft:#4A5A78;
  --line:#E1E7F2;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Vazirmatn', sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.8;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Lalezar', 'Vazirmatn', sans-serif;
  font-weight:400;
  letter-spacing:0.5px;
}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 24px;}

/* ===== Page load fade ===== */
body{animation:pageIn .6s ease both;}
@keyframes pageIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

/* ===== Scroll reveal ===== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-scale{opacity:0; transform:scale(.9); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal-scale.in{opacity:1; transform:scale(1);}
.reveal-r{opacity:0; transform:translateX(40px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal-r.in{opacity:1; transform:translateX(0);}
.reveal-l{opacity:0; transform:translateX(-40px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal-l.in{opacity:1; transform:translateX(0);}
.stagger > *{transition-delay:calc(var(--i, 0) * .09s);}

/* ===== Header ===== */
header{
  position:sticky; top:0; z-index:100;
  background:rgba(247,249,252,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:12px 24px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{height:46px; transition:transform .4s ease; filter:drop-shadow(0 2px 6px rgba(31,111,209,.25));}
.brand:hover img{transform:rotate(-8deg) scale(1.08);}
.brand .brand-text{display:flex; flex-direction:column; line-height:1.15;}
.brand .brand-text b{font-family:'Lalezar'; font-size:1.32rem; color:var(--navy);}
.brand .brand-text small{font-size:.68rem; color:var(--ink-soft); letter-spacing:.5px;}
.nav-links{display:flex; gap:28px; font-weight:500; color:var(--ink-soft);}
.nav-links a{position:relative; padding:4px 0;}
.nav-links a::after{
  content:""; position:absolute; right:0; bottom:-3px; width:0; height:2px;
  background:linear-gradient(90deg, var(--blue), var(--amber)); transition:width .3s ease;
}
.nav-links a:hover{color:var(--blue);}
.nav-links a:hover::after{width:100%;}
.nav-phone{
  background:var(--navy); color:#fff; padding:9px 18px; border-radius:999px;
  font-size:.9rem; font-weight:600; white-space:nowrap; transition:.3s transform, .3s box-shadow, .3s background;
}
.nav-phone:hover{background:var(--blue); transform:translateY(-2px); box-shadow:0 10px 22px rgba(31,111,209,.35);}
.nav-toggle{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.nav-toggle span{width:24px; height:2px; background:var(--navy); display:block; transition:.3s;}
.nav-social{display:none;}

/* ===== Page Hero (inner pages) ===== */
.page-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 70%, var(--blue) 160%);
  color:#fff; padding:70px 24px 90px; text-align:center;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 600px 400px at 80% 0%, rgba(59,138,240,.35), transparent 60%),
    radial-gradient(ellipse 500px 500px at 10% 100%, rgba(242,169,59,.18), transparent 60%);
  pointer-events:none;
}
.page-hero .crumb{position:relative; z-index:2; font-size:.85rem; color:#9FB3D9; margin-bottom:14px;}
.page-hero .crumb a:hover{color:var(--amber);}
.page-hero-logo{
  position:relative; z-index:2; width:96px; margin:0 auto 18px;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.4)) brightness(0) invert(1);
  animation:float 5s ease-in-out infinite;
}
.page-hero h1{position:relative; z-index:2; font-size:2.6rem; margin-bottom:12px;}
.page-hero p{position:relative; z-index:2; color:#C9D6EE; max-width:560px; margin:0 auto;}
@keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}
@keyframes spinSlow{from{transform:rotate(0);} to{transform:rotate(360deg);}}
@keyframes pulseGlow{0%,100%{opacity:.55; transform:scale(1);} 50%{opacity:1; transform:scale(1.08);}}
@keyframes shimmer{0%{background-position:-200% 0;} 100%{background-position:200% 0;}}

/* ===== Hero (home) ===== */
.hero{
  position:relative;
  background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 70%, var(--blue) 160%);
  color:#fff;
  overflow:hidden;
  padding:90px 24px 140px;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 600px 400px at 80% 0%, rgba(59,138,240,.35), transparent 60%),
    radial-gradient(ellipse 500px 500px at 10% 100%, rgba(242,169,59,.18), transparent 60%);
  pointer-events:none;
  animation:pulseGlow 7s ease-in-out infinite;
}
.hero-inner{
  max-width:1160px; margin:0 auto;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;
  position:relative; z-index:2;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.85rem; color:var(--amber); font-weight:600;
  border:1px solid rgba(242,169,59,.4); padding:6px 16px; border-radius:999px;
  margin-bottom:22px;
}
.eyebrow::before{content:"●"; font-size:.6rem; animation:pulseGlow 1.6s ease-in-out infinite;}
.hero h1{font-size:3.4rem; line-height:1.25; margin-bottom:18px; color:#fff;}
.hero h1 b{color:var(--amber); font-weight:400;}
.hero p{font-size:1.12rem; color:#C9D6EE; max-width:520px; margin-bottom:34px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  padding:14px 30px; border-radius:10px; font-weight:600; font-size:1rem;
  display:inline-flex; align-items:center; gap:8px; transition:.25s transform, .25s box-shadow, .25s background;
  cursor:pointer; border:none;
}
.btn-primary{
  background:linear-gradient(100deg, var(--amber) 0%, #ffce85 25%, var(--amber) 50%, #ffce85 75%, var(--amber) 100%);
  background-size:200% auto; color:var(--navy-deep); animation:shimmer 4s linear infinite;
}
.btn-primary:hover{transform:translateY(-3px) scale(1.03); box-shadow:0 14px 28px rgba(242,169,59,.4);}
.btn.disabled{opacity:.5; pointer-events:none;}
.btn-ghost{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35);}
.btn-ghost:hover{background:rgba(255,255,255,.08); border-color:#fff; transform:translateY(-3px);}

.hero-art{position:relative; display:flex; justify-content:center;}
.logo-halo{
  position:relative; width:340px; max-width:80vw; aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
}
.logo-halo::before{
  content:""; position:absolute; inset:-10%; border-radius:50%;
  background:radial-gradient(circle, rgba(59,138,240,.45) 0%, transparent 70%);
  filter:blur(14px); animation:pulseGlow 4s ease-in-out infinite;
}
.logo-halo::after{
  content:""; position:absolute; inset:6%; border-radius:50%;
  border:1.5px dashed rgba(242,169,59,.35);
  animation:spinSlow 30s linear infinite;
}
.phoenix-glow{
  position:relative; z-index:2; width:78%;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));
  animation:float 6s ease-in-out infinite;
}

.hero-stats{
  position:relative; z-index:2; max-width:1160px; margin:60px auto 0; padding:0 24px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12);
  border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.12);
}
.stat{background:rgba(11,37,69,.55); padding:22px 18px; text-align:center; transition:.3s background;}
.stat:hover{background:rgba(31,111,209,.35);}
.stat b{display:block; font-family:'Lalezar'; font-size:1.7rem; color:var(--amber);}
.stat span{font-size:.82rem; color:#C9D6EE;}
.stat b.stat-num{font-family:'Vazirmatn'; font-weight:700;}

/* ===== Section generic ===== */
section{padding:90px 0;}
.sec-head{max-width:640px; margin:0 auto 50px; text-align:center;}
.sec-tag{color:var(--blue); font-weight:700; font-size:.85rem; letter-spacing:1px;}
.sec-head h2{font-size:2.3rem; color:var(--navy); margin:10px 0 14px;}
.sec-head p{color:var(--ink-soft);}

/* ===== About ===== */
.about{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center;}
.about-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:36px;
  box-shadow:0 20px 50px -30px rgba(11,37,69,.25); transition:.4s transform;
}
.about-card:hover{transform:translateY(-4px);}
.about-card h3{color:var(--navy); font-size:1.6rem; margin-bottom:14px;}
.about-card p{color:var(--ink-soft); margin-bottom:10px;}
.pillars{display:flex; flex-direction:column; gap:18px;}
.pillar{display:flex; gap:16px; align-items:flex-start; transition:.3s transform;}
.pillar:hover{transform:translateX(-6px);}
.pillar-ic{
  flex:none; width:46px; height:46px; border-radius:12px; background:var(--paper-warm);
  display:flex; align-items:center; justify-content:center; color:var(--blue); font-size:1.3rem;
  border:1px solid var(--line); transition:.3s;
}
.pillar:hover .pillar-ic{background:var(--blue); color:#fff; transform:rotate(-8deg);}
.pillar h4{color:var(--navy); margin-bottom:4px; font-size:1.05rem;}
.pillar p{color:var(--ink-soft); font-size:.95rem;}

/* ===== Courses ===== */
.courses{background:var(--paper-warm);}
.course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.course-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px;
  transition:.35s transform, .35s box-shadow; position:relative; overflow:hidden; display:block;
}
.course-card::before{
  content:""; position:absolute; inset:0; opacity:0; transition:.35s opacity;
  background:radial-gradient(circle at 85% -10%, rgba(31,111,209,.12), transparent 60%);
}
.course-card:hover{transform:translateY(-8px) scale(1.015); box-shadow:0 28px 56px -28px rgba(11,37,69,.4);}
.course-card:hover::before{opacity:1;}
.course-card .tag{
  position:absolute; top:0; left:0; background:var(--navy); color:var(--amber);
  font-size:.7rem; font-weight:700; padding:5px 14px; border-radius:0 0 12px 0;
}
.course-ic{
  width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg,var(--blue),var(--navy));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.5rem; margin-bottom:18px;
  transition:.4s transform;
}
.course-card:hover .course-ic{transform:rotate(-10deg) scale(1.08);}
.course-card h3{color:var(--navy); font-size:1.2rem; margin-bottom:8px;}
.course-card p{color:var(--ink-soft); font-size:.92rem; margin-bottom:16px;}
.modes{display:flex; gap:6px; flex-wrap:wrap;}
.mode{
  font-size:.72rem; padding:4px 10px; border-radius:999px; background:var(--paper);
  border:1px solid var(--line); color:var(--ink-soft); font-weight:600;
}
.course-more{font-size:.85rem; color:var(--blue); font-weight:700; display:inline-flex; align-items:center; gap:4px; margin-top:14px;}
.course-card:hover .course-more{gap:8px;}

.cat-head{
  display:flex; align-items:center; gap:14px; margin:56px 0 22px;
}
.cat-head:first-child{margin-top:0;}
.cat-head h3{color:var(--navy); font-size:1.25rem; white-space:nowrap;}
.cat-head::after{content:""; flex:1; height:1px; background:var(--line);}

/* ===== Custom Ticket Section ===== */
.ticket-sec{ background:var(--navy-deep); position:relative; overflow:hidden; }
.ticket-sec::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 500px 400px at 90% 10%, rgba(31,111,209,.35), transparent 60%);
}
.ticket-sec .sec-head h2, .ticket-sec .sec-head p{color:#fff;}
.ticket-sec .sec-head p{color:#C9D6EE;}
.ticket-wrap{position:relative; z-index:2; max-width:880px; margin:0 auto;}
.ticket{
  display:grid; grid-template-columns:1fr 230px; background:#fff; border-radius:20px; overflow:hidden;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.5);
}
.ticket-main{padding:36px 38px;}
.ticket-main .label{font-size:.78rem; color:var(--blue); font-weight:700; letter-spacing:1px; margin-bottom:6px;}
.ticket-main h3{color:var(--navy); font-size:1.5rem; margin-bottom:6px;}
.ticket-main p.sub{color:var(--ink-soft); font-size:.9rem; margin-bottom:22px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-grid .full{grid-column:1/-1;}
label{font-size:.82rem; color:var(--ink-soft); font-weight:600; display:block; margin-bottom:6px;}
input, select, textarea{
  width:100%; padding:11px 14px; border:1px solid var(--line); border-radius:10px;
  font-family:'Vazirmatn'; font-size:.92rem; color:var(--ink); background:var(--paper); transition:.25s;
}
input:focus, select:focus, textarea:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
textarea{resize:vertical; min-height:80px;}
.ticket-main .submit-row{margin-top:20px; display:flex; align-items:center; gap:14px;}
.ticket-stub{
  background:var(--navy); color:#fff; padding:30px 24px;
  display:flex; flex-direction:column; justify-content:space-between;
  position:relative; border-right:2px dashed rgba(255,255,255,.25);
}
.ticket-stub::before, .ticket-stub::after{
  content:""; position:absolute; width:24px; height:24px; background:var(--navy-deep);
  border-radius:50%; right:-12px;
}
.ticket-stub::before{top:-12px;}
.ticket-stub::after{bottom:-12px;}
.ticket-stub .stamp{
  width:60px; height:60px; border:2px solid var(--amber); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--amber);
  transform:rotate(-12deg); margin-bottom:18px; padding:10px; flex:none;
  animation:pulseGlow 3s ease-in-out infinite;
}
.ticket-stub .stamp img{width:100%; filter:brightness(0) saturate(100%) invert(73%) sepia(46%) saturate(674%) hue-rotate(346deg) brightness(101%) contrast(94%);}
.ticket-stub h4{font-family:'Lalezar'; font-size:1.1rem; color:var(--amber); margin-bottom:8px;}
.ticket-stub p{font-size:.82rem; color:#C9D6EE;}
.ticket-stub .code{font-size:.75rem; letter-spacing:2px; color:rgba(255,255,255,.5); margin-top:18px;}

/* ===== Contact ===== */
.contact{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.contact-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px;
  display:flex; gap:18px; align-items:flex-start; transition:.3s transform, .3s box-shadow;
}
.contact-card:hover{transform:translateY(-5px); box-shadow:0 20px 40px -24px rgba(11,37,69,.3);}
.contact-ic{
  flex:none; width:50px; height:50px; border-radius:13px; background:var(--paper-warm);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--blue); font-size:1.3rem;
}
.contact-card h4{color:var(--navy); margin-bottom:6px; font-size:1.05rem;}
.contact-card p{color:var(--ink-soft); font-size:.92rem;}
.contact-card a{color:var(--blue); font-weight:600;}

/* ===== Course detail page ===== */
.detail{display:grid; grid-template-columns:1.3fr .9fr; gap:50px; align-items:start;}
.detail-main h2{color:var(--navy); font-size:1.9rem; margin-bottom:16px;}
.detail-main p{color:var(--ink-soft); margin-bottom:16px;}
.detail-list{display:flex; flex-direction:column; gap:14px; margin:20px 0 30px;}
.detail-list li{display:flex; gap:12px; align-items:flex-start; color:var(--ink-soft); list-style:none;}
.detail-list li::before{
  content:"✓"; flex:none; width:26px; height:26px; border-radius:50%; background:var(--blue); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:.8rem; margin-top:2px;
}
.detail-side{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px;
  box-shadow:0 20px 50px -30px rgba(11,37,69,.25); position:sticky; top:100px;
}
.detail-side h4{color:var(--navy); margin-bottom:14px;}
.detail-side .modes{margin-bottom:18px;}
.other-courses{display:flex; flex-direction:column; gap:10px; margin-top:18px;}
.other-courses a{
  display:flex; align-items:center; justify-content:space-between; padding:10px 14px;
  border:1px solid var(--line); border-radius:10px; font-size:.88rem; color:var(--ink-soft);
  transition:.25s;
}
.other-courses a:hover{border-color:var(--blue); color:var(--blue); transform:translateX(-4px); background:var(--paper-warm);}

/* ===== Footer ===== */
footer{background:var(--navy-deep); color:#C9D6EE; padding:50px 0 24px;}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:28px;}
.footer-brand{display:flex; align-items:center; gap:10px;}
.footer-brand img{height:38px;}
.footer-brand .brand-text b{font-family:'Lalezar'; font-size:1.2rem; color:#fff; display:block;}
.footer-brand .brand-text small{font-size:.7rem; color:#9FB3D9;}
footer .bottom{text-align:center; font-size:.82rem; padding-top:20px; color:#7E8FB0;}

/* ===== Payment / pricing badges ===== */
.pay-badge{
  display:inline-flex; align-items:center; gap:6px; background:var(--paper-warm);
  border:1px solid var(--line); padding:6px 14px; border-radius:999px;
  font-size:.8rem; color:var(--ink-soft); font-weight:600;
}
.price-block{
  background:var(--paper-warm); border:1px solid var(--line); border-radius:16px;
  padding:20px 22px; margin:22px 0;
}
.price-block .price-row{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;}
.price-old{color:var(--ink-soft); font-size:.95rem; text-decoration:line-through; opacity:.75;}
.price-new{font-family:'Lalezar'; font-size:1.7rem; color:var(--blue);}
.price-new b{color:var(--navy);}
.price-fest-tag{
  background:var(--amber); color:var(--navy-deep); font-size:.72rem; font-weight:800;
  padding:3px 10px; border-radius:999px;
}
.price-note{font-size:.82rem; color:var(--ink-soft); margin-top:8px;}
.price-block .pay-row{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;}

/* ===== Tech pills / chapters ===== */
.tech-pills{display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 24px;}
.tech-pill{
  background:var(--paper-warm); border:1px solid var(--line); color:var(--navy);
  font-size:.8rem; font-weight:600; padding:6px 14px; border-radius:999px;
}
.chapter{margin-bottom:18px;}
.chapter h4{color:var(--navy); font-size:1.02rem; margin-bottom:8px;}
.chapter ul{display:flex; flex-wrap:wrap; gap:6px 18px;}
.chapter ul li{color:var(--ink-soft); font-size:.88rem; position:relative; padding-right:14px;}
.chapter ul li::before{content:"–"; position:absolute; right:0; color:var(--blue);}

/* ===== Golden combo variant ===== */
.course-card.golden{
  border:2px solid #D4AF37; background:linear-gradient(150deg,#FFFCF2 0%,#FFF7DE 100%);
}
.course-card.golden .course-ic{background:linear-gradient(135deg,#E9C25E,#B8860B); color:#2A2000;}
.course-card.golden .tag{background:linear-gradient(90deg,#B8860B,#E9C25E); color:#2A2000;}
.course-card.golden h3{color:#7A5C08;}
.course-card.golden .course-more{color:#B8860B;}
.page-hero.golden{background:linear-gradient(180deg,#3B2E05 0%,#7A5C08 60%,#D4AF37 170%);}
.price-block.golden{background:linear-gradient(150deg,#FFFCF2,#FFF3D6); border:1px solid #D4AF37;}
.price-block.golden .price-new{color:#9A7209;}
.price-block.golden .price-fest-tag{background:#B8860B; color:#FFF7DE;}

/* ===== Locked / unavailable variant ===== */
.course-card.locked{filter:grayscale(1); opacity:.8;}
.course-card.locked .course-ic{background:linear-gradient(135deg,#8a8a8a,#555);}
.course-card.locked .tag{background:#5b5b5b; color:#eee;}
.course-card.locked .course-more{color:#6b6b6b;}
.page-hero.grey{background:linear-gradient(180deg,#1c1c1c 0%,#3a3a3a 70%,#5c5c5c 170%);}
.course-card.locked-photo{padding:0; overflow:hidden; display:block; line-height:0;}
.course-card.locked-photo:hover{transform:translateY(-8px) scale(1.015); box-shadow:0 28px 56px -28px rgba(11,37,69,.4);}
.locked-card-photo{width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:1321/1191;}

.locked-note{
  background:#F2F2F2; border:1px solid #d6d6d6; border-radius:14px; padding:16px 18px;
  color:#555; font-size:.9rem; margin:18px 0;
}

/* ===== Multi-select checkbox grid (ticket form) ===== */
.check-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; max-height:230px; overflow-y:auto;
  border:1px solid var(--line); border-radius:10px; padding:12px; background:var(--paper);
}
.check-item{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--ink-soft);}
.check-item input{width:auto; accent-color:var(--blue);}
.check-item.checked{color:var(--blue); font-weight:700;}

/* ===== Lock badge (پکیج نامحدود) ===== */
.course-ic.chain-lock-ic{background:none; padding:0;}
.chain-lock-badge{width:100%; height:100%; display:block; object-fit:contain; border-radius:16px;}
.detail-side .chain-lock-ic{width:64px; height:64px; margin-bottom:16px;}
.page-hero-logo.chain-lock-badge{width:96px; height:96px; filter:drop-shadow(0 10px 26px rgba(0,0,0,.4));}

/* ===== Contact notification (site-wide popup pointing at "login" spot in header) ===== */
.contact-notif-overlay{
  position:fixed; inset:0; z-index:900;
  background:rgba(11,37,69,.35);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
.contact-notif-overlay.show{opacity:1; pointer-events:auto;}
.contact-notif{
  position:fixed; top:86px; left:24px; z-index:901; width:250px; max-width:80vw;
  opacity:0; transform:translateY(-14px) scale(.96); pointer-events:none;
  transition:opacity .4s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}
.contact-notif-overlay.show .contact-notif{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
.contact-notif-arrow{width:64px; margin-inline-start:8px;}
.contact-notif-arrow path.arrow-line{
  stroke-dasharray:400; stroke-dashoffset:400;
  animation:drawArrow 1.4s .3s ease forwards;
}
.contact-notif-arrow path.arrow-head{opacity:0; animation:fadeInHead .4s 1.6s ease forwards;}
.contact-notif-card{
  position:relative; margin-top:2px; background:rgba(11,37,69,.95); border:1px solid rgba(242,169,59,.5);
  border-radius:16px; padding:16px 18px; color:#fff; box-shadow:0 20px 45px -18px rgba(0,0,0,.55);
}
.contact-notif-close{
  position:absolute; top:8px; left:10px; background:none; border:none; color:#9FB3D9;
  font-size:1rem; line-height:1; cursor:pointer; padding:4px;
}
.contact-notif-close:hover{color:#fff;}
.contact-notif-card p{font-size:.88rem; line-height:1.7; margin-bottom:8px;}
.contact-notif-card p b{color:var(--amber); font-family:'Lalezar'; font-weight:400; font-size:1.02rem;}
.contact-notif-phones{display:flex; flex-direction:column; gap:6px;}
.contact-notif-phones a{
  display:inline-block; background:var(--amber); color:var(--navy-deep); font-weight:800;
  font-size:.85rem; padding:7px 14px; border-radius:999px; text-align:center; transition:.25s transform;
}
.contact-notif-phones a:hover{transform:translateY(-2px);}
@keyframes drawArrow{to{stroke-dashoffset:0;}}
@keyframes fadeInHead{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);}}
@media(max-width:560px){
  .contact-notif{top:76px; left:12px; width:210px;}
  .contact-notif-arrow{width:50px;}
  .contact-notif-card{padding:14px 14px;}
}

/* ===== Footer (expanded) ===== */
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-col h4{color:#fff; font-family:'Lalezar'; font-weight:400; font-size:1.05rem; margin-bottom:16px;}
.footer-about p{font-size:.88rem; color:#9FB3D9; margin:14px 0 18px; max-width:320px;}
.footer-links{display:flex; flex-direction:column; gap:10px;}
.footer-links a{font-size:.88rem; color:#C9D6EE; transition:.25s;}
.footer-links a:hover{color:var(--amber); padding-right:4px;}
.footer-contact-line{font-size:.88rem; color:#C9D6EE; margin-bottom:10px; display:flex; align-items:center; gap:6px;}
.footer-contact-line a{color:#C9D6EE; transition:.25s;}
.footer-contact-line a:hover{color:var(--amber);}
.footer-social{display:flex; gap:10px;}
.social-ic{
  width:38px; height:38px; border-radius:11px; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center;
  color:#C9D6EE; transition:.3s;
}
.social-ic svg{width:18px; height:18px;}
.social-ic:hover{background:var(--amber); color:var(--navy-deep); border-color:var(--amber); transform:translateY(-3px);}
@media(max-width:880px){
  .footer-grid{grid-template-columns:1fr 1fr; gap:28px;}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr;}
}

/* ===== Combo builder page ===== */
.combo-layout{display:grid; grid-template-columns:1.3fr .9fr; gap:40px; align-items:start;}
.combo-presets .cat-head{margin:0 0 22px;}
.combo-presets .course-grid{margin-bottom:8px;}
.builder-box{position:sticky; top:100px;}
.builder-box h4{color:var(--navy); font-size:1.25rem; margin-bottom:8px;}
.builder-box .check-item{
  justify-content:space-between; padding:9px 10px; border-radius:8px; transition:.2s;
}
.builder-box .check-item:hover{background:var(--paper-warm);}
.builder-box .check-item.checked{background:var(--paper-warm);}
.builder-box .check-item .item-label{flex:1;}
.builder-box .check-item .item-price{color:var(--ink-soft); font-size:.78rem; white-space:nowrap;}
.builder-summary{margin-top:18px; border-top:1px dashed var(--line); padding-top:14px; display:flex; flex-direction:column; gap:8px;}
.builder-row{display:flex; align-items:center; justify-content:space-between; font-size:.88rem; color:var(--ink-soft);}
.builder-row b{color:var(--navy); font-weight:700;}
.builder-row.discount-row b{color:#C0392B;}
.builder-row.total-row{border-top:1px solid var(--line); padding-top:10px; margin-top:2px;}
.builder-row.total-row span{color:var(--navy); font-weight:700;}
.builder-row.total-row b{font-family:'Lalezar'; font-size:1.3rem; color:var(--blue);}
.combo-note{background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:.82rem; color:var(--ink-soft); margin-top:14px;}

/* ===== News page ===== */
.news-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.news-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px;
  transition:.3s transform,.3s box-shadow;
}
.news-card:hover{transform:translateY(-6px); box-shadow:0 24px 48px -26px rgba(11,37,69,.35);}
.news-meta{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.news-ic{
  width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:1rem; flex:none;
}
.news-tag{font-size:.75rem; color:var(--ink-soft); background:var(--paper-warm); border:1px solid var(--line); padding:3px 10px; border-radius:999px;}
.news-card h3{color:var(--navy); font-size:1.2rem; margin-bottom:10px;}
.news-card p{color:var(--ink-soft); font-size:.9rem; margin-bottom:10px;}
@media(max-width:880px){
  .combo-layout{grid-template-columns:1fr;}
  .builder-box{position:static;}
  .news-grid{grid-template-columns:1fr;}
}

@media(max-width:880px){
  .nav-links{
    position:fixed; inset:64px 0 auto 0; background:#fff; flex-direction:column; padding:18px 24px;
    gap:14px; border-bottom:1px solid var(--line); transform:translateY(-130%); transition:.35s;
    box-shadow:0 20px 30px -20px rgba(0,0,0,.2);
  }
  .nav-links.open{transform:translateY(0);}
  .nav-toggle{display:flex;}
  .nav-social{
    display:flex; align-items:center; gap:14px; margin-top:8px; padding-top:16px;
    border-top:1px solid var(--line);
  }
  .nav-social .social-ic{
    width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:var(--paper-warm); color:var(--navy); flex:none;
  }
  .nav-social .social-ic svg{width:18px; height:18px;}
  .hero-inner{grid-template-columns:1fr; text-align:center;}
  .hero p{margin-inline:auto;}
  .hero-ctas{justify-content:center;}
  .hero h1{font-size:2.4rem;}
  .hero-stats{grid-template-columns:repeat(2,1fr);}
  .about{grid-template-columns:1fr;}
  .course-grid{grid-template-columns:1fr 1fr;}
  .ticket{grid-template-columns:1fr;}
  .ticket-stub{border-right:none; border-top:2px dashed rgba(255,255,255,.25); flex-direction:row; align-items:center; gap:16px;}
  .ticket-stub .stamp{margin-bottom:0;}
  .contact{grid-template-columns:1fr;}
  .detail{grid-template-columns:1fr;}
  .detail-side{position:static;}
}
@media(max-width:560px){
  .course-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .page-hero h1{font-size:2rem;}
  .check-grid{grid-template-columns:1fr;}
}

/* ===== Account slot (login link / account avatar in header) ===== */
.acct-slot{display:flex; align-items:center; gap:10px; margin-inline-start:12px; position:relative;}
.acct-link{
  font-size:.85rem; font-weight:700; padding:8px 16px; border-radius:999px;
  border:1px solid var(--line); color:var(--navy); background:transparent; cursor:pointer;
  font-family:inherit; white-space:nowrap;
}
.acct-link-primary{background:var(--blue); color:#fff; border-color:var(--blue);}
.acct-link-ghost{background:transparent; color:var(--ink-soft);}

.acct-avatar-wrap{position:relative;}
.acct-avatar{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--blue), var(--navy)); color:#fff; font-family:'Lalezar';
  font-size:1.1rem; font-weight:400; cursor:pointer; border:2px solid #fff;
  box-shadow:0 4px 14px -4px rgba(11,37,69,.45); transition:.25s transform;
}
.acct-avatar:hover{transform:scale(1.06);}
.acct-dropdown{
  position:absolute; top:calc(100% + 10px); left:0; min-width:170px; background:#fff;
  border:1px solid var(--line); border-radius:14px; box-shadow:0 20px 45px -20px rgba(11,37,69,.35);
  padding:8px; display:none; flex-direction:column; gap:2px; z-index:120;
}
.acct-dropdown.open{display:flex;}
.acct-dropdown a, .acct-dropdown button{
  display:block; width:100%; text-align:right; padding:9px 12px; border-radius:9px; font-size:.85rem;
  font-weight:600; color:var(--ink); background:none; border:none; font-family:inherit; cursor:pointer;
}
.acct-dropdown a:hover, .acct-dropdown button:hover{background:var(--paper);}
.acct-dropdown .acct-dropdown-logout{color:#c0392b;}

/* ===== Auth pages (login/signup/verify) ===== */
.auth-wrap{max-width:460px; margin:0 auto; padding:60px 0;}
.auth-card{
  background:#fff; border:1px solid var(--line); border-radius:20px; padding:36px 32px;
  box-shadow:0 20px 50px -30px rgba(11,37,69,.25);
}
.auth-card h2{color:var(--navy); margin-bottom:6px; text-align:center;}
.auth-card .sub{color:var(--ink-soft); text-align:center; margin-bottom:26px; font-size:.92rem;}
.field-label{display:block; font-size:.85rem; font-weight:700; color:var(--navy); margin-bottom:6px;}
.field-input{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid var(--line);
  font-family:inherit; font-size:.95rem; margin-bottom:16px; background:var(--paper-warm);
}
.field-input:focus{outline:none; border-color:var(--blue);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.form-alert{display:none; padding:10px 14px; border-radius:10px; font-size:.88rem; margin-bottom:16px;}
.form-alert-error{background:#fdeaea; color:#a12525; display:block;}
.form-alert-ok{background:#e8f6ec; color:#1c7a3c; display:block;}
.auth-card .btn{width:100%; justify-content:center;}
.auth-switch{text-align:center; margin-top:18px; font-size:.9rem; color:var(--ink-soft);}
.auth-switch a{color:var(--blue); font-weight:700;}
.code-input{
  width:100%; text-align:center; font-size:1.6rem; letter-spacing:8px; padding:14px;
  border-radius:12px; border:1px solid var(--line); margin-bottom:16px; font-family:inherit;
}

/* ===== Dashboard ===== */
.dash-wrap{padding:50px 0 80px;}
.dash-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; flex-wrap:wrap; gap:14px;}
.dash-head h2{color:var(--navy);}
.dash-badge{background:var(--amber); color:var(--navy); font-weight:700; padding:6px 14px; border-radius:999px; font-size:.8rem;}
.dash-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px;}
.dash-course-card{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.dash-course-card img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:var(--paper-warm);}
.dash-course-card .body{padding:16px;}
.dash-course-card h4{color:var(--navy); margin-bottom:8px;}
.dash-empty{text-align:center; color:var(--ink-soft); padding:60px 20px; border:1px dashed var(--line); border-radius:16px;}
.watch-btn{display:inline-block; margin-top:10px; background:var(--blue); color:#fff; font-weight:700; padding:9px 18px; border-radius:10px; font-size:.85rem;}

/* ===== Admin panel ===== */
.admin-tabs{display:flex; gap:10px; margin-bottom:26px; flex-wrap:wrap;}
.admin-tab{
  padding:10px 20px; border-radius:999px; border:1px solid var(--line); background:#fff;
  cursor:pointer; font-weight:700; color:var(--ink-soft); font-family:inherit; font-size:.9rem;
}
.admin-tab.active{background:var(--navy); color:#fff; border-color:var(--navy);}
.admin-panel{display:none;}
.admin-panel.active{display:block;}
.admin-table{width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--line);}
.admin-table th, .admin-table td{padding:12px 14px; text-align:right; border-bottom:1px solid var(--line); font-size:.88rem;}
.admin-table th{background:var(--paper-warm); color:var(--navy);}
.admin-table tr:last-child td{border-bottom:none;}
.role-pill{padding:3px 10px; border-radius:999px; font-size:.72rem; font-weight:700;}
.role-pill.admin{background:var(--navy); color:var(--amber);}
.role-pill.user{background:var(--paper-warm); color:var(--ink-soft); border:1px solid var(--line);}
.danger-btn{background:#e74c3c; color:#fff; border:none; padding:7px 14px; border-radius:8px; cursor:pointer; font-size:.8rem; font-family:inherit;}
.mini-btn{background:var(--blue); color:#fff; border:none; padding:7px 14px; border-radius:8px; cursor:pointer; font-size:.8rem; font-family:inherit; margin-inline-end:6px;}
.admin-form{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; margin-bottom:26px;}
.admin-form h3{color:var(--navy); margin-bottom:16px;}
.admin-form .field-row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;}

/* ===== Video courses page ===== */
.video-course-card{background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:.3s transform;}
.video-course-card:hover{transform:translateY(-6px);}
.video-course-card .poster{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:var(--paper-warm);}
.video-course-card .body{padding:20px;}
.video-course-card h3{color:var(--navy); margin-bottom:8px;}
.video-course-card .price{font-weight:800; color:var(--blue); margin:10px 0;}
.buy-btn{display:block; text-align:center; background:var(--navy); color:#fff; font-weight:700; padding:11px; border-radius:10px; border:none; width:100%; cursor:pointer; font-family:inherit;}

@media(max-width:768px){
  .field-row, .admin-form .field-row3{grid-template-columns:1fr;}
  .dash-head{flex-direction:column; align-items:flex-start;}
}
