/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Child theme para AG Seguridad
Author: AG Seguridad
Template: generatepress
Version: 1.0
*/

/* =========================================================
   BASE / LAYOUT GENERAL
========================================================= */
body {
  background-color: #f4f4f4;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #334155;              /* texto base */
  line-height: 1.6;
  font-size: 16px;
}

a {
  color: #d32f2f;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

.site {
  max-width: 1200px;
  margin: 0 auto;
  background: #ffffff;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

/* Responsive container padding (GP) */
@media (max-width: 768px){
  .separate-containers .inside-article,
  .separate-containers .comments-area,
  .separate-containers .page-header,
  .separate-containers .paging-navigation,
  .one-container .site-content,
  .inside-page-header{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* =========================================================
   LOGO
========================================================= */
.site-logo img { max-height: 120px; width: auto; }
@media (max-width: 768px) {
  .site-logo img { max-height: 80px; }
}

/* =========================================================
   TOP BAR
========================================================= */
.top-bar { background: #222; color: #fff; }
.top-bar-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 6px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.top-bar-inner span { margin-right: 15px; }
.top-bar .redes a{
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  margin-left: 10px;
}
.top-bar .redes a:hover{ text-decoration: underline; }

/* Solo mostrar íconos en móvil (Tel, WhatsApp y redes) */
@media (max-width: 640px) {
  .top-bar .leyenda { display: none !important; }

  /* contenedor en móvil: centrado */
  .top-bar-inner {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 12px;
  }

  /* Teléfono, WhatsApp y redes con mismo estilo */
  .top-bar .telefono,
  .top-bar .whatsapp,
  .top-bar .redes a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #444;
    color: #fff;
    font-size: 0;       /* oculta el texto, deja solo el ícono */
  }

  .top-bar .telefono i,
  .top-bar .whatsapp i,
  .top-bar .redes a i {
    font-size: 18px;
    color: #fff;
  }

  /* hover común */
  .top-bar .telefono:hover,
  .top-bar .whatsapp:hover,
  .top-bar .redes a:hover {
    background: #d32f2f;
    color: #fff;
  }

  /* redes en fila */
  .top-bar .redes { display: flex; gap: 12px; }
}

/* =========================================================
   HEADER (Logo izquierda + Extras derecha)
========================================================= */
.site-header .inside-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-branding, .site-logo{ margin-right: auto; }

.header-extras{
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0;
}

/* =========================================================
   BUSCADOR HEADER
========================================================= */
.header-search .search-form{ display: flex; align-items: stretch; }
.header-search input[type="search"]{
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 3px 0 0 3px;
  font-size: 14px;
  height: 38px;
}
.header-search button,
.header-search input[type="submit"]{
  background: #d32f2f;
  color: #fff;
  border: 1px solid #d32f2f;
  border-radius: 0 3px 3px 0;
  padding: 0 12px;
  cursor: pointer;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-search button i{ font-size: 16px; }

/* =========================================================
   ENLACE TIENDA
========================================================= */
.header-tienda a{
  color: #333;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
}
.header-tienda a i{ margin-right: 6px; }
.header-tienda a:hover{ color: #d32f2f; }

/* Header en móvil: logo a la izquierda y tienda a la derecha */
@media (max-width: 640px) {
  /* ocultar buscador */
  .header-search { display: none !important; }

  /* contenedor en fila */
  .site-header .inside-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 12px;
  }

  /* logo compacto */
  .site-logo { flex: 0 0 auto; }
  .site-logo img {
    max-height: 55px;
    width: auto;
    display: block;
  }

  /* tienda a la derecha */
  .header-tienda { flex: 0 0 auto; }
  .header-tienda a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
  }
  .header-tienda a i { font-size: 18px; margin: 0; }
  .header-tienda a:hover { color: #d32f2f; }
}

/* =========================================================
   NAVEGACIÓN / MENÚ PRINCIPAL
========================================================= */
.main-navigation{
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  max-width: 1200px;
  margin: 5px auto;
  padding: 0;
  box-sizing: border-box;
}
.main-navigation .inside-navigation{
  max-width: 100%;
  margin: 0;
  padding: 0 20px;
}
.main-navigation .main-nav > ul > li > a{
  font-weight: 600;
  color: #333;
  padding: 8px 14px;
  font-size: 14px;
  letter-spacing: .5px;
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: 6px;
  line-height: 1.2;
  transition: color .25s ease, background .25s ease, border-color .25s ease,
              box-shadow .25s ease, transform .15s ease;
}
/* Hover */
.main-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > li.sfHover > a,
.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li:focus-within > a{
  color: #d32f2f !important;
  background: #fff;
  border-color: #eee;
  box-shadow: 0 2px 6px rgba(0,0,0,.06), inset 0 -2px 0 #d32f2f;
  border-radius: 6px;
  transform: translateY(-1px);
}
/* Activo */
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current_page_item > a{
  color: #d32f2f !important;
  background: #fff;
  border-color: #eee;
  box-shadow: inset 0 -2px 0 #d32f2f;
  border-radius: 6px;
}
/* Accesibilidad teclado */
.main-navigation .main-nav > ul > li > a:focus-visible{
  outline: 2px solid #d32f2f;
  outline-offset: 2px;
}

/* =========================================================
   LANDING PAGE SECTIONS
========================================================= */
html { scroll-behavior: smooth; }

.landing-ag .sec {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}
.landing-ag .sec:last-of-type { border-bottom: 0; }

.landing-ag .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Título de sección (landing) */
.landing-ag .sec-title {
  margin: 0 0 10px;
  font-family: "Poppins", ui-sans-serif, system-ui;
  font-weight: 800;
  line-height: 1.15;
  color: #0f172a;
  font-size: clamp(22px, 3.2vw, 30px);
  letter-spacing: .2px;
  text-wrap: balance;
  position: relative;
  padding-bottom: 6px;
}
.landing-ag .sec-title::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width: 56px; height: 3px;
  background: #d32f2f;
  border-radius: 2px;
}

/* Subtítulo / bajada (landing) */
.landing-ag .sec-sub {
  margin: 8px 0 18px;
  font-size: clamp(15px, 2.2vw, 18px);
  color: #64748b;
  line-height: 1.55;
}

/* Párrafos dentro de secciones (landing) */
.landing-ag .sec p {
  margin: 0 0 12px;
  font-size: 16px;
}

/* En móvil: compáctalo un poco */
@media (max-width: 640px) {
  .landing-ag .sec { padding: 28px 0; }
  .landing-ag .sec-title { font-size: clamp(20px, 5vw, 24px); }
  .landing-ag .sec-sub   { font-size: clamp(14px, 4.2vw, 16px); }
}

/* =========================================================
   TÍTULOS DE SECCIÓN (páginas fuera del landing)
========================================================= */
.sec-title{
  margin: 0 0 10px;
  font-family: "Poppins", ui-sans-serif, system-ui;
  font-weight: 800;
  line-height: 1.15;
  color: #0f172a;
  font-size: clamp(22px, 3.2vw, 30px);
  letter-spacing: .2px;
  position: relative;
  padding-bottom: 6px;
}
.sec-title::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:56px; height:3px;
  background:#d32f2f;
  border-radius:2px;
}
.sec-sub{
  margin: 8px 0 18px;
  font-size: clamp(15px, 2.2vw, 18px);
  color: #64748b;
  line-height: 1.55;
}

/* =========================================================
   BOTÓN CTA WHATSAPP (landing)
========================================================= */
.landing-ag .btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 8px;
  padding: 12px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .15s ease, filter .2s ease, box-shadow .2s ease;
}
.landing-ag .btn-cta:hover {
  filter: brightness(.95);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

/* =========================================================
   HERO SLIDER (Splide)
========================================================= */
.landing-ag #hero-splide {
  border-radius: 0;
  overflow: hidden;
}
.landing-ag .sec-inicio { padding: 0; color: #fff; }

body.page-template-template-landing .site-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Slide */
.hero-splide .splide__slide {
  height: 400px;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 0;
  overflow: hidden;
}

/* Gradiente */
.hero-splide .splide__slide::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,0) 100%);
}

