/*
Theme Name: WN Servicio
Theme URI: https://wnservicio.com/
Author: Agencia Cobe / WN Servicio
Description: Tema ligero para WN Servicio. Diseñado para Elementor Free y Elementor Header & Footer Builder / Ultimate Addons.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: wn-servicio
License: GPL-2.0-or-later
*/

:root{
  --wn-orange:#FF6A00;
  --wn-navy:#0B2D4A;
  --wn-steel:#4F7B9A;
  --wn-light:#F3F6F8;
  --wn-gray:#E5E7EB;
  --wn-white:#FFFFFF;
  --wn-text:#173149;
  --wn-radius:22px;
  --wn-shadow:0 18px 50px rgba(11,45,74,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--wn-text);background:#fff;font-family:Inter,Arial,sans-serif;line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto}
.wn-section{width:100%;padding:82px 24px}
.wn-section--tight{padding-top:48px;padding-bottom:48px}
.wn-section--light{background:linear-gradient(180deg,#F8FAFB 0%,#EFF4F7 100%)}
.wn-section--navy{background:var(--wn-navy);color:#fff}
.wn-inner{width:min(1180px,100%);margin:0 auto}
.wn-grid-2{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:54px;align-items:center}
.wn-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wn-grid-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.wn-grid-5{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.wn-stack{display:flex!important;flex-direction:column;gap:16px}
.wn-center{text-align:center}
.wn-eyebrow{font-size:13px!important;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--wn-orange)}
.wn-title h1,.wn-title h2,.wn-title h3,.wn-title{color:var(--wn-navy);letter-spacing:-.035em;line-height:1.04}
.wn-section--navy .wn-title h1,.wn-section--navy .wn-title h2,.wn-section--navy .wn-title h3{color:#fff}
.wn-hero{padding-top:56px;padding-bottom:58px;background:
 radial-gradient(circle at 8% 0%,rgba(255,106,0,.10),transparent 28%),
 linear-gradient(135deg,#fff 0%,#f2f7fa 100%)}
.wn-hero h1{font-size:clamp(42px,6vw,72px);margin:0 0 18px}
.wn-hero .wn-lead{font-size:19px;max-width:660px}
.wn-hero-visual{border-radius:32px;overflow:hidden;box-shadow:var(--wn-shadow);position:relative;background:#dfe8ee}
.wn-hero-visual img{display:block;width:100%;height:auto}
.wn-card{background:#fff;border:1px solid rgba(11,45,74,.09);border-radius:var(--wn-radius);padding:28px;box-shadow:0 10px 34px rgba(11,45,74,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.wn-card:hover{transform:translateY(-7px);box-shadow:var(--wn-shadow);border-color:rgba(255,106,0,.28)}
.wn-card h3{margin-top:0}
.wn-card-media{border-radius:18px;overflow:hidden;margin-bottom:8px}
.wn-card-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.wn-benefit{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:24px}
.wn-number{width:54px;height:54px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:var(--wn-orange);color:#fff;font-weight:900;font-size:20px;box-shadow:0 8px 24px rgba(255,106,0,.22)}
.wn-cta-box{background:linear-gradient(120deg,#0B2D4A,#164E70);color:#fff;border-radius:30px;padding:42px;box-shadow:var(--wn-shadow)}
.wn-cta-box h2{color:#fff;margin-top:0}
.elementor-button,.wn-btn{border-radius:999px!important;font-weight:800!important;transition:transform .2s ease,box-shadow .2s ease!important}
.elementor-button:hover,.wn-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,106,0,.22)}
.wn-btn-orange .elementor-button{background:var(--wn-orange)!important;color:#fff!important}
.wn-btn-outline .elementor-button{background:transparent!important;border:1px solid rgba(11,45,74,.22)!important;color:var(--wn-navy)!important}
.wn-section--navy .wn-btn-outline .elementor-button{border-color:rgba(255,255,255,.35)!important;color:#fff!important}
.wn-service-card .elementor-button{padding-left:0!important;background:transparent!important;color:var(--wn-orange)!important;box-shadow:none!important}
.wn-trust-strip{background:var(--wn-navy);color:#fff;border-radius:0}
.wn-trust-strip .wn-inner{padding:22px 0}
.wn-brand-window{overflow:hidden!important;background:#fff;border:1px solid var(--wn-gray);border-radius:22px;padding:22px 0}
.wn-brand-track{display:flex!important;flex-direction:row!important;align-items:center;gap:18px;width:max-content!important;animation:wnMarquee 38s linear infinite}
.wn-brand-track:hover{animation-play-state:paused}
.wn-brand-logo{width:150px!important;min-width:150px!important;height:82px!important;background:#fff;border:1px solid #edf0f2;border-radius:14px;padding:10px;display:flex!important;align-items:center;justify-content:center}
.wn-brand-logo img{max-height:58px!important;max-width:125px!important;object-fit:contain}
@keyframes wnMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.wn-faq .elementor-tab-title{border-radius:14px;background:#f6f8f9;margin:8px 0;font-weight:800}
.wn-form-wrap{background:#fff;border-radius:24px;padding:30px;box-shadow:var(--wn-shadow);border:1px solid rgba(11,45,74,.08)}
.wn-form-wrap input,.wn-form-wrap select,.wn-form-wrap textarea{width:100%;border:1px solid #dbe2e7;border-radius:13px;padding:13px 15px;background:#fff}
.wn-form-wrap input:focus,.wn-form-wrap select:focus,.wn-form-wrap textarea:focus{outline:2px solid rgba(255,106,0,.2);border-color:var(--wn-orange)}
.wn-form-wrap input[type=submit]{background:var(--wn-orange);color:#fff;border:0;font-weight:800;cursor:pointer}
.wn-service-hero{padding-top:52px;padding-bottom:52px}
.wn-service-hero .wn-card-media img{aspect-ratio:16/9}
.wn-pill{display:inline-flex!important;align-items:center;width:auto!important;padding:7px 12px;border-radius:999px;background:rgba(255,106,0,.10);color:var(--wn-orange);font-size:13px;font-weight:800}
.wn-header-fallback{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #edf0f2}
.wn-header-inner{width:min(1180px,calc(100% - 32px));margin:auto;min-height:78px;display:flex;align-items:center;gap:28px}
.wn-header-logo img{width:116px;display:block}
.wn-header-nav{margin-left:auto}
.wn-header-nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
.wn-header-nav ul ul{display:none}
.wn-header-nav a{text-decoration:none;font-weight:700;font-size:14px;color:var(--wn-navy)}
.wn-header-cta{background:var(--wn-orange);color:#fff!important;padding:11px 18px;border-radius:999px;text-decoration:none;font-weight:800}
.wn-footer-fallback{background:var(--wn-navy);color:#fff;padding:46px 24px 24px}
.wn-footer-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.wn-footer-logo{width:140px;background:#fff;border-radius:14px;padding:8px}
.wn-footer-bottom{width:min(1180px,100%);margin:28px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;opacity:.8}
.wn-header-template{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #edf0f2;position:relative;z-index:999}
.wn-header-template>.e-con-inner,.wn-header-template>.elementor-element{max-width:1180px;margin:auto}
.wn-footer-template{background:var(--wn-navy);color:#fff}
.wn-reveal{animation:wnFade .7s ease both}
@keyframes wnFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(max-width:1024px){
 .wn-grid-5{grid-template-columns:repeat(2,1fr)}
 .wn-grid-4{grid-template-columns:repeat(2,1fr)}
 .wn-grid-3{grid-template-columns:repeat(2,1fr)}
 .wn-grid-2{grid-template-columns:1fr;gap:34px}
 .wn-section{padding:64px 22px}
 .wn-header-nav{display:none}
 .wn-footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
 .wn-section{padding:52px 18px}
 .wn-grid-5,.wn-grid-4,.wn-grid-3{grid-template-columns:1fr}
 .wn-hero h1{font-size:42px}
 .wn-hero .wn-lead{font-size:17px}
 .wn-cta-box{padding:30px 22px}
 .wn-footer-inner{grid-template-columns:1fr}
 .wn-brand-logo{width:135px!important;min-width:135px!important}
}

.wn-cf7-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wn-cf7-grid label{font-weight:700;font-size:14px}
.wn-cf7-grid .wn-full{grid-column:1/-1}
.wpcf7 form .wpcf7-response-output{border-radius:12px}
@media(max-width:767px){.wn-cf7-grid{grid-template-columns:1fr}.wn-cf7-grid .wn-full{grid-column:auto}}
