/* =========================================================
   KING'S CAVE — IDENTIDAD VISUAL FINAL

   TÍTULOS:
   Raleway

   TEXTOS, MENÚS, BOTONES Y FORMULARIOS:
   Open Sans

   PALETA:
   #463a2c
   #2a261d
   #101415
   #1d1a13
   #bf995a
   #ffffff

   SIN DEGRADADOS
========================================================= */

:root {
  --kc-brown-1: #463a2c;
  --kc-brown-2: #2a261d;
  --kc-black: #101415;
  --kc-brown-3: #1d1a13;
  --kc-gold: #bf995a;
  --kc-white: #ffffff;

  --kc-font-title:
    "Raleway",
    Arial,
    Helvetica,
    sans-serif;

  --kc-font-body:
    "Open Sans",
    Arial,
    Helvetica,
    sans-serif;
}

/* =========================================================
   TIPOGRAFÍA GENERAL
========================================================= */

html,
body {
  font-family: var(--kc-font-body) !important;
}

body,
p,
li,
ul,
ol,
a,
button,
input,
select,
textarea,
label,
small,
span {
  font-family: var(--kc-font-body) !important;
}

/* Todos los títulos */

h1,
h2,
h3,
h4,
h5,
h6,
.kc-topbar__brand span,
.kc-mobile-nav__brand span,
.kc-footer__brand strong,
.kc-service-card h3,
.kc-primary-card__content h2,
.kc-welcome-card h1 {
  font-family: var(--kc-font-title) !important;
}

/* Los elementos internos de los títulos heredan Raleway */

h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 * {
  font-family: inherit !important;
}

/* Títulos de páginas y secciones */

.kc-home-page h1,
.kc-home-page h2,
.kc-home-page h3,
.kc-about h1,
.kc-about h2,
.kc-about h3,
.kc-contact h1,
.kc-contact h2,
.kc-contact h3,
.kc-services-page-body h1,
.kc-services-page-body h2,
.kc-services-page-body h3,
.kc-legal-new h1,
.kc-legal-new h2,
.kc-legal-new h3 {
  font-family: var(--kc-font-title) !important;
  text-transform: uppercase;
}

/* Textos y controles */

.kc-home-page p,
.kc-about p,
.kc-contact p,
.kc-services-page-body p,
.kc-legal-new p,
.kc-legal-new li,
.kc-pill,
.kc-btn,
.kc-service-cta,
.kc-location-btn,
.kc-contact-form input,
.kc-contact-form select,
.kc-contact-form textarea,
.kc-contact-form button {
  font-family: var(--kc-font-body) !important;
}

/* =========================================================
   HEADER SIN DEGRADADOS
========================================================= */

.kc-topbar,
.kc-topbar.kc-topbar--scrolled {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-topbar__nav {
  background: var(--kc-brown-3) !important;
  background-image: none !important;
}

/*
  Espaciado vertical equilibrado del encabezado de escritorio.
  El ID aumenta la prioridad para que public_shell.css no anule estas medidas.
*/
@media (min-width: 921px) {
  #siteHeader .kc-topbar__upper {
    height: auto !important;
    min-height: 0 !important;
  }

  #siteHeader .kc-topbar__upper-inner {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    align-items: center !important;
  }

  #siteHeader .kc-topbar__brand {
    align-self: center !important;
  }

  #siteHeader .kc-topbar__logo {
    width: auto !important;
    height: 72px !important;
    max-height: 72px !important;
    margin: 0 !important;
    transform: none !important;
  }

  #siteHeader .kc-topbar__nav {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 18px !important;
    padding-bottom: 24px !important;
    align-items: center !important;
  }
}

.kc-mobile-nav {
  background: var(--kc-brown-3) !important;
  background-image: none !important;
}

.kc-topbar__brand span,
.kc-mobile-nav__brand span {
  font-family: var(--kc-font-title) !important;
}

.kc-topbar__link,
.kc-pill,
.kc-mobile-legal a {
  font-family: var(--kc-font-body) !important;
}

/* Línea activa sin degradado */

.kc-topbar__link::after {
  background: var(--kc-gold) !important;
  background-image: none !important;
}

/* =========================================================
   BOTONES SIN DEGRADADOS
========================================================= */

.kc-pill--gold,
.kc-btn--gold,
.kc-service-cta--gold,
.kc-gold-button,
.kc-contact-form button {
  background: var(--kc-gold) !important;
  background-image: none !important;
  color: var(--kc-brown-3) !important;
}

.kc-pill--gold:hover,
.kc-pill--gold:focus-visible,
.kc-btn--gold:hover,
.kc-btn--gold:focus-visible,
.kc-service-cta--gold:hover,
.kc-service-cta--gold:focus-visible,
.kc-gold-button:hover,
.kc-gold-button:focus-visible,
.kc-contact-form button:hover,
.kc-contact-form button:focus-visible {
  background: var(--kc-white) !important;
  background-image: none !important;
  color: var(--kc-brown-3) !important;
}

