/* /Pages/AboutUs.cshtml.rz.scp.css */
/* ── About Grid ──────────────────────────────────────────── */
.about-grid[b-ozi0blks8t] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}

.about-photo-placeholder[b-ozi0blks8t] {
  aspect-ratio: 4 / 5;
  background-color: var(--color-light);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-light);
  font-family: var(--font-sans);
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ── Reading Column ──────────────────────────────────────── */
.reading-column[b-ozi0blks8t] {
  max-width: 720px;
}

/* ── Timeline ────────────────────────────────────────────── */
.timeline[b-ozi0blks8t] {
  max-width: 640px;
  margin: 0 auto;
  position: relative;
  padding-left: 2rem;
}

.timeline[b-ozi0blks8t]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.4rem;
  bottom: 0.4rem;
  width: 1px;
  background-color: var(--color-border);
}

.timeline-item[b-ozi0blks8t] {
  position: relative;
  margin-bottom: 2.5rem;
}

.timeline-item:last-child[b-ozi0blks8t] {
  margin-bottom: 0;
}

.timeline-item[b-ozi0blks8t]::before {
  content: '';
  position: absolute;
  left: -2rem;
  top: 0.4rem;
  width: 7px;
  height: 7px;
  background-color: var(--color-accent);
  transform: rotate(45deg);
  margin-left: -3px;
}

.timeline-year[b-ozi0blks8t] {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 0.25rem;
}

.timeline-title[b-ozi0blks8t] {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.4rem;
  color: var(--color-text);
}

.timeline-text[b-ozi0blks8t] {
  font-family: var(--font-sans);
  font-size: 0.9rem;
  color: var(--color-text-light);
  line-height: 1.7;
}

.small-gallery[b-ozi0blks8t] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    width: 100%;
    margin-bottom: 1.5rem;
}

[b-ozi0blks8t] img.gallery-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
    border: 1px solid var(--color-border);
}

@media (max-width: 600px) {
    .small-gallery[b-ozi0blks8t] {
        grid-template-columns: 1fr;
    }
}

/* ── Wedding Party List ──────────────────────────────────── */
.party-list[b-ozi0blks8t] {
  list-style: none;
  padding: 0;
  margin: 0;
}

.party-list-item[b-ozi0blks8t] {
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--color-border);
}

.party-list-item:last-child[b-ozi0blks8t] {
  border-bottom: none;
}

.party-list-role[b-ozi0blks8t] {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-light);
  margin-top: 0.1rem;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .about-grid[b-ozi0blks8t] {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
/* /Pages/Donate.cshtml.rz.scp.css */
/* ── Payment Grid ────────────────────────────────────────── */
.payment-grid[b-a3fw37cx59] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Payment Card ────────────────────────────────────────── */
.payment-card[b-a3fw37cx59] {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 1.5rem;
  text-align: center;
  transition: border-color var(--transition);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.payment-card:hover[b-a3fw37cx59] {
  border-color: var(--color-accent);
}

/* ── QR Code Frame ───────────────────────────────────────── */
.qr-frame[b-a3fw37cx59] {
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.qr-image[b-a3fw37cx59] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 0.5rem;
  background-color: var(--color-white);
  display: block;
}

/* ── Payment Label ───────────────────────────────────────── */
.payment-label[b-a3fw37cx59] {
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-light);
}

/* ── Shared Action Area ──────────────────────────────────── */
.payment-action[b-a3fw37cx59] {
  width: 100%;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
}

.payment-action .btn[b-a3fw37cx59] {
  display: block;
  width: 100%;
  text-align: center;
}

/* ── Zelle Copy Options ──────────────────────────────────── */
.zelle-copy-options[b-a3fw37cx59] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.copy-row[b-a3fw37cx59] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 0.6rem 0.85rem;
  background-color: transparent;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  cursor: pointer;
  transition: border-color var(--transition), background-color var(--transition);
  font-family: var(--font-sans);
}

.copy-row:hover[b-a3fw37cx59] {
  border-color: var(--color-text);
  background-color: var(--color-bg-warm);
}

.copy-row.copied[b-a3fw37cx59] {
  border-color: var(--color-secondary);
}

.copy-row-value[b-a3fw37cx59] {
  font-size: 0.85rem;
  color: var(--color-text-light);
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.copy-row-action[b-a3fw37cx59] {
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-light);
  white-space: nowrap;
  flex-shrink: 0;
  transition: color var(--transition);
}

