/* ═══════════════════════════════════════════════════════════════════
   MEETINGS & EVENTS (parent-brand) — events-parent.css
   Page-specific styles for /events-parent.html
   Required: main.css (loaded first)

   Sections:
     1. Intro strip (walnut quote bar)
     2. Property overview — header bar + venue mosaic + specs row
     3. Capabilities strip (4-col cards on espresso)
     4. CTA (walnut)
     5. Responsive
═══════════════════════════════════════════════════════════════════ */


/* ═══ 1. INTRO STRIP ═══ */
.sec-intro {
  background: var(--m-surface-alt);
  padding: 44px 60px;
  text-align: center;
}
.intro-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 300; font-style: italic;
  color: var(--m-gold-ink);
  line-height: 1.6;
  max-width: 820px; margin: 0 auto;
}


/* ═══ 2. PROPERTY OVERVIEW ═══ */
.sec-overview {
  padding: 88px 60px;
  background: var(--m-parchment);
}
.overview-inner { max-width: 1200px; margin: 0 auto; }
.property-block { margin-bottom: 88px; }
.property-block:last-child { margin-bottom: 0; }

/* Property header bar */
.prop-header {
  display: flex; align-items: center; gap: 20px;
  margin-bottom: 36px; padding-bottom: 20px;
  border-bottom: 1px solid rgba(123,74,30,.15);
}
.prop-header-icon {
  width: 52px; height: 52px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--m-walnut), var(--m-caramel));
  display: flex; align-items: center; justify-content: center;
}
.prop-header-icon i { font-size: 20px; color: #fff; }
.prop-header-name {
  margin-bottom: 4px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px; font-weight: 400;
  color: var(--m-espresso); line-height: 1;
}
.prop-header-loc {
  display: flex; align-items: center; gap: 6px;
  font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--m-stone);
}
.prop-header-loc i { color: var(--m-bronze); font-size: 8px; }
.prop-header-link {
  margin-left: auto; flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px;
  border: 1px solid rgba(123,74,30,.35);
  color: var(--m-walnut); text-decoration: none;
  font-size: 8.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  transition: all .25s;
}
.prop-header-link:hover { background: var(--m-walnut); color: #fff; }
.prop-header-link i { font-size: 9px; }

/* Venue mosaic — same layout as dining-parent */
/* Seven halls: a tall feature beside three paired rows. */
.venues-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 260px;
  gap: 3px;
}
.venue-card--featured { grid-column: 1 / span 3; grid-row: 1 / span 2; }
.venue-card--v2       { grid-column: 4 / span 3; grid-row: 1; }
.venue-card--v3       { grid-column: 4 / span 3; grid-row: 2; }
.venue-card--v4       { grid-column: 1 / span 3; grid-row: 3; }
.venue-card--v5       { grid-column: 4 / span 3; grid-row: 3; }
.venue-card--v6       { grid-column: 1 / span 3; grid-row: 4; }
.venue-card--v7       { grid-column: 4 / span 3; grid-row: 4; }

.venue-card {
  position: relative; overflow: hidden;
  display: block; color: inherit; text-decoration: none;
}

/* Halls awaiting photography — a brand-toned panel instead of a stand-in photo */
.venue-card--solid {
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(221,185,106,.20) 0%, transparent 62%),
    linear-gradient(150deg, #3A2413 0%, #2C1A0E 55%, #1E1410 100%);
}
.venue-card--solid::after {
  content: ""; position: absolute; inset: 16px;
  border: 1px solid rgba(221,185,106,.22); pointer-events: none;
}
.venue-card--solid .venue-card-overlay,
.venue-card--solid:hover .venue-card-overlay { background: none; }
.vc-mark {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%) translateY(-16px);
  font-size: 32px; color: rgba(221,185,106,.34);
}
.venue-card img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .7s ease;
}
.venue-card:hover img { transform: scale(1.06); }
.venue-card-overlay {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 28px 24px;
  background: linear-gradient(to top, rgba(26,15,8,.92) 0%, rgba(26,15,8,.3) 55%, transparent 100%);
  transition: background .4s;
}
.venue-card:hover .venue-card-overlay {
  background: linear-gradient(to top, rgba(26,15,8,.96) 0%, rgba(26,15,8,.55) 65%, rgba(26,15,8,.1) 100%);
}
.venue-card--featured .venue-card-overlay { padding: 36px 32px; }