.kc-pill--text {
  background: transparent !important;
  background-image: none !important;
}

.kc-pill--text:hover,
.kc-pill--text:focus-visible {
  background: var(--kc-brown-2) !important;
  background-image: none !important;
}

/* =========================================================
   HOME SIN DEGRADADOS
========================================================= */

body.kc-home-page,
.kc-home-page {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-home-hero__overlay {
  background: rgba(16, 20, 21, 0.52) !important;
  background-image: none !important;
}

.kc-home-page .kc-club-section {
  background: var(--kc-brown-2) !important;
  background-image: none !important;
}

.kc-home-page .kc-services-section {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-home-page .kc-club-card {
  background: var(--kc-brown-3) !important;
  background-image: none !important;
}

.kc-home-page .kc-service-card {
  background: var(--kc-brown-2) !important;
  background-image: none !important;
}

.kc-home-page .kc-services-marquee {
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

.kc-home-page .kc-services-loading {
  font-family: var(--kc-font-body) !important;
}

/* =========================================================
   QUIÉNES SOMOS SIN DEGRADADOS
========================================================= */

.kc-about {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-about-hero-overlay {
  background: rgba(16, 20, 21, 0.7) !important;
  background-image: none !important;
}

/* Conserva la fotografía, elimina únicamente degradados */

.kc-about .kc-about-section,
.kc-about .kc-club-section {
  background-color: var(--kc-brown-3) !important;
  background-image: url("../img/fondo.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

.kc-about .kc-club-section::before {
  background: rgba(16, 20, 21, 0.62) !important;
  background-image: none !important;
}

.kc-about .kc-experience-section {
  background-color: var(--kc-black) !important;
  background-image: url("../img/fondo.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

.kc-about .kc-experience-bg {
  background: rgba(16, 20, 21, 0.72) !important;
  background-image: none !important;
}

.kc-about .kc-experience-card {
  background: var(--kc-brown-2) !important;
  background-image: none !important;
}

.kc-about .kc-power-banner__overlay {
  background: rgba(16, 20, 21, 0.7) !important;
  background-image: none !important;
}

.kc-about .kc-final-image::after {
  background: rgba(16, 20, 21, 0.25) !important;
  background-image: none !important;
}

.kc-about .kc-final-content {
  background-color: var(--kc-brown-3) !important;
  background-image: url("../img/fondo.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}

.kc-about .kc-final-content::before {
  background: rgba(16, 20, 21, 0.72) !important;
  background-image: none !important;
}

/* =========================================================
   CONTACTO SIN DEGRADADOS
========================================================= */

.kc-contact {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-contact-hero-overlay {
  background: rgba(16, 20, 21, 0.7) !important;
  background-image: none !important;
}

.kc-contact-main,
.kc-contact-location {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-contact-form-card {
  background: var(--kc-brown-3) !important;
  background-image: none !important;
}

.kc-contact-form input,
.kc-contact-form select,
.kc-contact-form textarea {
  background: var(--kc-black) !important;
  background-image: none !important;
}

.kc-contact-line {
  background: var(--kc-gold) !important;
  background-image: none !important;
}

.kc-contact .kc-power-banner__overlay {
  background: rgba(16, 20, 21, 0.7) !important;
  background-image: none !important;
}

/* =========================================================
   SERVICIOS SIN DEGRADADOS
========================================================= */

.kc-services-page-body {
  background: var(--kc-white) !important;
  background-image: none !important;
}

.kc-services-hero__veil {
  background: rgba(16, 20, 21, 0.54) !important;
  background-image: none !important;
}

.kc-service-explorer {
  background: var(--kc-white) !important;
  background-image: none !important;
}

.kc-service-slide {
  background: var(--kc-brown-2) !important;
  background-image: none !important;
}

.kc-services-reserve {
  background: var(--kc-brown-1) !important;
  background-image: none !important;
}

/* =========================================================
   PÁGINAS LEGALES SIN DEGRADADOS
========================================================= */

body:has(.kc-legal-new),
.kc-legal-new {
  background: var(--kc-white) !important;
  background-image: none !important;
}

.kc-legal-hero {
  background: var(--kc-brown-3) !important;
  background-image: none !important;
}

.kc-legal-body {
  background: var(--kc-white) !important;
  background-image: none !important;
}

.kc-legal-card,
.kc-legal-card--highlight,
.kc-legal-card--warning {
  background: var(--kc-white) !important;
  background-image: none !important;
  border-color: rgba(191, 153, 90, 0.38) !important;
}

.kc-legal-card h2,
.kc-legal-card--warning h2 {
  color: var(--kc-brown-3) !important;
}

.kc-legal-card li::marker {
  color: var(--kc-gold) !important;
}

/* =========================================================
   FOOTER SIN DEGRADADOS
========================================================= */

.kc-footer {
  background: var(--kc-black) !important;
  background-image: none !important;
}

/* =========================================================
   ACCESIBILIDAD
========================================================= */

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--kc-gold);
  outline-offset: 3px;
}
