/* ==========================================================================
   Galerie Tamaris — Luxury Fine Art Gallery Design System
   ========================================================================== */

:root {
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  
  --color-gold: #c5a059;
  --color-gold-hover: #b38f4d;
  --color-gold-light: #f5eedf;
  --color-gold-glow: rgba(197, 160, 89, 0.18);
  
  --color-dark: #121212;
  --color-charcoal: #1c1c1c;
  --color-muted-text: #666666;
  --color-light-bg: #faf9f5;
  --color-cream: #f4f0e6;
  --color-border: #e6dfd1;
  --color-white: #ffffff;
}

body {
  font-family: var(--font-sans);
  color: var(--color-charcoal);
  background-color: #ffffff;
  background-image: url('../img/bg-galerie-tamaris.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
  line-height: 1.7;
  letter-spacing: -0.01em;
  overflow-x: hidden;
}

/* ==========================================================================
   TRANSPARENT SECTIONS (Site Background Wallpaper Visibility)
   ========================================================================== */
section.bg-white,
section.bg-light,
section.bg-light-bg,
section.bg-cream,
section[class*="bg-white"],
section[class*="bg-light"],
section[class*="bg-cream"],
.bg-light-bg,
.bg-cream {
  background-color: transparent !important;
  background: transparent !important;
}

/* Breadcrumb bars transparency */
div.bg-white.border-bottom,
div[class*="bg-white"][class*="border-bottom"] {
  background-color: transparent !important;
  background: transparent !important;
}

/* Ensure all content sections (except dark heroes & CTAs) stay transparent */
main section:not(.bg-dark):not(.cta-banner):not(.hero-section),
section:not(.bg-dark):not(.cta-banner):not(.hero-section) {
  background-color: transparent !important;
}

h1, h2, h3, h4, h5, h6, .font-serif {
  font-family: var(--font-serif);
  color: var(--color-dark);
  letter-spacing: -0.02em;
  font-weight: 600;
}

a {
  color: var(--color-gold-hover);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

a:hover {
  color: var(--color-gold);
}

/* ==========================================================================
   NAVIGATION BAR
   ========================================================================== */
.navbar-tamaris {
  background-color: rgba(250, 249, 245, 0.96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(197, 160, 89, 0.2);
  transition: all 0.3s ease;
  padding: 0.85rem 0;
  z-index: 1030;
}

.navbar-logo {
  height: 44px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease;
  will-change: transform;
}

.navbar-logo:hover {
  transform: scale(1.02);
}

@media (max-width: 991.98px) {
  .navbar-logo {
    height: 38px;
    max-width: 180px;
  }
}

.navbar-brand-title {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-dark) !important;
}

.navbar-brand-subtitle {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--color-gold);
  display: block;
  margin-top: -3px;
  font-weight: 500;
}

.nav-link-tamaris {
  font-family: var(--font-sans);
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #2b2b2b !important;
  padding: 0.5rem 0.85rem !important;
  position: relative;
  white-space: nowrap !important;
  transition: color 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-link-tamaris:hover,
.nav-link-tamaris.active {
  color: var(--color-gold) !important;
}

/* 60fps underline: transform-only, zero layout reflow */
.nav-link-tamaris::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 22px;
  height: 2px;
  background-color: var(--color-gold);
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.nav-link-tamaris:hover::after,
.nav-link-tamaris.active::after {
  transform: translateX(-50%) scaleX(1);
}

/* Header Action Icon Links (Wishlist, Cart, Account) */
.nav-icon-link {
  font-size: 1.15rem;
  color: #2b2b2b !important;
  padding: 0.45rem 0.65rem !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: color 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s ease;
}

.nav-icon-link:hover {
  color: var(--color-gold) !important;
  transform: translateY(-1px);
}

.nav-icon-link::after {
  display: none !important;
}

.navbar-divider {
  width: 1px;
  height: 22px;
  background-color: rgba(197, 160, 89, 0.3);
  margin: 0 0.5rem;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .nav-link-tamaris {
    font-size: 0.86rem;
    padding: 0.45rem 0.6rem !important;
  }
  .nav-icon-link {
    padding: 0.45rem 0.5rem !important;
  }
}

@media (max-width: 991.98px) {
  .navbar-nav {
    padding: 1rem 0;
    gap: 0.25rem;
  }
  .nav-link-tamaris {
    padding: 0.65rem 0.5rem !important;
    font-size: 1.05rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  }
  .nav-link-tamaris::after {
    display: none !important;
  }
}

/* ==========================================================================
   BUTTONS & BADGES (Emil Kowalski Tactile Micro-Interactions)
   ========================================================================== */
.btn-gold {
  position: relative;
  background: linear-gradient(135deg, #c5a059 0%, #b38f4d 100%);
  color: #fff !important;
  border: none;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  padding: 0.8rem 1.8rem;
  border-radius: 2px;
  box-shadow: 0 4px 12px var(--color-gold-glow);
  transform: translateY(0) scale(1);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease;
  will-change: transform;
}

/* Pseudo-element shadow: 0 repaint cost on hover */
.btn-gold::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 8px 25px rgba(197, 160, 89, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-gold:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.btn-gold:hover::after {
  opacity: 1;
}

/* Tactile press response */
.btn-gold:active {
  transform: translateY(0) scale(0.97);
  transition-duration: 0.08s;
}

.btn-gold:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.4), 0 0 0 1px var(--color-gold);
}

.btn-outline-gold {
  position: relative;
  background: transparent;
  color: var(--color-gold-hover) !important;
  border: 1px solid var(--color-gold);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  padding: 0.75rem 1.7rem;
  border-radius: 2px;
  transform: translateY(0) scale(1);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, color 0.2s ease;
  will-change: transform;
}

.btn-outline-gold:hover {
  background: var(--color-gold);
  color: #fff !important;
  transform: translateY(-2px);
}

.btn-outline-gold:active {
  transform: translateY(0) scale(0.97);
  transition-duration: 0.08s;
}

.btn-outline-gold:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.4), 0 0 0 1px var(--color-gold);
}

