/*!
Theme Name: xari-lutz
Theme URI: http://underscores.me/
Author: Xari Agency
Author URI: https://xari.com
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: xari-lutz
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

xari-lutz is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/


:root {
  /* Color Palette */
  --bg-primary: #f3f7fd;
  --bg-secondary: #ffffff;
  --bg-hero-subfooter: #0050d2;
  
  --color-text-primary: #001520;
  --color-blue-title: #2649a5;
  --color-red-untrr: #ed1f23;
  --color-green-highlight: #7bca64;
  --color-border: #dbdee4;
}

/* Base Document Settings */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-primary);
  color: var(--color-text-primary);
  font-family: 'Open Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Typography Rules */
h1 {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 63px;
  line-height: 1.3;
  color: var(--color-text-primary);
}

h2 {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 45px;
  line-height: 1.3;
  color: var(--color-text-primary);
}

h3, .h3-large {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.h3-small {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: var(--color-text-primary);
}

p {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-text-primary);
}

p.small {
  font-size: 11px;
  line-height: 1.5;
}

iframe {
  width: 100%;
  height: 400px;
}

ul, ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

li {
  margin-bottom: 0.5rem;
  line-height: 1.5;
}

a.el-btn {
    text-decoration:none;
}

/* Header Layout & Navigation Styling */
.site-header {
  width: 100%;
  background-color: var(--bg-secondary);
  box-shadow: 0 2px 10px rgba(0, 21, 32, 0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: padding 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.site-header.is-scrolled .header-container {
    padding: 5px 40px; /* Noul tău padding mai mic */
}

/* Logos Wrapper */
.header-logos {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-logos img {
  height: 45px;
  width: auto;
  display: block;
}

.header-logos a:last-child img {
    height: 35px;
}

/* Central Navigation Links */
.header-nav {
  display: flex;
  align-items: center;
  gap: 30px;
}

.header-nav .nav-link {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

.header-nav .nav-link:hover {
  color: var(--color-blue-title);
}

/* Actions Side (Phone & CTA Button) */
.header-actions {
  display: flex;
  align-items: center;
  gap: 25px;
}

.header-phone {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-text-primary);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
}

.phone-icon {
  fill: var(--color-text-primary);
  transform: scaleX(-1);
}

/* Primary RED Button Styling */
.btn-primary-red {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  text-transform: uppercase;
  color: #ffffff;
  background-color: var(--color-red-untrr);
  border: none;
  cursor: pointer;
  padding: 14px 28px;
  border-radius: 8px;
  letter-spacing: 0.5px;
  transition: transform 0.1s ease, background-color 0.2s ease;
}

.btn-primary-red:hover {
  background-color: #d61b1f; /* Deeper red for hover state */
}

.btn-primary-red:active {
  transform: scale(0.98);
}


/* ======================================================== */
/* HERO SECTION STYLES                                      -->
/* ======================================================== */

.hero-section {
  /* Radial Gradient mixing core brand blue with a slightly brighter mid-point */
  background: var(--bg-hero-subfooter);
  color: #ffffff;
  position: relative;
  overflow: hidden;
  padding-bottom: 80px;
}

.hero-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
}

/* Base styling for our glowing points */
.glow-point {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px); /* This creates the seamless faded effect */
  opacity: 0.85;
}

/* 1. Bottom-Left Bright Cyan Highlight */
.point-left {
  width: 40%;
  height: 80%;
  bottom: -20%;
  left: -10%;
  background: radial-gradient(circle, #00a8ff 0%, rgba(0, 168, 255, 0) 70%);
}

/* 2. Top-Center Soft Sky Blue Highlight */
.point-center {
  width: 50%;
  height: 70%;
  top: -10%;
  left: 35%;
  background: radial-gradient(circle, #0099ff 0%, rgba(0, 153, 255, 0) 70%);
  opacity: 0.6;
}

/* 3. Bottom-Right Subtle Cyan Accent */
.point-right {
    width: 55%;
    height: 80%;
    bottom: -35%;
    right: -15%;
    background: radial-gradient(circle, #00c6ff 0%, rgba(0, 198, 255, 0) 70%);
    opacity: 0.7;
}


/* Top Trust Bar */
.hero-top-bar {
  background-color: rgba(0, 21, 32, 0.3); /* Dark tinted overlay strip */
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-top-bar p {
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
}

.hero-top-bar span {
  margin-left: 15px;
  color: #ffffff;
  font-weight: 700;
}

/* Hero Content alignment */
.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 60px;
  z-index: 1;
  position: relative;
}

/* Mini Tag/Badge Styling */
.hero-badge {
  background-color: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 6px 16px;
  border-radius: 6px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 35px;
}

.badge-dot {
  width: 8px;
  height: 8px;
  background-color: var(--color-green-highlight);
  border-radius: 50%;
  display: inline-block;
}

/* Main Heading Variations */
.hero-content h1 {
  color: #ffffff;
  margin-bottom: 25px;
}

.underlined-text {
  position: relative;
  display: inline-block;
}

/* Absolute white bar under heading text fragment */
.underlined-text::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 100%;
  height: 3px;
  background-color: #ffffff;
}

/* Paragraph Content */
.hero-lead {
  max-width: 880px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 45px;
}

/* Actions Element Layout */
.hero-actions-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 60px;
  flex-wrap: wrap;
}

.hero-btn {
  padding: 16px 36px;
  border-radius: 6px;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.hub-cta-wrapper {
  text-align: center;
  margin-top: 32px;
}

/* Ghost outline variant button styling */
.btn-secondary-outline {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.btn-secondary-outline:hover {
  background-color: #ffffff;
  color: var(--bg-hero-subfooter);
  border-color: #ffffff;
}

.btn-secondary-outline-dark {
  background: transparent;
  color: #2649a5;
  border: 1px solid rgba(38, 73, 165, 1);
}

.btn-secondary-outline-dark:hover {
  background-color: #2649a5;
  color: #ffffff;
  border-color: #2649a5;
}

/* Interactive video element link */
.hero-video-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  text-decoration: none;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  padding: 12px 20px;
  transition: opacity 0.2s ease;
}

.hero-video-link:hover {
  opacity: 0.85;
}

.hero-video-link svg {
  fill: #ffffff;
}

/* Features Row Styling */
.hero-features-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 30px;
  width: 100%;
  max-width: 1100px;
}

.feature-item {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  gap: 6px;
}

.checkmark {
  color: var(--color-green-highlight);
  font-weight: 900;
  font-size: 16px;
}

/* ======================================================== */
/* FEATURES SECTION STYLES                                  */
/* ======================================================== */

.features-section {
  background-color: var(--bg-primary);
  padding: 80px 0;
}

.features-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
}

/* Header Highlight Styling wrapper layout */
.section-title-wrapper {
  display: flex;
  align-items: stretch;
  gap: 20px;
  margin-bottom: 25px;
}

.green-indicator-bar {
  width: 5px;
  background-color: var(--color-green-highlight);
  border-radius: 4px;
  flex-shrink: 0;
}

.section-title-wrapper h2 {
  color: var(--color-blue-title);
}

/* Feature Base Paragraph Content text */
.features-lead {
  max-width: 750px;
  margin-bottom: 50px;
  font-weight: 400;
  color: var(--color-text-primary);
}

/* Cards Flex/Grid Layout Box Setup */
.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* Card Module Component Wrapper rules */
.feature-card {
  background-color: var(--bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: 0 4px 12px rgba(0, 21, 32, 0.02);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 21, 32, 0.06);
}

/* Miniature Chip Tags styling inside module items */
.card-badge-tag {
  background-color: #eaf6e6; /* Soft green backdrop hue overlay */
  color: #51983c; /* Darker green for text readability compliance */
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

/* Card Section Typography adjustments */
.feature-card h3 {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: var(--color-text-primary);
  margin-bottom: 18px;
}

.card-desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-text-primary);
  margin-bottom: 25px;
  flex-grow: 1; /* Pushes solution text box uniformly to baseline */
}

