/* ============================================================
   INDUAIR THEME - CSS Principal
   Versión: 1.3.8
   Paleta: Navy #1B3068 | Orange #E8531A | White #FFFFFF
   ============================================================ */

/* ─────────────────────────────────────────────
   1. VARIABLES CSS
───────────────────────────────────────────── */
:root {
  --color-navy:       #1B3068;
  --color-navy-dark:  #132348;
  --color-navy-light: #234080;
  --color-orange:     #E8531A;
  --color-orange-dark:#C94415;
  --color-white:      #FFFFFF;
  --color-light-gray: #F5F7FA;
  --color-gray:       #6B7280;
  --color-dark:       #111827;
  --color-border:     #E5E7EB;

  --font-main:        'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --shadow-sm:        0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:        0 4px 12px rgba(0,0,0,.10), 0 2px 4px rgba(0,0,0,.06);
  --shadow-lg:        0 10px 30px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
  --shadow-xl:        0 20px 50px rgba(0,0,0,.15);

  --radius-sm:        6px;
  --radius-md:        10px;
  --radius-lg:        16px;
  --radius-xl:        24px;

  --transition:       0.25s ease;
  --section-pad:      80px;
}

/* ─────────────────────────────────────────────
   2. RESET Y BASE
───────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-main);
  color: var(--color-dark);
  background-color: var(--color-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--color-navy);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover { color: var(--color-orange); }

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Utilidades */
.bg-light-gray { background-color: var(--color-light-gray); }
.bg-navy       { background-color: var(--color-navy); }
.text-orange   { color: var(--color-orange) !important; }
.text-navy     { color: var(--color-navy) !important; }
.text-white-80 { color: rgba(255,255,255,.82); }
.fw-600        { font-weight: 600; }
.fw-700        { font-weight: 700; }
.section-padding { padding-top: var(--section-pad); padding-bottom: var(--section-pad); }
.section-padding-sm { padding-top: 2.5rem; padding-bottom: 2.5rem; }


/* ─────────────────────────────────────────────
   3. BOTONES
───────────────────────────────────────────── */
.btn {
  font-family: var(--font-main);
  font-weight: 600;
  border-radius: var(--radius-sm);
  transition: all var(--transition);
  letter-spacing: .01em;
}

/* Botón primario — Naranja */
.btn-primary {
  background-color: var(--color-orange) !important;
  border-color:     var(--color-orange) !important;
  color:            var(--color-white)  !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--color-orange-dark) !important;
  border-color:     var(--color-orange-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(232,83,26,.35) !important;
}
.btn-primary:active {
  transform: translateY(0);
}

/* Botón XL */
.btn-xl {
  padding: .85rem 2.2rem;
  font-size: 1.05rem;
}

/* Botón outline navy */
.btn-outline-dark {
  border-color: var(--color-navy);
  color:        var(--color-navy);
}
.btn-outline-dark:hover {
  background-color: var(--color-navy);
  color:            var(--color-white);
}

/* Botón outline primario */
.btn-outline-primary {
  border-color: var(--color-orange) !important;
  color:        var(--color-orange) !important;
}
.btn-outline-primary:hover {
  background-color: var(--color-orange) !important;
  color:            var(--color-white) !important;
}

/* Botón CTA Navbar */
.btn-cta-nav {
  background-color: var(--color-orange);
  color:            var(--color-white);
  border:           2px solid var(--color-orange);
  padding:          .45rem 1.2rem;
  border-radius:    var(--radius-sm);
  font-weight:      600;
  font-size:        .9rem;
  transition:       all var(--transition);
}
.btn-cta-nav:hover {
  background-color: var(--color-orange-dark);
  border-color:     var(--color-orange-dark);
  color:            var(--color-white);
  transform:        translateY(-1px);
}


/* ─────────────────────────────────────────────
   4. TOPBAR
───────────────────────────────────────────── */
.induair-topbar {
  background-color: var(--color-navy-dark);
  color:            rgba(255,255,255,.75);
  font-size:        .82rem;
  padding:          7px 0;
}
.induair-topbar a {
  color:       rgba(255,255,255,.75);
  transition:  color var(--transition);
}
.induair-topbar a:hover { color: var(--color-white); }
.induair-topbar i       { color: var(--color-orange); }

.topbar-social {
  display:          inline-flex;
  align-items:      center;
  justify-content:  center;
  width:            26px;
  height:           26px;
  background:       rgba(255,255,255,.1);
  border-radius:    50%;
  font-size:        .78rem;
  transition:       background var(--transition);
}
.topbar-social i { color: rgba(255,255,255,.8); }
.topbar-social:hover { background: var(--color-orange); }
.topbar-social:hover i { color: var(--color-white); }


/* ─────────────────────────────────────────────
   5. NAVBAR
───────────────────────────────────────────── */
.induair-navbar {
  background-color: var(--color-navy);
  padding:          14px 0;
  box-shadow:       0 2px 20px rgba(0,0,0,.15);
  transition:       all .3s ease;
}