.badge-gold {
  background-color: var(--color-gold-light);
  color: var(--color-gold-hover);
  border: 1px solid rgba(197, 160, 89, 0.3);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.35rem 0.7rem;
  border-radius: 2px;
  font-weight: 600;
}

/* ==========================================================================
   COLOR & DESIGN UTILITIES (Galerie Tamaris Design System)
   ========================================================================== */
.text-gold {
  color: var(--color-gold) !important;
}

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

.bg-gold {
  --bs-bg-opacity: 1;
  background-color: rgba(197, 160, 89, var(--bs-bg-opacity, 1)) !important;
  color: #121212 !important;
}

.bg-gold-light {
  background-color: var(--color-gold-light) !important;
  color: #121212 !important;
}

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

.badge.bg-gold {
  --bs-bg-opacity: 1;
  background-color: rgba(197, 160, 89, var(--bs-bg-opacity, 1)) !important;
  color: #121212 !important;
  font-weight: 700;
}

#header-wishlist-badge,
#header-cart-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.25em 0.55em;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.85);
  line-height: 1;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--color-gold);
}

/* Width Helpers */
.max-w-700 {
  max-width: 700px;
}

.max-w-800 {
  max-width: 800px;
}

.max-w-900 {
  max-width: 900px;
}

/* ==========================================================================
   HERO BANNER & CREATIVE ASSETS
   ========================================================================== */
.hero-section {
  position: relative;
  background-color: var(--color-dark);
  color: #fff;
  padding: 5.5rem 0 5rem 0;
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: 
    radial-gradient(circle at 20% 45%, rgba(197, 160, 89, 0.09) 0%, transparent 60%),
    radial-gradient(circle at 80% 55%, rgba(18, 18, 18, 0.7) 0%, rgba(10, 10, 10, 0.97) 100%);
  z-index: 1;
}

.hero-image-wrapper {
  position: relative;
  z-index: 2;
  border: 1px solid rgba(197, 160, 89, 0.35);
  border-radius: 4px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55), 0 0 35px rgba(197, 160, 89, 0.1);
  overflow: hidden;
  background-color: #1a1c22;
}