/* Custom highlighted layout properties for specific brand result solution texts */
.card-solution {
  font-size: 14px;
  line-height: 1.5;
  border-top: 1px solid #f0f2f5;
  padding-top: 15px;
  color: var(--color-text-primary);
  width: 100%;
}

.card-solution strong {
  color: var(--color-blue-title);
  font-weight: 700;
}

/* Responsive adjustment adjustments for tablet or narrow workspace grids */
@media (max-width: 1100px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .features-grid {
    grid-template-columns: 1fr;
  }
}

/* ======================================================== */
/* EXPERTISE SPLIT LAYOUT STYLES                            */
/* ======================================================== */

.expertise-section {
  background-color: var(--bg-secondary);
  padding: 90px 0;
}

.expertise-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: center;
}

/* Content Element Core Rules Configuration */
.expertise-content-col {
  display: flex;
  flex-direction: column;
}

.expertise-intro {
  margin-top: 20px;
  margin-bottom: 25px;
  font-size: 16px;
  color: var(--color-text-primary);
}

/* Custom Bullet List Component Styling definitions */
.checkmark-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 35px;
}

.checkmark-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.list-check-circle {
  background-color: var(--color-green-highlight);
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.list-item-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-text-primary);
}

/* Light Blue Callout Highlight Container Rules Formatting */
.expertise-callout-box {
  background-color: #eaf2fc; /* High compliance brand pale tint overlay backdrop configuration item area */
  border-radius: 6px;
  padding: 20px 24px;
}

.expertise-callout-box p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-primary);
}

.expertise-callout-box strong {
  color: var(--color-blue-title);
  font-weight: 700;
}

/* Video Component Layout Logic Architecture */
.expertise-media-col {
  width: 100%;
}

.video-player-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #e5ecf5;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 21, 32, 0.08);
}

.video-mockup-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Central Overlay Vector Indicator Element Styling rules */
.video-central-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65px;
  height: 65px;
  background-color: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.video-central-play-btn svg {
  width: 26px;
  height: 26px;
  fill: var(--color-text-primary);
  margin-left: 4px; /* Tiny aesthetic alignment shift nudge toward center axis */
}

.video-central-play-btn:hover {
  transform: translate(-50%, -50%) scale(1.08);
  background-color: #ffffff;
}

