/*
Theme Name: Galleri AM
Theme URI: https://galleriam.se
Author: Galleri AM
Description: Officiellt tema för Galleri AM – exklusiv, mörk och elegant design för konstgalleri med e-handel, konstnärsprofiler och eventsida.
Version: 1.1
License: Private
Text Domain: galleriam
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Cinzel:wght@400;500&family=Inter:wght@300;400;500&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --cream: #f5f0e8;
  --warm-white: #faf8f4;
  --dark: #1a1714;
  --charcoal: #2d2926;
  --gold: #c9a96e;
  --gold-light: #e8d5b0;
  --muted: #8a8178;
  --border: rgba(201,169,110,0.2);
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--dark);
  color: var(--cream);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 300;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }

/* ── NAVIGATION ── */
.site-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 60px;
  background: rgba(26,23,20,0.97);
  border-bottom: 1px solid var(--border);
  transition: all 0.3s;
}
.site-nav.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,0.4); }
.nav-logo img { height: 36px; width: auto; }
.nav-logo-text { font-family: 'Cinzel', serif; font-size: 1rem; letter-spacing: 0.25em; color: var(--cream); }
.nav-logo-text span { color: var(--gold); }
.nav-menu { display: flex; gap: 36px; list-style: none; }
.nav-menu a {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cream);
  opacity: 0.7;
  transition: opacity 0.2s, color 0.2s;
}
.nav-menu a:hover,
.nav-menu .current-menu-item a { opacity: 1; color: var(--gold); }
.nav-cta {
  font-family: 'Inter', sans-serif;
  font-size: 0.63rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dark);
  background: var(--gold);
  padding: 10px 22px;
  transition: background 0.2s;
}
.nav-cta:hover { background: var(--gold-light); }
.nav-hamburger { display: none; background: none; border: none; color: var(--cream); font-size: 1.4rem; }

/* ── SHARED UTILITIES ── */
.section-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
  display: block;
}
.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--warm-white);
  margin-bottom: 16px;
}
.section-title em { font-style: italic; color: var(--gold-light); }
.divider { width: 50px; height: 1px; background: var(--gold); margin-bottom: 36px; }
.btn-primary {
  font-family: 'Inter', sans-serif;
  font-size: 0.63rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dark);
  background: var(--gold);
  padding: 14px 32px;
  border: none;
  display: inline-block;
  transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: var(--gold-light); transform: translateY(-1px); }
.btn-ghost {
  font-family: 'Inter', sans-serif;
  font-size: 0.63rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cream);
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
  background: none;
  border-top: none; border-left: none; border-right: none;
  display: inline-block;
  transition: color 0.2s, border-color 0.2s;
}
.btn-ghost:hover { color: var(--gold); border-color: var(--gold); }

/* ── MARQUEE ── */
.marquee-wrap {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
  padding: 15px 0;
  background: var(--charcoal);
}
.marquee-track { display: flex; white-space: nowrap; animation: marquee 30s linear infinite; }
.marquee-item {
  font-family: 'Inter', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--muted);
  flex-shrink: 0;
  padding: 0 24px;
}
.marquee-item .dot { color: var(--gold); margin-left: 24px; }

/* ── HERO ── */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 60px 80px;
  position: relative;
  background-color: var(--dark);
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(26,23,20,0.85) 0%, rgba(26,23,20,0.70) 40%, rgba(26,23,20,0.85) 70%, rgba(26,23,20,0.98) 100%);
  pointer-events: none;
  z-index: 1;
}
.hero > * { position: relative; z-index: 2; }
.hero-bg { display: none; }
.hero-logo-wrap { margin-bottom: 52px; }
.hero-logo-wrap img { width: 320px; max-width: 80vw; filter: brightness(0) invert(1); }
.hero-logo-line { width: 1px; height: 60px; background: linear-gradient(to bottom, transparent, var(--gold), transparent); margin: 0 auto 40px; }
.hero-label { font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--gold); margin-bottom: 22px; display: block; }
.hero-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(3rem, 6vw, 5.5rem); font-weight: 300; line-height: 1.05; color: var(--warm-white); margin-bottom: 26px; }
.hero-title em { font-style: italic; color: var(--gold-light); }
.hero-body { font-size: 1.15rem; line-height: 1.85; color: rgba(245,240,232,0.65); max-width: 520px; margin: 0 auto 44px; }
.hero-actions { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }

/* ── VERNISSAGE PROMO ── */
.vernissage-promo {
  position: relative;
  width: 100%;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #1a1714;
}
.vernissage-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  z-index: 0;
}
.vernissage-promo:hover .vernissage-bg {
  transform: scale(1.50);
transition: transform 15s ease;
}
.vernissage-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
  background: linear-gradient(to left, rgba(26,23,20,0.96) 0%, rgba(26,23,20,0.7) 45%, rgba(26,23,20,0.05) 100%);
}
.vernissage-content {
  position: relative;
  z-index: 2;
  width: 520px;
  max-width: 50%;
  padding: 60px 80px 60px 40px;
}
.vernissage-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.8rem);
  font-weight: 300;
  color: var(--warm-white);
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.vernissage-artist {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  font-style: italic;
  color: var(--gold-light);
  margin-bottom: 24px;
}
.vernissage-meta { display: flex; flex-direction: column; margin-bottom: 24px; }
.vernissage-meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(201,169,110,0.2);
}
.vernissage-meta-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.57rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
}
.vernissage-meta-value {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  color: var(--cream);
}
.vernissage-body {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  line-height: 1.85;
  color: rgba(245,240,232,0.65);
  font-style: italic;
  margin-bottom: 32px;
}

/* ── EXHIBITION STRIP ── */
.exhibition-strip { display: grid; grid-template-columns: 1fr 1fr; background: var(--charcoal); }
.exh-image { position: relative; overflow: hidden; min-height: 520px; }
.exh-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 5s ease; display: block; }
.exh-image:hover img { transform: scale(1.04); }
.exh-badge {
  position: absolute;
  top: 28px; left: 28px;
  background: var(--gold);
  color: var(--dark);
  font-family: 'Inter', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 7px 16px;
}
.exh-content { padding: 70px 64px; display: flex; flex-direction: column; justify-content: center; }
.exh-dates { font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; color: var(--muted); margin-bottom: 36px; }
.artists-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; }
.artist-mini-card { border-top: 1px solid var(--border); padding-top: 14px; transition: border-color 0.2s; }
.artist-mini-card.clickable { cursor: pointer; }
.artist-mini-card.clickable:hover { border-color: var(--gold); }
.artist-mini-name { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; color: var(--warm-white); transition: color 0.2s; }
.artist-mini-card.clickable:hover .artist-mini-name { color: var(--gold); }
.artist-mini-medium { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--muted); margin-top: 3px; }

/* ── ABOUT ── */
.about-section { display: grid; grid-template-columns: 1fr 1fr; background: var(--warm-white); color: var(--dark); }
.about-img { overflow: hidden; min-height: 480px; }
.about-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-content { padding: 80px 70px; display: flex; flex-direction: column; justify-content: center; }
.about-content .section-title { color: var(--dark); }
.about-text { font-size: 1.05rem; line-height: 1.9; color: #4a4540; margin-bottom: 18px; }
.about-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
  font-style: italic;
  border-left: 2px solid var(--gold);
  padding-left: 24px;
  color: var(--charcoal);
  line-height: 1.6;
  margin: 28px 0 36px;
}

/* ── HOURS + CONTACT ── */
.hours-section { background: var(--charcoal); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: 90px 60px; }
.hours-table { width: 100%; margin-top: 16px; }
.hours-row { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--border); }
.hours-day { font-family: 'Inter', sans-serif; font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.hours-time { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; color: var(--cream); }
.hours-time.gold { color: var(--gold); font-style: italic; }
.hours-note { margin-top: 24px; font-style: italic; font-size: 0.92rem; line-height: 1.75; color: var(--muted); }
.contact-lbl { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; display: block; }
.contact-val { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: var(--cream); display: block; margin-bottom: 24px; transition: color 0.2s; }
.contact-val:hover { color: var(--gold); }
.contact-form { margin-top: 32px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { margin-bottom: 16px; }
.form-group label { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 7px; }
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  padding: 11px 14px;
  color: var(--cream);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.2s;
  border-radius: 0;
  -webkit-appearance: none;
}
.form-group input:focus, .form-group textarea:focus { border-color: var(--gold); }
.form-group textarea { height: 110px; resize: none; }
.btn-submit {
  width: 100%;
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dark);
  background: var(--gold);
  border: none;
  padding: 13px;
  transition: background 0.2s;
  margin-top: 6px;
}
.btn-submit:hover { background: var(--gold-light); }

/* ── PARTNERS ── */
.partners { background: var(--dark); padding: 50px 60px; border-top: 1px solid var(--border); text-align: center; }
.partners-label { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--muted); margin-bottom: 32px; display: block; }
.partners-logos { display: flex; justify-content: center; align-items: center; gap: 52px; flex-wrap: wrap; }
.partner-name { font-family: 'Cinzel', serif; font-size: 0.78rem; letter-spacing: 0.18em; color: var(--muted); transition: color 0.2s; }
.partner-name:hover { color: var(--gold); }