/* ==========================================================================
   PAGE HEADER BANNERS (Atmospheric Fine Art Aesthetic)
   ========================================================================== */
.page-header-banner {
  position: relative;
  background-color: var(--color-dark);
  background-image: 
    radial-gradient(circle at 50% 15%, rgba(197, 160, 89, 0.1) 0%, transparent 65%),
    radial-gradient(circle at 20% 85%, rgba(26, 28, 34, 0.8) 0%, rgba(14, 15, 18, 0.98) 100%);
  color: #ffffff;
  padding: 4.5rem 0 4rem 0;
  border-bottom: 1px solid rgba(197, 160, 89, 0.25);
  overflow: hidden;
}

.page-header-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(197, 160, 89, 0.45), transparent);
}

.page-header-banner .badge {
  letter-spacing: 0.14em;
  padding: 0.4em 1em;
}

/* ==========================================================================
   CALL TO ACTION BANNER (Luxury Fine Art Conversion Callout)
   ========================================================================== */
.cta-banner,
section.cta-banner,
main > section.bg-dark:last-of-type,
main > section.bg-dark:last-child,
section.bg-dark:last-of-type {
  position: relative;
  background-color: rgba(18, 18, 18, 0.80) !important;
  background-image: 
    radial-gradient(circle at 50% 50%, rgba(197, 160, 89, 0.12) 0%, transparent 70%),
    linear-gradient(180deg, rgba(20, 22, 28, 0.82) 0%, rgba(12, 13, 16, 0.86) 100%) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(197, 160, 89, 0.25);
  border-bottom: 1px solid rgba(197, 160, 89, 0.25);
  padding: 5rem 0;
  overflow: hidden;
}

.cta-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  left: 50%;
  width: 700px;
  height: 700px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(197, 160, 89, 0.08) 0%, transparent 60%);
  pointer-events: none;
}

.hero-image-wrapper img {
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  display: block;
  will-change: transform;
}

.hero-image-wrapper:hover img {
  transform: scale(1.03);
}

.hero-title {
  color: #ffffff;
  font-size: 3.2rem;
  line-height: 1.15;
  font-weight: 700;
  margin-bottom: 1.4rem;
}

.hero-subtitle {
  color: var(--color-gold);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-weight: 600;
  margin-bottom: 1.2rem;
  display: block;
}

/* ==========================================================================
   CARDS & ARTWORK SHOWCASES (60fps Compositor Transitions)
   ========================================================================== */
.artwork-card {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--color-border);
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transform: translateY(0);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease;
  will-change: transform;
}

/* Pseudo-element elevation shadow: Zero paint cost on hover */
.artwork-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.artwork-card:hover {
  transform: translateY(-5px);
  border-color: rgba(197, 160, 89, 0.6);
}

.artwork-card:hover::after {
  opacity: 1;
}

.artwork-card:active {
  transform: translateY(-1px) scale(0.99);
  transition-duration: 0.08s;
}

.artwork-image-container {
  position: relative;
  padding-top: 100%; /* 1:1 Aspect ratio square */
  background-color: #f7f6f2;
  overflow: hidden;
}

.artwork-image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.artwork-card:hover .artwork-image-container img {
  transform: scale(1.04);
}

.artwork-card-body {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.artwork-card-title {
  font-size: 1.3rem;
  margin-bottom: 0.4rem;
}

.artwork-price {
  font-family: var(--font-sans);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-gold-hover);
  margin-top: auto;
  padding-top: 0.8rem;
}

/* Service pillar card: scaleY transform instead of height */
.service-card {
  position: relative;
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 2.2rem;
  height: 100%;
  border-radius: 3px;
  transform: translateY(0);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
  will-change: transform;
}

.service-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: var(--color-gold);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
  z-index: 2;
}

.service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(197, 160, 89, 0.5);
}

.service-card:hover::after {
  opacity: 1;
}

.service-card:hover::before {
  transform: scaleY(1);
}

.service-card:active {
  transform: translateY(-1px) scale(0.99);
  transition-duration: 0.08s;
}