/* Responsive Scaling Breakpoint Adjustments for Medium Layout Workspaces */
@media (max-width: 1024px) {
  .expertise-container {
    grid-template-columns: 1fr;
    gap: 45px;
  }
}

/* ======================================================== */
/* INSURANCE TYPES TABS STYLES                              */
/* ======================================================== */

.tabs-section {
  background-color: var(--bg-primary);
  padding: 80px 0;
}

.tabs-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
}

.tabs-lead {
  max-width: 1100px;
  margin-bottom: 40px;
  font-size: 15px;
  line-height: 1.6;
  color: #556575; /* Softened typography color shade */
}

/* Tab Navigation Menu Header */
.tabs-nav-wrapper {
  display: flex;
  border-bottom: 1px solid #dbdee4;
  margin-bottom: 40px;
  overflow-x: auto; /* Handles responsiveness elegantly on small mobile screens */
  scrollbar-width: none; /* Hides horizontal trackbar on Firefox */
}

.tabs-nav-wrapper::-webkit-scrollbar {
  display: none; /* Hides horizontal trackbar on Chrome/Safari */
}

.tab-button {
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 15px 24px;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #72849a;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.tab-button:hover {
  color: var(--color-blue-title);
}

/* Active tab engine rules state configuration */
.tab-button.active {
  color: var(--color-blue-title);
  border-bottom-color: var(--color-blue-title);
}

/* Panels Engine Structure Layout */
.tabs-content-wrapper {
  background-color: transparent;
}

.tab-panel {
  display: none; /* Invisible by default configuration */
  animation: fadeInTabs 0.4s ease-in-out forwards;
}

.tab-panel.active {
  display: block; /* Visible when triggered */
}

/* Tab Content Typography Elements */
.panel-badge {
  background-color: #eaf6e6;
  color: #51983c;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
}

.badge-pulsing-dot {
  width: 6px;
  height: 6px;
  background-color: var(--color-green-highlight);
  border-radius: 50%;
}

.panel-title {
  margin-bottom: 15px;
}

.panel-desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text-primary);
  max-width: 900px;
  margin-bottom: 30px;
}

.panel-list-title {
  font-size: 15px;
  margin-bottom: 15px;
}

/* Internal panel list component styling rules */
.panel-checkmark-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.panel-checkmark-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  color: var(--color-text-primary);
}

.panel-check-icon {
background-color: var(--color-green-highlight);
    color: #ffffff;
    font-size: 11px;
    font-weight: 900;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

/* CSS Transition animations */
@keyframes fadeInTabs {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ======================================================== */
/* INTERMEDIATE CTA CARD STYLES                             */
/* ======================================================== */

.info-cta-section {
  background-color: var(--bg-primary);
  padding-bottom: 60px;
}

.info-cta-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  justify-content: center;
}

/* Card Main Structural Box Frame */
.info-cta-card {
  background-color: var(--bg-secondary);
  width: 100%;
  max-width: 820px; /* Perfectly bounds content layout according to design blueprint */
  border-radius: 12px;
  overflow: hidden; /* Clips top bar and footer layout cleanly within corner border radii */
  box-shadow: 0 10px 30px rgba(0, 21, 32, 0.05);
  display: flex;
  flex-direction: column;
}

/* Top Accent Highlight Strip Line */
.cta-card-top-bar {
  height: 6px;
  width: 100%;
  background-color: var(--color-red-untrr);
}

/* Internal Card Text Content layout area */
.cta-card-body {
  padding: 40px 50px 35px 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cta-card-title {
  color: var(--color-text-primary);
  margin-bottom: 15px;
}

.cta-card-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-primary);
  max-width: 620px;
  margin-bottom: 30px;
}

/* Central Primary Action Component Sizing adjustments */
.cta-card-btn {
  padding: 15px 36px;
  border-radius: 6px;
}

/* Bottom Notice Footer layout strip box styling rules */
.cta-card-footer {
  background-color: #f5f8fc; /* Pale background tint matching visual mock designs */
  padding: 18px 40px;
  border-top: 1px solid #eef2f8;
  text-align: center;
}

.footer-notice-text {
  color: #657588; /* Slightly muted tone compliant for sub-disclaimers */
  line-height: 1.5;
}

.footer-notice-text strong {
  color: var(--color-text-primary);
}

/* Responsive constraints adjustments for smaller tablet screens layouts */
@media (max-width: 768px) {
  .cta-card-body {
    padding: 30px 24px;
  }
  .cta-card-footer {
    padding: 15px 20px;
  }
}


/* ======================================================== */
/* ABOUT US SECTION STYLES                                  */
/* ======================================================== */

.about-section {
  background-color: var(--bg-secondary);
  padding-bottom: 70px;
  width: 100%;
  overflow-x: hidden; /* Safety clip for smooth responsive scaling */
}

/* The asymmetric split engine layout */
.about-split-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch; /* Forces image column height to natively match text column height */
  margin-bottom: 55px;
}

/* Text Column Alignment Box */
.about-content-col {
  display: flex;
  justify-content: flex-end; /* Pushes content wrapper right against the center cut line */
  padding-right: 40px;
  padding-top: 90px;
}

