/**
 * Hotel Pritika International
 * ============================
 * BRAND THEME OVERRIDE - Phase 3 UI Transformation
 * Modern Boutique Premium Hotel Design Language
 * Fonts: Cormorant Garamond (H) | Playfair Display (Sub) | Inter (Body) | Poppins (Buttons)
 */

/* ==========================================
   GOOGLE FONTS IMPORT
   ========================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&family=Poppins:wght@400;500;600;700&display=swap');

/* ==========================================
   DESIGN TOKENS - BRAND PALETTE
   ========================================== */
:root {
  /* Core Brand */
  --p-primary:        #C83F74;
  --p-primary-hover:  #B63266;
  --p-primary-dark:   #8E1F4D;
  --p-primary-light:  rgba(200, 63, 116, 0.08);
  --p-primary-glow:   rgba(200, 63, 116, 0.18);

  /* Luxury Accent */
  --p-gold:           #E7C97A;
  --p-gold-hover:     #D4B35A;
  --p-gold-light:     rgba(231, 201, 122, 0.15);

  /* Surfaces */
  --p-bg:             #FFFDFC;
  --p-bg-soft:        #FFF6F8;
  --p-bg-section:     #FFF0F4;
  --p-card:           #FFFFFF;

  /* Text */
  --p-text:           #222222;
  --p-text-muted:     #666666;
  --p-text-light:     #999999;

  /* Borders */
  --p-border:         #F5D9E5;
  --p-border-light:   rgba(245, 217, 229, 0.6);

  /* Status */
  --p-success:        #3BAA5C;
  --p-danger:         #D63A3A;
  --p-warning:        #F5B942;

  /* Radii */
  --p-radius-sm:      10px;
  --p-radius-md:      14px;
  --p-radius-lg:      20px;
  --p-radius-xl:      28px;
  --p-radius-pill:    999px;

  /* Shadows - SOFT AMBIENT ONLY */
  --p-shadow-xs:      0 1px 4px rgba(0,0,0,0.04);
  --p-shadow-sm:      0 4px 16px rgba(0,0,0,0.05);
  --p-shadow-md:      0 8px 32px rgba(0,0,0,0.07);
  --p-shadow-lg:      0 16px 48px rgba(0,0,0,0.09);
  --p-shadow-rose:    0 8px 28px rgba(200, 63, 116, 0.14);

  /* Transitions */
  --p-ease:           all 0.38s cubic-bezier(0.25, 0.8, 0.25, 1);

  /* Fonts */
  --p-font-heading:   'Cormorant Garamond', Georgia, serif;
  --p-font-sub:       'Playfair Display', Georgia, serif;
  --p-font-body:      'Inter', sans-serif;
  --p-font-btn:       'Poppins', sans-serif;
}

/* ==========================================
   RESET & BASE
   ========================================== */
html, body {
  overflow-x: hidden;
  width: 100%;
}

body {
  background-color: var(--p-bg) !important;
  color: var(--p-text) !important;
  font-family: var(--p-font-body) !important;
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.01em;
}

/* Override old font assignments */
h1, h2, h3, h4, h5, h6,
.font-headings,
.hotel-font-headings {
  font-family: var(--p-font-heading) !important;
  color: var(--p-text) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
}

p, li, span, div, a, input, textarea, select {
  font-family: var(--p-font-body) !important;
}

/* ==========================================
   OVERRIDE OLD CSS VARIABLES
   ========================================== */
:root {
  --hotel-bg-primary:        var(--p-bg) !important;
  --hotel-bg-secondary:      var(--p-bg-soft) !important;
  --hotel-bg-cream:          var(--p-bg-section) !important;
  --hotel-text-primary:      var(--p-text) !important;
  --hotel-text-muted:        var(--p-text-muted) !important;
  --hotel-primary:           var(--p-primary) !important;
  --hotel-primary-hover:     var(--p-primary-hover) !important;
  --hotel-accent-gold:       var(--p-gold) !important;
  --hotel-accent-gold-hover: var(--p-gold-hover) !important;
  --hotel-accent-gold-light: var(--p-gold-light) !important;
  --hotel-border-color:      var(--p-border) !important;
  --hotel-shadow-sm:         var(--p-shadow-sm) !important;
  --hotel-shadow-md:         var(--p-shadow-md) !important;
  --hotel-radius-sm:         var(--p-radius-sm) !important;
  --hotel-radius-md:         var(--p-radius-md) !important;
  --hotel-font-headings:     var(--p-font-heading) !important;
  --hotel-font-body:         var(--p-font-body) !important;
  --hotel-bg-dark:           var(--p-primary-dark) !important;
  --hotel-success:           var(--p-success) !important;
  --hotel-error:             var(--p-danger) !important;
  --hotel-warning:           var(--p-warning) !important;
}

