:root {
  --bg: #f4f7ff;
  --bg-soft: #eef4ff;
  --text: #1b2b49;
  --muted: #4b5d7f;
  --brand: #2f63ff;
  --brand-2: #35a9ff;
  --card: #ffffff;
  --border: rgba(34, 72, 153, 0.14);
  --shadow: 0 14px 40px rgba(30, 69, 150, 0.1);
  --soft-shadow: 0 8px 24px rgba(38, 74, 151, 0.1);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  background: linear-gradient(140deg, #f9fbff 0%, #eef4ff 45%, #f5f9ff 100%);
  min-height: 100vh;
  line-height: 1.6;
}

:root {
  --header-top-offset: 0rem;
}

.site-header,
main,
footer {
  width: min(1410px, calc(100% - 1rem));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: var(--header-top-offset);
  z-index: 15;
  margin-top: 0.2rem;
  margin-left: auto;
  margin-right: auto;
  width: min(1410px, calc(100% - 1rem));
  padding: 0.75rem 1.2rem;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 16px;
  background: rgba(248, 252, 255, 0.8);
  box-shadow: var(--soft-shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.site-header > .btn-small {
  flex: 0 0 auto;
}

.corner-logo {
  display: none !important;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
}

.site-logo img {
  display: block;
  width: clamp(144px, 16vw, 200px);
  height: auto;
}

.menu-toggle {
  display: none;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 10px;
  width: 2.3rem;
  height: 2.3rem;
  color: var(--text);
}

.main-nav {
  display: flex;
  gap: 0.9rem;
  align-items: center;
  flex: 1;
  justify-content: center;
  min-width: 0;
}

.main-nav a,
.dropdown-toggle {
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
  padding: 0;
  font-size: 0.98rem;
}

.main-nav a:hover,
.dropdown-toggle:hover {
  color: var(--text);
}

.nav-dropdown {
  position: relative;
}

.dropdown-menu {
  position: absolute;
  top: 1.8rem;
  left: 0;
  min-width: 180px;
  padding: 0.6rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border);
  box-shadow: var(--soft-shadow);
  display: grid;
  gap: 0.4rem;
  opacity: 0;
  transform: translateY(5px);
  pointer-events: none;
  transition: 0.2s ease;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.dropdown-menu a {
  padding: 0.35rem 0.45rem;
  border-radius: 8px;
}

.dropdown-menu a:hover {
  background: var(--bg-soft);
}

.mobile-drawer {
  position: fixed;
  top: 0;
  right: -320px;
  width: min(82vw, 300px);
  height: 100vh;
  background: #fff;
  z-index: 30;
  box-shadow: -12px 0 36px rgba(15, 36, 78, 0.22);
  transition: right 0.24s ease;
  padding: 1rem;
}

.mobile-drawer.open {
  right: 0;
}

.drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.drawer-close {
  border: 0;
  background: transparent;
  font-size: 1.2rem;
}

.drawer-nav {
  margin-top: 1rem;
  display: grid;
  gap: 0.8rem;
}

.drawer-nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 25;
  background: rgba(12, 28, 66, 0.25);
}

main {
  padding-top: 2.4rem;
}

.hero {
  position: relative;
  margin-top: -0.35rem;
  border-radius: 24px;
  overflow: hidden;
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  align-items: center;
  gap: clamp(1.2rem, 2.6vw, 2.8rem);
  padding: clamp(1.3rem, 2.4vw, 2.2rem);
  background: linear-gradient(135deg, #f3f8ff 0%, #edf4ff 44%, #e8f1ff 100%);
  box-shadow: var(--shadow);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.58), rgba(233, 242, 255, 0.22));
}

.hero::after {
  content: "";
  grid-column: 2;
  align-self: stretch;
  min-height: 420px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  background-image: linear-gradient(140deg, rgba(246, 250, 255, 0.16), rgba(227, 238, 255, 0.24));
  background-size: cover;
  background-position: center;
  box-shadow: 0 12px 30px rgba(31, 70, 148, 0.13);
  z-index: 1;
}

.hero-content {
  position: relative;
  grid-column: 1;
  max-width: 640px;
  padding: clamp(0.5rem, 1.2vw, 1rem) 0;
  text-align: left;
  z-index: 2;
}

.tag {
  display: inline-block;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: rgba(47, 99, 255, 0.12);
  border: 1px solid rgba(47, 99, 255, 0.28);
  color: #1e4ab8;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

h1,
h2,
h3 {
  line-height: 1.15;
  margin: 0;
}

h1 {
  font-size: clamp(2rem, 5vw, 3.6rem);
  margin: 1rem auto;
  max-width: 12ch;
}

.hero h1,
.hero-content h1 {
  font-size: clamp(2.5rem, 4.4vw, 4.6rem);
  line-height: 1.03;
  margin: 0.95rem 0 0.85rem;
  max-width: 13ch;
}

.hero-dynamic-line {
  display: block;
  max-width: 58ch;
  min-height: 2.8em;
  margin: 0.35rem 0 0.65rem;
  color: #1e4ab8;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  font-weight: 800;
  line-height: 1.25;
  opacity: 1;
  overflow-wrap: anywhere;
  transition: opacity 0.35s ease;
}

.hero-dynamic-line.is-fading {
  opacity: 0;
}

.hero-trust-line {
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 700;
}

.subtitle,
.card p,
.about p,
.contact p,
.section-list,
.cards .card ul,
.stats p {
  color: var(--muted);
}

.hero-actions {
  margin-top: 1.35rem;
  display: flex;
  justify-content: flex-start;
  gap: 0.9rem 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.hero .subtitle {
  max-width: 56ch;
  margin: 0;
}

.hero .btn {
  min-width: 210px;
}


@media (min-width: 981px) {
  .hero::after {
    /* Hero изображението се сменя тук: качете локалния WebP файл в /assets/images/. */
    background-image: linear-gradient(140deg, rgba(246, 250, 255, 0.16), rgba(227, 238, 255, 0.24)),
      url("/assets/images/online-schetovodstvo-firmi-bulgaria.webp"),
      url("https://images.unsplash.com/photo-1554224154-26032ffc0d07?auto=format&fit=crop&w=1400&q=80");
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-dynamic-line {
    transition: none;
  }
}

.btn {
  text-decoration: none;
  color: #ffffff;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  padding: 0.8rem 1.35rem;
  border-radius: 12px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 48px;
  min-width: 230px;
  border: 0;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(34, 90, 200, 0.22);
}

.btn-ghost {
  background: rgba(255, 255, 255, 0.82);
  color: var(--text);
  border: 1px solid var(--border);
}

.btn-small {
  padding: 0.55rem 0.9rem;
  min-height: 40px;
  min-width: 132px;
  flex-shrink: 0;
}

.stats,
.cards {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.cards > .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.services-grid,
.landing-cards,
.blog-cards {
  align-items: stretch;
}

.card .btn,
.card .card-action {
  margin-top: auto;
}

.stats article,
.card,
.about,
.contact,
.testimonial-card,
.faq-item,
.cta-strip {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
}

.stats article,
.card,
.testimonial-card,
.faq-item {
  padding: 1.15rem;
}

.service-card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  color: inherit;
  text-decoration: none;
}

.service-card > div {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.service-card .hero-actions {
  margin-top: auto;
  padding-top: 1rem;
}

.service-card .btn,
.service-card .tool-status {
  align-self: flex-start;
}

.service-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
}

.cards .card ul {
  margin: 0.7rem 0 0;
  padding-left: 1.15rem;
}

.cards .card li {
  margin-bottom: 0.4rem;
}

.cta-strip {
  margin-top: 2rem;
  padding: 1rem 1.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.about,
.process,
.services,
.testimonials,
.faq,
.nationwide,
.contact {
  margin-top: 2rem;
}

.process .cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-heading {
  max-width: 780px;
  margin-bottom: 1rem;
}

.section-heading p {
  margin: 0.55rem 0 0;
  color: var(--muted);
}

.section-actions {
  margin-top: 1rem;
}

.nationwide {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
  padding: 1.5rem;
}

.nationwide h2 {
  margin-bottom: 0.8rem;
}

.nationwide h3 {
  margin-top: 1.1rem;
  margin-bottom: 0.7rem;
}

.nationwide ul {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--muted);
}

.nationwide-benefits {
  margin-top: 1rem;
  font-weight: 700;
  color: #234fbb;
}

.about {
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 1.5rem;
  align-items: center;
}

.about h2 {
  margin-top: 0.7rem;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
}


.about-visual {
  min-height: 100%;
}

.about-visual img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(22, 47, 97, 0.18);
}

.about ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.7rem;
  font-weight: 600;
}

.process h2,
.services h2,
.testimonials h2,
.faq h2 {
  margin-bottom: 1rem;
}

.testimonials {
  text-align: center;
}

.testimonial-track {
  position: relative;
}

.testimonial-slide {
  display: none;
}

.testimonial-slide.is-active {
  display: block;
}

.testimonial-text {
  margin: 0;
  font-size: 1.1rem;
}

.testimonial-meta {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.testimonial-name {
  font-weight: 800;
}

.testimonial-stars {
  color: #f5b301;
  font-weight: 900;
}

.testimonial-nav {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}

.faq-list {
  display: grid;
  gap: 0.8rem;
}

.faq-question {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.faq-item.active .faq-answer {
  max-height: 220px;
}

.contact {
  margin-bottom: 2rem;
  padding: 1.5rem;
  text-align: center;
}

.contact .hero-actions {
  display: flex;
  justify-content: center;
}

.contact a {
  color: #1e5dce;
  text-decoration: none;
  font-weight: 700;
}

.contact a:hover {
  text-decoration: underline;
}

.quote-dialog {
  width: min(560px, calc(100% - 2rem));
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #ffffff;
  color: var(--text);
  max-height: calc(100vh - 32px);
  overflow: hidden;
  padding: 0;
}

.quote-dialog::backdrop {
  background: rgba(14, 30, 68, 0.28);
}

.quote-form {
  display: grid;
  gap: 0.9rem;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  padding: 1.2rem;
}

.quote-head {
  position: sticky;
  top: -1.2rem;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: -1.2rem;
  padding-top: 1.2rem;
  background: #fff;
}

.close-btn {
  border: 1px solid var(--border);
  border-radius: 10px;
  width: 2rem;
  height: 2rem;
  background: #fff;
  color: var(--text);
  cursor: pointer;
}

.quote-form label {
  display: grid;
  gap: 0.35rem;
  font-weight: 600;
  color: #27426f;
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  border: 1px solid #b6c9ec;
  border-radius: 10px;
  padding: 0.6rem 0.7rem;
  font: inherit;
  color: var(--text);
  background: #f9fbff;
}

.form-note {
  min-height: 1.2rem;
  margin: 0;
  color: #238454;
  font-weight: 600;
}

footer {
  padding-bottom: 1.2rem;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 1120px) {
  .site-logo img {
    width: clamp(118px, 17vw, 160px);
  }

  .main-nav {
    gap: 0.7rem;
  }

  .main-nav a,
  .dropdown-toggle {
    font-size: 0.92rem;
  }

  .btn-small {
    min-width: 118px;
    padding-inline: 0.75rem;
  }
}

@media (max-width: 980px) {
  .site-header {
    padding-inline: 0.85rem;
  }

  .site-logo img {
    width: clamp(108px, 21vw, 144px);
  }

  .corner-logo {
    display: none;
  }

  .stats,
  .cards,
  .services-grid,
  .about {
    grid-template-columns: 1fr;
  }

  .process .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cta-strip {
    flex-direction: column;
    text-align: center;
  }

  .hero-actions {
    gap: 0.7rem;
  }

  .hero-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 1rem;
    padding: 1.2rem;
  }

  .hero::after {
    display: none;
  }

  .hero-content {
    max-width: 100%;
    text-align: center;
    padding: 1rem 0.3rem;
  }

  .hero .subtitle,
  .hero-trust-line {
    margin-inline: auto;
  }

  .hero-dynamic-line {
    margin-inline: auto;
  }

  .hero h1,
  .hero-content h1 {
    font-size: clamp(2.15rem, 7.2vw, 3.3rem);
    margin-inline: auto;
    max-width: 12ch;
  }

  .hero-actions {
    justify-content: center;
  }

  .about-visual img {
    min-height: 220px;
  }
}

@media (max-width: 640px) {
  .site-logo img {
    width: clamp(96px, 27vw, 118px);
  }

  .site-header {
    padding-inline: 0.75rem;
  }

  .main-nav {
    display: none;
  }

  .menu-toggle {
    display: inline-grid;
    place-items: center;
  }

  .process .cards,
  .services-grid {
    grid-template-columns: 1fr;
  }

  .hero h1,
  .hero-content h1 {
    font-size: clamp(1.9rem, 8.5vw, 2.5rem);
    line-height: 1.08;
  }

  .hero-dynamic-line {
    min-height: 3.1em;
    font-size: clamp(1.05rem, 4.4vw, 1.2rem);
  }
}

.review-cta {
  max-width: 880px;
  margin: 28px auto 0;
  padding: 0 14px;
}

.review-cta__title {
  text-align: center;
  font-size: 22px;
  margin: 0 0 12px;
}

.review-cta__button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #d9e1ef;
  background: #fff;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
  transition: transform 0.08s ease, box-shadow 0.2s ease;
}

.review-cta__button:hover {
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.review-cta__button:active {
  transform: translateY(1px);
}

.review-cta__icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eef4ff;
  font-size: 18px;
  flex: 0 0 auto;
}

.review-cta__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  text-align: left;
  flex: 1 1 auto;
}

.review-cta__sub {
  font-size: 12px;
  color: #667;
  font-weight: 500;
}

.review-cta__chev {
  font-size: 18px;
  color: #2f6fed;
  transition: transform 0.2s ease;
}

.review-cta__button[aria-expanded="true"] .review-cta__chev {
  transform: rotate(180deg);
}

.review-cta__panel {
  margin-top: 12px;
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
}

.review-cta__panel.is-collapsed {
  display: none;
}

.review-form .row { display:flex; flex-direction:column; gap:6px; margin:10px 0; }
.review-form input, .review-form select, .review-form textarea {
  border:1px solid #d9e1ef; border-radius:10px; padding:10px 12px; font: inherit;
}
.review-msg { margin: 10px 0 0; font-weight:700; }
.review-note { margin: 8px 0 0; color:#667; font-size:12px; }

.muted {
  color: var(--muted);
}

.blog-lead {
  color: #3a4d72;
  font-size: 1.05rem;
}

/* Blog module (SEO pages) */
.blog-layout {
  width: min(1040px, calc(100% - 2rem));
  margin: 2rem auto 3rem;
}

.blog-layout--article {
  width: min(880px, calc(100% - 2rem));
}

.blog-layout--article .hero {
  margin-bottom: 1rem;
  grid-template-columns: minmax(0, 1fr);
}

.blog-layout--article .hero .hero-content {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}

.blog-layout--article .hero h1 {
  font-size: clamp(2rem, 3.6vw, 3rem);
}

.blog-layout--article .hero::after {
  display: none;
}

.blog-hero {
  min-height: 360px;
}

.blog-cards {
  padding-top: 24px;
}

.blog-search-card {
  grid-column: 1 / -1;
}

.blog-search-form {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.blog-search-input {
  flex: 1 1 260px;
  border: 1px solid #d9e1ef;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
}

.blog-card-actions {
  justify-content: flex-start;
  gap: 12px;
  margin-top: auto;
  padding-top: 1rem;
}

.blog-pagination-strip {
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.blog-header {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: var(--soft-shadow);
  padding: clamp(1.2rem, 2vw, 2rem);
  margin-bottom: 1.25rem;
}

.blog-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: stretch;
}

.blog-card,
.blog-article-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
  padding: 1.1rem 1.2rem;
  color: var(--text);
  text-decoration: none;
}

.blog-card:hover {
  transform: translateY(-2px);
  transition: transform 0.2s ease;
}

.blog-card h2,
.blog-card h3 {
  margin: 0.35rem 0;
  font-size: 1.1rem;
}

.blog-card p {
  margin: 0.3rem 0;
}

.blog-card__date,
.blog-date {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.blog-content {
  margin-top: 1rem;
}

.blog-content h2,
.blog-content h3 {
  margin-top: 1.25rem;
}

.blog-related {
  margin-top: 1.1rem;
}

.back-link {
  display: inline-block;
  margin-bottom: 0.9rem;
  color: #1e4ab8;
  text-decoration: none;
  font-weight: 700;
}
.blog-article h1 {
  font-size: 48px;
  line-height: 1.15;
  max-width: 1600px;
  margin: 0 0 40px 0;
}
.blog-article h1,
.blog-layout--article h1 {
  max-width: none !important;
  width: 100%;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.12;
}

.blog-article {
  max-width: 1120px;
}

.blog-layout--article {
  width: min(1040px, calc(100% - 2rem));
}

.blog-crumbs {
  font-size: 13px;
  color: #556070;
  margin-bottom: 10px;
}

.blog-crumbs a {
  color: inherit;
  text-decoration: none;
}

.blog-cover-image {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  background: #f3f6ff;
  border-radius: 14px;
}

.blog-date-spaced {
  margin-top: 14px;
}

.blog-faq-hint {
  margin-top: 18px;
  padding: 12px 14px;
  border: 1px solid #e7eef9;
  border-radius: 14px;
  background: #fbfcff;
  color: #556070;
  font-size: 13px;
}

.tools-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: stretch;
}
.calculator-cards {
  align-items: stretch;
}

.calculator-cards .service-card,
.calculator-cards .service-card > div {
  display: flex;
  flex-direction: column;
}

.calculator-cards .service-card > div {
  height: 100%;
}

.calculator-cards .btn {
  margin-top: auto;
  align-self: flex-start;
}

.tool-status {
  display: inline-block;
  margin-top: 0.6rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  color: var(--text);
  font-weight: 700;
  font-size: 0.85rem;
}

.service-card .tool-status {
  margin-top: auto;
}

.tool-disclaimer {
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
}

.calculator-layout { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; padding:1rem 5vw 2rem; }
.calculator-form label { display:block; margin-bottom:.75rem; font-weight:600; }
.calculator-form input, .calculator-form select { width:100%; margin-top:.35rem; padding:.6rem .7rem; border:1px solid #d0d7de; border-radius:10px; }
.calculator-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; }
.calculator-result-grid { display:grid; gap:.6rem; }
.calculator-result-grid > div { display:flex; justify-content:space-between; border-bottom:1px dashed #d7dce2; padding:.35rem 0; gap:1rem; }
.calculator-note { padding:0 5vw 1.5rem; }
.calculator-error { color:#b42318; background:#fee4e2; padding:.6rem .8rem; border-radius:10px; }
.calculator-muted { color:#5f6b7a; font-size:.95rem; }
.calculator-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.9rem; }
@media (max-width: 900px) { .calculator-layout { grid-template-columns:1fr; } }
.calculator-result-note { margin-top:.75rem; color:#5f6b7a; font-size:.95rem; }
.calculator-dynamic-group[hidden] { display:none; }
.calculator-periods { display:grid; gap:.7rem; margin:.35rem 0 .9rem; }
.calculator-period { border:1px solid #e2e8f0; border-radius:12px; padding:.75rem; background:#fbfcff; }
.calculator-period .calculator-row { align-items:end; }
.calculator-faq { padding:0 5vw 2rem; }
.calculator-faq .faq-list { grid-template-columns:1fr; }
.calculator-faq .faq-answer { max-height:none; overflow:visible; margin:.5rem 0 0; color:#5f6b7a; }
.calculator-links { display:flex; gap:.75rem; flex-wrap:wrap; padding:0 5vw 2rem; }
.required-mark { color:#b42318; }
@media (max-width: 640px) { .calculator-result-grid > div { display:block; } .calculator-result-grid > div span { display:block; margin-top:.2rem; } }
.calculator-form input[type="checkbox"] { width:auto; margin-right:.4rem; }

.calculator-result-grid strong, .calculator-result-grid span { overflow-wrap:anywhere; }
.calculator-table-wrap { overflow-x:auto; }
.calculator-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.calculator-table th, .calculator-table td { border-bottom:1px solid #d7dce2; padding:.55rem .45rem; text-align:left; vertical-align:top; }
.calculator-table th { color:#1f2a37; }
.calculator-table tfoot th { border-top:2px solid #d7dce2; }

.calculator-group { padding: 1rem 5vw 2rem; }
.calculator-group h2 { margin: 0 0 1rem; color: #12385f; }
.calculator-card-status .calculator-badge { display: inline-block; border-radius: 999px; font-size: .78rem; font-weight: 700; padding: .22rem .6rem; margin-bottom: .55rem; }
.calculator-card-status .calculator-badge.is-ready { color: #0f5f34; background: #e6f6ee; }
.calculator-card-status .calculator-badge.is-soon { color: #6b4b00; background: #fff4d6; }
.calculator-faq { padding: 1rem 5vw 2rem; }
.calculator-faq details { background: #fff; border: 1px solid #e1e7ef; border-radius: 14px; margin: .7rem 0; padding: .9rem 1rem; }

.calculator-index-intro { padding: 2rem 5vw 1rem; }
.calculator-index-panel { background: #fff; border: 1px solid #e1e7ef; border-radius: 18px; box-shadow: var(--soft-shadow); padding: 1.25rem; display: grid; gap: 1rem; }
.calculator-index-copy h2 { margin: .25rem 0 .5rem; color: #12385f; }
.calculator-index-copy p { margin: 0 0 .45rem; }
.calculator-search-wrap { display: grid; gap: .4rem; max-width: 560px; }
.calculator-search-wrap label { font-weight: 700; color: #12385f; }
.calculator-search-wrap input { width: 100%; min-height: 46px; border: 1px solid #d0d7de; border-radius: 12px; padding: .7rem .85rem; font: inherit; }
.calculator-category-nav { display: flex; flex-wrap: wrap; gap: .55rem; }
.calculator-category-nav a { display: inline-flex; align-items: center; min-height: 38px; padding: .45rem .75rem; border: 1px solid #cfe0f5; border-radius: 999px; background: #f6f9ff; color: #0f4c81; font-weight: 700; text-decoration: none; }
.calculator-category-nav a:hover { background: #eaf2ff; }
.calculator-no-results { margin: 1rem 5vw 0; padding: .9rem 1rem; border: 1px solid #dbe6f3; border-radius: 14px; background: #fff; color: #5f6b7a; }
.calculator-group { padding-top: 1.5rem; padding-bottom: 2.5rem; scroll-margin-top: 90px; }
.calculator-cards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: stretch; }
.calculator-cards .service-card { height: 100%; }
.calculator-cards .service-card > div { gap: .65rem; }
.calculator-cards .service-card p { margin-bottom: 1rem; }
.calculator-cards .btn,
.calculator-cards .calculator-disabled { margin-top: auto; align-self: flex-start; }
.calculator-disabled { cursor: default; background: #eef2f6; border-color: #d5dde8; color: #667085; box-shadow: none; }
.calculator-card-status.is-soon { background: #fbfcff; }
@media (min-width: 1180px) { .calculator-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px) { .calculator-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .calculator-index-intro { padding-top: 1.25rem; } .calculator-index-panel { padding: 1rem; } .calculator-cards { grid-template-columns: 1fr; } .calculator-category-nav a { flex: 1 1 auto; justify-content: center; text-align: center; } }

.eik-info-box,
.eik-success,
.eik-error {
  margin-top: .65rem;
  padding: .75rem .9rem;
  border-radius: 12px;
  border: 1px solid #d7dce2;
}
.eik-info-box { color: #12385f; background: #eef6ff; }
.eik-success { color: #0f5f34; background: #e6f6ee; border-color: #b7e4c7; }
.eik-error { color: #b42318; background: #fee4e2; border-color: #fecdca; }
.eik-company-card { display: grid; gap: .8rem; width: 100%; }
.eik-company-card__header { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.eik-company-card__header h3 { margin: 0; color: #12385f; }
.eik-section { border: 1px solid #d7dce2; border-radius: 12px; overflow: hidden; background: #fbfcff; }
.eik-section-header { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .9rem; border: 0; background: #f4f8fc; color: #12385f; font-weight: 700; cursor: pointer; }
.eik-section-toggle { font-size: 1.2rem; line-height: 1; }
.eik-section-body { padding: .85rem .9rem; }
.eik-section-body ul { margin: 0; padding-left: 1.2rem; }
.eik-print-button { white-space: nowrap; }
@media print {
  .site-header,
  .mobile-drawer,
  .drawer-backdrop,
  .calculator-form,
  .calculator-note,
  .calculator-faq,
  .cta-strip,
  footer,
  .eik-print-button { display: none !important; }
  .calculator-layout { display: block; padding: 0; }
  .calculator-result { box-shadow: none; border: 0; }
}

body[data-calculator="eik-bulstat-check"] #result-grid,
body[data-calculator="eik-bulstat-check"] #result-grid.calculator-result-grid,
body[data-calculator="eik-bulstat-check"] .calculator-result-grid.eik-result-grid {
  display: block !important;
  width: 100%;
}

body[data-calculator="eik-bulstat-check"] #result-grid > .eik-company-card {
  display: block !important;
  justify-content: initial !important;
  align-items: initial !important;
  gap: 0 !important;
  width: 100%;
  border-bottom: 0 !important;
  padding: 0 !important;
}

body[data-calculator="eik-bulstat-check"] .calculator-layout {
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  align-items: start;
  max-width: 1180px;
  margin: 0 auto;
}

body[data-calculator="eik-bulstat-check"] .calculator-result {
  min-width: 0;
}

body[data-calculator="eik-bulstat-check"] .eik-company-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid #e1e7ef;
}

body[data-calculator="eik-bulstat-check"] .eik-company-card__header h3 {
  margin: 0;
  font-size: 1.25rem;
}

body[data-calculator="eik-bulstat-check"] .eik-section {
  display: block !important;
  width: 100%;
  margin: 0 0 1rem;
  border: 1px solid #d7dce2;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

body[data-calculator="eik-bulstat-check"] .eik-section-header {
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1rem;
  border: 0;
  background: #244f8f;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}

body[data-calculator="eik-bulstat-check"] .eik-section-body {
  display: block;
  padding: 0;
  background: #fff;
}

body[data-calculator="eik-bulstat-check"] .eik-data-table {
  display: block;
  width: 100%;
}

body[data-calculator="eik-bulstat-check"] .eik-data-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  width: 100%;
  border-bottom: 1px solid #e8edf5;
}

body[data-calculator="eik-bulstat-check"] .eik-data-row:last-child {
  border-bottom: 0;
}

body[data-calculator="eik-bulstat-check"] .eik-data-label,
body[data-calculator="eik-bulstat-check"] .eik-data-value {
  padding: .75rem .9rem;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}

body[data-calculator="eik-bulstat-check"] .eik-data-label {
  font-weight: 700;
  color: #1e4ab8;
  background: #f8fbff;
}

body[data-calculator="eik-bulstat-check"] .eik-data-value {
  color: #1b2b49;
}

body[data-calculator="eik-bulstat-check"] .eik-section-body ul {
  margin: 0;
  padding: .9rem 1.2rem .9rem 2rem;
}

body[data-calculator="eik-bulstat-check"] .eik-section-body li {
  margin-bottom: .35rem;
  overflow-wrap: break-word;
  word-break: normal;
}

body[data-calculator="eik-bulstat-check"] .eik-info-box {
  color: #664d03;
  background: #fff3cd;
  border-color: #ffecb5;
}

body[data-calculator="eik-bulstat-check"] .eik-success {
  color: #0f5f34;
  background: #e6f6ee;
  border-color: #b7e4c7;
}

body[data-calculator="eik-bulstat-check"] .eik-error {
  color: #b42318;
  background: #fee4e2;
  border-color: #fecdca;
}

@media (max-width: 900px) {
  body[data-calculator="eik-bulstat-check"] .calculator-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body[data-calculator="eik-bulstat-check"] .eik-data-row {
    grid-template-columns: 1fr;
  }

  body[data-calculator="eik-bulstat-check"] .eik-data-label {
    padding-bottom: .25rem;
  }

  body[data-calculator="eik-bulstat-check"] .eik-data-value {
    padding-top: .25rem;
  }

  body[data-calculator="eik-bulstat-check"] .eik-company-card__header {
    align-items: flex-start;
    flex-direction: column;
  }
}

.dropdown-menu-wide {
  min-width: 260px;
}

.landing-hero h1 {
  max-width: 14ch;
}

.landing-section {
  margin-top: 2rem;
}

.landing-intro {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
  padding: 1.5rem;
}

.landing-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards,
.landing-cards,
.services-grid,
.blog-cards,
.tools-grid,
.calculator-cards {
  align-items: stretch;
}

.cards > .card,
.landing-cards > .card,
.services-grid > .card,
.blog-cards > .card,
.tools-grid > .card,
.calculator-cards > .card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.cards > .card h3,
.landing-cards > .card h3,
.services-grid > .card h3,
.blog-cards > .card h3,
.tools-grid > .card h3,
.calculator-cards > .card h3 {
  margin-top: 0;
}

.cards > .card p:first-child,
.landing-cards > .card p:first-child {
  margin-top: 0;
}

.cards > .card p:last-child,
.landing-cards > .card p:last-child {
  margin-bottom: 0;
}

.landing-two-column {
  margin-top: 2rem;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
}

.landing-two-column > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.landing-two-column .tag {
  margin: 0 0 0.75rem;
}

.landing-two-column h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
}

.landing-two-column ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
  font-weight: 600;
}

.landing-two-column li {
  margin: 0;
}

.landing-links {
  align-items: flex-start;
}

.landing-links p {
  margin: 0.35rem 0 0;
  color: var(--muted);
}

.landing-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-end;
}

.landing-link-list a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #ffffff;
  color: #1e5dce;
  text-decoration: none;
  font-weight: 800;
}

.landing-link-list a:hover {
  background: var(--bg-soft);
}

@media (max-width: 980px) {
  .landing-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-two-column {
    grid-template-columns: 1fr;
  }

  .landing-link-list {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .landing-cards {
    grid-template-columns: 1fr;
  }

  .landing-links {
    text-align: center;
  }
}

/* Article content/SEO/UX components */
.blog-content .article-summary-box,
.blog-content .article-important-box,
.blog-content .article-example-box,
.blog-content .article-risk-box,
.blog-content .article-practical-steps-box,
.blog-content .article-cta-box,
.article-related-services,
.article-related-links,
.blog-content .article-faq {
  border: 1px solid rgba(47,111,237,.16);
  border-radius: 20px;
  padding: 20px;
  margin: 24px 0;
  background: linear-gradient(180deg,#ffffff,#f7faff);
  box-shadow: 0 12px 28px rgba(21,45,90,.08);
}
.blog-content .article-important-box { border-color: rgba(197,138,22,.28); background: #fffaf0; }
.blog-content .article-example-box { border-color: rgba(32,165,95,.24); background: #f1fff7; }
.blog-content .article-risk-box { border-color: rgba(226,67,67,.24); background: #fff5f5; }
.blog-content .article-practical-steps-box { border-color: rgba(47,111,237,.24); background: #f2f7ff; }
.blog-content .article-cta-box { background: linear-gradient(135deg,#102041,#1f4fb8); color:#fff; border:0; margin:36px 0; padding:24px; box-shadow:0 18px 42px rgba(21,45,90,.22); }
.blog-content .article-cta-box .btn { display:inline-flex; align-items:center; justify-content:center; margin:6px 8px 0 0; }
.blog-content .article-cta-box h2,
.blog-content .article-cta-box h3,
.blog-content .article-cta-box p { color:#fff; }
.blog-content .article-cta-box a,
.article-cta-button { color:#fff; font-weight:900; text-decoration:underline; }
.blog-content .article-updated { color:#627089; font-size:14px; margin:18px 0; }
.blog-content .article-table-wrapper { overflow-x:auto; margin:22px 0; border-radius:16px; border:1px solid #e2e8f8; }
.blog-content .article-table-wrapper table { min-width:620px; margin:0; }
.article-related-links ul { margin:10px 0 0; padding-left:20px; }
.article-related-links a { font-weight:800; }
.article-related-services__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:12px; }
.article-related-services__card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid rgba(47,111,237,.18); border-radius:16px; background:#fff; color:#102041; font-weight:900; text-decoration:none; box-shadow:0 10px 24px rgba(21,45,90,.07); }
.article-related-services__card::after { content:'→'; color:#2f6fed; font-weight:900; }
.article-related-services__card:hover { transform:translateY(-1px); border-color:rgba(47,111,237,.36); box-shadow:0 14px 30px rgba(21,45,90,.11); }
.blog-content .article-faq h2 { margin-top:0; }
@media (max-width: 700px) {
  .blog-content .article-summary-box,
  .blog-content .article-important-box,
  .blog-content .article-example-box,
  .blog-content .article-risk-box,
  .blog-content .article-practical-steps-box,
  .blog-content .article-cta-box,
  .article-related-services,
  .article-related-links,
  .blog-content .article-faq { padding:16px; border-radius:16px; margin:18px 0; }
  .blog-content .article-cta-box { padding:18px; margin:28px 0; }
  .blog-content .article-cta-box .btn { width:100%; margin:8px 0 0; }
}

.homepage-conversion-block {
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.4rem;
  align-items: center;
  background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 100%);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: var(--soft-shadow);
}

.homepage-conversion-block h2 {
  margin: 0.55rem 0 0.55rem;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.15;
}

.homepage-conversion-block p {
  margin: 0;
  max-width: 72ch;
}

.homepage-conversion-block__benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.homepage-conversion-block__benefits li {
  position: relative;
  padding-left: 1.45rem;
  font-weight: 700;
  color: #27426f;
}

.homepage-conversion-block__benefits li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #238454;
}

.homepage-conversion-block__actions {
  display: grid;
  gap: 0.75rem;
  min-width: min(100%, 280px);
}

.mobile-sticky-cta {
  display: none;
}

.quote-subtitle {
  margin: -0.35rem 0 0.1rem;
  color: var(--muted);
  font-weight: 600;
}

@media (max-width: 980px) {
  .homepage-conversion-block {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .homepage-conversion-block p {
    margin-inline: auto;
  }

  .homepage-conversion-block__actions {
    width: 100%;
  }

  .homepage-conversion-block__actions .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .quote-dialog {
    max-height: calc(100vh - 128px);
    margin-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .quote-form {
    max-height: calc(100vh - 128px);
    padding-bottom: 1.4rem;
  }

  .mobile-sticky-cta {
    position: fixed;
    left: 0.65rem;
    right: 0.65rem;
    bottom: calc(0.65rem + env(safe-area-inset-bottom));
    z-index: 20;
    display: block;
    pointer-events: none;
  }

  .mobile-sticky-cta__inner {
    pointer-events: auto;
    padding: 0.65rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(15, 36, 78, 0.2);
    backdrop-filter: blur(10px);
  }

  .mobile-sticky-cta__inner p {
    margin: 0 0 0.45rem;
    color: #1e4ab8;
    font-size: 0.88rem;
    font-weight: 900;
    text-align: center;
  }

  .mobile-sticky-cta__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
  }

  .mobile-sticky-cta__button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 0.85rem;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    color: #fff;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
  }

  .mobile-sticky-cta__button--phone {
    background: #238454;
  }
}

@media (max-width: 640px) {
  .homepage-conversion-block__benefits {
    grid-template-columns: 1fr;
    text-align: left;
  }
}

@media print {
  .mobile-sticky-cta {
    display: none !important;
  }
}

.featured-articles-section,
.articles-hub-group {
  margin-top: 2rem;
}

.featured-articles-section {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--soft-shadow);
}

.featured-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.featured-article-card,
.articles-hub-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
  padding: 1.15rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--soft-shadow);
}

.featured-article-card h3,
.articles-hub-card h3 {
  margin: 0;
  color: var(--text);
}

.featured-article-card p,
.articles-hub-card p {
  margin: 0;
  color: var(--muted);
}

.featured-article-card .btn,
.articles-hub-card .btn {
  margin-top: auto;
  align-self: flex-start;
}

.articles-hub {
  display: block;
}

.articles-hub-group {
  padding: 1.35rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--soft-shadow);
}

.articles-hub-group h2 {
  margin-top: 0;
}

.articles-hub-cta {
  margin-top: 2rem;
}

footer a {
  color: var(--brand);
  font-weight: 700;
  text-decoration: none;
}

footer a:hover {
  text-decoration: underline;
}

@media (max-width: 980px) {
  .featured-articles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .featured-articles-section,
  .articles-hub-group {
    padding: 1rem;
  }

  .featured-articles-grid {
    grid-template-columns: 1fr;
  }

  .featured-article-card .btn,
  .articles-hub-card .btn {
    width: 100%;
  }
}
