/* ==========================================================
   VARIABLES
========================================================== */

:root {
  --color-primary: #113555;
  --color-primary-dark: #062b4f;
  --color-primary-light: #24557f;
  --color-primary-soft: #eef5fb;

  --color-bg: #ffffff;
  --color-surface: #fafbfc;
  --color-surface-alt: #f4f8fb;

  --color-text: #102a43;
  --color-muted: #5f7387;
  --color-border: #e2ebf3;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 22px;

  --shadow-sm: 0 4px 14px rgba(17, 53, 85, .04);
  --shadow-md: 0 14px 34px rgba(17, 53, 85, .08);

  --container: 1360px;

  --space-xs: .5rem;
  --space-sm: .9rem;
  --space-md: 1.75rem;
  --space-lg: 4rem;
  --space-xl: 6.5rem;

  --font-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --link-underline-thickness: max(3px, .1875rem, .12em);
  --link-underline-offset: 0.14em;

/* Highlights / bloques destacados */
--highlight-yellow:    #ffd84d; /* amarillo */
--highlight-cream:     #f7b95c; /* naranja suave */
--highlight-lavender:  #d7cff5; /* lavanda */
--highlight-turquoise: #5fd0c3; /* turquesa */
--highlight-green:     #6cc28b; /* verde */
--highlight-whatsapp:  #25d366; /* WhatsApp */
--highlight-corporate: #b8d9f3; /* azul */
--highlight-dark:      #111;
--highlight-light:     #fff;
--highlight-grey:      #f2c3cf; /* rosa empolvado */

  /* Hero themes */
--hero-corporate: #eef5fb;
--hero-grey: #f2f2f2;
--hero-cream: #faf6ee;
--hero-sage: #edf4ef;
--hero-lavender: #f3f1fb;
--hero-sand: #f8f3e8;
--hero-ice: #edf6fa;
--hero-rose: #f9f0f2;
--hero-mint: #eef8f5;
--hero-stone: #f6f5f3;
}



/* ==========================================================
   BASE
========================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-primary);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.14em;

  transition:
    color .2s ease,
    text-decoration-thickness .2s ease;
}

a:hover {
  text-decoration: underline;
  text-decoration-thickness: var(--link-underline-thickness);
  text-underline-offset: var(--link-underline-offset);
}

main {
  padding-block-end: 1rem;
}

.vt-hero__title,
.vt-section-heading__title,
.vt-highlight__title, .service-simple-section-title, .equipment-simple-section-title, 
.vt-faq-item__title, .event-full__content h2, .listing-layout__section-title,
.search-page__header h1, .legal-header h1  {
    font-family: var(--font-heading);
}

.vt-card__title,
.news-full__title,
.event-full__title,
.corporation-card__title,
.search-result__title,
h4,
h5,
h6 {
    font-family: var(--font-base);
}

/* ==========================================================
   ACCESSIBILITY
========================================================== */
:focus {
  outline: none;
}

:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 4px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

.visually-hidden,
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 9999;
  padding: .85rem 1rem;
  background: #fff;
  color: var(--color-primary-dark);
  border: 2px solid var(--color-primary-dark);
  border-radius: var(--radius-sm);
  font-weight: 640;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

@media (hover: none) and (pointer: coarse) {

  /* Elimina el resaltado azul al tocar */
  .site-header .menu a,
  .site-header .menu span,
  .site-header .menu button,
  .menu-submenu-toggle {
    -webkit-tap-highlight-color: transparent;
  }

  /* Evita fondos azules por focus táctil */
  .site-header .menu a:focus,
  .site-header .menu button:focus {
    outline: none;
    background: transparent;
    color: inherit;
  }

  /* Evita estilos :active al tocar */
  .site-header .menu > .menu-item > a:active,
  .site-header .menu > .menu-item > span:active,
  .site-header .menu > .menu-item > button:active {
    background: transparent;
    color: inherit;
  }
}