/**
 * POL Rent hub — color tokens, buttons, contrast (Natural Luxury).
 * Scoped to body.pol-rent so incomplete seasonal themes cannot yield light-on-light text.
 */

body.pol-rent {
  /* Literal fallbacks — avoid self-referential var() (broke contrast on live) */
  --pol-text-primary:   #2C3539;
  --pol-text-secondary: #707B7C;
  --pol-text-light:     #FDFBF7;
  --pol-text-main:      #2C3539;
  --pol-text-muted:     #707B7C;
  --pol-bg-main:        #FDFBF7;
  --pol-accent:         #E07B39;
  --pol-border:         #E8E2D9;
  --pol-gold-micro:     #C9A96E;
  --pol-font-brand:     'Cormorant Garamond', Georgia, serif;
  --pol-font-body:      'Jost', 'Inter', sans-serif;
  --pol-nav-logo-color: #2C3539;
  --pol-nav-logo-accent:#0D4F6C;
  --font-display:       var(--pol-font-brand);
  --font-body:          var(--pol-font-body);

  --pol-radius-sm:      6px;
  --pol-radius-md:      14px;
  --pol-radius-lg:      22px;

  --dark:       var(--pol-text-primary);
  --mid:        var(--pol-text-secondary);
  --muted:      var(--pol-text-secondary);
  --terra:      var(--pol-accent);
  --terra-dark: #1A6E8C;
  --terra-deep: #0D4F6C;
  --sand:       #F1ECE4;
  --sand-dark:  var(--pol-border);
  --warm-white: var(--pol-bg-main);

  background: var(--pol-bg-main);
  color: var(--pol-text-main);
}

/* ── Hero: dark veil + light text (holiday / services SSOT) ── */
body.pol-rent #pol-rent-hero .page-hero.hero-section {
  background: transparent;
}

body.pol-rent #pol-rent-hero .hero-video,
body.pol-rent #pol-rent-hero .hero-poster-fallback {
  filter: saturate(1.08) brightness(1.18) contrast(0.97);
  object-position: center 38%;
}

body.pol-rent #pol-rent-hero .hero-overlay {
  background: linear-gradient(
    160deg,
    rgba(8, 45, 64, 0.52) 0%,
    rgba(8, 45, 64, 0.68) 100%
  ) !important;
}

body.pol-rent #pol-rent-hero .page-hero-content,
body.pol-rent #pol-rent-hero .page-hero.hero-section--rent.hero-section--has-video .page-hero-content {
  color: var(--pol-text-light);
  max-width: 720px;
  background: rgba(8, 45, 64, 0.78);
  padding: 2rem 2.25rem;
  border-radius: var(--pol-radius-md);
  border: 0.5px solid rgba(253, 251, 247, 0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 16px 48px rgba(8, 45, 64, 0.35);
}

body.pol-rent #pol-rent-hero .page-hero-content .pol-logo,
body.pol-rent #pol-rent-hero .page-hero-content .pol-hero-title {
  color: var(--pol-text-light) !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35) !important;
}

body.pol-rent #pol-rent-hero .page-hero-content .pol-payoff,
body.pol-rent #pol-rent-hero .pol-hero-brand-container .pol-payoff {
  color: rgba(253, 251, 247, 0.9) !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35) !important;
}

body.pol-rent #pol-rent-hero .page-hero-eyebrow,
body.pol-rent #pol-rent-hero .pol-section-badge__brand,
body.pol-rent #pol-rent-hero .pol-section-badge__name {
  color: rgba(253, 251, 247, 0.82) !important;
}

body.pol-rent #pol-rent-hero .page-hero-eyebrow::before {
  background: var(--pol-gold-micro);
}

body.pol-rent #pol-rent-hero .page-hero-sub {
  color: rgba(253, 251, 247, 0.86) !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
  font-size: 1.05rem;
  line-height: 1.8;
  max-width: 560px;
}

