/* NMS · Recepcionista con IA para clínicas dentales
   Hoja de estilo del sitio inms.es. Valores del sistema de diseño NMS.
   Autocontenida: sin CDN, sin Google Fonts. */

/* --- Tipografías autoalojadas (Outfit e Inter, SIL OFL) --- */
@font-face{font-family:'Outfit';src:local('Outfit'),url('fonts/Outfit-Variable.woff2') format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:'Inter';src:local('Inter'),url('fonts/Inter-Variable.woff2') format('woff2');font-weight:300 700;font-display:swap}

:root{
  --nms-naranja:#E2621B; --nms-marino:#111427;
  --panal-amarillo:#F4BC1D; --panal-ambar:#F29422;
  --gradient-panal:linear-gradient(135deg,#F4BC1D 0%,#F29422 50%,#E2621B 100%);
  --marino-900:#0A0C18; --marino-800:#111427; --marino-700:#1B2039; --marino-600:#262C4B;
  --naranja-700:#B84D12; --naranja-600:#C95615; --naranja-500:#E2621B; --naranja-300:#F2A268; --naranja-050:#FDF3EC;
  --neutro-000:#FFFFFF; --neutro-050:#F8F8FA; --neutro-200:#E4E5EC; --neutro-300:#C9CBD8; --neutro-500:#7A7F95; --neutro-700:#4A4F66;
  --alerta:#C0392B; --alerta-suave:#FBEAE8;
  --font-display:'Outfit','Segoe UI',system-ui,-apple-system,sans-serif;
  --font-body:'Inter','Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --shadow-cta:0 8px 20px rgba(226,98,27,.30);
  --shadow-cta-hover:0 14px 34px rgba(226,98,27,.48);
  --transition-ui:all 200ms cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.62;color:var(--neutro-700);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0}
p{margin:0;text-wrap:pretty}
img{max-width:100%}
a{color:var(--naranja-500)}
a:hover{color:var(--naranja-700)}
::selection{background:var(--naranja-500);color:#fff}
:focus-visible{outline:2px solid var(--naranja-500);outline-offset:3px;border-radius:6px}
input,select,textarea{font-family:var(--font-body);width:100%;min-width:0;box-sizing:border-box}

@keyframes revelar{from{transform:translateY(12px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* --- Botón --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;letter-spacing:.01em;line-height:1;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;min-height:44px;padding:14px 26px;font-size:1rem;transition:var(--transition-ui)}
.btn-sm{padding:10px 18px;font-size:.875rem}
.btn-lg{padding:18px 34px;font-size:1.0625rem}
.btn-block{width:100%}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--naranja-500);color:#fff;box-shadow:var(--shadow-cta)}
.btn-primary:hover{background:var(--naranja-600);color:#fff;transform:translateY(-3px) scale(1.025);box-shadow:var(--shadow-cta-hover)}
.btn-secondary{background:transparent;color:var(--naranja-500);border-color:var(--naranja-500)}
.btn-secondary:hover{background:var(--naranja-050);color:var(--naranja-500);transform:translateY(-3px) scale(1.025)}
.btn-secondary.on-dark{color:#fff;border-color:rgba(255,255,255,.55)}
.btn-secondary.on-dark:hover{background:rgba(255,255,255,.08);color:#fff}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
.btn[disabled]:hover{background:var(--naranja-500);transform:none;box-shadow:none}

/* --- Etiqueta de sección --- */
.seclabel{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.seclabel>span:first-child{width:28px;height:3px;border-radius:2px;background:var(--gradient-panal);flex-shrink:0}
.seclabel>span:last-child{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--naranja-500)}
.seclabel.on-dark>span:last-child{color:var(--panal-ambar)}

/* --- Aviso legal de pieza --- */
.legalnote{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--font-body);font-size:.8125rem;line-height:1.5;color:var(--neutro-500)}
.legalnote>span{width:9px;height:10px;flex-shrink:0;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);background:var(--gradient-panal);opacity:.85}
.legalnote.on-dark{color:rgba(255,255,255,.72)}

/* --- Rejillas responsivas --- */
@media(max-width:1080px){.form2{grid-template-columns:1fr!important}.ctagrid{grid-template-columns:1fr!important}}
@media(max-width:1000px){.cols4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.legalgrid{grid-template-columns:1fr!important}.legalindex{position:static!important}}
@media(max-width:860px){.cols3{grid-template-columns:1fr!important}.cols2{grid-template-columns:1fr!important}.navlinks{display:none!important}.herogrid{grid-template-columns:1fr!important}}
@media(max-width:560px){.cols4{grid-template-columns:1fr!important}}
@media(min-width:861px){.wafloat{display:none!important}}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* --- Estados hover generados --- */
.hv1:hover{color:#F29422}
.hv2:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(17,20,39,.12);border-color:#F2A268}
.hv3:hover{transform:translateY(-3px);border-color:rgba(242,148,34,.55)}
.hv4:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(17,20,39,.08);border-color:#F2A268}
.hv5:hover{transform:translateY(-3px);box-shadow:inset 3px 0 0 #E2621B,0 8px 24px rgba(17,20,39,.08)}
.hv6:hover{border-color:#F2A268;box-shadow:0 8px 24px rgba(17,20,39,.08)}
.hv7:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 14px 34px rgba(226,98,27,.48)}
