/* --------------------------------------------------------------------------
   Nails Theory Beauty - FINAL Blush Watercolor + Cross-Page Readability Fix
   Version: 2026-06-11c
   Purpose: replace the too-pink geometric background with the approved blush
   watercolor look: soft peach watercolor, ivory space, subtle gold flecks.
   This file must load AFTER styles.css, ntb-blush-realphotos.css, and
   ntb-global-readability-fix.css.
   -------------------------------------------------------------------------- */
:root {
  --blush-bg: url('blush-watercolor-desktop.webp?v=20260611c') !important;
  --blush-bg-mobile: url('blush-watercolor-mobile.webp?v=20260611c') !important;
  --ntb-ink: #2d2323 !important;
  --ntb-muted: #6b5454 !important;
  --ntb-rose: #c76f80 !important;
  --ntb-rose-dark: #a64e61 !important;
  --ntb-cream: #fff9f7 !important;
  --card: rgba(255,255,255,.94) !important;
  --card-strong: #fffdfb !important;
  --line: rgba(199,111,128,.22) !important;
  --line-strong: rgba(199,111,128,.34) !important;
  --shadow: 0 22px 60px rgba(92, 45, 55, .10) !important;
  --shadow-soft: 0 12px 32px rgba(92, 45, 55, .08) !important;
  --text: var(--ntb-ink) !important;
  --muted: var(--ntb-muted) !important;
  --gold: var(--ntb-rose) !important;
  --gold-deep: var(--ntb-rose-dark) !important;
}
html, body { background-color: #fff8f6 !important; }
body {
  color: var(--ntb-ink) !important;
  background-image: var(--blush-bg) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
body::before, body::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: none !important;
}
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 {
  background: transparent !important;
}
/* Prevent broad pink bands. Keep the watercolor visible, but let content sit on clean ivory cards. */
.hero-panel,
.page-banner-shell,
.page-banner-shell[style],
.service-hero-card,
.mocktail-hero,
.luxury-action-band,
.review-proof-shell,
.cta-band,
.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 {
  color: var(--ntb-ink) !important;
  background-image:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,248,247,.70)),
    var(--blush-bg) !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(199,111,128,.22) !important;
  box-shadow: var(--shadow) !important;
}
/* Text containers must be opaque enough to read on every page */
.hero-copy,
.page-banner-copy,
.service-hero-copy,
.band-copy,
.cta-band,
.review-proof-content,
.story-panel,
.contact-panel,
.info-panel,
.notice-card,
.lead-offer-content,
.page-card,
.intro-card,
.value-card,
.pathway-card,
.visit-card,
.service-card,
.offer-card,
.contact-card,
.location-card,
.review-card,
.faq-card,
.booking-step-card,
.menu-card,
.menu-line,
.service-row,
.gallery-tile,
.gallery-caption,
.footer-col,
.info-card,
.mini-card,
.pairing-card,
.pricing-card {
  color: var(--ntb-ink) !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(199,111,128,.22) !important;
  text-shadow: none !important;
  box-shadow: var(--shadow-soft) !important;
}
.hero-panel::before,
.hero-panel::after,
.page-banner-shell::before,
.page-banner-shell::after,
.service-hero-card::before,
.service-hero-card::after,
.mocktail-hero::before,
.mocktail-hero::after,
.luxury-action-band::before,
.luxury-action-band::after,
.review-proof-shell::before,
.review-proof-shell::after,
.cta-band::before,
.cta-band::after,
.footer-shell::before,
.footer-shell::after {
  display: none !important;
  content: none !important;
}
h1, h2, h3, h4,
.hero-copy h1,
.page-banner-copy h1,
.service-hero-copy h1,
.section-heading h2,
.split-copy h2,
.band-copy h2,
.cta-band h2,
.story-panel h2,
.contact-panel h2,
.info-panel h3,
.contact-card h3,
.service-card h3,
.value-card h3,
.pathway-card h3,
.menu-card h2,
.menu-line h3,
.gallery-caption strong,
.footer-col h3 {
  color: var(--ntb-ink) !important;
  text-shadow: none !important;
}
p, li, span,
.hero-copy p,
.page-banner-copy p,
.service-hero-copy p,
.section-heading p,
.split-copy p,
.band-copy p,
.cta-band p,
.story-panel p,
.contact-panel p,
.info-panel p,
.contact-card p,
.service-card p,
.value-card p,
.pathway-card p,
.menu-card p,
.menu-line p,
.gallery-caption p,
.footer-col p,
.footer-col a,
.info-card p,
.info-card a,
.info-card span,
.info-card strong {
  color: var(--ntb-muted) !important;
  text-shadow: none !important;
}
.eyebrow,
.section-kicker,
.service-kicker,
.card-kicker,
.price-tag,
.gallery-filter-label,
.service-tag {
  color: var(--ntb-rose-dark) !important;
  text-shadow: none !important;
}
/* Header/navigation clarity */
.topbar,
.site-header {
  background: rgba(255,250,248,.97) !important;
  border-bottom: 1px solid rgba(199,111,128,.20) !important;
  box-shadow: 0 10px 26px rgba(92,45,55,.08) !important;
  backdrop-filter: blur(16px) !important;
}
.site-nav a,
.topbar a,
.topbar span,
.brand-text strong,
.brand-text span {
  color: #4a3638 !important;
  text-shadow: none !important;
}
.site-nav a.active,
.site-nav a:hover {
  background: rgba(199,111,128,.12) !important;
  color: var(--ntb-rose-dark) !important;
}
/* Buttons: stronger contrast */
.btn-primary,
.action-pill:first-child,
.mobile-quick-actions a.primary,
.floating-book-enhanced,
.gallery-book-link {
  background: linear-gradient(135deg, var(--ntb-rose), var(--ntb-rose-dark)) !important;
  color: #fff !important;
  border-color: rgba(166,78,97,.24) !important;
  box-shadow: 0 14px 28px rgba(166,78,97,.22) !important;
}
.btn-secondary,
.action-pill,
.pill-link,
.service-quick-nav a,
.filter-button {
  background: rgba(255,255,255,.92) !important;
  color: var(--ntb-ink) !important;
  border-color: rgba(199,111,128,.24) !important;
}
.btn-secondary:hover,
.action-pill:hover,
.pill-link:hover,
.service-quick-nav a:hover,
.filter-button:hover,
.filter-button.active {
  background: rgba(255,242,245,.98) !important;
  color: var(--ntb-rose-dark) !important;
}
/* Gallery readability */
body.gallery .gallery-grid.booking-gallery,
.gallery-grid.booking-gallery {
  grid-template-columns: repeat(3, minmax(230px, 1fr)) !important;
  gap: clamp(1.1rem, 2.1vw, 1.7rem) !important;
  align-items: stretch !important;
}
body.gallery .gallery-tile,
.gallery-tile {
  border-radius: 26px !important;
  overflow: hidden !important;
}
body.gallery .gallery-tile img.tile-photo,
body.gallery .gallery-tile img,
.gallery-tile img.tile-photo,
.gallery-tile img {
  aspect-ratio: 4 / 5 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 260px !important;
  object-fit: cover !important;
}
body.gallery .gallery-caption,
.gallery-caption {
  padding: 1.15rem 1.15rem 1.25rem !important;
}
body.gallery .gallery-caption p,
.gallery-caption p {
  font-size: .96rem !important;
  line-height: 1.58 !important;
}
.gallery-filters,
.service-quick-nav,
.category-nav,
.quick-links {
  background: rgba(255,255,255,.88) !important;
  border: 1px solid rgba(199,111,128,.20) !important;
  box-shadow: var(--shadow-soft) !important;
  backdrop-filter: blur(12px) !important;
}
/* Fix incorrect/old visual wording areas */
.footer-shell a[href*="bellebooking.com"]:not(.btn):not(.gallery-book-link) {
  color: var(--ntb-ink) !important;
}
/* Mobile */
@media (max-width: 1080px) {
  body.gallery .gallery-grid.booking-gallery,
  .gallery-grid.booking-gallery { grid-template-columns: repeat(2, minmax(220px, 1fr)) !important; }
}
@media (max-width: 860px) {
  body {
    background-image: var(--blush-bg-mobile) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
  .hero-panel,
  .page-banner-shell,
  .service-hero-card,
  .mocktail-hero,
  .luxury-action-band,
  .review-proof-shell,
  .cta-band,
  .footer-shell {
    background-image:
      linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,248,247,.72)),
      var(--blush-bg-mobile) !important;
    background-size: cover, cover !important;
    background-position: center, center top !important;
  }
  .hero-copy,
  .page-banner-copy,
  .service-hero-copy,
  .band-copy,
  .cta-band,
  .review-proof-content,
  .story-panel,
  .contact-panel,
  .info-panel,
  .notice-card {
    background: rgba(255,255,255,.96) !important;
  }
}
@media (max-width: 620px) {
  body.gallery .gallery-grid.booking-gallery,
  .gallery-grid.booking-gallery { grid-template-columns: 1fr !important; }
  .gallery-tile img.tile-photo,
  .gallery-tile img { min-height: 300px !important; }
  .section, .section-tight { padding-top: 64px !important; padding-bottom: 64px !important; }
}
