/*
 * Kavenio CV v4.1.18.1 — Public Visual Polish
 * Visual-only late layer for the public/pre-account journey.
 * No product logic, ATS scoring, job-match scoring or Builder behavior lives here.
 */

:root {
  --v4181-gold: #f5c542;
  --v4181-gold-soft: #ffe58a;
  --v4181-ink: #f8fafc;
  --v4181-muted: #aeb9c8;
  --v4181-line: rgba(255,255,255,.11);
  --v4181-panel: rgba(12,19,34,.78);
  --v4181-panel-strong: rgba(9,15,29,.94);
  --v4181-shadow: 0 24px 70px rgba(0,0,0,.28);
}

/* ---------------------------------------------------------
   GLOBAL PUBLIC RHYTHM / HEADER HIERARCHY
--------------------------------------------------------- */
body.v418-premium-public {
  --v418-muted: #a7b3c4;
  --v418-soft: #d9e0e9;
}

.v418-premium-public :is(.topbar,.public-nav,.kv2-site-header__bar,.kvtool-header__inner,.auth-topbar,.resume-dashboard-header) {
  border-color: rgba(255,255,255,.13) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.v418-premium-public :is(.topnav a,.public-actions a,.kv2-site-nav__link,.kvtool-nav a) {
  font-size: .9rem !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
}

.v418-premium-public :is(.btn-primary,.public-actions .primary,.kv2-btn--primary,.kvtool-btn--primary,.auth-submit,.js-buy-package) {
  box-shadow: 0 11px 30px rgba(245,197,66,.20), inset 0 1px 0 rgba(255,255,255,.32) !important;
}

/* ---------------------------------------------------------
   LANDING — clearer hierarchy, less visual sameness
--------------------------------------------------------- */
.v418-landing .topbar {
  min-height: 68px !important;
  padding-block: 8px !important;
}
.v418-landing .topnav {
  padding: 4px !important;
  gap: 2px !important;
}
.v418-landing .topnav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding-inline: 13px !important;
  color: #b9c4d3 !important;
}
.v418-landing .brand-copy strong { font-size: 1rem !important; }
.v418-landing .brand-copy small { color: #8f9bae !important; }

.v418-landing .hero {
  min-height: min(760px, calc(100vh - 84px)) !important;
  padding-block: 58px 52px !important;
}
.v418-landing .hero h1 {
  max-width: 720px !important;
  margin-block: 20px 18px !important;
}
.v418-landing .hero-lead {
  color: #b4bfce !important;
  font-size: clamp(1.02rem,1.45vw,1.17rem) !important;
}
.v418-landing .hero-actions { margin-top: 27px !important; }
.v418-landing .trust-row {
  margin-top: 24px !important;
  color: #c3ccda !important;
  background: rgba(255,255,255,.032) !important;
}

.v418-landing .compact-stats {
  padding-block: 24px !important;
  gap: 14px !important;
  border-block-color: rgba(255,255,255,.075) !important;
}
.v418-landing .compact-stats article {
  min-height: 126px;
  padding: 22px 18px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.018)) !important;
}
.v418-landing .compact-stats strong {
  color: #f8fafc !important;
  font-size: clamp(1.75rem,2.5vw,2.2rem) !important;
}
.v418-landing .compact-stats span { color: #aeb9c8 !important; }
.v418-landing .compact-stats i { color: var(--v4181-gold-soft) !important; }

.v418-landing .templates.section,
.v418-landing .features.section.process-section,
.v418-landing .plans.section.plans-section,
.v418-landing .faq.section.faq-section {
  position: relative;
  isolation: isolate;
}

/* Alternate visual temperature between long dark sections. */
.v418-landing .templates.section::before,
.v418-landing .plans.section.plans-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 26px -26px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 38px;
  background:
    radial-gradient(circle at 86% 10%,rgba(245,197,66,.055),transparent 29%),
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
}
.v418-landing .features.section.process-section::before,
.v418-landing .faq.section.faq-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 28px -26px;
  border-radius: 38px;
  background:
    radial-gradient(circle at 8% 12%,rgba(79,123,255,.07),transparent 28%),
    linear-gradient(180deg,rgba(10,18,34,.74),rgba(8,14,27,.34));
}

