/* ==========================================================================
   EventHub — Zambia Event Services Marketplace
   Core stylesheet — Dark / White / Gold theme
   ========================================================================== */

:root{
  --black:#0a0a0b;
  --dark:#121316;
  --dark-2:#1b1c20;
  --dark-3:#26272c;
  --white:#ffffff;
  --off-white:#faf8f4;
  --cream:#f3efe6;
  --gray:#6d7078;
  --gray-light:#9a9ca3;
  --border:#e9e6dd;
  --gold:#c9a24b;
  --gold-light:#e7c877;
  --gold-dark:#a17f30;
  --gold-soft:#f6ecd2;
  --success:#3f9142;
  --radius-lg:22px;
  --radius:14px;
  --radius-sm:8px;
  --shadow-sm:0 6px 18px -8px rgba(10,10,11,.18);
  --shadow:0 20px 50px -20px rgba(10,10,11,.35);
  --shadow-gold:0 14px 30px -12px rgba(201,162,75,.55);
  --font-head:'Playfair Display', Georgia, serif;
  --font-body:'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container:1220px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--dark);
  background:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,h5{font-family:var(--font-head);font-weight:700;line-height:1.2;margin:0 0 .5em;color:var(--black);}
p{margin:0 0 1em;color:var(--gray);}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:.95rem;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.section-tight{padding:56px 0;}
.bg-off{background:var(--off-white);}
.bg-dark{background:var(--dark);color:#d7d8dc;}
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--white);}
.bg-dark p{color:#b7b9c1;}
.bg-cream{background:var(--cream);}

/* ---------- Utility ---------- */
.text-gold{color:var(--gold);}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-dark);font-weight:600;margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block;}
.bg-dark .eyebrow{color:var(--gold-light);}
.section-head{max-width:680px;margin:0 auto 56px;text-align:center;}
.section-head.left{margin:0 0 48px;text-align:left;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem);}
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.flex{display:flex;}
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.flex-center{display:flex;align-items:center;justify-content:center;}
.gap-8{gap:8px;} .gap-12{gap:12px;} .gap-16{gap:16px;} .gap-24{gap:24px;}
.mt-0{margin-top:0;} .mb-0{margin-bottom:0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border-radius:100px;border:1px solid transparent;
  font-weight:600;font-size:.92rem;letter-spacing:.01em;transition:.25s ease;
  white-space:nowrap;
}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--black);box-shadow:var(--shadow-gold);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(201,162,75,.65);}
.btn-dark{background:var(--dark);color:var(--white);}
.btn-dark:hover{background:var(--black);transform:translateY(-2px);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.35);color:inherit;}
.btn-outline:hover{background:rgba(255,255,255,.08);}
.btn-outline-dark{background:transparent;border-color:var(--dark);color:var(--dark);}
.btn-outline-dark:hover{background:var(--dark);color:var(--white);}
.btn-sm{padding:10px 20px;font-size:.82rem;}
.btn-block{width:100%;}
.btn-icon{width:44px;height:44px;padding:0;border-radius:50%;background:var(--off-white);color:var(--dark);}
.btn-icon:hover{background:var(--gold);color:var(--black);}
.btn[disabled]{opacity:.5;pointer-events:none;}

