@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* =========================================================
   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
   ========================================================= */


:root{
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-display: "Montserrat", -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --text-color:#111827;
  --muted:#667085;

  --link:#1a73e8;
  --link-hover:#0b5bd3;

  --lh-tight:1.08;
  --lh-heading:1.1;
  --lh-copy:1.52;

  --fs-body:1rem;
  --fs-small:.875rem;
  --fs-h1:clamp(3rem, 5.15vw, 4.25rem);
  --fs-h2:clamp(2.05rem, 3.4vw, 2.7rem);
  --fs-h3:clamp(1.55rem, 2.45vw, 1.95rem);
  --fs-h4:clamp(1.25rem, 1.95vw, 1.5rem);
  --fs-h5:clamp(1.08rem, 1.55vw, 1.22rem);
  --fs-h6:1rem;

  --ls-display:-0.13rem;
  --ls-h1:-0.115rem;
  --ls-h2:-0.065rem;
  --ls-h3:-0.03rem;
}

*{box-sizing:border-box}
html{font-size:16px}

body{
  font-family:var(--font-sans);
  font-weight:400;
  font-size:var(--fs-body);
  line-height:var(--lh-copy);
  color:var(--text-color);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  margin:0;
  text-rendering:optimizeLegibility;
}

.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:.78rem;
  color:rgba(102,112,133,1) !important;
  font-weight:500;
  line-height:1.4;
}

/* 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{
  font-size:clamp(2.35rem, 3.75vw, 3.05rem);
  letter-spacing:-.08rem;
  line-height:var(--lh-heading);
}
.text-max{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(3.75rem, 6.25vw, 5.25rem);
  letter-spacing:-.17rem;
  line-height:.98;
}
.text-xxl{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.8rem, 4.7vw, 3.8rem) !important;
  letter-spacing:var(--ls-display);
  line-height:1.02;
}

/* Títulos y párrafos */
h1,h2,h3,h4,h5,h6,p{
  margin:0 0 1.1rem 0;
  line-height:var(--lh-heading);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,.font-max{
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--fs-h1);
  letter-spacing:var(--ls-h1);
  line-height:0.81;
}
h2{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-h2);
  letter-spacing:var(--ls-h2);
  line-height:0.86;
}
h3{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:var(--fs-h3);
  letter-spacing:var(--ls-h3);
  line-height:1.14;
}
h4{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:var(--fs-h4);
  line-height:1.2;
}
h5{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:var(--fs-h5);
  line-height:1.24;
}
h6{
  font-family:var(--font-sans);
  font-weight:600;
  font-size:var(--fs-h6);
  line-height:1.3;
}

p,li{
  font-size:.985rem;
  line-height:var(--lh-copy);
}

.font{font-family:var(--font-display)}

.text-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.45rem, 4.15vw, 3.3rem) !important;
  letter-spacing:-.11rem;
  line-height:1.04;
}
.text-subtitle{
  font-size:1.14rem !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  line-height:1.48;
  color:var(--muted);
}

/* Texto lector */
.text-lector,
.text-link,
.text-link a:visited{
  font-family:var(--font-sans) !important;
  font-size:.96rem !important;
  line-height:1.58;
}
.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;
  letter-spacing:-.01rem;
}
.navbar-nav .nav-item a{font-size:.96rem !important}
.navbar-nav-lg .nav-item a{font-size:.96rem !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:.95rem !important;
}
label{
  font-family:var(--font-sans) !important;
  font-weight:500 !important;
  font-size:.82rem;
  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:.98rem;
  padding:.62rem 1rem;
}

/* Tablas */
.td-title{font-size:1.02rem;font-weight:600}
td{font-size:.96rem;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:.96rem !important;
}

/* Mobile typography: larger, balanced and readable */
@media (max-width:576px){
  html{font-size:15px}

  body{
    font-size:1rem;
    line-height:1.54;
  }

  h1,
  .font-max{
    font-size:3.44rem;
    line-height:0.8;
    letter-spacing:-.125rem;
  }

  h2{
    font-size:2.18rem;
    line-height:0.88;
  }

  h3{
    font-size:1.7rem;
    line-height:1.14;
  }

  h4{
    font-size:1.34rem;
    line-height:1.22;
    font-weight:600;
  }

  h5{
    font-size:1.12rem;
    line-height:1.3;
  }

  h6{
    font-size:1rem;
    line-height:1.35;
  }

  p,
  li{
    font-size:1rem;
    line-height:1.58;
  }

  .text-lg{
    font-size:2.55rem;
    letter-spacing:-.08rem;
  }

  .text-max{
    font-size:4.2rem;
    letter-spacing:-.17rem;
    line-height:.98;
  }

  .text-xxl{
    font-size:3.12rem !important;
    letter-spacing:-.11rem;
  }

  .text-1{font-size:2rem !important}
  .text-2{font-size:1.6rem !important}
  .text-3{font-size:1.28rem !important}
  .text-4{font-size:1.08rem !important}

  .text-title{
    font-size:2.78rem !important;
    line-height:1.03;
    letter-spacing:-.1rem;
  }

  .text-subtitle{
    font-size:1.05rem !important;
    line-height:1.5;
    letter-spacing:0 !important;
  }

  .text-tip,
  .text-tip a,
  .fc-list-event-title a{
    font-size:.8rem;
    line-height:1.35;
  }

  .text-lector,
  .text-link,
  .text-link a:visited{
    font-size:.98rem !important;
    line-height:1.62;
  }

  .navbar-nav .nav-item a{font-size:1rem !important}
  .sidebar li{font-size:1rem !important}

  input,
  textarea,
  select{
    font-size:1rem !important;
  }

  label{
    font-size:.82rem;
    line-height:1.3;
  }

  .btn-ui.btn,
  .btn-ui{
    font-size:1rem;
    padding:.66rem .95rem;
  }

  .accordion-button{font-size:1rem !important}
}

/* Base desktop scale normalization */
html{
  font-size:15px;
}

.navbar-nav .nav-item a,
.sidebar li,
input,
textarea,
select,
.accordion-button{
  font-size:12.6px !important;
}

label{
  font-size:10.8px !important;
}

.btn-ui.btn,
.btn-ui{
  font-size:14.4px;
}

@media (max-width:576px){
  html{
    font-size:13.5px;
  }

  .navbar-nav .nav-item a,
  .sidebar li{
    font-size:0.9rem !important;
  }
}