/* Logo texto */
.logo-text {
  font-size:   1.55rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.logo-ind  { color: var(--color-white); }
.logo-uair { color: var(--color-orange); }

/* Logo INDUAIR en navbar: badge clara única (1.3.2) */
.induair-header-logo-badge {
  display:          inline-flex;
  align-items:      center;
  justify-content:  center;
  background:       rgba(255, 255, 255, 0.96);
  padding:          6px 12px;
  border-radius:    10px;
  box-shadow:       0 2px 12px rgba(0, 0, 0, 0.12);
}
.induair-header-logo-badge .induair-bundled-logo,
.induair-header-logo-badge .induair-header-logo,
.induair-header-logo-badge .custom-logo-img {
  display:    block;
  max-height: 48px;
  width:      auto;
  height:     auto;
}
.induair-header-logo-badge .logo-text {
  font-size: 1.45rem;
}

.induair-bundled-logo,
.induair-header-logo {
  display:    block;
  max-height: 52px;
  width:      auto;
  height:     auto;
}

.footer-custom-logo,
.footer-bundled-logo {
  display:    block;
  max-height: 48px;
  width:      auto;
  height:     auto;
}

.trust-doc-card__thumb img {
  display:    block;
  max-height: 420px;
  object-fit: contain;
  margin:     0 auto;
  background: rgba(255,255,255,.06);
}

/* Links del menú */
.induair-navbar .nav-link {
  color:       rgba(255,255,255,.85) !important;
  font-weight: 500;
  font-size:   .92rem;
  padding:     .5rem 1rem;
  border-radius: var(--radius-sm);
  transition:  all var(--transition);
  position:    relative;
}
.induair-navbar .nav-link::after {
  content:    '';
  position:   absolute;
  bottom:     2px;
  left:       50%;
  transform:  translateX(-50%) scaleX(0);
  width:      60%;
  height:     2px;
  background: var(--color-orange);
  border-radius: 2px;
  transition: transform .25s ease;
}
.induair-navbar .nav-link:hover,
.induair-navbar .nav-link.active {
  color: var(--color-white) !important;
}
.induair-navbar .nav-link:hover::after,
.induair-navbar .nav-link.active::after {
  transform: translateX(-50%) scaleX(1);
}

/* Toggler */
.navbar-toggler {
  border-color: rgba(255,255,255,.3);
  padding:      6px 10px;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Navbar scrolled */
.induair-navbar.scrolled {
  padding:    10px 0;
  box-shadow: 0 2px 30px rgba(0,0,0,.20);
}


/* ─────────────────────────────────────────────
   6. SECCIONES COMUNES
───────────────────────────────────────────── */
.section-badge {
  display:          inline-block;
  background-color: rgba(232,83,26,.1);
  color:            var(--color-orange);
  font-size:        .78rem;
  font-weight:      700;
  letter-spacing:   .08em;
  text-transform:   uppercase;
  padding:          5px 14px;
  border-radius:    50px;
  margin-bottom:    14px;
}
.section-badge--light {
  background-color: rgba(255,255,255,.15);
  color:            rgba(255,255,255,.9);
}

.section-title {
  font-size:   2rem;
  font-weight: 800;
  color:       var(--color-navy);
  line-height: 1.2;
  margin-bottom: 16px;
}
.section-title.text-white { color: var(--color-white); }

.section-subtitle {
  font-size:  1.05rem;
  color:      var(--color-gray);
  line-height: 1.7;
  margin-bottom: 0;
}

.lead-text {
  font-size:  1.12rem;
  color:      var(--color-gray);
  line-height: 1.8;
}

.about-text {
  font-size:     1rem;
  color:         #374151;
  line-height:   1.8;
  margin-bottom: 1rem;
}

/* ─── Checkmarks ─── */
.check-item {
  display:     flex;
  align-items: flex-start;
  gap:         10px;
  margin-bottom: 10px;
  font-size:   .95rem;
  color:       #374151;
}
.check-item i {
  margin-top:  2px;
  font-size:   1.05rem;
  flex-shrink: 0;
  color:       var(--color-orange);
}


/* ─────────────────────────────────────────────
   7. HERO SECTION (HOME)
───────────────────────────────────────────── */
.hero-section {
  position:         relative;
  min-height:       88vh;
  background-color: var(--color-navy);
  display:          flex;
  align-items:      center;
  overflow:         hidden;
}
.hero-bg-media,
.page-hero__media {
  position:   absolute;
  inset:      0;
  z-index:    0;
}
.hero-bg-media__img {
  width:      100%;
  height:     100%;
  object-fit: cover;
}
.hero-section.induair-hero--has-image {
  background-size:  cover;
  background-position: center;
}
.hero-section.induair-hero--no-image {
  background-image:
    linear-gradient(135deg, rgba(19,35,72,.96) 0%, rgba(27,48,104,.88) 55%, rgba(19,35,72,.92) 100%),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 32px,
      rgba(255,255,255,.028) 32px,
      rgba(255,255,255,.028) 33px
    );
}

.hero-overlay {
  position:         absolute;
  inset:            0;
  z-index:          1;
  background:       linear-gradient(
    135deg,
    rgba(19,35,72,.92) 0%,
    rgba(27,48,104,.80) 50%,
    rgba(19,35,72,.70) 100%
  );
}

.hero-content {
  position: relative;
  z-index:  2;
  padding-top:    100px;
  padding-bottom: 72px;
}

.min-vh-hero { min-height: 70vh; }

.hero-badge {
  display:          inline-flex;
  align-items:      center;
  background-color: rgba(232,83,26,.2);
  border:           1px solid rgba(232,83,26,.4);
  color:            rgba(255,255,255,.9);
  font-size:        .82rem;
  font-weight:      600;
  letter-spacing:   .04em;
  padding:          7px 16px;
  border-radius:    50px;
  margin-bottom:    24px;
  gap:              6px;
}
.hero-badge i { color: var(--color-orange); }

.hero-rectora {
  max-width:   44rem;
  line-height: 1.55;
  margin-top:  -4px;
  margin-bottom: 18px;
}

.services-section__all-link {
  font-weight: 600;
}
.services-section__all-link:hover {
  color: var(--color-orange) !important;
}

.hero-title {
  font-size:   clamp(2.1rem, 5vw, 3.15rem);
  font-weight: 900;
  color:       var(--color-white);
  line-height: 1.12;
  margin-bottom: 20px;
  max-width:   16ch;
}
.hero-title--long {
  max-width: none;
}

.hero-highlight {
  color: var(--color-orange);
}

.hero-subtitle {
  font-size:   1.08rem;
  color:       rgba(255,255,255,.88);
  line-height: 1.65;
  max-width:   40rem;
  margin-bottom: 32px;
}

.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-actions .btn { min-width: 200px; }

.hero-scroll-indicator {
  position:   absolute;
  bottom:     30px;
  left:       50%;
  transform:  translateX(-50%);
  color:      rgba(255,255,255,.4);
  font-size:  1.4rem;
  animation:  bounce 2.8s ease-in-out infinite;
  z-index:    2;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(8px); }
}

