/* Spring bridal shower (Luxury) — pressed-flower herbarium sheet, sage and blush, garden tea */
.t-bridal { --bg: #FBF7F1; --surface: #FFFDF8; --surface-2: #F1EBDF; --ink: #3E4A3A; --ink-2: #6B7564; --accent: #6F805F; --accent-hover: #5D6D4F; --accent-ink: #FFFFFF; --accent-text: #56664A; --tint: #F4E4E0; --line: #E4DACA; --line-strong: #CFC1A9; --display: "Cormorant Garamond", Georgia, serif; --body: "Figtree", system-ui, sans-serif; --script: "Great Vibes", "Snell Roundhand", Georgia, serif; --radius: 4px; }
.t-bridal h1, .t-bridal h2, .t-bridal h3 { font-family: var(--display); color: var(--ink); font-weight: 500; }
.br-hero { padding: clamp(40px, 7vw, 90px) 0; background: linear-gradient(180deg, #F4E4E0 0%, var(--bg) 70%); }
.br-hero-in { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.br-herb { margin: 0; transform: rotate(-2deg); box-shadow: 0 30px 60px -36px rgba(62, 74, 58, .55); }
.br-herb svg { display: block; width: 100%; height: auto; }
.br-pre { font: italic 400 22px/1.3 var(--display); color: var(--ink-2); }
.br-honor { margin-top: 6px; font: 700 13px/1.4 var(--body); letter-spacing: .22em; text-transform: uppercase; color: var(--accent-text); }
.br-copy h1 { font: 400 clamp(80px, 14vw, 156px)/1 var(--script); color: #C98A7E; margin: 6px 0 2px; }
.br-when { font: 500 21px/1.45 var(--display); }
.br-cta { margin-top: 22px; display: flex; gap: 10px; flex-wrap: wrap; }
.t-bridal .btn { border-radius: 2px; letter-spacing: .06em; }
.t-bridal .btn.line { color: var(--ink); border-color: var(--line-strong); }
.br-host { margin-top: 20px; color: var(--ink-2); font-style: italic; }
.br-sec { padding-block: clamp(56px, 8vw, 96px); }
.br-sec h2 { font-size: clamp(40px, 6vw, 62px); font-style: italic; text-align: center; }
.br-cols { margin-top: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.br-cols > div { padding: 26px 22px; text-align: center; }
.br-cols > div + div { border-left: 1px solid var(--line-strong); }
.br-cols h3 { font-size: 26px; font-style: italic; color: var(--accent-text); }
.br-cols ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; font: 500 19px/1.35 var(--display); }
.br-moments { background: var(--surface-2); }
.br-list { margin: 26px 0 0; padding-left: 26px; display: grid; gap: 14px; font-size: 17.5px; }
.br-list li::marker { font: 600 20px var(--display); color: #C98A7E; }
.br-reg { margin-top: 34px; text-align: center; }
.br-reg p { font: italic 400 21px/1.3 var(--display); }
.br-reg-links { margin-top: 12px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.br-map { display: inline-block; margin-top: 22px; color: var(--accent-text); font-weight: 600; }
.br-rsvp { text-align: center; }
.br-sub { color: var(--ink-2); margin-top: 6px; }
.br-rsvp .rsvp { margin-top: 24px; text-align: left; border-radius: 6px; }
.br-foot { padding: 56px 20px 42px; text-align: center; background: #3E4A3A; color: #F1EBDF; }
.br-foot .big { font: 400 clamp(44px, 8vw, 64px)/1 var(--script); color: #E8C5BE; }
.br-foot .made { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: inherit; text-decoration: none; font-size: 14px; }
@media (max-width: 800px) { .br-hero-in { grid-template-columns: minmax(0, 1fr); text-align: center; } .br-herb { max-width: 260px; margin: 0 auto; } .br-cta { justify-content: center; } .br-cols { grid-template-columns: minmax(0, 1fr); } .br-cols > div + div { border-left: 0; border-top: 1px solid var(--line-strong); } }
.br-copy h1 { margin-top: 18px; }