.service-icon {
  width: 54px;
  height: 54px;
  background: var(--color-gold-light);
  color: var(--color-gold-hover);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 1.4rem;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card:hover .service-icon {
  transform: scale(1.08);
}

/* ==========================================================================
   PARTNERS & REFERENCES
   ========================================================================== */
.partner-tag {
  display: inline-block;
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 0.6rem 1.2rem;
  margin: 0.35rem;
  border-radius: 20px;
  font-size: 0.85rem;
  color: var(--color-charcoal);
  font-weight: 500;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  transform: translateY(0) scale(1);
  transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  will-change: transform;
}

.partner-tag:hover {
  border-color: var(--color-gold);
  color: var(--color-gold-hover);
  background: var(--color-gold-light);
  transform: translateY(-2px);
}

.partner-tag:active {
  transform: translateY(0) scale(0.96);
  transition-duration: 0.08s;
}

/* ==========================================================================
   CONTACT & MAP SECTION
   ========================================================================== */
.contact-info-card {
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 2.2rem;
  border-radius: 3px;
}

.contact-item {
  display: flex;
  margin-bottom: 1.6rem;
}

.contact-item-icon {
  width: 44px;
  height: 44px;
  background-color: var(--color-gold-light);
  color: var(--color-gold-hover);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1.2rem;
  flex-shrink: 0;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer-tamaris {
  background-color: rgba(18, 18, 18, 0.82) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #e2e4e8;
  padding: 5rem 0 2rem 0;
  border-top: 1px solid rgba(197, 160, 89, 0.35);
  position: relative;
}

.footer-tamaris .text-muted,
.footer-tamaris .footer-text {
  color: #c4c8d0 !important;
  line-height: 1.65;
}

.footer-tamaris p {
  color: #c4c8d0;
}

.footer-tamaris span {
  color: #c4c8d0;
}

.footer-title {
  color: #ffffff;
  font-size: 1.25rem;
  margin-bottom: 1.4rem;
  position: relative;
  padding-bottom: 0.6rem;
}

.footer-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background-color: var(--color-gold);
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 0.7rem;
}

.footer-links a {
  color: #d1d5db;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: var(--color-gold);
}

.footer-contact-link {
  color: #e5e7eb !important;
  transition: color 0.2s ease;
}

.footer-contact-link:hover {
  color: var(--color-gold) !important;
}

.footer-bottom {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.85rem;
  color: #9ca3af;
}

.footer-admin-link {
  color: #9ca3af !important;
  font-size: 0.82rem;
  transition: color 0.2s ease;
}

.footer-admin-link:hover {
  color: var(--color-gold) !important;
}

/* Responsive adjustments */
@media (max-width: 991.98px) {
  .hero-title {
    font-size: 2.3rem;
  }
}

/* ==========================================================================
   ACCESSIBILITY: TIERED PREFERS-REDUCED-MOTION (Emil Kowalski Architecture)
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  /* Tier 1: Strip vestibular triggers (large shifts, translateY, zoom scales) */
  .hero-image-wrapper img,
  .artwork-card,
  .artwork-card:hover,
  .artwork-card:hover .artwork-image-container img,
  .service-card,
  .service-card:hover,
  .service-card::before,
  .service-card:hover .service-icon,
  .btn-gold,
  .btn-gold:hover,
  .btn-outline-gold,
  .btn-outline-gold:hover,
  .partner-tag,
  .partner-tag:hover {
    transform: none !important;
  }

  /* Tier 2: Soften to brief opacity/color cross-fades (<= 150ms) */
  .artwork-card,
  .service-card,
  .btn-gold,
  .btn-outline-gold,
  .partner-tag,
  .nav-link-tamaris {
    transition: opacity 150ms ease, background-color 150ms ease, border-color 150ms ease, color 150ms ease !important;
  }

  /* Tier 3: Keep essential states, kill runaway infinite spins safely */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* Gallery Immersion Showcase */
.gallery-photo-card {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid rgba(197, 160, 89, 0.35);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
  cursor: pointer;
}

.gallery-photo-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.gallery-photo-img-wrap {
  height: 380px;
  overflow: hidden;
  position: relative;
}

.gallery-photo-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.gallery-photo-card:hover .gallery-photo-img-wrap img {
  transform: scale(1.05);
}

.gallery-photo-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(18, 18, 18, 0.75);
  backdrop-filter: blur(8px);
  color: #ffffff;
  font-size: 0.78rem;
  padding: 6px 14px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: background 0.3s ease, color 0.3s ease;
}

