/*
Theme Name: Inspiro Child
Theme URI: https://www.wpzoom.com/themes/inspiro
Template: inspiro
Description: This is a simple Child Theme.
Author: WPZOOM
Author URI: https://www.wpzoom.com
Version: 1.0
*/

/* Write your custom CSS code below or add it in the Customizer > Additional CSS */
/* ===== Marca TRS ===== */
:root{
  --trs-primary: #005d64;
  --trs-accent: #e9431b;
  --trs-secondary: #08b9fd;
  --trs-white: #ffffff;
  --trs-primary-dark: #00474d;
}

/* ===== Header / barra principal ===== */
.site-header,
.site-header.headroom--not-top,
.site-header.is-sticky,
.header-overlay .site-header,
.navbar,
#masthead {
  background: var(--trs-primary) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ===== Logo / título ===== */
.site-header .site-title a,
.site-header .custom-logo-link,
.site-header .custom-logo-link img {
  color: var(--trs-white) !important;
}

/* ===== Links del menú ===== */
.main-navigation a,
.navbar-nav > li > a,
.site-header a,
#menu-main-menu > li > a {
  color: var(--trs-white) !important;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: all .25s ease;
}

/* ===== Hover y activo ===== */
.main-navigation a:hover,
.navbar-nav > li > a:hover,
.site-header a:hover,
.current-menu-item > a,
.current_page_item > a,
.current-menu-parent > a,
.current-page-ancestor > a {
  color: var(--trs-secondary) !important;
}

/* ===== Submenú ===== */
.main-navigation ul ul,
.sub-menu {
  background: var(--trs-primary-dark) !important;
  border-radius: 10px;
  overflow: hidden;
}

.main-navigation ul ul li a,
.sub-menu li a {
  color: var(--trs-white) !important;
  padding: 10px 14px;
}

.main-navigation ul ul li a:hover,
.sub-menu li a:hover {
  background: rgba(8,185,253,0.12) !important;
  color: var(--trs-secondary) !important;
}

/* ===== Botón CTA dentro del menú ===== */
/* Agrega la clase CSS "menu-cta" al item del menú que quieras destacar */
.menu-cta > a {
  background: var(--trs-accent) !important;
  color: var(--trs-white) !important;
  padding: 10px 16px !important;
  border-radius: 999px;
  margin-left: 10px;
  display: inline-block;
}

.menu-cta > a:hover {
  background: #c63b18 !important;
  color: var(--trs-white) !important;
}

/* ===== Menú móvil ===== */
@media (max-width: 1024px) {
  .site-header,
  .mobile-menu,
  .navbar-collapse,
  .main-navigation,
  #mobile-menu {
    background: var(--trs-primary) !important;
  }

  .main-navigation a,
  .navbar-nav > li > a {
    color: var(--trs-white) !important;
  }

  .menu-cta > a {
    margin-left: 0;
    margin-top: 8px;
  }
}

:root{
  --trs-primary:#005d64;
  --trs-primary-2:#003d42;
  --trs-accent:#e9431b;
  --trs-sky:#08b9fd;
  --trs-bg:#f5f8f8;
  --trs-white:#ffffff;
  --trs-text:#1d2a2d;
  --trs-muted:#617277;
  --trs-border:#dce6e7;
  --trs-shadow:0 18px 45px rgba(0,0,0,.08);
  --trs-radius:22px;
  --trs-radius-sm:14px;
  --trs-max:1200px;
}

.trs-premium-home,
.trs-premium-home *{
  box-sizing:border-box;
}

.trs-premium-home{
  font-family:Poppins, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--trs-text);
  overflow:hidden;
}

.trs-wrap{
  width:min(100% - 32px, var(--trs-max));
  margin:0 auto;
}

.trs-premium-home section{
  padding:80px 0;
}

.trs-soft{
  background:var(--trs-bg);
}

.trs-white{
  background:var(--trs-white);
}

