/**
 * Sanitelgest Centralized Stylesheet
 * Modern Design System, Light Typography & UI Enhancements
 * Version: 2.0.0
 */

:root {
  /* Brand Palette */
  --sg-primary: #0077b6;
  --sg-primary-dark: #005f94;
  --sg-primary-light: #e0f2fe;
  --sg-secondary: #0f2c59;
  --sg-navy-dark: #061836;
  --sg-red: #e31e25;
  --sg-red-dark: #b7151b;
  --sg-red-light: #fff1f2;
  --sg-accent: #0284c7;
  --sg-accent-green: #10b981;
  --sg-surface: #ffffff;
  --sg-surface-subtle: #f8fafc;
  --sg-surface-hover: #f1f5f9;
  
  /* Text & Slates */
  --sg-text-main: #1e293b;
  --sg-text-muted: #64748b;
  --sg-text-light: #94a3b8;
  --sg-border: #e2e8f0;
  --sg-border-subtle: #f1f5f9;

  /* Typography */
  --sg-font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;
  --sg-font-weight-light: 300;
  --sg-font-weight-regular: 400;
  --sg-font-weight-medium: 500;
  --sg-font-weight-semibold: 600;
  --sg-font-weight-bold: 700;

  /* Shadows & Elevation */
  --sg-shadow-sm: 0 1px 3px 0 rgba(15, 44, 89, 0.05);
  --sg-shadow-md: 0 4px 18px -2px rgba(15, 44, 89, 0.07);
  --sg-shadow-lg: 0 12px 32px -4px rgba(15, 44, 89, 0.10);
  --sg-shadow-hover: 0 20px 40px -8px rgba(0, 119, 182, 0.16);

  /* Radius */
  --sg-radius-sm: 8px;
  --sg-radius-md: 12px;
  --sg-radius-lg: 18px;
  --sg-radius-full: 9999px;

  /* Transitions */
  --sg-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   GLOBAL RESET & TYPOGRAPHY (LIGHT & MODERN)
   ========================================================================== */

body, html, 
.entry-content, 
p, span, li, a, input, textarea, select, button {
  font-family: var(--sg-font-family) !important;
  font-weight: var(--sg-font-weight-regular);
  color: var(--sg-text-main);
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body p {
  line-height: 1.7;
  font-size: 1.025rem;
  color: #334155;
  margin-bottom: 1rem;
}

h1, h2, h3, h4, h5, h6, 
.elementor-heading-title, 
.mfn-header-title {
  font-family: var(--sg-font-family) !important;
  font-weight: var(--sg-font-weight-semibold) !important;
  color: var(--sg-secondary) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.25 !important;
}

h1, .elementor-element h1 { font-size: 2.75rem !important; }
h2, .elementor-element h2 { font-size: 2.15rem !important; }
h3, .elementor-element h3 { font-size: 1.5rem !important; }
h4, .elementor-element h4 { font-size: 1.2rem !important; }

.sg-lead, .lead {
  font-size: 1.125rem;
  font-weight: var(--sg-font-weight-light);
  line-height: 1.75;
  color: var(--sg-text-muted);
}

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

/* Container */
.sg-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
}

/* ==========================================================================
   PRECISION COMPACT HEADER (#061836 TOP/PROMO, PURE WHITE #FFFFFF MENU IN RED)
   ========================================================================== */

/* Header Wrapper */
.elementor-location-header {
  position: relative;
  z-index: 999;
  background-color: #ffffff !important;
  box-shadow: 0 2px 14px rgba(6, 24, 54, 0.06);
}

/* Hide empty/redundant sections */
.elementor-location-header .elementor-element-0bb8d87 {
  display: none !important;
}

/* 1. TOP BAR SECTION (#061836 Dark Navy - Ultra Compact) */
.elementor-location-header section.elementor-element-84d1d17 {
  background-color: #061836 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 4px 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.elementor-location-header section.elementor-element-84d1d17 .elementor-container {
  min-height: 0 !important;
  max-width: 1340px !important;
  padding: 0 20px !important;
}

.elementor-location-header section.elementor-element-84d1d17 .elementor-widget-image {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.elementor-location-header section.elementor-element-84d1d17 .elementor-widget-image img {
  max-height: 22px !important;
  width: auto !important;
  display: block;
  margin: 0 auto !important;
}

/* 2. MAIN MENU SECTION (Pure Solid White #ffffff - Single Row Horizontal) */
.elementor-location-header section.elementor-element-08e6a5c {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid var(--sg-border) !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  transition: var(--sg-transition);
}

.elementor-location-header section.elementor-element-08e6a5c > .elementor-container {
  max-width: 1340px !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 54px !important;
  padding: 0 24px !important;
}

/* Force all inner sections/columns to be transparent white with zero margins */
.elementor-location-header section.elementor-element-08e6a5c .elementor-inner-section,
.elementor-location-header section.elementor-element-08e6a5c .elementor-column,
.elementor-location-header section.elementor-element-08e6a5c .elementor-widget-wrap {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Column 1: Logo Column */
.elementor-location-header section.elementor-element-08e6a5c .elementor-element-c4567b4 {
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header .elementor-element-3228106 img {
  max-height: 44px !important;
  width: auto !important;
  display: block !important;
}

/* Column 2: Right Column (Menu + Phone) */
.elementor-location-header section.elementor-element-08e6a5c .elementor-element-0dc80fe {
  width: auto !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header .elementor-element-ecc272f > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  padding: 0 !important;
}

.elementor-location-header .elementor-element-08fe970 {
  width: auto !important;
  flex: 1 1 auto !important;
}

.elementor-location-header .elementor-element-f723ebe {
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Right Phone Badge */
.elementor-location-header .elementor-element-90cc4c7 img {
  max-height: 38px !important;
  width: auto !important;
  display: block !important;
}

/* FORBID MENU FROM WRAPPING - SINGLE CLEAN HORIZONTAL ROW */
.elementor-location-header .elementor-nav-menu--main {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main > li {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item {
  color: #e31e25 !important;
  font-family: var(--sg-font-family) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  padding: 7px 12px !important;
  border-radius: var(--sg-radius-md);
  transition: var(--sg-transition) !important;
  letter-spacing: -0.01em;
  background-color: transparent !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted,
.elementor-location-header .elementor-nav-menu--main .menu-item.current-menu-item > a {
  color: #b7151b !important;
  background-color: #fff1f2 !important;
}

/* Dropdown Sub-menu */
.elementor-location-header .elementor-nav-menu--dropdown {
  background: #ffffff !important;
  border: 1px solid var(--sg-border) !important;
  border-radius: var(--sg-radius-md) !important;
  box-shadow: var(--sg-shadow-lg) !important;
  padding: 8px !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
  color: #1e293b !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 8px 14px !important;
  border-radius: var(--sg-radius-sm) !important;
  transition: var(--sg-transition) !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
  color: #e31e25 !important;
  background-color: #fff1f2 !important;
  padding-left: 18px !important;
}

/* Mobile Toggle Hamburger */
.elementor-location-header .elementor-menu-toggle {
  background: transparent !important;
  color: #e31e25 !important;
  border-radius: var(--sg-radius-sm) !important;
  padding: 6px !important;
}

.elementor-location-header .elementor-menu-toggle:hover {
  color: #b7151b !important;
  background: #fff1f2 !important;
}

.elementor-location-header .elementor-menu-toggle i,
.elementor-location-header .elementor-menu-toggle svg {
  fill: #e31e25 !important;
}

/* 3. SUB PROMO BAR ("Salta la fila..." - #061836 Dark Navy with White Text - Ultra Compact) */
.elementor-location-header section.elementor-element-4902442 {
  background: #061836 !important;
  background-color: #061836 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 4px 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.elementor-location-header section.elementor-element-4902442 .elementor-container {
  max-width: 1340px !important;
  min-height: 0 !important;
  padding: 0 24px !important;
}

.elementor-location-header section.elementor-element-4902442 .elementor-button,
.elementor-location-header section.elementor-element-4902442 .elementor-button-text,
.elementor-location-header section.elementor-element-4902442 span,
.elementor-location-header section.elementor-element-4902442 a {
  color: #ffffff !important;
  font-family: var(--sg-font-family) !important;
  font-size: 0.825rem !important;
  background: transparent !important;
  padding: 2px 0 !important;
  margin: 0 !important;
}

.elementor-location-header section.elementor-element-4902442 .elementor-button:hover {
  color: #e0f2fe !important;
  transform: none !important;
  box-shadow: none !important;
}

.elementor-location-header section.elementor-element-4902442 i,
.elementor-location-header section.elementor-element-4902442 svg {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* ==========================================================================
   BUTTON SYSTEM (OPTIMIZED DIMENSIONS & SPACING)
   ========================================================================== */

.sg-badge-h24, .sg-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--sg-primary-light);
  color: var(--sg-primary-dark);
  font-size: 0.85rem;
  font-weight: var(--sg-font-weight-semibold);
  padding: 7px 18px;
  border-radius: var(--sg-radius-full);
  margin-bottom: 18px;
  border: 1px solid rgba(0, 119, 182, 0.15);
}

.sg-badge-h24::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--sg-accent-green);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
}

.sg-badge-white {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: var(--sg-font-weight-semibold);
  padding: 7px 18px;
  border-radius: var(--sg-radius-full);
  margin-bottom: 18px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

/* Core Button Styles */
.sg-btn, .button, input[type="submit"], .wpforms-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--sg-font-family) !important;
  font-weight: var(--sg-font-weight-semibold) !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  min-height: 48px;
  padding: 13px 26px !important;
  border-radius: var(--sg-radius-md) !important;
  transition: var(--sg-transition) !important;
  text-decoration: none !important;
  cursor: pointer;
  border: 1.5px solid transparent;
  box-sizing: border-box;
}

.sg-btn i {
  font-size: 1.05rem;
  transition: transform 0.2s ease;
}

.sg-btn:hover i {
  transform: translateX(2px);
}

/* Button Variants */
.sg-btn-primary, .button.button-primary, .wpforms-submit {
  background: linear-gradient(135deg, var(--sg-primary) 0%, var(--sg-accent) 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 14px rgba(0, 119, 182, 0.28) !important;
}

.sg-btn-primary:hover, .wpforms-submit:hover {
  background: linear-gradient(135deg, var(--sg-primary-dark) 0%, var(--sg-primary) 100%) !important;
  box-shadow: 0 8px 22px rgba(0, 119, 182, 0.38) !important;
  transform: translateY(-2px);
  color: #ffffff !important;
}

.sg-btn-outline {
  background: #ffffff !important;
  color: var(--sg-secondary) !important;
  border: 1.5px solid var(--sg-border) !important;
}

.sg-btn-outline:hover {
  background: var(--sg-surface-hover) !important;
  border-color: var(--sg-primary) !important;
  color: var(--sg-primary) !important;
  transform: translateY(-2px);
  box-shadow: var(--sg-shadow-sm) !important;
}

.sg-btn-white {
  background: #ffffff !important;
  color: var(--sg-secondary) !important;
  border-color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

.sg-btn-white:hover {
  background: var(--sg-primary-light) !important;
  color: var(--sg-primary-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

.sg-btn-outline-white {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
}

.sg-btn-outline-white:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

.sg-btn-block {
  width: 100%;
}

/* ==========================================================================
   HOMEPAGE SECTION SPACINGS & LAYOUTS
   ========================================================================== */

/* 1. HERO SECTION */
.sg-hero-section {
  padding: 72px 0 56px;
  background: linear-gradient(180deg, #f0f7ff 0%, #ffffff 100%);
  position: relative;
  overflow: hidden;
}

.sg-hero-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.85fr;
  gap: 56px;
  align-items: center;
}

.sg-hero-title {
  font-size: 3.1rem !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  color: var(--sg-secondary) !important;
  margin-bottom: 20px;
}

.sg-hero-subtitle {
  font-size: 1.15rem;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 32px;
  font-weight: 400;
}

.sg-hero-actions {
  display: flex;
  gap: 16px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

.sg-hero-guarantees {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid var(--sg-border);
}

.sg-guarantee-item {
  font-size: 0.9rem;
  font-weight: var(--sg-font-weight-medium);
  color: var(--sg-text-muted);
  display: flex;
  align-items: center;
  gap: 7px;
}

.sg-guarantee-item i {
  color: var(--sg-accent-green);
  font-size: 1rem;
}

/* Quick Contact Card Panel */
.sg-quick-contact-card {
  background: #ffffff;
  border-radius: var(--sg-radius-lg);
  padding: 36px 32px;
  box-shadow: var(--sg-shadow-lg);
  border: 1px solid rgba(0, 119, 182, 0.12);
}

.sg-card-header h3 {
  font-size: 1.45rem !important;
  margin-bottom: 6px !important;
}

.sg-card-header p {
  color: var(--sg-text-muted);
  font-size: 0.95rem;
  margin-bottom: 24px;
}

.sg-quick-features {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}

.sg-q-feature {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 14px;
  background: var(--sg-surface-subtle);
  border-radius: var(--sg-radius-md);
  transition: var(--sg-transition);
}

.sg-q-feature:hover {
  background: var(--sg-primary-light);
}

.sg-q-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--sg-radius-sm);
  background: #ffffff;
  color: var(--sg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  box-shadow: var(--sg-shadow-sm);
  flex-shrink: 0;
}

.sg-q-text strong {
  display: block;
  font-size: 0.95rem;
  color: var(--sg-secondary);
}

.sg-q-text span {
  font-size: 0.825rem;
  color: var(--sg-text-muted);
}

/* 2. STATS STRIP */
.sg-stats-strip {
  padding: 44px 0;
  background: #ffffff;
  border-bottom: 1px solid var(--sg-border-subtle);
}

.sg-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.sg-stat-box {
  background: #ffffff;
  border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius-md);
  padding: 26px 20px;
  text-align: center;
  box-shadow: var(--sg-shadow-sm);
  transition: var(--sg-transition);
}

.sg-stat-box:hover {
  transform: translateY(-4px);
  border-color: var(--sg-primary);
  box-shadow: var(--sg-shadow-md);
}

.sg-stat-number {
  font-size: 2.35rem;
  font-weight: 700;
  color: var(--sg-primary);
  line-height: 1.1;
  display: block;
}

.sg-stat-label {
  font-size: 0.925rem;
  font-weight: 500;
  color: var(--sg-text-muted);
  margin-top: 6px;
  display: block;
}

/* 3. SERVICES SECTION */
.sg-services-section {
  padding: 96px 0;
  background: #ffffff;
}

.sg-section-header {
  max-width: 720px;
  margin: 0 auto 56px;
}

.sg-section-header h2 {
  font-size: 2.35rem !important;
  margin-bottom: 14px !important;
}

.sg-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.sg-service-item {
  background: #ffffff;
  border-radius: var(--sg-radius-lg);
  padding: 38px 32px;
  border: 1px solid var(--sg-border);
  box-shadow: var(--sg-shadow-sm);
  transition: var(--sg-transition);
  display: flex;
  flex-direction: column;
}

.sg-service-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--sg-shadow-hover);
  border-color: rgba(0, 119, 182, 0.3);
}

.sg-service-icon {
  width: 58px;
  height: 58px;
  border-radius: var(--sg-radius-md);
  background: var(--sg-primary-light);
  color: var(--sg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 22px;
}

.sg-service-item h3 {
  font-size: 1.35rem !important;
  margin-bottom: 12px !important;
}

.sg-service-item p {
  font-size: 0.95rem;
  color: var(--sg-text-muted);
  margin-bottom: 24px;
  flex-grow: 1;
}

.sg-service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sg-primary) !important;
  font-weight: 600;
  font-size: 0.925rem;
  text-decoration: none !important;
  transition: var(--sg-transition);
}

.sg-service-link:hover {
  color: var(--sg-primary-dark) !important;
  gap: 12px;
}

/* 4. HOW IT WORKS */
.sg-how-it-works {
  padding: 96px 0;
  background: var(--sg-surface-subtle);
}

.sg-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}

.sg-step-card {
  background: #ffffff;
  border-radius: var(--sg-radius-lg);
  padding: 38px 32px;
  border: 1px solid var(--sg-border);
  box-shadow: var(--sg-shadow-sm);
  position: relative;
  transition: var(--sg-transition);
}

.sg-step-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sg-shadow-md);
}

.sg-step-number {
  width: 44px;
  height: 44px;
  background: var(--sg-secondary);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.2rem;
  margin-bottom: 22px;
}

.sg-step-card h4 {
  font-size: 1.25rem !important;
  margin-bottom: 12px !important;
}

.sg-step-card p {
  color: var(--sg-text-muted);
  font-size: 0.95rem;
  margin: 0;
}

/* 5. NETWORK BANNER */
.sg-network-section {
  padding: 48px 0;
}

.sg-network-banner {
  background: linear-gradient(135deg, var(--sg-secondary) 0%, #061836 100%);
  border-radius: var(--sg-radius-lg);
  padding: 64px 52px;
  color: #ffffff;
  box-shadow: var(--sg-shadow-lg);
}

.sg-network-content {
  max-width: 760px;
}

.sg-network-content h2 {
  color: #ffffff !important;
  font-size: 2.35rem !important;
  margin-bottom: 16px !important;
}

.sg-network-content p {
  color: #cbd5e1 !important;
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 36px;
}

.sg-network-actions {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

/* 6. CONTACT SECTION */
.sg-contact-section {
  padding: 96px 0;
  background: #ffffff;
}

.sg-contact-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 48px;
  align-items: stretch;
}

.sg-contact-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}

.sg-contact-header h2 {
  font-size: 2.15rem !important;
  margin-top: 10px !important;
  margin-bottom: 12px !important;
  line-height: 1.25 !important;
}

.sg-contact-header .sg-lead {
  font-size: 1rem;
  color: var(--sg-text-muted);
  line-height: 1.6;
  margin-bottom: 0;
}

/* Media Card with Badge */
.sg-contact-media-card {
  position: relative;
  border-radius: var(--sg-radius-md);
  overflow: hidden;
  box-shadow: var(--sg-shadow-md);
  border: 1px solid var(--sg-border);
}

.sg-contact-img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.sg-contact-media-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: rgba(6, 24, 54, 0.88);
  backdrop-filter: blur(6px);
  color: #ffffff;
  padding: 8px 14px;
  border-radius: var(--sg-radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.sg-contact-media-badge i {
  color: #38bdf8;
  font-size: 16px;
}

/* Benefits Grid */
.sg-contact-benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.sg-c-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #f8fafc;
  padding: 14px 16px;
  border-radius: var(--sg-radius-sm);
  border: 1px solid var(--sg-border);
  transition: var(--sg-transition);
}

.sg-c-benefit:hover {
  background: #ffffff;
  border-color: var(--sg-primary);
  box-shadow: var(--sg-shadow-sm);
}

.sg-c-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--sg-primary-light);
  color: var(--sg-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}