.v418-landing .section-head { margin-bottom: 46px !important; }
.v418-landing .section-head h2 { max-width: 760px; margin-inline: auto !important; }
.v418-landing .section-head p { max-width: 680px; margin-inline: auto !important; color: #aeb9c8 !important; }
.v418-landing .process-grid p,
.v418-landing .template-card p,
.v418-landing .plan-card li,
.v418-landing .faq-grid p { color: #aeb9c8 !important; }
.v418-landing .process-grid h3,
.v418-landing .template-card h3,
.v418-landing .plan-card h3 { color: #f8fafc !important; }

.v418-landing .footer {
  margin-top: 30px !important;
  padding: 34px 18px 42px !important;
  border-top-color: rgba(255,255,255,.09) !important;
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg,rgba(8,13,25,.40),rgba(3,6,14,.72));
}
.v418-landing .footer p {
  color: #e6ebf2 !important;
  font-weight: 700;
}
.v418-landing .footer-links,
.v418-landing .footer-contact {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px 18px;
  margin-top: 14px;
}
.v418-landing .footer a {
  color: #aeb9c8 !important;
  font-size: .9rem;
  font-weight: 600 !important;
}
.v418-landing .footer small {
  margin-top: 17px !important;
  color: #7f8b9d !important;
  line-height: 1.8;
}

/* ---------------------------------------------------------
   ABOUT / CONTACT — more editorial and credible
--------------------------------------------------------- */
.v418-company .public-main { padding-top: clamp(68px,8vw,102px) !important; }
.v418-company .public-hero {
  max-width: 780px !important;
  margin-bottom: 34px !important;
}
.v418-company .public-hero h1 {
  font-size: clamp(2.45rem,4.5vw,4.35rem) !important;
}
.v418-company .public-hero p {
  max-width: 650px !important;
  color: #b0bbca !important;
  line-height: 1.9 !important;
}
.v418-company .public-card {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(30px,4.2vw,54px) !important;
  border-color: rgba(255,255,255,.105) !important;
  background:
    radial-gradient(circle at 92% 0%,rgba(245,197,66,.055),transparent 24%),
    linear-gradient(180deg,rgba(17,26,45,.82),rgba(8,13,25,.91)) !important;
  box-shadow: 0 30px 82px rgba(0,0,0,.32) !important;
}
.v418-company .public-card h2 {
  position: relative;
  padding-top: 28px !important;
  color: #f8fafc !important;
}
.v418-company .public-card h2:not(:first-child)::before {
  content: "";
  position: absolute;
  top: -1px;
  inset-inline-start: 0;
  width: 76px;
  height: 1px;
  background: linear-gradient(90deg,var(--v4181-gold),transparent);
}
html[dir="rtl"] .v418-company .public-card h2:not(:first-child)::before {
  background: linear-gradient(270deg,var(--v4181-gold),transparent);
}
.v418-company .public-card p {
  max-width: 820px;
  color: #b2bdcc !important;
  line-height: 2.05 !important;
}
.v418-company .contact-grid { gap: 16px !important; }
.v418-company .contact-item {
  min-height: 132px !important;
  border-radius: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.v418-company .contact-item strong { color: #f8fafc !important; }

.v418-company .public-footer {
  margin-top: 88px;
  padding-top: 48px !important;
}
.v418-company .public-footer-grid {
  row-gap: 34px !important;
}
.v418-company .public-footer-grid strong {
  color: #f8fafc !important;
  font-size: .98rem !important;
}
.v418-company .public-footer-grid p,
.v418-company .public-footer-grid a {
  color: #9facbd !important;
  font-size: .9rem !important;
  line-height: 1.75 !important;
}
.v418-company .footer-copy {
  color: #758195 !important;
  font-size: .82rem !important;
}

/* ---------------------------------------------------------
   LEGAL — premium reading surface, less stark white block
--------------------------------------------------------- */
.v418-legal .kv2-legal-main { padding-top: clamp(48px,6vw,72px) !important; }
.v418-legal .kv2-legal-hero {
  padding: clamp(28px,3.6vw,42px) !important;
  border-radius: 28px !important;
}
.v418-legal .kv2-legal-hero h1 {
  font-size: clamp(2.25rem,4vw,3.8rem) !important;
}
.v418-legal .kv2-legal-layout { margin-top: 24px !important; }
.v418-legal .kv2-legal-document {
  padding: clamp(32px,4vw,50px) !important;
  border: 1px solid rgba(222,207,167,.72) !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(245,197,66,.07),transparent 22%),
    linear-gradient(180deg,#fbfaf6 0%,#f4f5f7 100%) !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.28) !important;
}
.v418-legal .kv-legal-section {
  border-bottom-color: #dde2e8 !important;
  padding-bottom: 30px !important;
  margin-bottom: 30px !important;
}
.v418-legal .kv-legal-section h2,
.v418-legal .kv-legal-section h3 {
  color: #111827 !important;
  line-height: 1.45 !important;
}
.v418-legal .kv-legal-section p,
.v418-legal .kv-legal-section li {
  max-width: 78ch;
  color: #465366 !important;
  line-height: 1.95 !important;
}
.v418-legal .kv-legal-section a { color: #8b6508 !important; font-weight: 700; }
.v418-legal .kv2-legal-toc {
  border-radius: 20px !important;
  background: rgba(10,17,31,.88) !important;
}
.v418-legal .kv2-site-footer { margin-top: 72px !important; }
.v418-legal .kv2-site-footer__link { color: #9facbd !important; }

/* ---------------------------------------------------------
   ATS / JOB MATCH — bring the actual tool closer above fold
--------------------------------------------------------- */
.v418-tool .kvtool-page { padding-top: clamp(34px,4.5vw,54px) !important; }
.v418-tool .kvtool-hero {
  gap: clamp(22px,3.2vw,42px) !important;
  align-items: center !important;
  padding-bottom: 22px !important;
}
.v418-tool .kvtool-hero h1 {
  max-width: 700px !important;
  font-size: clamp(2.35rem,4.15vw,4rem) !important;
  line-height: 1.045 !important;
}
.v418-tool .kvtool-hero__lead {
  max-width: 690px !important;
  color: #b2bdcc !important;
  line-height: 1.82 !important;
}
.v418-tool .kvtool-hero__meta {
  padding: 9px !important;
  gap: 8px !important;
  border-radius: 21px !important;
}
.v418-tool .kvtool-meta-item {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border-radius: 15px !important;
}
.v418-tool .kvtool-meta-item strong { font-size: .91rem !important; }
.v418-tool .kvtool-meta-item span { color: #95a2b5 !important; font-size: .78rem !important; }
.v418-tool .kvtool-meta-icon { width: 38px !important; height: 38px !important; }
.v418-tool .kvtool-workbench {
  border-color: rgba(245,197,66,.21) !important;
  box-shadow: 0 30px 88px rgba(0,0,0,.34), 0 0 0 1px rgba(245,197,66,.035) inset !important;
}
.v418-tool .kvtool-workbench__head {
  padding-block: 17px !important;
  background: rgba(3,7,16,.18);
}
.v418-tool .dropzone {
  min-height: 290px !important;
}
.v418-tool .kvtool-trust {
  margin-top: 22px !important;
}

/* ---------------------------------------------------------
   AUTH / CHECKOUT — keep conversion surfaces focused
--------------------------------------------------------- */
.v418-auth .auth-card { box-shadow: 0 34px 90px rgba(0,0,0,.34) !important; }
.v418-auth .auth-card-info p { color: #b3becc !important; }
.v418-checkout .resume-dashboard-header.glass-dashboard-header {
  box-shadow: 0 18px 54px rgba(0,0,0,.25) !important;
}
.v418-checkout .pricing-card { box-shadow: 0 24px 70px rgba(0,0,0,.24) !important; }

/* ---------------------------------------------------------
   RESPONSIVE / MOBILE POLISH
--------------------------------------------------------- */
@media (max-width: 1020px) {
  .v418-landing .templates.section::before,
  .v418-landing .features.section.process-section::before,
  .v418-landing .plans.section.plans-section::before,
  .v418-landing .faq.section.faq-section::before {
    inset-inline: -14px;
  }

  .v418-tool .kvtool-hero {
    gap: 18px !important;
  }
  .v418-tool .kvtool-hero__meta {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 820px) {
  .v418-company .public-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .v418-tool .kvtool-page { padding-top: 28px !important; }
  .v418-tool .kvtool-hero { padding-bottom: 14px !important; }
  .v418-tool .kvtool-hero__meta { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .v418-tool .kvtool-meta-item {
    min-height: 64px !important;
    padding: 10px !important;
  }
  .v418-tool .kvtool-meta-icon { width: 34px !important; height: 34px !important; }
}

@media (max-width: 640px) {
  .v418-landing .topbar {
    min-height: 60px !important;
    border-radius: 18px !important;
  }
  .v418-landing .hero {
    padding: 36px 0 26px !important;
    gap: 24px !important;
  }
  .v418-landing .hero h1 {
    margin-block: 16px 14px !important;
    font-size: clamp(2.2rem,10.7vw,3.2rem) !important;
  }
  .v418-landing .hero-lead { line-height: 1.78 !important; }
  .v418-landing .hero-actions { margin-top: 20px !important; gap: 10px !important; }
  .v418-landing .trust-row { margin-top: 18px !important; padding: 12px 14px !important; }
  .v418-landing .compact-stats {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
    padding-block: 20px !important;
  }
  .v418-landing .compact-stats article {
    min-height: 104px;
    padding: 16px 12px !important;
  }
  .v418-landing .section { padding-block: 54px !important; }
  .v418-landing .templates.section::before,
  .v418-landing .features.section.process-section::before,
  .v418-landing .plans.section.plans-section::before,
  .v418-landing .faq.section.faq-section::before {
    inset: 16px -4px;
    border-radius: 26px;
  }
  .v418-landing .footer { padding-inline: 12px !important; }
  .v418-landing .footer-links,
  .v418-landing .footer-contact { gap: 8px 13px; }
  .v418-landing .footer a { font-size: .84rem; }

  .v418-company .public-main { padding-top: 48px !important; }
  .v418-company .public-hero { margin-bottom: 24px !important; }
  .v418-company .public-hero h1 { font-size: clamp(2.18rem,10vw,3rem) !important; }
  .v418-company .public-card { padding: 24px 20px !important; }
  .v418-company .public-card h2 { font-size: 1.2rem !important; }
  .v418-company .public-card p { font-size: .94rem !important; line-height: 1.95 !important; }
  .v418-company .public-footer { margin-top: 58px; padding-top: 34px !important; }
  .v418-company .public-footer-grid { grid-template-columns: 1fr !important; gap: 26px !important; }

  .v418-legal .kv2-legal-main { padding-top: 30px !important; }
  .v418-legal .kv2-legal-hero { padding: 23px 19px !important; }
  .v418-legal .kv2-legal-hero h1 { font-size: clamp(2rem,10vw,2.85rem) !important; }
  .v418-legal .kv2-legal-layout { margin-top: 16px !important; gap: 14px !important; }
  .v418-legal .kv2-legal-toc { padding: 9px !important; }
  .v418-legal .kv2-legal-document {
    padding: 25px 20px !important;
    border-radius: 22px !important;
  }
  .v418-legal .kv-legal-section { padding-bottom: 24px !important; margin-bottom: 24px !important; }
  .v418-legal .kv-legal-section p,
  .v418-legal .kv-legal-section li { font-size: .94rem !important; line-height: 1.9 !important; }

  /* Mobile acquisition: headline -> compact trust cues -> workbench without a long scroll. */
  .v418-tool .kvtool-page { padding-top: 22px !important; }
  .v418-tool .kvtool-hero { gap: 14px !important; padding-bottom: 10px !important; }
  .v418-tool .kvtool-hero h1 {
    font-size: clamp(2rem,9.7vw,2.85rem) !important;
    margin-block: 12px !important;
  }
  .v418-tool .kvtool-hero__lead {
    font-size: .94rem !important;
    line-height: 1.75 !important;
    margin-bottom: 2px !important;
  }
  .v418-tool .kvtool-hero__meta {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 18px !important;
  }
  .v418-tool .kvtool-meta-item {
    min-height: 72px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 8px 4px !important;
    text-align: center !important;
  }
  .v418-tool .kvtool-meta-icon { width: 30px !important; height: 30px !important; font-size: .8rem !important; }
  .v418-tool .kvtool-meta-item strong { font-size: .72rem !important; line-height: 1.3 !important; }
  .v418-tool .kvtool-meta-item span { display: none !important; }
  .v418-tool .kvtool-workbench { border-radius: 22px !important; }
  .v418-tool .kvtool-workbench__head { padding: 14px !important; }
  .v418-tool .dropzone { min-height: 240px !important; }

  .v418-auth .auth-card { margin-top: 20px !important; }
  .v418-auth .auth-card-form,
  .v418-auth .auth-card-info { padding: 24px 20px !important; }
}

@media (max-width: 390px) {
  .v418-landing .compact-stats { grid-template-columns: 1fr 1fr !important; }
  .v418-tool .kvtool-meta-item strong { font-size: .68rem !important; }
}
