/* Inicio — page layout only. Every color, size, radius and shadow comes from the
   Refugio Azul Santa Rosa design system (ds/refugioazul/tokens.css + bundle.css). */

.ri-page { position: relative; min-height: 100%; font-family: var(--font-body); color: var(--ink); background: var(--cream-50); }
.ra-icon { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.ri-skip { position: absolute; left: var(--space-4); top: -80px; z-index: 100; display: inline-flex; align-items: center; min-height: var(--tap-min); padding: 0 var(--space-4); border-radius: var(--radius-pill); background: var(--paper); color: var(--ink); font-weight: 600; }
.ri-skip:focus { top: var(--space-2); }

/* ---------- menu bar on the hero ---------- */
.ri-lang-pair { display: none; }
.ri-menu-panel { position: relative; z-index: 3; margin: var(--space-3) var(--space-3) 0; padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); background: var(--forest-900); }
.ri-menu-panel ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.ri-menu-panel a { display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid var(--forest-950); color: var(--on-forest); font-size: 18px; line-height: 28px; font-weight: 600; text-decoration: none; }
.ri-menu-panel li:last-child a { border-bottom: 0; }
@media (min-width: 768px) {
  .ri-lang-pair { display: inline-flex; }
  .ri-lang-one { display: none; }
  .ri-menu-panel { margin: var(--space-4) var(--gutter-desktop) 0; }
}
@media (min-width: 1200px) { .ri-menu-btn, .ri-menu-panel { display: none; } }

/* ---------- sections ---------- */
.ri-inner { max-width: calc(var(--content-max) + 2 * var(--gutter-mobile)); margin: 0 auto; padding-left: var(--gutter-mobile); padding-right: var(--gutter-mobile); }
.ri-section { padding-top: var(--space-8); }
.ri-section > .ri-inner { padding-bottom: var(--space-8); }
.ri-section--alt { background: var(--cream-200); }
.ri-head .ra-stagger { margin: 0; }
.ri-head { display: flex; flex-direction: column; gap: var(--space-3); margin-bottom: var(--space-6); }
.ri-head p { margin: 0; max-width: 40em; font-size: 18px; line-height: 28px; }
@media (min-width: 768px) {
  .ri-inner { max-width: calc(var(--content-max) + 2 * var(--gutter-desktop)); padding-left: var(--gutter-desktop); padding-right: var(--gutter-desktop); }
  .ri-section { padding-top: var(--space-16); }
  .ri-section > .ri-inner { padding-bottom: var(--space-16); }
}

/* ---------- hero + search ---------- */
.ri-hero .ra-hero__content { max-width: calc(var(--content-max) + 2 * var(--gutter-desktop)); }
.ri-hero .ra-hero__content { padding-top: var(--space-12); }
/* "Guanajuato, México" under the title, lined up with its indented lines (stagger-indent is 0.8em of the 46px / 76px title; stagger-indent-wide from 1200px) */
.ri-hero-place { padding-left: calc(0.8 * 46px); }
@media (min-width: 768px) { .ri-hero-place { padding-left: calc(0.8 * 76px); } }
@media (min-width: 1200px) { .ri-hero-place { margin-top: var(--space-4); padding-left: var(--stagger-indent-wide); } }
.ri-search-wrap { position: relative; z-index: 2; max-width: calc(var(--content-max) + 2 * var(--gutter-mobile)); margin: 0 auto; padding: var(--space-6) var(--gutter-mobile) 0; }
.ri-search-wrap .ra-search { max-width: none; }
@media (min-width: 768px) {
  .ri-hero .ra-hero__content { padding-bottom: calc(var(--space-24) + 72px + var(--space-12) + var(--torn-arc-h-desktop)); }
  .ri-search-wrap { max-width: calc(var(--content-max) + 2 * var(--gutter-desktop)); margin-top: calc(-1 * (72px + var(--space-12) + var(--torn-arc-h-desktop))); margin-bottom: calc(var(--space-12) + var(--torn-arc-h-desktop)); padding: 0 var(--gutter-desktop); }
  .ri-cabins-section { padding-top: var(--space-8); }
}