.trs-dark{
  background:
    radial-gradient(circle at top left, rgba(8,185,253,.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(233,67,27,.12), transparent 28%),
    linear-gradient(135deg, var(--trs-primary), var(--trs-primary-2));
  color:#fff;
}

.trs-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(8,185,253,.12);
  color:var(--trs-primary);
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.trs-dark .trs-kicker{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.trs-head{
  max-width:840px;
  margin:0 auto 42px;
  text-align:center;
}

.trs-head h2{
  margin:16px 0 14px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  color:var(--trs-primary);
  font-weight:800;
}

.trs-dark .trs-head h2{
  color:#fff;
}

.trs-head p{
  margin:0;
  color:var(--trs-muted);
  font-size:clamp(16px,2vw,18px);
  line-height:1.8;
}

.trs-dark .trs-head p{
  color:rgba(255,255,255,.88);
}

.trs-btns{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.trs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 24px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  transition:.25s ease;
}

.trs-btn-primary{
  background:var(--trs-accent);
  color:#fff !important;
}

.trs-btn-primary:hover{
  transform:translateY(-2px);
  filter:brightness(.96);
}

.trs-btn-secondary{
  background:var(--trs-primary);
  color:#fff !important;
}

.trs-btn-secondary:hover{
  transform:translateY(-2px);
  background:var(--trs-primary-2);
}

.trs-btn-outline{
  border:1.5px solid rgba(255,255,255,.38);
  color:#fff !important;
  background:transparent;
}

.trs-btn-outline:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.08);
}

.trs-grid{
  display:grid;
  gap:24px;
}

.trs-grid-2{
  grid-template-columns:1.1fr .9fr;
}

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

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

.trs-card{
  background:#fff;
  border:1px solid var(--trs-border);
  border-radius:var(--trs-radius);
  box-shadow:var(--trs-shadow);
}

.trs-hero{
  position:relative;
  padding:96px 0 78px;
  background:
    radial-gradient(circle at top right, rgba(8,185,253,.16), transparent 28%),
    radial-gradient(circle at left center, rgba(233,67,27,.10), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}

.trs-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
}

.trs-hero-copy h1 {
    margin: 12px 0 20px;
    /* Reducimos el máximo de 64px a 52px para mayor elegancia */
    font-size: clamp(34px, 4.5vw, 52px); 
    line-height: 1.1;
    color: var(--trs-primary);
    font-weight: 800;
    letter-spacing: -0.015em; /* Un poco más compacto */
    max-width: 20ch; /* Evita que el título se extienda demasiado horizontalmente */
}

.trs-hero-copy p {
    margin: 0 0 32px;
    font-size: clamp(16px, 1.1vw, 18px); /* Bajamos un poco el tamaño del párrafo */
    line-height: 1.6;
    color: var(--trs-muted);
    max-width: 580px; /* Reducimos el ancho de lectura para que sea más fácil de seguir */
}

.trs-hero-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:26px;
}

.trs-mini-stat {
    background: #fff;
    border: 1px solid var(--trs-border);
    border-radius: 14px; /* Un poco menos redondeado para verse más técnico */
    padding: 14px 16px; /* Reducimos padding interno */
    transition: transform 0.3s ease;
}

.trs-mini-stat strong {
    font-size: 14px; /* Un poco más pequeño */
    color: var(--trs-primary);
    margin-bottom: 2px;
}

.trs-mini-stat span {
    font-size: 13px; /* Texto de soporte más discreto */
    line-height: 1.4;
}

.trs-hero-visual{
  position:relative;
}

.trs-hero-media{
  border-radius:28px;
  overflow:hidden;
  min-height:520px;
  box-shadow:0 24px 60px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.06);
  background:#d7e2e3;
}