/* ── FOOTER ── */
.site-footer { background: var(--dark); padding: 72px 60px 36px; border-top: 1px solid var(--border); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 52px; margin-bottom: 52px; }
.footer-logo img { height: 28px; margin-bottom: 18px; display: block; }
.footer-tagline { font-style: italic; font-size: 0.97rem; color: var(--muted); line-height: 1.75; }
.footer-heading { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; display: block; }
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 11px; }
.footer-links a { font-family: 'Cormorant Garamond', serif; font-size: 0.97rem; color: var(--muted); transition: color 0.2s; }
.footer-links a:hover { color: var(--gold); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 26px; border-top: 1px solid var(--border); }
.footer-copy { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.1em; color: var(--muted); }
.social-links { display: flex; gap: 22px; }
.social-links a { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); transition: color 0.2s; }
.social-links a:hover { color: var(--gold); }

/* ── ARTISTS PAGE ── */
.artists-page-header { padding: 140px 60px 40px; text-align: center; }
.artists-controls { padding: 0 60px 36px; display: flex; flex-direction: column; gap: 20px; }
.artists-search-wrap { position: relative; max-width: 420px; }
.artists-search {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  padding: 12px 44px 12px 18px;
  color: var(--cream);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  outline: none;
  transition: border-color 0.2s;
  border-radius: 0;
}
.artists-search:focus { border-color: var(--gold); }
.artists-search::placeholder { color: var(--muted); }
.search-icon { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 0.85rem; pointer-events: none; }
.artists-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.artists-filter-label { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.filter-btn {
  font-family: 'Inter', sans-serif;
  font-size: 0.57rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 7px 16px;
  border: 1px solid var(--border);
  background: none;
  color: var(--muted);
  transition: all 0.2s;
}
.filter-btn:hover { border-color: var(--gold); color: var(--gold); }
.filter-btn.active { border-color: var(--gold); color: var(--dark); background: var(--gold); }
.artists-count { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-left: auto; }
.artists-grid-wrap { padding: 0 60px 100px; }
.artists-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
.artist-thumb { position: relative; overflow: hidden; aspect-ratio: 2/3; cursor: pointer; }
.artist-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease, filter 0.4s; display: block; filter: grayscale(20%); }
.artist-thumb:hover img { transform: scale(1.07); filter: grayscale(0%); }
.artist-thumb-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(26,23,20,0.92) 0%, rgba(26,23,20,0.2) 50%, transparent 100%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 24px 20px;
}
.artist-thumb-name { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; font-weight: 400; color: var(--warm-white); margin-bottom: 4px; }
.artist-thumb-medium { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); }
.artist-thumb-hidden { display: none !important; }
.artists-empty { grid-column: 1/-1; text-align: center; padding: 60px 0; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.3rem; color: var(--muted); }

/* ── ARTIST PROFILE ── */
.profile-back {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 130px 60px 0;
  transition: color 0.2s;
}
.profile-back:hover { color: var(--gold); }
.profile-hero { display: grid; grid-template-columns: 1fr 1fr; margin-top: 40px; }
.profile-image-col { position: relative; overflow: hidden; min-height: 600px; }
.profile-image-col img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profile-image-tag { position: absolute; bottom: 32px; left: 32px; background: rgba(26,23,20,0.85); border: 1px solid var(--border); padding: 14px 20px; }
.profile-image-tag-name { font-family: 'Cinzel', serif; font-size: 0.8rem; letter-spacing: 0.2em; color: var(--cream); }
.profile-image-tag-role { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-top: 4px; }
.profile-content-col { padding: 80px 70px; background: var(--charcoal); }
.profile-tag { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; display: block; }
.profile-name { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 300; color: var(--warm-white); margin-bottom: 8px; }
.profile-subtitle { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-style: italic; color: var(--muted); margin-bottom: 36px; display: block; }
.profile-bio { font-size: 1.05rem; line-height: 1.95; color: rgba(245,240,232,0.72); margin-bottom: 20px; }
.profile-quote { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-style: italic; border-left: 2px solid var(--gold); padding-left: 24px; color: var(--cream); line-height: 1.6; margin: 32px 0; }
.profile-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--border); }
.profile-meta-label { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; display: block; }
.profile-meta-value { font-family: 'Cormorant Garamond', serif; font-size: 1rem; color: var(--cream); }
.profile-works-section { padding: 80px 60px; background: var(--dark); }
.profile-works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 40px; }
.profile-work-item { position: relative; overflow: hidden; aspect-ratio: 4/5; cursor: pointer; }
.profile-work-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; display: block; }
.profile-work-item:hover img { transform: scale(1.06); }
.profile-work-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,23,20,0.88) 0%, transparent 55%); opacity: 0; transition: opacity 0.35s; display: flex; align-items: flex-end; padding: 22px; }
.profile-work-item:hover .profile-work-overlay { opacity: 1; }
.work-status-badge { position: absolute; top: 14px; left: 14px; font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.18em; text-transform: uppercase; padding: 5px 12px; }
.work-status-badge.available { background: var(--gold); color: var(--dark); }
.work-status-badge.sold { background: rgba(138,129,120,0.7); color: var(--cream); }
.work-status-badge.reserved { background: rgba(26,23,20,0.7); border: 1px solid var(--gold); color: var(--gold); }
.profile-work-title { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--warm-white); }
.profile-work-price { font-family: 'Cormorant Garamond', serif; font-size: 0.95rem; color: var(--gold); margin-top: 4px; }
.profile-cta { background: var(--charcoal); padding: 70px 60px; text-align: center; }

