/*
 * Lubelskie Wycena — odświeżenie 2026
 * Warstwa bezpiecznych nadpisań dla szablonu CDX.
 * Nie zmienia treści strony ani danych SP Page Builder.
 */

:root {
  --gw-navy: #1d3157;
  --gw-navy-deep: #142441;
  --gw-gold: #edc883;
  --gw-gold-dark: #caa661;
  --gw-ink: #202838;
  --gw-muted: #5d6674;
  --gw-surface: #ffffff;
  --gw-surface-soft: #f5f6f8;
  --gw-border: rgba(29, 49, 87, .14);
  --gw-shadow: 0 14px 36px rgba(14, 27, 51, .10);
  --gw-radius: 6px;
}

html { scroll-behavior: smooth; }
body {
  color: var(--gw-ink);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Dostępność */
.gw-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 10050;
  padding: 10px 14px;
  transform: translateY(-150%);
  background: var(--gw-gold);
  color: var(--gw-navy-deep);
  font-weight: 700;
  text-decoration: none;
  border-radius: 3px;
}
.gw-skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--gw-gold) !important;
  outline-offset: 3px;
}

/* Nagłówek i menu */
.top-header {
  padding: 10px 0;
  transition: background-color .2s ease, box-shadow .2s ease, padding .2s ease;
}
.top-header .top-logo,
.menu-fixed .top-logo { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.logo { max-width: 460px !important; }
.logo img { width: 360px !important; height: auto !important; max-height: none !important; max-width: 100% !important; object-fit: contain; }
.mod-menu li a {
  font-size: 14px;
  font-weight: 550;
  letter-spacing: .035em;
  text-transform: uppercase;
  padding: 12px 11px;
}
.mod-menu li a::after {
  content: "";
  position: absolute;
  left: 11px;
  right: 11px;
  bottom: 6px;
  height: 1px;
  background: var(--gw-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}
.mod-menu li:hover > a::after,
.mod-menu .active > a::after { transform: scaleX(1); }
.menu-fixed {
  background: rgba(20, 36, 65, .97);
  border-bottom: 1px solid rgba(237, 200, 131, .32);
  backdrop-filter: blur(10px);
}
.menu-fixed .mod-menu li a { color: #fff; }
.menu-fixed .mod-menu li:hover > a,
.menu-fixed .mod-menu .active > a { color: var(--gw-gold) !important; }

/* Pasek danych zawodowych — bez ingerencji w tekst strony */
.gw-credentials {
  position: relative;
  z-index: 20;
  background: var(--gw-navy-deep);
  color: #fff;
  border-top: 1px solid rgba(237, 200, 131, .28);
  border-bottom: 1px solid rgba(237, 200, 131, .28);
}
.gw-credentials__inner {
  width: calc(100% - 40px);
  max-width: 1260px;
  margin: 0 auto;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
}
.gw-credentials__item {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 22px;
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: .03em;
  border-right: 1px solid rgba(255,255,255,.18);
}
.gw-credentials__item:last-child { border-right: 0; }
.gw-credentials__item i { color: var(--gw-gold); margin-right: 8px; }
.gw-credentials a { color: #fff; text-decoration: none; }
.gw-credentials a:hover { color: var(--gw-gold); }

/* Stałe, dyskretne akcje kontaktowe */
.gw-floating-actions {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 2500;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gw-floating-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--gw-navy-deep);
  color: #fff !important;
  border: 1px solid rgba(237,200,131,.56);
  border-radius: 3px;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none !important;
  transition: transform .2s ease, background .2s ease;
}
.gw-floating-action:hover { transform: translateY(-2px); background: var(--gw-navy); }
.gw-floating-action i { color: var(--gw-gold); }

/* Ogólna hierarchia sekcji SP Page Builder */
.sp-page-builder .sppb-section { position: relative; }
.sp-page-builder .sppb-section:not(:first-child) { scroll-margin-top: 95px; }
.sp-page-builder .sppb-container { max-width: 1240px; }
.sp-page-builder h1,
.sp-page-builder h2,
.sp-page-builder h3 { letter-spacing: .01em; }
.sp-page-builder p { line-height: 1.72; }

/* Pierwszy ekran — zachowanie oryginalnej geometrii szablonu */
.sp-page-builder .sppb-section:first-child .sppb-btn,
.sp-page-builder .sppb-section:first-child a[class*="btn"] {
  border-radius: 2px !important;
  min-height: 46px;
  padding: 12px 24px !important;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.sp-page-builder .sppb-section:first-child .sppb-btn:hover,
.sp-page-builder .sppb-section:first-child a[class*="btn"]:hover { transform: translateY(-2px); }

/* Karty, bloki i grafiki */
.sppb-addon-feature,
.sppb-addon-person,
.sppb-addon-testimonial,
.gw-card {
  border: 1px solid var(--gw-border);
  border-radius: var(--gw-radius) !important;
  box-shadow: 0 7px 22px rgba(14,27,51,.06);
}
.sppb-addon-feature { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.sppb-addon-feature:hover {
  transform: translateY(-4px);
  border-color: rgba(202,166,97,.5);
  box-shadow: var(--gw-shadow);
}
.sppb-addon img { max-width: 100%; height: auto; }

/* Formularze */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
select, textarea, .sppb-form-control {
  min-height: 48px;
  border: 1px solid #cbd0d8 !important;
  border-radius: 3px !important;
  background: #fff !important;
  color: var(--gw-ink) !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
textarea, textarea.sppb-form-control { min-height: 130px; }
input:focus, select:focus, textarea:focus, .sppb-form-control:focus {
  border-color: var(--gw-gold-dark) !important;
  box-shadow: 0 0 0 3px rgba(237,200,131,.22) !important;
}
button[type="submit"], .sppb-btn-primary {
  border-radius: 2px !important;
  min-height: 48px;
  padding: 12px 24px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
}

/* Opinie i przyciski zaufania */
.gw-review-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border: 1px solid var(--gw-gold-dark);
  border-radius: 2px;
  color: var(--gw-navy-deep);
  background: #fff;
  font-weight: 700;
  text-decoration: none;
}
.gw-review-link:hover { background: var(--gw-gold); color: var(--gw-navy-deep); }

/* Stopka */
.stopka { border-top: 3px solid var(--gw-gold); }
.stopka a { transition: color .2s ease; }
.cdx { font-size: 13px; }

/* Mniejsze ekrany */
@media (max-width: 1024px) {
  .top-header { position: relative; background: var(--gw-navy-deep); }
  .top-header .top-logo { padding: 4px 16px; }
  .logo img { width: 300px !important; max-width: 100% !important; height: auto !important; }
  .men_res { background: var(--gw-navy-deep); border-bottom: 1px solid rgba(237,200,131,.3); }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(30px, 10vw, 42px); }
  h2 { font-size: clamp(26px, 8vw, 34px); }
  h3 { font-size: clamp(22px, 7vw, 28px); }
  .sp-page-builder .sppb-section { scroll-margin-top: 72px; }
  .sp-page-builder .sppb-row-container,
  .sp-page-builder .sppb-container { padding-left: 18px !important; padding-right: 18px !important; }
}


@media (max-width: 1024px) {
  .gw-credentials__inner { width: 100%; padding: 8px 12px; }
  .gw-credentials__item { padding: 5px 12px; border-right: 0; }
}

@media (max-width: 640px) {
  .gw-credentials__inner { justify-content: flex-start; }
  .gw-credentials__item { width: 100%; justify-content: flex-start; font-size: 12.5px; }
  .gw-floating-actions {
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .gw-floating-action {
    min-width: 0;
    padding: 10px 5px;
    font-size: 11px;
    gap: 5px;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Korekta kolejności górnych pasów i kotwic */
.gw-credentials { order: -10; }
#partnerzy { scroll-margin-top: 150px; }
@media (max-width: 1024px) {
  #partnerzy { scroll-margin-top: 110px; }
}

.sppb-addon-feature {
    border: none !important;
    box-shadow: none !important;
}
