/*
Theme Name: Wedding Print Works
Description: A soft pastel wedding stationery theme, built on Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.0.0
Text Domain: wedding-print-works
*/
:root { --wpw-line: #ded8d0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wpw-header { border-bottom: 1px solid var(--wpw-line); }
.wpw-header .wp-block-site-title { font-family: Georgia, serif; letter-spacing: -.04em; }
.wpw-header .wp-block-navigation { font-size: .82rem; letter-spacing: .04em; }
.wpw-eyebrow { font-size: .72rem; text-transform: uppercase; letter-spacing: .18em; font-weight: 600; }
.wpw-hero { padding-top: clamp(50px, 8vw, 110px); padding-bottom: clamp(50px, 8vw, 110px); }
.wpw-hero h1 { font-weight: 400; letter-spacing: -.045em; font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1.08; }
.wpw-hero p:not(.wpw-eyebrow) { max-width: 31rem; }
.wpw-art { min-height: 470px; position: relative; background: #e8eade; border-radius: 50% 50% 3px 3px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.wpw-art::before { content: ''; width: 220px; height: 300px; position: absolute; background: #e6c6c0; transform: rotate(-14deg) translate(-35px, 12px); box-shadow: 0 18px 40px #4a40351a; }
.wpw-invite { position: relative; width: 230px; min-height: 320px; box-sizing: border-box; background: #fffdf7; padding: 35px 22px; text-align: center; transform: rotate(8deg); box-shadow: 0 18px 40px #4a403522; border: 1px solid #e9e0d3; }
.wpw-invite::before { content: '❦'; color: #697b63; font-size: 42px; }
.wpw-invite small { display: block; font-size: 8px; letter-spacing: .18em; text-transform: uppercase; margin: 20px 0; }
.wpw-invite span { display: block; font: 36px/1.2 Georgia, serif; color: #495444; }
.wpw-invite em { display: block; font: italic 22px Georgia, serif; margin: 10px; }
.wpw-card { border: 1px solid var(--wpw-line); border-radius: 4px; padding: clamp(25px, 4vw, 48px); height: 100%; box-sizing: border-box; }
.wpw-card h3 { font-size: 2rem; }
.wpw-footer { border-top: 1px solid var(--wpw-line); font-size: .85rem; }
.wpw-designers { text-align: center; }
.wpw-designer-intro, .wpw-designer-section, .wpw-designer-range { padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 42px); }
.wpw-designer-intro { background: #eedad5; border-radius: 4px; }
.wpw-designer-intro h2 { font-size: clamp(2.4rem, 5vw, 3.6rem); margin-top: 20px; }
.wpw-designers h2 { text-wrap: balance; }
.wpw-designers p { max-width: 650px; margin-left: auto; margin-right: auto; }
.wpw-designer-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 44px; }
.wpw-designer-features h3 { font-size: 1.35rem; }
.wpw-designer-features p { font-size: .88rem; }
.wpw-designer-range { background: #e6eadd; border-radius: 4px; }
.wpw-designer-partner { background: #e5dfec; border-radius: 4px; padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 42px); margin-top: 32px; }
.wpw-designer-detail { text-align: left; padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 42px); }
.wpw-designer-detail h2 { text-align: center; }
.wpw-designer-detail h3 { margin-top: 36px; font-size: 1.5rem; }
.wpw-stationery-types { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 30px; }
.wpw-stationery-types li { background: #fffdf9; padding: 8px 14px; border-radius: 24px; font-size: .75rem; }
@media(max-width: 650px) { .wpw-designer-features { grid-template-columns: 1fr; gap: 20px; } }
a, button, input, textarea, select { transition: background-color .18s, color .18s; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid #52644d; outline-offset: 4px; }
.wp-block-button__link:hover { filter: brightness(.93); }
input:not([type=submit]):not([type=checkbox]):not([type=radio]), textarea, select { background: #fffdf9; border: 1px solid #b9b2a9; border-radius: 3px; padding: .75em; color: #353b33; font: inherit; max-width: 100%; }
@media(max-width: 781px) { .wpw-art { min-height: 380px; margin-top: 24px; } .wpw-header > .wp-block-group { gap: 20px; } }
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