/* ── STORE ── */
.store-hero { padding: 140px 60px 50px; }
.store-filters { display: flex; gap: 12px; flex-wrap: wrap; padding: 0 60px 40px; }
.store-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 0 60px 100px; }
.store-item { background: var(--charcoal); transition: transform 0.3s; }
.store-item:hover { transform: translateY(-3px); }
.store-item-img { position: relative; overflow: hidden; aspect-ratio: 3/4; }
.store-item-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; display: block; }
.store-item:hover .store-item-img img { transform: scale(1.05); }
.store-item-status { position: absolute; top: 14px; left: 14px; font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.18em; text-transform: uppercase; padding: 5px 12px; }
.store-item-status.available { background: var(--gold); color: var(--dark); }
.store-item-status.sold { background: #c0392b; color: #fff; font-weight: bold; }
.store-item-status.reserved { background: rgba(26,23,20,0.7); border: 1px solid var(--gold); color: var(--gold); }
.store-item-info { padding: 22px 22px 24px; }
.store-item-title { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: var(--warm-white); margin-bottom: 4px; }
.store-item-artist { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.store-item-medium { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 0.9rem; color: var(--muted); margin-bottom: 16px; }
.store-item-footer { display: flex; justify-content: space-between; align-items: center; }
.store-item-price { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--gold); }
.store-item-price.poa { font-size: 0.9rem; font-style: italic; color: var(--muted); }
.btn-buy { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.16em; text-transform: uppercase; padding: 9px 18px; background: var(--gold); color: var(--dark); border: none; transition: background 0.2s; }
.btn-buy:hover { background: var(--gold-light); }
.btn-buy:disabled { background: transparent; border: 1px solid var(--border); color: var(--muted); cursor: not-allowed; }

/* ── EVENTS ── */
.events-hero { padding: 140px 60px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.event-featured { margin: 0 60px 4px; cursor: pointer; }
.event-featured-inner { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 540px; }
.event-featured-images { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.event-featured-images img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 6s ease; }
.event-featured:hover .event-featured-images img { transform: scale(1.04); }
.event-featured-content { background: var(--charcoal); padding: 60px 56px; display: flex; flex-direction: column; justify-content: space-between; }
.event-type-badge { display: inline-block; font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--dark); background: var(--gold); padding: 6px 14px; margin-bottom: 28px; align-self: flex-start; }
.event-featured-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 300; color: var(--warm-white); line-height: 1.15; margin-bottom: 12px; }
.event-featured-subtitle { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; color: var(--gold-light); margin-bottom: 24px; display: block; }
.event-featured-desc { font-size: 1rem; line-height: 1.85; color: rgba(245,240,232,0.65); margin-bottom: 32px; }
.event-meta-row { display: flex; gap: 32px; flex-wrap: wrap; margin-bottom: 32px; }
.event-meta-lbl { font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 5px; }
.event-meta-val { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; color: var(--cream); }
.event-countdown { display: flex; gap: 16px; margin-bottom: 32px; }
.countdown-unit { text-align: center; min-width: 52px; }
.countdown-num { font-family: 'Cinzel', serif; font-size: 1.8rem; color: var(--gold); line-height: 1; display: block; }
.countdown-lbl { font-family: 'Inter', sans-serif; font-size: 0.5rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); display: block; margin-top: 4px; }
.countdown-sep { font-family: 'Cinzel', serif; font-size: 1.8rem; color: var(--border); line-height: 1; padding-top: 2px; }
.events-upcoming { padding: 60px 60px 40px; }
.events-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 40px; }
.event-card { background: var(--charcoal); cursor: pointer; transition: transform 0.3s; }
.event-card:hover { transform: translateY(-4px); }
.event-card-img { position: relative; overflow: hidden; aspect-ratio: 16/9; }
.event-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; display: block; }
.event-card:hover .event-card-img img { transform: scale(1.06); }
.event-card-badge { position: absolute; top: 14px; left: 14px; font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.2em; text-transform: uppercase; padding: 5px 12px; }
.event-card-badge.upcoming { background: var(--gold); color: var(--dark); }
.event-card-badge.past { background: rgba(138,129,120,0.7); color: var(--cream); }
.event-card-content { padding: 24px 24px 28px; }
.event-card-date { font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.event-card-title { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; color: var(--warm-white); line-height: 1.25; margin-bottom: 6px; }
.event-card-artists { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 0.97rem; color: var(--muted); margin-bottom: 14px; }
.event-card-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; border-top: 1px solid var(--border); }
.event-card-price { font-family: 'Inter', sans-serif; font-size: 0.6rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); }
.event-card-arrow { font-family: 'Inter', sans-serif; font-size: 0.6rem; letter-spacing: 0.15em; color: var(--muted); transition: color 0.2s; }
.event-card:hover .event-card-arrow { color: var(--gold); }
.events-past { padding: 40px 60px 80px; }
.past-events-list { margin-top: 36px; display: flex; flex-direction: column; gap: 1px; }
.past-event-row { display: grid; grid-template-columns: 120px 1fr 1fr auto; gap: 24px; align-items: center; padding: 22px 28px; background: var(--charcoal); cursor: pointer; transition: background 0.2s; }
.past-event-row:hover { background: #342f2b; }
.past-event-date { font-family: 'Cinzel', serif; font-size: 0.85rem; letter-spacing: 0.1em; color: var(--muted); }
.past-event-title { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; color: var(--warm-white); }
.past-event-artists { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1rem; color: var(--muted); }
.past-event-tag { font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.2em; text-transform: uppercase; padding: 4px 12px; border: 1px solid var(--border); color: var(--muted); }

/* ── EVENT MODAL ── */
.event-modal-backdrop { position: fixed; inset: 0; background: rgba(26,23,20,0.92); backdrop-filter: blur(4px); z-index: 500; display: none; align-items: center; justify-content: center; padding: 24px; }
.event-modal-backdrop.open { display: flex; }
.event-modal { background: var(--charcoal); max-width: 800px; width: 100%; max-height: 90vh; overflow-y: auto; position: relative; }
.event-modal-close { position: sticky; top: 0; right: 0; float: right; background: var(--charcoal); border: none; color: var(--muted); font-family: 'Inter', sans-serif; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; padding: 16px 20px; cursor: pointer; transition: color 0.2s; z-index: 1; }
.event-modal-close:hover { color: var(--gold); }
.event-modal-img { width: 100%; aspect-ratio: 16/7; object-fit: cover; display: block; }
.event-modal-img-grid { display: grid; grid-template-columns: 1fr 1fr; aspect-ratio: 16/7; }
.event-modal-img-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.event-modal-body { padding: 40px 48px 48px; }
.event-modal-badge { display: inline-block; font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--dark); background: var(--gold); padding: 5px 14px; margin-bottom: 20px; }
.event-modal-title { font-family: 'Cormorant Garamond', serif; font-size: 2.4rem; font-weight: 300; color: var(--warm-white); margin-bottom: 8px; line-height: 1.15; }
.event-modal-subtitle { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; color: var(--gold-light); margin-bottom: 28px; display: block; }
.event-modal-meta { display: flex; gap: 32px; margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.event-modal-desc p { font-size: 1.05rem; line-height: 1.9; color: rgba(245,240,232,0.72); margin-bottom: 16px; }
.event-modal-cta { margin-top: 32px; display: flex; gap: 16px; align-items: center; }

/* ── NEWSLETTER POPUP ── */
.nl-backdrop {
  position: fixed; inset: 0;
  background: rgba(16,13,11,0.75);
  backdrop-filter: blur(4px);
  z-index: 500;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
  opacity: 0; pointer-events: none;
  transition: opacity 0.5s ease;
}
.nl-backdrop.open { opacity: 1; pointer-events: all; }
.nl-popup { width: 100%; max-width: 700px; position: relative; transform: translateY(24px); transition: transform 0.5s ease; }
.nl-backdrop.open .nl-popup { transform: translateY(0); }
.nl-popup-inner { display: grid; grid-template-columns: 1fr 1fr; }
.nl-popup-img { position: relative; overflow: hidden; min-height: 440px; }
.nl-popup-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nl-popup-img-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(26,23,20,0.3) 0%, rgba(26,23,20,0.6) 100%); }
.nl-popup-img-text { position: absolute; bottom: 28px; left: 24px; right: 24px; }
.nl-popup-img-text span { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 8px; }
.nl-popup-img-text strong { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 300; font-style: italic; color: var(--warm-white); line-height: 1.3; display: block; }
.nl-popup-content { background: var(--charcoal); padding: 48px 40px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.nl-close { position: absolute; top: 16px; right: 16px; background: none; border: none; color: var(--muted); font-family: 'Inter', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; transition: color 0.2s; padding: 6px; }
.nl-close:hover { color: var(--gold); }
.nl-eyebrow { font-family: 'Inter', sans-serif; font-size: 0.57rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; display: block; }
.nl-title { font-family: 'Cormorant Garamond', serif; font-size: 1.9rem; font-weight: 300; color: var(--warm-white); line-height: 1.15; margin-bottom: 10px; }
.nl-title em { font-style: italic; color: var(--gold-light); }
.nl-body { font-size: 0.97rem; line-height: 1.8; color: var(--muted); margin-bottom: 28px; }
.nl-form { display: flex; flex-direction: column; gap: 12px; }
.nl-input { background: rgba(255,255,255,0.05); border: 1px solid var(--border); padding: 12px 16px; color: var(--cream); font-family: 'Cormorant Garamond', serif; font-size: 1rem; outline: none; transition: border-color 0.2s; width: 100%; border-radius: 0; }
.nl-input:focus { border-color: var(--gold); }
.nl-input::placeholder { color: var(--muted); }
.nl-submit { font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--dark); background: var(--gold); border: none; padding: 13px; transition: background 0.2s, transform 0.15s; width: 100%; margin-top: 4px; }
.nl-submit:hover { background: var(--gold-light); transform: translateY(-1px); }
.nl-disclaimer { font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.08em; color: var(--muted); margin-top: 10px; line-height: 1.6; }
.nl-success { text-align: center; padding: 20px 0; display: none; flex-direction: column; align-items: center; gap: 16px; }
.nl-success-icon { width: 48px; height: 48px; border: 1px solid var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: var(--gold); margin: 0 auto; }
.nl-success-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: var(--warm-white); }
.nl-success-text { font-size: 0.95rem; color: var(--muted); line-height: 1.7; }
.nl-skip { text-align: center; margin-top: 16px; }
.nl-skip button { background: none; border: none; font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); transition: color 0.2s; }
.nl-skip button:hover { color: var(--cream); }

