/*
Theme Name: MDT Seguridad
Theme URI: https://mdtseguridad.com
Author: MDT
Description: Tema a medida para MDT Seguridad. Sin page builder, CSS propio, pensado para velocidad y Core Web Vitals.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mdtseguridad
*/

/* ============ TOKENS ============ */
:root{
  --naranja:#fe4c1c;        /* marca MDT */
  --naranja-ac:#d93c0e;     /* accesible sobre blanco (4,56:1) */
  --naranja-ho:#a82d08;
  --ambar:#ffa53d;
  --azul:#002dae;
  --azul-osc:#0021a0;
  --azul-claro:#f0f6ff;
  --tinta:#1a1b1e;
  --negro:#101114;
  --panel:#17181c;
  --borde-osc:#2b2d33;
  --gris:#606060;
  --gris-claro:#83878f;
  --gris-medio:#9a9ea7;
  --gris-txt:#b9bdc6;
  --nav:#d6d8dd;
  --linea:#e3e7ee;
  --fondo-2:#f7f9fc;
  --blanco:#fff;
  --display:"Red Hat Display",system-ui,-apple-system,"Segoe UI",sans-serif;
  --texto:"Red Hat Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho:1296px;
  --gutter:36px;
  --r:10px;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--texto);font-size:16px;line-height:1.6;color:var(--gris);background:var(--blanco);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);margin:0;color:var(--tinta);line-height:1.15}
p{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--naranja-ac);text-decoration:none}
a:hover{color:var(--naranja-ho)}
:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:100;background:var(--blanco);color:var(--tinta);padding:12px 18px;border-radius:6px}

.wrap{max-width:var(--ancho);margin:0 auto;padding-inline:var(--gutter)}
.seccion{padding-block:86px}
.seccion--gris{background:var(--fondo-2)}
.seccion--azul{background:var(--azul-claro)}
.seccion--osc{background:var(--negro)}

.eyebrow{font-size:14px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--naranja-ac);display:block;margin-bottom:16px}
.seccion--osc .eyebrow{color:var(--naranja)}
.encabezado{max-width:760px;margin-bottom:44px}
.encabezado h2{font-size:clamp(28px,3.4vw,40px);font-weight:700;letter-spacing:-0.6px}
.encabezado p{font-size:18px;line-height:1.65;margin-top:16px}
.seccion--osc .encabezado h2{color:var(--blanco)}
.seccion--osc .encabezado p{color:var(--gris-txt)}

/* ============ BOTONES ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 30px;border-radius:6px;font-family:var(--display);font-weight:700;font-size:17px;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn--p{background:var(--naranja-ac);color:var(--blanco)}
.btn--p:hover{background:var(--naranja-ho);color:var(--blanco)}
.btn--f{border-color:#45474e;color:var(--blanco);background:transparent}
.btn--f:hover{background:rgba(255,255,255,.08);color:var(--blanco)}
.btn--sm{min-height:44px;padding:12px 22px;font-size:15px}

/* ============ HEADER ============ */
.cabecera{background:var(--negro);position:sticky;top:0;z-index:50}
.cabecera__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.marca{display:flex;align-items:center;gap:13px}
.marca img{height:34px;width:auto}
.marca__sep{width:1px;height:26px;background:#45474e}
.marca__txt{font-family:var(--display);font-weight:500;font-size:20px;color:var(--blanco)}
.nav{display:flex;align-items:center;gap:32px}
.nav a{font-size:15px;font-weight:500;color:var(--nav)}
.nav a:hover{color:var(--blanco)}
.nav .btn--p{color:var(--blanco)}
.menu-btn{display:none;background:none;border:1px solid #45474e;border-radius:6px;width:46px;height:46px;cursor:pointer;color:var(--blanco);align-items:center;justify-content:center}

/* ============ HERO ============ */
.hero{background:var(--negro);padding-block:76px 88px}
.hero__in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:64px;align-items:start}
.hero__punto{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px}
.hero__punto span:first-child{width:8px;height:8px;border-radius:50%;background:var(--naranja);flex:0 0 auto}
.hero h1{font-size:clamp(38px,5vw,58px);font-weight:900;color:var(--blanco);letter-spacing:-1.3px;line-height:1.08}
.hero h1 small{display:block;font-size:clamp(20px,2.4vw,30px);font-weight:500;color:var(--gris-txt);letter-spacing:-.4px;margin-top:12px;font-family:var(--display)}
.hero__bajada{font-size:20px;line-height:1.6;color:var(--gris-txt);margin-top:24px;max-width:600px}
.hero__bajada strong{color:var(--blanco);font-weight:700}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero__micro{font-size:14px;color:var(--gris-claro);margin-top:20px}

.informe{background:var(--panel);border:1px solid var(--borde-osc);border-radius:12px;padding:28px}
.informe__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--borde-osc)}
.informe__top b{font-family:var(--display);font-size:15px;color:var(--blanco)}
.chip{font-size:12px;font-weight:700;color:var(--negro);background:var(--naranja);padding:5px 10px;border-radius:4px;white-space:nowrap}
.hallazgos{display:flex;flex-direction:column;gap:14px;padding-top:18px;margin:0;list-style:none}
.hallazgo{display:flex;gap:12px}
.hallazgo::before{content:"";width:4px;border-radius:2px;background:var(--naranja);flex:0 0 auto}
.hallazgo--m::before{background:var(--ambar)}
.hallazgo b{display:block;font-family:var(--display);font-size:15px;color:var(--blanco);font-weight:700}
.hallazgo span{font-size:13px;line-height:1.5;color:var(--gris-medio)}
.informe__pie{margin-top:22px;padding-top:18px;border-top:1px solid var(--borde-osc);font-size:13px;color:var(--gris-claro);line-height:1.5}