/* This restricts the text container to exactly half of our 1440px grid */
.about-content-inner {
  width: 100%;
  max-width: calc(1440px / 2 - 40px); /* Centers text perfectly with your global 1440px navbar/hero grids */
  padding-left: 40px; /* Maintains padding on left side of the screen */
}

.about-paragraphs-group {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.about-paragraphs-group p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text-primary);
}

/* Right Media Column - The Magic Full-Bleed Piece */
.about-media-col {
  width: 100%;
  position: relative;
}

.about-display-img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Keeps image beautifully filled without stretching proportions */
  display: block;
}

/* Centered Metrics Row Container */
.about-metrics-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  width: 100%;
}

.about-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.metric-badge-box {
  background-color: #f4f8fd;
  padding: 22px 24px;
  border-radius: 6px;
  transition: transform 0.2s ease;
}

.metric-badge-box:hover {
  transform: translateY(-2px);
}

.metric-badge-box h3 {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--color-blue-title);
  margin-bottom: 8px;
}

.metric-badge-box p.small {
  color: #556578;
  line-height: 1.4;
}

/* Responsive Overrides for Tablets and Mobiles */
@media (max-width: 1100px) {
  .about-split-row {
    grid-template-columns: 1fr; /* Drops full-bleed side-by-side back down to a standard single vertical track */
  }
  
  .about-content-col {
    justify-content: center;
        padding: 60px 25px 0;
  }
  
  .about-content-inner {
    max-width: 100%;
    padding-left: 0;
  }
  
  .about-media-col {
    margin-top: 40px;
    height: 400px; /* Caps the truck photo height gracefully on tablet views */
  }

  .about-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 580px) {
  .about-media-col {
    height: 280px;
  }
  .about-metrics-grid {
    grid-template-columns: 1fr;
  }
}

/* ======================================================== */
/* COMPARISON TABLE MATRIX STYLES                           */
/* ======================================================== */

.comparison-section {
    background-color: #fff;
    padding: 0;
    position: relative;
    z-index: 0;
}

.comparison-section::after {
    content: "";
    background-color: var(--bg-primary);;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 200px;
    width: 100%;
    z-index: -1;
}

.comparison-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
}

.comparison-lead {
  max-width: 950px;
  margin-bottom: 40px;
  font-size: 15px;
  line-height: 1.6;
  color: #556578;
}

/* Responsive Table Wrapper Scrolling Track */
.table-responsive-wrapper {
  width: 100%;
  overflow-x: auto; /* Clean horizontal scrolling on narrow tablet screens */
  background-color: var(--bg-secondary);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 21, 32, 0.04);
  border: 1px solid var(--color-border);
}

.comparison-matrix-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-family: 'Open Sans', sans-serif;
  min-width: 900px; /* Prevents cell content compaction on tight viewports */
}

/* Header Columns Formatting specifications */
.comparison-matrix-table th {
  padding: 24px 30px;
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 16px;
  vertical-align: middle;
}

.col-criteria {
  width: 34%;
  color: var(--color-blue-title);
  background-color: #f8fafc; /* Very soft criteria baseline grid tracking background tint */
}

.col-standard-market {
  width: 33%;
  color: var(--color-blue-title);
  background-color: #f8fafc;
}

.col-lutz-premium {
  width: 33%;
  color: #ffffff;
  background-color: var(--color-blue-title); /* Accentuated main brand highlight column block */
  text-align: center;
}

/* Table body row parameters formatting */
.comparison-matrix-table td {
  padding: 16px 30px;
  border-bottom: 1px solid #f0f3f7;
  vertical-align: middle;
  font-size: 14px;
}

.cell-criteria {
  color: var(--color-text-primary);
}

.comparison-matrix-table tbody tr:last-child td {
  border-bottom: none; /* Removes stray hanging borders at card base bounds */
}

/* Visual Status Capsule Tags Pill Styling Engine */
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 13px;
  width: 100%; /* Ensures horizontal layout filling inside cell wrapper blocks */
}

/* Red Capsule Parameters */
.status-pill.status-negative {
  background-color: #fff1f2;
  color: #df2c31;
}

.status-pill.status-negative .icon {
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

/* Green Capsule Parameters */
.status-pill.status-positive {
  background-color: #f0f9eb;
  color: #4ca62b;
  border: 1px solid rgba(76, 166, 43, 0.15);
}

/* Orange Warning Capsule Parameters */
.status-pill.status-warning {
  background-color: #fff7ec;
  color: #da8413;
}

/* Neutral Text cell elements fallback spacing adjustments */
.status-text-neutral {
  color: #556578;
  padding-left: 16px;
  font-weight: 400;
}

.text-small {
  font-size: 13px;
  line-height: 1.4;
}

/* Highlight alignment optimization across the lutz specific cells background layer */
.comparison-matrix-table tbody td:last-child {
  background-color: rgba(38, 73, 165, 0.01); /* Super fine background tint shade to isolate premium zone */
  text-align: left;
}

/* ======================================================== */
/* FAQ ACCORDION COMPONENT STYLES                           */
/* ======================================================== */

.faq-section {
  background-color: var(--bg-primary);
  padding: 80px 0 0;
}

.faq-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.faq-section-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 40px;
}

