/* =========================================================
   Kegalle Enterprise Premium Marketplace UI
   Spacious, fast workflow, high conversion UX
   Load this LAST after all other CSS files.
   ========================================================= */

:root{
  --ep-bg:#f5f7fb;
  --ep-surface:#ffffff;
  --ep-card:#ffffff;
  --ep-text:#0b1220;
  --ep-muted:#667085;
  --ep-line:#e6ebf2;
  --ep-brand:#00a76f;
  --ep-brand-dark:#047857;
  --ep-brand-soft:#e8fff5;
  --ep-blue:#2563eb;
  --ep-gold:#f59e0b;
  --ep-danger:#dc2626;
  --ep-radius:28px;
  --ep-radius-sm:18px;
  --ep-shadow:0 20px 70px rgba(15,23,42,.08);
  --ep-shadow-hover:0 35px 90px rgba(15,23,42,.14);
  --ep-container:1440px;
  --ep-gap:28px;
  --ep-header:78px;
  --ep-transition:.22s ease;
}

/* Global premium base */
body{
  background:var(--ep-bg)!important;
  color:var(--ep-text)!important;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif!important;
  letter-spacing:-.01em;
}

a{text-decoration:none}
.kg-container,.ep-container{
  max-width:var(--ep-container)!important;
  margin:0 auto!important;
  padding:0 28px!important;
}

/* Header - enterprise navigation */
.kg-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(20px)!important;
  border-bottom:1px solid rgba(230,235,242,.85)!important;
  box-shadow:0 8px 30px rgba(15,23,42,.04)!important;
}

.kg-topnav{
  min-height:var(--ep-header)!important;
  display:grid!important;
  grid-template-columns:230px minmax(420px,1fr) auto!important;
  gap:22px!important;
  align-items:center!important;
}

.kg-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:var(--ep-text)!important;
}

.kg-pin{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,var(--ep-brand),#16d894)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 15px 36px rgba(0,167,111,.28)!important;
}

.kg-brand b{font-size:22px!important;line-height:1!important}
.kg-brand small{display:block!important;color:var(--ep-muted)!important;margin-top:3px!important;font-weight:700!important}

.kg-mini-search{
  display:grid!important;
  grid-template-columns:160px 1fr 110px!important;
  background:#fff!important;
  border:1px solid var(--ep-line)!important;
  border-radius:999px!important;
  padding:7px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.05)!important;
  overflow:hidden!important;
}

.kg-mini-search select,
.kg-mini-search input{
  border:0!important;
  background:transparent!important;
  padding:0 16px!important;
  outline:0!important;
  min-height:44px!important;
  font-weight:650!important;
  color:var(--ep-text)!important;
}

.kg-mini-search button{
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--ep-brand),#17c98d)!important;
  color:#fff!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.kg-actions{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}

.kg-actions a{
  color:#263449!important;
  font-weight:800!important;
}

.kg-post,.kg-actions .kg-post{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:var(--ep-brand)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,167,111,.25)!important;
}

.kg-text-btn{
  border:0!important;
  background:#f1f5f9!important;
  color:#334155!important;
  border-radius:999px!important;
  padding:11px 16px!important;
  font-weight:900!important;
}