/* Contenido */
.hero-splide .hero-content{
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 60px;
  color: #fff;
  font-family: "Inter", system-ui, Segoe UI, Roboto, Arial, sans-serif;
}

/* Panel compacto */
.hero-splide .hero-panel{
  max-width: 760px;
  padding: 18px 20px;
  border-radius: 10px;
  backdrop-filter: saturate(120%) blur(2px);
  background: rgba(15,23,42,.16);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Tipos */
.hero-splide .hero-title{
  margin: 0 0 8px;
  font-family: "Poppins", ui-sans-serif, system-ui;
  font-weight: 700;
  line-height: 1.1;
  font-size: clamp(26px, 3.4vw, 38px);
  text-wrap: balance;
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.hero-splide .hero-sub{
  margin: 0;
  font-weight: 600;
  font-size: clamp(16px, 2vw, 20px);
  color: #e5e7eb;
}
.hero-splide .hero-desc{
  margin: 0;
  font-size: clamp(14px, 1.8vw, 18px);
  color: #f3f4f6; opacity:.95;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* CTA en panel */
.hero-splide .hero-panel p:last-child{
  margin-top: auto;
  padding-top: 10px;
}
.landing-ag .btn-cta{
  padding: 12px 18px;
  font-size: 15px;
  border-radius: 8px;
  font-weight: 700;
  align-self: flex-start;
}

/* Flechas/paginación */
.hero-splide .splide__arrow {
  background: rgba(255,255,255,.9);
  color: #d32f2f;
  width: 42px; height: 42px;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.hero-splide .splide__arrow:hover { background: #fff; }
.hero-splide .splide__arrow svg { fill: #d32f2f; }

.hero-splide .splide__pagination__page{ background: rgba(255,255,255,.6); }
.hero-splide .splide__pagination__page.is-active{ background:#d32f2f; transform: scale(1.1); }

/* Afinar encuadre por slide */
.hero-splide .splide__slide:nth-child(1){ background-position: center left; }
.hero-splide .splide__slide:nth-child(2){ background-position: center left; }
.hero-splide .splide__slide:nth-child(3){ background-position: center left; }

/* Responsive hero */
@media (max-width: 768px){
  .hero-splide .splide__slide{
    height: 300px;
    background-position: center left;
  }
  .hero-splide .hero-content{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
  }
  .hero-splide .hero-panel{
    max-width: 90%;
    padding: 12px;
    gap: 6px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }
  .hero-splide .hero-title{ font-size: clamp(20px, 5.2vw, 26px); }
  .hero-splide .hero-sub  { font-size: clamp(14px, 4.2vw, 18px); }
  .hero-splide .hero-desc { font-size: clamp(13px, 3.8vw, 15px); -webkit-line-clamp: 2; }

  .hero-splide .hero-panel p:last-child{
    margin-top: auto;
    padding-top: 8px;
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .landing-ag .btn-cta{
    align-self: center;
    font-size: 14px;
    padding: 10px 14px;
  }

  .hero-splide .splide__arrow{ width: 20px; height: 20px; }
  .hero-splide .splide__arrow svg{ width: 10px; height: 10px; }
}

/* =========================================================
   PRODUCTOS (Cards)
========================================================= */
.landing-ag .cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.landing-ag .card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 18px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
  text-align: center;
  transition: transform .15s ease, box-shadow .2s ease;
}
.landing-ag .card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
.landing-ag .card img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 0 0 12px;
  display: block;
}
.landing-ag .card h3 {
  font-size: 16px;
  margin: 0 0 10px;
  font-weight: 700;
  color: #0f172a;
}
.landing-ag .card p {
  font-size: 14px;
  color: #555;
  margin: 0;
  text-align: justify;
}
@media (max-width: 992px) {
  .landing-ag .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .landing-ag .cards { grid-template-columns: 1fr; }
}

/* =========================================================
   GRIDS (Promos / Quiénes somos)
========================================================= */
/* Quiénes somos — página (2 columnas texto/foto) */
.sec-quienes .quienes-grid-2col{
  display: grid;
  grid-template-columns: 3fr 2fr; /* texto un poco más ancho */
  gap: 32px;
  align-items: start;
}

.sec-quienes .quienes-texto p{
  margin: 0 0 12px;
  text-align: justify;
}

/* Columna derecha: foto a TODO el ancho + tarjeta de contacto debajo */
.sec-quienes .quienes-foto{
  display: flex;
  flex-direction: column;      /* apila imagen y tarjeta */
  align-items: stretch;        /* estira al ancho de la columna */
  justify-content: flex-start;
}

.sec-quienes .quienes-foto img{
  display: block;
  width: 100%;
  height: auto;
  max-width: none;             /* quita el tope de 280px */
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
  border: 1px solid #eee;
}



/* Tarjeta de contacto debajo de la foto */
.sec-quienes .quienes-foto .ag-contact-card{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px 18px;
  margin-top: 14px;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

.sec-quienes .quienes-foto .ag-contact-card h3{
  font-size: 18px;
  margin: 0 0 10px;
  line-height: 1.2;
}

.sec-quienes .quienes-foto .ag-contact-list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.sec-quienes .quienes-foto .ag-contact-list li{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed #eee;
}

.sec-quienes .quienes-foto .ag-contact-list li:last-child{ border-bottom: 0; }

.sec-quienes .quienes-foto .ag-contact-list a{
  text-decoration: none;
  color: #333;
}

.sec-quienes .quienes-foto .ag-contact-list a:hover{ color: #c61217; }

/* Iconos Font Awesome alineados */
.sec-quienes .quienes-foto .ag-contact-list i{
  width: 18px;
  text-align: center;
  font-size: 14px;
}

/* Responsive */
@media (max-width: 768px){
  .sec-quienes .quienes-grid-2col{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .sec-quienes .sec-title,
  .sec-quienes .sec-sub{
    text-align: center;
  }
  .sec-quienes .quienes-foto .ag-contact-card{
    margin-top: 12px;
  }
}


/* =========================================================
   MARCAS — Pasarela con Splide (PNG normalizados)
========================================================= */
.landing-ag .marcas-splide .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding: 10px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
  box-sizing: border-box;
}
.landing-ag .marcas-splide img {
  max-height: 60px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  filter: grayscale(100%) opacity(.85);
  transition: filter .2s ease, transform .15s ease;
}
.landing-ag .marcas-splide .splide__slide:hover img {
  filter: none;
  transform: translateY(-1px);
}
.landing-ag .sec-marcas .splide__track { padding: 4px 0; }
@media (max-width: 768px) {
  .landing-ag .marcas-splide .splide__slide { height: 80px; padding: 8px; }
  .landing-ag .marcas-splide img { max-height: 48px; }
}
@media (max-width: 480px) {
  .landing-ag .marcas-splide .splide__slide { height: 72px; padding: 8px; }
  .landing-ag .marcas-splide img { max-height: 42px; }
}

/* =========================================================
   CONTACTO (página / sin .landing-ag)
========================================================= */
/* Layout 2 columnas: Info+Mapa / Formulario */
.sec-contacto .contacto-grid-2col{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
/* Columna izquierda (texto + medios + mapa) */
.sec-contacto .contacto-left{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* Lista de medios — tarjeta */
.sec-contacto .medios{
  list-style: none;
  margin: 12px 0 0;
  padding: 12px 14px;
  display: grid;
  gap: 10px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
  max-width: 520px;
  text-align: left;
}
.sec-contacto .medios li{
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
}
.sec-contacto .medios i{
  width: 18px; min-width: 18px; text-align: center; color: #d32f2f;
}
.sec-contacto .medios a{
  color: #333; text-decoration: none;
}
.sec-contacto .medios a:hover{ color: #d32f2f; }
/* Tarjeta de mapa (match con formulario) */
.sec-contacto .contacto-map .map-embed{
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.sec-contacto .contacto-map iframe{
  width: 100%;
  height: 260px;
  border: 0;
  border-radius: 6px;
}
/* Formulario (CF7) */
.sec-contacto .cotiza-form{
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.sec-contacto .cotiza-form .form-title{
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}
.sec-contacto .cotiza-form form p{ margin-bottom: 10px; }
/* Campos */
.sec-contacto .cotiza-form input[type="text"],
.sec-contacto .cotiza-form input[type="email"],
.sec-contacto .cotiza-form input[type="tel"],
.sec-contacto .cotiza-form select{
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
  outline: none;
}
.sec-contacto .cotiza-form textarea{
  width: 100%;
  min-height: 100px;
  padding: 10px 12px;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  font-size: 14px;
  box-sizing: border-box;
  outline: none;
}
/* Focus */
.sec-contacto .cotiza-form input[type="text"]:focus,
.sec-contacto .cotiza-form input[type="email"]:focus,
.sec-contacto .cotiza-form input[type="tel"]:focus,
.sec-contacto .cotiza-form select:focus,
.sec-contacto .cotiza-form textarea:focus{
  border-color: #d32f2f;
  box-shadow: 0 0 0 2px rgba(211,47,47,.12);
}
/* Submit */
.sec-contacto .cotiza-form input[type="submit"]{
  background: #d32f2f;
  color: #fff;
  border: 1px solid #d32f2f;
  border-radius: 8px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
}
.sec-contacto .cotiza-form input[type="submit"]:hover{ filter: brightness(.95); }

/* MÓVIL — centrado visual y sin romper texto */
@media (max-width: 768px){
  /* 1 columna y gaps más compactos */
  .sec-contacto .contacto-grid-2col{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  /* contenedor interior de la sección */
  .sec-contacto .container{
    padding-left: 10px;
    padding-right: 10px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }
  /* títulos centrados */
  .sec-contacto .sec-title,
  .sec-contacto .sec-sub{ text-align: center; }

  /* Tarjeta de medios: a todo el ancho, texto a la izquierda */
  .sec-contacto .medios{
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    text-align: left;
  }
  /* Ítems: usa flex para no separar números */
  .sec-contacto .medios li{
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    justify-content: flex-start !important;
    width: 100%;
  }
  .sec-contacto .medios i{
    flex: 0 0 22px;
    width: 22px;
    min-width: 22px;
    text-align: center;
    line-height: 1.4;
  }
  .sec-contacto .medios a{
    white-space: normal;
    word-break: break-word;
  }

  /* centra visualmente tarjetas */
  .sec-contacto .cotiza-form,
  .sec-contacto .contacto-map .map-embed{
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/* =========================================================
   FOOTER (3 columnas: logo / contacto / menú)
========================================================= */
.landing-ag .sec-footer { background: #f4f6f9; }
.landing-ag .sec-footer .container{
  display: flex;
  gap: 0;
  align-items: stretch;
  flex-wrap: nowrap;
  background: #fff;
  border: 1px solid #e6e8ec;
  border-radius: 12px;
  box-shadow: 0 1px 8px rgba(0,0,0,.05);
  padding: 18px 20px;
}
/* Columnas dentro del panel */
.landing-ag .sec-footer .footer-col{
  flex: 1 1 33.333%;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Separadores sutiles */
.landing-ag .sec-footer .footer-col + .footer-col{
  border-left: 1px solid #e9ebef;
}
/* Logo (ajustes) */
.landing-ag .sec-footer .mini-logo{
  display:flex; align-items:center; justify-content:flex-start;
  min-height:120px;
}
.landing-ag .sec-footer .mini-logo img{
  max-height:120px;
  max-width:280px;
  height:auto; width:auto;
}
/* Contacto footer */
.landing-ag .sec-footer .contact-list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:10px;
}
.landing-ag .sec-footer .contact-list li{
  display:flex; align-items:center; gap:10px;
}
.landing-ag .sec-footer .contact-list i{ width:18px; text-align:center; }
.landing-ag .sec-footer .contact-list a{ color:#333; text-decoration:none; }
.landing-ag .sec-footer .contact-list a:hover{ color:#d32f2f; }
/* Menú vertical */
.landing-ag .sec-footer .footer-menu ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:10px;
}
.landing-ag .sec-footer .footer-menu a{
  color:#333; text-decoration:none; font-weight:600;
}
.landing-ag .sec-footer .footer-menu a:hover{ color:#d32f2f; }
/* Responsive footer */
@media (max-width: 992px){
  .landing-ag .sec-footer .container{ flex-wrap:wrap; }
  .landing-ag .sec-footer .footer-col{ flex:1 1 50%; padding:14px 16px; }
  .landing-ag .sec-footer .footer-col + .footer-col{ border-left:0; border-top:1px solid #e9ebef; }
}
@media (max-width: 640px){
  .landing-ag .sec-footer .footer-col{ flex:1 1 100%; }
  .landing-ag .sec-footer .footer-col + .footer-col{ border-top:1px solid #e9ebef; }
}

/* =========================================================
   FIX LAYOUT PARA LANDING TEMPLATE
========================================================= */
body.page-template-template-landing .site-main,
body.page-template-template-landing-php .site-main,
body.page-template-template-landing .content-area,
body.page-template-template-landing-php .content-area,
body.page-template-template-landing .inside-article,
body.page-template-template-landing-php .inside-article,
body.page-template-template-landing .entry-content,
body.page-template-template-landing-php .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.landing-ag .container { box-sizing: border-box; }

/* =========================================================
   BOTTOM BAR GLOBAL (© + menú) — estilo igual al TOP BAR
   - Desktop: © a la izquierda, menú a la derecha
   - Móvil: todo centrado
========================================================= */
.site-info{
  background: #222;
  color: #fff;
}
.site-info .inside-site-info{ padding: 0 !important; }

.site-info .ag-bottombar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 6px 20px;   /* altura justa, como top-bar */
  max-width: 1200px;
  margin: 0 auto;
}

.site-info .ag-copy{
  font-size: 13px;
  line-height: 1.4;
  color: #fff;
}

/* Menú horizontal */
.site-info .ag-bottom-menu{
  display: flex;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-info .ag-bottom-menu li{ margin:0; padding:0; }
.site-info .ag-bottom-menu a{
  text-decoration: none;
  font-size: 13px;
  color: #fff;
  transition: text-decoration .2s ease;
}
.site-info .ag-bottom-menu a:hover{
  text-decoration: underline;
  color: #fff;
}

/* Móvil: centrar todo */
@media (max-width: 768px){
  .site-info .ag-bottombar{
    justify-content: center;
    text-align: center;
    padding: 8px 16px;  /* compacto */
  }
  .site-info .ag-bottom-menu{
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }
  .site-info .ag-bottom-menu a{
    font-size: 12px;
  }
}

/* En la landing: ocultar menú y dejar solo el copy */
body.page-template-template-landing .site-info .ag-bottom-menu{
  display: none !important;
}

/* =========================================================
   CHAT WHATSAPP (FAB + Modal)
========================================================= */

/* Botón flotante (FAB) */
.ag-chat-fab{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #25D366; /* Verde WhatsApp */
  color: #fff;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  opacity: 0;                 /* inicia oculto (JS lo mostrará) */
  transform: translateY(20px);
  transition: opacity .4s ease, transform .4s ease, filter .15s ease;
}
.ag-chat-fab i{ font-size: 18px; }
.ag-chat-fab:hover{ filter: brightness(0.95); }
.ag-chat-fab.ag-fab-anim{
  opacity: 1;
  transform: translateY(0);
}

/* Móvil: compacto (solo ícono si quieres más adelante) */
@media (max-width: 640px){
  .ag-chat-fab{
    right: 14px;
    bottom: 14px;
    padding: 12px;
  }
  /* Si quisieras dejar solo el ícono en móvil, descomenta: */
  /* .ag-chat-fab span{ display:none; } */
}

/* ---------- Modal base ---------- */
.ag-modal[aria-hidden="true"]{ display: none; }
.ag-modal{
  position: fixed; inset: 0; z-index: 9998;
}
.ag-modal__backdrop{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.5);
}
.ag-modal__dialog{
  position: relative;
  max-width: 480px;
  margin: 10vh auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  padding: 20px;
}
.ag-modal__close{
  position: absolute; top: 10px; right: 12px;
  background: transparent; border: 0; font-size: 26px; line-height: 1;
  cursor: pointer; color: #666;
}
.ag-modal__title{ margin: 0 0 6px; font-size: 20px; line-height: 1.2; color:#111; }
.ag-modal__desc{ margin: 0 0 14px; font-size: 14px; color:#555; }

/* Formulario */
.ag-chat-form .ag-field{ margin-bottom: 10px; }
.ag-chat-form label{ display:block; font-size: 13px; color:#333; margin-bottom: 6px; }
.ag-chat-form input{
  width: 100%;
  border:1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 14px;
  color:#111;
  background:#fff;
}
.ag-btn-wa{
  display: inline-flex; align-items:center; gap:8px;
  background:#25D366; color:#fff; border:0; border-radius:8px;
  padding:10px 14px; font-size:14px; cursor:pointer;
}
.ag-btn-wa:hover{ filter: brightness(0.95); }

.ag-hint{ font-size:12px; color:#777; margin-top:8px; }

/* Responsivo modal */
@media (max-width: 640px){
  .ag-modal__dialog{ margin: 10vh 16px; padding: 16px; }
}