.trs-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.trs-floating-card{
  position:absolute;
  left:-10px;
  bottom:22px;
  width:min(280px, 85%);
  padding:18px 18px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.trs-floating-card strong{
  display:block;
  color:var(--trs-primary);
  margin-bottom:8px;
  font-size:15px;
}

.trs-floating-card p{
  margin:0;
  color:var(--trs-muted);
  line-height:1.65;
  font-size:14px;
}

.trs-trustbar{
  margin-top:-28px;
  position:relative;
  z-index:2;
}

.trs-trustbar-inner{
  background:#fff;
  border:1px solid var(--trs-border);
  border-radius:22px;
  box-shadow:var(--trs-shadow);
  padding:18px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.trs-trust-item{
  border-radius:16px;
  background:var(--trs-bg);
  padding:18px 16px;
  text-align:center;
}

.trs-trust-item strong{
  display:block;
  color:var(--trs-primary);
  font-size:15px;
  margin-bottom:4px;
}

.trs-trust-item span{
  display:block;
  color:var(--trs-muted);
  font-size:14px;
  line-height:1.5;
}

.trs-cert-card,
.trs-solution,
.trs-feature{
  height:100%;
  transition:.25s ease;
}

.trs-cert-card:hover,
.trs-solution:hover,
.trs-feature:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px rgba(0,0,0,.11);
}

.trs-cert-card{
  padding:30px 24px;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.trs-cert-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--trs-sky), var(--trs-primary));
}

.trs-cert-card.trs-accent-top::before{
  background:linear-gradient(90deg, var(--trs-accent), var(--trs-primary));
}

.trs-cert-logo{
  width:82px;
  height:82px;
  margin:0 auto 18px;
  border-radius:18px;
  background:var(--trs-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.trs-cert-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.trs-cert-card h3,
.trs-solution h3,
.trs-feature h3{
  margin:0 0 10px;
  color:var(--trs-primary);
  font-size:22px;
  line-height:1.2;
  font-weight:700;
}

.trs-cert-card p,
.trs-solution p,
.trs-feature p{
  margin:0;
  color:var(--trs-muted);
  line-height:1.75;
}

.trs-solution{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.trs-solution-media{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#d7e2e3;
}

.trs-solution-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.trs-solution-body{
  padding:28px;
  display:flex;
  flex-direction:column;
  height:100%;
}

.trs-solution-body p{
  margin-bottom:16px;
}

.trs-list{
  list-style:none;
  padding:0;
  margin:0 0 22px;
}

.trs-list li{
  position:relative;
  padding-left:22px;
  margin-bottom:10px;
  color:var(--trs-muted);
  line-height:1.6;
}

.trs-list li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--trs-accent);
  font-weight:800;
}

.trs-solution .trs-btns{
  margin-top:auto;
}

.trs-feature{
  padding:28px 24px;
}

.trs-feature-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  background:rgba(8,185,253,.12);
  color:var(--trs-primary);
}

.trs-faq{
  max-width:920px;
  margin:0 auto;
}