.sg-c-desc strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--sg-secondary);
  line-height: 1.3;
}

.sg-c-desc span {
  display: block;
  font-size: 0.8rem;
  color: var(--sg-text-muted);
  line-height: 1.4;
  margin-top: 2px;
}

/* Callout Box */
.sg-contact-callout {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #0f2c59 0%, #061836 100%);
  color: #ffffff;
  padding: 16px 20px;
  border-radius: var(--sg-radius-md);
  box-shadow: var(--sg-shadow-md);
}

.sg-callout-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #ffffff;
  flex-shrink: 0;
}

.sg-callout-content span {
  display: block;
  font-size: 0.825rem;
  color: #cbd5e1;
}

.sg-callout-phone {
  display: inline-block;
  font-size: 1.45rem;
  font-weight: 800;
  color: #ffffff !important;
  text-decoration: none !important;
  line-height: 1.2;
}

.sg-callout-content small {
  display: block;
  font-size: 0.775rem;
  color: #94a3b8;
  margin-top: 2px;
}

.sg-form-card {
  background: #ffffff;
  border-radius: var(--sg-radius-lg);
  padding: 42px 36px;
  border: 1px solid var(--sg-border);
  box-shadow: var(--sg-shadow-lg);
}

.sg-form-card h3 {
  font-size: 1.55rem !important;
  margin-bottom: 8px !important;
}

