/* Visit Patti Child v0.2.3 - compatibility fixes after mockup integration. */

/* The standalone mockup CSS included one global `header { ... }` selector.
   This restores the section title blocks used in the original home. */
.section-header {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: center !important;
  max-width: 620px !important;
  margin-inline: auto !important;
  margin-bottom: clamp(2rem, 5vw, 3.5rem) !important;
}
.section-header .eyebrow,
.section-header h2,
.section-header .divider,
.section-header p {
  position: static !important;
  display: block !important;
}
.section-header .eyebrow {
  margin: 0 0 .25rem !important;
  color: var(--gold) !important;
}
.section-header h2 {
  color: var(--blue-deep) !important;
  margin: 0 0 .4rem !important;
  line-height: 1.15 !important;
}
.section-header p:not(.eyebrow) {
  color: var(--text-mid) !important;
  font-size: .95rem !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  margin: 0 auto !important;
}
.section-header .divider {
  width: 44px !important;
  height: 3px !important;
  background: var(--gold) !important;
  border-radius: 2px !important;
  margin: .7rem auto 1.2rem !important;
}

/* Header cart/action icon visibility. */
#site-header .header-actions .btn-icon {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--text-dark) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
#site-header .header-actions .btn-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  color: var(--text-dark) !important;
  stroke: currentColor !important;
  fill: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#site-header .header-actions .btn-icon .badge {
  position: absolute !important;
  top: -3px !important;
  right: -3px !important;
  width: 16px !important;
  height: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--gold) !important;
  color: #fff !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* Footer stability against imported mockup/global styles. */
.site-footer {
  position: relative !important;
  z-index: 1 !important;
  background: var(--blue-deep) !important;
  color: rgba(255,255,255,.55) !important;
  padding-top: 4rem !important;
  margin-top: 0 !important;
}
.site-footer .container {
  width: min(1240px, 100%) !important;
  margin-inline: auto !important;
  padding-inline: clamp(1rem, 4vw, 2rem) !important;
}
.site-footer .footer-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 3rem !important;
  padding-bottom: 3rem !important;
}
.site-footer .footer-col ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.site-footer .footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
}
@media (max-width: 600px) {
  .site-footer .footer-grid { grid-template-columns: 1fr !important; }
}

/* v0.2.4 - Home dark section override: fixes the 'How it works' title hidden by generic section-header recovery rules. */
body.home .how .section-header,
body.front-page .how .section-header,
.how .section-header {
  background: transparent !important;
}
body.home .how .section-header .eyebrow,
body.front-page .how .section-header .eyebrow,
.how .section-header .eyebrow {
  color: var(--gold-light) !important;
}
body.home .how .section-header h2,
body.front-page .how .section-header h2,
.how .section-header h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.home .how .section-header p:not(.eyebrow),
body.front-page .how .section-header p:not(.eyebrow),
.how .section-header p:not(.eyebrow) {
  color: rgba(255,255,255,.68) !important;
}
body.home .how .section-header .divider,
body.front-page .how .section-header .divider,
.how .section-header .divider {
  background: var(--gold) !important;
}

/* v0.2.5 - Dynamic Events / Excursions frontend templates. */
.vp-archive-hero,
.vp-single-hero {
  position: relative;
  background: linear-gradient(135deg, var(--blue-deep), var(--blue-mid));
  color: #fff;
  padding: clamp(4rem, 8vw, 6rem) 0;
  text-align: center;
  background-size: cover;
  background-position: center;
}
.vp-archive-hero h1,
.vp-single-hero h1 {
  color: #fff;
  margin: .5rem 0 .75rem;
}
.vp-archive-hero p:not(.eyebrow),
.vp-single-hero p:not(.eyebrow) {
  color: rgba(255,255,255,.78);
  max-width: 720px;
  margin: 0 auto;
}
.vp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.5rem;
}
.vp-card {
  background: #fff;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: transform .25s ease, box-shadow .25s ease;
}
.vp-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.vp-card-media { display: block; height: 210px; background: var(--blue-pale); overflow: hidden; }
.vp-card-media img { width: 100%; height: 100%; object-fit: cover; }
.vp-card-body { padding: 1.25rem; }
.vp-card-kicker { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-light); font-weight: 700; margin-bottom: .35rem; }
.vp-card-title { font-size: 1.35rem; margin-bottom: .6rem; color: var(--blue-deep); }
.vp-card-meta { font-size: .86rem; color: var(--text-mid); margin-bottom: .35rem; }
.vp-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--sand-dark); color: var(--blue-deep); font-weight: 700; }
.vp-single-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 2rem; align-items: start; }
.vp-single-main { background: #fff; border-radius: var(--r-lg); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--shadow-sm); }
.vp-single-main h2 { color: var(--blue-deep); margin: 1.5rem 0 .75rem; }
.vp-single-sidebar { position: sticky; top: 110px; }
.vp-empty { text-align: center; background: #fff; border-radius: var(--r-lg); padding: 3rem; box-shadow: var(--shadow-sm); }
.vp-pagination { margin-top: 2rem; text-align: center; }
@media (max-width: 900px) {
  .vp-single-layout { grid-template-columns: 1fr; }
  .vp-single-sidebar { position: static; }
}