/* ==========================================
   HEADER - WHITE GLASS FROSTED
   ========================================== */
header.sticky-top,
header.w-100 {
  background: rgba(255, 253, 252, 0.92) !important;
  backdrop-filter: blur(18px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.3) !important;
  border-bottom: 1px solid var(--p-border) !important;
  box-shadow: 0 2px 20px rgba(200, 63, 116, 0.06) !important;
  transition: var(--p-ease) !important;
}

/* Nav Links */
.navbar-light .navbar-nav .nav-link,
header .nav-link {
  color: var(--p-text) !important;
  font-family: var(--p-font-body) !important;
  font-weight: 500 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.1em !important;
  padding: 0.75rem 0.85rem !important;
  position: relative !important;
  transition: var(--p-ease) !important;
}

.navbar-light .navbar-nav .nav-link::after,
header .nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 6px !important;
  left: 0.85rem !important;
  right: 0.85rem !important;
  height: 1.5px !important;
  background: var(--p-gold) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.3s ease !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
header .nav-link:hover {
  color: var(--p-primary) !important;
}

.navbar-light .navbar-nav .nav-link:hover::after,
header .nav-link:hover::after {
  transform: scaleX(1) !important;
}

/* Brand / Logo text */
.navbar-brand .font-headings,
header .navbar-brand span:first-child {
  font-family: var(--p-font-heading) !important;
  font-size: 1.5rem !important;
  color: var(--p-text) !important;
  letter-spacing: 0.12em !important;
}

/* Book Now Button (Header) */
header a[href*="/booking"],
header .btn[href*="/booking"],
.navbar a.btn {
  background: linear-gradient(135deg, var(--p-primary), var(--p-primary-hover)) !important;
  color: #fff !important;
  border-radius: var(--p-radius-md) !important;
  font-family: var(--p-font-btn) !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  padding: 0.6rem 1.4rem !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(200, 63, 116, 0.28) !important;
  transition: var(--p-ease) !important;
}

