/* =============================================
   WEDDINGS & EVENTS PAGE
   ============================================= */

.nav-active { color: var(--color-primary) !important; font-weight: 500 !important; }

/* HERO */
.wed-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.wed-hero-bg { position: absolute; inset: 0; }
.wed-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.wed-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(110deg, rgba(10,9,5,0.85) 0%, rgba(10,9,5,0.55) 55%, rgba(10,9,5,0.2) 100%);
}
.wed-hero-content {
  position: relative; z-index: 1;
  padding-block: var(--space-24);
  max-width: 680px;
  display: flex; flex-direction: column; gap: var(--space-6);
}
.wed-hero-heading {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: 300;
  color: #F7F3EC;
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.wed-hero-heading em { font-style: italic; }
.wed-hero-sub {
  font-size: var(--text-base);
  color: rgba(247,243,236,0.8);
  line-height: 1.7;
  max-width: 50ch;
}
.wed-hero-ctas { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.wed-outline { color: rgba(247,243,236,0.9); border-color: rgba(247,243,236,0.4); }
.wed-outline:hover { color:#F7F3EC; border-color:rgba(247,243,236,0.8); background:rgba(247,243,236,0.08); }

/* STATS STRIP */
.stats-strip {
  background: var(--color-text);
  padding-block: var(--space-8);
}
[data-theme='dark'] .stats-strip { background: #0F0E09; }
.stats-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-8);
  flex-wrap: wrap;
}
.stat-item { text-align: center; display: flex; flex-direction: column; gap: var(--space-1); }
.stat-number {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 300;
  color: var(--color-primary);
  line-height: 1;
}
.stat-label {
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(247,243,236,0.5);
}
.stat-divider { width: 1px; height: 48px; background: rgba(247,243,236,0.12); }

/* FILTER BAR */
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin-bottom: var(--space-10);
  padding: var(--space-2);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  width: fit-content;
  margin-inline: auto;
}
.filter-btn {
  padding: var(--space-2) var(--space-5);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: 400;
  color: var(--color-text-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background var(--transition), color var(--transition);
  white-space: nowrap;
}
.filter-btn:hover { color: var(--color-text); }
.filter-btn.active {
  background: var(--color-primary);
  color: #fff;
  font-weight: 500;
}

/* LOOKBOOK GRID */
.lookbook-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
.lookbook-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition), transform var(--transition), opacity 400ms ease;
}
.lookbook-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.lookbook-card.hidden { display: none; }
.lookbook-card--tall { grid-row: span 2; }
.lookbook-card--wide { grid-column: span 2; flex-direction: row; }

.lookbook-img-wrap {
  overflow: hidden;
  flex-shrink: 0;
}
.lookbook-card:not(.lookbook-card--wide) .lookbook-img-wrap { aspect-ratio: 4/3; }
.lookbook-card--tall .lookbook-img-wrap { aspect-ratio: unset; flex: 1; }
.lookbook-card--wide .lookbook-img-wrap { width: 55%; aspect-ratio: unset; }

.lookbook-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(0.16,1,0.3,1);
}
.lookbook-card:hover .lookbook-img-wrap img { transform: scale(1.05); }

.lookbook-info {
  padding: var(--space-5) var(--space-6) var(--space-6);
  display: flex; flex-direction: column; gap: var(--space-2);
  flex: 1;
}
.lookbook-card--wide .lookbook-info { padding: var(--space-8); justify-content: center; }

.lookbook-cat {
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.lookbook-info h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--color-text);
  line-height: 1.25;
}
.lookbook-info p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.65;
  max-width: none;
}
.lookbook-cta {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-primary);
  margin-top: auto;
  padding-top: var(--space-3);
  transition: letter-spacing var(--transition);
  display: inline-block;
}
.lookbook-cta:hover { letter-spacing: 0.03em; }

.lookbook-empty {
  text-align: center;
  padding: var(--space-16);
  color: var(--color-text-muted);
}
.lookbook-empty a { color: var(--color-primary); }