@media (max-width: 768px) {
  .hero-title    { font-size: 2.3rem; }
  .hero-subtitle { font-size: 1rem; }
  .hero-section  { min-height: 100vh; }
}


/* ─────────────────────────────────────────────
   8. STATS BAR
───────────────────────────────────────────── */
.stats-bar {
  background-color: var(--color-navy-dark);
  padding:          0;
}

.stats-row {
  border-top: 3px solid var(--color-orange);
}

.stat-item {
  padding:    28px 24px;
  border-right: 1px solid rgba(255,255,255,.1);
  text-align:   center;
  transition:   background var(--transition);
}
.stat-item:last-child,
.stat-item--last {
  border-right: none;
}
.stat-item:hover {
  background-color: rgba(255,255,255,.04);
}

.stat-number {
  font-size:   2.2rem;
  font-weight: 900;
  color:       var(--color-orange);
  line-height: 1;
  margin-bottom: 6px;
}

.stat-label {
  font-size:   .82rem;
  color:       rgba(255,255,255,.65);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 500;
}


/* ─────────────────────────────────────────────
   9. SERVICE CARDS (HOME)
───────────────────────────────────────────── */
.service-card {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding:       36px 32px;
  transition:    all var(--transition);
  position:      relative;
  overflow:      hidden;
}
.service-card::before {
  content:    '';
  position:   absolute;
  top:        0;
  left:       0;
  right:      0;
  height:     3px;
  background: var(--color-orange);
  transform:  scaleX(0);
  transition: transform .3s ease;
}
.service-card:hover {
  transform:  translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(27,48,104,.12);
}
.service-card:hover::before {
  transform: scaleX(1);
}

.service-card__icon {
  width:            56px;
  height:           56px;
  background-color: rgba(232,83,26,.1);
  border-radius:    var(--radius-md);
  display:          flex;
  align-items:      center;
  justify-content:  center;
  margin-bottom:    20px;
  transition:       background var(--transition);
}
.service-card__icon i {
  font-size:  1.7rem;
  color:      var(--color-orange);
}
.service-card:hover .service-card__icon {
  background-color: var(--color-orange);
}
.service-card:hover .service-card__icon i {
  color: var(--color-white);
}

.service-card__title {
  font-size:   1.15rem;
  font-weight: 700;
  color:       var(--color-navy);
  margin-bottom: 14px;
  letter-spacing: -.01em;
}

.service-card__desc {
  font-size:   .93rem;
  color:       var(--color-gray);
  line-height: 1.75;
  margin-bottom: 22px;
}

.service-card__link {
  font-size:   .88rem;
  font-weight: 600;
  color:       var(--color-orange);
  display:     inline-flex;
  align-items: center;
  gap:         6px;
  transition:  gap var(--transition);
}
.service-card:hover .service-card__link { gap: 10px; }

.service-card--thumb {
  padding-top: 20px;
}
.service-card__thumb-wrap {
  margin:      -20px -32px 16px;
  overflow:    hidden;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  max-height:  200px;
}
.service-card__thumb-img {
  width:       100%;
  height:      160px;
  object-fit:  cover;
}
@media (max-width: 576px) {
  .service-card__thumb-wrap {
    margin-left:  -24px;
    margin-right: -24px;
  }
}

.trust-pillars .trust-pillar__title {
  font-size: 1rem;
  letter-spacing: .02em;
}

.faq-accordion .accordion-button {
  font-weight: 600;
  color: var(--color-navy);
}
.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--color-orange);
  background-color: rgba(232, 83, 26, 0.06);
}


/* ─────────────────────────────────────────────
   10. ABOUT PREVIEW SECTION
───────────────────────────────────────────── */
.about-img-wrapper {
  position:     relative;
}

/* Imágenes de contenido / fallback visual (sin texto) */
.about-img-frame,
.service-media-col {
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 320px;
}
@media (min-width: 992px) {
  .about-img-frame,
  .service-media-col { min-height: 400px; }
}
.induair-content-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 320px;
}
.induair-media-fallback {
  position: relative;
  min-height: 320px;
  background:
    linear-gradient(145deg, #e8ecf3 0%, #dce3ee 45%, #cfd8e6 100%);
  border: 1px solid var(--color-border);
}
@media (min-width: 992px) {
  .induair-media-fallback { min-height: 400px; }
}
.induair-media-fallback__pattern {
  position: absolute;
  inset: 0;
  opacity: .45;
  background:
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 14px,
      rgba(27,48,104,.06) 14px,
      rgba(27,48,104,.06) 15px
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 14px,
      rgba(232,83,26,.05) 14px,
      rgba(232,83,26,.05) 15px
    );
}