/* ── Nav §6.1 — Jost menu + POL / RENTALS wordmark ── */
body.pol-rent nav a.pol-brand-logo.nav-logo {
  color: var(--pol-nav-logo-color, #2C3539);
}

body.pol-rent .nav-links a {
  font-family: var(--pol-font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pol-text-secondary);
  text-decoration: none;
  transition: color 0.22s ease;
}

body.pol-rent .lang-switcher > summary,
body.pol-rent .pol-nav-auth a,
body.pol-rent .nav-cta {
  border-radius: var(--pol-radius-md);
}

body.pol-rent .nav-links a:hover,
body.pol-rent .nav-links a.active {
  color: var(--pol-navy, #0D4F6C);
}

body.pol-rent .nav-cta.pol-btn {
  padding: 0.6rem 1.4rem;
  background: var(--pol-accent);
  border-color: var(--pol-accent);
  color: var(--pol-text-light);
}

body.pol-rent .nav-cta.pol-btn:hover {
  background: var(--pol-navy-soft, #1A6E8C);
  border-color: var(--pol-navy-soft, #1A6E8C);
  color: var(--pol-text-light);
}

/* ── Filter bar ── */
body.pol-rent .categories-bar {
  background: var(--pol-bg-secondary, #F5F0E8);
  border-bottom-color: var(--pol-border);
}

body.pol-rent .filter-label {
  color: var(--pol-text-secondary);
}

body.pol-rent .cat-btn {
  color: var(--pol-text-secondary);
  background: var(--pol-bg-main);
  border-color: var(--pol-border);
  border-radius: var(--pol-radius-sm);
}

body.pol-rent .cat-btn:hover,
body.pol-rent .cat-btn.active,
body.pol-rent .cat-btn.filter-active,
body.pol-rent select.cat-btn.filter-active {
  background: var(--pol-navy, #0D4F6C);
  color: var(--pol-text-light);
  border-color: var(--pol-navy, #0D4F6C);
}

/* ── Light sections: navy / terracotta accents ── */
body.pol-rent .section-eyebrow {
  color: var(--pol-navy, #0D4F6C);
}

body.pol-rent .section-eyebrow::before {
  background: var(--pol-accent);
}

body.pol-rent .section-title,
body.pol-rent .rent-name {
  color: var(--pol-navy, #0D4F6C);
}

body.pol-rent .rent-spec {
  color: var(--pol-text-secondary);
  background: var(--pol-bg-secondary, #F5F0E8);
  border-radius: var(--pol-radius-sm);
}

body.pol-rent .rent-price {
  color: var(--pol-accent);
}

body.pol-rent .rent-price span {
  color: var(--pol-text-secondary);
}

body.pol-rent .rent-desc {
  color: var(--pol-text-secondary);
}

body.pol-rent .rent-card {
  border-radius: var(--pol-radius-md);
}

body.pol-rent .rent-category-chip {
  background: var(--pol-navy, #0D4F6C) !important;
  color: var(--pol-text-light);
  isolation: isolate;
  z-index: 2;
  border-radius: var(--pol-radius-sm);
}

body.pol-rent .rent-img {
  isolation: isolate;
}

/* ── Booking CTAs (pol-hub-cta SSOT) ── */
body.pol-rent .btn-primary,
body.pol-rent .pol-btn.pol-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pol-font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.55rem 1.15rem;
  background: var(--pol-navy, #0D4F6C);
  color: var(--pol-text-light);
  border: 1.5px solid var(--pol-navy, #0D4F6C);
  border-radius: var(--pol-radius-sm);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
}

body.pol-rent .btn-primary:hover,
body.pol-rent .pol-btn.pol-btn-primary:hover {
  background: var(--pol-navy-soft, #1A6E8C);
  border-color: var(--pol-navy-soft, #1A6E8C);
  transform: translateY(-1px);
}

body.pol-rent .rent-card .pol-btn-sm {
  font-size: 0.65rem;
  padding: 0.5rem 1rem;
}

/* ── How-it-works dark band ── */
body.pol-rent .how-section {
  background: var(--pol-navy, #0D4F6C);
}

body.pol-rent .how-title,
body.pol-rent .how-step-title {
  color: #FDFBF7 !important;
}

body.pol-rent .how-num {
  color: var(--pol-gold-micro);
}

body.pol-rent .how-step-desc {
  color: rgba(253, 251, 247, 0.78);
  font-size: 0.88rem;
  line-height: 1.65;
}

/* ── Supplier CTA ── */
body.pol-rent .pol-rent-supplier-cta {
  background: linear-gradient(135deg, var(--pol-accent) 0%, var(--pol-navy-night, #082D40) 100%);
  padding: 4rem 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 2rem;
}

body.pol-rent .pol-rent-supplier-cta__title {
  font-family: var(--pol-font-brand);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 300;
  color: var(--pol-text-light);
  margin-bottom: 0.5rem;
}

body.pol-rent .pol-rent-supplier-cta__desc {
  font-size: 0.9rem;
  color: rgba(253, 251, 247, 0.72);
  max-width: 550px;
}

body.pol-rent .pol-rent-supplier-cta__btn.pol-btn {
  padding: 1rem 2.5rem;
  background: var(--pol-accent);
  border-color: var(--pol-accent);
  color: var(--pol-text-light);
}

body.pol-rent .pol-rent-supplier-cta__btn.pol-btn:hover {
  background: var(--pol-navy-soft, #1A6E8C);
  border-color: var(--pol-navy-soft, #1A6E8C);
}

/* Legacy class alias (supplier band) */
body.pol-rent .pol-rent-supplier-cta__btn:not(.pol-btn) {
  background: var(--pol-accent);
  color: var(--pol-text-light);
  padding: 1rem 2.5rem;
  border-radius: var(--pol-radius-sm);
  font-family: var(--pol-font-body);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
  transition: background 0.2s;
}

body.pol-rent .pol-rent-supplier-cta__btn:not(.pol-btn):hover {
  background: var(--pol-navy-soft, #1A6E8C);
}

/* ── Footer dark band (aligned with POL Holidays) ── */
body.pol-rent footer,
body.pol-rent .footer-bottom {
  background: var(--pol-navy-night, #082D40);
  color: var(--pol-text-light);
}

body.pol-rent .footer-brand-name,
body.pol-rent .footer-col-title {
  color: var(--pol-gold-micro);
}

body.pol-rent .footer-brand-sub,
body.pol-rent .footer-tagline,
body.pol-rent .footer-desc,
body.pol-rent .footer-links a {
  color: color-mix(in srgb, #F2EBDD 92%, transparent);
}

body.pol-rent .footer-copy {
  color: color-mix(in srgb, #F2EBDD 88%, transparent);
}

body.pol-rent .footer-links a:hover {
  color: var(--pol-text-light);
}

body.pol-rent .footer-links a.pol-rent-footer-highlight {
  color: var(--pol-gold-micro);
  font-weight: 500;
}

body.pol-rent .footer-bottom {
  border-top: 0.5px solid color-mix(in srgb, #F2EBDD 12%, transparent);
}

body.pol-rent .footer-legal-imprint {
  color: color-mix(in srgb, #F2EBDD 88%, transparent);
}

@media (max-width: 768px) {
  body.pol-rent #pol-rent-hero .page-hero-content {
    padding: 1.5rem 1.35rem;
  }

  body.pol-rent .pol-rent-supplier-cta,
  body.pol-rent .how-section,
  body.pol-rent .section,
  body.pol-rent .categories-bar,
  body.pol-rent footer,
  body.pol-rent .footer-bottom {
    padding-left: 1.35rem;
    padding-right: 1.35rem;
  }
}
