@font-face {
  font-family: 'Avenir';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('../archivos/fonts/avenir-medium.woff2') format('woff2'),
       url('../archivos/fonts/avenir-medium.ttf') format('truetype');
}

@font-face {
  font-family: 'palatino';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url('../archivos/fonts/palatino-roman.woff2') format('woff2'),
       url('../archivos/fonts/palatino-roman.ttf') format('truetype');
}

:root {
  --color-bg: #ffffff;
  --color-text: #0e0700;
  --color-muted: #7a7a7a;
  --color-accent: #e5a66f;
  --color-footer-bg: #e5a66f;
  --color-on-footer: #ffffff;

  --font-body: 'Avenir', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-display: 'palatino', 'Palatino Linotype', 'Palatino LT STD', 'Book Antiqua', Georgia, serif;

  --container: 1240px;
  --radius: 4px;

  --transition: 0.3s ease;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video { display: block; max-width: 100%; height: auto; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; }

main p a,
main li a {
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}

main p a:hover,
main li a:hover,
main p a:focus,
main li a:focus {
  color: #000;
}

button { font: inherit; cursor: pointer; }

.btn:hover,
.btn:focus-visible,
.btn:active {
  text-decoration: none !important;
}

/* ---------- Unified type scale (H1-H4, P, buttons) ---------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-body);
  font-weight: 500;
  line-height: 1.15;
  margin: 0 0 .5em;
  color: inherit;
}

h1 {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.1;
  margin-bottom: 24px;
}

h2 {
  font-family: var(--font-display);
  font-size: clamp(22.9px, 3.06vw, 32px);
  line-height: 1.2;
  margin-bottom: 20px;
}

h3 {
  font-size: clamp(18.4px, 2.4vw, 24px);
  line-height: 1.3;
  margin-bottom: 16px;
}

h4 {
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 1.35;
  margin-bottom: 12px;
}

p {
  margin: 0 0 1em;
  font-size: 1.1rem;
  line-height: 1.6;
  font-weight: 400;
}

ul, ol { margin: 0; padding: 0; list-style: none; }

/* ---------- Unified button baseline ---------- */
.btn {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  padding: 10px 28px;
  letter-spacing: .04em;
}

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.pp-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Partials containers */
#main_menu {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

#colophon {
  position: relative;
}

.home-page main {
  margin-top: -92px;
}

html:not(.partials-ready) #main_menu {
  opacity: 0;
  pointer-events: none;
}

html:not(.partials-ready) #colophon {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}
/* ---------- Legal pages (Términos, Privacidad) ---------- */
.legal-page {
  max-width: 760px;
  margin: 60px auto 60px;
  padding: 0 24px;
}

.legal-page__header {
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.legal-page__header h1 {
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
}

.legal-page__updated {
  color: var(--color-muted);
  font-size: 14px;
  margin: 0;
}

.legal-page__content {
  font-size: 17px;
  line-height: 1.65;
  color: var(--color-text);
}

.legal-page__content h2 {
  font-size: 18.4px;
  font-weight: 500;
  margin: 36px 0 12px;
  line-height: 1.2;
}

.legal-page__content p,
.legal-page__content ul {
  margin: 0 0 16px;
}

.legal-page__content ul {
  padding-left: 22px;
  list-style: disc;
}

.legal-page__content li {
  margin-bottom: 6px;
}

.legal-page__content a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- Buttons: no border radius ---------- */
.btn,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info,
.btn-outline-light,
.btn-outline-dark,
.navbar-toggler,
.hero-home__cta,
button:not(.sobreelparque-dot):not(#pagination-controls button):not([data-bs-target]),
input[type="submit"],
input[type="button"] {
  border-radius: 0 !important;
}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs {
  margin: 0;
}

.breadcrumbs__trail {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.4;
  text-align: left;
  margin: 0 0 10px 0;
  color: rgba(255, 255, 255, .85);
}

.breadcrumbs__trail a {
  color: inherit;
  text-decoration: none;
}

.breadcrumbs__trail a:hover,
.breadcrumbs__trail a:focus-visible {
  text-decoration: underline;
}

.breadcrumbs__sep {
  margin: 0 8px;
  opacity: .55;
}

.breadcrumbs__current {
  opacity: .8;
}

.page-section .breadcrumbs__trail,
.legal-page .breadcrumbs__trail {
  color: var(--color-muted);
}

@media (max-width: 1024px) {
  .legal-page { margin: 40px auto 40px; }
  .legal-page__header h1 { font-size: 20.7px; }
  .legal-page__content { font-size: 16px; }
}
