@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

/**
 * Dynamic Multi-Tenant Theme Stylesheet
 * Hotel: Smiley Green Resort (ID: 2)
 * Domain: smileygreenresort.site
 */

html {
  font-size: 16px;
}

:root {
  --hotel-base-font-size: 16px;
  --hotel-accent: #9F1239;
  --hotel-accent-rgb: 159, 18, 57;
  --hotel-accent-hover: #881337;
  --hotel-accent-light: #FFF1F2;
  --hotel-footer-bg: rgba(159, 18, 57, 0.045);
  --hotel-footer-border: rgba(159, 18, 57, 0.14);
  --hotel-bg: #FAF7F7;
  --hotel-dark: #271419;
  --hotel-text: #261C1F;
  --hotel-muted: #715E65;
  --hotel-border: #EADFE2;
}

/* Universal Light Theme Footer Background Tint */
.footer-theme-light,
footer.footer-theme-light {
  background-color: var(--hotel-footer-bg) !important;
  color: #292524 !important;
  border-top: 1px solid var(--hotel-footer-border) !important;
}

.footer-theme-light a.text-stone-600:hover,
.footer-theme-light a.text-stone-400:hover,
.footer-theme-light a:hover {
  color: var(--hotel-accent) !important;
}

/* High-Contrast Luxury Dark Slate Footer (Four Seasons / Slate Theme) */
.footer-theme-dark,
footer.footer-theme-dark {
  background-color: var(--hotel-dark) !important;
  color: #D6D3D1 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.footer-theme-dark a,
.footer-theme-dark .text-stone-600,
.footer-theme-dark .text-stone-700 {
  color: #D6D3D1 !important;
}

.footer-theme-dark a:hover {
  color: var(--hotel-accent) !important;
}

.footer-theme-dark .text-stone-900,
.footer-theme-dark h1,
.footer-theme-dark h2,
.footer-theme-dark h3,
.footer-theme-dark h4 {
  color: #FFFFFF !important;
}

.footer-theme-dark .border-stone-200,
.footer-theme-dark .border-stone-200\/80 {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Dynamic Footer Typography Scaling: Fully synced with Admin Base Font Size */
#site-footer,
.footer-theme-light,
.footer-theme-dark {
  font-size: var(--hotel-base-font-size, 16px);
}

#site-footer nav a,
.footer-theme-light nav a,
.footer-theme-dark nav a,
#site-footer .footer-nav a,
.footer-nav-link {
  font-size: calc(var(--hotel-base-font-size, 16px) * 0.85) !important;
  line-height: 1.4 !important;
}

#site-footer p,
.footer-theme-light p,
.footer-theme-dark p,
#site-footer .footer-desc {
  font-size: calc(var(--hotel-base-font-size, 16px) * 0.875) !important;
  line-height: 1.6 !important;
}

#site-footer .footer-bottom-bar,
#site-footer .border-t,
#site-footer .border-t p,
#site-footer .border-t a,
#site-footer .border-t button,
#site-footer #back-to-top-btn,
#site-footer .text-\[11px\],
#site-footer .text-\[10px\],
.footer-theme-light .text-\[11px\],
.footer-theme-light .text-\[10px\],
.footer-theme-dark .text-\[11px\],
.footer-theme-dark .text-\[10px\] {
  font-size: calc(var(--hotel-base-font-size, 16px) * 0.8) !important;
  line-height: 1.5 !important;
}

#site-footer .hero-badge-accent,
#site-footer .badge-accent,
#site-footer [class*="rounded-full"][class*="border"] {
  font-size: calc(var(--hotel-base-font-size, 16px) * 0.8) !important;
}

/* Base Typography & Background Overrides */
body {
  background-color: var(--hotel-bg) !important;
  color: var(--hotel-text) !important;
}