/* ---------- Top bar ---------- */
.topbar{background:var(--black);color:#c8c9ce;font-size:.82rem;padding:9px 0;}
.topbar .container{display:flex;align-items:center;justify-content:space-between;}
.topbar-left{display:flex;gap:26px;}
.topbar-left span{display:inline-flex;align-items:center;gap:8px;}
.topbar-left i,.topbar-right i{color:var(--gold);}
.topbar-right{display:flex;align-items:center;gap:18px;}
.topbar-social{display:flex;gap:14px;}
.topbar-social a{width:26px;height:26px;border-radius:50%;border:1px solid #38393e;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:.2s;}
.topbar-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}

/* ---------- Navbar ---------- */
.navbar{
  background:var(--white);position:sticky;top:0;z-index:200;
  border-bottom:1px solid var(--border);
}
.navbar .container{display:flex;align-items:center;justify-content:space-between;height:84px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--black);}
.logo span{color:var(--gold);}
.logo-mark{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  display:flex;align-items:center;justify-content:center;color:var(--black);font-size:1.1rem;
}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links > li > a{font-weight:500;font-size:.94rem;position:relative;padding:6px 0;color:var(--dark);}
.nav-links > li > a:hover,.nav-links > li.active > a{color:var(--gold-dark);}
.nav-links > li > a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:.25s;}
.nav-links > li > a:hover::after,.nav-links > li.active > a::after{width:100%;}
.has-dropdown{position:relative;}
.has-dropdown > a{display:flex;align-items:center;gap:6px;}
.dropdown{
  position:absolute;top:100%;left:-20px;background:var(--white);min-width:280px;
  box-shadow:var(--shadow);border-radius:var(--radius);padding:14px;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;
  display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--border);
}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateY(6px);}
.dropdown a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:.85rem;color:var(--dark);}
.dropdown a:hover{background:var(--gold-soft);color:var(--gold-dark);}
.dropdown a i{color:var(--gold);width:16px;text-align:center;}
.nav-actions{display:flex;align-items:center;gap:14px;}
.nav-actions .btn{padding:12px 22px;}
.icon-link{position:relative;width:42px;height:42px;border-radius:50%;background:var(--off-white);display:flex;align-items:center;justify-content:center;color:var(--dark);}
.icon-link:hover{background:var(--gold-soft);color:var(--gold-dark);}
.icon-link .badge{position:absolute;top:-3px;right:-3px;background:var(--gold);color:var(--black);font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.nav-toggle{display:none;background:none;border:none;font-size:1.4rem;color:var(--dark);}

/* ---------- Hero ---------- */
.hero{
  position:relative;color:var(--white);
  min-height:88vh;display:flex;align-items:center;
  background:
    linear-gradient(120deg,rgba(9,9,10,.88) 10%,rgba(9,9,10,.55) 55%,rgba(9,9,10,.35) 100%),
    url('https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?q=80&w=1740&auto=format&fit=crop') center/cover no-repeat;
}
.hero-inner{max-width:640px;padding:80px 0;}
.hero .eyebrow{color:var(--gold-light);}
.hero h1{color:var(--white);font-size:clamp(2.4rem,5vw,3.6rem);}
.hero p.lead{color:#d8d9df;font-size:1.1rem;max-width:520px;}
.hero-stats{display:flex;gap:36px;margin-top:38px;}
.hero-stats div strong{display:block;font-family:var(--font-head);font-size:1.6rem;color:var(--gold-light);}
.hero-stats div span{font-size:.82rem;color:#c7c8ce;}

/* Search card */
.search-card{
  background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:26px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;
  position:relative;margin-top:-64px;z-index:20;align-items:end;
}
.search-field{display:flex;flex-direction:column;gap:8px;text-align:left;}
.search-field label{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);}
.search-field .input-wrap{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:13px 14px;background:var(--off-white);}
.search-field .input-wrap i{color:var(--gold-dark);}
.search-field input,.search-field select{border:none;background:transparent;width:100%;outline:none;color:var(--dark);}
.search-card .btn{height:52px;}

/* ---------- Stats strip below hero-like sections ---------- */
.stat-strip{background:var(--white);box-shadow:var(--shadow);border-radius:var(--radius-lg);padding:36px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat-strip .stat{display:flex;align-items:center;gap:16px;text-align:left;border-right:1px solid var(--border);padding-right:16px;}
.stat-strip .stat:last-child{border-right:none;}
.stat-strip .stat i{font-size:1.6rem;color:var(--gold);}
.stat-strip .stat strong{display:block;font-size:1rem;}
.stat-strip .stat span{font-size:.8rem;color:var(--gray);}

/* ---------- Category cards ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.cat-card{
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  padding:28px 18px;text-align:center;transition:.25s;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
.cat-icon{
  width:64px;height:64px;border-radius:18px;margin:0 auto 16px;
  background:var(--gold-soft);color:var(--gold-dark);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  transition:.25s;
}
.cat-card:hover .cat-icon{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--black);}
.cat-card h4{font-size:.94rem;margin-bottom:4px;}
.cat-card span{font-size:.78rem;color:var(--gray);}

/* ---------- About / two column ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-media{position:relative;}
.about-media img{border-radius:var(--radius-lg);}
.about-media .img-sm{position:absolute;width:52%;border:6px solid var(--white);border-radius:var(--radius);box-shadow:var(--shadow);bottom:-30px;right:-30px;}
.badge-float{
  position:absolute;top:24px;left:-24px;background:var(--dark);color:var(--white);
  border-radius:50%;width:120px;height:120px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow);
  border:4px solid var(--gold);
}
.badge-float strong{font-family:var(--font-head);font-size:1.7rem;color:var(--gold-light);}
.badge-float span{font-size:.7rem;color:#cfd0d5;}
.check-list li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.check-list i{color:var(--gold);margin-top:4px;}

/* ---------- Vendor cards ---------- */
.vendor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.vendor-card{
  background:var(--white);border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border);transition:.25s;position:relative;
}
.vendor-card:hover{box-shadow:var(--shadow);transform:translateY(-6px);}
.vendor-media{position:relative;height:190px;overflow:hidden;}
.vendor-media img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.vendor-card:hover .vendor-media img{transform:scale(1.08);}
.vendor-tag{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--black);font-size:.68rem;font-weight:700;padding:5px 12px;border-radius:100px;letter-spacing:.03em;}
.vendor-tag.external{background:var(--dark);color:var(--gold-light);}
.fav-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(10,10,11,.55);color:#fff;display:flex;align-items:center;justify-content:center;border:none;backdrop-filter:blur(3px);}
.fav-btn.active,.fav-btn:hover{background:var(--gold);color:var(--black);}
.vendor-body{padding:20px;}
.vendor-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-dark);font-weight:600;}
.vendor-body h4{font-size:1.05rem;margin:6px 0;}
.vendor-loc{font-size:.82rem;color:var(--gray);display:flex;align-items:center;gap:6px;margin-bottom:10px;}
.vendor-loc i{color:var(--gold);}
.vendor-meta{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--border);padding-top:12px;margin-top:8px;}
.stars{color:var(--gold);font-size:.82rem;}
.stars span{color:var(--gray);font-weight:500;margin-left:4px;}
.price-from{font-weight:700;font-size:.9rem;}
.price-from small{font-weight:400;color:var(--gray);font-size:.72rem;}
.vendor-actions{display:flex;gap:8px;margin-top:14px;}
.vendor-actions .btn{flex:1;padding:10px 8px;font-size:.78rem;}