/* ---------- cabin cards ---------- */
.ri-cabins { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8) var(--space-6); padding: var(--space-2) var(--space-2) 0; }
.ri-cabins .ra-cabin { max-width: none; }
.ri-cabins .ra-cabin__body { flex: 1; }
.ri-cabins .ra-cabin__body .ra-btn { margin-top: auto; }
.ri-badges { position: absolute; top: var(--space-3); left: var(--space-3); right: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ri-badges .ra-badge { position: static; box-shadow: var(--shadow-card); }
.ri-price p { margin: 0; }
.ri-price__note { font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.ri-pending { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--cream-200); }
@media (min-width: 768px) { .ri-cabins { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .ri-cabins { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- why book direct: uses .ra-features / .ra-feature from the design system ---------- */

/* ---------- useful facts ---------- */
.ri-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin: 0; }
.ri-fact { padding: var(--space-4); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-card); }
.ri-fact { transition: transform .25s ease, box-shadow .25s ease; }
.ri-fact:hover { box-shadow: var(--shadow-lift); transform: translateY(-4px); }
@media (prefers-reduced-motion: reduce) { .ri-fact { transition: none; } .ri-fact:hover { transform: none; } }
.ri-fact dt { font: 600 14px/20px var(--font-body); letter-spacing: .01em; color: var(--ink-muted); }
.ri-fact dd { margin: var(--space-1) 0 0; font: 400 16px/24px var(--font-body); color: var(--ink); }
.ri-fact dd.ri-fact__big { font: 700 20px/28px var(--font-body); }
@media (min-width: 768px) { .ri-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .ri-facts { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* ---------- Santa Rosa teaser ---------- */
.ri-teaser { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-8); align-items: center; }
.ri-teaser__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.ri-teaser__text p { margin: 0; font-size: 18px; line-height: 28px; color: var(--on-forest); }
.ri-teaser .ra-tilt-row { padding: var(--space-4) 0; gap: var(--space-6) var(--space-4); }
.ri-teaser .ra-tilt { width: 152px; }
.ri-teaser .ri-pending { aspect-ratio: 4 / 3; height: auto; border-radius: var(--radius-sm); }
@media (min-width: 768px) { .ri-teaser .ra-tilt { width: 200px; } }
@media (min-width: 1200px) { .ri-teaser { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }

/* ---------- reviews ---------- */
.ri-reviews .ra-tilt-row { padding: var(--space-2) 0; }
.ri-reviews .ra-review { width: 100%; max-width: 340px; }

/* ---------- owner strip: uses .ra-promo from the design system ---------- */
.ri-owner { background: var(--cream-200); }
.ri-owner .ri-inner { padding-top: var(--space-8); padding-bottom: var(--space-8); }
@media (min-width: 768px) { .ri-owner .ri-inner { padding-top: var(--space-12); padding-bottom: var(--space-12); } }

/* ---------- footer ---------- */
.ri-footer { padding-bottom: calc(var(--space-8) + 72px); }
.ri-footer address { font-style: normal; }
.ri-footer .ra-footer__logo { width: 176px; height: 176px; }
@media (min-width: 768px) { .ri-footer .ra-footer__grid { grid-template-columns: 224px repeat(2, minmax(0, 1fr)); } .ri-footer .ra-footer__logo { width: 224px; height: 224px; } }

/* ---------- search bar date picker (site phase 2; same rules as cabanas.css) ---------- */
.rc-picker { width: min(440px, calc(100vw - 2 * var(--gutter-mobile))); padding: 0; border: 0; border-radius: var(--radius-md); background: transparent; }
.rc-picker::backdrop { background: var(--scrim); }
.rc-picker .ra-cal { max-width: none; }
.rc-picker__actions { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-3); }
.ra-day.rc-day--past, .ra-day.rc-day--past:hover { background: transparent; color: var(--ink-muted); opacity: .5; cursor: not-allowed; }