.about-badge-overlay {
  position: absolute;
  bottom:  -20px;
  right:   -20px;
}
.about-badge-circle {
  width:         110px;
  height:        110px;
  background:    var(--color-orange);
  border-radius: 50%;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  justify-content: center;
  box-shadow:    var(--shadow-md);
  border:        4px solid var(--color-white);
}
.about-badge-num {
  font-size:   1.5rem;
  font-weight: 900;
  color:       var(--color-white);
  line-height: 1;
}
.about-badge-txt {
  font-size:   .65rem;
  color:       rgba(255,255,255,.85);
  text-align:  center;
  line-height: 1.3;
}

/* Checkmarks de about */
.about-checkmarks { display: flex; flex-direction: column; gap: 8px; }

/* Stats de about page */
.about-stats-row {
  display:   flex;
  gap:       30px;
  flex-wrap: wrap;
}
.about-stat {
  display:        flex;
  flex-direction: column;
  gap:            4px;
}
.about-stat__num {
  font-size:   2rem;
  font-weight: 900;
  color:       var(--color-orange);
  line-height: 1;
}
.about-stat__label {
  font-size:  .8rem;
  color:      var(--color-gray);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 500;
}


/* ─────────────────────────────────────────────
   11. WHY CARDS
───────────────────────────────────────────── */
.why-card {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding:       28px;
  transition:    all var(--transition);
  height:        100%;
}
.why-card:hover {
  transform:    translateY(-4px);
  box-shadow:   var(--shadow-md);
  border-color: rgba(232,83,26,.2);
}

.why-card__num {
  font-size:   2.5rem;
  font-weight: 900;
  color:       rgba(232,83,26,.15);
  line-height: 1;
  margin-bottom: 14px;
}
.why-card:hover .why-card__num { color: rgba(232,83,26,.25); }

.why-card__title {
  font-size:   1rem;
  font-weight: 700;
  color:       var(--color-navy);
  margin-bottom: 10px;
}
.why-card h3.why-card__title { margin-top: 0; }

.why-card__desc {
  font-size:   .9rem;
  color:       var(--color-gray);
  line-height: 1.7;
  margin:      0;
}


/* ─────────────────────────────────────────────
   12. BRANDS
───────────────────────────────────────────── */
.brands-label {
  font-size:   .82rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:       var(--color-gray);
  font-weight: 600;
}

.brands-list {
  display:         flex;
  flex-wrap:       wrap;
  justify-content: center;
  gap:             12px;
}

.brand-tag {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: 50px;
  padding:       8px 22px;
  font-size:     .88rem;
  font-weight:   600;
  color:         var(--color-navy);
  transition:    all var(--transition);
}
.brand-tag:hover {
  border-color:    var(--color-orange);
  color:           var(--color-orange);
  background:      rgba(232,83,26,.05);
}


/* ─────────────────────────────────────────────
   13. CTA SECTION
───────────────────────────────────────────── */
.cta-section { background-color: var(--color-navy); }

.cta-section .btn-outline-light {
  border-width:   2px;
  border-color:   rgba(255,255,255,.88);
  color:          #ffffff;
  background-color: rgba(255,255,255,.06);
}
.cta-section .btn-outline-light:hover,
.cta-section .btn-outline-light:focus {
  background-color: rgba(255,255,255,.18);
  border-color:     #ffffff;
  color:              #ffffff;
}

.cta-box {
  padding: 60px 40px;
}

.cta-title {
  font-size:   2.4rem;
  font-weight: 900;
  color:       var(--color-white);
  margin-bottom: 16px;
}

.cta-subtitle {
  font-size:  1.1rem;
  color:      rgba(255,255,255,.75);
  max-width:  580px;
  margin:     0 auto;
  line-height: 1.7;
}

.cta-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

.cta-note {
  font-size:  .85rem;
  color:      rgba(255,255,255,.55);
  margin-top: 12px;
}

@media (max-width: 576px) {
  .cta-title     { font-size: 1.8rem; }
  .cta-box       { padding: 40px 20px; }
  .hero-actions .btn { min-width: 100%; }
}


/* ─────────────────────────────────────────────
   14. PAGE HERO
───────────────────────────────────────────── */
.page-hero {
  position:         relative;
  background-color: var(--color-navy);
  padding-top:      120px;
  padding-bottom:   72px;
  overflow:         hidden;
}
.page-hero--inner.induair-hero--has-image {
  background-size:  cover;
  background-position: center;
}
.page-hero--inner.induair-hero--no-image {
  background-image:
    linear-gradient(135deg, rgba(19,35,72,.96) 0%, rgba(27,48,104,.88) 55%, rgba(19,35,72,.92) 100%),
    repeating-linear-gradient(
      -12deg,
      transparent,
      transparent 28px,
      rgba(255,255,255,.028) 28px,
      rgba(255,255,255,.028) 29px
    );
}

.page-hero__overlay {
  position:   absolute;
  inset:      0;
  z-index:    1;
  background: linear-gradient(135deg, rgba(19,35,72,.93) 0%, rgba(27,48,104,.82) 100%);
}