/* ── ANIMATIONS ── */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
.fade-in { opacity: 0; transform: translateY(22px); transition: opacity 0.75s ease, transform 0.75s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.hero-anim { animation: fadeUp 1.1s ease both; }
.hero-anim-2 { animation: fadeUp 1.3s 0.15s ease both; }
.hero-anim-3 { animation: fadeUp 1.3s 0.3s ease both; }

/* ── WOOCOMMERCE OVERRIDES ── */
.woocommerce-page .site-main { padding-top: 100px; }
.woocommerce ul.products li.product a img { border: none; }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-checkout { background: var(--charcoal); padding: 40px; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .site-nav { padding: 18px 24px; }
  .nav-menu, .nav-cta { display: none; }
  .nav-hamburger { display: block; }
  .exhibition-strip, .about-section, .profile-hero { grid-template-columns: 1fr; }
  .exh-image, .profile-image-col, .about-img { min-height: 320px; }
  .exh-content, .profile-content-col { padding: 48px 24px; }
  .artists-grid { grid-template-columns: repeat(3, 1fr); }
  .artists-controls, .artists-grid-wrap, .store-hero, .store-filters, .store-grid, .events-upcoming, .events-past { padding-left: 24px; padding-right: 24px; }
  .artists-page-header, .store-hero { padding-left: 24px; padding-right: 24px; }
  .store-grid { grid-template-columns: 1fr 1fr; }
  .profile-works-grid { grid-template-columns: 1fr 1fr; }
  .hours-section { grid-template-columns: 1fr; gap: 40px; padding: 70px 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .form-row { grid-template-columns: 1fr; }
  .events-hero { grid-template-columns: 1fr; gap: 24px; padding: 100px 24px 40px; }
  .event-featured { margin: 0 24px 4px; }
  .event-featured-inner { grid-template-columns: 1fr; }
  .event-featured-images { height: 280px; }
  .event-featured-content { padding: 36px 24px; }
  .events-grid { grid-template-columns: 1fr 1fr; }
  .past-event-row { grid-template-columns: 80px 1fr; gap: 12px; }
  .past-event-artists, .past-event-tag { display: none; }
  .nl-popup-inner { grid-template-columns: 1fr; }
  .nl-popup-img { min-height: 200px; }
  .site-footer { padding: 60px 24px 36px; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero { padding: 100px 24px 70px; }
  .partners { padding: 40px 24px; }
  .partners-logos { gap: 28px; }
  .profile-works-section { padding: 60px 24px; }
  .profile-cta { padding: 60px 24px; }
  .profile-back { padding: 100px 24px 0; }
  .vernissage-promo { min-height: 100vh; align-items: flex-end; justify-content: center; }
  .vernissage-overlay { background: linear-gradient(to top, rgba(26,23,20,0.97) 0%, rgba(26,23,20,0.55) 55%, rgba(26,23,20,0.05) 100%); }
  .vernissage-content { width: 100%; max-width: 100%; padding: 40px 24px; }
}

/* ══════════════════════════════
   THE EVENTS CALENDAR – OVERRIDES
══════════════════════════════ */
.events-archive, .tribe-events, .tribe-events-pg-template, body.post-type-archive-tribe_events, body.single-tribe_events { background: var(--dark) !important; color: var(--cream) !important; }
.tribe-events-header, .tribe-events-header__top, .tribe-events-header__middle, .tribe-events-c-search, .tribe-events-c-search__input-control { background: var(--charcoal) !important; border-color: var(--border) !important; }
.tribe-events-c-search__input-control input { background: rgba(255,255,255,0.05) !important; color: var(--cream) !important; border: 1px solid var(--border) !important; border-radius: 0 !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1rem !important; }
.tribe-events-c-search__input-control input::placeholder { color: var(--muted) !important; }
.tribe-events-c-search__submit, .tribe-common-c-btn, .tribe-common-c-btn-border { background: var(--gold) !important; color: var(--dark) !important; border-color: var(--gold) !important; border-radius: 0 !important; font-family: 'Inter', sans-serif !important; font-size: 0.62rem !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; font-weight: 400 !important; }
.tribe-events-c-search__submit:hover, .tribe-common-c-btn:hover { background: var(--gold-light) !important; border-color: var(--gold-light) !important; }
.tribe-events-c-nav__list, .tribe-events-c-nav__prev, .tribe-events-c-nav__next, .tribe-events-c-nav__today { color: var(--gold) !important; border-color: var(--border) !important; font-family: 'Inter', sans-serif !important; font-size: 0.6rem !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; }
.tribe-events .tribe-events-c-view-selector__button, .tribe-events .tribe-events-c-view-selector__button--active, body .tribe-events .tribe-events-c-view-selector__button { background: transparent !important; color: var(--muted) !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; font-family: 'Inter', sans-serif !important; font-size: 0.58rem !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 10px 18px !important; transition: background 0.2s, color 0.2s !important; }
.tribe-events .tribe-events-c-view-selector__button--active, .tribe-events .tribe-events-c-view-selector__button:hover, body .tribe-events .tribe-events-c-view-selector__button--active, body .tribe-events .tribe-events-c-view-selector__button:hover { background: var(--gold) !important; color: var(--dark) !important; border: none !important; box-shadow: none !important; }
.tribe-events .tribe-events-c-view-selector__list-item-link, body .tribe-events .tribe-events-c-view-selector__list-item-link { color: var(--muted) !important; background: transparent !important; font-family: 'Inter', sans-serif !important; font-size: 0.58rem !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; padding: 10px 18px !important; border: none !important; box-shadow: none !important; transition: background 0.2s, color 0.2s !important; }
.tribe-events .tribe-events-c-view-selector__list-item-link:hover, .tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link, body .tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link { color: var(--dark) !important; background: var(--gold) !important; box-shadow: none !important; }
.tribe-events-c-nav__list a, .tribe-events-c-nav__prev a, .tribe-events-c-nav__next a, .tribe-events-c-nav__today a, .tribe-events-c-nav__today, .tribe-events-c-nav__next, .tribe-events-c-nav__prev, a.tribe-events-c-nav__link, .tribe-events-c-nav__link, .tribe-common-anchor, .tribe-common-anchor:hover, .tribe-common-anchor-thin, .tribe-common-anchor-thin:hover { color: var(--gold) !important; font-family: 'Inter', sans-serif !important; font-size: 0.62rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; text-decoration: none !important; border-color: var(--border) !important; }
.tribe-events-c-nav__today button, .tribe-events-c-nav__today .tribe-common-c-btn-border { background: transparent !important; border: 1px solid var(--border) !important; color: var(--muted) !important; border-radius: 0 !important; font-family: 'Inter', sans-serif !important; font-size: 0.58rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }
.tribe-events-c-nav__today button:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.tribe-events-calendar-month__header-column, .tribe-events-calendar-month__header-column-title, .tribe-events-calendar-month__header-column abbr { color: var(--gold) !important; font-family: 'Inter', sans-serif !important; font-size: 0.58rem !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; border-color: var(--border) !important; }
.tribe-events-calendar-month__calendar-event-date, .tribe-events-calendar-month__body-cell-date, .tribe-events-calendar-month__body-cell-date-link { color: var(--cream) !important; font-family: 'Cinzel', serif !important; font-size: 0.85rem !important; }
.tribe-events-calendar-month__header { background: var(--charcoal) !important; border-color: var(--border) !important; }
.tribe-events-calendar-month__body-cell--not-current-month { background: rgba(26,23,20,0.5) !important; }
.tribe-events-calendar-month__body-cell--current { background: rgba(201,169,110,0.08) !important; border-color: var(--gold) !important; }
.tribe-events-calendar-list__event-row, .tribe-events-calendar-list__event-card { background: transparent !important; border-color: var(--border) !important; margin-bottom: 0 !important; transition: none !important; }
.tribe-events-calendar-list__event-row:hover { background: transparent !important; }
.tribe-events-calendar-list__event-title, .tribe-events-calendar-list__event-title a, .tribe-event-url { font-family: 'Cormorant Garamond', serif !important; font-size: 1.4rem !important; font-weight: 300 !important; color: var(--warm-white) !important; text-decoration: none !important; transition: color 0.2s !important; }
.tribe-events-calendar-list__event-title a:hover { color: var(--gold) !important; font-size: 1.4rem !important; font-weight: 300 !important; }
.tribe-events-calendar-list__month-separator-text, .tribe-events-calendar-list__event-date-tag-month, .tribe-events-calendar-list__event-date-tag-daynum { color: var(--gold) !important; font-family: 'Cinzel', serif !important; }
.tribe-events-calendar-list__event-date-tag-daynum { font-size: 2rem !important; line-height: 1 !important; }
.tribe-events-calendar-list__event-date-tag-month { font-size: 0.6rem !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; }
.tribe-events-calendar-list__event-datetime-wrapper, .tribe-events-calendar-list__event-venue, .tribe-event-schedule-details, .tribe-events-calendar-list__event-description { color: var(--cream) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1rem !important; }
.tribe-events-calendar-list__event-datetime-wrapper abbr, .tribe-events-calendar-list__event-venue *, .tribe-event-schedule-details, .tribe-event-schedule-details * { color: var(--gold) !important; font-family: 'Inter', sans-serif !important; font-size: 0.65rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }
.tribe-events-calendar-list__event-featured-image-link img { border: none !important; }
.tribe-events-calendar-month__calendar-event, .tribe-events-calendar-month__body-cell { background: var(--charcoal) !important; border-color: var(--border) !important; }
.tribe-events-calendar-month__calendar-event-title a { color: var(--cream) !important; font-family: 'Cormorant Garamond', serif !important; }
.tribe-events-calendar-month__calendar-event--featured { background: rgba(201,169,110,0.15) !important; }
.tribe-events-single .tribe-events-schedule, .tribe-events-single-section, .tribe-venue { color: var(--cream) !important; font-family: 'Cormorant Garamond', serif !important; }
.tribe-events-single h1.tribe-events-single-event-title { font-family: 'Cormorant Garamond', serif !important; font-weight: 300 !important; font-size: clamp(2rem, 4vw, 3.5rem) !important; color: var(--warm-white) !important; }
.tribe-events-calendar-list__event-separator, .tribe-common-c-divider { border-color: var(--border) !important; }
.tribe-events-header { padding: 140px 60px 40px !important; background: var(--dark) !important; }
.tribe-events-calendar-list__event-row--no-events, .tribe-events-notices { color: var(--muted) !important; font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; font-size: 1.2rem !important; text-align: center !important; padding: 60px 0 !important; }
.tribe-events-ical.tribe-events-button, .tribe-events-gcal.tribe-events-button { background: transparent !important; border: 1px solid var(--border) !important; color: var(--muted) !important; font-family: 'Inter', sans-serif !important; font-size: 0.6rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; border-radius: 0 !important; }
.tribe-events-ical.tribe-events-button:hover, .tribe-events-gcal.tribe-events-button:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

@media (max-width: 960px) {
  .tribe-events-header { padding: 100px 24px 32px !important; }
}

.tribe-common--breakpoint-medium.tribe-events *, .tribe-events .tribe-events-l-container, .tribe-events-pg-template .tribe-events, .tribe-common .tribe-common-anchor, .tribe-events .tribe-events-header__top-bar-inner, .tribe-events .tribe-events-c-top-bar, .tribe-events-c-top-bar__datepicker, .tribe-events-c-top-bar__datepicker-button, .datepicker, .datepicker table, .datepicker td, .datepicker th { background-color: var(--dark) !important; color: var(--cream) !important; }
.tribe-events .tribe-events-c-view-selector, .tribe-events .tribe-events-c-view-selector__pane, .tribe-events .tribe-events-c-view-selector__list, .tribe-events .tribe-events-c-view-selector__list-item { background: var(--charcoal) !important; border-color: var(--border) !important; }
.tribe-events-calendar-list__event-title a[title]:hover::after, .tribe-events-calendar-list__event-title a::after, .tribe-events a[title]::after { display: none !important; content: none !important; }
.tribe-events-calendar-month__calendar-event { background: rgba(201,169,110,0.12) !important; border-left: 2px solid var(--gold) !important; border-radius: 0 !important; padding: 4px 6px !important; margin: 2px !important; }
.tribe-events-calendar-month__calendar-event-title { font-family: 'Inter', sans-serif !important; font-size: 0.55rem !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: var(--cream) !important; white-space: normal !important; line-height: 1.3 !important; }
.tribe-events-calendar-month__calendar-event-title a { color: var(--cream) !important; text-decoration: none !important; }
.tribe-events-calendar-month__calendar-event-title a:hover { color: var(--gold) !important; }
.tribe-events-calendar-month__calendar-event-datetime { font-family: 'Inter', sans-serif !important; font-size: 0.5rem !important; letter-spacing: 0.1em !important; color: var(--gold) !important; text-transform: uppercase !important; display: block !important; margin-bottom: 2px !important; }
.tribe-events-calendar-month__body-cell { min-height: 90px !important; vertical-align: top !important; padding: 6px !important; }
.tribe-events-calendar-month__body-cell-date-link, .tribe-events-calendar-month__body-cell-date { font-family: 'Cormorant Garamond', serif !important; font-size: 0.9rem !important; color: var(--cream) !important; text-decoration: none !important; font-weight: 300 !important; }
.tribe-events-calendar-month__body-cell--current .tribe-events-calendar-month__body-cell-date-link { color: var(--gold) !important; font-weight: 600 !important; }
.tribe-events .tribe-events-c-nav__prev, .tribe-events .tribe-events-c-nav__next, .tribe-events .tribe-events-c-nav__prev button, .tribe-events .tribe-events-c-nav__next button, .tribe-common-c-btn-icon, .tribe-common-c-btn-icon--caret-left, .tribe-common-c-btn-icon--caret-right { color: var(--gold) !important; background: transparent !important; border: none !important; }
.tribe-events .tribe-events-c-nav__prev svg, .tribe-events .tribe-events-c-nav__next svg, .tribe-common-c-btn-icon svg { display: none !important; }
.tribe-events .tribe-events-c-nav__prev button::before, .tribe-common-c-btn-icon--caret-left::before { content: '' !important; display: inline-block !important; width: 9px !important; height: 9px !important; border-left: 1px solid var(--gold) !important; border-bottom: 1px solid var(--gold) !important; transform: rotate(45deg) !important; }
.tribe-events .tribe-events-c-nav__next button::before, .tribe-common-c-btn-icon--caret-right::before { content: '' !important; display: inline-block !important; width: 9px !important; height: 9px !important; border-right: 1px solid var(--gold) !important; border-top: 1px solid var(--gold) !important; transform: rotate(45deg) !important; }
.tribe-events .tribe-events-c-top-bar__datepicker-button, .tribe-events button.tribe-events-c-top-bar__datepicker-button, .tribe-events .tribe-events-c-top-bar__today-button { color: var(--gold) !important; background: transparent !important; border: 1px solid var(--border) !important; font-family: 'Inter', sans-serif !important; font-size: 0.58rem !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; padding: 8px 14px !important; border-radius: 0 !important; }
.tribe-events .tribe-events-c-top-bar__datepicker-button svg *, .tribe-events .tribe-events-c-top-bar__datepicker-button .tribe-common-svgicon { fill: var(--gold) !important; }
.tribe-events .tribe-event-cost, .tribe-events .tribe-events-calendar-list__event-cost, .tribe-events .tribe-events-calendar-list__event-cost * { color: var(--gold) !important; font-family: 'Inter', sans-serif !important; font-size: 0.6rem !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; }
.tribe-common a, .tribe-events a { color: var(--gold) !important; }
.tribe-events .tribe-events-c-nav__today .tribe-common-c-btn-border, .tribe-events .tribe-common-c-btn-border { background: transparent !important; border: 1px solid var(--border) !important; color: var(--muted) !important; }
.tribe-events .tribe-events-c-nav__today .tribe-common-c-btn-border:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.tribe-events .tribe-events-c-search__submit { background: var(--gold) !important; color: var(--dark) !important; border-color: var(--gold) !important; }
.tribe-events .tribe-events-c-search, .tribe-events .tribe-events-c-search__input-control { background: var(--charcoal) !important; }
.datepicker-dropdown { background: var(--charcoal) !important; border-color: var(--border) !important; }
.datepicker table tr td.active, .datepicker table tr td.active:hover { background: var(--gold) !important; color: var(--dark) !important; }
.datepicker table tr td, .datepicker table tr th { color: var(--cream) !important; }

/* ========================================
   SINGLE EVENT PAGE
   ======================================== */
.single-event-wrap { background: var(--dark); min-height: 100vh; }
.single-event-hero { position: relative; height: 85vh; min-height: 560px; max-height: 860px; display: flex; align-items: flex-end; overflow: hidden; }
.single-event-hero-img { position: absolute; inset: 0; }
.single-event-hero-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.single-event-hero-img--empty { background: var(--charcoal); }
.single-event-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(18,15,13,0.1) 0%, rgba(18,15,13,0.3) 40%, rgba(18,15,13,0.85) 80%, rgba(18,15,13,1) 100%); }
.single-event-hero-content { position: relative; z-index: 2; padding: 0 80px 60px; width: 100%; max-width: 900px; }
.single-event-back { display: inline-block; font-family: 'Inter', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); text-decoration: none; margin-bottom: 32px; transition: color 0.2s; }
.single-event-back:hover { color: var(--gold); }
.single-event-label { display: block; font-family: 'Inter', sans-serif; font-size: 0.58rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
.single-event-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 300; color: var(--warm-white); line-height: 1.1; margin: 0 0 24px; letter-spacing: 0.02em; }
.single-event-meta-hero { display: flex; align-items: center; gap: 12px; font-family: 'Inter', sans-serif; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); }
.single-event-sep { color: var(--border); }
.single-event-cost { color: var(--gold); }
.single-event-body { display: grid; grid-template-columns: 1fr 340px; gap: 80px; padding: 80px 80px 100px; max-width: 1200px; margin: 0 auto; }
.single-event-description { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 300; line-height: 1.85; color: var(--cream); }
.single-event-description p { margin-bottom: 1.4em; }
.single-event-description p:first-child { font-size: 1.45rem; color: var(--warm-white); }
.single-event-details { padding-top: 8px; }
.single-event-detail-block { padding: 20px 0; border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
.single-event-detail-block:first-child { border-top: 1px solid var(--border); }
.single-event-detail-label { font-family: 'Inter', sans-serif; font-size: 0.55rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); }
.single-event-detail-value { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 300; color: var(--warm-white); line-height: 1.5; }
.single-event-detail-value small { font-size: 0.85rem; color: var(--muted); }
.single-event-actions { margin-top: 36px; display: flex; flex-direction: column; gap: 12px; }
.single-event-actions .btn-primary, .single-event-actions .btn-ghost { text-align: center; }
.single-event-next { border-top: 1px solid var(--border); padding: 48px 80px; display: flex; align-items: center; justify-content: space-between; max-width: 1200px; margin: 0 auto; }
.single-event-next-link { display: flex; align-items: center; gap: 20px; text-decoration: none; transition: gap 0.2s; }
.single-event-next-link:hover { gap: 28px; }
.single-event-next-title { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 300; color: var(--warm-white); transition: color 0.2s; }
.single-event-next-link:hover .single-event-next-title { color: var(--gold); }
.single-event-next-arrow { font-size: 1.2rem; color: var(--gold); }