.copy-row.copied .copy-row-action[b-a3fw37cx59] {
  color: var(--color-secondary-dark);
}

/* ── Mailing Address Block ───────────────────────────────── */
.address-block[b-a3fw37cx59] {
  text-align: center;
}

.mailing-address[b-a3fw37cx59] {
  display: inline-flex;
  flex-direction: column;
  gap: 0.35rem;
  font-style: normal;
  font-family: var(--font-sans);
  color: var(--color-text-light);
  line-height: 1.8;
  text-align: center;
}

.address-name[b-a3fw37cx59] {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--color-text);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 560px) {
  .payment-grid[b-a3fw37cx59] {
    grid-template-columns: 1fr;
    max-width: 420px;
  }
}
/* /Pages/FAQ.cshtml.rz.scp.css */
/* ── FAQ Container ───────────────────────────────────────── */
.faq-container[b-kdiqnw4mvd] {
  max-width: 800px;
}

/* ── FAQ List ────────────────────────────────────────────── */
.faq-list[b-kdiqnw4mvd] {
  list-style: none;
  padding: 0;
  max-width: 720px;
  margin: 0 auto;
}

.faq-item[b-kdiqnw4mvd] {
  border-bottom: 1px solid var(--color-border);
  padding: 1.5rem 0;
}

.faq-item:first-child[b-kdiqnw4mvd] {
  border-top: 1px solid var(--color-border);
}

.faq-question[b-kdiqnw4mvd] {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: var(--color-text);
}

.faq-answer[b-kdiqnw4mvd] {
  font-family: var(--font-sans);
  color: var(--color-text-light);
  line-height: 1.8;
  margin: 0;
}
/* /Pages/Index.cshtml.rz.scp.css */
/* ── Hero ────────────────────────────────────────────────── */
.hero[b-4tqbwzncoy] {
  position: relative;
  background-color: #3D2210;
  background-image: url('/images/gardens.webp');
  background-size: cover;
  background-position: center;
  text-align: center;
  padding: 6rem 1.5rem;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero[b-4tqbwzncoy]::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(80, 46, 18, 0.58);
}

.hero-content[b-4tqbwzncoy] {
  position: relative;
  z-index: 1;
}

.hero-content .btn-group[b-4tqbwzncoy] {
  margin-bottom: 2rem;
}


.hero-monogram[b-4tqbwzncoy] {
  font-family: var(--font-sans);
  font-size: clamp(4rem, 12vw, 8rem);
  font-weight: 300;
  font-style: italic;
  color: var(--color-white);
  line-height: 1;
  margin-bottom: 1.5rem;
}

.hero-amp[b-4tqbwzncoy] {
  color: var(--color-accent);
}

.hero-rule[b-4tqbwzncoy] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 auto 1.75rem;
  max-width: 160px;
}

.hero-rule[b-4tqbwzncoy]::before,
.hero-rule[b-4tqbwzncoy]::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}

.hero-rule span[b-4tqbwzncoy] {
  display: block;
  width: 5px;
  height: 5px;
  background-color: var(--color-accent);
  transform: rotate(45deg);
  flex-shrink: 0;
}

.hero-note[b-4tqbwzncoy] {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  margin-top: 1.75rem;
}

/* ── Welcome Section ─────────────────────────────────────── */
.welcome-container[b-4tqbwzncoy] {
  max-width: 720px;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero[b-4tqbwzncoy] {
    padding: 3rem 1.5rem;
    min-height: 260px;
  }
}
/* /Pages/RSVP.cshtml.rz.scp.css */
/* ── Access Code Input ───────────────────────────────────── */
.access-code-input[b-vegnhbtp54] {
  max-width: 120px;
  letter-spacing: 0.2em;
  text-transform: uppercase; /* belt-and-suspenders for any CSS-capable browser */
  font-family: var(--font-sans);
}

/* ── Not Found Alert ─────────────────────────────────────── */
.rsvp-not-found[b-vegnhbtp54] {
  background-color: var(--color-accent-light);
  border: 1px solid #E8C9B0;
  border-radius: 2px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  color: var(--color-text);
  line-height: 1.6;
}

/* ── Help Text ───────────────────────────────────────────── */
.rsvp-help-text[b-vegnhbtp54] {
  font-size: 0.85rem;
  color: var(--color-text-light);
}
/* /Pages/RSVPParty.cshtml.rz.scp.css */
/* ── RSVP Guest Card ─────────────────────────────────────── */
.rsvp-guest-card[b-hgz3m17y35] {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  padding: 1.75rem;
  margin-bottom: 1.25rem;
}