.page-hero__content {
  position: relative;
  z-index:  2;
}

.page-hero__title {
  font-size:   2.8rem;
  font-weight: 900;
  color:       var(--color-white);
  margin-bottom: 16px;
}

.page-hero__subtitle {
  font-size:   1.1rem;
  color:       rgba(255,255,255,.8);
  max-width:   600px;
  line-height: 1.7;
}

.breadcrumb-hero {
  background:  transparent;
  padding:     0;
  margin:      0;
}
.breadcrumb-hero .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255,255,255,.4);
  content: "›";
}
.breadcrumb-hero a {
  color:   rgba(255,255,255,.6);
  font-size: .85rem;
}
.breadcrumb-hero a:hover  { color: var(--color-white); }
.breadcrumb-hero .active  { color: rgba(255,255,255,.85); font-size: .85rem; }

@media (max-width: 768px) {
  .page-hero__title { font-size: 2rem; }
  .page-hero { padding-top: 110px; padding-bottom: 60px; }
}


/* ─────────────────────────────────────────────
   15. SERVICIOS PAGE — SERVICE DETAIL
───────────────────────────────────────────── */
.service-detail__icon {
  width:            52px;
  height:           52px;
  background-color: rgba(232,83,26,.1);
  border-radius:    var(--radius-md);
  display:          flex;
  align-items:      center;
  justify-content:  center;
  margin-bottom:    16px;
}
.service-detail__icon i {
  font-size: 1.5rem;
  color:     var(--color-orange);
}

.service-includes { display: flex; flex-direction: column; gap: 8px; }

.highlight-box {
  background:    rgba(232,83,26,.06);
  border:        1px solid rgba(232,83,26,.2);
  border-left:   4px solid var(--color-orange);
  border-radius: var(--radius-sm);
  padding:       18px 20px;
  display:       flex;
  align-items:   flex-start;
  gap:           14px;
  font-size:     .95rem;
  color:         #374151;
}
.highlight-box__icon {
  font-size:   1.4rem;
  color:       var(--color-orange);
  flex-shrink: 0;
  margin-top:  2px;
}


/* ─────────────────────────────────────────────
   16. NOSOTROS PAGE
───────────────────────────────────────────── */
/* DMD Section */
.dmd-section .dmd-benefit__text {
  color: rgba(255, 255, 255, 0.92);
}
.bg-navy .text-white-80,
.dmd-section .text-white-80 {
  color: rgba(255, 255, 255, 0.92) !important;
}

.dmd-section .about-text.text-white-80 {
  color: rgba(255, 255, 255, 0.94) !important;
}

.bg-navy .section-badge,
.dmd-section .section-badge--light {
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.dmd-benefits {
  display:        flex;
  flex-direction: column;
  gap:            18px;
}
.dmd-benefit {
  display:     flex;
  align-items: flex-start;
  gap:         16px;
}
.dmd-benefit__icon {
  width:            46px;
  height:           46px;
  background:       rgba(255,255,255,.12);
  border-radius:    var(--radius-md);
  display:          flex;
  align-items:      center;
  justify-content:  center;
  flex-shrink:      0;
  font-size:        1.2rem;
  color:            var(--color-orange);
}
.dmd-benefit__text {
  font-size:   .95rem;
  color:       rgba(255, 255, 255, 0.92);
  line-height: 1.55;
}
.dmd-benefit__text strong { color: var(--color-white); }

.dmd-logo-box {
  background:    #ffffff;
  border:        none;
  border-radius: 18px;
  padding:       20px 24px;
  box-shadow:    0 18px 45px rgba(0, 0, 0, 0.22);
  display:       inline-flex;
  flex-direction: column;
  align-items:   center;
  gap:           12px;
}
.dmd-respaldo-logo {
  max-height:   96px;
  width:        auto;
  object-fit:   contain;
}
.dmd-logo-img {
  display:    block;
  max-width:  100%;
  max-height: 88px;
  width:      auto;
  height:     auto;
  object-fit: contain;
}
.dmd-logo-box--on-navy {
  padding: 24px 28px;
}
.dmd-logo-box--on-navy .dmd-logo-img {
  max-height: 72px;
}
.induair-turnstile-wrap {
  min-height: 1px;
}
.induair-turnstile-wrap .cf-turnstile {
  display: inline-block;
}
.dmd-logo-text {
  font-size:   5rem;
  font-weight: 900;
  color:       var(--color-white);
  letter-spacing: -.05em;
  line-height: 1;
}
.dmd-logo-sub {
  font-size:   .85rem;
  color:       #475569;
  text-align:  center;
  line-height: 1.5;
}
.dmd-cert-badge {
  background:    var(--color-orange);
  color:         var(--color-white);
  font-size:     .82rem;
  font-weight:   700;
  padding:       6px 18px;
  border-radius: 50px;
}

/* Values */
.value-card {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding:       36px 28px;
  transition:    all var(--transition);
}
.value-card:hover {
  transform:    translateY(-4px);
  box-shadow:   var(--shadow-md);
  border-color: rgba(232,83,26,.2);
}
.value-card__icon {
  width:            60px;
  height:           60px;
  background:       rgba(27,48,104,.08);
  border-radius:    50%;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  margin:           0 auto 18px;
  transition:       all var(--transition);
}
.value-card__icon i {
  font-size:  1.6rem;
  color:      var(--color-navy);
}
.value-card:hover .value-card__icon {
  background: var(--color-orange);
}
.value-card:hover .value-card__icon i { color: var(--color-white); }

.value-card__title {
  font-size:   1.05rem;
  font-weight: 700;
  color:       var(--color-navy);
  margin-bottom: 12px;
}
.value-card__desc {
  font-size:   .9rem;
  color:       var(--color-gray);
  line-height: 1.7;
  margin:      0;
}

/* Sectores */
.sector-card {
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding:       24px 16px;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  gap:           10px;
  transition:    all var(--transition);
}
.sector-card:hover {
  border-color: var(--color-orange);
  box-shadow:   var(--shadow-sm);
  transform:    translateY(-2px);
}
.sector-icon {
  font-size:  2rem;
  color:      var(--color-navy);
  transition: color var(--transition);
}
.sector-card:hover .sector-icon { color: var(--color-orange); }
.sector-name {
  font-size:   .85rem;
  font-weight: 600;
  color:       var(--color-navy);
}

.sector-desc {
  font-size:  .75rem;
  line-height: 1.35;
  text-align: center;
  max-width:  14rem;
}


/* ─────────────────────────────────────────────
   17. CONTACTO PAGE
───────────────────────────────────────────── */
/* Formulario */
.contact-form-wrapper { }
.induair-form .form-control,
.induair-form .form-select {
  border:       1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family:  var(--font-main);
  font-size:    .95rem;
  transition:   border-color var(--transition), box-shadow var(--transition);
}
.induair-form .form-control:focus,
.induair-form .form-select:focus {
  border-color: var(--color-orange);
  box-shadow:   0 0 0 3px rgba(232,83,26,.12);
}
.induair-form .form-floating label {
  color: var(--color-gray);
  font-size: .9rem;
}
.text-orange { color: var(--color-orange); }

.form-disclaimer {
  font-size:  .82rem;
  color:      var(--color-gray);
  margin:     0;
}

/* Feedback */
#formFeedback {
  padding:       16px 20px;
  border-radius: var(--radius-md);
  font-size:     .95rem;
  font-weight:   500;
}
#formFeedback.success {
  background:    rgba(34,197,94,.1);
  border:        1px solid rgba(34,197,94,.3);
  color:         #15803d;
  display:       flex;
  flex-wrap:     wrap;
  align-items:   baseline;
  column-gap:    0.35rem;
}
#formFeedback.error {
  background:  rgba(239,68,68,.08);
  border:      1px solid rgba(239,68,68,.25);
  color:       #b91c1c;
}