/* ---------- Filters sidebar ---------- */
.browse-layout{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;}
.filter-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:104px;}
.filter-card h5{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin:22px 0 12px;color:var(--dark);}
.filter-card h5:first-child{margin-top:0;}
.filter-option{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.88rem;color:var(--gray);}
.filter-option input{accent-color:var(--gold);width:16px;height:16px;}
.range-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--gray);margin-top:6px;}
.results-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.results-bar select{border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--off-white);}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--gold-soft);color:var(--gold-dark);padding:7px 14px;border-radius:100px;font-size:.78rem;font-weight:600;}
.chip button{background:none;border:none;color:inherit;font-size:.85rem;}

/* ---------- Pagination ---------- */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.pagination a{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:.85rem;font-weight:600;}
.pagination a.active,.pagination a:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}

/* ---------- How it works ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;}
.step{text-align:center;position:relative;}
.step-num{
  width:74px;height:74px;border-radius:50%;margin:0 auto 20px;
  background:var(--dark);color:var(--gold-light);font-family:var(--font-head);
  font-size:1.5rem;display:flex;align-items:center;justify-content:center;
  border:3px solid var(--gold);
}
.step h4{font-size:1rem;}
.step p{font-size:.86rem;}

/* ---------- Become vendor CTA ---------- */
.cta-banner{
  background:linear-gradient(120deg,var(--black) 45%,#242017 100%);
  border-radius:var(--radius-lg);padding:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;color:#fff;
  position:relative;overflow:hidden;
}
.cta-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.35),transparent 70%);}
.cta-banner h2{color:#fff;}
.cta-list{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px;}
.cta-list li{display:flex;align-items:center;gap:8px;font-size:.86rem;color:#d9dade;}
.cta-list i{color:var(--gold-light);}

/* ---------- Testimonials ---------- */
.testi-track{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.testi-card{background:var(--dark-2);border-radius:var(--radius-lg);padding:30px;border:1px solid #2b2c31;}
.testi-stars{color:var(--gold);margin-bottom:14px;}
.testi-card p{color:#c9cad0;font-style:italic;}
.testi-person{display:flex;align-items:center;gap:14px;margin-top:20px;}
.testi-person img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.testi-person strong{display:block;color:#fff;font-size:.92rem;}
.testi-person span{font-size:.78rem;color:var(--gray-light);}

/* ---------- Footer ---------- */
.footer{background:var(--black);color:#9a9ba2;padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:56px;border-bottom:1px solid #232327;}
.footer h5{color:#fff;font-size:.95rem;margin-bottom:20px;}
.footer ul li{margin-bottom:11px;font-size:.86rem;}
.footer ul li a:hover{color:var(--gold-light);}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid #2c2c31;display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--gold);color:var(--black);border-color:var(--gold);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:24px 0;font-size:.8rem;flex-wrap:wrap;gap:10px;}
.newsletter-form{display:flex;margin-top:14px;border-radius:100px;overflow:hidden;background:var(--dark-2);padding:5px;}
.newsletter-form input{flex:1;background:transparent;border:none;padding:0 16px;color:#fff;outline:none;}
.newsletter-form button{border:none;background:var(--gold);color:var(--black);padding:11px 20px;border-radius:100px;font-weight:600;}

/* ---------- Generic page header (inner pages) ---------- */
.page-header{
  background:linear-gradient(120deg,rgba(9,9,10,.9),rgba(9,9,10,.65)),url('https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?q=80&w=1740&auto=format&fit=crop') center/cover;
  color:#fff;padding:90px 0 70px;text-align:center;
}
.page-header h1{color:#fff;font-size:clamp(1.9rem,4vw,2.7rem);}
.breadcrumb{display:flex;gap:8px;justify-content:center;font-size:.85rem;color:#cfd0d5;}
.breadcrumb a:hover{color:var(--gold-light);}

/* ---------- Forms (auth, vendor register, contact) ---------- */
.auth-wrap{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1fr 1fr;}
.auth-media{
  background:linear-gradient(120deg,rgba(9,9,10,.85),rgba(9,9,10,.4)),url('https://images.unsplash.com/photo-1519741497674-611481863552?q=80&w=1740&auto=format&fit=crop') center/cover;
  display:flex;align-items:flex-end;padding:60px;color:#fff;
}
.auth-media blockquote{font-family:var(--font-head);font-size:1.4rem;max-width:420px;}
.auth-form{display:flex;align-items:center;justify-content:center;padding:60px 24px;}
.auth-box{width:100%;max-width:420px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:.82rem;font-weight:600;margin-bottom:8px;}
.form-control{
  width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--border);
  background:var(--off-white);outline:none;transition:.2s;
}
.form-control:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px var(--gold-soft);}
textarea.form-control{resize:vertical;min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-check{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--gray);}
.form-check input{accent-color:var(--gold);}
.auth-tabs{display:flex;background:var(--off-white);border-radius:100px;padding:5px;margin-bottom:32px;}
.auth-tabs button{flex:1;border:none;background:transparent;padding:11px;border-radius:100px;font-weight:600;font-size:.86rem;color:var(--gray);}
.auth-tabs button.active{background:var(--dark);color:#fff;}
.divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--gray-light);font-size:.78rem;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border);}
.social-auth{display:flex;gap:12px;}
.social-auth button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);background:#fff;padding:12px;border-radius:12px;font-size:.85rem;font-weight:600;}
.social-auth button:hover{border-color:var(--gold);}
.upload-box{border:2px dashed var(--border);border-radius:var(--radius);padding:36px;text-align:center;color:var(--gray);cursor:pointer;transition:.2s;}
.upload-box:hover{border-color:var(--gold);background:var(--gold-soft);}
.upload-box i{font-size:1.8rem;color:var(--gold);margin-bottom:10px;display:block;}
.form-steps{display:flex;justify-content:space-between;margin-bottom:46px;position:relative;}
.form-steps::before{content:"";position:absolute;top:19px;left:0;right:0;height:2px;background:var(--border);z-index:0;}
.form-steps .fstep{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;}
.form-steps .fstep .circ{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--gray);}
.form-steps .fstep.done .circ,.form-steps .fstep.active .circ{background:var(--gold);border-color:var(--gold);color:var(--black);}
.form-steps .fstep span{font-size:.78rem;font-weight:600;color:var(--gray);}
.form-steps .fstep.active span{color:var(--dark);}
.step-panel{display:none;}
.step-panel.active{display:block;}
.category-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.category-pick label{border:1px solid var(--border);border-radius:12px;padding:16px 10px;text-align:center;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--gray);transition:.2s;}
.category-pick input{display:none;}
.category-pick input:checked + label,.category-pick label:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-dark);}
.category-pick i{display:block;font-size:1.4rem;margin-bottom:8px;color:var(--gold);}

/* ---------- Vendor Profile ---------- */
.profile-hero{position:relative;height:340px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:-90px;}
.profile-hero img{width:100%;height:100%;object-fit:cover;}
.profile-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.75));}
.profile-card{
  position:relative;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:30px;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;
}
.profile-avatar{width:110px;height:110px;border-radius:20px;object-fit:cover;border:5px solid #fff;box-shadow:var(--shadow-sm);margin-top:-70px;}
.profile-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.verified-badge{display:inline-flex;align-items:center;gap:6px;background:var(--gold-soft);color:var(--gold-dark);font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:100px;}
.profile-tags{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;}
.profile-tags span{font-size:.78rem;color:var(--gray);display:flex;align-items:center;gap:6px;}
.profile-tags i{color:var(--gold);}
.profile-actions{display:flex;gap:10px;}
.profile-tabs{display:flex;gap:6px;margin:44px 0 30px;border-bottom:1px solid var(--border);}
.profile-tabs button{background:none;border:none;padding:14px 22px;font-weight:600;font-size:.9rem;color:var(--gray);border-bottom:3px solid transparent;margin-bottom:-1px;}
.profile-tabs button.active{color:var(--dark);border-color:var(--gold);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gallery-grid img{border-radius:var(--radius);height:190px;object-fit:cover;width:100%;transition:.3s;cursor:pointer;}
.gallery-grid img:hover{opacity:.85;transform:scale(1.02);}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pkg-card{border:1px solid var(--border);border-radius:var(--radius);padding:26px;text-align:center;transition:.2s;}
.pkg-card.popular{border-color:var(--gold);box-shadow:var(--shadow-gold);position:relative;}
.pkg-card.popular::before{content:"MOST POPULAR";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;font-size:.65rem;font-weight:700;padding:5px 14px;border-radius:100px;}
.pkg-price{font-family:var(--font-head);font-size:2rem;margin:10px 0;}
.pkg-price small{font-size:.85rem;color:var(--gray);font-weight:400;}
.pkg-card ul{text-align:left;margin:18px 0;}
.pkg-card ul li{display:flex;gap:8px;font-size:.85rem;color:var(--gray);margin-bottom:10px;}
.pkg-card ul i{color:var(--success);margin-top:3px;}
.review-item{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--border);}
.review-item img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.review-head{display:flex;justify-content:space-between;align-items:center;}
.review-head span{font-size:.78rem;color:var(--gray-light);}
.rating-summary{display:flex;gap:40px;align-items:center;padding:26px;background:var(--off-white);border-radius:var(--radius);margin-bottom:20px;}
.rating-big{font-family:var(--font-head);font-size:3rem;}
.rating-bar-row{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--gray);margin-bottom:6px;}
.rating-bar{flex:1;height:8px;background:var(--border);border-radius:100px;overflow:hidden;}
.rating-bar > span{display:block;height:100%;background:var(--gold);}
.map-embed{border-radius:var(--radius);overflow:hidden;height:300px;border:1px solid var(--border);}
.sidebar-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:22px;}
.sidebar-card h5{margin-bottom:16px;}
.contact-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.88rem;}
.contact-row i{width:38px;height:38px;border-radius:10px;background:var(--gold-soft);color:var(--gold-dark);display:flex;align-items:center;justify-content:center;}

