/* Made By Mama — burgundy, baby green and baby pink. */
.security-shell { max-width: 1040px; }
.security-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px; align-items: start; }
.security-summary { background: #edf5ef; }
.security-summary li { margin-block: 12px; }
.mfa-status { display: inline-flex; padding: 7px 12px; border-radius: 99px; background: #fbe8ee; color: #6b243e; font-size: .8rem; font-weight: 700; }
.mfa-status.is-enabled { background: #d5e9da; color: #275337; }
.mfa-recovery-panel { margin-bottom: 28px; border: 2px solid #bfdcc8; }
.mfa-code-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.mfa-code-list code { padding: 12px; border-radius: 12px; background: #edf5ef; color: #542137; font-size: .8rem; overflow-wrap: anywhere; user-select: all; }
.mfa-qr { width: fit-content; max-width: 100%; padding: 12px; background: white; border-radius: 14px; border: 1px solid #e7dce0; }
.mfa-qr canvas { display: block; max-width: 100%; height: auto; }
.mfa-qr canvas[hidden] { display: none; }
#mfa-manual-key { font-family: monospace; font-size: .9rem; letter-spacing: .03em; }
.mfa-login { max-width: 600px; margin-inline: auto; }
.profile-security > .button { display: flex; margin-block: 12px; justify-content: center; }
@media(max-width:760px) { .security-grid { grid-template-columns: 1fr; } .mfa-code-list { grid-template-columns: 1fr; } }
.order-bulk-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: #edf5ef; }
.order-bulk-toolbar h2 { margin: 0; }
.bulk-controls { display: grid; gap: 14px; }
.order-bulk-toolbar .check-row,.bulk-review-summary .check-row { display: flex; gap: 12px; align-items: flex-start; line-height: 1.6; }
.order-bulk-toolbar .check-row input,.bulk-review-summary .check-row input { flex: 0 0 auto; margin-top: 5px; }
.order-select { display: flex; align-items: center; gap: 10px; padding: 12px 0; margin-bottom: 12px; font-weight: 650; }
.order-select input { width: 20px; height: 20px; flex: 0 0 auto; }
.admin-order.is-selected { outline: 2px solid #6b243e; outline-offset: 2px; background: #fff8fa; }
.bulk-review-summary { margin-bottom: 24px; }
.bulk-review-summary form { max-width: 760px; }
.bulk-review-pages { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
@media(max-width:760px) { .order-bulk-toolbar { grid-template-columns: 1fr; } }
.mailing-tabs { display: flex; padding: 5px; gap: 5px; margin-bottom: 16px; background: #edf5ef; border-radius: 18px; }
.mailing-tabs a { flex: 1; text-align: center; padding: 12px 16px; border-radius: 13px; color: #6b243e; font-weight: 650; }
.mailing-tabs a[aria-current="page"] { background: #fffafc; box-shadow: 0 2px 8px #5421370d; }
.mailing-promise { display: flex; gap: 16px; align-items: flex-start; padding: 20px; margin: 24px 0; border-radius: 20px; background: #edf5ef; }
.mailing-promise > span { font-size: 28px; line-height: 1; color: #6b243e; }
.mailing-promise p { margin: 6px 0 0; font-size: .95rem; }
.mailing-policy-list { padding-left: 20px; max-width: 520px; }
.mailing-policy-list li { margin: 14px 0; }
.email-preference-card { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-block: 24px; scroll-margin-top: 110px; }
.email-preference-card h2 { margin-top: 0; }
.email-preference-status { display: inline-flex; padding: 7px 14px; border-radius: 30px; background: #fbe8ee; font-size: .85rem; font-weight: 650; }
.email-preference-status[data-mailing-status="subscribed"] { background: #edf5ef; color: #326447; }
.mailing-preferences-page .check-row,.email-preference-card .check-row { display: flex; align-items: flex-start; gap: 12px; line-height: 1.6; }
.mailing-preferences-page .check-row input,.email-preference-card .check-row input { flex: 0 0 auto; margin-top: 5px; }
@media(max-width:760px) { .email-preference-card { grid-template-columns: 1fr; gap: 20px; } }
/* Shared action feedback: readable without JavaScript, compact toasts with it. */
.action-notice.is-expiring { position: relative; overflow: hidden; }
.action-notice.is-expiring::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: #6b243e; transform-origin: left; animation: notice-countdown 6s linear forwards; }
@keyframes notice-countdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media(prefers-reduced-motion:reduce) { .action-notice.is-expiring::after { animation: none; } }
.pickup-calendar { margin-top: 20px; padding: 20px; border: 1px solid #d5e4d9; border-radius: 18px; background: #f5faf6; }
.pickup-calendar h3 { margin: 0 0 8px; }
.pickup-calendar select { width: 100%; min-width: 0; }
.pickup-calendar small { display: block; margin-top: 12px; }
.pickup-settings { min-width: 0; }
.pickup-weekdays { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-block: 18px; }
.pickup-weekdays .check-row { margin: 0; }
.notifications { width: min(640px,calc(100% - 32px)); margin: 20px auto 0; display: grid; gap: 12px; }
.notifications:empty { display: none; }
.notifications.is-floating { position: fixed; z-index: 1100; right: max(24px,env(safe-area-inset-right)); bottom: max(24px,env(safe-area-inset-bottom)); width: min(440px,calc(100vw - 48px)); margin: 0; max-height: min(60vh,620px); overflow-y: auto; padding: 6px; overscroll-behavior: contain; pointer-events: none; }
.action-notice { --notice-accent: #326447; --notice-tint: #edf5ef; display: grid; grid-template-columns: 38px minmax(0,1fr) 30px; align-items: start; gap: 12px; padding: 20px 16px 20px 20px; background: #fffafc; color: #542137; border: 1px solid #e7dce0; border-left: 4px solid var(--notice-accent); border-radius: 20px; box-shadow: 0 8px 32px #54213714,0 2px 6px #54213708; pointer-events: auto; overflow-wrap: anywhere; animation: notice-arrive .25s ease-out both; }
.action-notice[data-type="error"] { --notice-accent: #8b2948; --notice-tint: #fbe8ee; }
.action-notice[data-type="warning"] { --notice-accent: #6b243e; --notice-tint: #fbe8ee; }
.action-notice[data-type="info"] { --notice-accent: #6b243e; --notice-tint: #edf5ef; }
.action-notice__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--notice-tint); color: var(--notice-accent); font: 700 20px/1 Arial,sans-serif; }
.action-notice__copy strong { display: block; margin: 0 0 5px; color: #542137; font: 700 15px/1.4 Inter,Arial,sans-serif; letter-spacing: -.01em; }
.action-notice__copy p { margin: 0; color: #674b58; font: 400 14px/1.6 Inter,Arial,sans-serif; }
.action-notice .action-notice__dismiss { display: none; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #745c66; cursor: pointer; box-shadow: none; }
.notifications.is-floating .action-notice__dismiss { display: flex; }
.action-notice .action-notice__dismiss:hover { background: #fbe8ee; color: #6b243e; transform: none; }
.action-notice .action-notice__dismiss:focus-visible { outline: 2px solid #6b243e; outline-offset: 3px; }
@keyframes notice-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:600px) {
    .notifications.is-floating { right: 10px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100vw - 20px); max-height: 45dvh; }
    .action-notice { grid-template-columns: 32px minmax(0,1fr) 44px; gap: 10px; padding: 16px 10px 16px 14px; border-radius: 16px; }
    .action-notice__icon { width: 32px; height: 32px; font-size: 18px; }
    .action-notice .action-notice__dismiss { width: 44px; height: 44px; }
}
@media(prefers-reduced-motion:reduce) { .action-notice { animation: none; } }
:root {
    --burgundy: #6b243e;
    --burgundy-dark: #4b1930;
    --baby-green: #bfdcc8;
    --green-wash: #edf5ef;
    --baby-pink: #f3c5d1;
    --pink-wash: #fbe8ee;
    --ink: #542137;
    --paper: #fffafc;
    --cream: #fff8fa;
    --blue: var(--baby-green);
    --blue-dark: var(--burgundy);
    --blue-soft: var(--green-wash);
    --yellow: var(--baby-pink);
    --yellow-soft: var(--pink-wash);
    --line: 1.5px solid var(--burgundy);
}
::selection { background: var(--baby-pink); color: var(--burgundy-dark); }
.brand img { width: clamp(196px,20vw,280px); height: 78px; }
.footer-brand > a { background: transparent; padding: 0; border-radius: 0; }
.footer-brand img { width: 220px; height: 80px; filter: drop-shadow(0 0 1px #fbe8ee); }
.footer-brand .social-links { margin-top: 16px; margin-bottom: 0; }
.footer-connect .footer-email { display: inline-flex; margin-top: 20px; }
@media(max-width:900px) {
    .brand img { width: 186px; height: 64px; }
    .admin-shell .brand img { width: 164px; height: 64px; }
}
input, select, textarea { accent-color: var(--burgundy); }
.button { background: var(--burgundy); color: #fff8fa; border-color: var(--burgundy); }
.button:hover { background: var(--burgundy-dark); color: #fff8fa; }
.button--secondary { background: var(--green-wash); color: var(--burgundy); border-color: #bfd3c4; }
.button--secondary:hover { background: var(--baby-green); color: var(--burgundy-dark); }
.hero-copy .hero-shop-button { background: var(--baby-pink); color: var(--burgundy-dark); border-color: var(--baby-pink); }
.hero-copy .hero-shop-button:hover { background: #f9dce5; color: var(--burgundy-dark); }
.hero-button-arrow { background: var(--baby-green); color: var(--burgundy-dark); }
.soft-section { background: var(--green-wash); }
.stock-count { background: var(--pink-wash); color: var(--burgundy); }
.stock-count--made { background: var(--green-wash); color: #326447; }
.stock-count--out, .sold-out { background: #eee7ea; color: #71505e; }
.shop-filters a[aria-current] { color: var(--burgundy); border-bottom-color: var(--burgundy); }
.shop-filters a:hover, .product-category { color: #795565; }
.site-footer { background: var(--burgundy-dark); color: #fff8fa; border-color: #6b344a; }
.footer-welcome, .footer-bottom { border-color: #80455a; }
.footer-kicker, .footer-grid strong { color: var(--baby-green); }
.footer-grid p, .footer-links a, .footer-bottom { color: #f3d9e1; }
.footer-welcome .button { background: var(--baby-pink); color: var(--burgundy-dark); border-color: var(--baby-pink); }
.footer-welcome .button:hover { background: var(--baby-green); color: var(--burgundy-dark); }
.social-links a { background: #62233d; border-color: #915469; color: #fff8fa; }
.social-links a:hover { background: var(--baby-green); color: var(--burgundy-dark); }
.footer-fulfillment { background: var(--baby-green); color: var(--burgundy-dark); }
.page-loader::before { background: linear-gradient(90deg,var(--burgundy),var(--baby-pink),var(--baby-green)); }
.commerce-page .checkout-details>.button { background: var(--burgundy); color: #fff8fa; border-color: var(--burgundy); }
.commerce-page .checkout-details>.button:hover { background: var(--burgundy-dark); }
.commerce-page .receipt-card { background: #fff8fa; border-color: #edcfd9; }
.receipt-card::before { background: var(--baby-green); }
.commerce-page input:focus, .commerce-page select:focus, .commerce-page textarea:focus { outline-color: var(--baby-pink); border-color: var(--burgundy); }
.commerce-page input[type=radio], .commerce-page input[type=checkbox] { accent-color: var(--burgundy); }
.order-tabs a[aria-current] { background: var(--baby-green); color: var(--burgundy-dark); border-color: #a5c3af; }
.pagination-actions a { background: var(--green-wash); color: var(--burgundy); }
.pagination-actions a:hover { background: var(--pink-wash); }
.list-search .button { background: var(--baby-green); color: var(--burgundy-dark); border-color: #a5c3af; }
.mail-toolbar .ql-stroke { stroke: var(--burgundy); }
.mail-toolbar .ql-fill { fill: var(--burgundy); }
.mail-composer .ql-snow .ql-picker { color: var(--burgundy); }
.mail-composer .ql-snow .ql-picker-item:hover, .mail-composer .ql-snow .ql-picker-item.ql-selected { color: var(--burgundy); }
.mail-composer .ql-snow.ql-toolbar button:hover .ql-stroke,
.mail-composer .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke: var(--burgundy); }
.mail-composer .ql-snow.ql-toolbar button:hover .ql-fill,
.mail-composer .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: var(--burgundy); }

/* Refined storefront: warm white space, purposeful pastels and quieter components. */
:root {
    --paper: #fffdfc;
    --cream: #fff8fa;
    --line: 1px solid #e5dadd;
    --radius: 20px;
    --shadow: 0 8px 32px rgba(75,25,48,.045);
}
body { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1,h2,h3 { text-transform: none; }
.wrap { width: min(var(--max),calc(100% - 64px)); }
.site-header { background: rgba(255,253,252,.97); border-bottom: 1px solid #eee5e7; }
.nav { min-height: 96px; grid-template-columns: minmax(200px,1fr) auto minmax(200px,1fr); }
.brand { justify-self: start; }
.nav-links { gap: 28px; }
.nav-links a,.nav-actions a,.nav-actions .link-button { font-size: .87rem; font-weight: 650; }
.nav-links a { min-height: 44px; display: inline-flex; align-items: center; }
.cart-pill { background: var(--pink-wash); border: 1px solid transparent; box-shadow: none; padding: 10px 17px; }
.cart-pill:hover { background: var(--baby-pink); }
.cart-pill strong { width: 23px; font-weight: 650; }
.button { min-height: 48px; padding: 12px 24px; border-width: 1px; box-shadow: none; font-size: .88rem; font-weight: 650; text-transform: none; letter-spacing: 0; transition: background .2s,box-shadow .2s,transform .2s; }
.button:hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(75,25,48,.10); }
.button--secondary { background: #fff; border-color: #ded2d6; }
.button--secondary:hover { background: var(--green-wash); border-color: #b7cdbd; }
.button--small { min-height: 40px; padding: 8px 17px; font-size: .8rem; }
.hero { height: min(620px,calc(100svh - 96px)); min-height: 500px; }
.hero::after { background: linear-gradient(90deg,rgba(52,19,34,.76),rgba(52,19,34,.38) 52%,rgba(52,19,34,.08)); }
.hero-copy { gap: 22px; padding: 54px max(32px,calc((100vw - var(--max))/2)); }
.hero h1 { max-width: 790px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.25rem,5.6vw,5.3rem); font-weight: 400; line-height: 1.07; letter-spacing: -.045em; }
.hero .eyebrow { background: var(--green-wash); color: var(--burgundy-dark); padding: 7px 13px; border-radius: 99px; font-size: .65rem; letter-spacing: .12em; }
.hero .eyebrow::before { width: 6px; border: 0; background: var(--burgundy); }
.hero .lede { max-width: 470px; color: #fff8fa; font-size: 1rem; font-weight: 400; line-height: 1.8; }
.hero-copy .hero-shop-button { gap: 24px; padding: 8px 9px 8px 23px; box-shadow: none; font-size: .91rem; }
.hero-copy .hero-shop-button:hover { box-shadow: 0 6px 22px rgba(0,0,0,.12); }
.hero-button-arrow { width: 38px; height: 38px; background: #fff8fa; font-size: 1.2rem; }
.section { padding-block: clamp(64px,7vw,104px); }
.page-section { padding-block: clamp(44px,5vw,72px); }
.eyebrow { font-weight: 650; font-size: .66rem; letter-spacing: .13em; }
.eyebrow::before { display: inline-block; width: 6px; height: 6px; flex: 0 0 6px; border: 0; border-radius: 50%; background: var(--burgundy); }
.commerce-page .receipt-card > .eyebrow { display: flex; align-items: center; gap: 9px; min-width: 0; }
.section-heading h2,.page-title,.welcome-grid h2 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; line-height: 1.1; letter-spacing: -.045em; }
.page-title { font-size: clamp(2.75rem,4.6vw,4.5rem); }
.welcome-grid { grid-template-columns: 1.25fr 1fr; align-items: center; gap: clamp(32px,7vw,100px); }
.welcome-grid h2 { font-size: clamp(2.5rem,4vw,4.1rem); max-width: 650px; }
.welcome-grid > div:last-child { max-width: 440px; font-size: 1rem; color: #795565; line-height: 1.85; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--burgundy); font-size: .9rem; font-weight: 650; }
.soft-section { background: #f7faf7; border-block: 1px solid #e4ede5; }
.three-up { gap: 24px; }
.three-up article { padding: 32px; border: 0; background: #fff; border-radius: 18px; }
.three-up article:first-child { background: #e5efe7; }
.three-up article:nth-child(2) { background: #f9e5ec; }
.three-up span { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.7); font-family: inherit; font-size: .78rem; font-weight: 650; margin-bottom: 27px; }
.three-up h3 { font-family: inherit; font-size: 1.12rem; line-height: 1.3; font-weight: 650; letter-spacing: -.02em; }
.three-up p { font-size: .9rem; color: #795565; line-height: 1.8; }
.section-heading,.page-heading { margin-bottom: 32px; }
.product-grid { gap: 24px; }
.product-card { border: 1px solid #e9e0e2; border-radius: 20px; box-shadow: none; }
.product-card:hover,.product-card:focus-within { transform: translateY(-5px) scale(1.012); box-shadow: 0 14px 30px rgba(75,25,48,.08); }
.product-card.is-sold-out { background: #f3f2f2; border-color: #dedcdd; }
.product-card.is-sold-out .product-card-cover img,.product-detail-cover.is-sold-out > img { filter: grayscale(1); opacity: .65; }
.product-card.is-sold-out .product-card-placeholder { filter: grayscale(1); }
.product-card.is-sold-out h3 a,.product-card.is-sold-out .product-bottom strong,.product-card.is-sold-out .product-detail-link { color: #655e62; }
.product-card.is-sold-out:hover,.product-card.is-sold-out:focus-within { transform: none; box-shadow: 0 4px 16px #5421370a; }
.product-card > img { border-bottom: 0; }
.product-body { padding: 22px; }
.product-body h3 { font-family: inherit; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.025em; font-weight: 650; }
.product-body p { color: #795565; font-size: .86rem; line-height: 1.7; }
.product-category { font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.product-heading { flex-wrap: wrap; }
.product-bottom { padding-top: 12px; }
.product-bottom > strong { font-family: inherit; font-size: 1.03rem; font-weight: 700; }
.stock-count { font-size: .65rem; font-weight: 600; padding: 5px 9px; }
.shop-filters { gap: 8px; border: 0; margin-bottom: 30px; padding: 0; }
.shop-filters a { padding: 9px 18px; min-height: 44px; border: 1px solid #e6dcdf; border-radius: 99px; background: #fff; font-size: .83rem; font-weight: 550; }
.shop-filters a[aria-current] { background: var(--pink-wash); border: 1px solid #efcbd6; font-weight: 650; }
.shop-filters a:hover { background: var(--green-wash); color: var(--burgundy); }
.panel { border: 1px solid #e5dadd; box-shadow: var(--shadow); border-radius: 20px; }
.form-stack label,.status-form label,.password-control > label { font-weight: 600; font-size: .88rem; }
input,select,textarea { border: 1px solid #dcd0d4; border-radius: 10px; background: #fff; font-size: .92rem; }
input:focus,select:focus,textarea:focus { outline: 3px solid #fbe8ee; outline-offset: 1px; border-color: var(--burgundy); }
fieldset { border: 1px solid #e5dadd; }
legend { font-weight: 650; font-size: .9rem; }
.back-link { border: 0; border-radius: 8px; background: transparent; padding: 8px 0; font-size: .8rem; font-weight: 550; }
.back-link:hover { background: transparent; color: var(--burgundy); }
.page-backbar { padding-top: 16px; }
.page-backbar + .page-section { padding-top: 24px; }
.list-search { box-shadow: none; border-color: #e5dadd; border-radius: 16px; padding: 18px 20px; }
.list-searches { padding-top: 18px; }
.list-search .button { background: var(--green-wash); border-color: #c5d8cb; font-weight: 600; }
.list-pagination { box-shadow: none; border-color: #e5dadd; border-radius: 16px; padding: 20px 24px; }
.pagination-actions a,.pagination-actions > span { font-weight: 600; font-size: .8rem; }
.empty-state { background: var(--green-wash); border: 1px solid #dfe9e1; }
.flash,.notice { border-width: 1px; font-weight: 500; font-size: .89rem; }
.commerce-page { background: linear-gradient(180deg,#f7faf7 0,#fffdfc 500px); }
.commerce-page .panel { border-color: #e5dadd; box-shadow: var(--shadow); border-radius: 20px; }
.commerce-heading h1,.confirmation-hero h1 { font-size: clamp(2.6rem,4.5vw,4rem); }
.commerce-page .receipt-card { background: #fff8fa; border-color: #eed7df; }
.receipt-card::before { height: 4px; }
.commerce-page .payment-option { background: #faf8f9; border-color: #e5dadd; }
.commerce-page .payment-option:has(input:checked) { background: var(--green-wash); border-color: #aecbb7; }
.commerce-page .checkout-codes { background: #fff; }
.commerce-page .checkout-details>.button { font-weight: 650; }
.commerce-page .checkout-terms { align-items: flex-start; padding: 16px; background: var(--green-wash); border: 1px solid #d5e4d9; border-radius: 12px; font-size: .86rem; font-weight: 500; line-height: 1.7; }
.commerce-page .checkout-terms input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; }
.commerce-page .checkout-terms a { color: var(--burgundy); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.commerce-page .checkout-section-title>span { background: var(--green-wash); color: var(--burgundy); }
.admin-page { background: #f8faf8; }
.admin-menu { gap: 4px; }
.admin-menu a { font-weight: 550; font-size: .8rem; }
.admin-menu a[aria-current] { background: var(--pink-wash); color: var(--burgundy); font-weight: 650; }
.stats article { border-color: #e5dadd; border-radius: 16px; }
.stats strong { font-family: inherit; font-size: 1.8rem; font-weight: 650; }
.stats span { font-size: .82rem; font-weight: 500; }
.admin-shortcuts a { font-size: .85rem; font-weight: 550; border-color: #e5dadd; }
.table-wrap { border-color: #e5dadd; border-radius: 16px; }
th { background: #f5f8f5; font-size: .66rem; font-weight: 650; }
td { font-size: .84rem; }
.order-tabs a { font-size: .85rem; border-radius: 10px; font-weight: 550; }
.order-tabs a[aria-current] { background: var(--green-wash); font-weight: 650; }
.status { font-weight: 600; font-size: .65rem; letter-spacing: .035em; }
.site-footer { padding-bottom: 20px; }
.footer-welcome { padding-block: 42px; }
.footer-welcome h2 { font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 400; line-height: 1.15; }
.footer-kicker { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-grid { gap: 40px; padding-block: 42px; }
.footer-grid strong { font-size: .8rem; font-weight: 650; }
.footer-grid p,.footer-links a { font-size: .83rem; }
.footer-fulfillment { font-size: .65rem; font-weight: 550; padding: 7px 12px; }
.social-links a { padding: 7px 12px; min-height: 38px; font-size: .68rem; background: transparent; border-color: #885166; }
.footer-bottom { font-size: .7rem; }
.gift-card-preview { border: 0; box-shadow: none; }
.gift-card-preview strong { font-family: Georgia,"Times New Roman",serif; font-weight: 400; line-height: 1.1; text-transform: none; }
.legal-content h2 { font-family: inherit; font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
.legal-content p { color: #795565; font-size: .96rem; line-height: 1.85; }
@media(max-width:1400px) {
    .admin-shell .nav { grid-template-columns: 1fr auto; }
}
@media(max-width:1000px) {
    .nav { grid-template-columns: 1fr auto; gap: 12px; }
    .nav-links { gap: 23px; }
    .hero { height: min(610px,calc(100svh - 145px)); }
    .welcome-grid { grid-template-columns: 1fr; gap: 28px; }
    .welcome-grid > div:last-child { max-width: 600px; }
    .product-grid { gap: 20px; }
    .footer-grid { gap: 30px; }
}
@media(max-width:700px) {
    .wrap { width: calc(100% - 36px); }
    .nav { min-height: 78px; gap: 8px; }
    .nav-actions { flex-wrap: wrap; gap: 6px; max-width: 140px; }
    .nav-sign-in { white-space: nowrap; }
    .nav-links { gap: 22px; padding-bottom: 8px; }
    .nav-links a { font-size: .81rem; }
    .cart-pill { padding: 9px 12px; font-size: .8rem; }
    .hero { height: auto; min-height: 510px; }
    .hero-copy { padding: 58px 24px; gap: 22px; }
    .hero h1 { font-size: clamp(2.8rem,9.8vw,4.3rem); max-width: 580px; }
    .hero .lede { font-size: .92rem; max-width: 370px; }
    .hero::after { background: linear-gradient(90deg,rgba(52,19,34,.72),rgba(52,19,34,.34)); }
    .page-title { font-size: clamp(2.6rem,9vw,3.4rem); }
    .page-section { padding-block: 40px; }
    .section { padding-block: 56px; }
    .three-up { grid-template-columns: 1fr; gap: 14px; }
    .three-up article { padding: 26px; }
    .three-up span { margin-bottom: 18px; }
    .product-grid { gap: 14px; }
    .product-body { padding: 16px; }
    .product-body h3 { font-size: 1rem; }
    .product-bottom { gap: 8px; flex-wrap: wrap; }
    .product-bottom .button { padding: 8px 13px; }
    .shop-filters { gap: 7px; }
    .shop-filters a { padding: 8px 14px; font-size: .78rem; }
    .footer-welcome { padding-block: 32px; }
    .footer-grid { padding-block: 32px; }
    .list-search { padding: 16px; }
}
@media(max-width:380px) {
    .brand img { width: 164px; height: 60px; }
    .admin-shell .brand img { width: 145px; }
    .admin-shell .nav-actions { max-width: 130px; }
    .nav-actions { max-width: 125px; }
    .product-grid { grid-template-columns: 1fr; }
}
@media(max-width:340px) {
    .brand img { width: 140px; }
}
.refund-panel { margin-block: 18px; padding: 16px 20px; background: var(--pink-wash); border-radius: 14px; }
.refund-panel summary { cursor: pointer; font-weight: 650; color: var(--burgundy); }
.campaign-card .campaign-schedule-form { display: grid; align-items: stretch; gap: 16px; margin-block: 16px; min-width: 0; }
.campaign-schedule-form input,.campaign-schedule-form select { min-width: 0; max-width: 100%; }
.campaign-card .check-row { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; }
.campaign-card .check-row input { flex: 0 0 auto; margin-top: 4px; }
.refund-history { display: grid; gap: 10px; margin-block: 18px; }
.refund-history p { margin: 0; padding: 12px 14px; background: #ffffff; border-radius: 10px; }
.refund-panel .check-row { display: flex; align-items: flex-start; gap: 10px; }
.service-mail-panel { margin-block: 24px; }
.service-mail-panel td small { display: block; max-width: 350px; margin-top: 5px; }
.campaign-controls { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-block: 16px; }
.refund-panel .form-stack { max-width: 650px; margin-top: 16px; }
.seo-local-grid,.seo-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,64px); align-items:start; }
.seo-local-grid p,.seo-faq p { line-height:1.8; }
.seo-faq details { border-bottom:1px solid var(--pink); padding:18px 0; }
.seo-faq summary { cursor:pointer; color:var(--burgundy); font-weight:650; line-height:1.5; }
.seo-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; font-size:.9rem; }
.seo-product-image { display:block; width:100%; max-height:640px; object-fit:cover; border-radius:24px; }
.seo-product-price { font-size:1.6rem; font-weight:650; color:var(--burgundy); }
.seo-product-grid .stock-count { justify-self:start; }
.product-heading h3 a { color:inherit; text-decoration:none; }
.product-heading h3 a:hover { color:var(--burgundy); }
@media(max-width:720px) { .seo-local-grid,.seo-product-grid { grid-template-columns:1fr; } }
.product-card-cover { display:block; overflow:hidden; background:var(--pink-wash); }
.product-card-cover img,.product-card-placeholder { display:block; width:100%; aspect-ratio:1 / 1.02; object-fit:cover; }
.product-card-placeholder { display:grid; place-items:center; font-size:4rem; color:var(--burgundy); background:linear-gradient(135deg,#edf5ee,#fae7ee); }
.product-detail-link { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font-size:.86rem; font-weight:650; color:var(--burgundy); }
.product-detail-cover { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:280px; border-radius:24px; overflow:hidden; background:linear-gradient(120deg,#e1eee4,#f9e3ec); }
.product-detail-cover--image { min-height:clamp(300px,38vw,460px); color:#fff; }
.product-detail-cover > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.product-detail-cover--image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(48,13,29,.82),rgba(48,13,29,.18) 85%); z-index:-1; }
.product-detail-cover-copy { padding:clamp(24px,4vw,52px); max-width:900px; }
.product-detail-cover h1 { margin:12px 0; font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.06; letter-spacing:-.035em; overflow-wrap:anywhere; }
.product-detail-cover p { margin:0; }
.product-detail-cover--image h1,.product-detail-cover--image .eyebrow { color:#fff; }
.product-detail-cover--image .eyebrow::before { background:#f2c6d5; }
.product-detail-content { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); gap:clamp(24px,5vw,64px); align-items:start; margin-top:clamp(30px,5vw,60px); }
.product-detail-description > p { line-height:1.9; white-space:normal; overflow-wrap:anywhere; }
.product-detail-description h2,.product-detail-purchase h2 { margin-top:10px; }
.product-detail-note { margin:28px 0; padding:22px; border-radius:18px; background:#edf5ee; }
.product-detail-note h3 { margin-top:0; }
.product-detail-note p { margin-bottom:0; line-height:1.75; }
.product-detail-purchase { position:sticky; top:120px; border-color:#eadce2; }
.product-detail-purchase .stock-count { display:inline-block; margin:0 0 20px; }
.product-detail-purchase .button { width:100%; }
.product-detail-purchase .fine-print { margin-top:12px; line-height:1.65; }
.product-detail-fulfilment { margin-top:24px; padding-top:12px; border-top:1px solid #eadce2; }
.product-detail-fulfilment p { font-size:.9rem; line-height:1.7; }
@media(max-width:720px) { .product-detail-content { grid-template-columns:1fr; } .product-detail-purchase { position:static; } .product-detail-cover { border-radius:18px; } }
