/* ═══════════════════════════════════════════════════
   Bold Maximalist — huge condensed black-weight uppercase
   type, flat high-contrast panels, diagonal clip-path color
   bands as the signature device, solid-chip price tags.
   Body copy stays quiet (system sans, normal weight) so the
   headlines are the only thing shouting.
   Palette tokens (--gold-flat, --accent2, --on-accent2, --c-bg,
   --c-s1..4, --md-sys-color-*, --text-*, --hairline) are injected
   per-generation by src/paletteEngine.js — this file only defines
   how those tokens are USED, never hard-codes hex.
   ═══════════════════════════════════════════════════ */

:root {
  /* Typography — condensed black-weight display for every heading in the
     system (hero, section titles, room names, prices…), plain system sans
     for body copy and UI chrome as the one deliberate quiet contrast. */
  --font-display: 'Arial Narrow', 'Helvetica Neue Condensed', Arial, sans-serif;
  --font-ui:      Arial, Helvetica, sans-serif;
  --font-body:    Arial, Helvetica, sans-serif;

  /* Layout */
  --section-padding: clamp(56px, 9vw, 108px) 0;
  --container-max:   1280px;

  /* Fallback defaults — always overridden per-build via PALETTE_STYLE injection */
  --c-bg: #0A0A0A;
  --c-s1: #131313;
  --c-s2: #1B1B1B;
  --c-s3: #232323;
  --c-s4: #2C2C2C;
  --gold-flat: #E31E6E;
  --accent2: #FFD23F;
  --on-accent2: #0A0A0A;
  --hairline: rgba(255,255,255,0.14);
  --text-body: #D6D6D6;
  --text-heading: #F5F3EE;
  --text-accent: var(--gold-flat);
  --text-secondary: #A8A8A8;

  /* Derived — computed from the base tokens above, never hard-coded */
  --panel:      color-mix(in srgb, var(--text-heading) 8%, var(--c-bg) 92%);
  --panel-2:    color-mix(in srgb, var(--text-heading) 13%, var(--c-bg) 87%);
  --tint-weak:  color-mix(in srgb, var(--gold-flat) 12%, var(--c-bg) 88%);
  --shadow-hard: color-mix(in srgb, var(--c-bg) 60%, black 40%);

  --ease: all 0.18s ease;
  --ease-transform: transform 0.35s cubic-bezier(.2,.7,.2,1);
}

/* ── Buttons — blocky, loud, condensed, no radius, no gradients ──────── */
.paayz_btn-filled,
.paayz_btn-outlined,
.paayz_btn-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 30px;
  border-radius: 1px;
  font-family: var(--font-ui);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  transition: var(--ease);
  border: 2px solid transparent;
}
.paayz_btn-filled {
  background: var(--gold-flat);
  color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_btn-filled:hover { transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--accent2); }
.paayz_btn-filled:active { transform: translate(0,0); box-shadow: none; }

.paayz_btn-outlined {
  background: transparent;
  color: var(--text-heading);
  border: 2px solid var(--text-heading);
}
.paayz_btn-outlined:hover { border-color: var(--gold-flat); color: var(--gold-flat); }

.paayz_btn-text {
  background: transparent;
  color: var(--accent2);
  padding: 16px 4px;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.paayz_btn-text:hover { opacity: 0.78; }

/* ── Cards — flat panels, no shadow, near-zero radius ─────────────────── */
.paayz_card-elevated {
  background: var(--panel);
  border: 2px solid var(--hairline);
  border-radius: 2px;
  overflow: hidden;
}

/* ── Reset & Base ─────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; }
body  {
  font-family: var(--font-body);
  background: var(--c-bg);
  color: var(--text-body);
  line-height: 1.65;
  font-weight: 400;
  overflow-x: hidden;
}
img   { display: block; width: 100%; height: 100%; object-fit: cover; }
a     { color: inherit; text-decoration: none; }
ul    { list-style: none; }

.paayz_container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 24px;
}
.paayz_section { padding: var(--section-padding); position: relative; }

/* ── Typography helpers — the loud condensed voice ────────────────────── */
.paayz_section-eyebrow {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-flat);
  margin-bottom: 14px;
  padding-bottom: 4px;
  border-bottom: 3px solid var(--accent2);
}
.paayz_section-title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  font-weight: 900;
  line-height: 0.88;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--text-heading);
  margin-bottom: 22px;
}
.paayz_section-title.paayz_light { color: var(--text-heading); }
.paayz_section-subtitle {
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 560px;
  margin: 0 auto;
}
.paayz_section-body {
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--text-secondary);
  max-width: 560px;
  line-height: 1.8;
}
.paayz_section-header {
  text-align: center;
  margin-bottom: 56px;
}

