/* Nails Theory Beauty - HQ Rose Quartz Marble + global visibility/button fix
   Version: 2026-06-11e. Load after every other stylesheet. */
:root {
  --rose-quartz-bg: url('rose-quartz-marble-hq-desktop.webp?v=20260611e') !important;
  --rose-quartz-bg-mobile: url('rose-quartz-marble-hq-mobile.webp?v=20260611e') !important;
  --blush-bg: var(--rose-quartz-bg) !important;
  --blush-bg-mobile: var(--rose-quartz-bg-mobile) !important;
  --ntb-ink: #2e2424 !important;
  --ntb-muted: #6d5859 !important;
  --ntb-rose: #b98290 !important;
  --ntb-rose-dark: #9f6674 !important;
  --ntb-rose-soft: #f6dce1 !important;
  --ntb-cream: #fffaf7 !important;
  --card: rgba(255, 253, 250, 0.965) !important;
  --card-strong: rgba(255, 254, 252, 0.988) !important;
  --line: rgba(185, 130, 144, 0.20) !important;
  --line-strong: rgba(185, 130, 144, 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: #fff8f6 !important;
  background-image: var(--rose-quartz-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,.16), rgba(255,247,247,.22)),
    var(--rose-quartz-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; }
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 {
  background: transparent !important;
  background-image: none !important;
}
.site-header, .header-shell, .topbar, .mobile-bottom-bar {
  background: rgba(255, 253, 251, 0.975) !important;
  border-color: rgba(185,130,144,.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; }
/* Remove photo/dark overlays behind important text. Photos stay inside gallery and service image cards. */
.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 {
  background: rgba(255, 253, 250, 0.965) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.975), rgba(255,248,247,.925)) !important;
  color: var(--ntb-ink) !important;
  border: 1px solid rgba(185,130,144,.18) !important;
  box-shadow: var(--shadow-soft) !important;
  backdrop-filter: blur(12px) 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 {
  content: none !important;
  display: none !important;
  background: none !important;
}
.hero-copy, .page-banner-copy, .location-copy, .split-copy, .story-panel,
.hero-copy *, .page-banner-copy *, .location-copy *, .split-copy *, .story-panel *,
.service-copy, .service-copy *, .premium-ritual-content, .premium-ritual-content *,
.gallery-caption, .gallery-caption *, .contact-card, .contact-card *, .info-card, .info-card *,
.footer-shell, .footer-shell *, .mocktail-hero, .mocktail-hero *, .location-showcase, .location-showcase * {
  color: var(--ntb-ink) !important;
  text-shadow: none !important;
}
.hero-copy, .page-banner-copy, .location-copy {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(185,130,144,.14) !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;
}
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(185,130,144,.42) !important;
}
/* Softer button palette: less saturated pink, still high-contrast enough to tap. */
.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, #c997a2, #b77d8d) !important;
  border-color: rgba(183,125,141,.42) !important;
  color: #fffdfb !important;
  box-shadow: 0 12px 28px rgba(120,69,82,.16) !important;
}
.btn-primary:hover, .action-pill:hover, .gallery-book-link:hover, .floating-book:hover,
.filter-button.active:hover {
  background: linear-gradient(135deg, #bd8996, #a86f7f) !important;
  color: #fffdfb !important;
}
.btn-ghost, .btn-secondary, .pill-link, .filter-button, .service-quick-nav a,
.social-link, .meta-pill {
  background: rgba(255,255,255,.84) !important;
  border-color: rgba(185,130,144,.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 {
  background: rgba(252,239,242,.95) !important;
  color: var(--ntb-rose-dark) !important;
}
/* Specific screenshot issue: location card text was sitting on a dark interior photo. */
.location-showcase {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  align-items: stretch !important;
  background: rgba(255,253,250,.94) !important;
  overflow: visible !important;
}
.location-card {
  background: rgba(255,255,255,.93) !important;
  color: var(--ntb-ink) !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,.965) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,245,247,.93)) !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,.96) !important; }
/* Keep visual sections clear, but do not wash out actual photo cards. */
.photo-card, .side-photo, .gallery-photo, .premium-ritual-media, .mocktail-photo-frame,
.mocktail-photo-card, .lead-offer-media {
  background: #fff8f6 !important;
  border-color: rgba(185,130,144,.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,.10)) !important;
}
/* Prevent top content/buttons from hiding behind the sticky nav on shorter screens. */
.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(--rose-quartz-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; }
}
