/* =========================================================
   FILE: style_fonts_inter.css
   VERSION: v2.1.0
   UPDATED: 2026-02-05 America/Mexico_City
   AUTHOR: Steve
   CHANGE: Normalización tipografías (Inter/Montserrat), dedupe, botones no intrusivos, móvil mejor
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..800&display=swap");

:root{
  --font-sans: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
  --font-display: "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  --text-color:#111;
  --muted:#666;

  --link:#1a73e8;
  --link-hover:#0b5bd3;

  --lh-tight:1.16;
}

*{box-sizing:border-box}
html{font-size:16px}

body{
  font-family:var(--font-sans);
  font-weight:400;
  font-size:1rem;
  line-height:var(--lh-tight);
  color:var(--text-color);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin:0;
}

.uppercase{text-transform:uppercase}
.italic{font-style:italic}
strong,.bold{font-weight:600 !important}
.bolder{font-weight:700}
.text-max strong{font-weight:600 !important}

.text-tip,
.text-tip a{
  font-size:.7rem;
  color:rgba(107,114,128,1) !important;
  font-weight:400;
}

/* Tamaños utilitarios (alias incluidos) */
.text-xxs,.font-mini,.fs-7{font-size:.6875rem}
.text-xs,.fs-6{font-size:.79375rem}
.text-sm,.fs-5{font-size:.84375rem}
.text-md,.fs-4{font-size:1.0875rem}
.text-4{font-size:1.125rem !important}
.text-3{font-size:1.3125rem !important}
.text-2{font-size:1.5625rem !important}
.text-1{font-size:1.8125rem !important}

.text-lg,.text-max{
  font-size:3rem;
  letter-spacing:-.09rem;
}
.text-xxl{
  font-size:3.4rem !important;
  letter-spacing:-.09rem;
}

/* Títulos y párrafos */
h1,h2,h3,h4,h5,h6,p{
  margin:0 0 1.1rem 0;
  line-height:var(--lh-tight);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,.font-max{
  font-family:var(--font-display);
  font-weight:400;
  font-size:2.3rem;
  letter-spacing:-.04rem;
}
h2{font-family:var(--font-display);font-weight:400;font-size:1.7rem}
h3{font-family:var(--font-display);font-size:1.5rem}
h4{font-size:1.4rem}
h5{font-size:1.2rem}
h6{font-size:1.1rem}

p,li{font-size:.9375rem}

.font{font-family:var(--font-display)}

.text-title{
  font-size:2.5em !important;
  letter-spacing:-.10rem;
  font-weight:400;
}
.text-subtitle{
  font-size:1.2em !important;
  letter-spacing:-.01rem !important;
  font-weight:200 !important;
}

/* Texto lector */
.text-lector,
.text-link,
.text-link a:visited{
  font-family:var(--font-sans) !important;
  font-size:.8875rem !important;
}
.text-lector{
  font-weight:400 !important;
  color:var(--text-color) !important;
}

/* Links */
a{
  color:var(--link);
  text-decoration:none;
  font-size:inherit;
}
a:hover,
a:focus{
  text-decoration:underline;
  color:var(--link-hover);
}

.LinkBlanco a,
.linkBlanco a{color:#fff;text-decoration:none}
.LinkBlanco a:hover,
.linkBlanco a:hover{text-decoration:underline}

.LinkNegro a,
.linkNegro a{color:#000;text-decoration:none}
.LinkNegro a:hover,
.linkNegro a:hover{text-decoration:underline}

.LinkColor a{color:#337ab7;text-decoration:underline}
.LinkColor a:hover{text-decoration:underline}

.Nu a,
.nu a{text-decoration:none}
.Nu a:hover,
.nu a:hover{text-decoration:none}

/* Navegación */
.nav-link,
.navbar-nav .nav-item a,
.navbar-nav-lg .nav-item a{
  font-family:var(--font-sans) !important;
  font-weight:600 !important;
}
.navbar-nav .nav-item a{font-size:14px !important}
.navbar-nav-lg .nav-item a{font-size:.9rem !important}

.sidebar li{
  font-size:14px !important;
  font-weight:600 !important;
}

/* Formularios */
input,textarea,select{
  font-family:var(--font-sans) !important;
  font-weight:400 !important;
  font-size:14px !important;
}
label{
  font-family:var(--font-sans) !important;
  font-weight:400 !important;
  font-size:12px;
  padding-top:9px;
  color:#222 !important;
}

/* Botones: NO forzar .btn global
   Usa .btn-ui cuando quieras tu estilo consistente */
.btn-ui{
  font-family:var(--font-sans) !important;
  font-weight:500 !important;
  -webkit-font-smoothing:antialiased !important;
}
.btn-ui.btn,
.btn-ui{
  font-size:16px;
  padding:8px 16px;
}

/* Tablas */
.td-title{font-size:1.1rem;font-weight:600}
td{font-size:1rem;font-weight:400}

/* Utilidades */
.fontShadowWhite{text-shadow:.7px .7px .7px rgba(255,255,255,.8)}
.fontShadowBlack{text-shadow:.7px .7px .7px rgba(0,0,0,.6)}

.fontCenter,.center{text-align:center}
.fontLeft{text-align:left}
.fontRight{text-align:right}

.accordion-button{
  font-family:var(--font-sans) !important;
  font-weight:500 !important;
  font-size:14px !important;
}

/* Mobile typography tightening (compact & balanced) */
@media (max-width:576px){
  /* Base */
  html{font-size:13px}

  body{
    font-size:.9rem;
    line-height:1.2;
  }

  /* Headings */
  h1,.font-max{font-size:1.6rem}
  h2{font-size:1.3rem}
  h3{font-size:1.15rem}
  h4{font-size:1.05rem}
  h5{font-size:.98rem}
  h6{font-size:.95rem}

  /* Texto base */
  p,li{font-size:.85rem}

  /* Displays */
  .text-lg,.text-max{font-size:1.7rem}
  .text-xxl{font-size:2rem !important}

  .text-1{font-size:1.35rem !important}
  .text-2{font-size:1.15rem !important}
  .text-3{font-size:1.05rem !important}
  .text-4{font-size:.9rem !important}

  /* Meta / helper */
  .text-tip,
  .text-tip a,
  .fc-list-event-title a{
    font-size:.55rem;
  }

  .text-lector,
  .text-link,
  .text-link a:visited{
    font-size:.72rem !important;
  }

  /* Navegación */
  .navbar-nav .nav-item a{font-size:10.5px !important}
  .sidebar li{font-size:11px !important}

  /* Forms */
  input,textarea,select{font-size:11.5px !important}
  label{font-size:9.5px}

  /* Buttons */
  .btn-ui.btn,
  .btn-ui{
    font-size:11.5px;
    padding:6px 11px;
  }

  /* Accordion */
  .accordion-button{font-size:11.5px !important}
}