/* ── Scroll-reveal animations ─────────────────────── */
[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
[data-reveal].revealed {
  opacity: 1;
  transform: none;
}

/* ═══════════════════════════════════════ NAVIGATION */
.paayz_nav-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  padding: 22px 0;
  transition: var(--ease);
  border-bottom: 3px solid transparent;
}
.paayz_nav-header.scrolled {
  background: var(--c-bg);
  border-bottom: 3px solid var(--gold-flat);
  padding: 14px 0;
}
.paayz_nav-inner {
  display: flex;
  align-items: center;
  gap: 36px;
}
.paayz_nav-logo {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--text-heading);
  white-space: nowrap;
  flex-shrink: 0;
}
.paayz_nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 30px;
  row-gap: 6px;
  margin-left: auto;
}
.paayz_nav-links a {
  font-family: var(--font-ui);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  transition: var(--ease);
  padding: 4px 0;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
}
.paayz_nav-links a:hover { color: var(--text-heading); border-bottom-color: var(--accent2); }

/* Burger */
.paayz_nav-burger {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.paayz_nav-burger span {
  display: block;
  width: 24px;
  height: 3px;
  background: var(--gold-flat);
  transition: var(--ease);
}
.paayz_nav-burger.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.paayz_nav-burger.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.paayz_nav-burger.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* ═══════════════════════════════════════════ HERO */
.paayz_hero {
  position: relative;
  height: 100vh;
  min-height: 680px;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
}
/* Bold color-tinted overlay — keeps the huge condensed headline legible
   while still letting the loud palette read straight through the photo. */
.paayz_hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    color-mix(in srgb, var(--gold-flat) 55%, transparent) 0%,
    color-mix(in srgb, var(--c-bg) 85%, transparent) 55%,
    color-mix(in srgb, var(--c-bg) 96%, transparent) 100%
  );
}
.paayz_hero-content {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding: 0 clamp(24px, 8vw, 96px) clamp(64px, 10vw, 120px);
  animation: fadeInUp 0.8s ease both;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: none; }
}
.paayz_hero-eyebrow {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--on-accent2);
  background: var(--accent2);
  padding: 6px 14px;
  margin-bottom: 24px;
}
/* Capped well below the old 10vw/7.5rem ceiling — at that size, a
   7-word tagline (the max the AI content prompt allows) wrapped to
   4-5 lines against the narrow 628px text column (820px content box
   minus side padding) and, combined with `align-items: flex-end`
   below, grew upward past the top of the fixed-height .paayz_hero section. */
.paayz_hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 6.5vw, 4.9rem);
  font-weight: 900;
  line-height: 0.92;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--text-heading);
  margin-bottom: 26px;
}
/* Sits over the hero photo — --text-heading (plain ink) instead of the
   softer --text-body blend, meaningfully darker on a light palette. */
.paayz_hero-subtitle {
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  color: var(--text-heading);
  max-width: 560px;
  margin: 0 0 40px;
  line-height: 1.65;
}
.paayz_hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.paayz_hero-scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  color: var(--accent2);
  transition: var(--ease);
}
.paayz_hero-scroll:hover { opacity: 0.8; }
.paayz_scroll-arrow {
  display: block;
  font-size: 22px;
  font-weight: 900;
  animation: bounceY 1.6s ease-in-out infinite;
}
@keyframes bounceY {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(8px); }
}

/* ══════════════════════════════════ HIGHLIGHTS STRIP */
.paayz_highlights-strip {
  background: var(--c-bg);
  border-top: 3px solid var(--gold-flat);
  border-bottom: 3px solid var(--hairline);
  padding: 52px 0;
}
.paayz_highlights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.paayz_highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.paayz_highlight-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--accent2);
  color: var(--on-accent2);
  font-size: 20px;
  font-weight: 800;
}
.paayz_highlight-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--text-heading);
  margin-bottom: 8px;
}
.paayz_highlight-desc {
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

/* ═══════════════════════════════════════════ ABOUT */
.paayz_about-section { background: var(--c-bg); }
.paayz_about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.paayz_about-stats {
  display: flex;
  gap: 0;
  margin-top: 40px;
  border-top: 3px solid var(--hairline);
}
.paayz_stat {
  flex: 1;
  padding: 20px 20px 0 0;
  border-right: 3px solid var(--hairline);
}
.paayz_stat:last-child { border-right: none; }
.paayz_stat-number {
  display: block;
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  color: var(--gold-flat);
}
.paayz_stat-label {
  display: block;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-top: 8px;
}
.paayz_about-image-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.paayz_about-image {
  border: 3px solid var(--hairline);
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
/* Two straight, equal-weight frames stacked — no tilt, no small inset. */
.paayz_about-image-inset {
  width: 100%;
  aspect-ratio: 4/3;
  border: 3px solid var(--accent2);
  border-radius: 2px;
  overflow: hidden;
}

/* ═══════════════════════════════════════════ ROOMS
   Signature diagonal clip-path color band — full-bleed accent panel behind
   the section, room cards sit on top as flat panels. The band is a decorative
   ::before layer only (never wraps the actual text content), so nothing can
   ever be clipped away on any viewport. */
.paayz_rooms-section {
  position: relative;
  z-index: 0;
  margin: 48px 0;
  padding: clamp(72px, 10vw, 120px) 0;
}
.paayz_rooms-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--gold-flat);
  clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
}
.paayz_rooms-section .paayz_section-eyebrow {
  color: var(--md-sys-color-on-primary, #0A0A0A);
  border-bottom-color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_rooms-section .paayz_section-title,
.paayz_rooms-section .paayz_section-subtitle {
  color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_rooms-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.paayz_room-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border: 2px solid var(--md-sys-color-on-primary, #0A0A0A);
  border-radius: 0;
}
.paayz_featured-card { background: var(--panel-2); border-width: 3px; }
.paayz_room-image-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.paayz_room-image-wrap img { transition: transform 0.5s ease; }
.paayz_room-card:hover .paayz_room-image-wrap img { transform: scale(1.05); }

.paayz_room-feature-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: var(--c-bg);
  color: var(--text-heading);
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 1px;
}
.paayz_room-popular-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--accent2);
  color: var(--on-accent2);
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 1px;
}
.paayz_room-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.paayz_room-stars { color: var(--accent2); font-size: 0.9rem; letter-spacing: 2px; margin-bottom: 10px; }
.paayz_room-name {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.95;
  color: var(--text-heading);
  margin-bottom: 12px;
}
.paayz_room-desc {
  font-size: 0.92rem;
  font-weight: 400;
  color: var(--text-secondary);
  line-height: 1.65;
  flex: 1;
  margin-bottom: 20px;
}
.paayz_room-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 16px;
  border-top: 2px solid var(--hairline);
}
/* Solid-chip price — colored TEXT-only prices are illegible on light
   backgrounds, so the price is always a filled accent2 block. */