header a[href*="/booking"]:hover,
header .btn[href*="/booking"]:hover {
  background: linear-gradient(135deg, var(--p-primary-hover), var(--p-primary-dark)) !important;
  box-shadow: 0 6px 22px rgba(200, 63, 116, 0.4) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* Mega Menu refinement */
.mega-menu-wrapper {
  background: #fff !important;
  border-top: 2px solid var(--p-primary) !important;
  box-shadow: var(--p-shadow-lg) !important;
  border-radius: 0 0 var(--p-radius-sm) var(--p-radius-sm) !important;
}

.mega-menu-wrapper h6 {
  color: var(--p-primary) !important;
  font-family: var(--p-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
}

.mega-menu-wrapper a {
  color: var(--p-text-muted) !important;
  font-family: var(--p-font-body) !important;
  font-size: 0.87rem !important;
}

.mega-menu-wrapper a:hover {
  color: var(--p-primary) !important;
}

/* ==========================================
   TOPBAR
   ========================================== */
.hotel-topbar,
#hotel-topbar,
[class*="topbar"] {
  background: var(--p-primary-dark) !important;
  color: rgba(255,255,255,0.85) !important;
  border-bottom: none !important;
}

/* ==========================================
   BUTTONS - ROSE GRADIENT SYSTEM
   ========================================== */
.btn-luxury,
[class*="btn-luxury"] {
  font-family: var(--p-font-btn) !important;
  border-radius: var(--p-radius-md) !important;
  transition: var(--p-ease) !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}

.btn-luxury-primary {
  background: linear-gradient(135deg, var(--p-primary) 0%, var(--p-primary-hover) 100%) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--p-shadow-rose) !important;
}

.btn-luxury-primary:hover {
  background: linear-gradient(135deg, var(--p-primary-hover) 0%, var(--p-primary-dark) 100%) !important;
  color: #fff !important;
  box-shadow: 0 12px 36px rgba(200, 63, 116, 0.3) !important;
  transform: translateY(-2px) !important;
}

.btn-luxury-secondary {
  background: transparent !important;
  border: 1.5px solid var(--p-primary) !important;
  color: var(--p-primary) !important;
}

.btn-luxury-secondary:hover {
  background: var(--p-primary) !important;
  color: #fff !important;
  box-shadow: var(--p-shadow-rose) !important;
  transform: translateY(-2px) !important;
}

.btn-luxury-ghost {
  background: transparent !important;
  color: var(--p-text) !important;
  border: 1.5px solid var(--p-border) !important;
}

.btn-luxury-ghost:hover {
  border-color: var(--p-primary) !important;
  color: var(--p-primary) !important;
  background: var(--p-primary-light) !important;
}

/* Gold hover on text links */
.hover-gold:hover {
  color: var(--p-primary) !important;
}

.text-gold {
  color: var(--p-gold) !important;
}

/* Focus styles */
a:focus, button:focus, input:focus, textarea:focus, select:focus {
  outline: 2px solid var(--p-primary) !important;
  outline-offset: 3px !important;
}

/* ==========================================
   HERO SECTION - LIGHT & WARM
   ========================================== */
.hotel-hero {
  background-color: var(--p-bg-section) !important;
}

.hotel-hero-overlay {
  background: linear-gradient(
    160deg,
    rgba(255, 253, 252, 0.12) 0%,
    rgba(142, 31, 77, 0.28) 60%,
    rgba(34, 10, 20, 0.68) 100%
  ) !important;
}

/* Hero badge */
section[aria-label="Welcome Banner"] [class*="badge"],
section[aria-label="Welcome Banner"] .d-inline-flex {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(231, 201, 122, 0.5) !important;
  backdrop-filter: blur(8px) !important;
}

/* Hero heading gradient */
h1 .fw-bold[style*="background"],
.hero-main-title .fw-bold {
  background: linear-gradient(90deg, var(--p-gold) 0%, #fff5d8 50%, var(--p-gold-hover) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* ==========================================
   CARDS - MAGAZINE STYLE
   ========================================== */
.card-luxury,
.exp-card-item {
  background: var(--p-card) !important;
  border: 1px solid var(--p-border) !important;
  border-radius: var(--p-radius-lg) !important;
  box-shadow: var(--p-shadow-sm) !important;
  transition: var(--p-ease) !important;
  overflow: hidden !important;
}

.card-luxury:hover,
.exp-card-item:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--p-shadow-lg) !important;
  border-color: var(--p-primary) !important;
}

.card-luxury-img-wrapper,
.exp-card-img-wrap {
  border-radius: 0 !important;
}

.card-luxury .card-luxury-content,
.exp-card-body {
  padding: 1.8rem !important;
}

/* ==========================================
   ROOM CARDS - REDESIGNED (LIGHT)
   ========================================== */

/* Override the dark room card style */
.room-card-dark {
  background: var(--p-card) !important;
  color: var(--p-text) !important;
  border: 1px solid var(--p-border) !important;
  border-radius: var(--p-radius-lg) !important;
  box-shadow: var(--p-shadow-sm) !important;
}

.room-card-dark:hover {
  border-color: var(--p-primary) !important;
  box-shadow: var(--p-shadow-lg) !important;
  transform: translateY(-5px) !important;
}

.room-card-dark .room-card-body h3,
.room-card-dark .room-card-body h4,
.room-card-dark .room-card-body h5,
.room-card-dark .room-card-body .font-headings {
  color: var(--p-text) !important;
}

.room-card-dark .room-card-body p,
.room-card-dark .room-card-body span {
  color: var(--p-text-muted) !important;
}

.room-card-dark .room-card-footer {
  background: var(--p-bg-soft) !important;
  border-top: 1px solid var(--p-border) !important;
  padding: 1.2rem 1.6rem !important;
}

/* Room image - larger */
.room-card-dark .room-card-img-wrapper {
  height: 260px !important;
}

/* Room badge */
.room-card-dark .badge,
.room-card-dark [class*="badge"] {
  background: var(--p-primary) !important;
  color: #fff !important;
  border-radius: var(--p-radius-pill) !important;
  font-family: var(--p-font-btn) !important;
  font-size: 0.68rem !important;
  padding: 0.3em 0.85em !important;
}

/* Room filter pills */
.room-filter-btn {
  border-radius: var(--p-radius-pill) !important;
  font-family: var(--p-font-btn) !important;
  font-size: 0.82rem !important;
  border: 1.5px solid var(--p-border) !important;
  color: var(--p-text-muted) !important;
  background: #fff !important;
  padding: 0.45rem 1.3rem !important;
  transition: var(--p-ease) !important;
}

.room-filter-btn.active,
.room-filter-btn:hover {
  background: var(--p-primary) !important;
  border-color: var(--p-primary) !important;
  color: #fff !important;
  box-shadow: var(--p-shadow-rose) !important;
}

/* ==========================================
   BOOKING WIDGET
   ========================================== */
.hotel-booking-widget {
  border-top: 3px solid var(--p-primary) !important;
  border-radius: var(--p-radius-lg) !important;
  box-shadow: var(--p-shadow-lg) !important;
  background: #fff !important;
}

/* ==========================================
   AMENITIES - HORIZONTAL PREMIUM
   ========================================== */
.amenity-grid-card {
  background: #fff !important;
  border: 1.5px solid var(--p-border) !important;
  border-radius: var(--p-radius-md) !important;
  box-shadow: var(--p-shadow-xs) !important;
  padding: 1.4rem !important;
  transition: var(--p-ease) !important;
}

.amenity-grid-card:hover {
  border-color: var(--p-primary) !important;
  box-shadow: var(--p-shadow-rose) !important;
  transform: translateY(-3px) !important;
  background: var(--p-bg-soft) !important;
}

/* ==========================================
   SECTION BACKGROUNDS
   ========================================== */
.bg-cream-luxury,
.bg-cream,
[class*="bg-cream"] {
  background-color: var(--p-bg-soft) !important;
}

.zigzag-section,
section[style*="background: #0F172A"],
section[style*="background:#0F172A"] {
  background: var(--p-bg-section) !important;
  color: var(--p-text) !important;
}

.zigzag-card-text {
  background: #fff !important;
  color: var(--p-text) !important;
  border: 1px solid var(--p-border) !important;
  box-shadow: var(--p-shadow-md) !important;
}

/* Dark sections with bg-dark class — keep dark but rose-toned */
section.bg-dark,
div.bg-dark {
  background: var(--p-primary-dark) !important;
}

/* Quick summary strip */
.py-3.bg-dark.text-white {
  background: var(--p-primary-dark) !important;
}

/* ==========================================
   QUOTE / BANNER STRIPS
   ========================================== */
.quote-banner-container {
  background: var(--p-bg-soft) !important;
  border-top: 1px solid var(--p-border) !important;
  border-bottom: 1px solid var(--p-border) !important;
}

.quote-banner-text {
  font-family: var(--p-font-sub) !important;
  color: var(--p-text) !important;
}

/* ==========================================
   FORMS
   ========================================== */
.form-luxury-control {
  border-radius: var(--p-radius-md) !important;
  border-color: var(--p-border) !important;
  font-family: var(--p-font-body) !important;
  background: #fff !important;
}

.form-luxury-control:focus {
  border-color: var(--p-primary) !important;
  box-shadow: 0 0 0 3px var(--p-primary-glow) !important;
}

.form-luxury-label {
  color: var(--p-primary) !important;
  font-family: var(--p-font-body) !important;
}

/* Bootstrap form-control override */
.form-control, .form-select {
  border-radius: var(--p-radius-md) !important;
  border-color: var(--p-border) !important;
  font-family: var(--p-font-body) !important;
}

.form-control:focus, .form-select:focus {
  border-color: var(--p-primary) !important;
  box-shadow: 0 0 0 3px var(--p-primary-glow) !important;
}

/* ==========================================
   INNER PAGE HERO BANNER
   ========================================== */
.hotel-inner-hero {
  background-color: var(--p-primary-dark) !important;
}

.hotel-inner-hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(142, 31, 77, 0.65) 0%,
    rgba(34, 10, 20, 0.55) 100%
  ) !important;
}