/* PROCESS STRIP */
.wed-process-strip {
  padding-block: clamp(var(--space-16), 8vw, var(--space-24));
  background: var(--color-surface);
  border-top: 1px solid var(--color-divider);
}
.wed-steps {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-12);
}
.wed-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: center;
  align-items: center;
}
.wed-step-icon {
  width: 56px; height: 56px;
  border-radius: var(--radius-full);
  background: var(--color-primary-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  flex-shrink: 0;
}
.wed-step h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--color-text);
}
.wed-step p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  line-height: 1.65;
  max-width: 22ch;
  text-align: center;
}
.wed-step-arrow {
  font-size: 1.5rem;
  color: var(--color-primary);
  opacity: 0.4;
  margin-top: var(--space-5);
  flex-shrink: 0;
}

/* TESTIMONIALS */
.wed-testimonials {
  position: relative;
  padding-block: clamp(var(--space-16), 8vw, var(--space-24));
  overflow: hidden;
}
.wed-testimonials-bg { position: absolute; inset: 0; }
.wed-testimonials-bg img { width: 100%; height: 100%; object-fit: cover; }
.wed-testimonials-overlay {
  position: absolute; inset: 0;
  background: rgba(10, 9, 5, 0.88);
}
.wed-testimonials-content { position: relative; z-index: 1; }
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-10);
}
.testimonial-card {
  background: rgba(247,243,236,0.05);
  border: 1px solid rgba(247,243,236,0.12);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  display: flex; flex-direction: column; gap: var(--space-5);
  backdrop-filter: blur(8px);
}
.testimonial-stars { color: var(--color-primary); font-size: 1rem; letter-spacing: 0.1em; }
.testimonial-text {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 300;
  font-style: italic;
  color: rgba(247,243,236,0.9);
  line-height: 1.65;
  max-width: none;
}
.testimonial-author { display: flex; flex-direction: column; gap: var(--space-1); margin-top: auto; }
.author-name { font-size: var(--text-sm); font-weight: 500; color: rgba(247,243,236,0.8); }
.author-detail { font-size: var(--text-xs); color: rgba(247,243,236,0.4); letter-spacing: 0.06em; }

/* CTA SECTION */
.wed-cta-section { border-top: 1px solid var(--color-divider); }
.wed-cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(var(--space-10), 6vw, var(--space-20));
  align-items: center;
}
.wed-cta-text { display: flex; flex-direction: column; gap: var(--space-6); }
.wed-cta-text p { color: var(--color-text-muted); line-height: 1.7; }
.wed-cta-image {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/3;
}
.wed-cta-image img { width: 100%; height: 100%; object-fit: cover; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .lookbook-grid { grid-template-columns: repeat(2, 1fr); }
  .lookbook-card--tall { grid-row: span 1; }
  .lookbook-card--wide { grid-column: span 2; flex-direction: column; }
  .lookbook-card--wide .lookbook-img-wrap { width: 100%; aspect-ratio: 16/7; }
  .testimonials-grid { grid-template-columns: 1fr 1fr; }
  .testimonials-grid .testimonial-card:last-child { grid-column: span 2; }
}
@media (max-width: 768px) {
  .wed-steps { flex-direction: column; align-items: center; }
  .wed-step-arrow { transform: rotate(90deg); margin-top: 0; }
  .wed-step p { max-width: none; }
  .stats-inner { gap: var(--space-6); }
  .stat-divider { display: none; }
  .wed-cta-inner { grid-template-columns: 1fr; }
  .filter-bar { border-radius: var(--radius-xl); width: 100%; justify-content: flex-start; overflow-x: auto; }
}
@media (max-width: 600px) {
  .lookbook-grid { grid-template-columns: 1fr; }
  .lookbook-card--wide { grid-column: span 1; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .testimonials-grid .testimonial-card:last-child { grid-column: span 1; }
}