.paayz_room-price {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--on-accent2);
  background: var(--accent2);
  padding: 6px 12px;
}
.paayz_room-price small {
  font-family: var(--font-ui);
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--on-accent2);
  text-transform: uppercase;
}

/* ═══════════════════════════════════════════ CASINO */
.paayz_casino-section { padding: 0; }
.paayz_casino-bg {
  position: relative;
  min-height: 580px;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  display: flex;
  align-items: center;
}
.paayz_casino-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    color-mix(in srgb, var(--c-bg) 96%, transparent) 0%,
    color-mix(in srgb, var(--c-bg) 65%, transparent) 65%,
    color-mix(in srgb, var(--c-bg) 42%, transparent) 100%
  );
}
.paayz_casino-content {
  position: relative;
  z-index: 2;
  padding: 88px 24px;
  max-width: 680px;
}
.paayz_casino-desc {
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--text-body);
  line-height: 1.75;
  margin-bottom: 40px;
  max-width: 560px;
}
.paayz_casino-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  margin-bottom: 44px;
  background: var(--hairline);
  border: 2px solid var(--hairline);
}
.paayz_casino-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-heading);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 18px;
  background: var(--c-bg);
}
.paayz_cf-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px; height: 26px;
  flex-shrink: 0;
  background: var(--gold-flat);
  color: var(--md-sys-color-on-primary, #0A0A0A);
  font-size: 13px;
}