/* ==========================================
   SECTION TITLE
   ========================================== */
.section-title h2,
h2.section-heading {
  font-family: var(--p-font-heading) !important;
  font-size: clamp(2rem, 4vw, 2.8rem) !important;
  font-weight: 500 !important;
  color: var(--p-text) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.section-title h2::after {
  background: linear-gradient(90deg, var(--p-primary), var(--p-gold)) !important;
  width: 50px !important;
  height: 2px !important;
  border-radius: 2px !important;
}

.section-title p {
  color: var(--p-primary) !important;
  font-family: var(--p-font-body) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

/* ==========================================
   FOOTER - DARK ROSE REDESIGN
   ========================================== */
footer.w-100,
.hotel-footer {
  background: linear-gradient(135deg, #2C0B1A 0%, #1A0510 100%) !important;
  color: rgba(255,255,255,0.8) !important;
}

.hotel-footer,
footer.w-100 {
  background: linear-gradient(135deg, #2C0B1A 0%, #1A0510 100%) !important;
}

/* Footer brand text */
footer .font-headings,
footer [class*="font-heading"] {
  font-family: var(--p-font-heading) !important;
  color: #fff !important;
}

footer p,
footer span,
footer li,
footer .col-12 > p {
  color: rgba(255,255,255,0.6) !important;
  font-family: var(--p-font-body) !important;
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
}

footer h6,
footer [style*="color: var(--hotel-accent-gold)"] {
  color: var(--p-gold) !important;
  font-family: var(--p-font-body) !important;
  font-weight: 700 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* Footer links */
footer a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  font-family: var(--p-font-body) !important;
  transition: var(--p-ease) !important;
  font-size: 0.87rem !important;
}

footer a:hover {
  color: var(--p-gold) !important;
}

/* Footer social icons */
footer [href*="facebook"],
footer [href*="instagram"],
footer [href*="twitter"],
footer [class*="rounded-circle"] {
  border: 1px solid rgba(231, 201, 122, 0.3) !important;
  color: var(--p-gold) !important;
}

footer [class*="rounded-circle"]:hover {
  background: var(--p-primary) !important;
  border-color: var(--p-primary) !important;
  color: #fff !important;
}

/* Footer divider line */
footer hr,
footer .border-secondary {
  border-color: rgba(255,255,255,0.1) !important;
}

/* Footer bottom bar */
footer .w-100.py-3,
footer > div:last-child {
  background: rgba(0,0,0,0.35) !important;
  border-top: 1px solid rgba(231, 201, 122, 0.2) !important;
}

footer .w-100.py-3 *,
footer > div:last-child * {
  color: rgba(255,255,255,0.45) !important;
}

footer .w-100.py-3 a:hover,
footer > div:last-child a:hover {
  color: var(--p-gold) !important;
}

/* Footer get directions button */
footer a[href*="maps"] {
  background: rgba(231, 201, 122, 0.1) !important;
  border: 1px solid rgba(231, 201, 122, 0.3) !important;
  color: var(--p-gold) !important;
  border-radius: var(--p-radius-sm) !important;
  padding: 0.45rem 1rem !important;
}

footer a[href*="maps"]:hover {
  background: rgba(231, 201, 122, 0.2) !important;
}

/* Footer newsletter input */
footer input[type="email"] {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(231, 201, 122, 0.4) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: var(--p-font-body) !important;
}

footer input[type="email"]::placeholder {
  color: rgba(255,255,255,0.35) !important;
}

/* ==========================================
   TESTIMONIALS & BADGES
   ========================================== */
.testimonial-card {
  border-radius: var(--p-radius-lg) !important;
  border-color: var(--p-border) !important;
  box-shadow: var(--p-shadow-sm) !important;
}

.badge-luxury-gold {
  background: var(--p-gold-light) !important;
  color: var(--p-gold-hover) !important;
  border-radius: var(--p-radius-pill) !important;
}

/* Rating badges / gold badges */
.badge.bg-gold,
.bg-gold {
  background: var(--p-gold) !important;
  color: #222 !important;
}

/* ==========================================
   IMAGE STYLING
   ========================================== */
img {
  border-radius: 0; /* default, specific overrides below */
}

.exp-feature-img,
.card-luxury-img-wrapper img,
.room-card-dark img {
  border-radius: var(--p-radius-lg) !important;
  object-fit: cover !important;
}

.zigzag-card-img {
  border-radius: var(--p-radius-lg) !important;
  overflow: hidden !important;
}

/* ==========================================
   ADMIN OVERRIDES
   ========================================== */
.admin-sidebar,
[class*="sidebar"] {
  background: var(--p-primary-dark) !important;
}

/* ==========================================
   MISC UTILITY OVERRIDES
   ========================================== */

/* Fix dark BG sections on homepage that use inline styles */
section[style*="background-color: #050c17"],
section[style*="background: #050c17"],
section[style*="background:#050c17"] {
  background-color: var(--p-text) !important;
}

/* "Gold" accent divider lines */
[style*="background: var(--hotel-accent-gold)"],
[style*="background:var(--hotel-accent-gold)"],
[style*="background-color: var(--hotel-accent-gold)"] {
  background: var(--p-primary) !important;
}

/* Border gold color */
[style*="border-color: var(--hotel-accent-gold)"],
[style*="border: 1px solid rgba(212, 175, 55"],
[style*="border: 1px solid rgba(197,168,128"] {
  border-color: var(--p-border) !important;
}

/* Spotlight glow fix */
[style*="background: rgba(212, 175, 55"] {
  background: rgba(200, 63, 116, 0.08) !important;
}

/* ==========================================
   FLOATING ACTIONS
   ========================================== */
.btn-floating-luxury {
  border-radius: 50% !important;
  box-shadow: var(--p-shadow-md) !important;
}

/* Chat button */
#chat-fab-btn,
[id*="chat-fab"] {
  background: linear-gradient(135deg, var(--p-primary), var(--p-primary-dark)) !important;
  box-shadow: var(--p-shadow-rose) !important;
}

/* ==========================================
   SCROLLBAR (modern)
   ========================================== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--p-bg-soft); }
::-webkit-scrollbar-thumb { background: var(--p-primary); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--p-primary-hover); }

/* ==========================================
   SELECTION
   ========================================== */
::selection {
  background: var(--p-primary) !important;
  color: #fff !important;
}

/* ==========================================
   MOBILE MENU
   ========================================== */
.hotel-mobile-drawer {
  background: #fff !important;
  border-left: 3px solid var(--p-primary) !important;
}

/* ==========================================
   LOADING SCREEN
   ========================================== */
#hotel-loading-screen,
[id*="loading"] {
  background: var(--p-bg) !important;
}

[id*="loading"] [style*="color: var(--hotel-accent-gold)"],
[id*="loading"] .text-gold {
  color: var(--p-primary) !important;
}

/* ==========================================
   COOKIE BANNER
   ========================================== */
[id*="cookie"],
[class*="cookie"] {
  border-top: 2px solid var(--p-primary) !important;
}

/* ==========================================
   BOOKING FORM PAGE
   ========================================== */
.feature-direct-card {
  border-radius: var(--p-radius-md) !important;
  border-color: var(--p-border) !important;
}

.feature-direct-card:hover {
  border-color: var(--p-primary) !important;
  box-shadow: var(--p-shadow-rose) !important;
}

/* ==========================================
   RESPONSIVE ADJUSTMENTS
   ========================================== */
@media (max-width: 768px) {
  h1, h2, h3 {
    letter-spacing: 0.01em !important;
  }

  .card-luxury,
  .room-card-dark,
  .exp-card-item {
    border-radius: var(--p-radius-md) !important;
  }
}
