/* Shared personal details and story moments. */
.cover-monogram { display: grid; width: 62px; height: 62px; margin: 0 auto 1.1rem; place-items: center; border: 1px solid var(--gold); border-radius: 50%; outline: 1px solid #b1956040; outline-offset: 5px; color: var(--maroon); background: #fffaf4b3; font: 500 1.05rem var(--serif); letter-spacing: .06em; }
.love-story { grid-column: 1 / -1; width: 100%; max-width: 720px; margin: 2rem auto 0; text-align: center; }
.love-story-heading { margin: 0 0 1.2rem; color: var(--maroon); font: 500 1.6rem var(--serif); }
.story-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-bottom: 1rem; }
.story-tabs button { display: flex; min-height: 77px; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; border: 1px solid #b195604d; border-radius: 9px; padding: .6rem .35rem; background: #fffaf580; color: var(--muted); font: .76rem/1.35 var(--body-font); cursor: pointer; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.story-tabs button[aria-selected="true"] { border-color: var(--rose); background: var(--cream); box-shadow: 0 4px 14px #49353b0b; color: var(--maroon); }
.story-tabs button:active { transform: scale(.98); }
.story-tabs button:focus-visible { outline: 2px solid var(--rose); outline-offset: 3px; }
.moment-step { font: .8rem var(--small-caps); color: var(--gold); }
.story-moment { display: flex; min-height: 175px; gap: 1.15rem; align-items: center; border: 1px solid #b195604d; border-radius: 12px; padding: 1.15rem; background: #fffaf5c9; text-align: left; }
.moment-photo { width: 90px; height: auto; aspect-ratio: 4 / 5; flex: 0 0 90px; object-fit: contain; border-radius: 7px; animation: moment-in 1.15s ease-in-out both; }
.moment-content { animation: moment-in 1.35s ease-in-out .16s both; }
.moment-content h4 { margin: 0 0 .4rem; color: var(--maroon); font: 500 1.25rem/1.2 var(--serif); }
.moment-content > p:not(.moment-date) { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.75; }
.moment-date { margin: 0 0 .45rem; color: var(--rose); font: .65rem/1.6 var(--small-caps); letter-spacing: .07em; }
@keyframes moment-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .moment-photo, .moment-content { animation: none; } .story-tabs button { transition: none; } }
@media (max-width: 350px) { .story-moment { gap: .7rem; padding: .8rem; } .moment-photo { width: 65px; flex-basis: 65px; } }

/* Kandyan Ivory & Gold: warm paper, ceremonial framing, quiet gold ornament. */
html[data-collection="kandyan"] body { background: #eee9d9; }
html[data-collection="kandyan"] main { background: #fcf8ec; border: 1px solid #c5ad71; border-top: 7px double #b29554; }
html[data-collection="kandyan"] .site-header { background: #fcf8eced; }
html[data-collection="kandyan"] .cover::before { display: none; }
html[data-collection="kandyan"] .cover { background: radial-gradient(ellipse at top, #e8dfbd77, transparent 65%); }
html[data-collection="kandyan"] .cover-monogram { border-radius: 3px; outline-color: #b2955470; background: #fcf8ec; transform: rotate(45deg); }
html[data-collection="kandyan"] .cover-monogram > span { transform: rotate(-45deg); }
html[data-collection="kandyan"] .hero-media { border: 1px solid #b29554; outline: 1px solid #b2955466; outline-offset: 8px; box-shadow: 0 14px 35px #62552e12; background: #f8f1de; }
html[data-collection="kandyan"] .cover-photo { aspect-ratio: 4 / 5; object-fit: contain; }
html[data-collection="kandyan"] .names-section { min-height: auto; border-block: 1px solid #c9b57466; background: linear-gradient(140deg, #f5eed6, #fffdf5); }
html[data-collection="kandyan"] .section-heading h2, html[data-collection="kandyan"] .story-section .section-heading h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); }
html[data-collection="kandyan"] .photo-collage { max-width: 360px; }
html[data-collection="kandyan"] .arch-photo-small { border-color: #fcf8ec; }
html[data-collection="kandyan"] .arch-photo-small, html[data-collection="kandyan"] .collage-heart { display: none; }
html[data-collection="kandyan"] .guest-nav { background: #fcf8ecf5; border-color: #c5ad7177; }
html[data-collection="kandyan"] .eyebrow, html[data-collection="kandyan"] .cover-date, html[data-collection="kandyan"] .invitation-date { color: var(--rose); }
html[data-collection="kandyan"] .cover-invitation-button, html[data-collection="kandyan"] .button-venue, html[data-collection="kandyan"] .button-outline { border-color: #b29554; border-radius: 3px; background: #fffdf5; color: var(--maroon); }
html[data-collection="kandyan"] .countdown-card, html[data-collection="kandyan"] .venue-card, html[data-collection="kandyan"] .rsvp-form, html[data-collection="kandyan"] .story-moment { border-color: #c5ad7177; background: #fffdf4; }
html[data-collection="kandyan"] .event-icon { border-color: #b29554; background: #fcf8ec; }
html[data-collection="kandyan"] .gallery-item { border-color: #f4edda; }
html[data-collection="kandyan"] .button-primary { background: var(--maroon); border-radius: 4px; }
html[data-collection="kandyan"] .button-primary:hover { background: #333825; }
html[data-collection="kandyan"] .button-venue:hover { background: #f4eedb; }
html[data-collection="kandyan"] .rsvp-form input, html[data-collection="kandyan"] .rsvp-form select, html[data-collection="kandyan"] .rsvp-form textarea { border-color: #c5ad7188; }
html[data-collection="kandyan"] .closing-footer { border-color: #c5ad7177; }

/* Modern Editorial: monochrome photography, sharp edges and confident typography. */
html[data-collection="editorial"] body { background: #eae9e5; }
html[data-collection="editorial"] main { background: #faf9f6; }
html[data-collection="editorial"] .site-header, html[data-collection="editorial"] .guest-nav { background: #faf9f6f5; border-color: #23232322; }
html[data-collection="editorial"] .brand { letter-spacing: .15em; }
html[data-collection="editorial"] .cover { gap: 1.6rem; background: #faf9f6; }
html[data-collection="editorial"] .cover::before { display: none; }
html[data-collection="editorial"] .cover-copy { order: -1; }
html[data-collection="editorial"] .cover-monogram { border: 0; outline: 0; width: auto; height: auto; margin-bottom: 1rem; background: none; font: .8rem var(--small-caps); letter-spacing: .35em; }
html[data-collection="editorial"] .cover-title, html[data-collection="editorial"] .names-title { text-transform: uppercase; font-weight: 400; letter-spacing: .07em; }
html[data-collection="editorial"] .hero-media { border: 0; outline: none; border-radius: 0; box-shadow: none; background: #e7e6e2; }
html[data-collection="editorial"] .cover-photo { aspect-ratio: 4 / 5; object-fit: cover; }
html[data-collection="editorial"] .eyebrow, html[data-collection="editorial"] .cover-date, html[data-collection="editorial"] .invitation-date { color: var(--muted); }
html[data-collection="editorial"] .names-section { min-height: auto; background: #262626; }
html[data-collection="editorial"] .names-section p, html[data-collection="editorial"] .names-title { color: #faf9f6; }
html[data-collection="editorial"] .names-section .eyebrow, html[data-collection="editorial"] .names-section .ampersand, html[data-collection="editorial"] .names-section .ornament { color: #c5b79f; }
html[data-collection="editorial"] .section-heading h2, html[data-collection="editorial"] .story-section .section-heading h2 { font: 400 clamp(1.8rem, 4vw, 2.7rem)/1.15 var(--serif); letter-spacing: .04em; }
html[data-collection="editorial"] .cover-invitation-button, html[data-collection="editorial"] .button, html[data-collection="editorial"] .story-tabs button { border-radius: 0; border-color: #232323; box-shadow: none; }
html[data-collection="editorial"] .cover-invitation-button, html[data-collection="editorial"] .button-venue { background: transparent; }
html[data-collection="editorial"] .button-primary { background: #232323; color: #fff; }
html[data-collection="editorial"] .button-primary:hover { background: #474747; }
html[data-collection="editorial"] .button-venue:hover { background: #eeede8; }
html[data-collection="editorial"] .rsvp-form input, html[data-collection="editorial"] .rsvp-form select, html[data-collection="editorial"] .rsvp-form textarea { border-color: #b9b7b1; border-radius: 0; }
html[data-collection="editorial"] .countdown-card { border-color: #23232355; background: transparent; }
html[data-collection="editorial"] .venue-card, html[data-collection="editorial"] .rsvp-form, html[data-collection="editorial"] .story-moment { border: 1px solid #23232333; border-radius: 0; background: #fff; box-shadow: none; }
html[data-collection="editorial"] .arch-photo-main, html[data-collection="editorial"] .arch-photo-small, html[data-collection="editorial"] .gallery-item, html[data-collection="editorial"] .moment-photo, html[data-collection="editorial"] .venue-image, html[data-collection="editorial"] .map-frame { border-radius: 0; }
html[data-collection="editorial"] .arch-photo-small { transform: none; border-color: #faf9f6; }
html[data-collection="editorial"] .gallery-item { border: 0; box-shadow: none; }
html[data-collection="editorial"] .gallery-item img, html[data-collection="editorial"] .arch-photo img, html[data-collection="editorial"] .moment-photo { filter: grayscale(1); }
html[data-collection="editorial"] .event-icon { border-radius: 0; border-color: #232323; background: #faf9f6; }
html[data-collection="editorial"] .story-tabs button[aria-selected="true"] { color: #fff; background: #232323; }
html[data-collection="editorial"] .closing-footer { border-color: #23232333; }
@media (min-width: 800px) {
  html[data-collection="editorial"] .cover-art { grid-column: 2; grid-row: 1; }
  html[data-collection="editorial"] .cover-copy { grid-column: 1; grid-row: 1; }
}