.kg-greenbar{
  background:linear-gradient(90deg,#057a56,#06a872)!important;
  color:#fff!important;
}

.kg-greenbar .kg-container{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  overflow:auto!important;
}

.kg-greenbar a,.kg-greenbar span{color:#fff!important;font-weight:800!important;white-space:nowrap!important}

/* Enterprise hero */
.ep-hero,.kg-hero{
  background:
    radial-gradient(circle at 75% 25%, rgba(255,255,255,.28), transparent 35%),
    linear-gradient(135deg,#047857 0%, #00a76f 50%, #19d396 100%)!important;
  color:#fff!important;
  padding:92px 0 84px!important;
  overflow:hidden!important;
  position:relative!important;
}

.ep-hero:after,.kg-hero:after{
  content:"";
  position:absolute;
  width:640px;
  height:640px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  right:-220px;
  top:-250px;
}

.kg-hero-grid,.ep-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 410px!important;
  gap:50px!important;
  align-items:center!important;
  position:relative!important;
  z-index:2!important;
}

.kg-eyebrow,.ep-eyebrow{
  display:inline-flex!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.15)!important;
  color:#eafff7!important;
  font-weight:900!important;
  margin-bottom:20px!important;
}

.kg-hero h1,.ep-hero h1{
  font-size:clamp(44px,5.8vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-.07em!important;
  margin:0 0 20px!important;
  max-width:980px!important;
}

.kg-hero p,.ep-hero p{
  font-size:20px!important;
  line-height:1.65!important;
  max-width:720px!important;
  opacity:.94!important;
}

.kg-search,.ep-search{
  margin-top:34px!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:210px 1fr 210px 150px!important;
  gap:0!important;
  box-shadow:0 30px 90px rgba(2,6,23,.18)!important;
  overflow:hidden!important;
}

.kg-search select,.kg-search input,.ep-search select,.ep-search input{
  border:0!important;
  min-height:58px!important;
  padding:0 20px!important;
  color:#0f172a!important;
  font-weight:750!important;
  outline:0!important;
  border-right:1px solid #eef2f7!important;
}

.kg-search button,.ep-search button{
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--ep-brand),#16d894)!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Cards, grids */
.kg-section,.ep-section{margin-top:84px!important}
.kg-section-head,.ep-section-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  margin-bottom:28px!important;
}

.kg-section-head h2,.ep-section-head h2{
  font-size:40px!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  margin:0!important;
}

.kg-small-title,.kg-section-head p,.ep-small-title{
  color:var(--ep-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-size:13px!important;
  font-weight:900!important;
  margin:0 0 6px!important;
}

.kg-grid,.kg-premium-grid,.kg-ads-grid,.kg-listings-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
}

/* Image first listing cards */
.kg-listing-card,.listing-card,.ep-listing-card{
  background:#fff!important;
  border:1px solid var(--ep-line)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--ep-shadow)!important;
  transition:var(--ep-transition)!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:470px!important;
  color:var(--ep-text)!important;
  position:relative!important;
}

.kg-listing-card:hover,.listing-card:hover,.ep-listing-card:hover{
  transform:translateY(-8px)!important;
  box-shadow:var(--ep-shadow-hover)!important;
}

.kg-listing-image,.photo,.ep-card-media{
  height:270px!important;
  background:linear-gradient(135deg,#ecfdf5,#eff6ff)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  overflow:hidden!important;
}

.kg-listing-image img,.photo img,.ep-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:.35s ease!important;
}

.kg-listing-card:hover img{transform:scale(1.045)!important}

.kg-image-placeholder{
  width:116px!important;
  height:116px!important;
  border-radius:34px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:var(--ep-brand)!important;
  font-size:54px!important;
  font-weight:900!important;
  box-shadow:0 18px 44px rgba(15,23,42,.12)!important;
}

.kg-listing-body{
  padding:24px!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
}

.kg-listing-body small{
  color:var(--ep-muted)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  font-size:12px!important;
}

.kg-listing-body h3{
  margin:10px 0 14px!important;
  font-size:21px!important;
  line-height:1.25!important;
  min-height:54px!important;
  letter-spacing:-.025em!important;
}

.kg-price{
  margin-top:auto!important;
  font-size:34px!important;
  line-height:1!important;
  color:var(--ep-brand-dark)!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}

.kg-listing-body p{
  color:#64748b!important;
  font-size:14px!important;
  margin:9px 0 0!important;
  line-height:1.45!important;
}

.kg-badge,.ep-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
}

.kg-badge-yellow{background:var(--ep-gold)!important}

/* Store cards */
.kg-store-grid,.kg-premium-store-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
}

.kg-store-card{
  background:#fff!important;
  border:1px solid var(--ep-line)!important;
  border-radius:30px!important;
  padding:28px!important;
  box-shadow:var(--ep-shadow)!important;
  transition:var(--ep-transition)!important;
  min-height:260px!important;
  text-align:left!important;
  color:var(--ep-text)!important;
}