/* ═══════════════════════════════════════════ DINING */
.paayz_dining-section { background: var(--c-bg); }
.paayz_dining-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}
.paayz_dining-image-group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.paayz_dining-image {
  border: 3px solid var(--hairline);
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.paayz_dining-image-inset {
  width: 100%;
  aspect-ratio: 4/3;
  border: 3px solid var(--gold-flat);
  border-radius: 2px;
  overflow: hidden;
}

/* ═══════════════════════════════════════ AMENITIES
   Second diagonal color band (same signature device as Rooms) for a
   consistent visual rhythm across the page. */
.paayz_amenities-section {
  position: relative;
  z-index: 0;
  margin: 48px 0;
  padding: clamp(72px, 10vw, 120px) 0;
}
.paayz_amenities-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--gold-flat);
  clip-path: polygon(0 0, 100% 4%, 100% 100%, 0 96%);
}
.paayz_amenities-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 56px;
  align-items: center;
}
.paayz_amenities-image {
  aspect-ratio: 3/4;
  border: 3px solid var(--md-sys-color-on-primary, #0A0A0A);
  border-radius: 1px;
  overflow: hidden;
}
.paayz_amenities-content .paayz_section-eyebrow {
  color: var(--md-sys-color-on-primary, #0A0A0A);
  border-bottom-color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_amenities-content .paayz_section-title { color: var(--md-sys-color-on-primary, #0A0A0A); }
.paayz_amenities-list { margin-top: 28px; }
.paayz_amenities-list li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 2px solid color-mix(in srgb, var(--md-sys-color-on-primary, #0A0A0A) 22%, transparent);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_amenities-list li:first-child { border-top: 2px solid color-mix(in srgb, var(--md-sys-color-on-primary, #0A0A0A) 22%, transparent); }
.paayz_amenities-list li::before {
  content: "";
  flex-shrink: 0;
  width: 10px; height: 10px;
  background: var(--accent2);
}

/* ══════════════════════════════════ TESTIMONIALS */
.paayz_testimonials-section { background: var(--c-bg); }

.paayz_testimonial-card {
  background: var(--panel);
  border: 2px solid var(--hairline);
  padding: 32px 28px 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
}
.paayz_testimonial-stars { color: var(--accent2); font-size: 1rem; letter-spacing: 3px; }
.paayz_testimonial-text {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--text-heading);
  line-height: 1.55;
  flex: 1;
}
.paayz_testimonial-author {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 16px;
  border-top: 2px solid var(--hairline);
}
.paayz_testimonial-name {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--gold-flat);
  font-size: 1rem;
}
.paayz_testimonial-location {
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: 0.78rem;
  color: var(--text-secondary);
  letter-spacing: 0.03em;
}

/* Swiper overrides */
.paayz_testimonials-swiper { padding-bottom: 48px !important; }
.swiper-pagination-bullet {
  background: var(--hairline);
  opacity: 1;
  border-radius: 0;
  width: 10px; height: 10px;
}
.swiper-pagination-bullet-active {
  background: var(--accent2);
}

/* ═══════════════════════════════ INTERLUDE
   Zig-zag clipped filmstrip — each frame alternates a parallelogram skew and
   overlaps its neighbor, a distinctive maximalist composition device built
   from the same gallery images rather than a quiet static grid. */
.paayz_interlude-section {
  padding: 32px 0;
  background: var(--c-bg);
  overflow: hidden;
}
.paayz_interlude-grid {
  display: flex;
  align-items: stretch;
  gap: 0;
  height: clamp(220px, 32vw, 380px);
}
.paayz_interlude-item {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.paayz_interlude-item:nth-child(1) {
  clip-path: polygon(0 0, 94% 0, 100% 100%, 0 100%);
  margin-right: -6%;
  z-index: 3;
}
.paayz_interlude-item:nth-child(2) {
  clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
  z-index: 2;
}
.paayz_interlude-item:nth-child(3) {
  clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
  margin-left: -6%;
  z-index: 1;
}
.paayz_interlude-item img { transition: transform 0.5s ease; }
.paayz_interlude-item:hover img { transform: scale(1.06); }
.paayz_interlude-tall, .paayz_interlude-wide, .paayz_interlude-square { height: 100%; }

/* ═══════════════════════════════ MORE SERVICES (home teaser for services
   beyond the header's first 4 — see src/builder.js HEADER_SERVICE_LIMIT) */
.paayz_more-services-section { background: var(--c-bg); }
.paayz_more-services-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.paayz_more-services-links a {
  display: inline-block;
  padding: 12px 20px;
  border: 2px solid var(--hairline);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-heading);
  transition: var(--ease);
}
.paayz_more-services-links a:hover { border-color: var(--gold-flat); color: var(--gold-flat); }

/* ═══════════════════════════════════════════ CONTACT */
.paayz_contact-section { background: var(--c-bg); }
.paayz_contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
.paayz_contact-details { display: flex; flex-direction: column; gap: 20px; margin: 32px 0; }
.paayz_contact-item    { display: flex; align-items: center; gap: 14px; color: var(--text-body); font-weight: 600; font-size: 0.98rem; }
.paayz_contact-icon    {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 34px; height: 34px;
  background: var(--accent2);
  color: var(--on-accent2);
  font-size: 15px;
}
.paayz_contact-item a:hover { color: var(--gold-flat); }
.paayz_contact-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
/* Leaflet map — Leaflet's own CSS gives internal panes/controls z-index up to
   1000 (way above our fixed header's 200); without its own stacking context
   that 1000 gets compared directly against the header's 200 in the shared
   root context and wins, rendering map controls/popups above the header.
   `isolation: isolate` contains Leaflet's entire z-index range inside this
   box so it can never escape above anything outside it. */
.paayz_hotel-map {
  aspect-ratio: 4/5;
  border-radius: 2px;
  overflow: hidden;
  border: 3px solid var(--hairline);
  isolation: isolate;
}

/* Custom pin */
.paayz_map-pin {
  width: 42px; height: 42px;
  background: var(--gold-flat);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--md-sys-color-on-primary, #0A0A0A); font-size: 19px; font-weight: 800;
  border: 3px solid var(--accent2);
}

.leaflet-popup-content-wrapper {
  background: var(--c-s2) !important;
  border: 2px solid var(--hairline) !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  color: var(--text-body) !important;
}
.leaflet-popup-content-wrapper strong { color: var(--gold-flat); font-family: var(--font-display); text-transform: uppercase; }
.leaflet-popup-content-wrapper span   { font-size: 12px; color: var(--text-secondary); }
.leaflet-popup-tip-container .leaflet-popup-tip { background: var(--c-s2) !important; }
.leaflet-popup-close-button { color: var(--text-secondary) !important; }
.leaflet-popup-close-button:hover { color: var(--gold-flat) !important; }

.leaflet-bar a {
  background: var(--c-s2) !important;
  color: var(--gold-flat) !important;
  border-color: var(--hairline) !important;
  border-radius: 0 !important;
}
.leaflet-bar a:hover { background: var(--c-s3) !important; }

.leaflet-control-attribution {
  background: color-mix(in srgb, var(--c-bg) 75%, transparent) !important;
  color: var(--text-secondary) !important;
  font-size: 10px !important;
}
.leaflet-control-attribution a { color: var(--text-secondary) !important; }

/* ═══════════════════════════════════════════ FOOTER */
.paayz_footer { background: var(--c-bg); border-top: 3px solid var(--gold-flat); }
.paayz_footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 44px;
  padding: 64px 24px;
  max-width: var(--container-max);
  margin: 0 auto;
}
.paayz_footer-logo {
  display: block;
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--text-heading);
  margin-bottom: 14px;
}
.paayz_footer-brand p  { font-family: var(--font-ui); font-weight: 500; font-size: 0.85rem; color: var(--text-secondary); line-height: 1.65; max-width: 240px; }
.paayz_footer-links h4 {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent2);
  margin-bottom: 20px;
}
.paayz_footer-links ul { display: flex; flex-direction: column; gap: 11px; }
.paayz_footer-links a  { font-family: var(--font-ui); font-weight: 600; font-size: 13px; color: var(--text-secondary); transition: var(--ease); }
.paayz_footer-links a:hover { color: var(--gold-flat); }
.paayz_footer-bottom {
  border-top: 2px solid var(--hairline);
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.paayz_footer-bottom p  { font-family: var(--font-ui); font-weight: 500; font-size: 12px; color: var(--text-secondary); }
.paayz_gambling-notice  { font-size: 11px !important; }

/* ══════════════════════════════════ COOKIE BANNER */
.paayz_cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 999;
  background: var(--c-s1);
  border-top: 3px solid var(--gold-flat);
  padding: 18px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.paayz_cookie-banner.hidden {
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}
.paayz_cookie-banner-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.paayz_cookie-banner-text {
  flex: 1;
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.6;
  min-width: 240px;
}
.paayz_cookie-banner-text strong { color: var(--text-heading); }
.paayz_cookie-banner-text a { color: var(--gold-flat); text-decoration: underline; text-underline-offset: 3px; }
.paayz_cookie-banner-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.paayz_cookie-btn-accept,
.paayz_cookie-btn-reject {
  padding: 11px 22px;
  border: 2px solid transparent;
  border-radius: 1px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--ease);
}
.paayz_cookie-btn-accept {
  background: var(--gold-flat);
  color: var(--md-sys-color-on-primary, #0A0A0A);
}
.paayz_cookie-btn-accept:hover { opacity: 0.86; }
.paayz_cookie-btn-reject {
  background: transparent;
  color: var(--text-heading);
  border: 2px solid var(--hairline);
}
.paayz_cookie-btn-reject:hover { border-color: var(--gold-flat); color: var(--gold-flat); }

/* ═══════════════════════════════ LEGAL / COMPLIANCE PAGES */
.paayz_legal-page {
  padding: 140px 0 100px;
  min-height: 80vh;
}
.paayz_legal-header {
  margin-bottom: 48px;
  border-bottom: 3px solid var(--gold-flat);
  padding-bottom: 28px;
}
.paayz_legal-header h1 {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.95;
  color: var(--text-heading);
  margin-bottom: 10px;
}
.paayz_legal-meta {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: 13px;
  color: var(--text-secondary);
}
.paayz_legal-notice {
  background: var(--panel);
  border: 2px solid var(--hairline);
  border-left: 6px solid var(--accent2);
  border-radius: 0;
  padding: 22px 26px;
  margin-bottom: 44px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.75;
}
.paayz_legal-notice--warning {
  border-left-color: #E0433C;
}
.paayz_legal-notice--warning strong { color: #F0847E; }
.paayz_legal-warning {
  background: var(--panel);
  border: 2px solid var(--hairline);
  border-left: 6px solid #E0433C;
  border-radius: 0;
  padding: 22px 26px;
  margin: 16px 0 24px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #F0847E;
  line-height: 1.65;
}
.paayz_legal-section {
  margin-bottom: 48px;
}
.paayz_legal-section h2 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
  color: var(--text-heading);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hairline);
}
.paayz_legal-section h3 {
  font-family: var(--font-ui);
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--gold-flat);
  margin: 24px 0 12px;
}
.paayz_legal-section p {
  font-size: 1rem;
  font-weight: 400;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 18px;
}
.paayz_legal-section a { color: var(--gold-flat); text-decoration: underline; text-underline-offset: 3px; }
.paayz_legal-section a:hover { opacity: 0.8; }
.paayz_legal-section ul,
.paayz_legal-section ol {
  margin: 12px 0 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.paayz_legal-section ul { list-style: disc; }
.paayz_legal-section ol { list-style: decimal; }
.paayz_legal-section li { font-size: 1rem; font-weight: 400; color: var(--text-secondary); line-height: 1.75; }
.paayz_legal-section ul ul { margin-top: 8px; list-style: circle; }

.paayz_legal-box {
  background: var(--panel);
  border: 2px solid var(--hairline);
  border-radius: 0;
  padding: 22px 26px;
  margin: 16px 0 24px;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.75;
}

/* Legal table */
.paayz_table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; box-shadow: inset -12px 0 8px -8px rgba(0,0,0,0.18); }
.paayz_legal-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 16px 0 24px;
  font-size: 0.875rem;
  background: var(--c-s2);
  border: 2px solid var(--hairline);
}
.paayz_legal-table thead tr { background: var(--gold-flat); }
.paayz_legal-table thead th {
  padding: 12px 16px;
  text-align: left;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--md-sys-color-on-primary, #0A0A0A);
  border-right: 2px solid var(--hairline);
}
.paayz_legal-table thead th:last-child { border-right: none; }
.paayz_legal-table tbody tr { border-bottom: 2px solid var(--hairline); }
.paayz_legal-table tbody tr:last-child { border-bottom: none; }
.paayz_legal-table tbody tr:nth-child(even) { background: var(--panel); }
.paayz_legal-table tbody td {
  padding: 12px 16px;
  font-weight: 500;
  color: var(--text-secondary);
  vertical-align: top;
  line-height: 1.6;
  border-right: 2px solid var(--hairline);
}
.paayz_legal-table tbody td:last-child { border-right: none; }

