:root{--green:#153d32;--cream:#f7f3eb;--paper:#fffdf9;--wine:#8a4455;--ink:#23312c;--line:#dcd7cc;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}.booking-header{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(22px,6vw,90px);background:#fff;border-bottom:1px solid var(--line)}.booking-header a{text-decoration:none;color:var(--green)}.booking-header strong{font:600 clamp(1.6rem,3vw,2.3rem) var(--serif)}.back-link{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.booking-hero{text-align:center;padding:70px 22px 45px;background:var(--green);color:#fff}.booking-hero .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#c9d8d1}.booking-hero h1{font:600 clamp(2.8rem,6vw,5rem)/1 var(--serif);margin:8px 0}.booking-hero .price{font:600 1.2rem var(--serif);color:#d7e3dd}.booking-hero p{max-width:720px;margin:12px auto;color:#d2ddd8}.booking-layout{display:grid;grid-template-columns:1fr 320px;gap:34px;max-width:1200px;margin:45px auto;padding:0 22px}.booking-form{background:#fff;padding:clamp(24px,5vw,54px);box-shadow:0 16px 45px rgba(20,49,40,.08)}fieldset{border:0;padding:0;margin:0 0 42px}legend{width:100%;font:600 2rem var(--serif);color:var(--green);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--green)}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b9c0bc;border-radius:4px;background:#fff;font:inherit;color:var(--ink)}textarea{resize:vertical}.full{grid-column:1/-1}.date-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;background:var(--cream);border-left:3px solid #6c897b}.date-card h3{grid-column:1/-1;margin:0;font:600 1.3rem var(--serif);color:var(--green)}.button{width:100%;padding:16px;border:0;border-radius:4px;background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:600;cursor:pointer}.booking-aside{align-self:start;position:sticky;top:24px;background:#fff;padding:28px;border:1px solid var(--line)}.booking-aside h2{font:600 1.8rem var(--serif);color:var(--green);margin:0}.booking-aside ul{padding-left:20px}.payment-box{margin-top:25px;padding:20px;background:#eef3ef;border-left:3px solid var(--green)}.payment-box h3{margin:0;color:var(--green);font:600 1.35rem var(--serif)}.payment-box p{font-size:.82rem}.payment-status{display:inline-block;padding:5px 9px;background:#e5daca;color:#704b2d;border-radius:3px;font-size:.68rem;font-weight:600;text-transform:uppercase}.privacy{font-size:.75rem;color:#69736e}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.booking-footer{text-align:center;padding:30px;color:#64706a;font-size:.75rem}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-aside{position:static;grid-row:1}.fields{grid-template-columns:1fr}.full,.date-card{grid-column:1}.date-card{grid-template-columns:1fr}.date-card h3{grid-column:1}}
/* Store */
.store-header{padding:18px 5vw;display:flex;justify-content:space-between;background:#fff}.store-brand{font:600 2rem var(--serif);text-decoration:none}.store-nav{display:flex;gap:22px;align-items:center}.store-nav a{text-decoration:none}.cart-count{background:var(--wine);color:#fff;border-radius:20px;padding:3px 7px}.store-hero{text-align:center;padding:70px 22px;background:var(--green);color:#fff}.store-hero h1{font:600 clamp(3rem,6vw,5rem) var(--serif);margin:0}.store-main{max-width:1200px;margin:auto;padding:60px 22px}.store-heading{text-align:center;margin-bottom:35px}.store-heading h2{font:600 3rem var(--serif);color:var(--green)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.product-card img{width:100%;aspect-ratio:1.5;object-fit:cover}.product-body{padding:22px;display:flex;flex-direction:column;flex:1}.product-body h3{font:600 1.6rem var(--serif);color:var(--green);margin:0}.product-price{font-weight:700;margin-top:auto}.store-button{padding:14px;background:var(--green);color:#fff;border:0}.qty-row input{width:70px}.section-break{margin:55px 0}.bouquet-total{position:sticky;bottom:0;background:#fff;padding:18px;border-top:3px solid #c8a66a;display:flex;justify-content:space-between}.cart-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.cart-items,.invoice-box{background:#fff;padding:28px}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.cart-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:700}.remove-item{border:0;background:none;color:var(--wine)}.store-footer{text-align:center;background:var(--green);color:#fff;padding:25px}@media(max-width:850px){.store-header{flex-direction:column}.store-nav{flex-wrap:wrap}.product-grid,.cart-layout{grid-template-columns:1fr}.bouquet-total{flex-direction:column;gap:12px}}

.tribute-shop-step{margin:0 0 45px;padding:28px;background:#eef3ef;border-left:4px solid var(--green)}.tribute-shop-step h2{font:600 2.2rem var(--serif);color:var(--green)}.tribute-shop-step>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.tribute-shop-step .store-button{text-decoration:none}.shop-skip{color:var(--green);font-weight:600}

.flower-step-note{margin-bottom:40px;padding:28px;background:#eef3ef;border-left:4px solid var(--green)}.flower-step-note h2{font:600 2.2rem var(--serif);color:var(--green);margin:5px 0}.flower-step-note p:last-child{max-width:760px}

.bouquet-actions{display:flex;gap:12px;flex-wrap:wrap}.secondary-store-button{background:#fff;color:var(--green);border:2px solid var(--green)}.enrollment-summary{margin-bottom:28px;padding:24px;background:#eef3ef;border-left:4px solid var(--green)}.summary-heading span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--wine)}.summary-heading h2{margin:.35rem 0;color:var(--green);font:600 2rem var(--serif)}.summary-heading p,.summary-detail p{margin:.35rem 0}.summary-detail{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:850px){.bouquet-actions{width:100%}.bouquet-actions .store-button{width:100%}}
.service-policy{margin:24px 0;padding:22px;background:#f7f3eb;border:1px solid var(--line);border-left:4px solid var(--wine)}.service-policy h3{margin:0 0 12px;color:var(--green);font:600 1.55rem var(--serif)}.service-policy p{margin:10px 0;font-size:.9rem;line-height:1.55}.policy-consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;line-height:1.5;text-transform:none;letter-spacing:0;color:var(--ink)}.policy-consent input{width:18px;min-width:18px;margin:3px 0 0}
/* More proportionate page headings */
.store-hero{padding:54px 22px 58px}.store-hero h1{font-size:clamp(2.8rem,5vw,4.35rem);line-height:1.05}.store-hero p{margin:16px auto 0;font-size:1rem}
@media(max-width:700px){.store-hero{padding:42px 20px 46px}.store-hero h1{font-size:clamp(2.5rem,12vw,3.5rem)}}
.shipping-fields{margin:22px 0;padding:20px;background:#f3f7f4;border-left:4px solid var(--green)}.shipping-fields h3{margin:0;color:var(--green);font:600 1.55rem var(--serif)}.shipping-fields>p{margin:4px 0 16px;font-size:.85rem}.shipping-grid{display:grid;grid-template-columns:1fr .55fr .65fr;gap:12px}.shipping-fields label{display:block;margin-top:12px}@media(max-width:600px){.shipping-grid{grid-template-columns:1fr}}
.transferred-note{grid-column:1/-1;margin:0 0 4px;padding:11px 13px;background:#edf4ef;border-left:3px solid var(--green);color:#31584d;font-size:.82rem}.invoice-box .transferred-field{background:#f8fbf9;border-color:#78998c}
.membership-shop-complete{margin-top:48px;padding:26px 28px;background:#eef3ef;border:1px solid var(--line);border-left:4px solid var(--green);display:flex;align-items:center;justify-content:space-between;gap:28px}.membership-shop-complete h2{margin:2px 0 5px;color:var(--green);font:600 2rem var(--serif)}.membership-shop-complete p{margin:0}.membership-shop-complete .store-button{flex:0 0 auto;text-decoration:none;text-align:center;font-weight:700}@media(max-width:700px){.membership-shop-complete{align-items:stretch;flex-direction:column}.membership-shop-complete .store-button{width:100%}}
.memorial-review{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.memorial-review-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.memorial-review-heading>div>strong{font:600 1.45rem var(--serif);color:var(--green)}.memorial-review-heading p{margin:2px 0 0;font-size:.8rem}.memorial-review-heading button{border:1px solid var(--green);background:#fff;color:var(--green);padding:9px 13px;font-weight:700;cursor:pointer}.memorial-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:16px}.memorial-review-grid .wide{grid-column:1/-1}.memorial-review-grid label{font-size:.68rem}.memorial-review-grid input,.memorial-review-grid textarea{margin-top:5px;padding:10px;background:#fff;border:1px solid #b8c3bd}.memorial-save-status{min-height:1.3em;margin:9px 0 0;color:var(--green);font-size:.78rem;font-weight:700}@media(max-width:650px){.memorial-review-heading{align-items:flex-start;flex-direction:column}.memorial-review-grid{grid-template-columns:1fr}.memorial-review-grid .wide{grid-column:auto}}
/* Checkout typography: readable labels, fields, helper text, and policies */
.invoice-box h2{font-size:clamp(2rem,3vw,2.55rem);line-height:1.08;margin-top:0}.invoice-box>p{font-size:1rem;line-height:1.6}.invoice-box form{gap:18px}.invoice-box form>label,.shipping-fields label,.memorial-review-grid label{font-size:.86rem;line-height:1.3;letter-spacing:.055em;font-weight:700}.invoice-box input,.invoice-box select,.invoice-box textarea,.shipping-fields input,.shipping-fields textarea,.memorial-review-grid input,.memorial-review-grid textarea{font-size:1rem;line-height:1.45;min-height:50px;padding:12px 13px;color:#20332c}.invoice-box textarea,.shipping-fields textarea,.memorial-review-grid textarea{min-height:82px}.invoice-box input::placeholder,.invoice-box textarea::placeholder{font-size:.96rem;color:#7a847f}.transferred-note{font-size:.93rem;line-height:1.55}.shipping-fields h3,.service-policy h3{font-size:1.65rem}.shipping-fields>p{font-size:.94rem;line-height:1.5}.service-policy p{font-size:.96rem;line-height:1.62}.policy-consent{font-size:.94rem;line-height:1.55}.policy-consent input{min-height:18px}.invoice-box .store-button{font-size:.9rem;line-height:1.25;letter-spacing:.08em;padding:16px 18px}.invoice-box>form+small,.invoice-box>p small{font-size:.84rem;line-height:1.5}.memorial-review-heading>div>strong{font-size:1.65rem}.memorial-review-heading p{font-size:.92rem;line-height:1.5}.memorial-review-heading button{font-size:.86rem}.memorial-save-status{font-size:.88rem}
@media(max-width:700px){.invoice-box form>label,.shipping-fields label,.memorial-review-grid label{font-size:.9rem}.invoice-box input,.invoice-box select,.invoice-box textarea,.shipping-fields input,.shipping-fields textarea,.memorial-review-grid input,.memorial-review-grid textarea{font-size:1rem}}
.review-subheading{margin:22px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line);color:var(--green);font:600 1.35rem var(--serif)}.customer-review-grid{margin-bottom:20px}.invoice-box .locked-contact-field{background:#edf0ed;border-color:#d4dad6;color:#5e6863;cursor:not-allowed;box-shadow:none}.invoice-box .locked-contact-field:focus{outline:none;border-color:#d4dad6}
.request-confirmation{min-height:calc(100vh - 105px);padding:70px 22px;background:linear-gradient(145deg,#edf4ef,#f7f3eb);display:grid;place-items:center}.confirmation-card{width:min(820px,100%);padding:clamp(30px,6vw,62px);background:#fff;box-shadow:0 22px 55px rgba(21,61,50,.12);border-top:5px solid var(--green);text-align:center}.confirmation-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:2rem}.confirmation-eyebrow{margin:0;color:var(--wine);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.confirmation-card h1{margin:8px 0;color:var(--green);font:600 clamp(2.6rem,6vw,4.3rem)/1 var(--serif)}.confirmation-lead{max-width:680px;margin:18px auto 30px;font-size:1.05rem;line-height:1.7}.confirmation-steps{display:grid;gap:13px;text-align:left}.confirmation-steps article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px;background:#f5f7f4;border:1px solid #dfe5e1}.confirmation-steps article>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dfeae3;color:var(--green);font-weight:800}.confirmation-steps h2{margin:0;color:var(--green);font-size:1rem}.confirmation-steps p{margin:3px 0 0;color:#59655f;font-size:.9rem}.confirmation-email{margin:24px 0 18px;font-weight:700;color:var(--green)}.confirmation-home{display:inline-block;text-decoration:none}.confirmation-help{margin:24px 0 0;font-size:.86rem}.confirmation-help a{color:var(--green)}
.confirmation-steps article{position:relative}.confirmation-steps article.step-complete{background:#edf5f0;border-color:#bdd4c7}.confirmation-steps article.step-complete>span{position:relative;background:var(--green);color:transparent}.confirmation-steps article.step-complete>span:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.15rem;font-weight:800;line-height:1}.confirmation-steps article.step-current{background:#fff8ed;border-color:#d7bb8c;box-shadow:inset 4px 0 #d0a96f}.confirmation-steps article.step-current>span{background:#d0a96f;color:#173d32}.confirmation-steps article.step-upcoming{opacity:.72}.confirmation-reference{margin:8px 0 22px;color:#66736d;font-size:.86rem}
.returning-customer{margin:0 0 24px;padding:20px;background:#f2f6f3;border:1px solid #cbd8d0;border-left:4px solid var(--green)}.returning-customer[hidden]{display:none}.returning-eyebrow{margin:0;color:var(--wine);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.returning-customer h3{margin:4px 0 7px;color:var(--green);font:600 1.45rem var(--serif)}.returning-customer>p{font-size:.88rem;line-height:1.5}.returning-row{display:grid;grid-template-columns:1fr;gap:9px}.returning-row input{margin:0;min-width:0;width:100%}.returning-row .store-button{white-space:nowrap}.returning-status{margin:12px 0 0!important;font-weight:700}.returning-status[data-state="approved"]{color:#17643f}.returning-status[data-state="error"]{color:#9c3348}.returning-status[data-state="pending"]{color:#845713}.returning-sign-out{margin-top:10px;border:0;background:none;color:var(--green);font-weight:700;text-decoration:underline;cursor:pointer}@media(max-width:620px){.returning-row{grid-template-columns:1fr}}
.purchase-account{background:#eef4f0;border-left:4px solid #153d32;padding:22px;margin:22px 0}.purchase-account h3{font:600 1.65rem/1.05 "Cormorant Garamond",serif;color:#153d32;margin:.25rem 0 .55rem}.purchase-account[data-state="new"]{border-left-color:#97475b}.purchase-account[data-state="approved"]{background:#edf6ef;border-left-color:#2f7657}.purchase-account .store-button{margin-top:12px;width:100%;box-sizing:border-box;text-align:center}
.discount-box{margin:22px 0;padding:20px;background:#f7f3eb;border:1px solid var(--line);border-left:4px solid var(--wine)}.discount-eyebrow{margin:0;color:var(--wine);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.discount-box h3{margin:.2rem 0;color:var(--green);font:600 1.55rem var(--serif)}.discount-box>p{font-size:.9rem}.discount-row{display:grid;grid-template-columns:1fr auto;gap:10px}.discount-row input{margin:0;text-transform:uppercase}.discount-row .store-button{width:auto;margin:0}.discount-status{min-height:1.5em;margin:10px 0 0!important;font-weight:700}.discount-status[data-state=valid]{color:#17643f}.discount-status[data-state=error]{color:#9c3348}.discount-applied-total{color:#17643f}.original-total{text-decoration:line-through;color:#777;font-size:.9rem;margin-right:.6rem}@media(max-width:620px){.discount-row{grid-template-columns:1fr}.discount-row .store-button{width:100%}}
