/* =========================================================
   EDIVIC FRONTEND FINAL POLISH
   Frontend-only CSS. No workflow/backend changes.
   ========================================================= */
:root{
  --edivic-primary:#232F3E;
  --edivic-primary-2:#0f172a;
  --edivic-gold:#FEBD69;
  --edivic-gold-2:#f59e0b;
  --edivic-bg:#f6f8fb;
  --edivic-card:#ffffff;
  --edivic-text:#0f172a;
  --edivic-muted:#64748b;
  --edivic-border:rgba(15,23,42,.08);
  --edivic-shadow:0 22px 70px rgba(15,23,42,.10);
}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
body{background:var(--edivic-bg);color:var(--edivic-text);}
*,*::before,*::after{box-sizing:border-box;}
a{text-underline-offset:4px;}
img{max-width:100%;height:auto;}
button,input,select,textarea,a{font-family:inherit;}

/* ---------- Homepage navbar finishing ---------- */
.navbar{
  height:76px!important;
  min-height:76px!important;
  padding:0 clamp(16px,5vw,9%)!important;
  background:rgba(35,47,62,.96)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 38px rgba(15,23,42,.18)!important;
}
.navbar>a.logo,
.navbar .logo:not(img){
  min-width:max-content!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  text-decoration:none!important;
  letter-spacing:-.03em!important;
}
.navbar a.logo img,
.navbar img.logo{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  object-fit:contain!important;
  border-radius:12px!important;
  padding:3px!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
.navbar .logo span{font-size:1.45rem!important;font-weight:900!important;color:var(--edivic-gold)!important;}
.navbar nav{min-width:0!important;}
.nav-links{align-items:center!important;gap:clamp(14px,2.2vw,28px)!important;margin:0!important;padding:0!important;}
.nav-links a{
  position:relative!important;
  white-space:nowrap!important;
  font-weight:700!important;
  font-size:.95rem!important;
  opacity:.94!important;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:3px;
  border-radius:999px;
  background:var(--edivic-gold);
  transition:right .22s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{right:0;}
.nav-right-glass{
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  min-width:max-content!important;
}
.auth-fab{gap:9px!important;}
.fab-main{width:42px!important;height:42px!important;box-shadow:0 12px 28px rgba(0,0,0,.18)!important;}
.inner-dot{width:10px!important;height:10px!important;background:#111827!important;}
.fab-btn{
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  font-size:.9rem!important;
  font-weight:900!important;
  color:#111827!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:none!important;
}
.fab-btn.register{background:var(--edivic-gold)!important;color:#111827!important;}
.fab-btn:hover{transform:translateY(-1px)!important;}
.auth-fab:hover .fab-main{transform:none!important;}
.auth-fab:hover .inner-dot{transform:none!important;}
.hamburger{width:44px!important;height:44px!important;border-radius:14px!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.10)!important;}

/* ---------- SaaS/dashboard navbar finishing ---------- */
.saas-header{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 14px 42px rgba(15,23,42,.07)!important;
}
.saas-nav-container{padding-inline:clamp(14px,2.5vw,32px)!important;}
.saas-header .logo-img{width:42px!important;height:42px!important;min-width:42px!important;}
.nav-link-item{font-weight:800!important;letter-spacing:-.01em!important;}
.nav-link-item.active{background:#111827!important;color:#fff!important;}
.mobile-toggle-btn{border:0!important;cursor:pointer!important;}
.profile-dropdown-card,.notif-dropdown-quick{z-index:99999!important;}

/* ---------- Universal page finishing ---------- */
section,.main-content,.client-main-content,.page-container,.projects-wrapper,.editors-wrapper,.settings-container,.notifications-container,.chat-page{
  max-width:100%;
}
.hero,.edivic-about,.intro-section,.features,.trust-section,.category-showcase-section,.editors-section,.cta{
  position:relative;
}
.section-title,
.showcase-header h2,
.intro-container h2,
.cta h2{letter-spacing:-.045em!important;}
.hero-content h1{letter-spacing:-.055em!important;}
.primary-btn,.secondary-btn,.submit-btn,.btn,button[type="submit"]{
  min-height:44px;
  border-radius:14px!important;
  font-weight:900!important;
}
.feature-card,.editor-card,.project-card,.testimonial-card,.step-card,.trust-card,.showcase-card,
.dashboard-card,.stat-card,.client-stat-card,.settings-card,.notification-card,.project-detail-card{
  border-radius:24px!important;
  box-shadow:0 18px 52px rgba(15,23,42,.10)!important;
}
input,select,textarea{
  border-radius:14px!important;
  outline:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--edivic-gold-2)!important;
  box-shadow:0 0 0 4px rgba(245,158,11,.14)!important;
}

/* ---------- Mobile homepage requested auth look: | Login | Signin | ---------- */
@media(max-width:768px){
  .navbar{
    height:68px!important;
    min-height:68px!important;
    padding:0 14px!important;
    gap:8px!important;
  }
  .navbar a.logo img,.navbar img.logo{width:38px!important;height:38px!important;min-width:38px!important;border-radius:11px!important;}
  .navbar .logo span{font-size:1.08rem!important;}
  .navbar nav{order:4!important;}
  .hamburger{display:flex!important;order:3!important;color:#fff!important;width:40px!important;height:40px!important;min-width:40px!important;}
  .nav-links{
    position:fixed!important;
    top:68px!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
    height:auto!important;
    max-height:calc(100svh - 90px)!important;
    overflow:auto!important;
    padding:16px!important;
    border-radius:22px!important;
    background:rgba(35,47,62,.98)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 26px 70px rgba(0,0,0,.26)!important;
    transform:translateY(-10px) scale(.98)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:.22s ease!important;
    gap:8px!important;
  }
  .nav-links.active{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .nav-links li{width:100%!important;}
  .nav-links a{display:flex!important;width:100%!important;padding:13px 14px!important;border-radius:14px!important;background:rgba(255,255,255,.05)!important;}
  .nav-links a::after{display:none!important;}
  .nav-right-glass{
    order:2!important;
    margin-left:auto!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    backdrop-filter:none!important;
  }
  .auth-fab{
    height:40px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:0!important;
    padding:0 9px!important;
    background:#ffffff!important;
    border:1px solid rgba(255,255,255,.45)!important;
    border-radius:999px!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
    color:#111827!important;
  }
  .auth-fab::before,.auth-fab::after{
    content:"|";
    color:#94a3b8;
    font-weight:900;
    font-size:1rem;
    line-height:1;
  }
  .auth-fab .fab-main{display:none!important;}
  .auth-fab .fab-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 8px!important;
    margin:0!important;
    background:transparent!important;
    color:#111827!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    font-size:.84rem!important;
    font-weight:900!important;
    line-height:1!important;
    text-transform:none!important;
  }
  .auth-fab .fab-btn.login::after{content:"";}
  .auth-fab .fab-btn.register{color:#f59e0b!important;}
  .auth-fab .fab-btn.register::before{content:"Signin";font-size:.84rem;font-weight:900;}
  .auth-fab .fab-btn.register{font-size:0!important;}

  .hero{
    padding:118px 18px 48px!important;
    gap:28px!important;
    min-height:auto!important;
  }
  .hero-content h1{font-size:clamp(2rem,9vw,2.75rem)!important;line-height:1.08!important;}
  .hero-content p{font-size:.98rem!important;line-height:1.7!important;}
  .hero-buttons{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .hero-buttons a{width:100%!important;justify-content:center!important;text-align:center!important;}
  .hero-image img{width:100%!important;border-radius:24px!important;}
  section{padding-left:18px!important;padding-right:18px!important;}
  .features-grid,.editor-grid,.project-grid,.testimonial-grid,.steps,.trust-stats,.showcase-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .cta{border-radius:0!important;}
}

@media(max-width:420px){
  .navbar{padding:0 10px!important;}
  .navbar .logo span{font-size:1rem!important;}
  .auth-fab{height:38px!important;padding:0 7px!important;}
  .auth-fab .fab-btn{font-size:.78rem!important;padding:0 6px!important;}
  .auth-fab .fab-btn.register::before{font-size:.78rem!important;}
  .hamburger{width:38px!important;height:38px!important;min-width:38px!important;}
}