/* Base group tracking block bounds */
.accordion-group {
  width: 100%;
  max-width: 920px; /* Aligns container size to layout blueprints grid framework */
  display: flex;
  flex-direction: column;
  gap: 12px; /* Uniform grid separation lines spacing padding */
}

/* Item block styling properties */
.accordion-item {
  background-color: #e5effd; /* Design spec specific pale soft blue back plate */
  border-radius: 8px;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

/* Header interactive triggers specifications layout */
.accordion-header {
  width: 100%;
  background: transparent;
  border: none;
  padding: 20px 28px;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  outline: none;
}

.question-text {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.4;
  color: var(--color-blue-title); /* Branding primary blue font configuration */
  padding-right: 20px;
}

/* Expandable content drawer panel logic styling rules */
.accordion-panel {
  max-height: 0; /* Invisible collapsed initialization profile default */
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1); /* Ultra clean CSS collapse drawer effect expansion animation transition */
}

/* When the engine sets item active state visibility triggers classes */
.accordion-item.active {
  background-color: #dbe8fc; /* Slightly deeper contrast layer tone when open */
}

.accordion-item.active .accordion-panel {
  max-height: 1000px; /* Provides sufficient ceiling height space metrics capacity bounds */
  transition: max-height 0.3s cubic-bezier(1, 0, 1, 0);
}

.panel-content-inner {
  padding: 0 28px 24px 28px;
}

.panel-content-inner p {
  font-family: 'Open Sans', sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-primary);
}

/* ======================================================== */
/* LEAD GENERATION FORM STYLES                              */
/* ======================================================== */

.form-section {
  background-color: var(--bg-primary);
  padding: 60px 0 0;
}

.form-section-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  justify-content: center;
}

/* Card Wrapper Container Frame Setup */
.lead-form-card {
  background-color: var(--bg-secondary);
  width: 100%;
  max-width: 680px; /* Perfectly scales form input alignments according to layout specs */
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0, 21, 32, 0.05);
  display: flex;
  flex-direction: column;
}

.form-card-top-bar {
  height: 6px;
  width: 100%;
  background-color: var(--color-red-untrr);
}

.form-card-body {
  padding: 45px 50px;
}

.form-main-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 35px;
}

/* Step Grouping Separators */
.form-step-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 25px;
}

.form-step-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 8px;
}

/* Form Fields Input Components Styling */
.input-field-wrapper {
  width: 100%;
}

.input-field-wrapper input {
  width: 100%;
  background-color: #fcfdfe;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 14px 16px;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: var(--color-text-primary);
  outline: none;
  transition: all 0.2s ease;
}

.input-field-wrapper input:focus {
  border-color: var(--color-blue-title);
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(38, 73, 165, 0.08);
}

/* Custom UNTRR Checkbox Highlight Strip Container Row */
.untrr-membership-checkbox-row {
  background-color: #f5f8fc;
  border-left: 4px solid var(--color-blue-title);
  padding: 14px 16px;
  border-radius: 0 4px 4px 0;
  margin-bottom: 4px;
}

/* Generic Custom Accessible Checkbox Component Engine Framework */
.custom-checkbox-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}

.hidden-native-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox-visual-box {
  width: 18px;
  height: 18px;
  border: 1px solid #72849a;
  background-color: #ffffff;
  border-radius: 3px;
  display: inline-block;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

/* Action state modifications */
.hidden-native-checkbox:checked + .checkbox-visual-box {
  background-color: var(--color-blue-title);
  border-color: var(--color-blue-title);
}

.hidden-native-checkbox:checked + .checkbox-visual-box::after {
  content: '✓';
  position: absolute;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.checkbox-text-label {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-blue-title);
}

/* GDPR Consent Placement parameters adjustment overrides */
.legal-consent-wrapper {
  margin: 20px 0 30px 0;
  display: flex;
  justify-content: center;
}

.legal-label .checkbox-text-label {
  color: #657588;
  font-weight: 400;
}

/* Submit Execution Row Elements Parameters */
.form-submit-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
}

.form-submit-btn {
  padding: 16px 45px;
  border-radius: 6px;
  font-size: 16px;
  letter-spacing: 0.5px;
      display: flex;
}

/* Responsive Structural optimization parameters updates for narrow screens windows */
@media (max-width: 600px) {
  .form-card-body {
    padding: 30px 20px;
  }
  .form-main-title {
    font-size: 28px;
  }
}

/* ======================================================== */
/* DEDICATED CONSULTANTS STYLES                             */
/* ======================================================== */

.consultants-section {
  background-color: var(--bg-primary);
  padding: 60px 0;
}

.consultants-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultants-main-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 40px;
}

/* Profiles Layout Grid Track Configuration */
.consultants-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 1100px; /* Aligns clean symmetry proportions with bottom banner length */
  margin-bottom: 30px;
}

/* Individual Card Structural Framing Setup */
.consultant-card {
  background-color: var(--bg-secondary);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 21, 32, 0);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.consultant-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 21, 32, 0.06);
}

.consultant-top-bar {
  height: 4px;
  width: 100%;
  background-color: var(--color-red-untrr);
}