h1:not(#hero-heading):not(.text-white):not([class*="text-white"]),
h2:not(.text-white):not([class*="text-white"]):not(.text-hotel-accent),
h3:not(.text-white):not([class*="text-white"]):not(.text-hotel-accent),
h4:not(.text-white):not([class*="text-white"]),
h5:not(.text-white):not([class*="text-white"]),
h6:not(.text-white):not([class*="text-white"]),
.section-heading {
  color: var(--hotel-dark) !important;
}

.text-white,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.hero-heading-white {
  color: #FFFFFF !important;
}

.eyebrow {
  color: var(--hotel-accent) !important;
}

.section-subheading {
  color: var(--hotel-muted) !important;
}

:focus-visible {
  outline-color: var(--hotel-accent) !important;
}

::selection {
  background-color: var(--hotel-accent) !important;
  color: #FFFFFF !important;
}

/* Dynamic Background Overrides */
.bg-hotel-accent {
  background-color: var(--hotel-accent) !important;
}
.bg-hotel-accent-hover,
.hover\:bg-hotel-accent-hover:hover {
  background-color: var(--hotel-accent-hover) !important;
}
.bg-hotel-accent-light {
  background-color: var(--hotel-accent-light) !important;
}
.bg-hotel-bg {
  background-color: var(--hotel-bg) !important;
}
.bg-hotel-dark {
  background-color: var(--hotel-dark) !important;
}

/* Dynamic Text Color Overrides */
.text-hotel-accent,
.hover\:text-hotel-accent:hover,
.group:hover .group-hover\:text-hotel-accent,
.card:hover .card\:text-hotel-accent {
  color: var(--hotel-accent) !important;
}
.text-hotel-accent-hover,
.hover\:text-hotel-accent-hover:hover {
  color: var(--hotel-accent-hover) !important;
}
.text-hotel-accent-light {
  color: var(--hotel-accent-light) !important;
}
.text-hotel-dark,
.hover\:text-hotel-dark:hover {
  color: var(--hotel-dark) !important;
}
.text-hotel-muted,
.placeholder-hotel-muted::placeholder {
  color: var(--hotel-muted) !important;
}
.text-hotel-text {
  color: var(--hotel-text) !important;
}
.text-hotel-border {
  color: var(--hotel-border) !important;
}

/* Dynamic Border & Divider Overrides */
.border-hotel-border {
  border-color: var(--hotel-border) !important;
}
.border-hotel-accent,
.hover\:border-hotel-accent:hover,
.focus\:border-hotel-accent:focus {
  border-color: var(--hotel-accent) !important;
}
.border-hotel-dark {
  border-color: var(--hotel-dark) !important;
}
.divide-hotel-border > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--hotel-border) !important;
}

/* Dynamic UI Controls */
.btn-primary {
  background-color: var(--hotel-accent) !important;
  border-color: var(--hotel-accent) !important;
  color: #FFFFFF !important;
}
.btn-primary:hover {
  background-color: var(--hotel-accent-hover) !important;
  color: #FFFFFF !important;
}
.btn-secondary {
  color: var(--hotel-dark) !important;
  border-color: var(--hotel-dark) !important;
}
.btn-secondary:hover {
  background-color: var(--hotel-dark) !important;
  color: #FFFFFF !important;
}

/* Dynamic Hero Booking Form & Submit Button */
#btn-hero-submit,
.btn-hero-submit {
  background: linear-gradient(135deg, var(--hotel-accent) 0%, var(--hotel-accent-hover) 100%) !important;
  border: 1px solid var(--hotel-accent) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.25);
  transition: all 250ms ease;
}
#btn-hero-submit:hover,
.btn-hero-submit:hover {
  background: linear-gradient(135deg, var(--hotel-accent-hover) 0%, var(--hotel-accent) 100%) !important;
  box-shadow: 0 6px 22px -2px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}

#hero-booking-card input:focus,
#hero-booking-card select:focus,
.hero-input:focus {
  border-color: var(--hotel-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 1.5px var(--hotel-accent) !important;
}

#hero-booking-card select option {
  color: #18181B !important;
  background-color: #FFFFFF !important;
}

/* Dynamic Hero & Footer Utility Badges */
.hero-badge-accent,
.badge-accent {
  background-color: var(--hotel-accent-light) !important;
  color: var(--hotel-accent) !important;
  border-color: var(--hotel-border) !important;
}
.hero-text-accent {
  color: var(--hotel-accent) !important;
}
.hero-border-accent {
  border-color: var(--hotel-accent) !important;
}
.hero-bg-accent {
  background-color: var(--hotel-accent) !important;
}
.hero-bg-accent-hover:hover {
  background-color: var(--hotel-accent-hover) !important;
}

/* Navigation & Active State Indicators */
.nav-link:hover {
  color: var(--hotel-accent) !important;
}
.nav-link.active {
  color: var(--hotel-accent) !important;
}
.nav-link.active::after {
  background-color: var(--hotel-accent) !important;
}
.mobile-nav-link.active {
  background-color: var(--hotel-accent-light) !important;
  color: var(--hotel-accent) !important;
}
/* Dynamic Hotel Typography: Luxury Heading & Accent System */
h1, h2, h3, h4, h5, h6, .font-serif, .section-heading, #hero-heading, .brand-title, #site-footer h1, #site-footer h2, #site-footer h3, #site-footer h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
/* Preserves full-site typography contract */
body.typography-full, h1, h2, h3, h4, h5, h6, .font-sans, .font-serif {
  /* scope contract */
}