.sg-form-card p {
  color: var(--sg-text-muted);
  font-size: 0.95rem;
  margin-bottom: 26px;
}

.sg-standard-form label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--sg-secondary);
  display: block;
  margin-bottom: 6px;
}

.sg-standard-form input,
.sg-standard-form select,
.sg-standard-form textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid var(--sg-border);
  border-radius: var(--sg-radius-sm);
  font-size: 0.95rem;
  background: var(--sg-surface-subtle);
  box-sizing: border-box;
  margin-bottom: 18px;
  transition: var(--sg-transition);
}

.sg-standard-form input:focus,
.sg-standard-form select:focus,
.sg-standard-form textarea:focus {
  border-color: var(--sg-primary);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(0, 119, 182, 0.15);
  outline: none;
}

/* WPForms & Smart Phone Dropdown Modern Styling */
.sg-form-card .wpforms-container,
.sg-form-card .wpforms-form {
  margin: 0;
  padding: 0;
  width: 100%;
}

.sg-form-card .wpforms-field {
  padding: 0 0 16px 0 !important;
  margin: 0 !important;
  clear: both;
}

.sg-form-card .wpforms-field-label {
  display: block !important;
  font-size: 0.885rem !important;
  font-weight: 600 !important;
  color: var(--sg-secondary) !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}