/* Inner Text Content Layout alignment properties */
.consultant-card-content {
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.consultant-name {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--color-text-primary);
  margin-bottom: 4px;
}

.consultant-role {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #72849a; /* Muted descriptor styling profile color */
  margin-bottom: 16px;
}

.consultant-phone,
.consultant-email {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  color: var(--color-text-primary);
  text-decoration: none;
  margin-bottom: 6px;
  font-weight: 700;
  transition: color 0.2s ease;
}

.consultant-email {
  font-weight: 400;
  margin-bottom: 0; /* Clears margin on baseline row loop layer */
}

.consultant-phone:hover,
.consultant-email:hover {
  color: var(--color-blue-title);
}

/* Bottom Partnership Banner Ribbon Component Properties formatting */
.consultants-membership-banner {
  background-color: #e5effd;
  width: 100%;
  max-width: 1100px;
  padding: 16px 24px;
  border-radius: 6px;
  text-align: center;
}

.banner-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 14.5px;
  color: var(--color-blue-title);
  line-height: 1.5;
}

.banner-text strong {
  font-weight: 700;
}

/* Responsive Adaptive adjustments breakpoints */
@media (max-width: 900px) {
  .consultants-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 450px;
  }
}

/* ======================================================== */
/* LEGISLATIVE KNOWLEDGE HUB STYLES                         */
/* ======================================================== */

.knowledge-hub-section {
  background-color: var(--bg-secondary);
  padding: 80px 0;
}

.hub-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hub-main-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 36px;
  color: var(--color-text-primary);
  text-align: center;
  margin-bottom: 12px;
}

.hub-lead-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  color: #556578;
  text-align: center;
  margin-bottom: 45px;
  max-width: 800px;
}

/* 3-Column Content Layout Grid Track */
.hub-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

/* Base Card Object Structural Design Blueprint */
.article-card {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--color-border);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Featured Card Variance (Card 1 uses a shadow instead of a simple border line) */
.article-card.card-featured {
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(0, 21, 32, 0.06);
}

.article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(0, 21, 32, 0.08);
}

/* Categorization Tag Chips Styling Engine */
.hub-badge-tag {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 20px;
}

/* Blue Tag style settings */
.hub-badge-tag.tag-blue {
  background-color: #e6f0fa;
  color: var(--color-blue-title);
}

/* Blue Tag style settings */
.hub-badge-tag.tag-articole {
  background-color: #e6f0fa;
  color: var(--color-blue-title);
}

/* Green Tag style settings */
.hub-badge-tag.tag-green {
  background-color: #eaf6e6;
  color: #51983c;
}

/* Internal Card Text Settings */
.article-title {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: var(--color-text-primary);
  margin-bottom: 16px;
}

.article-excerpt {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #405060;
}

/* Responsive Structural Reflows Adaptations for Smaller Windows Viewports */
@media (max-width: 960px) {
  .hub-articles-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 550px;
  }
}


/* ======================================================== */
/* SITE FOOTER COMPONENT BAR STYLES                         */
/* ======================================================== */

.site-footer {
  background-color: var(--bg-hero-subfooter); /* Matches the rich core brand blue */
  width: 100%;
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* Legal Links Side Alignment Wrapper Block */
.footer-legal-links {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap; /* Prevents text overflow breaks on small screens */
}

.footer-link {
  font-family: 'Archivo Narrow', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-link:hover {
  opacity: 0.85;
}

/* Copyright Section text adjustments values */
.footer-copyright {
  display: flex;
  align-items: center;
}

.copyright-text {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #ffffff;
  opacity: 0.95;
  line-height: 1.4;
  text-align: right;
}

/* Responsive Adaptive adjustments Breakpoints for Narrow Screens Layout windows */
@media (max-width: 900px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    padding: 25px 20px;
  }
  
  .footer-legal-links {
    justify-content: center;
    gap: 16px;
  }
  
  .copyright-text {
    text-align: center;
    font-size: 13px;
  }
}

/*--------------------------------------------------------------
# Legal Pages Styling
--------------------------------------------------------------*/
.legal-page-wrapper {
  background-color: #ffffff; /* Sets the general page background */
  width: 100%;
}

.legal-container {
  max-width: 600px;
  margin: 0 auto; /* Centers the 600px container horizontally */
  padding: 90px 20px; /* 90px top/bottom padding, 20px left/right safety padding for mobile */
  box-sizing: border-box;
}

.legal-page-wrapper h1,
.legal-page-wrapper h2,
.legal-page-wrapper h3,
.legal-page-wrapper h4
{
	margin-bottom: 20px;
}

.legal-page-wrapper p {
	margin-bottom: 20px;
}

/*--------------------------------------------------------------
# Single Post
--------------------------------------------------------------*/

/* Structural grid properties to match typical content spacing templates */
.single-post-wrapper {
    width: 100%;
}

.post-container {
    max-width: 800px; /* Standard structural width for easy line-reading comfort */
    margin: 0 auto;
    padding: 60px 20px;
    box-sizing: border-box;
}

.entry-header {
    margin-bottom: 2rem;
}

.entry-meta {
    font-size: 0.9rem;
    opacity: 0.7;
    margin-top: 0.5rem;
}

.post-thumbnail {
    margin-bottom: 2.5rem;
}

.post-thumbnail img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.entry-content {
    margin-bottom: 3rem;
}

.post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 1px solid #e5e7eb;
}

