/*
 * IslaMarket Web Font System Final
 * Fuente global premium tipo app nativa.
 * No fuerza colores globales.
 * No toca iconos.
 */

:root {
  --im-font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Base web */
html,
body {
  font-family: var(--im-font-system) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-weight: 400;
  letter-spacing: -0.005em;
}

/* Textos reales: no incluye i/svg/icon fonts */
html body :where(
  p,
  span,
  small,
  strong,
  em,
  label,
  li,
  dt,
  dd,
  th,
  td,
  figcaption,
  blockquote,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  button,
  input,
  textarea,
  select,
  option,
  a
) {
  font-family: var(--im-font-system) !important;
}

/* Títulos */
html body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  [class*="title"],
  [class*="Title"],
  [class*="heading"],
  [class*="Heading"],
  [class*="name"],
  [class*="Name"]
) {
  font-family: var(--im-font-system) !important;
  letter-spacing: -0.025em;
}

/* Navegación, botones, formularios y búsqueda */
html body :where(
  button,
  input,
  textarea,
  select,
  option,
  a,
  [role="button"],
  [class*="btn"],
  [class*="Btn"],
  [class*="button"],
  [class*="Button"],
  [class*="nav"],
  [class*="Nav"],
  [class*="menu"],
  [class*="Menu"],
  [class*="search"],
  [class*="Search"],
  [class*="filter"],
  [class*="Filter"]
) {
  font-family: var(--im-font-system) !important;
}

/* Placeholder */
html body input::placeholder,
html body textarea::placeholder {
  font-family: var(--im-font-system) !important;
}

/* Pesos premium */
html body :where(
  button,
  [class*="btn"],
  [class*="Btn"],
  [class*="button"],
  [class*="Button"]
) {
  font-weight: 700;
}

html body :where(input, textarea, select) {
  font-weight: 500;
}

/* Precios */
html body :where(
  [class*="price"],
  [class*="Price"],
  [class*="precio"],
  [class*="Precio"]
) {
  font-family: var(--im-font-system) !important;
  font-weight: 800;
  letter-spacing: -0.025em;
}

/* Tarjetas/listados */
html body :where(
  [class*="card"],
  [class*="Card"],
  [class*="listing"],
  [class*="Listing"],
  [class*="product"],
  [class*="Product"]
) {
  font-family: var(--im-font-system) !important;
}

/*
 * Protección para iconos.
 * No se fuerza fuente sobre librerías de iconos.
 */
html body :where(
  i,
  svg,
  .fa,
  .fas,
  .far,
  .fal,
  .fab,
  .material-icons,
  .material-symbols-outlined,
  [class*="icon"],
  [class*="Icon"]
) {
  font-family: inherit;
}

/*
 * Hero home: mantener contraste correcto.
 * Selector real confirmado: .hp-hero-slide_copy h1
 */
html body.is-site .hp-hero-slide_copy h1,
html body.is-site .hp-hero .hp-hero-slide_copy h1,
html body.is-site .hp-hero-slide.is-active .hp-hero-slide_copy h1,
html body[class*="home"] .hp-hero-slide_copy h1,
html body[class*="hero"] .hp-hero-slide_copy h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.38) !important;
}

html body.is-site .hp-hero-slide_copy h1 span,
html body.is-site .hp-hero-slide_copy h1 strong,
html body.is-site .hp-hero-slide_copy h1 b,
html body.is-site .hp-hero .hp-hero-slide_copy h1 span,
html body.is-site .hp-hero .hp-hero-slide_copy h1 strong,
html body.is-site .hp-hero .hp-hero-slide_copy h1 b,
html body[class*="home"] .hp-hero-slide_copy h1 span,
html body[class*="home"] .hp-hero-slide_copy h1 strong,
html body[class*="home"] .hp-hero-slide_copy h1 b,
html body[class*="hero"] .hp-hero-slide_copy h1 span,
html body[class*="hero"] .hp-hero-slide_copy h1 strong,
html body[class*="hero"] .hp-hero-slide_copy h1 b {
  color: #ff563f !important;
  -webkit-text-fill-color: #ff563f !important;
  opacity: 1 !important;
  filter: none !important;
}

html body.is-site .hp-hero-slide_copy p,
html body.is-site .hp-hero .hp-hero-slide_copy p,
html body[class*="home"] .hp-hero-slide_copy p,
html body[class*="hero"] .hp-hero-slide_copy p {
  color: rgba(255, 255, 255, 0.78) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1 !important;
}

html body.is-site .hp-hero-slide_kicker,
html body.is-site .hp-hero .hp-hero-slide_kicker,
html body[class*="home"] .hp-hero-slide_kicker,
html body[class*="hero"] .hp-hero-slide_kicker {
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
  opacity: 1 !important;
}

/* IM_WEB_FONT_BODY_VAR_CUT_EXISTING_CSS_START */
:root,
html,
body {
  --im-font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  --im-font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

html,
html body,
body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

html body :where(
  p,
  span,
  small,
  strong,
  em,
  label,
  li,
  dt,
  dd,
  th,
  td,
  figcaption,
  blockquote,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  button,
  input,
  textarea,
  select,
  option,
  a
) {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
/* IM_WEB_FONT_BODY_VAR_CUT_EXISTING_CSS_END */