.vc-badge {
  display: inline-flex; align-items: center; gap: 5px;
  margin-bottom: 6px;
  font-size: 7.5px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--m-honey);
}
.vc-badge i { font-size: 8px; color: var(--m-bronze); }
.vc-name {
  margin-bottom: 4px;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300; color: #fff;
  line-height: 1.05;
}
.venue-card--featured .vc-name { font-size: 38px; margin-bottom: 8px; }
.vc-name                       { font-size: 26px; }
.vc-cap {
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,.5);
}

/* Property specs row (below mosaic) */
.prop-specs {
  display: flex; margin-top: 24px;
  border: 1px solid rgba(123,74,30,.15);
  border-left: none;
}
.spec-item {
  flex: 1;
  padding: 18px 20px;
  border-left: 1px solid rgba(123,74,30,.15);
  display: flex; flex-direction: column; gap: 4px;
}
.spec-icon { margin-bottom: 6px; font-size: 16px; color: var(--m-bronze); }
.spec-label {
  font-size: 7.5px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--m-stone);
}
.spec-value {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px; font-weight: 400;
  color: var(--m-espresso);
}


/* ═══ 3. CAPABILITIES STRIP ═══ */
.sec-capabilities {
  padding: 80px 60px;
  background: var(--m-surface-deep);
}
.cap-inner { max-width: 1100px; margin: 0 auto; }
.cap-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 2px; margin-top: 52px;
}
.cap-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,150,74,.1);
  padding: 36px 28px;
  text-align: center;
  transition: background .3s;
}
.cap-card:hover { background: rgba(201,150,74,.07); }
.cap-icon {
  margin-bottom: 18px;
  font-size: 28px; color: var(--m-bronze);
}
.cap-title {
  margin-bottom: 8px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 400;
  color: var(--m-gold-ink);
}
.cap-desc {
  font-size: 11.5px; color: var(--m-on-mute);
  line-height: 1.8;
}


/* ═══ 4. CTA ═══ */
.sec-cta {
  padding: 96px 60px;
  background: var(--m-surface-deep);
  text-align: center;
}
.cta-title {
  margin-bottom: 14px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(32px, 4vw, 52px); font-weight: 300;
  color: var(--m-on-strong); line-height: 1.1;
}
.cta-title em { font-style: italic; color: var(--m-gold-ink); }
.cta-sub {
  margin: 0 auto 40px;
  max-width: 560px;
  font-size: 13px; color: var(--m-on-body); line-height: 1.9;
}
.cta-actions {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 14px;
}


/* ═══ 5. RESPONSIVE ═══ */
@media (max-width: 1024px) {
  .venues-grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 220px;
  }
  .venue-card--featured { grid-column: 1 / span 2; grid-row: 1; }
  .venue-card--v2       { grid-column: 1; grid-row: 2; }
  .venue-card--v3       { grid-column: 2; grid-row: 2; }
  .venue-card--v4       { grid-column: 1; grid-row: 3; }
  .venue-card--v5       { grid-column: 2; grid-row: 3; }
  .venue-card--v6       { grid-column: 1; grid-row: 4; }
  .venue-card--v7       { grid-column: 2; grid-row: 4; }
  .cap-grid             { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .sec-overview, .sec-capabilities, .sec-cta { padding: 60px 28px; }
  .prop-header        { flex-wrap: wrap; }
  .prop-header-link   { margin-left: 0; }
  .prop-specs         { flex-wrap: wrap; }
  .spec-item          { flex: 1 1 45%; }
}
@media (max-width: 600px) {
  .sec-intro     { padding: 32px 20px; }
  .cap-grid      { grid-template-columns: 1fr; }
  .venues-grid   { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .venue-card--featured,
  .venue-card--v2, .venue-card--v3, .venue-card--v4,
  .venue-card--v5, .venue-card--v6, .venue-card--v7 { grid-column: 1; grid-row: auto; height: 240px; }
}
