/* ============================================================
   LD Statyba — shared site styles
   ============================================================ */

/* BRAND TOKENS */
:root {
  --clr-brand:        #ff9a00;
  --clr-brand-dark:   #e08800;
  --clr-brand-soft:   rgba(199,91,32,.08);
  --clr-brand-border: rgba(199,91,32,.25);
  --font-heading: 'Inter', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, sans-serif;
  --container-max: 1200px;
  --radius: 2px;
}

body { font-family: var(--font-body); padding:0 !important; margin:0 !important; }
section, div { margin-top:0 !important; margin-bottom:0 !important; }

/* ── NAV ─────────────────────────────────────────────────── */
.nav { position:sticky; top:0; z-index:200; }
.nav-hamburger { flex-shrink:0; font-size:28px !important; border-radius:0 !important; background:none !important; border:none !important; box-shadow:none !important; padding:0 !important; margin:0 !important; cursor:pointer; }

/* Vertical divider — full height of nav bar */
.nav-div { flex-shrink:0; width:1px; height:100%; background:rgba(255,255,255,.15); }

/* Nav links: zero gap, stretch to full nav height */
.nav-home .nav-links,
.nav-inner-page .nav-links { gap:0 !important; align-items:stretch !important; align-self:stretch !important; }

/* Per-link borders stretch full nav height, no rounded corners */
.nav-home .nav-link,
.nav-inner-page .nav-link { border-left:1px solid rgba(255,255,255,.12) !important; align-self:stretch !important; display:flex !important; align-items:center !important; padding-top:0 !important; padding-bottom:0 !important; padding-left:22px !important; padding-right:22px !important; border-radius:0 !important; }
.nav-home .nav-links .nav-link:last-child,
.nav-inner-page .nav-links .nav-link:last-child { border-right:1px solid rgba(255,255,255,.12) !important; }