/* Responsible gambling helplines */
.paayz_helplines-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--hairline);
  border: 2px solid var(--hairline);
  margin: 24px 0;
}
.paayz_helpline-card {
  background: var(--c-bg);
  border-radius: 0;
  padding: 24px 20px;
}
.paayz_helpline-card h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--text-heading);
  margin: 0 0 10px;
}
.paayz_helpline-card p { font-family: var(--font-ui); font-weight: 500; font-size: 0.85rem; margin-bottom: 4px; color: var(--text-secondary); }
.paayz_helpline-card strong { color: var(--gold-flat); }
.paayz_helpline-card a { font-size: 0.85rem; color: var(--gold-flat); text-decoration: underline; }

/* Footer legal id */
.paayz_footer-legal-id {
  font-size: 0.75rem !important;
  color: var(--text-secondary) !important;
  margin-top: 8px !important;
}

/* ═══════════════════════════════════ BOOKING MODAL */
.paayz_bm {
  position: fixed; inset: 0; z-index: 500;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.paayz_bm[hidden] { display: none; }

.paayz_bm-overlay {
  position: absolute; inset: 0;
  background: color-mix(in srgb, black 84%, transparent);
  opacity: 0;
  transition: opacity 0.28s ease;
}
.paayz_bm.open .paayz_bm-overlay { opacity: 1; }

.paayz_bm-dialog {
  position: relative; z-index: 1;
  background: var(--panel);
  border: 3px solid var(--gold-flat);
  border-radius: 2px;
  padding: 40px 36px;
  width: 100%; max-width: 460px;
  max-height: 92vh; overflow-y: auto;
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.28s ease, transform 0.28s ease;
}
.paayz_bm.open .paayz_bm-dialog { opacity: 1; transform: none; }

.paayz_bm-close {
  position: absolute; top: 14px; right: 16px;
  background: none; border: none;
  color: var(--text-secondary); font-size: 18px; font-weight: 800;
  cursor: pointer; padding: 6px; line-height: 1;
  transition: color 0.2s;
}
.paayz_bm-close:hover { color: var(--gold-flat); }

.paayz_bm-header        { margin-bottom: 22px; }
.paayz_bm-header h2     {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.95;
  font-size: 2rem;
  color: var(--text-heading);
  margin-bottom: 8px;
}
.paayz_bm-subtitle      { font-family: var(--font-ui); font-weight: 500; font-size: 0.87rem; color: var(--text-secondary); }

.paayz_bm-room-tag {
  display: inline-block;
  background: var(--accent2);
  border: none;
  color: var(--on-accent2);
  font-family: var(--font-ui);
  font-size: 11px; font-weight: 800;
  letter-spacing: 0.04em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 1px;
  margin-bottom: 18px;
}
.paayz_bm-room-tag[hidden] { display: none; }

.paayz_bm-field         { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.paayz_bm-field label   { font-family: var(--font-ui); font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-secondary); }
.paayz_bm-field input,
.paayz_bm-field select  {
  background: var(--c-bg);
  border: 2px solid var(--hairline);
  border-radius: 1px;
  padding: 12px 14px;
  font-family: var(--font-ui); font-weight: 500; font-size: 0.9rem;
  color: var(--text-body); outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none; appearance: none;
}
.paayz_bm-field input::placeholder { color: var(--text-secondary); opacity: 0.6; }
.paayz_bm-field input:focus,
.paayz_bm-field select:focus  { border-color: var(--gold-flat); }
.paayz_bm-field input.error   { border-color: #E0433C; }

.paayz_bm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.paayz_bm-submit {
  width: 100%; padding: 15px; margin-top: 8px;
  background: var(--gold-flat); color: var(--md-sys-color-on-primary, #0A0A0A);
  border: none; border-radius: 1px;
  font-family: var(--font-ui); font-size: 12.5px;
  font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  cursor: pointer; transition: opacity 0.2s;
}
.paayz_bm-submit:hover    { opacity: 0.86; }
.paayz_bm-submit:active   { opacity: 0.72; }
.paayz_bm-submit:disabled { opacity: 0.5; cursor: not-allowed; }

.paayz_bm-success       { text-align: center; padding: 16px 0; }
.paayz_bm-success-icon  {
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--accent2);
  border: none;
  color: var(--on-accent2); font-size: 26px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
}
.paayz_bm-success h3    {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 1.6rem;
  color: var(--text-heading);
  margin-bottom: 10px;
}
.paayz_bm-success p     { font-family: var(--font-ui); font-weight: 500; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 24px; }
.paayz_bm-close-btn {
  background: none; border: 2px solid var(--hairline);
  border-radius: 1px; color: var(--text-heading);
  padding: 11px 30px;
  font-family: var(--font-ui); font-size: 12px; font-weight: 800;
  letter-spacing: 0.04em; text-transform: uppercase;
  cursor: pointer; transition: var(--ease);
}
.paayz_bm-close-btn:hover { border-color: var(--gold-flat); color: var(--gold-flat); }

/* ═══════════════════════════════════ SERVICE PAGES */
.paayz_service-page { padding-top: 84px; }

.paayz_service-hero {
  position: relative;
  height: 420px;
  background-size: cover; background-position: center;
  display: flex; align-items: flex-end;
}
/* .paayz_service-hero-content h1 already uses the strong --text-heading color, so
   this scrim doesn't need to be near-opaque to keep it legible — 90-96% was
   covering most of the photo behind it. */
.paayz_service-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    170deg,
    color-mix(in srgb, var(--gold-flat) 40%, transparent) 0%,
    color-mix(in srgb, var(--c-bg) 55%, transparent) 60%,
    color-mix(in srgb, var(--c-bg) 60%, transparent) 100%
  );
}
.paayz_service-hero-content {
  position: relative; z-index: 1;
  padding-bottom: 44px;
}
.paayz_service-hero-content h1 {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.88;
  color: var(--text-heading);
  margin-top: 10px;
}