.gallery-photo-card:hover .gallery-photo-badge {
  background: rgba(197, 160, 89, 0.9);
  color: #121212;
}

/* Global Lightbox Modal */
.lightbox-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 10, 0.94);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lightbox-content {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.8);
  border: 1px solid rgba(197, 160, 89, 0.4);
}

.lightbox-close {
  position: absolute;
  top: 25px;
  right: 35px;
  font-size: 2.2rem;
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  transition: color 0.2s ease;
  line-height: 1;
}

.lightbox-close:hover {
  color: #c5a059;
}

/* ==========================================================================
   INTELLECTUAL PROPERTY & IMAGE PROTECTION
   ========================================================================== */
img,
.gallery-photo-img,
.product-card-img,
.artwork-img,
.carousel-item img,
.hero-image,
.modal-body img,
.lightbox-content {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* Watermark & Copyright Toast */
#tamaris-ip-toast {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: rgba(18, 18, 18, 0.96);
  color: #f5eedf;
  border: 1px solid #c5a059;
  border-radius: 8px;
  padding: 14px 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  z-index: 100000;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-sans);
  font-size: 0.88rem;
  max-width: 90vw;
  width: auto;
  opacity: 0;
  pointer-events: none;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

#tamaris-ip-toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

#tamaris-ip-toast .bi-shield-lock-fill {
  font-size: 1.5rem;
  color: #c5a059;
}

/* Screenshot / Capture Shield (temporarily obscures artworks during screen captures) */
.tamaris-capture-shield img,
.tamaris-capture-shield .artwork-img,
.tamaris-capture-shield .gallery-photo-img,
.tamaris-capture-shield .gallery-photo-card,
.tamaris-capture-shield .lightbox-content,
.tamaris-capture-shield .tour-artwork-card img,
.tamaris-capture-shield .retro-board img,
.tamaris-capture-shield .triptych-card img,
.tamaris-capture-shield [style*="background-image"] {
  filter: blur(28px) brightness(0.3) !important;
  opacity: 0.08 !important;
  transition: filter 0.05s ease, opacity 0.05s ease !important;
}

/* ==========================================================================
   PRINT PROTECTION (Suppress Artwork Images & Media on Print)
   ========================================================================== */
@media print {
  /* Suppress navigation, footers, interactive elements */
  header,
  footer,
  .navbar-tamaris,
  .btn,
  .lightbox-modal,
  .footer-bottom,
  #tamaris-ip-toast,
  .sticky-top,
  .carousel-indicators,
  .carousel-control-prev,
  .carousel-control-next {
    display: none !important;
    visibility: hidden !important;
  }

  /* Suppress all artwork images, galleries and backgrounds */
  img,
  .gallery-photo-img,
  .gallery-photo-card,
  .product-card-img,
  .lightbox-content,
  [style*="background-image"] {
    display: none !important;
    visibility: hidden !important;
  }

  body {
    background: #ffffff !important;
    color: #121212 !important;
  }

  /* Display formal copyright statement */
  body::before {
    content: "© Galerie Tamaris — Tous droits réservés.\A\ALes œuvres, photographies et créations artistiques présentées sur ce site sont protégées par le Code de la Propriété Intellectuelle et les conventions internationales sur le droit d'auteur.\A\AToute reproduction, impression, diffusion ou exploitation commerciale non autorisée est strictement interdite.\A\APour toute demande d'acquisition ou de droits : contact@galerietamaris.com";
    white-space: pre-wrap;
    display: block !important;
    margin: 50px auto;
    padding: 35px;
    border: 2px solid #c5a059;
    border-radius: 8px;
    text-align: center;
    font-family: Georgia, 'Playfair Display', serif;
    font-size: 13pt;
    line-height: 1.8;
    color: #121212;
    max-width: 80%;
  }
}