.trs-faq-item{
  background:#fff;
  border:1px solid var(--trs-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}

.trs-faq-item + .trs-faq-item{
  margin-top:14px;
}

.trs-faq-btn{
  width:100%;
  border:none;
  background:#fff;
  padding:21px 22px;
  text-align:left;
  display:flex;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  color:var(--trs-primary);
}

.trs-faq-btn span:last-child{
  font-size:24px;
  line-height:1;
  color:var(--trs-accent);
  transition:.25s ease;
}

.trs-faq-content{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease, padding .3s ease;
  padding:0 22px;
}

.trs-faq-content p{
  margin:0;
  color:var(--trs-muted);
  line-height:1.75;
}

.trs-faq-item.active .trs-faq-content{
  max-height:220px;
  padding:0 22px 22px;
}

.trs-faq-item.active .trs-faq-btn span:last-child{
  transform:rotate(45deg);
}

.trs-cta-box{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.trs-cta-box p{
  max-width:720px;
  margin:0 auto 28px;
  color:rgba(255,255,255,.9);
  line-height:1.85;
  font-size:18px;
}

@media (max-width: 1100px){
  .trs-hero-grid,
  .trs-grid-2{
    grid-template-columns:1fr;
  }

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

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

  .trs-hero-media{
    min-height:420px;
  }

  .trs-floating-card{
    left:16px;
    right:16px;
    width:auto;
  }
}

@media (max-width: 768px){
  .trs-premium-home section,
  .trs-hero{
    padding:58px 0;
  }

  .trs-grid-3,
  .trs-grid-4,
  .trs-trustbar-inner,
  .trs-hero-stats{
    grid-template-columns:1fr;
  }

  .trs-btn{
    width:100%;
  }

  .trs-solution-body{
    padding:22px;
  }

  .trs-hero-copy h1{
    font-size:40px;
  }

  .trs-hero-media{
    min-height:340px;
  }

  .trs-floating-card{
    position:static;
    width:100%;
    margin-top:16px;
  }

  .trs-trustbar{
    margin-top:0;
  }
}

.trs-hero-media{
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: 520px;
  box-shadow: 0 24px 60px rgba(0,0,0,.12);
  border: 1px solid rgba(0,0,0,.06);
  background: #d7e2e3;
}

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

.trs-hero-media::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.30),
    rgba(0,0,0,.10)
  );
  pointer-events: none;
}

.home .entry-header,
.home .page-header,
.home .entry-title,
.home .page-title {
  display: none !important;
}

.home .site-content,
.home .content-wrapper,
.home main.site-main {
  padding-top: 0 !important;
}

.trs-cta-box h2 {
    font-size: clamp(28px, 3.5vw, 40px); /* Antes era 48px, lo bajamos a 40px */
    margin-bottom: 16px;
}

.trs-cta-box p {
    max-width: 620px; /* Estrechamos el texto para que no ocupe toda la pantalla */
    margin: 0 auto 32px;
    font-size: 17px; /* Un punto menos para mayor fineza */
    opacity: 0.9;
}

/* CTA Compacto - TRS Branding */
.trs-cta-compact {
    padding: 70px 0;
    background-color: #f4f7f7; /* Un gris muy suave para que la tarjeta blanca resalte */
}

.trs-cta-card {
    background: #ffffff;
    border: 1px solid #dce6e7;
    border-radius: 20px;
    padding: 50px 40px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 93, 100, 0.08); /* Sombra con tono primario */
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

/* Detalle decorativo superior con tu color secundario */
.trs-cta-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #08b9fd, #005d64);
}

.trs-cta-header .trs-kicker {
    display: inline-block;
    background: rgba(8, 185, 253, 0.1);
    color: #005d64;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.trs-cta-header h2 {
    font-size: clamp(28px, 4vw, 38px);
    color: #005d64; /* Tu Color Primario */
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 15px;
}

.trs-cta-header p {
    font-size: 18px;
    color: #617277;
    max-width: 600px;
    margin: 0 auto 35px;
    line-height: 1.6;
}

.trs-cta-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
}

/* Botones con tus colores */
.trs-btn {
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Botón WhatsApp */
.trs-btn-wa {
    background-color: #25D366; /* Verde estándar para reconocimiento inmediato */
    color: #ffffff !important;
}

.trs-btn-wa:hover {
    background-color: #1ebc5a;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.3);
}

/* Botón Cotización con tu color Naranja #e9431b */
.trs-btn-accent {
    background-color: #e9431b;
    color: #ffffff !important;
}

.trs-btn-accent:hover {
    background-color: #d13a16;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(233, 67, 27, 0.3);
}

/* Responsive */
@media (max-width: 768px) {
    .trs-cta-actions {
        flex-direction: column;
    }
    .trs-btn {
        width: 100%;
        justify-content: center;
    }
    .trs-cta-card {
        padding: 40px 25px;
    }
}