@media (max-width: 768px) {
  .single-event-hero-content { padding: 0 24px 48px; }
  .single-event-body { grid-template-columns: 1fr; padding: 48px 24px 64px; gap: 48px; }
  .single-event-next { padding: 40px 24px; flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* ========================================
   GALLERI AM – EDITORIAL SINGLE EVENT
   ======================================== */
body.single-tribe_events .tribe-events-schedule,
body.single-tribe_events .tribe-events-event-meta,
body.single-tribe_events .tribe-events-single-event-title,
body.single-tribe_events .tribe-events-back,
body.single-tribe_events .tribe-events-notices { display: none !important; }
.galleri-event-page { background: var(--dark); color: var(--cream); min-height: 100vh; }
.galleri-event-hero { padding: clamp(96px, 15vw, 170px) 24px clamp(44px, 7vw, 78px); }
.galleri-event-inner { max-width: 980px; margin: 0 auto; }
.galleri-event-back { display: inline-block; margin-bottom: clamp(34px, 6vw, 60px); font-family: 'Inter', sans-serif; font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); text-decoration: none; }
.galleri-event-back:hover { color: var(--gold); }
.galleri-event-title { max-width: 760px; margin: 0 auto; text-align: center; font-family: 'Cormorant Garamond', serif; font-size: clamp(3.15rem, 12vw, 7.4rem); font-weight: 300; line-height: 0.94; letter-spacing: 0.018em; color: var(--warm-white); }
.galleri-event-meta-clean { margin: clamp(32px, 6vw, 58px) auto 0; text-align: center; font-family: 'Inter', sans-serif; color: var(--gold-light); text-transform: uppercase; letter-spacing: 0.18em; font-size: clamp(0.72rem, 2.1vw, 0.86rem); line-height: 2.2; }
.galleri-event-meta-clean div:first-child { color: var(--gold); letter-spacing: 0.22em; }
.galleri-event-meta-clean div:last-child { margin-top: 4px; color: var(--muted); text-transform: none; letter-spacing: 0.04em; font-family: 'Cormorant Garamond', serif; font-size: clamp(1.08rem, 3vw, 1.35rem); }
.galleri-event-featured { width: min(1180px, calc(100% - 48px)); margin: 0 auto clamp(58px, 8vw, 96px); }
.galleri-event-featured img { width: 100%; height: auto; display: block; object-fit: contain; box-shadow: 0 28px 90px rgba(0,0,0,0.34); }
.galleri-event-content-wrap { width: min(900px, calc(100% - 48px)); margin: 0 auto; padding-bottom: clamp(70px, 10vw, 130px); }
.galleri-event-content { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.2rem, 2.1vw, 1.42rem); font-weight: 300; line-height: 1.88; color: var(--cream); }
.galleri-event-content p { margin: 0 0 1.35em; }
.galleri-event-content p:first-of-type { font-size: clamp(1.38rem, 3vw, 1.85rem); line-height: 1.62; color: var(--warm-white); }