/* ---------- Dashboard (Vendor / Admin) ---------- */
.dash-shell{display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 84px);}
.dash-sidebar{background:var(--black);color:#c7c8ce;padding:30px 18px;}
.dash-profile{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid #232327;margin-bottom:20px;}
.dash-profile img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.dash-profile strong{color:#fff;font-size:.88rem;display:block;}
.dash-profile span{font-size:.72rem;color:var(--gray-light);}
.dash-nav li a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;font-size:.86rem;margin-bottom:4px;}
.dash-nav li a i{width:18px;text-align:center;color:var(--gold-light);}
.dash-nav li a:hover,.dash-nav li.active a{background:#1d1d21;color:#fff;}
.dash-nav .section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#5c5d64;margin:22px 0 8px 14px;}
.dash-main{padding:36px 40px;background:var(--off-white);}
.dash-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-bottom:32px;}
.kpi-card{background:#fff;border-radius:var(--radius);padding:22px;border:1px solid var(--border);}
.kpi-card i{color:var(--gold);font-size:1.3rem;margin-bottom:10px;display:block;}
.kpi-card strong{font-family:var(--font-head);font-size:1.6rem;display:block;}
.kpi-card span{font-size:.76rem;color:var(--gray);}
.panel{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:26px;margin-bottom:26px;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
table.data-table{width:100%;border-collapse:collapse;font-size:.86rem;}
.data-table th{text-align:left;padding:12px 14px;color:var(--gray);font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);}
.data-table td{padding:14px;border-bottom:1px solid var(--border);vertical-align:middle;}
.data-table tr:last-child td{border-bottom:none;}
.td-vendor{display:flex;align-items:center;gap:10px;}
.td-vendor img{width:38px;height:38px;border-radius:8px;object-fit:cover;}
.status-pill{padding:5px 12px;border-radius:100px;font-size:.72rem;font-weight:700;}
.status-pill.pending{background:#fdf2d8;color:#a3720c;}
.status-pill.approved{background:#e3f3e2;color:var(--success);}
.status-pill.rejected{background:#fde3e3;color:#c23a3a;}
.status-pill.new{background:#e6eefc;color:#2a5cc7;}
.table-actions{display:flex;gap:8px;}
.table-actions button{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.8rem;}
.table-actions button:hover{background:var(--gold-soft);border-color:var(--gold);}
.dash-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap;}
.dash-tabs button{border:1px solid var(--border);background:#fff;padding:9px 18px;border-radius:100px;font-size:.82rem;font-weight:600;color:var(--gray);}
.dash-tabs button.active{background:var(--dark);color:#fff;border-color:var(--dark);}
.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
.avail-day{border:1px solid var(--border);border-radius:10px;padding:14px 8px;text-align:center;font-size:.8rem;cursor:pointer;}
.avail-day.off{background:#fde3e3;color:#c23a3a;border-color:transparent;}
.avail-day.on{background:#e3f3e2;color:var(--success);border-color:transparent;}
.progress-track{height:8px;background:var(--border);border-radius:100px;overflow:hidden;margin:10px 0 6px;}
.progress-track > span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-light),var(--gold));}

/* ---------- Checklist page ---------- */
.checklist-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;margin-bottom:20px;}
.checklist-card h4{display:flex;align-items:center;gap:10px;}
.checklist-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);}
.checklist-item:last-child{border-bottom:none;}
.checklist-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold);}
.checklist-item.done label{text-decoration:line-through;color:var(--gray-light);}
.checklist-item .cat{margin-left:auto;font-size:.72rem;color:var(--gold-dark);background:var(--gold-soft);padding:4px 10px;border-radius:100px;}
.add-item-row{display:flex;gap:10px;margin-top:14px;}

/* ---------- Empty state ---------- */
.empty-state{text-align:center;padding:80px 20px;}
.empty-state i{font-size:3rem;color:var(--gold);margin-bottom:20px;display:block;}

/* ---------- Modal ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(10,10,11,.65);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:var(--radius-lg);padding:32px;max-width:460px;width:100%;position:relative;max-height:90vh;overflow:auto;}
.modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:var(--off-white);border:none;font-size:1rem;}
.modal-close:hover{background:var(--gold);color:#000;}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:26px;right:26px;background:var(--dark);color:#fff;padding:16px 22px;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;z-index:1100;transform:translateY(140%);transition:.35s;font-size:.88rem;}
.toast.show{transform:translateY(0);}
.toast i{color:var(--gold-light);}

/* ---------- Back to top ---------- */
.back-top{position:fixed;bottom:26px;left:26px;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#000;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-gold);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:400;border:none;}
.back-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:1080px){
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .vendor-grid{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(3,1fr);}
  .browse-layout{grid-template-columns:1fr;}
  .filter-card{position:static;}
  .dash-shell{grid-template-columns:1fr;}
  .dash-sidebar{display:none;}
  .kpi-grid{grid-template-columns:repeat(3,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .testi-track{grid-template-columns:1fr 1fr;}
  .pkg-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .topbar-left span:nth-child(3){display:none;}
  .nav-links{position:fixed;top:0;left:-100%;height:100vh;width:78%;background:var(--white);flex-direction:column;justify-content:flex-start;padding:100px 30px;gap:8px;transition:.35s;box-shadow:var(--shadow);z-index:300;}
  .nav-links.open{left:0;}
  .nav-links > li{width:100%;}
  .nav-links > li > a{display:block;padding:12px 0;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:none;grid-template-columns:1fr;padding:0 0 0 14px;}
  .has-dropdown.open .dropdown{display:grid;}
  .nav-toggle{display:block;}
  .nav-actions .btn-outline-dark,.nav-actions .signup-desktop{display:none;}
  .hero-stats{flex-wrap:wrap;gap:20px;}
  .search-card{grid-template-columns:1fr;margin-top:20px;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
  .stat-strip .stat{border-right:none;padding-right:0;}
  .about-grid{grid-template-columns:1fr;}
  .cta-banner{grid-template-columns:1fr;padding:40px 24px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}
  .vendor-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr;}
  .testi-track{grid-template-columns:1fr;}
  .auth-wrap{grid-template-columns:1fr;}
  .auth-media{display:none;}
  .profile-card{grid-template-columns:1fr;text-align:center;}
  .profile-actions{justify-content:center;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .category-pick{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .avail-grid{grid-template-columns:repeat(4,1fr);}
  .rating-summary{flex-direction:column;gap:16px;align-items:flex-start;}
}
