.wedding-extras { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--ca-paper); }
.wedding-extras__intro { max-width: 50rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.wedding-extras__intro .section-heading { margin-bottom: 1rem; }
.wedding-extras__intro .section-intro { margin-bottom: 0; }
.wedding-extras__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.wedding-extra-card { display: grid; grid-template-columns: minmax(8rem, .8fr) minmax(0, 1.2fr); min-width: 0; min-height: 18rem; color: var(--ca-white); text-decoration: none; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.wedding-extra-card:hover, .wedding-extra-card:focus-visible { color: var(--ca-white); transform: translateY(-.3rem); box-shadow: 0 1rem 2.5rem rgba(32, 37, 34, .14); }
.wedding-extra-card--photobox { background: var(--ca-dark); }
.wedding-extra-card--book { color: var(--ca-ink); background: var(--ca-sand); }
.wedding-extra-card--book:hover, .wedding-extra-card--book:focus-visible { color: var(--ca-ink); }
.wedding-extra-card img { width: 100%; height: 100%; object-fit: cover; }
.wedding-extra-card__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: .7rem; padding: clamp(1.25rem, 3vw, 2.25rem); }
.wedding-extra-card__copy .eyebrow { margin: 0; color: inherit; opacity: .72; }
.wedding-extra-card__copy strong { font-family: var(--ca-font-display); font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 500; line-height: .9; }
.wedding-extra-card__copy > span:last-child { font-size: .9rem; font-weight: 700; }
@media (max-width: 767.98px) { .wedding-extras__cards { grid-template-columns: 1fr; } .wedding-extra-card { min-height: 15rem; } }
@media (max-width: 479.98px) { .wedding-extra-card { grid-template-columns: 1fr; } .wedding-extra-card img { height: auto; aspect-ratio: 16 / 9; } }
@media (prefers-reduced-motion: reduce) { .wedding-extra-card { transition: none; } }