/* ============ CIFRAS ============ */
.cifras{background:var(--azul-claro);padding-block:44px}
.cifras__in{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center}
.cifra b{display:block;font-family:var(--display);font-size:40px;font-weight:900;color:var(--azul);line-height:1}
.cifra span{font-size:14px;color:#4a5568;font-weight:500}
.cifras__nota{max-width:250px;font-size:13px;color:#4a5568;line-height:1.5}
.cifras__sep{width:1px;height:52px;background:#ccd9f0}

/* ============ GRILLAS ============ */
.grid{display:grid;gap:24px}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

.tarjeta{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);padding:28px}
.tarjeta svg{margin-bottom:12px}
.tarjeta h3{font-size:18px;font-weight:700;margin-bottom:10px}
.tarjeta p{font-size:15px;line-height:1.6}

.servicio{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:36px;display:flex;flex-direction:column;gap:14px}
.servicio__n{font-family:var(--display);font-size:13px;font-weight:700;color:var(--blanco);background:var(--tinta);padding:5px 11px;border-radius:4px;align-self:flex-start}
.servicio h3{font-size:clamp(20px,2vw,24px);font-weight:700}
.servicio p{font-size:16px;line-height:1.65}
.servicio__e{font-size:15px;line-height:1.6;color:var(--tinta);font-weight:500;margin-top:auto;padding-top:4px}

.paso{display:flex;flex-direction:column;gap:14px}
.paso__barra{height:4px;border-radius:2px;background:var(--naranja)}
.paso--op .paso__barra{background:#d8dce4}
.paso__n{font-family:var(--display);font-size:14px;font-weight:700;color:var(--naranja-ac);letter-spacing:.6px}
.paso--op .paso__n{color:var(--gris)}
.paso h3{font-size:22px;font-weight:700}
.paso p{font-size:15px;line-height:1.65}

.cobertura{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:64px;align-items:start}
.vector{background:var(--panel);border:1px solid var(--borde-osc);border-left:3px solid var(--naranja);border-radius:8px;padding:22px 24px}
.vector--m{border-left-color:var(--ambar)}
.vector b{display:block;font-family:var(--display);font-size:17px;font-weight:700;color:var(--blanco);margin-bottom:6px}
.vector p{font-size:15px;line-height:1.6;color:var(--gris-medio)}
.enlace-osc{color:var(--naranja);font-weight:700;font-size:17px;font-family:var(--display);display:inline-block;margin-top:8px}
.enlace-osc:hover{color:#ff7a52}

.vertical{background:var(--azul-claro);border-radius:var(--r);padding:30px}
.vertical h3{font-size:19px;font-weight:700;color:var(--azul);margin-bottom:10px}
.vertical p{font-size:15px;line-height:1.6;color:#4a5568}

.testimonio{background:var(--blanco);border:1px solid var(--linea);border-top:3px solid var(--naranja);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;gap:18px}
.testimonio__c{font-family:var(--display);font-size:44px;font-weight:900;color:var(--linea);line-height:.6;height:24px}
.testimonio p{font-size:16px;line-height:1.7;color:var(--tinta)}
.testimonio__a{margin-top:auto;padding-top:14px;border-top:1px solid #eef1f6}
.testimonio__a b{display:block;font-family:var(--display);font-size:15px;color:var(--tinta)}
.testimonio__a span{font-size:14px;color:var(--gris)}

/* ============ FAQ ============ */
.faq{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:64px;align-items:start}
.faq__item{padding-block:26px;border-bottom:1px solid var(--linea)}
.faq__item:last-child{border-bottom:0}
.faq__item h3{font-size:19px;font-weight:700;margin-bottom:10px}
.faq__item p{font-size:16px;line-height:1.65}

/* ============ CTA ============ */
.cta{background:var(--azul);padding-block:80px}
.cta__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.cta h2{font-size:clamp(30px,3.6vw,42px);font-weight:700;color:var(--blanco);letter-spacing:-.8px;line-height:1.12}
.cta__b{font-size:18px;line-height:1.65;color:#cfdaf7;margin-top:18px}
.cta__m{font-size:15px;line-height:1.6;color:#a8bcee;margin-top:14px}
.form{background:var(--blanco);border-radius:12px;padding:34px;display:flex;flex-direction:column;gap:18px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo label{font-size:14px;font-weight:700;color:var(--tinta);font-family:var(--display)}
.campo input,.campo textarea{min-height:48px;border:1px solid #ccd3df;border-radius:6px;padding:12px 14px;font-size:16px;font-family:var(--texto);color:var(--tinta);width:100%}
.campo input:focus,.campo textarea:focus{border-color:var(--azul);outline:2px solid rgba(0,45,174,.2)}
.form__fila{display:flex;gap:16px}
.form__fila .campo{flex:1 1 0;min-width:0}
.form__legal{font-size:13px;line-height:1.55;color:#6b7280}
.form button{width:100%}

/* ============ FOOTER ============ */
.pie{background:var(--negro);padding-block:52px 30px;color:var(--gris-claro)}
.pie__top{display:grid;grid-template-columns:minmax(0,340px) repeat(2,minmax(0,1fr));gap:40px}
.pie__col b{display:block;font-family:var(--display);font-size:14px;font-weight:700;color:var(--blanco);margin-bottom:12px}
.pie__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pie__col a{font-size:14px;color:var(--gris-claro)}
.pie__col a:hover{color:var(--blanco)}
.pie__desc{font-size:14px;line-height:1.65;margin-block:14px}
.pie__bottom{border-top:1px solid var(--borde-osc);margin-top:40px;padding-top:22px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:13px;color:#6a6e76}
.pie__bottom a{font-size:13px;color:#6a6e76}
.pie__legales{display:flex;gap:22px;flex-wrap:wrap}

/* ============ CONTACT FORM 7 ============ */
.form form{display:flex;flex-direction:column;gap:18px}
.form .wpcf7-form-control-wrap{display:block}
.form p{margin:0}
.form input.wpcf7-form-control{min-height:48px;border:1px solid #ccd3df;border-radius:6px;padding:12px 14px;font-size:16px;font-family:var(--texto);color:var(--tinta);width:100%}
.form input.wpcf7-form-control:focus{border-color:var(--azul);outline:2px solid rgba(0,45,174,.2)}
.form input.wpcf7-not-valid{border-color:#c0341d}
.form .wpcf7-not-valid-tip{font-size:13px;line-height:1.4;color:#c0341d;margin-top:6px}
.form .wpcf7-submit{width:100%}
.form .wpcf7-spinner{display:block;margin:10px auto 0}
.form .wpcf7-response-output{margin:4px 0 0!important;padding:16px 18px!important;border-radius:6px!important;border:1px solid #ccd3df!important;font-size:15px;line-height:1.55;background:#f7f9fc;color:var(--tinta)}
.form form.sent .wpcf7-response-output{border-color:#1f7a3f!important;background:#eaf7ef;color:#14532d;font-weight:500}
.form form.invalid .wpcf7-response-output,
.form form.failed .wpcf7-response-output,
.form form.aborted .wpcf7-response-output,
.form form.spam .wpcf7-response-output{border-color:#c0341d!important;background:#fdecea;color:#7f1d1d}
.form form.sent .campo,.form form.sent .form__fila,.form form.sent .wpcf7-submit,.form form.sent .form__legal{display:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .hero__in,.cobertura,.faq,.cta__in{grid-template-columns:1fr;gap:44px}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cifras__sep{display:none}
}
@media (max-width:900px){
  :root{--gutter:24px}
  .seccion{padding-block:64px}
  .nav{display:none}
  .nav.abierto{display:flex;position:absolute;top:84px;left:0;right:0;background:var(--negro);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-top:1px solid var(--borde-osc)}
  .nav.abierto a{padding-block:14px;border-bottom:1px solid var(--borde-osc)}
  .nav.abierto .btn--p{margin-top:16px;border-bottom:0}
  .menu-btn{display:inline-flex}
  .cifras__in{gap:24px 36px}
  .cifra b{font-size:32px}
}
@media (max-width:640px){
  .grid--4,.grid--3,.grid--2{grid-template-columns:1fr}
  .form__fila{flex-direction:column;gap:18px}
  .hero{padding-block:52px 64px}
  .servicio,.form,.testimonio{padding:26px}
  .btn{width:100%}
  .hero__ctas{flex-direction:column;align-items:stretch}
  .pie__top{grid-template-columns:1fr;gap:32px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