@media (max-width: 768px) {
  .galleri-event-hero { padding: 122px 22px 50px; }
  .galleri-event-back { display: none; }
  .galleri-event-title { text-align: left; margin: 0; max-width: 92%; font-size: clamp(3.2rem, 14vw, 4.6rem); line-height: 0.98; }
  .galleri-event-meta-clean { margin: 34px 0 0; text-align: left; max-width: 100%; font-size: 0.72rem; line-height: 2.05; letter-spacing: 0.16em; }
  .galleri-event-meta-clean div:first-child { letter-spacing: 0.16em; }
  .galleri-event-meta-clean div:last-child { margin-top: 8px; font-size: 1.08rem; }
  .galleri-event-featured { width: calc(100% - 40px); margin-bottom: 54px; }
  .galleri-event-featured img { box-shadow: 0 18px 56px rgba(0,0,0,0.32); }
  .galleri-event-content-wrap { width: calc(100% - 44px); }
}

/* ============================================================
   GALLERI AM – SINGLE PRODUCT PAGE + KONTAKT-POPUP
   ============================================================ */
:root {
  --gam-gold: #c9a96e;
  --gam-gold-light: #e2c898;
  --gam-gold-muted: #b8935a;
  --gam-gold-dim: rgba(201,169,110,0.12);
  --gam-gold-line: rgba(201,169,110,0.18);
  --gam-dark: #0a0a0a;
  --gam-dark-2: #111111;
  --gam-dark-3: #181818;
  --gam-text: #e8e0d4;
  --gam-text-muted: #7a7370;
  --gam-text-soft: rgba(232,224,212,0.55);
  --gam-border: rgba(201,169,110,0.16);
  --gam-nav-h: 70px;
}