/* Info cards */
.contact-info-wrapper { }
.contact-info-title {
  font-size:   1.3rem;
  font-weight: 700;
  color:       var(--color-navy);
  margin-bottom: 0;
}

.contact-info-cards {
  display:        flex;
  flex-direction: column;
  gap:            12px;
}

.contact-info-card {
  display:       flex;
  align-items:   center;
  gap:           16px;
  background:    var(--color-white);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding:       16px 18px;
  transition:    all var(--transition);
  color:         var(--color-dark);
}
.contact-info-card:hover {
  border-color: var(--color-orange);
  box-shadow:   var(--shadow-sm);
  transform:    translateX(4px);
}
.contact-info-card--wa { border-color: rgba(34,197,94,.3); }
.contact-info-card--wa:hover { border-color: #22c55e; }
.contact-info-card--static { cursor: default; }
.contact-info-card--static:hover { transform: none; }

.contact-info-card__icon {
  width:           46px;
  height:          46px;
  border-radius:   var(--radius-sm);
  display:         flex;
  align-items:     center;
  justify-content: center;
  flex-shrink:     0;
  font-size:       1.2rem;
  color:           var(--color-white);
}
.bg-green { background-color: #22c55e; }
.bg-navy  { background-color: var(--color-navy); }
.bg-orange{ background-color: var(--color-orange); }

.contact-info-card__content {
  display:        flex;
  flex-direction: column;
  gap:            2px;
}
.contact-info-card__content strong {
  font-size:  .88rem;
  color:      var(--color-navy);
  font-weight: 700;
}
.contact-info-card__content span {
  font-size:  .84rem;
  color:      var(--color-gray);
}
.contact-info-card__cta {
  font-size:   .78rem !important;
  color:       var(--color-orange) !important;
  font-weight: 600 !important;
}

/* Horarios */
.contact-horarios {
  background:    var(--color-light-gray);
  border-radius: var(--radius-md);
  padding:       20px 22px;
}
.contact-horarios__title {
  font-size:   1rem;
  font-weight: 700;
  color:       var(--color-navy);
  margin-bottom: 14px;
}
.horarios-table { width: 100%; font-size: .88rem; border-collapse: collapse; }
.horarios-table td { padding: 5px 0; }
.horarios-table td:last-child { text-align: right; color: var(--color-navy); }

/* Promise */
.promise-item { padding: 30px 20px; }
.promise-icon {
  width:            64px;
  height:           64px;
  background:       rgba(232,83,26,.1);
  border-radius:    50%;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  margin:           0 auto 16px;
}
.promise-icon i    { font-size: 1.6rem; color: var(--color-orange); }
.promise-title     { font-size: 1rem; font-weight: 700; color: var(--color-navy); margin-bottom: 8px; }
.promise-text      { font-size: .88rem; color: var(--color-gray); line-height: 1.6; margin: 0; }


/* ─────────────────────────────────────────────
   18. FOOTER
───────────────────────────────────────────── */
.induair-footer { background-color: var(--color-navy-dark); }

/* Banda CTA footer */
.footer-cta-band {
  background:    linear-gradient(135deg, var(--color-orange) 0%, var(--color-orange-dark) 100%);
  padding:       36px 0;
}
.footer-cta-title {
  font-size:   1.5rem;
  font-weight: 800;
  color:       var(--color-white);
  margin:      0 0 6px;
}
.footer-cta-sub {
  font-size:   .95rem;
  color:       rgba(255,255,255,.85);
  margin:      0;
}

/* Cuerpo */
.footer-body { padding: 60px 0 40px; }

.footer-brand .footer-logo-link {
  font-size:   1.8rem;
  font-weight: 900;
  letter-spacing: -.02em;
}
.footer-logo-ind  { color: var(--color-white); }
.footer-logo-uair { color: var(--color-orange); }

.footer-desc {
  font-size:   .9rem;
  color:       rgba(255,255,255,.6);
  line-height: 1.7;
  max-width:   320px;
}

.footer-social {
  display:  flex;
  gap:      10px;
}
.footer-social a {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           36px;
  height:          36px;
  background:      rgba(255,255,255,.1);
  border-radius:   50%;
  color:           rgba(255,255,255,.7);
  font-size:       .95rem;
  transition:      all var(--transition);
}
.footer-social a:hover {
  background:      var(--color-orange);
  color:           var(--color-white);
  transform:       translateY(-2px);
}

.footer-heading {
  font-size:     .8rem;
  font-weight:   700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color:         rgba(255,255,255,.4);
  margin-bottom: 18px;
}

.footer-links {
  list-style:  none;
  padding:     0;
  margin:      0;
  display:     flex;
  flex-direction: column;
  gap:         10px;
}
.footer-links a {
  font-size:   .88rem;
  color:       rgba(255,255,255,.6);
  transition:  color var(--transition);
  display:     inline-flex;
  align-items: center;
  gap:         6px;
}
.footer-links a:hover { color: var(--color-orange); }

.footer-contact-list {
  list-style:     none;
  padding:        0;
  margin:         0;
  display:        flex;
  flex-direction: column;
  gap:            12px;
}
.footer-contact-list li {
  display:     flex;
  align-items: flex-start;
  gap:         10px;
  font-size:   .88rem;
  color:       rgba(255,255,255,.6);
}
.footer-contact-list li i {
  color:       var(--color-orange);
  margin-top:  2px;
  flex-shrink: 0;
}
.footer-contact-list a {
  color:      rgba(255,255,255,.6);
  transition: color var(--transition);
}
.footer-contact-list a:hover { color: var(--color-orange); }

/* Barra bottom */
.footer-bottom {
  border-top:  1px solid rgba(255,255,255,.08);
  padding:     20px 0;
}
.footer-bottom p      { font-size: .83rem; color: rgba(255,255,255,.4); }
.footer-bottom-links  { font-size: .83rem; }
.footer-bottom-links a {
  color:      rgba(255,255,255,.4);
  transition: color var(--transition);
}
.footer-bottom-links a:hover { color: rgba(255,255,255,.8); }


/* ─────────────────────────────────────────────
   19. WHATSAPP FLOTANTE
───────────────────────────────────────────── */
.whatsapp-float {
  position:        fixed;
  bottom:          30px;
  right:           30px;
  width:           58px;
  height:          58px;
  background:      #25D366;
  border-radius:   50%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       1.6rem;
  color:           var(--color-white);
  box-shadow:      0 4px 16px rgba(37,211,102,.4);
  z-index:         1000;
  transition:      all .3s ease;
}
.whatsapp-float:hover {
  background:      #1ebe5d;
  color:           var(--color-white);
  transform:       scale(1.1);
  box-shadow:      0 6px 24px rgba(37,211,102,.55);
}
.whatsapp-tooltip {
  position:    absolute;
  right:       70px;
  bottom:      50%;
  transform:   translateY(50%);
  background:  rgba(0,0,0,.8);
  color:       var(--color-white);
  font-size:   .78rem;
  padding:     6px 12px;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  opacity:     0;
  pointer-events: none;
  transition:  opacity .2s ease;
}
.whatsapp-float:hover .whatsapp-tooltip { opacity: 1; }


/* ─────────────────────────────────────────────
   20. FOOTER CTA BAND
───────────────────────────────────────────── */
.footer-cta-band .btn-outline-light {
  border-width:   2px;
  border-color:   rgba(255,255,255,.88);
  color:          #ffffff;
  background-color: rgba(255,255,255,.06);
}
.footer-cta-band .btn-outline-light:hover,
.footer-cta-band .btn-outline-light:focus {
  background-color: rgba(255,255,255,.18);
  border-color:     #ffffff;
  color:              #ffffff;
}
.footer-cta-band .btn-primary {
  background-color: var(--color-navy) !important;
  border-color:     var(--color-navy) !important;
}
.footer-cta-band .btn-primary:hover {
  background-color: var(--color-navy-dark) !important;
}


/* ─────────────────────────────────────────────
   21. CONTENT PAGE (page.php)
───────────────────────────────────────────── */
.page-content {
  font-size:   1rem;
  line-height: 1.8;
  color:       #374151;
}
.page-content h1, .page-content h2, .page-content h3 { color: var(--color-navy); }
.page-content a { color: var(--color-orange); }


/* ─────────────────────────────────────────────
   22. RESPONSIVE MOBILE
───────────────────────────────────────────── */
@media (max-width: 991px) {
  .induair-navbar .collapse { background: var(--color-navy-dark); padding: 16px; border-radius: 0 0 var(--radius-md) var(--radius-md); }
  .induair-navbar .nav-link { padding: .6rem .5rem; }
  .about-badge-overlay { display: none; }
  :root { --section-pad: 60px; }
}

@media (max-width: 576px) {
  .section-title   { font-size: 1.6rem; }
  .stat-number     { font-size: 1.8rem; }
  .cta-title       { font-size: 1.7rem; }
  .footer-body     { padding: 40px 0 30px; }
  .footer-cta-band { padding: 28px 0; }
  .whatsapp-float  { bottom: 20px; right: 20px; width: 52px; height: 52px; }
}

/* Cobertura territorial (home) */
.cobertura-territorial__list { line-height: 1.55; }
.cobertura-territorial__item .text-orange { margin-right: 0.25rem; }

/* Logo cloud — empresas (tras trust-intro mismo fondo: línea suave de corte) */
.trust-intro-section + .client-logos-section {
  border-top: 1px solid var(--color-border);
}

.client-logos-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.25rem 1.75rem;
}
.client-logos-grid__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0.5rem 0.75rem;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition), box-shadow var(--transition), filter var(--transition);
}
.client-logos-grid__item:hover {
  border-color: rgba(27, 48, 104, 0.2);
  box-shadow: var(--shadow-md);
}
.client-logos-grid__img {
  max-height: 3rem;
  width: auto;
  max-width: 9rem;
  object-fit: contain;
  filter: grayscale(0.35);
  opacity: 0.92;
  transition: filter var(--transition), opacity var(--transition);
}
.client-logos-grid__item:hover .client-logos-grid__img {
  filter: grayscale(0);
  opacity: 1;
}