.paayz_service-body     { padding: 68px 24px 104px; max-width: 1280px; margin: 0 auto; }
.paayz_service-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
  margin-bottom: 56px;
}
.paayz_service-intro    { font-size: 1.08rem; font-weight: 400; color: var(--text-secondary); line-height: 1.8; }
.paayz_service-intro-image {
  aspect-ratio: 4/3;
  border: 3px solid var(--hairline);
  border-radius: 2px;
  overflow: hidden;
}

.paayz_service-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: var(--hairline); border: 2px solid var(--hairline);
  margin-bottom: 60px;
}
.paayz_service-feature-card {
  background: var(--c-bg);
  border-radius: 0; padding: 28px 24px;
  transition: var(--ease);
}
.paayz_service-feature-card:hover {
  background: var(--panel);
}
.paayz_service-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  background: var(--accent2);
  color: var(--on-accent2);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
}
.paayz_service-feature-card h3 {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
  font-size: 1.2rem; color: var(--text-heading); margin-bottom: 10px;
}
.paayz_service-feature-card p { font-family: var(--font-ui); font-weight: 400; font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

.paayz_service-cta-block { text-align: center; padding-top: 16px; }
.paayz_service-cta-btn {
  display: inline-block;
  padding: 16px 44px;
  background: var(--gold-flat); color: var(--md-sys-color-on-primary, #0A0A0A);
  border: none; border-radius: 1px;
  font-family: var(--font-ui); font-size: 13px;
  font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  cursor: pointer; transition: opacity 0.2s;
}
.paayz_service-cta-btn:hover  { opacity: 0.86; }
.paayz_service-cta-btn:active { opacity: 0.72; }

@media (max-width: 768px) {
  .paayz_service-features    { grid-template-columns: 1fr 1fr; }
  .paayz_service-intro-grid  { grid-template-columns: 1fr; gap: 32px; }
  .paayz_bm-row              { grid-template-columns: 1fr; }
  .paayz_bm-dialog           { padding: 28px 20px; }
}
@media (max-width: 480px) {
  .paayz_service-features { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════ RESPONSIVE */
@media (max-width: 1024px) {
  .paayz_about-grid,
  .paayz_dining-grid       { grid-template-columns: 1fr; gap: 44px; }
  .paayz_about-image-group { order: -1; }
  .paayz_rooms-grid        { grid-template-columns: 1fr 1fr; }
  .paayz_footer-inner      { grid-template-columns: 1fr 1fr; }
  .paayz_highlights-grid   { grid-template-columns: 1fr; gap: 28px; }
  .paayz_amenities-layout  { grid-template-columns: 1fr; gap: 36px; }
  .paayz_amenities-image   { order: -1; aspect-ratio: 16/9; }
  .paayz_casino-features   { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  :root { --section-padding: 56px 0; }

  .paayz_hero { background-attachment: scroll; }
  .paayz_casino-bg { background-attachment: scroll; }

  /* Mobile nav: burger LEFT, logo CENTERED, CTA hidden */
  .paayz_nav-inner    { position: relative; justify-content: space-between; gap: 0; }
  .paayz_nav-burger   { display: flex; order: 0; flex-shrink: 0; }
  .paayz_nav-logo     {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.1rem;
  }
  /* .paayz_nav-header is `position: fixed`, so it's the containing block for this
     absolutely-positioned menu — `top: 100%` docks it flush against the
     header's actual rendered height instead of a hardcoded px guess. */
  .paayz_nav-links {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--c-bg);
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding: 20px 0;
    border-bottom: 3px solid var(--gold-flat);
    z-index: 199;
  }
  .paayz_nav-links.open { display: flex; }
  .paayz_nav-links li   { width: 100%; text-align: center; }
  .paayz_nav-links a    { display: block; padding: 14px; border-bottom: 1px solid var(--hairline); }
  .paayz_nav-cta        { display: none; }

  .paayz_highlights-grid { grid-template-columns: 1fr; gap: 24px; }
  .paayz_rooms-grid      { grid-template-columns: 1fr; }
  .paayz_contact-grid    { grid-template-columns: 1fr; }
  .paayz_footer-inner    { grid-template-columns: 1fr 1fr; gap: 28px; }
  .paayz_footer-bottom   { flex-direction: column; text-align: center; }
  .paayz_about-stats     { flex-wrap: wrap; }

  .paayz_rooms-section::before,
  .paayz_amenities-section::before { clip-path: polygon(0 2%, 100% 0, 100% 98%, 0 100%); }

  .paayz_interlude-grid  { height: clamp(260px, 60vw, 340px); flex-direction: column; }
  .paayz_interlude-item:nth-child(1) { clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); margin-right: 0; margin-bottom: -6%; }
  .paayz_interlude-item:nth-child(2) { clip-path: polygon(0 6%, 100% 0, 100% 94%, 0 100%); }
  .paayz_interlude-item:nth-child(3) { clip-path: polygon(0 6%, 100% 0, 100% 100%, 0 100%); margin-left: 0; margin-top: -6%; }
}

/* This 768px block (tablet: 2-col helplines) must stay BEFORE the 480px
   block below — both queries are active simultaneously on phones narrower
   than 480px, and with equal specificity the one later in the file wins.
   If this were last, its "1fr 1fr" would silently override the 480px
   block's "1fr" on every phone, not just tablets. */
@media (max-width: 768px) {
  .paayz_helplines-grid  { grid-template-columns: 1fr 1fr; }
  .paayz_legal-page      { padding: 108px 0 60px; }
}

@media (max-width: 480px) {
  .paayz_footer-inner    { grid-template-columns: 1fr; }
  .paayz_about-stats     { flex-direction: column; gap: 16px; }
  .paayz_stat            { border-right: none; border-bottom: 3px solid var(--hairline); padding: 0 0 16px; }
  .paayz_stat:last-child { border-bottom: none; }
  .paayz_cookie-banner-inner { flex-direction: column; align-items: stretch; }
  .paayz_cookie-banner-actions { justify-content: stretch; }
  .paayz_cookie-btn-accept,
  .paayz_cookie-btn-reject { width: 100%; text-align: center; padding: 12px; }
  .paayz_helplines-grid  { grid-template-columns: 1fr; }
  .paayz_legal-table     { font-size: 0.8rem; min-width: 520px; }
}


/* Policy layout and accessibility corrections */
:root {
  --text-secondary: #C8C8C8;
  --text-body: #E0E0E0;
}
.paayz_legal-page .paayz_container,
.paayz_legal-header,
.paayz_legal-section,
.paayz_legal-notice,
.paayz_legal-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.paayz_legal-section > *,
.paayz_legal-notice > *,
.paayz_legal-box > * {
  width: 100%;
  max-width: 100%;
}
.paayz_legal-section p,
.paayz_legal-section li,
.paayz_legal-meta,
.paayz_legal-notice,
.paayz_legal-box,
.paayz_footer-links a,
.paayz_footer-brand p,
.paayz_footer-bottom p {
  color: var(--text-secondary);
}
.paayz_legal-table {
  display: block;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}
.paayz_legal-table table { width: 100%; }
@media (max-width: 767px) {
  .paayz_legal-page .paayz_container { padding-left: 18px; padding-right: 18px; }
  .paayz_legal-header h1 { font-size: clamp(2rem, 11vw, 3.2rem); overflow-wrap: anywhere; }
  .paayz_legal-section h2 { font-size: clamp(1.45rem, 7vw, 2rem); overflow-wrap: anywhere; }
  .paayz_legal-section h3 { font-size: 1.1rem; overflow-wrap: anywhere; }
  .paayz_legal-section p, .paayz_legal-section li { font-size: 0.96rem; line-height: 1.72; }
  .paayz_legal-table thead { display: none; }
  .paayz_legal-table, .paayz_legal-table tbody, .paayz_legal-table tr, .paayz_legal-table td { display: block; width: 100%; min-width: 0; }
  .paayz_legal-table tr { padding: 14px 0; border-bottom: 2px solid var(--hairline); }
  .paayz_legal-table td { border-right: 0; padding: 7px 0; overflow-wrap: anywhere; }
}