.sg-form-card .wpforms-required-label {
  color: var(--sg-primary) !important;
  font-weight: 700 !important;
}

.sg-form-card input[type="text"],
.sg-form-card input[type="email"],
.sg-form-card input[type="tel"],
.sg-form-card input[type="url"],
.sg-form-card input[type="number"],
.sg-form-card select,
.sg-form-card textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--sg-border) !important;
  border-radius: var(--sg-radius-sm) !important;
  font-size: 0.95rem !important;
  font-family: inherit !important;
  background-color: #f8fafc !important;
  color: var(--sg-text-main) !important;
  box-sizing: border-box !important;
  transition: var(--sg-transition) !important;
  outline: none !important;
  line-height: 1.5 !important;
}

.sg-form-card input:focus,
.sg-form-card select:focus,
.sg-form-card textarea:focus {
  border-color: var(--sg-primary) !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3.5px rgba(0, 119, 182, 0.15) !important;
}

.sg-form-card textarea {
  min-height: 100px;
  resize: vertical;
}

/* WPForms Smart Phone Input & Flag Dropdown */
.sg-form-card .iti {
  display: block !important;
  position: relative !important;
  width: 100% !important;
}

.sg-form-card .iti input[type="tel"] {
  padding-left: 52px !important;
}

.sg-form-card .iti__country-container {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 5 !important;
}

.sg-form-card .iti__selected-country {
  padding: 0 12px 0 14px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  outline: none !important;
}

.sg-form-card .iti__dropdown-content {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 999999 !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16) !important;
  max-height: 240px !important;
  overflow-y: auto !important;
  width: 320px !important;
  max-width: 90vw !important;
  margin-top: 6px !important;
  padding: 6px 0 !important;
}

.sg-form-card .iti__country-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sg-form-card .iti__country {
  padding: 9px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.885rem !important;
  color: var(--sg-text-main) !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

.sg-form-card .iti__country:hover,
.sg-form-card .iti__country.iti__highlight {
  background-color: #f1f5f9 !important;
  color: var(--sg-primary) !important;
}

.sg-form-card .iti__dial-code {
  color: var(--sg-text-muted) !important;
  font-size: 0.825rem !important;
  margin-left: auto !important;
}

/* WPForms Submit Button */
.sg-form-card .wpforms-submit-container {
  margin-top: 12px !important;
  padding: 0 !important;
}

.sg-form-card .wpforms-submit,
.sg-form-card button[type="submit"].wpforms-submit {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--sg-primary) !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  padding: 14px 28px !important;
  border-radius: var(--sg-radius-sm) !important;
  border: none !important;
  cursor: pointer !important;
  transition: var(--sg-transition) !important;
  box-shadow: 0 4px 14px rgba(0, 119, 182, 0.25) !important;
}

.sg-form-card .wpforms-submit:hover,
.sg-form-card button[type="submit"].wpforms-submit:hover {
  background: var(--sg-primary-dark) !important;
  box-shadow: 0 6px 20px rgba(0, 119, 182, 0.35) !important;
  transform: translateY(-2px) !important;
}

/* WPForms Error & Confirmation Notices */
.sg-form-card .wpforms-error-container,
.sg-form-card label.wpforms-error {
  color: #dc2626 !important;
  font-size: 0.825rem !important;
  margin-top: 4px !important;
  font-weight: 500 !important;
}

.sg-form-card .wpforms-confirmation-container-full {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  color: #166534 !important;
  padding: 20px !important;
  border-radius: var(--sg-radius-md) !important;
  font-weight: 500 !important;
  text-align: center !important;
}

/* ==========================================================================
   RICHIEDI I SERVIZI / FOOTER CTA UNIVERSAL STYLING (#0f2c59 & White Text)
   ========================================================================== */

.elementor-element-ef04bad,
.elementor-element-7aad1496,
.sg-richiedi-cta-banner,
.sg-footer-cta-box,
[data-id="cb635fe"] .elementor-column-wrap,
[data-id="cb635fe"] .elementor-widget-wrap,
[data-id="7677beee"] .elementor-column-wrap,
[data-id="7677beee"] .elementor-widget-wrap {
  background-color: #0f2c59 !important;
  color: #ffffff !important;
}

[data-id="cb635fe"] h1,
[data-id="cb635fe"] h2,
[data-id="cb635fe"] h3,
[data-id="cb635fe"] h4,
[data-id="cb635fe"] p,
[data-id="cb635fe"] span,
[data-id="cb635fe"] .elementor-heading-title,
[data-id="7677beee"] h1,
[data-id="7677beee"] h2,
[data-id="7677beee"] h3,
[data-id="7677beee"] h4,
[data-id="7677beee"] p,
[data-id="7677beee"] span,
[data-id="7677beee"] .elementor-heading-title {
  color: #ffffff !important;
}

