/* Nails Theory Beauty - TRUE Rose Quartz Marble background override
   Version: 2026-06-11f. Load after every other stylesheet.
   Uses the approved generated Rose Quartz Marble image. */
:root {
  --ntb-rq-bg: url('rose-quartz-marble-generated-desktop.webp?v=20260611f') !important;
  --ntb-rq-bg-mobile: url('rose-quartz-marble-generated-mobile.webp?v=20260611f') !important;
  --rose-quartz-bg: var(--ntb-rq-bg) !important;
  --rose-quartz-bg-mobile: var(--ntb-rq-bg-mobile) !important;
  --blush-bg: var(--ntb-rq-bg) !important;
  --blush-bg-mobile: var(--ntb-rq-bg-mobile) !important;
  --ntb-ink: #2f2626 !important;
  --ntb-muted: #6f5c5d !important;
  --ntb-rose: #bf8d98 !important;
  --ntb-rose-dark: #9f6c78 !important;
  --ntb-rose-soft: #f7e4e7 !important;
  --ntb-cream: #fffaf7 !important;
  --card: rgba(255, 253, 250, 0.972) !important;
  --card-strong: rgba(255, 254, 252, 0.992) !important;
  --line: rgba(191, 141, 152, 0.20) !important;
  --line-strong: rgba(191, 141, 152, 0.34) !important;
  --text: var(--ntb-ink) !important;
  --muted: var(--ntb-muted) !important;
  --gold: var(--ntb-rose) !important;
  --gold-deep: var(--ntb-rose-dark) !important;
  --shadow: 0 24px 70px rgba(76, 46, 52, 0.10) !important;
  --shadow-soft: 0 14px 38px rgba(76, 46, 52, 0.075) !important;
}
html {
  background-color: #fff6f4 !important;
  background-image: var(--ntb-rq-bg) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body {
  color: var(--ntb-ink) !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(180deg, rgba(255,250,248,.18), rgba(255,247,247,.24)),
    var(--ntb-rq-bg) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
main, .page-main, .section, .section-tight, .section-soft, .split-section, .split-section--alt,
.popular-offers-section, .page-end-actions-section, .mocktail-section, .service-page,
.gallery-page, .contact-page, .page-banner, .hero-home, .site-footer,
.mission-home, .first-visit-preview, .home-gallery-preview, .home-services {
  background: transparent !important;
  background-image: none !important;
}
.site-header, .header-shell, .topbar, .mobile-bottom-bar {
  background: rgba(255, 253, 251, 0.982) !important;
  border-color: rgba(191,141,152,.16) !important;
  backdrop-filter: blur(18px) saturate(1.02) !important;
  box-shadow: 0 10px 26px rgba(80,45,52,.045) !important;
}
.site-header { z-index: 1000 !important; }
/* Keep photos inside photo cards only. Key copy must sit on solid readable panels. */
.hero-panel, .page-banner-shell, .page-banner-shell[style], .mocktail-hero,
.location-showcase, .luxury-action-band, .cta-band, .review-proof-shell,
.mission-shell, .footer-shell, .lead-offer-modal,
.about-feature-card, .story-layout, .visit-flow, .location-feature, .service-feature-row,
.service-pathway, .menu-showcase, .mood-board, .mocktail-detail-card, .guest-card,
.page-proof, .page-cta, .page-intro-panel, .contact-card, .info-card, .offer-card,
.bundle-card, .faq-card, .service-row, .price-card, .choice-card, .feature-card,
.premium-ritual-card, .gallery-tile, .real-photo-note, .gallery-layout-helper,
.filter-row, .hours-card, .visit-step, .stat-card, .mini-card, .trust-card,
.booking-step-card, .first-visit-card, .menu-card, .new-client-card, .pathway-card,
.popular-offer-card, .testimonial-card, .mission-point, .team-standard-card,
.value-card, .info-panel, .contact-panel, .service-finder-copy, .premium-copy-block,
.full-width-card, .mocktail-note, .visit-checklist, .booking-helper-shell,
.service-finder-shell, .offer-banner, .proof-card, .step-card, .timeline-card {
  background: rgba(255, 253, 250, 0.972) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.985), rgba(255,248,247,.944)) !important;
  color: var(--ntb-ink) !important;
  border: 1px solid rgba(191,141,152,.18) !important;
  box-shadow: var(--shadow-soft) !important;
  backdrop-filter: blur(10px) saturate(1.02) !important;
}
.hero-panel::before, .hero-panel::after, .page-banner-shell::before, .page-banner-shell::after,
.location-showcase::before, .location-showcase::after, .luxury-action-band::before,
.luxury-action-band::after, .cta-band::before, .cta-band::after, .mocktail-hero::before,
.mocktail-hero::after, .page-banner-shell[style]::before, .page-banner-shell[style]::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.hero-copy, .page-banner-copy, .location-copy, .split-copy, .story-panel,
.service-copy, .premium-ritual-content, .gallery-caption, .contact-card, .info-card,
.footer-shell, .mocktail-hero, .location-showcase, .contact-panel, .info-panel {
  color: var(--ntb-ink) !important;
  text-shadow: none !important;
}
.hero-copy *, .page-banner-copy *, .location-copy *, .split-copy *, .story-panel *,
.service-copy *, .premium-ritual-content *, .gallery-caption *, .contact-card *, .info-card *,
.footer-shell *, .mocktail-hero *, .location-showcase *, .contact-panel *, .info-panel * {
  text-shadow: none !important;
}
.hero-copy, .page-banner-copy, .location-copy {
  background: rgba(255,255,255,.91) !important;
  border: 1px solid rgba(191,141,152,.16) !important;
  border-radius: clamp(24px, 3vw, 36px) !important;
  padding: clamp(1.35rem, 3vw, 3.1rem) !important;
  box-shadow: 0 16px 44px rgba(76,46,52,.065) !important;
}
h1, h2, h3, h4, h5, h6, .brand-text strong { color: var(--ntb-ink) !important; }
p, li, .card-copy, .service-row p, .gallery-caption p, .real-photo-note,
.page-banner-copy p, .hero-copy p, .small-print, .eyebrow + p, .location-copy p,
.location-card p, .footer-copy, .service-card p, .menu-card p, .bundle-card p,
.faq-card p, .choice-card p, .feature-card p, .premium-ritual-content p {
  color: var(--ntb-muted) !important;
}
.eyebrow, .section-kicker, .hero-signature-line, .topline, .service-tag,
.offer-topline span, .offer-meta span, .rating-badge, .location-feature-grid span {
  color: var(--ntb-rose-dark) !important;
}
.eyebrow::before, .page-banner-copy .eyebrow::before, .location-showcase .eyebrow::before {
  background: rgba(191,141,152,.42) !important;
}
/* Softer button palette: muted rose rather than strong pink. */
.btn-primary, .action-pill, .gallery-book-link, .floating-book, .lead-offer-actions .btn-primary,
.mobile-bottom-bar a:first-child, .filter-button.active, .service-quick-nav a.active {
  background: linear-gradient(135deg, #cda0a7, #b98490) !important;
  border-color: rgba(185,132,144,.38) !important;
  color: #fffdfb !important;
  box-shadow: 0 12px 28px rgba(120,69,82,.14) !important;
}
.btn-primary:hover, .action-pill:hover, .gallery-book-link:hover, .floating-book:hover,
.filter-button.active:hover {
  background: linear-gradient(135deg, #c2929c, #a97884) !important;
  color: #fffdfb !important;
}
.btn-ghost, .btn-secondary, .pill-link, .filter-button, .service-quick-nav a,
.social-link, .meta-pill, .note-chip {
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(191,141,152,.20) !important;
  color: var(--ntb-ink) !important;
}
.btn-ghost:hover, .btn-secondary:hover, .pill-link:hover, .filter-button:hover,
.service-quick-nav a:hover, .social-link:hover, .meta-pill:hover, .note-chip:hover {
  background: rgba(252,239,242,.95) !important;
  color: var(--ntb-rose-dark) !important;
}
/* Fix location/contact visual area from the screenshot: no dark image behind readable copy. */
.location-showcase, .location-card, .contact-panel, .info-panel {
  background: rgba(255,253,250,.965) !important;
  color: var(--ntb-ink) !important;
  overflow: visible !important;
}
.location-showcase { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important; align-items: stretch !important; }
.location-actions .btn-ghost, .location-actions .btn-secondary { background: #fff !important; color: var(--ntb-ink) !important; }
/* Gallery readability and filter bar. */
body.gallery .filter-row {
  background: rgba(255,253,250,.975) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.982), rgba(255,245,247,.945)) !important;
  border-radius: 32px !important;
  box-shadow: 0 14px 34px rgba(76,46,52,.08) !important;
  top: 104px !important;
}
body.gallery .gallery-grid.booking-gallery {
  grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
  gap: clamp(1.35rem, 2.6vw, 2.4rem) !important;
}
.gallery-tile { overflow: hidden !important; }
.gallery-tile img, .tile-photo { background: #fff8f6 !important; }
.gallery-caption { background: rgba(255,253,250,.975) !important; }
/* Keep actual photos crisp. */
.photo-card, .side-photo, .gallery-photo, .premium-ritual-media, .mocktail-photo-frame,
.mocktail-photo-card, .lead-offer-media {
  background: #fff8f6 !important;
  border-color: rgba(191,141,152,.14) !important;
  box-shadow: var(--shadow-soft) !important;
}
.photo-card::after, .side-photo::after, .gallery-photo::after, .tile-photo::after {
  background: linear-gradient(180deg, rgba(255,255,255,.00), rgba(44,28,33,.08)) !important;
}
.hero-home, .page-banner { padding-top: clamp(42px, 5vw, 76px) !important; }
@media (max-width: 980px) {
  .location-showcase { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
  html, body {
    background-image: linear-gradient(180deg, rgba(255,250,248,.18), rgba(255,247,247,.26)), var(--ntb-rq-bg-mobile) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
  .hero-copy, .page-banner-copy, .location-copy { padding: 1.2rem !important; }
  body.gallery .filter-row { top: 78px !important; flex-wrap: nowrap !important; overflow-x: auto !important; }
  body.gallery .gallery-grid.booking-gallery { grid-template-columns: 1fr !important; }
  .floating-book { display: none !important; }
}