.rsvp-guest-name[b-hgz3m17y35] {
  font-family: var(--font-sans);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--color-text);
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--color-border);
}

.rsvp-guest-card .form-group:last-child[b-hgz3m17y35] {
  margin-bottom: 0;
}

.rsvp-guest-card--forced-decline[b-hgz3m17y35] {
  opacity: 0.45;
  pointer-events: none; /* radios are also disabled via JS; this covers the rest of the card */
}

.rsvp-plusone-badge[b-hgz3m17y35] {
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-left: 0.6rem;
  vertical-align: middle;
}

.rsvp-plusone-note[b-hgz3m17y35] {
  font-family: var(--font-sans);
  font-size: 0.85rem;
  color: var(--color-text-light);
  margin-bottom: 1.25rem;
  line-height: 1.5;
}

/* ── Additional Needs ────────────────────────────────────── */
.rsvp-additional-needs-group[b-hgz3m17y35] {
  padding-top: 1.5rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--color-border);
}

/* ── Song Request ────────────────────────────────────────── */
.rsvp-song-section[b-hgz3m17y35] {
  max-height: 600px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.2s ease;
}

.rsvp-song-section--hidden[b-hgz3m17y35] {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
}

.rsvp-song-group[b-hgz3m17y35] {
  padding-top: 1.5rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--color-border);
}

.rsvp-song-hint[b-hgz3m17y35] {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--color-text-light);
  margin-bottom: 0.75rem;
  line-height: 1.5;
}

.form-label-optional[b-hgz3m17y35] {
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.75rem;
}

/* ── RSVP Confirmation ───────────────────────────────────── */
.rsvp-confirmation[b-hgz3m17y35] {
  text-align: center;
  padding: 3rem 1.5rem;
  max-width: 500px;
  margin: 0 auto;
}

.rsvp-confirmation-check[b-hgz3m17y35] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: var(--color-secondary-light);
  color: var(--color-secondary-dark);
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
}
/* /Pages/Travel.cshtml.rz.scp.css */
/* ── Info Blocks ─────────────────────────────────────────── */
.info-block[b-6ajv5znbqg] {
  padding: 2rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  margin-bottom: 1.5rem;
}

.info-block-title[b-6ajv5znbqg] {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: var(--color-text);
}

.info-block-title a[b-6ajv5znbqg] {
  color: var(--color-accent);
  text-decoration: none;
}

.info-block-title a:hover[b-6ajv5znbqg] {
  text-decoration: underline;
}

.info-block .body-text[b-6ajv5znbqg] {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* ── Map Placeholder ─────────────────────────────────────── */
.map-placeholder[b-6ajv5znbqg] {
  background-color: var(--color-light);
  padding: 3rem;
  text-align: center;
  border-radius: 4px;
  margin-top: 1.5rem;
}

.map-placeholder .body-text[b-6ajv5znbqg] {
  margin-bottom: 1rem;
}

/* ── Info blocks inside card-grid ────────────────────────── */
/* The standalone .info-block has margin-bottom for use outside grids.
   Inside a card-grid the gap already handles spacing, so cancel the margin. */
.card-grid .info-block[b-6ajv5znbqg] {
  margin-bottom: 0;
}

/* ── Hotel Grid ──────────────────────────────────────────── */
.hotel-grid[b-6ajv5znbqg] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 1.5rem;
}

/* ── Hotel Card ──────────────────────────────────────────── */
.hotel-card[b-6ajv5znbqg] {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  padding: 2rem;
  border-radius: 2px;
  transition: border-color var(--transition);
}

.hotel-card:hover[b-6ajv5znbqg] {
  border-color: var(--color-accent);
}

.hotel-card-header[b-6ajv5znbqg] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.hotel-badge[b-6ajv5znbqg] {
  background-color: var(--color-secondary-light);
  color: var(--color-secondary-dark);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.25rem 0.65rem;
  border-radius: 2px;
  white-space: nowrap;
}

.hotel-meta[b-6ajv5znbqg] {
  font-size: 0.85rem;
  color: var(--color-text-light);
  margin-bottom: 0.5rem;
}

.hotel-price[b-6ajv5znbqg] {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.75rem;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 600px) {
  .hotel-card-header[b-6ajv5znbqg] {
    flex-direction: column;
    gap: 0.35rem;
  }
}