/* Footer Richiedi un Servizio Form Centering & White Bar Removal */
[data-id="cb635fe"] .elementor-element-0bdde76,
[data-id="7677beee"] .elementor-element-0bdde76,
.elementor-element-0bdde76 {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

[data-id="cb635fe"] .elementor-element-dd697bc,
[data-id="7677beee"] .elementor-element-dd697bc,
.elementor-element-dd697bc {
  display: none !important;
}

[data-id="cb635fe"] .wpforms-container,
[data-id="7677beee"] .wpforms-container,
#wpforms-56681,
[data-id="cb635fe"] .elementor-widget-wpforms {
  max-width: 560px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

[data-id="cb635fe"] .wpforms-form,
[data-id="7677beee"] .wpforms-form {
  margin: 0 auto !important;
  width: 100% !important;
}

[data-id="cb635fe"] .wpforms-field,
[data-id="7677beee"] .wpforms-field {
  padding: 0 0 16px 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

[data-id="cb635fe"] .wpforms-field-label,
[data-id="7677beee"] .wpforms-field-label,
[data-id="cb635fe"] legend.wpforms-field-label,
[data-id="7677beee"] legend.wpforms-field-label {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

[data-id="cb635fe"] .wpforms-required-label,
[data-id="7677beee"] .wpforms-required-label {
  color: #38bdf8 !important;
}

[data-id="cb635fe"] input[type="text"],
[data-id="cb635fe"] input[type="email"],
[data-id="cb635fe"] input[type="tel"],
[data-id="cb635fe"] select,
[data-id="cb635fe"] textarea,
[data-id="7677beee"] input[type="text"],
[data-id="7677beee"] input[type="email"],
[data-id="7677beee"] input[type="tel"],
[data-id="7677beee"] select,
[data-id="7677beee"] textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 13px 18px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: var(--sg-radius-sm) !important;
  font-size: 1rem !important;
  color: var(--sg-text-main) !important;
  box-sizing: border-box !important;
  outline: none !important;
}

[data-id="cb635fe"] input:focus,
[data-id="7677beee"] input:focus,
[data-id="cb635fe"] select:focus,
[data-id="7677beee"] select:focus,
[data-id="cb635fe"] textarea:focus,
[data-id="7677beee"] textarea:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 3.5px rgba(56, 189, 248, 0.25) !important;
}

[data-id="cb635fe"] .wpforms-page-button,
[data-id="cb635fe"] .wpforms-submit,
[data-id="7677beee"] .wpforms-page-button,
[data-id="7677beee"] .wpforms-submit,
[data-id="cb635fe"] button[type="button"].wpforms-page-button,
[data-id="cb635fe"] button[type="submit"].wpforms-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 16px auto 0 !important;
  background-color: #ffffff !important;
  color: #0f2c59 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 13px 38px !important;
  border-radius: 999px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
  transition: var(--sg-transition) !important;
}

[data-id="cb635fe"] .wpforms-page-button:hover,
[data-id="cb635fe"] .wpforms-submit:hover,
[data-id="7677beee"] .wpforms-page-button:hover,
[data-id="7677beee"] .wpforms-submit:hover {
  background-color: #f1f5f9 !important;
  color: #061836 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Global WPForms Hidden Elements and Noscript Error Fix */
.wpforms-hidden,
.wpforms-error-noscript,
#wpforms-error-noscript,
div#wpforms-error-noscript {
  display: none !important;
}

[data-id="cb635fe"] .wpforms-field-checkbox label,
[data-id="7677beee"] .wpforms-field-checkbox label,
[data-id="cb635fe"] .wpforms-field-checkbox span,
[data-id="7677beee"] .wpforms-field-checkbox span {
  color: #ffffff !important;
}

/* Multi-Page Navigation and Pagebreak Centering */
.wpforms-field-pagebreak,
.wpforms-field-pagebreak .wpforms-clear,
.wpforms-pagebreak-left,
.wpforms-pagebreak-right,
.wpforms-pagebreak-center,
[data-id="cb635fe"] .wpforms-field-pagebreak,
[data-id="cb635fe"] .wpforms-pagebreak-left,
[data-id="7677beee"] .wpforms-field-pagebreak,
[data-id="7677beee"] .wpforms-pagebreak-left {
  float: none !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  clear: both !important;
}

.wpforms-page-button,
.wpforms-page-button.wpforms-page-next,
.wpforms-page-button.wpforms-page-prev,
button.wpforms-page-button,
[data-id="cb635fe"] .wpforms-page-button,
[data-id="7677beee"] .wpforms-page-button {
  float: none !important;
  margin: 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

[data-id="cb635fe"] .wpforms-page-button-container,
[data-id="7677beee"] .wpforms-page-button-container {
  text-align: center !important;
  margin-top: 14px !important;
}

[data-id="cb635fe"] .wpforms-submit-container[style*="display: none"],
[data-id="cb635fe"] .wpforms-submit-container[style*="display:none"],
[data-id="7677beee"] .wpforms-submit-container[style*="display: none"],
[data-id="7677beee"] .wpforms-submit-container[style*="display:none"],
.wpforms-container .wpforms-submit-container[style*="display: none"],
.wpforms-container .wpforms-submit-container[style*="display:none"] {
  display: none !important;
}

[data-id="cb635fe"] .wpforms-submit-container:not([style*="display: none"]):not([style*="display:none"]),
[data-id="7677beee"] .wpforms-submit-container:not([style*="display: none"]):not([style*="display:none"]) {
  text-align: center !important;
  margin-top: 14px !important;
}

/* Footer Logos/Partners Banner Section (White Background) */
.elementor-element-cbb05ba,
[data-id="cbb05ba"] {
  background-color: #ffffff !important;
  background: #ffffff !important;
  padding: 10px 0 20px !important;
}

/* Footer Bottom Legal & Accreditation Strip (Red Background #e31e25 & Refined Fonts) */
.elementor-element-cbdc007,
[data-id="cbdc007"] {
  background-color: #e31e25 !important;
  background: #e31e25 !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.elementor-element-cbdc007 .elementor-icon-list-item,
.elementor-element-cbdc007 .elementor-icon-list-text,
[data-id="cbdc007"] .elementor-icon-list-text {
  color: #ffffff !important;
  font-size: 0.775rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0.1px !important;
  text-align: center !important;
  opacity: 0.95;
}

.elementor-element-12b1967,
[data-id="12b1967"] {
  background-color: #e31e25 !important;
  background: #e31e25 !important;
  padding: 12px 16px !important;
}

.elementor-element-12b1967 .elementor-icon-list-text,
[data-id="12b1967"] .elementor-icon-list-text {
  color: #ffffff !important;
  font-size: 0.825rem !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.elementor-element-12b1967 a,
[data-id="12b1967"] a,
.elementor-element-12b1967 a .elementor-icon-list-text,
[data-id="12b1967"] a .elementor-icon-list-text {
  color: #ffffff !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease !important;
  opacity: 0.92;
}

.elementor-element-12b1967 a:hover,
[data-id="12b1967"] a:hover {
  opacity: 1 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   PAGE: APRI UN CENTRO & FRANCHISING TYPOGRAPHY CONTRAST FIXES
   ========================================================================== */

/* 1. Brochure Request Section [data-id="86ae2fb"] */
[data-id="86ae2fb"],
.elementor-element-86ae2fb {
  background-color: #0f2c59 !important;
  background: #0f2c59 !important;
  color: #ffffff !important;
}

[data-id="86ae2fb"] h1,
[data-id="86ae2fb"] h2,
[data-id="86ae2fb"] h3,
[data-id="86ae2fb"] h4,
[data-id="86ae2fb"] .elementor-heading-title {
  color: #ffffff !important;
}

[data-id="86ae2fb"] p,
[data-id="86ae2fb"] span,
[data-id="86ae2fb"] .elementor-text-editor {
  color: #cbd5e1 !important;
}

[data-id="86ae2fb"] .elementor-field-label,
[data-id="86ae2fb"] label {
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.925rem !important;
  margin-bottom: 6px !important;
}

[data-id="86ae2fb"] input[type="text"],
[data-id="86ae2fb"] input[type="email"],
[data-id="86ae2fb"] input[type="tel"],
[data-id="86ae2fb"] select,
[data-id="86ae2fb"] textarea {
  width: 100% !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  font-size: 0.95rem !important;
  box-sizing: border-box !important;
}

[data-id="86ae2fb"] input:focus,
[data-id="86ae2fb"] select:focus,
[data-id="86ae2fb"] textarea:focus {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.25) !important;
  outline: none !important;
}

[data-id="86ae2fb"] .elementor-field-type-checkbox label {
  color: #ffffff !important;
  font-weight: 400 !important;
}

[data-id="86ae2fb"] .elementor-button,
[data-id="86ae2fb"] button[type="submit"] {
  background-color: #e31e25 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 14px 36px !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(227, 30, 37, 0.3) !important;
  transition: var(--sg-transition) !important;
  cursor: pointer !important;
}

[data-id="86ae2fb"] .elementor-button:hover,
[data-id="86ae2fb"] button[type="submit"]:hover {
  background-color: #b91c1c !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(227, 30, 37, 0.4) !important;
}

/* 2. Custom Franchising Landing Page (.sg) Contrast & Clarity */
.sg {
  color: #1e293b !important;
}

.sg h1, .sg h2, .sg h3, .sg h4 {
  color: #0f2c59;
}

.sg p {
  color: #334155;
  line-height: 1.6;
}

/* Hero Section */
.sg .sg-hero {
  background: linear-gradient(135deg, #0f2c59 0%, #061836 100%) !important;
  color: #ffffff !important;
}

.sg .sg-hero h1 {
  color: #ffffff !important;
}

.sg .sg-eye {
  color: #7dd3fc !important;
}

.sg .sg-sub,
.sg .sg-hero-t {
  color: #e2e8f0 !important;
}

.sg .sg-hero-n {
  color: #bae6fd !important;
}

.sg .sg-cta {
  background-color: #ffffff !important;
  color: #0f2c59 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
}

.sg .sg-cta:hover {
  background-color: #f1f5f9 !important;
  color: #061836 !important;
}

/* Red Band / 3 Rate Section */
.sg .sg-band {
  background: linear-gradient(120deg, #e31e25 0%, #991b1b 100%) !important;
  color: #ffffff !important;
}

.sg .sg-band h2 {
  color: #ffffff !important;
}

.sg .sg-band p {
  color: #ffe4e6 !important;
}

.sg .sg-band-e {
  color: #fecdd3 !important;
}

/* Content Sections & Cards */
.sg .sg-sec-alt {
  background: #f8fafc !important;
}

.sg .sg-lead {
  color: #475569 !important;
  font-size: 1.1rem !important;
}

.sg .sg-why h3 {
  color: #0f2c59 !important;
}

.sg .sg-c2 h3 {
  color: #991b1b !important;
}

.sg .sg-can li {
  color: #1e293b !important;
  background: #ffffff !important;
  border-left: 3px solid #0076bd !important;
}

.sg .sg-grid2 > div,
.sg .sg-grid3 > div,
.sg .sg-req > div,
.sg .sg-pk {
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
}

.sg .sg-grid2 h4,
.sg .sg-grid3 h4,
.sg .sg-req b,
.sg .sg-affianco h4,
.sg .sg-h3 {
  color: #0f2c59 !important;
}

.sg .sg-grid2 p,
.sg .sg-grid3 p,
.sg .sg-affianco p,
.sg .sg-pk-d {
  color: #334155 !important;
}

.sg .sg-pk-s2 {
  color: #0f2c59 !important;
}

.sg .sg-pk .sg-pk-p {
  color: #0f2c59 !important;
}

.sg .sg-quote {
  background: #f0f9ff !important;
  border-bottom: 4px solid #bae6fd !important;
}

.sg .sg-quote blockquote {
  color: #0f2c59 !important;
}

.sg .sg-firma {
  color: #0076bd !important;
}

.sg .sg-firma span {
  color: #64748b !important;
}

.sg .sg-linea {
  background: #f0f9ff !important;
  border-left: 6px solid #0076bd !important;
}

.sg .sg-linea-txt h4 {
  color: #0f2c59 !important;
}

.sg .sg-linea-txt p {
  color: #334155 !important;
}

/* ==========================================================================
   RESPONSIVE DESIGN BREAKPOINTS
   ========================================================================== */

@media (max-width: 1024px) {
  .sg-hero-grid,
  .sg-contact-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .sg-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .sg-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .elementor-location-header .elementor-nav-menu--main {
    gap: 0px !important;
  }
  .elementor-location-header .elementor-nav-menu--main .elementor-item {
    padding: 6px 8px !important;
    font-size: 0.85rem !important;
  }
}

@media (max-width: 768px) {
  .sg-container {
    padding: 0 18px;
  }
  .sg-hero-section {
    padding: 44px 0 36px;
  }
  .sg-hero-title {
    font-size: 2.25rem !important;
  }
  .sg-services-section,
  .sg-how-it-works,
  .sg-contact-section {
    padding: 60px 0;
  }
  .sg-services-grid,
  .sg-steps-grid,
  .sg-stats-grid,
  .sg-contact-benefits-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .sg-network-banner {
    padding: 38px 24px;
  }
  .sg-contact-callout {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .sg-form-card {
    padding: 26px 20px;
  }
  .sg-hero-actions {
    flex-direction: column;
  }
}

/* ==========================================================================
   GLOBAL RED BUTTONS (All Pages & Components)
   ========================================================================== */
.elementor-button,
a.elementor-button,
button.elementor-button,
.elementor-button-link,
.elementor-widget-button a,
.elementor-widget-button .elementor-button,
.sg-btn-primary,
.button.button-primary,
.wpforms-submit,
button.wpforms-page-button,
button.wpforms-page-next {
  background-color: #e31e25 !important;
  color: #ffffff !important;
  border: 0px solid #e31e25 !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.elementor-button:hover,
a.elementor-button:hover,
button.elementor-button:hover,
.elementor-button-link:hover,
.elementor-widget-button a:hover,
.elementor-widget-button .elementor-button:hover,
.sg-btn-primary:hover,
.button.button-primary:hover,
.wpforms-submit:hover,
button.wpforms-page-button:hover,
button.wpforms-page-next:hover {
  background-color: #b91c1c !important;
  border: 0px solid #b91c1c !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(227, 30, 37, 0.3) !important;
}

.elementor-button .elementor-button-text,
.elementor-button-link .elementor-button-text,
.elementor-button .elementor-button-content-wrapper,
.elementor-button-link .elementor-button-content-wrapper,
.sg-btn-primary span,
.wpforms-submit span {
  color: #ffffff !important;
  font-weight: 500 !important;
}

.elementor-button .elementor-button-icon,
.elementor-button .elementor-button-icon i,
.elementor-button .elementor-button-icon svg,
.elementor-button-link .elementor-button-icon,
.elementor-button-link .elementor-button-icon i,
.elementor-button-link .elementor-button-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Preserve WhatsApp branding if present */
a.elementor-button[href*="wa.me"],
.elementor-element-a9870d8 .elementor-button {
  background-color: #25D366 !important;
  border-color: #25D366 !important;
  color: #ffffff !important;
}
a.elementor-button[href*="wa.me"]:hover,
.elementor-element-a9870d8 .elementor-button:hover {
  background-color: #128C7E !important;
  border-color: #128C7E !important;
  color: #ffffff !important;
}



/* ==========================================================================
   SERVICES GRID & CARDS MODERN REDESIGN (Page ID 27158)
   ========================================================================== */
.page-id-27158 .elementor-element-0c35c85 {
  padding: 60px 0 80px 0 !important;
  background: #f8fafc !important;
}

.page-id-27158 .elementor-element-0f1f0d2 .elementor-posts-container.elementor-posts--skin-cards {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post {
  display: flex !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__card {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 16px rgba(15, 44, 89, 0.05) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(227, 30, 37, 0.4) !important;
  box-shadow: 0 16px 36px rgba(15, 44, 89, 0.12), 0 0 0 1px rgba(227, 30, 37, 0.2) !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__thumbnail__link {
  display: block !important;
  overflow: hidden !important;
  background: #f1f5f9 !important;
  aspect-ratio: 16 / 11 !important;
  position: relative !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__thumbnail {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.45s ease !important;
  display: block !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: scale(1.06) !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__text {
  padding: 20px 18px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  flex-grow: 1 !important;
  background: #ffffff !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__title,
.page-id-27158 .elementor-posts--skin-cards .elementor-post__title a {
  font-family: inherit !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #0f2c59 !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: color 0.25s ease !important;
  text-decoration: none !important;
}

.page-id-27158 .elementor-posts--skin-cards .elementor-post__card:hover .elementor-post__title a {
  color: #e31e25 !important;
}

@media (max-width: 1200px) {
  .page-id-27158 .elementor-element-0f1f0d2 .elementor-posts-container.elementor-posts--skin-cards {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
  }
}

@media (max-width: 820px) {
  .page-id-27158 .elementor-element-0f1f0d2 .elementor-posts-container.elementor-posts--skin-cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}

@media (max-width: 520px) {
  .page-id-27158 .elementor-element-0f1f0d2 .elementor-posts-container.elementor-posts--skin-cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .page-id-27158 .elementor-posts--skin-cards .elementor-post__title a {
    font-size: 1rem !important;
  }
}






/* ==========================================================================
   PAGE: SUCCESSIONI (Page ID 57088)
   ========================================================================== */
.page-id-57088 .elementor-element-6865ca0,
.page-id-57088 .elementor-element-c8a20f8 {
  background-color: #0076BD !important;
  color: #ffffff !important;
  border-radius: 16px !important;
}

.page-id-57088 .elementor-element-6865ca0 .elementor-heading-title,
.page-id-57088 .elementor-element-c8a20f8 .elementor-heading-title,
.page-id-57088 .elementor-element-9ce1079 .elementor-heading-title,
.page-id-57088 .elementor-element-0e7846c .elementor-heading-title {
  color: #ffffff !important;
}

.page-id-57088 .elementor-element-6865ca0 .elementor-text-editor,
.page-id-57088 .elementor-element-6865ca0 .elementor-text-editor p,
.page-id-57088 .elementor-element-6865ca0 .elementor-text-editor span,
.page-id-57088 .elementor-element-c8a20f8 .elementor-text-editor,
.page-id-57088 .elementor-element-c8a20f8 .elementor-text-editor p,
.page-id-57088 .elementor-element-774e6dd p {
  color: #ffffff !important;
}

/* Light background sections on Successioni - sharp typography */
.page-id-57088 .elementor-element-87408a1 .elementor-heading-title,
.page-id-57088 .elementor-element-1a8b367 .elementor-heading-title,
.page-id-57088 .elementor-element-c1c0fb3 .elementor-heading-title,
.page-id-57088 .elementor-element-902a357 .elementor-heading-title,
.page-id-57088 .elementor-element-cfa29de .elementor-heading-title {
  color: #0f2c59 !important;
  font-weight: 700 !important;
}

.page-id-57088 .elementor-element-87408a1 .elementor-text-editor,
.page-id-57088 .elementor-element-1a8b367 .elementor-text-editor,
.page-id-57088 .elementor-element-c1c0fb3 .elementor-text-editor,
.page-id-57088 .elementor-element-902a357 .elementor-text-editor,
.page-id-57088 .elementor-element-cfa29de .elementor-text-editor {
  color: #334155 !important;
}

/* ==========================================================================
   PAGE: FORMAZIONE COSTANTE (Page ID 47285) & WELFARE AZIENDALE (Page ID 53503)
   ========================================================================== */
.page-id-47285 .elementor-element-e80a0e4 {
  background: #0076BD !important;
  background-image: none !important;
  border-radius: 20px !important;
  color: #ffffff !important;
}

.page-id-47285 .elementor-element-e80a0e4 p,
.page-id-47285 .elementor-element-e80a0e4 span,
.page-id-47285 .elementor-element-e80a0e4 strong,
.page-id-47285 .elementor-element-e80a0e4 b,
.page-id-47285 .elementor-element-752e946,
.page-id-47285 .elementor-element-752e946 p,
.page-id-47285 .elementor-element-752e946 span,
.page-id-47285 .elementor-element-29640e4,
.page-id-47285 .elementor-element-29640e4 p,
.page-id-47285 .elementor-element-29640e4 span {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.page-id-47285 .elementor-element-7249173 {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
}

.page-id-47285 .elementor-element-fd1401c p,
.page-id-47285 .elementor-element-fd1401c span {
  color: #334155 !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.page-id-47285 .elementor-element-fd1401c strong {
  color: #0f2c59 !important;
}

/* Welfare Aziendale (Page ID 53503) */
.page-id-53503 .elementor-element-3baa0a2,
.page-id-53503 .elementor-element-2387e1e {
  background-color: #0076BD !important;
  color: #ffffff !important;
  border-radius: 20px !important;
}

.page-id-53503 .elementor-element-3baa0a2 .elementor-heading-title,
.page-id-53503 .elementor-element-2387e1e .elementor-heading-title,
.page-id-53503 .elementor-element-ec784e7 .elementor-heading-title,
.page-id-53503 .elementor-element-f71b9e1 .elementor-heading-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.page-id-53503 .elementor-element-3baa0a2 .elementor-text-editor,
.page-id-53503 .elementor-element-3baa0a2 .elementor-text-editor p,
.page-id-53503 .elementor-element-3baa0a2 .elementor-text-editor span,
.page-id-53503 .elementor-element-2387e1e .elementor-text-editor,
.page-id-53503 .elementor-element-2387e1e .elementor-text-editor p,
.page-id-53503 .elementor-element-2387e1e .elementor-text-editor span,
.page-id-53503 .elementor-element-bb9078d p,
.page-id-53503 .elementor-element-39a789d p {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Welfare white section headings & text */
.page-id-53503 .elementor-element-dd686a3 .elementor-heading-title,
.page-id-53503 .elementor-element-a148cf6 .elementor-heading-title,
.page-id-53503 .elementor-element-49799d6 .elementor-heading-title,
.page-id-53503 .elementor-element-8370db5 .elementor-heading-title {
  color: #0f2c59 !important;
  font-weight: 700 !important;
}

.page-id-53503 .elementor-element-911671f p,
.page-id-53503 .elementor-element-2ca13c5 p,
.page-id-53503 .elementor-element-8d63972 p,
.page-id-53503 .elementor-element-d8ef422 p {
  color: #334155 !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Franchising I Vantaggi (Page ID 48359) */
.page-id-48359 .elementor-element-b5184f2 {
  background-color: #0076BD !important;
  color: #ffffff !important;
  border-radius: 20px !important;
}

.page-id-48359 .elementor-element-6267944,
.page-id-48359 .elementor-element-6267944 *,
.page-id-48359 .elementor-element-6267944 p,
.page-id-48359 .elementor-element-6267944 span,
.page-id-48359 .elementor-element-6267944 strong,
.page-id-48359 .elementor-element-6267944 b,
.page-id-48359 .elementor-element-6267944 ol,
.page-id-48359 .elementor-element-6267944 ul,
.page-id-48359 .elementor-element-6267944 li,
.page-id-48359 .elementor-element-6267944 li strong,
.page-id-48359 .elementor-element-6267944 li b,
.page-id-48359 .elementor-element-6267944 li span,
.page-id-48359 .elementor-element-6267944 li::marker,
.page-id-48359 .elementor-element-6267944 ol li::marker,
.page-id-48359 .elementor-element-00eee84,
.page-id-48359 .elementor-element-00eee84 *,
.page-id-48359 .elementor-element-00eee84 p,
.page-id-48359 .elementor-element-00eee84 span,
.page-id-48359 .elementor-element-00eee84 strong,
.page-id-48359 .elementor-element-00eee84 b,
.page-id-48359 .elementor-element-00eee84 ol,
.page-id-48359 .elementor-element-00eee84 ul,
.page-id-48359 .elementor-element-00eee84 li,
.page-id-48359 .elementor-element-00eee84 li strong,
.page-id-48359 .elementor-element-00eee84 li b,
.page-id-48359 .elementor-element-00eee84 li span,
.page-id-48359 .elementor-element-00eee84 li::marker,
.page-id-48359 .elementor-element-00eee84 ol li::marker,
.page-id-48359 .elementor-element-b5184f2,
.page-id-48359 .elementor-element-b5184f2 *,
.page-id-48359 .elementor-element-b5184f2 p,
.page-id-48359 .elementor-element-b5184f2 span,
.page-id-48359 .elementor-element-b5184f2 strong,
.page-id-48359 .elementor-element-b5184f2 b,
.page-id-48359 .elementor-element-b5184f2 ol,
.page-id-48359 .elementor-element-b5184f2 ul,
.page-id-48359 .elementor-element-b5184f2 li,
.page-id-48359 .elementor-element-b5184f2 li strong,
.page-id-48359 .elementor-element-b5184f2 li::marker,
.page-id-48359 .elementor-element-b5184f2 .elementor-heading-title {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.page-id-48359 .elementor-element-6267944 ol,
.page-id-48359 .elementor-element-6267944 ul,
.page-id-48359 .elementor-element-00eee84 ol,
.page-id-48359 .elementor-element-00eee84 ul,
.page-id-48359 .elementor-element-b5184f2 ol,
.page-id-48359 .elementor-element-b5184f2 ul {
  color: #ffffff !important;
  padding-left: 24px !important;
  margin: 16px 0 !important;
}

.page-id-48359 .elementor-element-6267944 li,
.page-id-48359 .elementor-element-00eee84 li,
.page-id-48359 .elementor-element-b5184f2 li {
  color: #ffffff !important;
  margin-bottom: 8px !important;
}

.page-id-48359 .elementor-element-dffbab5 a.elementor-button,
.page-id-48359 .elementor-element-dffbab5 .elementor-button {
  background-color: #e31e25 !important;
  color: #ffffff !important;
  border: 0px solid #e31e25 !important;
  font-weight: 500 !important;
}

/* IL FRANCHISING (Page ID 201) */
.page-id-201 .elementor-element-5d9b091 {
  background-color: #0076BD !important;
  color: #ffffff !important;
  border-radius: 20px !important;
}

.page-id-201 .elementor-element-796fbaa .elementor-heading-title,
.page-id-201 .elementor-element-5d9b091 .elementor-heading-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.page-id-201 .elementor-element-88dc0b7,
.page-id-201 .elementor-element-88dc0b7 *,
.page-id-201 .elementor-element-88dc0b7 p,
.page-id-201 .elementor-element-88dc0b7 span,
.page-id-201 .elementor-element-88dc0b7 strong,
.page-id-201 .elementor-element-88dc0b7 b,
.page-id-201 .elementor-element-88dc0b7 ol,
.page-id-201 .elementor-element-88dc0b7 ul,
.page-id-201 .elementor-element-88dc0b7 li,
.page-id-201 .elementor-element-88dc0b7 li::marker,
.page-id-201 .elementor-element-5d9b091 p,
.page-id-201 .elementor-element-5d9b091 span,
.page-id-201 .elementor-element-5d9b091 li {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.page-id-201 .elementor-element-ad51d5b a.elementor-button,
.page-id-201 .elementor-element-ad51d5b .elementor-button,
.page-id-201 .elementor-element-806c352 a.elementor-button,
.page-id-201 .elementor-element-806c352 .elementor-button {
  background-color: #e31e25 !important;
  color: #ffffff !important;
  border: 0px solid #e31e25 !important;
  font-weight: 500 !important;
}

/* Franchising Chi Puo Diventare Affiliato (Page ID 48403) */
.page-id-48403 .elementor-element-f04a39a {
  background: #0076BD !important;
  background-color: #0076BD !important;
  color: #ffffff !important;
  border-radius: 20px !important;
}

.page-id-48403 .elementor-element-8c94971 .elementor-heading-title,
.page-id-48403 .elementor-element-f04a39a .elementor-heading-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.page-id-48403 .elementor-element-877e1ad,
.page-id-48403 .elementor-element-877e1ad *,
.page-id-48403 .elementor-element-877e1ad p,
.page-id-48403 .elementor-element-877e1ad span,
.page-id-48403 .elementor-element-877e1ad strong,
.page-id-48403 .elementor-element-877e1ad b,
.page-id-48403 .elementor-element-877e1ad ol,
.page-id-48403 .elementor-element-877e1ad ul,
.page-id-48403 .elementor-element-877e1ad li,
.page-id-48403 .elementor-element-877e1ad li::marker,
.page-id-48403 .elementor-element-0c0d960,
.page-id-48403 .elementor-element-0c0d960 *,
.page-id-48403 .elementor-element-0c0d960 p,
.page-id-48403 .elementor-element-0c0d960 span,
.page-id-48403 .elementor-element-0c0d960 strong,
.page-id-48403 .elementor-element-0c0d960 b,
.page-id-48403 .elementor-element-0c0d960 ol,
.page-id-48403 .elementor-element-0c0d960 ul,
.page-id-48403 .elementor-element-0c0d960 li,
.page-id-48403 .elementor-element-0c0d960 li::marker,
.page-id-48403 .elementor-element-fb304fe,
.page-id-48403 .elementor-element-fb304fe *,
.page-id-48403 .elementor-element-fb304fe p,
.page-id-48403 .elementor-element-fb304fe span,
.page-id-48403 .elementor-element-fb304fe strong,
.page-id-48403 .elementor-element-fb304fe b,
.page-id-48403 .elementor-element-fb304fe ol,
.page-id-48403 .elementor-element-fb304fe ul,
.page-id-48403 .elementor-element-fb304fe li,
.page-id-48403 .elementor-element-fb304fe li::marker,
.page-id-48403 .elementor-element-f04a39a p,
.page-id-48403 .elementor-element-f04a39a span,
.page-id-48403 .elementor-element-f04a39a li {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.page-id-48403 .elementor-element-6e6fa79 a.elementor-button,
.page-id-48403 .elementor-element-6e6fa79 .elementor-button {
  background-color: #e31e25 !important;
  color: #ffffff !important;
  border: 0px solid #e31e25 !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   NEWS / POSTS SECTION STYLING
   ========================================================================== */
.elementor-post__title a {
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: lowercase !important;
  line-height: 17px !important;
  color: #505f74 !important;
}

.elementor-posts-container .elementor-post__thumbnail img {
  height: 230px;
  object-fit: cover;
}