/* Homepage floating dark nav */
.nav-home {
  background:rgba(10,15,25,.92) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 2px 20px rgba(0,0,0,.35) !important;
  left:80px !important;
  right:80px !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.nav-home .nav-inner {
  display:flex !important;
  align-items:center !important;
  padding:0 24px !important;
  height:56px !important;
  max-width:none !important;
}
.nav-home .nav-links {
  display:flex !important;
  gap:0 !important;
  margin:0 auto !important;
  position:static !important;
  transform:none !important;
}
.nav-home .nav-logo-text { color:white !important; flex-shrink:0; font-size:17px !important; font-weight:700 !important; }
.nav-home .nav-logo-text span { color:#ff9a00 !important; }
.nav-home .nav-hamburger { color:rgba(255,255,255,.8) !important; flex-shrink:0; margin-left:12px; }
.nav-home .nav-link {
  font-size:14px !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.6) !important;
  text-decoration:none !important;
  background:none !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  padding-left:22px !important;
  padding-right:22px !important;
  align-self:stretch !important;
  display:flex !important;
  align-items:center !important;
  border-radius:0 !important;
}
.nav-home .nav-link:hover,
.nav-home .nav-links .nav-link:hover,
.nav-home .nav-link.active {
  color:white !important;
  background:none !important;
  text-decoration:none !important;
}
.nav-home .nav-link::after,
.nav-home .nav-link::before { display:none !important; content:none !important; }
@media(max-width:860px) {
  .nav-home { top:12px !important; left:16px !important; right:16px !important; }
  .nav-home .nav-links { display:none !important; }
  .nav-home .ld-phone { display:none !important; }
  .nav-home .nav-hamburger { display:flex !important; margin-left:auto !important; }
  .nav-home .nav-inner > .nav-div:first-of-type { display:none !important; }
  .nav-home .nav-inner { padding-left:16px !important; padding-right:16px !important; }
}
@media(min-width:861px) {
  .nav-home .nav-hamburger { display:none !important; }
}

/* Fully owned phone CTA — DS .btn cannot interfere */
.ld-phone {
  display:inline-block !important;
  font-size:17px !important;
  font-weight:500 !important;
  color:#ff9a00 !important;
  text-decoration:none !important;
  background:none !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-left:24px;
  white-space:nowrap;
  letter-spacing:.01em;
  line-height:1;
}
.ld-phone:hover { color:white !important; }

/* Inner-page dark floating nav — same pill as homepage */
.nav-inner-page {
  position:fixed !important;
  top:16px; left:24px; right:24px;
  z-index:500;
  background:rgba(13,20,40,.94) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:0 2px 20px rgba(0,0,0,.35) !important;
  height:auto !important;
  padding:0 !important;
}
.nav-inner-page .nav-inner {
  display:flex !important;
  align-items:center !important;
  padding:0 24px !important;
  height:56px !important;
  max-width:none !important;
}
.nav-inner-page .nav-links {
  position:static !important;
  transform:none !important;
  display:flex !important;
  gap:0 !important;
  margin:0 auto !important;
}
.nav-inner-page .nav-logo-text { color:white !important; flex-shrink:0; }
.nav-inner-page .nav-logo-text span { color:#ff9a00 !important; }
.nav-inner-page .nav-link {
  font-size:14px; font-weight:400;
  color:rgba(255,255,255,.55) !important;
  text-decoration:none !important;
  background:none !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  padding-left:22px !important;
  padding-right:22px !important;
  align-self:stretch !important;
  display:flex !important;
  align-items:center !important;
  border-radius:0 !important;
}
.nav-inner-page .nav-link:hover,
.nav-inner-page .nav-links .nav-link:hover,
.nav-inner-page .nav-link.active {
  color:white !important;
  background:none !important;
  text-decoration:none !important;
}
.nav-inner-page .nav-link::after,
.nav-inner-page .nav-link::before { display:none !important; content:none !important; }
.nav-inner-page .nav-hamburger { color:rgba(255,255,255,.8); flex-shrink:0; margin-left:12px; }

/* push body content below fixed nav on inner pages */
.page-content { padding-top:88px; }

@media(max-width:860px) {
  .nav-inner-page { top:12px !important; left:16px !important; right:16px !important; }
  .nav-inner-page .nav-links { display:none !important; }
  .nav-inner-page .ld-phone { display:none !important; }
  .nav-inner-page .nav-hamburger { display:flex !important; margin-left:auto !important; }
  .nav-inner-page .nav-inner > .nav-div:first-of-type { display:none !important; }
  .nav-inner-page .nav-inner { padding-left:16px !important; padding-right:16px !important; }
}

/* logos */
.nav-logo-text {
  font-size:18px; font-weight:700; letter-spacing:.04em;
  color:var(--clr-ink); text-decoration:none;
  display:flex; align-items:center; gap:10px;
}
.nav-logo-text span { color:var(--clr-brand); }
.nav-logo-text-white { color:white; }
.nav-logo-text-white span { color:var(--clr-brand); }
.footer-logo-text {
  font-size:20px; font-weight:700; letter-spacing:.04em; color:white;
}
.footer-logo-text span { color:var(--clr-brand); }

/* ── MOBILE MENU ─────────────────────────────────────────── */
.mobile-menu {
  position:fixed; inset:0; background:var(--clr-white); z-index:999;
  opacity:0; pointer-events:none; transform:translateY(-8px);
  transition:opacity .25s, transform .25s;
  display:flex; flex-direction:column; padding:0 16px 32px;
}
.mobile-menu.open { opacity:1; pointer-events:all; transform:none; }
.mobile-menu-header {
  height:56px; display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--clr-line); flex-shrink:0;
}
.mobile-menu-links { display:flex; flex-direction:column; padding:24px 0; gap:0; flex:1; justify-content:center; }
.mobile-menu-link {
  font-size:28px; font-weight:300; color:var(--clr-ink-2);
  padding:16px 0; border-bottom:1px solid var(--clr-line);
  text-decoration:none; text-align:center;
}
.mobile-menu-link.active { color:var(--clr-brand); }
.mobile-menu-footer { display:flex; flex-direction:column; gap:12px; }
.mobile-menu-footer .btn { padding:20px !important; font-size:17px !important; height:auto !important; }
.mobile-menu-tel {
  text-align:center; padding:18px; font-size:18px; font-weight:500;
  color:var(--clr-ink-2); text-decoration:none;
  border:1px solid var(--clr-line); border-radius:var(--radius);
}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn { border-radius:var(--radius) !important; font-weight:500 !important; }
.btn-brand          { background:var(--clr-brand) !important; color:#fff !important; border-color:var(--clr-brand) !important; }
.btn-brand:hover    { background:var(--clr-brand-dark) !important; border-color:var(--clr-brand-dark) !important; color:#fff !important; }
.btn-warm           { background:var(--clr-brand) !important; color:#fff !important; border-color:var(--clr-brand) !important; }
.btn-warm:hover     { background:var(--clr-brand-dark) !important; border-color:var(--clr-brand-dark) !important; color:#fff !important; }

.btn-outline-brand,
.nav-cta {
  background:transparent !important;
  color:var(--clr-brand) !important;
  border:1px solid var(--clr-brand) !important;
}
.btn-outline-brand:hover,
.nav-cta:hover { background:var(--clr-brand) !important; color:#fff !important; }

/* ghost for dark backgrounds */
.btn-outline-white {
  display:inline-flex; align-items:center; gap:8px;
  padding:0 28px; height:48px; font-size:15px; font-weight:500;
  color:white; border:1px solid rgba(255,255,255,.4);
  background:transparent; text-decoration:none;
  border-radius:var(--radius); box-sizing:border-box;
  transition:background .2s, border-color .2s;
}
.btn-outline-white:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.7); }

.btn.btn-lg,
.btn-outline-white.btn-lg { height:52px; padding:0 32px; font-size:16px; }

/* ── FORM FIELDS ─────────────────────────────────────────── */
.field-wrap  { display:flex; flex-direction:column; gap:6px; }
.field-label {
  font-size:11px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--clr-ink-2);
}
.field-input {
  width:100%; padding:11px 14px; font-size:15px; font-family:var(--font-body);
  border:1px solid var(--clr-line); background:var(--clr-white); color:var(--clr-ink);
  outline:none; transition:border-color .2s; box-sizing:border-box;
  border-radius:var(--radius); appearance:none; -webkit-appearance:none;
}
.field-input:focus   { border-color:var(--clr-brand); }
.field-input::placeholder { color:var(--clr-muted, #aaa); }
.field-input.error   { border-color:#e05252; }
.field-select {
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:36px;
}
.field-textarea { resize:vertical; min-height:120px; }
.field-row  { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* ── STATS STRIP ─────────────────────────────────────────── */
.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { padding:36px 32px; border-right:1px solid rgba(255,255,255,.1); }
.stat-item:last-child { border-right:none; }
.stat-num { font-size:clamp(2rem,4vw,3rem); font-weight:300; color:white; line-height:1; margin-bottom:6px; }
.stat-label { font-size:13px; font-weight:300; color:rgba(255,255,255,.45); letter-spacing:.04em; }

/* ── FOOTER GRID ─────────────────────────────────────────── */
@media(max-width:768px){ .footer-grid { grid-template-columns:1fr 1fr !important; } }
@media(max-width:480px){ .footer-grid { grid-template-columns:1fr !important; } }
@media(max-width:900px){ .stats-strip { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .stats-strip { grid-template-columns:1fr; } .stat-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); } }

/* ── NAV CTA scrolled state ──────────────────────────────── */
@media(max-width:900px) {
  .nav-cta    { display:none !important; }
  .nav-hamburger { margin-left:auto; }
}