.induair-hp-wrap {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* ─────────────────────────────────────────────
   23. GALERÍA DE FOTOS EN PLANTA
───────────────────────────────────────────── */
.photo-gallery-item {
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 4 / 3;
  background: var(--color-border);
}
.photo-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease, filter .4s ease;
  filter: brightness(0.97);
}
.photo-gallery-item:hover .photo-gallery-img {
  transform: scale(1.04);
  filter: brightness(1);
}


/* ─────────────────────────────────────────────
   24. RESPONSIVE MOBILE — MEJORAS
───────────────────────────────────────────── */

/* Navbar mobile: menú visible y bien espaciado */
@media (max-width: 991px) {
  .induair-navbar .navbar-nav {
    padding-bottom: .5rem;
  }
  .induair-navbar .nav-link {
    border-bottom: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
  }
  .induair-navbar .nav-item:last-of-type .nav-link {
    border-bottom: none;
  }
  .induair-navbar .ms-lg-3 {
    padding-top: .75rem;
  }
  .trust-pillars .row { --bs-gutter-y: 1rem; }
  .hero-section { min-height: 58vh; }
  .min-vh-hero { min-height: 50vh; }
  .induair-navbar .navbar-collapse { max-height: calc(100vh - 80px); overflow-y: auto; }
  .induair-navbar .btn-cta-nav { width: 100%; text-align: center; }
  .induair-header-logo,
  .induair-bundled-logo { max-width: 160px; height: auto; }
}