.post-container h2,
.post-container h3,
.post-container h4
{
	margin-bottom: 20px;
}

.post-container p {
	margin-bottom: 20px;
}

.post-container .nav-links a {
    text-decoration: none;
    color: #000;
}

.post-container .nav-links a:hover {
    opacity: 0.7;
}


.hub-badge-tag.tag-studii-de-caz {
    background-color: #e6f0fa;
    color: var(--color-blue-title);
}

.hub-badge-tag.tag-noutati-industrie{
    background-color: #eaf6e6;
    color: #51983c;
}

a.hub-badge-tag {
    text-decoration: none;
}

.archive .knowledge-hub-section,
.single-post-wrapper {
    min-height: calc(100vh - 170px);
}

.archive .hub-container>p {
        max-width: 600px;
    text-align: center;
}

.el-scroll-distance {
    scroll-margin-top: 40px; 
}


/******/

/* Container alignment */
.custom-cf7-checkbox .wpcf7-list-item {
  margin: 0;
  display: inline-block;
}

/* Hide the default native checkbox completely */
.custom-cf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Style the text label and create the custom box space */
.custom-cf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  position: relative;
  padding-left: 25px; /* Space for the custom box */
  cursor: pointer;
  font-size: 16px;
  user-select: none;
  display: inline-block;
  line-height: 20px;
      color: var(--color-blue-title);
}

/* Build the custom checkbox square */
.custom-cf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 15px;
  width: 15px;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 4px; /* Smooth rounded corners */
  transition: all 0.2s ease-in-out;
}

/* Hover effect on the box */
.custom-cf7-checkbox .wpcf7-list-item:hover input ~ .wpcf7-list-item-label::before {
  border-color: #2649a5; /* Subtle color change on hover (Matches your red theme) */
}

/* Background change when checked */
.custom-cf7-checkbox .wpcf7-list-item input:checked ~ .wpcf7-list-item-label::before {
  background-color: #2649a5; /* Red background to match your btn-primary-red */
  border-color: #2649a5;
}

/* Create the checkmark icon (hidden by default) */
.custom-cf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  display: none;
    left: 7px;
    top: 3px;
    width: 4px;
    height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Show the checkmark icon when checked */
.custom-cf7-checkbox .wpcf7-list-item input:checked ~ .wpcf7-list-item-label::after {
  display: block;
}

/* Container alignment for acceptance */
.custom-cf7-acceptance .wpcf7-acceptance {
  margin: 0;
  display: inline-block;
}

/* Hide the default native checkbox */
.custom-cf7-acceptance .wpcf7-acceptance input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Style the text label and create the custom box space */
.custom-cf7-acceptance .wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  padding-left: 21px; /* Space for the custom box */
  cursor: pointer;
  font-size: 14px; /* Slightly smaller for legal text */
  user-select: none;
  display: inline-block;
  line-height: 16px;
}

/* Build the custom checkbox square */
.custom-cf7-acceptance .wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 12px;
  width: 12px;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}

/* Hover effect on the acceptance box */
.custom-cf7-acceptance .wpcf7-acceptance:hover input ~ .wpcf7-list-item-label::before {
  border-color: #2649a5; /* Matches your red theme */
}

/* Background change when checked */
.custom-cf7-acceptance .wpcf7-acceptance input:checked ~ .wpcf7-list-item-label::before {
  background-color: #2649a5;
  border-color: #2649a5;
}

/* Create the checkmark icon (hidden by default) */
.custom-cf7-acceptance .wpcf7-acceptance .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  display: none;
  left: 6px;
  top: 2px;
  width: 3px;
  height: 7px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Show the checkmark icon when checked */
.custom-cf7-acceptance .wpcf7-acceptance input:checked ~ .wpcf7-list-item-label::after {
  display: block;
}

.single .entry-meta {
    font-size: 0.8rem;
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.single .hub-badge-tag {
    margin-bottom: 0px;
}

.article-title a {
    text-decoration: none;
    color: inherit;
}

.hero-top-bar del {
    color: var(--color-green-highlight);
    text-decoration: none;
}

/* --- Mobile Responsive Rules --- */

/* Initially hide the mobile toggle button on desktop */
.mobile-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  flex-direction: column;
  gap: 6px;
  z-index: 1001;
}

.hamburger-bar {
  display: block;
  width: 25px;
  height: 3px;
  background-color: var(--color-text-primary);
  border-radius: 3px;
  transition: all 0.3s ease-in-out;
}

/* Base Desktop behavior for the newly added wrapper */
@media (min-width: 993px) {
  .header-menu-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
  }
  
  .header-nav {
    /* Push away equally from both sides to force perfect centering */
    margin: 0 auto; 
  }
}

