/* ============================================================
   S.W.A.T. Resguard — capa de marca sobre la plantilla
   (los colores de acento de style.css ya están en #e3101e)
   ============================================================ */
:root { --swat-rojo: #e3101e; --swat-rojo-osc: #b30010; --swat-negro: #0b0b0b; --swat-gris: #141414; }

/* Logo: el PNG es 397x137, se fija por alto */
.te-header-menu-area .te-logo img,
.te-footer-logo img,
.te-menu-sidebar-logo img { width: auto !important; max-width: 100%; height: 58px; object-fit: contain; }
.header-area .te-sticky-header.te-sticky_menu .te-logo img { height: 48px; width: auto !important; }
.te-footer-logo img { height: 64px; }
@media (max-width: 767px) { .te-header-menu-area .te-logo img { height: 44px; } }

/* Menú: 6 ítems en una sola línea */
@media (min-width: 1200px) {
  .te-main-menu > ul { display: flex; flex-wrap: nowrap; }
  .te-main-menu > ul > li { margin: 0 !important; }
  .te-main-menu > ul > li > a { white-space: nowrap; padding-left: 14px !important; padding-right: 14px !important; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .te-main-menu > ul > li > a { padding-left: 10px !important; padding-right: 10px !important; }
  .te-header-btn .te-search-btn { display: none; }
}

/* Hero */
.slider-area .te-slider-label { color: transparent; -webkit-text-stroke: 1px rgba(227,16,30,.35); letter-spacing: 6px; }
.slider-area .te-slider-overlay { background: linear-gradient(90deg, rgba(6,6,6,.55) 0%, rgba(6,6,6,.7) 45%, rgba(6,6,6,.92) 100%) !important; opacity: 1 !important; }
.slider-area .te-single-slider-bg img { object-fit: cover; filter: brightness(.55) saturate(.6); }
.slider-area .te-slider-short-title { color: #fff; letter-spacing: 3px; }
.slider-area .te-slider-title { text-transform: uppercase; }

/* Cabeceras internas */
.page-breadcrumb-area .page-overlay { background: linear-gradient(180deg, rgba(6,6,6,.82), rgba(6,6,6,.62) 55%, rgba(6,6,6,.88)); }
.page-breadcrumb-area .page-bg img { object-fit: cover; width: 100%; height: 100%; }
.page-breadcrumb-area .page-title { font-size: clamp(34px, 5vw, 60px); }

/* Emblemas de unidad (tarjetas de servicio) */
.te-info-card .icon.swat-emblema { width: 104px; height: 104px; padding: 6px; background: radial-gradient(circle, rgba(255,255,255,.14), rgba(255,255,255,0) 70%); }
.te-info-card .icon.swat-emblema img { width: 100%; height: 100%; object-fit: contain; }
.swat-emblema-grande { max-width: 220px; width: 100%; filter: drop-shadow(0 10px 30px rgba(0,0,0,.45)); }
.swat-insignia { display: inline-flex; align-items: center; gap: 14px; padding: 10px 18px 10px 10px; background: var(--swat-gris); border-left: 3px solid var(--swat-rojo); }
.swat-insignia img { width: 64px; height: 64px; object-fit: contain; }
.swat-insignia span { font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; line-height: 1.2; }

/* Bloques de contenido propios */
.swat-seccion { padding: 110px 0; }
.swat-seccion.oscura { background: var(--swat-gris); }
@media (max-width: 767px) { .swat-seccion { padding: 70px 0; } }
.swat-foto { position: relative; overflow: hidden; }
.swat-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.swat-foto:hover img { transform: scale(1.04); }
.swat-foto.alta { aspect-ratio: 4/5; }
.swat-foto.ancha { aspect-ratio: 16/10; }
.swat-foto figcaption { position: absolute; left: 0; bottom: 0; padding: 8px 14px; background: rgba(6,6,6,.82); color: #fff; font-weight: 600; font-size: 15px; letter-spacing: .5px; border-left: 3px solid var(--swat-rojo); }
.swat-lista { list-style: none; padding: 0; margin: 22px 0 0; }
.swat-lista li { position: relative; padding: 0 0 12px 30px; color: inherit; }
.swat-lista li::before { content: "\f00c"; font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--swat-rojo); }
.swat-sub { border: 1px solid rgba(124,123,123,.3); padding: 34px 30px; height: 100%; transition: border-color .3s; }
.swat-sub:hover { border-color: var(--swat-rojo); }
.swat-sub i { font-size: 34px; color: var(--swat-rojo); margin-bottom: 18px; display: block; }
.swat-sub h3 { font-size: 24px; margin-bottom: 12px; }
.swat-sub p { margin: 0; }
.swat-cifras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid rgba(124,123,123,.3); }
.swat-cifras div { padding: 28px 18px; text-align: center; border-right: 1px solid rgba(124,123,123,.3); }
.swat-cifras div:last-child { border-right: 0; }
.swat-cifras strong { display: block; font-size: 40px; line-height: 1; color: var(--swat-rojo); font-weight: 700; }
.swat-cifras span { display: block; margin-top: 8px; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; font-size: 14px; }
@media (max-width: 767px) { .swat-cifras { grid-template-columns: repeat(2, 1fr); } .swat-cifras div:nth-child(2) { border-right: 0; } .swat-cifras div:nth-child(-n+2) { border-bottom: 1px solid rgba(124,123,123,.3); } }
.swat-aviso { font-size: 14px; opacity: .75; margin-top: 10px; }
.swat-cta-banda { background: var(--swat-rojo); padding: 54px 0; }
.swat-cta-banda h2 { color: #fff; margin: 0; font-size: clamp(28px, 3.4vw, 42px); }
.swat-cta-banda p { color: rgba(255,255,255,.9); margin: 8px 0 0; }
.swat-cta-banda .te-theme-btn { background: #0b0b0b; }
.swat-cta-banda .te-theme-btn::before, .swat-cta-banda .te-theme-btn::after { background: #fff !important; }
.swat-cta-banda .te-theme-btn:hover { color: #0b0b0b; }

/* Galería */
.swat-filtros { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 40px; }
.swat-filtros button { background: transparent; border: 1px solid rgba(124,123,123,.4); color: inherit; padding: 9px 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-family: inherit; cursor: pointer; transition: all .3s; }
.swat-filtros button.activo, .swat-filtros button:hover { background: var(--swat-rojo); border-color: var(--swat-rojo); color: #fff; }
.swat-galeria .item { margin-bottom: 24px; }
.swat-galeria a { display: block; position: relative; overflow: hidden; aspect-ratio: 1/1; }
.swat-galeria a img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease, filter .4s; }
.swat-galeria a::after { content: "\2b"; font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free"; font-weight: 900; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 30px; color: #fff; background: rgba(227,16,30,.55); opacity: 0; transition: opacity .3s; }
.swat-galeria a:hover::after { opacity: 1; }
.swat-galeria a:hover img { transform: scale(1.06); }

/* Video en popup (mp4 propio) */
.mfp-swat-video .mfp-content { width: auto; max-width: 92vw; }
.mfp-swat-video video { display: block; max-height: 86vh; max-width: 92vw; background: #000; }

/* Formulario → WhatsApp */
.swat-form-nota { font-size: 14px; opacity: .8; margin-top: 12px; }
.swat-form-nota i { color: #25d366; }
select.swat-select { width: 100%; height: 60px; background: transparent; border: 1px solid rgba(124,123,123,.3); color: inherit; padding: 0 20px; margin-bottom: 24px; font-family: inherit; }
select.swat-select option { color: #111; }

/* WhatsApp flotante */
.swat-wa-flotante { position: fixed; right: 22px; bottom: 22px; z-index: 999; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 30px; box-shadow: 0 8px 24px rgba(0,0,0,.35); transition: transform .25s, opacity .3s; }
.swat-wa-flotante:hover { color: #fff; transform: scale(1.08); }
.swat-wa-flotante.oculto { opacity: 0; pointer-events: none; }

/* Mapa */
.swat-mapa iframe { width: 100%; height: 420px; border: 0; filter: grayscale(1) contrast(1.1); }

/* Ajustes de la plantilla */
.te-company-foundation-wrapper .te-company-foundation { display: flex; flex-direction: column; align-items: flex-start; }
.te-company-foundation-wrapper .te-company-foundation .sub-title { display: block; position: static !important; margin-top: 4px; line-height: 1.2; }
.te-company-foundation-wrapper .te-company-foundation .te-counter-wrapper { justify-content: center; }
.te-portfolio-card.style-2 .image img { width: 364px; height: 540px; object-fit: cover; }
@media (max-width: 575px) { .te-portfolio-card.style-2 .image img { width: 280px; height: 415px; } }
.te_widget_nav_menu ul li a, .te-footer-widget-title, .te-menu-sidebar-title { text-transform: none !important; }
.te-footer-widget-title { text-transform: uppercase !important; }
.te-icon-card .icon.swat-ico { display: flex; align-items: center; justify-content: center; }
.te-icon-card .icon.swat-ico i { font-size: 30px; color: #fff; }
.te-info-card .icon.swat-emblema { border: 0; width: 120px; height: 120px; padding: 0; }
.why-choose-bg-area img { opacity: 1; }
/* En español no se capitaliza cada palabra */
.breadcrumb-list li, .breadcrumb-list li a, .te_widget_service_categories ul li a, .te-portfolio-card .sub-title, .te-latest-post-title a, .te-mobile-nav-menu a, .te-submenu li a { text-transform: none !important; }
@media (max-width: 991px) { .why-choose-area .why-choose-bg-area img { display: none; } }

/* Espaciado de secciones del inicio (la plantilla dependía de secciones que se quitaron) */
.feature-area.style-1 { padding-top: 110px; }
.portfolio-slider-area.style-1 { padding-bottom: 110px !important; }
.appointment-area.style-1 { padding: 110px 0; border-top: 1px solid rgba(124,123,123,.25); }
@media (max-width: 767px) {
  .feature-area.style-1 { padding-top: 70px; }
  .portfolio-slider-area.style-1 { padding-bottom: 70px !important; }
  .appointment-area.style-1 { padding: 70px 0; }
}
/* Firma Gokiebox: mismo gris del copyright, rojo al pasar el mouse */
.te-footer-bottom-menu a { color: inherit !important; opacity: .85; transition: color .3s, opacity .3s; }
.te-footer-bottom-menu a:hover { color: var(--swat-rojo) !important; opacity: 1; }
.te-footer-bottom-menu { color: rgba(255,255,255,.7); }
/* Menú centrado entre el logo y el botón */
@media (min-width: 1200px) {
  .te-header-menu-area .te-menu { flex: 1 1 auto; display: flex !important; justify-content: center; }
}
/* Preloader: logo principal para fondo blanco */
#preloader .preloader-image img { width: 220px; max-width: 60vw; height: auto; }