.kg-store-card:hover{
  transform:translateY(-7px)!important;
  box-shadow:var(--ep-shadow-hover)!important;
}

.kg-store-logo{
  width:92px!important;
  height:92px!important;
  border-radius:28px!important;
  background:var(--ep-brand-soft)!important;
  color:var(--ep-brand-dark)!important;
  display:grid!important;
  place-items:center!important;
  font-size:38px!important;
  font-weight:900!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
}

.kg-store-card h3{
  font-size:22px!important;
  margin:0 0 8px!important;
}

.kg-store-card p,.kg-store-card small,.kg-store-card span{
  color:var(--ep-muted)!important;
  line-height:1.5!important;
}

.kg-store-card b,.kg-store-card > span:last-child{
  color:var(--ep-brand-dark)!important;
  font-weight:900!important;
}

/* Detail pages */
.kg-detail-wrap{
  background:var(--ep-bg)!important;
  padding:54px 0 90px!important;
}

.kg-detail-grid{
  max-width:var(--ep-container)!important;
  margin:0 auto!important;
  padding:0 28px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 410px!important;
  gap:34px!important;
}

.kg-detail-gallery,.kg-main-image{
  min-height:560px!important;
  background:#fff!important;
  border-radius:32px!important;
  overflow:hidden!important;
  box-shadow:var(--ep-shadow)!important;
}

.kg-detail-card,.kg-seller-card,.kg-safety-card{
  background:#fff!important;
  border:1px solid var(--ep-line)!important;
  border-radius:30px!important;
  box-shadow:var(--ep-shadow)!important;
  padding:30px!important;
}

.kg-detail-card h1{
  font-size:46px!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
}

.kg-detail-price{
  font-size:52px!important;
  color:var(--ep-brand-dark)!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}

.kg-detail-sidebar{
  position:sticky!important;
  top:110px!important;
}

/* Admin/seller dashboard base */
.sa-wrap,.dash-wrap{
  background:var(--ep-bg)!important;
}

/* Mobile bottom action */
.ep-mobile-bar{
  position:fixed;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:1100;
  display:none;
  grid-template-columns:repeat(5,1fr);
  background:#fff;
  border:1px solid var(--ep-line);
  box-shadow:0 18px 60px rgba(15,23,42,.18);
  border-radius:24px;
  overflow:hidden;
}

.ep-mobile-bar a{
  min-height:58px;
  display:grid;
  place-items:center;
  color:#334155;
  font-size:12px;
  font-weight:900;
}

/* Responsive */
@media(max-width:1200px){
  .kg-grid,.kg-premium-grid,.kg-ads-grid,.kg-listings-grid,.kg-store-grid,.kg-premium-store-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .kg-hero-grid,.ep-hero-grid,.kg-detail-grid{
    grid-template-columns:1fr!important;
  }
  .kg-topnav{
    grid-template-columns:220px 1fr!important;
  }
  .kg-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    overflow:auto!important;
  }
}

@media(max-width:820px){
  .kg-grid,.kg-premium-grid,.kg-ads-grid,.kg-listings-grid,.kg-store-grid,.kg-premium-store-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .kg-search,.ep-search,.kg-mini-search{
    grid-template-columns:1fr!important;
    border-radius:28px!important;
  }
  .kg-topnav{
    grid-template-columns:1fr!important;
  }
  .kg-hero,.ep-hero{
    padding:64px 0!important;
  }
  .kg-detail-sidebar{position:static!important}
}

@media(max-width:560px){
  .kg-container,.ep-container{padding:0 16px!important}
  .kg-grid,.kg-premium-grid,.kg-ads-grid,.kg-listings-grid,.kg-store-grid,.kg-premium-store-grid{
    grid-template-columns:1fr!important;
  }
  .kg-listing-card{min-height:auto!important}
  .kg-hero h1,.ep-hero h1{font-size:42px!important}
  .kg-section-head,.ep-section-head{display:block!important}
  .ep-mobile-bar{display:grid}
  body{padding-bottom:88px}
}