@media (max-width: 576px) {
  /* Hero */
  .hero-title { font-size: 1.9rem; line-height: 1.15; }
  .hero-subtitle { font-size: .95rem; }
  .hero-actions { flex-direction: column; gap: .75rem; }
  .hero-actions .btn { min-width: 100%; }

  .trust-pillars .row-cols-1 .trust-pillar { width: 100%; max-width: 100%; flex: 0 0 100%; }

  .service-card { padding: 1.1rem 1rem; }
  .service-card--thumb { padding-top: 0; }
  .service-card__thumb-wrap { margin: 0 -1rem 0.75rem; border-radius: 0; }
  .row-cols-lg-5 .col { margin-bottom: 0.5rem; }
  .client-logos-section .small { font-size: 0.8rem; line-height: 1.4; }

  /* About section */
  .about-img-frame,
  .service-media-col { min-height: 220px; }
  .induair-content-img { min-height: 220px; }

  /* Proceso / how we work */
  .proceso-step { padding: 20px 16px; }

  /* FAQ */
  .faq-section .accordion-button { font-size: .95rem; }

  /* Footer: columnas apiladas */
  .footer-body .row > [class*="col"] { margin-bottom: 1.5rem; }

  /* CTA band: texto más chico */
  .cta-title { font-size: 1.5rem; }
  .cta-band .btn { min-width: 100%; }

  /* Galería fotos: 2 cols en xs */
  .photos-gallery-section .row { --bs-gutter-x: .5rem; --bs-gutter-y: .5rem; }
}

/* Cobertura section: sin overflow en mobile */
@media (max-width: 767px) {
  .cobertura-territorial__list { text-align: left !important; }
  .cobertura-territorial__item { display: block; margin-bottom: .4rem; }
  .cobertura-territorial__item .text-orange { display: inline; }
}

/* Stats bar: 2 columnas en mobile */
@media (max-width: 575px) {
  .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .stat-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.1); }
  .stats-row { border-top-width: 2px; }
}

/* Client logos: centrar y reducir tamaño en mobile */
@media (max-width: 575px) {
  .client-logos-grid { gap: .75rem 1rem; }
  .client-logos-grid__img { max-height: 2.2rem; max-width: 7rem; }
}
