/* Modern Minimal — asymmetric, sans-serif, sharp corners, generous whitespace */
body.template-modern {
  --accent: #1a1a1a;
  --ink: #1a1a1a;
  --muted: #767676;
  --bg: #ffffff;
  font-family: 'Open Sans', sans-serif;
}

body.template-modern h1,
body.template-modern #cover h1,
body.template-modern section h2 { font-family: 'Poppins', sans-serif; font-weight: 600; letter-spacing: -.01em; }

body.template-modern .eyebrow { letter-spacing: .3em; text-transform: uppercase; font-size: .7rem; color: var(--accent); margin-bottom: .75rem; }

body.template-modern #cover { text-align: left; align-items: flex-start; padding: 3rem 2rem; }
body.template-modern #cover h1 { font-size: 2.6rem; margin: 0 0 .5rem; line-height: 1.1; }
body.template-modern #cover .amp { color: var(--muted); font-weight: 300; }
body.template-modern #cover .date { font-size: 1rem; color: var(--muted); margin-bottom: 1rem; letter-spacing: .05em; }
body.template-modern #cover .cover-to { font-size: .9rem; color: var(--muted); margin-bottom: 2rem; }
body.template-modern .cover-open-btn {
  padding: .75rem 2rem; background: var(--ink); color: #fff; border-radius: 0; font-size: .85rem;
  letter-spacing: .1em; text-transform: uppercase;
}

body.template-modern .hero-photo { max-height: 60vh; }
body.template-modern .hero-photo img { max-height: 60vh; }

body.template-modern .hero { padding: 3.5rem 1.5rem; max-width: 900px; margin: 0 auto; }
body.template-modern .hero-grid { display: grid; gap: 2rem; align-items: end; }
body.template-modern .hero h1 { font-size: 2.4rem; margin: 0; line-height: 1.15; text-align: left; }
body.template-modern .hero .amp { color: var(--muted); font-weight: 300; }
body.template-modern .hero-meta { text-align: left; }
body.template-modern .hero-meta .date { font-size: 1.3rem; font-weight: 600; margin-bottom: .25rem; }
body.template-modern .hero-meta .venue-line { color: var(--muted); font-size: .9rem; margin-bottom: 1.25rem; }
body.template-modern .hero-cta {
  display: inline-block; width: auto; padding: .75rem 2rem; border-radius: 0; text-decoration: none;
  font-size: .85rem; letter-spacing: .1em; text-transform: uppercase;
}
body.template-modern .add-to-calendar-link { display: block; margin-top: .85rem; font-size: .78rem; color: var(--muted); text-decoration: underline; letter-spacing: .05em; }
@media (min-width: 640px) { body.template-modern .hero-grid { grid-template-columns: 1.3fr 1fr; align-items: end; } }

body.template-modern section { padding: 3rem 1.5rem; max-width: 900px; margin: 0 auto; }
body.template-modern section h2 { text-align: left; font-size: 1.3rem; margin-bottom: 1.5rem; letter-spacing: -.01em; }
body.template-modern #wishes h2, body.template-modern #rsvp h2, body.template-modern #countdown h2 { text-align: center; }

body.template-modern .story { font-size: 1rem; white-space: pre-line; }

body.template-modern .split { display: grid; gap: 2.5rem; }
@media (min-width: 640px) { body.template-modern .split { grid-template-columns: 1fr 1fr; } }
body.template-modern .venue-card .name { font-size: 1.1rem; font-weight: 600; margin-bottom: .25rem; }
body.template-modern .venue-card .address { color: var(--muted); font-size: .9rem; margin-bottom: .75rem; }
body.template-modern .venue-card .dress-code { font-size: .85rem; color: var(--muted); }

body.template-modern .event-cards { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
body.template-modern .event-card { border: 1px solid #eee; padding: 1.1rem 1.25rem; }
body.template-modern .event-card .time { font-weight: 700; color: var(--accent); font-size: 1.4rem; margin-bottom: .35rem; }
body.template-modern .event-card strong { display: block; font-size: 1rem; margin-bottom: .2rem; }
body.template-modern .event-card span { display: block; font-size: .85rem; color: var(--muted); }

body.template-modern .gallery-masonry { columns: 2 180px; column-gap: .5rem; }
body.template-modern .gallery-masonry img { width: 100%; margin-bottom: .5rem; break-inside: avoid; }
@media (min-width: 640px) { body.template-modern .gallery-masonry { columns: 3 180px; } }

body.template-modern .countdown-tile { border: 1px solid #eee; border-radius: 4px; }
body.template-modern .rsvp-btn, body.template-modern #music-toggle { border-radius: 4px; }

body.template-modern .rsvp-card { max-width: 460px; margin: 0 auto; border: 1px solid #eee; padding: 1.75rem 1.5rem; }
body.template-modern .submit-btn { width: 100%; margin-top: 1.25rem; padding: .85rem; border-radius: 4px; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }

body.template-modern .wishes-list { display: flex; flex-direction: column; gap: .75rem; max-width: 460px; margin: 0 auto; }
body.template-modern .wish-card { border: 1px solid #eee; border-radius: 4px; padding: 1rem 1.15rem; }
body.template-modern .wish-head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .35rem; }
body.template-modern .wish-head strong { font-size: .95rem; }
body.template-modern .wish-attending { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); white-space: nowrap; }
body.template-modern .wish-message { margin: 0; font-size: .9rem; white-space: pre-line; }
body.template-modern .wish-date { margin-top: .5rem; font-size: .72rem; color: var(--muted); }