.gam-product-page { max-width: 1280px; margin: 0 auto; padding: 48px 48px 100px; }
.gam-breadcrumb { display: flex; gap: 10px; align-items: center; margin-bottom: 40px; font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.2em; color: var(--gam-text-muted); text-transform: uppercase; }
.gam-breadcrumb a { color: var(--gam-text-muted); text-decoration: none; transition: color 0.2s; }
.gam-breadcrumb a:hover { color: var(--gam-gold); }
.gam-breadcrumb .current { color: rgba(201,169,110,0.7); }
.gam-product-grid { display: grid; grid-template-columns: 1fr 420px; gap: 64px; align-items: start; }
.gam-gallery-wrap { position: relative; }
.gam-gallery-wrap .woocommerce-product-gallery { float: none !important; width: 100% !important; margin: 0 !important; }
.gam-gallery-wrap .woocommerce-product-gallery__wrapper { border: 1px solid var(--gam-border); background: #1a1410; overflow: hidden; cursor: zoom-in; }
.gam-gallery-wrap .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; aspect-ratio: 3/4; object-fit: cover; display: block; transition: transform 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; }
.gam-gallery-wrap .woocommerce-product-gallery__wrapper:hover img { transform: scale(1.06) !important; }
.gam-gallery-wrap .flex-control-nav { display: flex !important; gap: 10px !important; margin-top: 12px !important; padding: 0 !important; list-style: none !important; }
.gam-gallery-wrap .flex-control-nav li { margin: 0 !important; flex-shrink: 0; }
.gam-gallery-wrap .flex-control-nav li img { width: 72px !important; height: 72px !important; object-fit: cover !important; border: 1px solid var(--gam-border) !important; border-radius: 0 !important; opacity: 0.55; transition: opacity 0.2s, border-color 0.2s !important; cursor: pointer; }
.gam-gallery-wrap .flex-control-nav li img:hover, .gam-gallery-wrap .flex-control-nav li.flex-active img { opacity: 1 !important; border-color: var(--gam-gold) !important; }
.gam-zoom-hint { position: absolute; bottom: 16px; right: 16px; width: 32px; height: 32px; background: rgba(10,10,10,0.6); backdrop-filter: blur(6px); border: 1px solid var(--gam-border); display: flex; align-items: center; justify-content: center; font-size: 14px; color: rgba(201,169,110,0.45); pointer-events: none; transition: opacity 0.3s; z-index: 2; }
.gam-gallery-wrap:hover .gam-zoom-hint { opacity: 0; }
.gam-gallery-wrap .woocommerce-product-gallery__trigger { display: none !important; }
.gam-info-col { position: sticky; top: calc(var(--gam-nav-h) + 24px); background: rgba(8,8,8,0.55); border: 1px solid rgba(201,169,110,0.07); padding: 36px; margin: -36px; }
.gam-info-inner { position: relative; padding-left: 20px; }
.gam-info-inner::before { content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background: linear-gradient(to bottom, transparent, var(--gam-gold) 15%, var(--gam-gold) 85%, transparent); opacity: 0.18; }
.gam-artwork-category { font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.35em; color: var(--gam-gold); text-transform: uppercase; margin-bottom: 14px; opacity: 0.85; }
.gam-artwork-title { font-family: 'Cormorant Garamond', serif !important; font-size: 42px !important; font-weight: 300 !important; line-height: 1.05 !important; color: var(--gam-text) !important; margin: 0 0 10px !important; letter-spacing: 0.01em; }
.gam-artwork-artist { font-family: 'Cormorant Garamond', serif; font-size: 17px; color: var(--gam-gold-light); font-style: italic; margin-bottom: 28px; }
.gam-artwork-artist a { color: var(--gam-gold-light); text-decoration: none; transition: color 0.2s; }
.gam-artwork-artist a:hover { color: var(--gam-gold); }
.gam-artwork-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--gam-border); border: 1px solid var(--gam-border); margin-bottom: 28px; }
.gam-meta-item { background: rgba(14,14,14,0.9); padding: 14px 16px; }
.gam-meta-item label { display: block; font-family: 'Cinzel', serif; font-size: 8px; letter-spacing: 0.28em; color: var(--gam-text-muted); text-transform: uppercase; margin-bottom: 5px; }
.gam-meta-item span { font-family: 'Cormorant Garamond', serif; font-size: 15px; color: var(--gam-text); }
.gam-artwork-desc { font-family: 'Cormorant Garamond', serif; font-size: 16px; line-height: 1.8; color: var(--gam-text-soft); font-style: italic; margin-bottom: 44px; padding-bottom: 44px; border-bottom: 1px solid var(--gam-border); }
.gam-artwork-desc p { margin: 0; }
.gam-purchase-section { background: var(--gam-dark-2); border: 1px solid var(--gam-border); padding: 30px; position: relative; overflow: hidden; }
.gam-purchase-section::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: linear-gradient(to right, transparent, var(--gam-gold), transparent); opacity: 0.45; }
.gam-price-availability { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.gam-price-label { font-family: 'Cinzel', serif; font-size: 8px; letter-spacing: 0.28em; color: var(--gam-text-muted); text-transform: uppercase; margin-bottom: 6px; }
.gam-price-amount { font-family: 'Cormorant Garamond', serif; font-size: 40px; font-weight: 400; color: var(--gam-gold); line-height: 1; }
.gam-price-amount .woocommerce-Price-amount, .gam-price-amount bdi { font-family: 'Cormorant Garamond', serif !important; font-size: 40px !important; font-weight: 400 !important; color: var(--gam-gold) !important; }
.gam-price-amount .woocommerce-Price-currencySymbol { font-size: 18px !important; vertical-align: super; color: var(--gam-gold-light) !important; }
.gam-availability { font-family: 'Cinzel', serif; font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; padding: 7px 14px; border-radius: 2px; align-self: flex-start; }
.gam-availability.available { color: #78b878; border: 1px solid rgba(120,184,120,0.25); }
.gam-availability.reserved { color: var(--gam-gold); border: 1px solid rgba(201,169,110,0.3); }
.gam-availability.sold { color: #fff; background: #c0392b; border: 1px solid #c0392b; font-weight: bold; }
.gam-btn-group { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.gam-btn-group .single_add_to_cart_button, .gam-btn-group button.single_add_to_cart_button { width: 100% !important; padding: 22px 24px !important; background: var(--gam-gold-muted) !important; color: #0e0e0b !important; font-family: 'Cinzel', serif !important; font-size: 11px !important; letter-spacing: 0.28em !important; text-transform: uppercase !important; border: none !important; border-radius: 0 !important; cursor: pointer !important; transition: background 0.35s ease, letter-spacing 0.3s ease !important; box-shadow: none !important; }
.gam-btn-group .single_add_to_cart_button:hover { background: var(--gam-gold) !important; letter-spacing: 0.32em !important; }
.gam-btn-contact { width: 100%; padding: 18px 24px; background: transparent; color: var(--gam-gold); font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 0.28em; text-transform: uppercase; border: 1px solid var(--gam-border); cursor: pointer; transition: all 0.3s; }
.gam-btn-contact:hover { border-color: rgba(201,169,110,0.5); background: var(--gam-gold-dim); }
.gam-trust-signals { border-top: 1px solid var(--gam-border); padding-top: 22px; display: flex; flex-direction: column; gap: 11px; }
.gam-trust-item { display: flex; align-items: center; gap: 11px; font-family: 'Cinzel', serif; font-size: 9.5px; letter-spacing: 0.1em; color: var(--gam-text-muted); }
.gam-trust-item span { color: var(--gam-gold); font-size: 10px; opacity: 0.65; flex-shrink: 0; }

/* ── KONTAKT-POPUP ── */
.gam-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; background: radial-gradient(ellipse 60% 70% at 50% 40%, rgba(201,169,110,0.02) 0%, transparent 70%), rgba(4,4,3,0.96); backdrop-filter: blur(22px) saturate(0.55) brightness(0.65); opacity: 0; pointer-events: none; transition: opacity 0.45s cubic-bezier(0.4,0,0.2,1); }
.gam-overlay.open { opacity: 1; pointer-events: all; }
.gam-modal { position: relative; width: 100%; max-width: 520px; background: #111111; border: 1px solid var(--gam-border); box-shadow: 0 0 0 1px rgba(201,169,110,0.04) inset, 0 40px 100px rgba(0,0,0,0.75), 0 0 60px rgba(201,169,110,0.03); transform: translateY(18px) scale(0.985); transition: transform 0.55s cubic-bezier(0.34,1.3,0.64,1), opacity 0.4s ease, box-shadow 0.4s ease; opacity: 0; }
.gam-modal::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: linear-gradient(to right, transparent, var(--gam-gold), transparent); opacity: 0.45; }
.gam-overlay.open .gam-modal { transform: translateY(0) scale(1); opacity: 1; }
.gam-modal:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(201,169,110,0.06) inset, 0 50px 120px rgba(0,0,0,0.8), 0 0 80px rgba(201,169,110,0.04); transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.5s ease; }
.gam-close { position: absolute; top: 20px; right: 22px; width: 24px; height: 24px; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: rgba(122,115,112,0.4); transition: color 0.25s; z-index: 10; }
.gam-close:hover { color: rgba(201,169,110,0.55); }
.gam-close svg { width: 11px; height: 11px; }
.gam-modal-header { padding: 46px 46px 0; }
.gam-eyebrow { font-family: 'Cinzel', serif; font-size: 8.5px; letter-spacing: 0.38em; color: var(--gam-gold); text-transform: uppercase; margin-bottom: 13px; opacity: 0.8; }
.gam-modal-title { font-family: 'Cormorant Garamond', serif !important; font-size: 32px !important; font-weight: 300 !important; color: var(--gam-text) !important; margin: 0 0 10px !important; letter-spacing: 0.01em; }
.gam-modal-subtitle { font-family: 'Cormorant Garamond', serif; font-size: 15px; line-height: 1.65; color: var(--gam-text-soft); font-style: italic; font-weight: 300; max-width: 360px; margin: 0; }
.gam-artwork-ref { margin: 26px 46px 0; padding: 13px 17px; border: 1px solid var(--gam-gold-line); background: var(--gam-gold-dim); display: flex; align-items: center; gap: 13px; }
.gam-artwork-ref-icon { width: 34px; height: 34px; border: 1px solid var(--gam-gold-line); background: linear-gradient(135deg,#1c1509,#2a1e0e); display: flex; align-items: center; justify-content: center; font-size: 13px; color: rgba(201,169,110,0.35); flex-shrink: 0; }
.gam-artwork-ref-label { font-family: 'Cinzel', serif; font-size: 8px; letter-spacing: 0.25em; color: var(--gam-text-muted); text-transform: uppercase; margin-bottom: 4px; }
.gam-artwork-ref-name { font-family: 'Cormorant Garamond', serif; font-size: 14px; color: var(--gam-gold-light); font-style: italic; font-weight: 300; }
.gam-modal-divider { margin: 26px 46px 0; height: 1px; background: linear-gradient(to right, transparent, var(--gam-border) 30%, var(--gam-border) 70%, transparent); }
.gam-contact-form { padding: 26px 46px 44px; display: flex; flex-direction: column; gap: 19px; }
.gam-field { display: flex; flex-direction: column; gap: 7px; }
.gam-field-label { font-family: 'Cinzel', serif; font-size: 8.5px; letter-spacing: 0.28em; color: var(--gam-text-muted); text-transform: uppercase; display: flex; justify-content: space-between; align-items: center; }
.gam-optional { font-family: 'Cormorant Garamond', serif; font-size: 11px; letter-spacing: 0.05em; font-style: italic; text-transform: none; opacity: 0.55; }
.gam-input, .gam-textarea { background: #181818; border: 1px solid var(--gam-border); border-bottom-color: rgba(201,169,110,0.22); color: var(--gam-text); font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 300; padding: 12px 15px; width: 100%; outline: none; transition: border-color 0.3s, background 0.3s; border-radius: 0; -webkit-appearance: none; }
.gam-input::placeholder, .gam-textarea::placeholder { color: rgba(122,115,112,0.45); font-style: italic; font-size: 15px; }
.gam-input:focus, .gam-textarea:focus { border-color: rgba(201,169,110,0.4); background: rgba(201,169,110,0.03); }
.gam-textarea { resize: none; height: 108px; line-height: 1.6; }
.gam-submit-wrap { margin-top: 6px; }
.gam-submit { width: 100%; padding: 18px 24px; background: #b8935a; color: #0e0e0b; font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; border: none; cursor: pointer; position: relative; overflow: hidden; transition: background 0.35s ease, letter-spacing 0.3s ease; border-radius: 0; }
.gam-submit:hover { background: var(--gam-gold); letter-spacing: 0.34em; }
.gam-submit:active { transform: translateY(1px); }
.gam-submit.loading { pointer-events: none; color: transparent; }
.gam-submit.loading::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 16px; height: 16px; border: 1px solid rgba(10,10,10,0.25); border-top-color: #0e0e0b; border-radius: 50%; animation: gamSpin 0.7s linear infinite; }
.gam-success { display: none; padding: 60px 46px 56px; text-align: center; flex-direction: column; align-items: center; }
.gam-success.show { display: flex; animation: gamFadeUp 0.5s ease both; }
.gam-success-mark { width: 46px; height: 46px; border: 1px solid rgba(120,184,120,0.28); display: flex; align-items: center; justify-content: center; margin: 0 auto 22px; color: #7ab87a; font-size: 18px; }
.gam-success-title { font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 300; color: var(--gam-text); margin-bottom: 14px; }
.gam-success-line { width: 30px; height: 1px; background: var(--gam-gold); opacity: 0.4; margin: 0 auto 18px; }
.gam-success-text { font-family: 'Cormorant Garamond', serif; font-size: 15px; color: var(--gam-text-soft); font-style: italic; line-height: 1.7; max-width: 320px; }

@keyframes gamSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes gamFadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1024px) {
  .gam-product-grid { grid-template-columns: 1fr; gap: 40px; }
  .gam-info-col { position: static; margin: 0; padding: 0; background: transparent; border: none; }
}

@media (max-width: 768px) {
  .gam-product-page { padding: 24px 20px 60px; }
  .gam-artwork-title { font-size: 34px !important; }
  .gam-modal-header { padding: 32px 24px 0; }
  .gam-artwork-ref { margin: 22px 24px 0; }
  .gam-modal-divider { margin: 22px 24px 0; }
  .gam-contact-form { padding: 22px 24px 36px; }
  .gam-modal-title { font-size: 27px !important; }
  .gam-success { padding: 44px 24px 44px; }
}
/* ══════════════════════════════════════════════════════════
   GAM SINGLE EVENT – EDITORIAL TEMPLATE
   Lägg till LÄNGST NED i style.css
   ══════════════════════════════════════════════════════════ */

/* ── HERO ── */
.gam-ev-hero {
  position: relative;
  height: 100vh;
  min-height: 650px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background-color: var(--dark);
  background-image: var(--hero-img);
  background-size: cover;
  background-position: center top;
  animation: gamEvZoom 20s ease-out forwards;
}

@keyframes gamEvZoom {
  from { background-size: 108%; }
  to   { background-size: 100%; }
}

.gam-ev-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 38%, transparent 25%, rgba(18,15,13,0.5) 100%),
    linear-gradient(to bottom,
      rgba(18,15,13,0.55) 0%,
      transparent 20%,
      transparent 50%,
      rgba(18,15,13,0.88) 82%,
      rgba(18,15,13,1) 100%
    );
}

.gam-ev-hero__content {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 0 80px 72px;
  animation: gamEvFadeUp 1.2s ease-out 0.2s both;
}

@keyframes gamEvFadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gam-ev-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(201,169,110,0.55);
  text-decoration: none;
  margin-bottom: 1.5rem;
  transition: color 0.3s;
}
.gam-ev-back:hover { color: var(--gold); }

.gam-ev-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
  display: block;
}

.gam-ev-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.5rem, 9vw, 7.5rem);
  font-weight: 300;
  line-height: 0.94;
  letter-spacing: 0.02em;
  color: var(--warm-white);
  margin: 0 0 1.5rem;
}

.gam-ev-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245,240,232,0.65);
}