/* Mobile Layout Transformation */
@media (max-width: 992px) {
  .header-container {
    padding: 15px 20px; /* Slightly tighter spacing for small panels */
  }

  .site-header.is-scrolled .header-container {
    padding: 10px 20px;
  }

  .header-logos img {
    height: 35px; /* Scaled down logos slightly for tiny layouts */
  }

  /* Show the mobile hamburger button */
  .mobile-nav-toggle {
    display: flex;
  }

  /* Animate hamburger to an 'X' shape when active */
  .mobile-nav-toggle.is-active .hamburger-bar:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }
  .mobile-nav-toggle.is-active .hamburger-bar:nth-child(2) {
    opacity: 0;
  }
  .mobile-nav-toggle.is-active .hamburger-bar:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  /* Mobile Dropdown Panel */
  .header-menu-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--bg-secondary);
    box-shadow: 0 10px 15px rgba(0, 21, 32, 0.05);
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    
    /* Smooth close/open animation hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  }

  /* Display the dropdown panel when opened */
  .header-menu-wrapper.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* Linear Stack for Nav Links */
  .header-nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
  }

  .header-nav .nav-link {
    width: 100%;
    font-size: 18px; /* Slightly bigger target point for touch inputs */
    padding: 5px 0;
  }

  /* Linear Stack for Action Items */
  .header-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* Optional section divider */
    padding-top: 20px;
  }

  .header-phone {
    font-size: 18px;
  }

  .header-cta {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* Hide native scrollbars completely across all devices */
.tabs-nav-wrapper {
  overflow-x: auto;
  display: flex;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  
  /* Hide default scrollbars */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.tabs-nav-wrapper::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

/* Custom Indicator Track Styling */
.tabs-scroll-indicator {
  display: none; /* Hidden on desktop by default */
  width: 100%; /* Width of the track line in the center */
  height: 4px;
  background-color: rgba(0, 21, 32, 0.1); /* Subtle dark track against #f3f7fd */
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}

/* The Moving Progress Bar */
.tabs-scroll-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 50%; /* Starting size of the handle */
  background-color: #909090; /* Using your brand red or primary color */
transform: translateX(0%); /* Controlled smoothly via JavaScript */
  will-change: transform;
}

.hero-container .checkmark {
    color: #fff;
}

/* Stil pentru blocul de citat (blockquote) */
blockquote, 
.wp-block-blockquote {
    background-color: #f0f5fa; /* Fundalul albastru deschis */
    border-left: none;         /* Elimină linia verticală implicită din WordPress */
    border-radius: 6px;        /* Colțurile rotunjite */
    padding: 24px 32px;        /* Spațierea interioară (sus/jos stânga/dreapta) */
    margin: 20px 0;            /* Spațierea exterioară față de restul textului */
}

/* Stil pentru evidențierea albastră a textului (cuvinte cheie) */
blockquote strong, 
.wp-block-blockquote strong,
blockquote em,
.wp-block-blockquote em {
    color: #3b5998;            /* Culoarea albastră pentru textul evidențiat */
    font-weight: 600;          /* Grosimea textului evidențiat */
    font-style: normal;        /* Evită înclinarea dacă folosești tag-ul <em> */
}

/* Stil pentru evidențierea albastră a textului (cuvinte cheie) */
blockquote p {
    margin-bottom: 0!important;
}

.swipe-hint {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: #fff;
    border-radius: 999px;
    transition: opacity 0.4s;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
        box-shadow: 0 6px 20px rgba(0, 21, 32, 0.1);
}
.swipe-hint.hidden { opacity: 0; pointer-events: none; }

.swipe-finger {
  font-size: 16px;
  animation: swipe 1.4s ease-in-out infinite;
  display: inline-block;
}
@keyframes swipe {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(8px); }
}

.swipe-text {
  font-size: 11px;
  font-weight: 600;
  color: #003087;
  letter-spacing: 0.04em;
}

/*
*********************
* Responsive main
*********************
*/

@media (max-width:767px) {
   
/* Typography Rules */
h1 {
  font-size: 40px;
}

h2 {
  font-size: 30px;
}

h3, .h3-large {
  font-size: 26px;
}

.h3-small {
  font-size: 22px;
}
    
h1 br,
h2 br {
    display: none;
}  

.hero-section {
    padding-bottom: 60px;
}

.features-section {
    padding: 60px 0;
}

.expertise-section {
    padding: 60px 0;
}

.tabs-section {
    padding: 60px 0;
}

.about-section {
    padding-bottom: 60px;
}

.comparison-section {
    padding: 0;
}

.faq-section {
    padding: 60px 0 0;
}

.consultants-section {
        padding: 60px 0 60px;
}
  
.knowledge-hub-section {
    padding: 60px 0;
}

.form-submit-wrapper {
    text-align: center;
}   

.hero-features-row {
    gap: 15px;
}

.col-criteria {
    width: 25%;
}

  .tabs-scroll-indicator {
    display: block;
  }

.tabs-nav-wrapper {
    margin-bottom: 0px;
}

.tabs-content-wrapper {
    padding-top: 30px;
}

.tab-button.active {
    border-bottom-color: transparent;
}

.tabs-nav-wrapper .tab-button {
    padding: 10px 24px 10px 0;
}

.tabs-nav-wrapper .tab-button:last-of-type {
    padding: 10px 0px 10px 0;
}

.swipe-hint {
  display: inline-flex;
}
.header-logos a:last-child img {
    height: 30px;
}
    
}
