/* Rawana — Visit: parallax backdrop under a floating card grid. */

.rwn-visit {
  position: relative;
  isolation: isolate;
}

.rwn-visit__backdrop {
  position: absolute;
  inset: 0;
  z-index: var(--wp--custom--z-below);
  overflow: hidden;
}

.rwn-visit__backdrop img {
  width: 100%;
  height: 120%;
  object-fit: cover;
  opacity: 0.30;
  filter: saturate(0.75) contrast(1.05);
}

.rwn-visit__backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    var(--wp--preset--color--base) 0%,
    color-mix(in srgb, var(--wp--preset--color--base) 55%, transparent) 34%,
    color-mix(in srgb, var(--wp--preset--color--base) 72%, transparent) 66%,
    var(--wp--preset--color--base) 100%
  );
}

.rwn-visit__head { margin-bottom: var(--wp--preset--spacing--70); }

.rwn-visit__grid {
  display: grid;
  gap: var(--wp--preset--spacing--50);
}

@media (min-width: 760px) {
  .rwn-visit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1080px) {
  .rwn-visit__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }
  .rwn-visit__card--hours { grid-column: span 5; grid-row: span 2; }
  .rwn-visit__card--find  { grid-column: span 7; }
  .rwn-visit__card--reach { grid-column: span 4; }
  .rwn-visit__card--book  { grid-column: span 3; }
}

.rwn-card__label { margin: 0 0 var(--wp--preset--spacing--40); }

.rwn-visit__book-title {
  margin: 0;
  font-size: var(--wp--preset--font-size--lg);
  letter-spacing: var(--wp--custom--tracking-tight);
}

/* ---- Follow us ---- */

.rwn-visit__social {
  display: grid;
  gap: var(--wp--preset--spacing--20);
  justify-items: center;
}

.rwn-visit__social-label { margin: 0; }

.rwn-visit__social-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
}

.rwn-social {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--10);
  min-height: 40px;
  padding: 0 var(--wp--preset--spacing--30);
  border: var(--wp--custom--border-width) solid var(--wp--custom--border-hairline);
  border-radius: var(--wp--custom--radius-pill);
  background: var(--wp--preset--color--surface-inset);
  color: var(--wp--preset--color--contrast);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--weight-medium);
  text-decoration: none;
  transition:
    color var(--wp--custom--duration-fast) var(--wp--custom--ease-out),
    border-color var(--wp--custom--duration-fast) var(--wp--custom--ease-out),
    transform var(--wp--custom--duration-fast) var(--wp--custom--ease-out);
}

.rwn-social svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: var(--wp--preset--color--accent);
  transition: color var(--wp--custom--duration-fast) var(--wp--custom--ease-out);
}

.rwn-social:hover,
.rwn-social:focus-visible {
  color: var(--wp--preset--color--accent-bright);
  border-color: var(--wp--custom--border-accent);
  transform: translateY(-1px);
}

.rwn-social:hover svg,
.rwn-social:focus-visible svg { color: var(--wp--preset--color--accent-bright); }

@media (prefers-reduced-motion: reduce) {
  .rwn-social,
  .rwn-social svg { transition: none; }
  .rwn-social:hover,
  .rwn-social:focus-visible { transform: none; }
}

/* ---- Opening hours ---- */

.rwn-hours { display: grid; gap: 2px; }

.rwn-hours__row {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: var(--wp--preset--spacing--40);
  align-items: baseline;
  padding: var(--wp--preset--spacing--20);
  border-radius: var(--wp--custom--radius-sm);
  font-size: var(--wp--preset--font-size--sm);
}

.rwn-hours__row + .rwn-hours__row {
  border-top: var(--wp--custom--border-width) solid var(--wp--custom--border-hairline);
  border-radius: 0;
}

.rwn-hours__row[data-today="true"] {
  background: var(--wp--custom--accent-wash);
  border: var(--wp--custom--border-width) solid var(--wp--custom--border-accent);
  border-radius: var(--wp--custom--radius-sm);
}

.rwn-hours__row[data-today="true"] .rwn-hours__day { color: var(--wp--preset--color--accent); }

.rwn-hours__day {
  font-family: var(--wp--preset--font-family--mono);
  font-size: var(--wp--preset--font-size--xxs);
  letter-spacing: var(--wp--custom--tracking-wide);
  text-transform: uppercase;
  color: var(--wp--preset--color--dim);
}

.rwn-hours__time { color: var(--wp--preset--color--contrast); }
.rwn-hours__time--closed { color: var(--wp--preset--color--dim); }

/* ---- Contact rows ---- */

.rwn-contact-list {
  display: grid;
  gap: var(--wp--preset--spacing--30);
}

.rwn-contact-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--wp--preset--spacing--30);
  align-items: start;
  margin: 0;
}

.rwn-contact-row__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: var(--wp--custom--radius-sm);
  background: var(--wp--preset--color--surface-inset);
  border: var(--wp--custom--border-width) solid var(--wp--custom--border-hairline);
  color: var(--wp--preset--color--accent);
}

.rwn-contact-row__icon svg { width: 15px; height: 15px; }

.rwn-contact-row__label {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10px;
  letter-spacing: var(--wp--custom--tracking-widest);
  text-transform: uppercase;
  color: var(--wp--preset--color--dim);
}

.rwn-contact-row__value {
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--contrast);
}

.rwn-contact-row a:hover { color: var(--wp--preset--color--accent); }