.gam-ev-sep { color: rgba(201,169,110,0.4); }
.gam-ev-cost { color: var(--gold); }

/* Scroll indicator */
.gam-ev-scroll-hint {
  position: absolute;
  bottom: 2rem;
  right: 80px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gam-ev-scroll-line {
  width: 1px;
  height: 52px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: gamEvPulse 2s ease-in-out infinite;
}

@keyframes gamEvPulse {
  0%, 100% { opacity: 0.35; }
  50%       { opacity: 1; }
}

/* ── INFO STRIP ── */
.gam-ev-strip {
  background: #1a1612;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding: 2.2rem 80px;
  flex-wrap: wrap;
}

.gam-ev-strip__item {
  text-align: center;
  padding: 0 2.5rem;
}

.gam-ev-strip__label {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.52rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.4rem;
}

.gam-ev-strip__value {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  color: var(--cream);
}

.gam-ev-strip__divider {
  width: 1px;
  height: 2.8rem;
  background: var(--border);
  flex-shrink: 0;
}

/* ── MAIN BODY ── */
.gam-ev-body {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 80px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 80px 100px;
}

/* ── TEXT COLUMN ── */
.gam-ev-section-label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.52rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 2rem;
}

.gam-ev-section-label::after {
  content: '';
  width: 50px;
  height: 1px;
  background: var(--border);
}

.gam-ev-content {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  font-weight: 300;
  line-height: 1.9;
  color: rgba(245,240,232,0.82);
}

.gam-ev-content p { margin-bottom: 1.3em; }

.gam-ev-content p:first-of-type {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  color: var(--warm-white);
  line-height: 1.7;
}

/* Kalender-knappar */
.gam-ev-cal-wrap {
  display: flex;
  gap: 1rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}

.gam-ev-btn-ghost {
  font-family: 'Inter', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--border);
  padding: 0.65rem 1.3rem;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-block;
}

.gam-ev-btn-ghost:hover {
  border-color: var(--gold);
  background: rgba(201,169,110,0.06);
  color: var(--gold);
}

/* ── DETAILS SIDEBAR ── */
.gam-ev-details {
  padding-top: 0.5rem;
}

.gam-ev-detail-block {
  padding: 1.3rem 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.gam-ev-detail-block:first-child {
  border-top: 1px solid var(--border);
}

.gam-ev-detail-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.52rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--gold);
}

.gam-ev-detail-value {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 300;
  color: var(--warm-white);
  line-height: 1.5;
}

.gam-ev-detail-value small {
  font-size: 0.88rem;
  color: var(--muted);
}

.gam-ev-detail-actions {
  margin-top: 2rem;
}

.gam-ev-btn-primary {
  display: block;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--dark);
  background: var(--gold);
  padding: 1rem 1.5rem;
  text-decoration: none;
  transition: background 0.3s;
}

.gam-ev-btn-primary:hover { background: var(--gold-light); }

/* ── EVENT NAVIGATION ── */
.gam-ev-nav {
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5rem 80px;
  max-width: 100%;
}

.gam-ev-nav__prev,
.gam-ev-nav__next {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  text-decoration: none;
  transition: opacity 0.3s;
}

.gam-ev-nav__prev:hover,
.gam-ev-nav__next:hover { opacity: 0.7; }

.gam-ev-nav__next { text-align: right; }

.gam-ev-nav__dir {
  font-family: 'Inter', sans-serif;
  font-size: 0.55rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
}

.gam-ev-nav__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  color: var(--cream);
}

/* ── RESPONSIVT ── */
@media (max-width: 960px) {
  .gam-ev-hero__content { padding: 0 24px 56px; }
  .gam-ev-scroll-hint { display: none; }
  .gam-ev-strip { padding: 2rem 24px; gap: 1.5rem; }
  .gam-ev-strip__divider { display: none; }
  .gam-ev-strip__item { padding: 0; }
  .gam-ev-body { grid-template-columns: 1fr; padding: 48px 24px 64px; gap: 48px; }
  .gam-ev-nav { padding: 2rem 24px; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .gam-ev-nav__next { text-align: left; }
}
/* ===== GAM: Konstnärs- & konstverksnavigering (v2) ===== */
.gam-anav {
    background: #1a1714;
    border-top: 1px solid rgba(201, 169, 110, 0.25);
    padding: 100px 30px 110px;
}

.gam-anav__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.gam-anav__heading {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #c9a96e;
    text-align: center;
    margin: 0 0 50px;
}

.gam-anav__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.gam-anav__card {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 28px 32px;
    border: 1px solid rgba(201, 169, 110, 0.2);
    background: rgba(255, 255, 255, 0.015);
    text-decoration: none;
    transition: border-color 0.4s ease, background 0.4s ease;
}

.gam-anav__card:hover {
    border-color: rgba(201, 169, 110, 0.55);
    background: rgba(201, 169, 110, 0.04);
}

.gam-anav__card--next {
    flex-direction: row-reverse;
    text-align: right;
}

.gam-anav__img {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 50%;
}

.gam-anav__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.5s ease, transform 0.5s ease;
}

.gam-anav__card:hover .gam-anav__img img {
    filter: grayscale(0%);
    transform: scale(1.06);
}

.gam-anav__meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.gam-anav__dir {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(240, 236, 228, 0.45);
    transition: color 0.4s ease;
}

.gam-anav__card:hover .gam-anav__dir { color: #c9a96e; }

.gam-anav__name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    line-height: 1.2;
    color: #f0ece4;
}

.gam-anav__all-wrap {
    text-align: center;
    margin-top: 50px;
}

.gam-anav__all {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #c9a96e;
    text-decoration: none;
    padding: 14px 38px;
    border: 1px solid rgba(201, 169, 110, 0.4);
    transition: background 0.4s ease, color 0.4s ease;
}

.gam-anav__all:hover {
    background: #c9a96e;
    color: #1a1714;
}

/* Konstverk: kvadratiska miniatyrer */
.gam-anav__img--sq {
    border-radius: 0;
    width: 90px;
    height: 90px;
}

/* Mobil */
@media (max-width: 768px) {
    .gam-anav { padding: 70px 20px 80px; }
    .gam-anav__cards { grid-template-columns: 1fr; gap: 18px; }
    .gam-anav__card--next { flex-direction: row; text-align: left; }
    .gam-anav__name { font-size: 22px; }
    .gam-anav__all-wrap { margin-top: 40px; }
    .gam-anav__img--sq { width: 72px; height: 72px; }
}
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #c9a96e;
}

.gam-artist-nav__name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    color: #f0ece4;
}

.gam-artist-nav__all {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(240, 236, 228, 0.5);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.4s ease;
}

.gam-artist-nav__all:hover { color: #c9a96e; }

/* Mobil */
@media (max-width: 768px) {
    .gam-artist-nav {
        flex-direction: column;
        gap: 28px;
        padding: 35px 20px;
        margin-top: 50px;
    }
    .gam-artist-nav__link { max-width: 100%; }
    .gam-artist-nav__next { flex-direction: row-reverse; text-align: left; }
    .gam-artist-nav__all { order: 3; }
}