:root {
  --ink: #22342b;
  --green: #2f5a47;
  --green-dark: #203e31;
  --sage: #8da593;
  --cream: #f7f2e9;
  --paper: #fffdf9;
  --rose: #c9787e;
  --sand: #dfc9b8;
  --line: rgba(34, 52, 43, .14);
  --muted: #6d776f;
  --shadow: 0 24px 70px rgba(43, 58, 47, .10);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; line-height: 1.6; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.announcement-bar { background: var(--green-dark); color: #fff; font-size: 13px; }
.announcement-inner { min-height: 37px; display: flex; align-items: center; justify-content: center; gap: 22px; }
.announcement-inner a { border-bottom: 1px solid rgba(255,255,255,.65); }
.site-header { position: sticky; top: 0; z-index: 80; background: rgba(255,253,249,.94); backdrop-filter: blur(18px); border-bottom: 1px solid transparent; transition: .25s ease; }
.site-header.scrolled { border-bottom-color: var(--line); box-shadow: 0 10px 30px rgba(34,52,43,.05); }
.header-inner { min-height: 86px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; }
.brand-mark { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: #fff; font-family: "Playfair Display", serif; font-size: 23px; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-family: "Playfair Display", serif; font-size: 21px; letter-spacing: .02em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: 33px; }
.main-nav a { position: relative; font-size: 14px; font-weight: 600; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 1px; transform: scaleX(0); background: var(--green); transition: .2s; }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.header-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; position: relative; }
.header-icon svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.cart-icon span { position: absolute; right: -3px; top: -5px; width: 20px; height: 20px; border-radius: 50%; background: var(--rose); color: #fff; font-size: 11px; display: grid; place-items: center; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--ink); margin: 5px 0; }
.flash-wrap { position: relative; z-index: 100; }
.alert { padding: 13px 16px; border-radius: 12px; margin: 16px 0 0; font-size: 14px; }
.alert-success { color: #24533e; background: #e6f2eb; border: 1px solid #cce5d6; }
.alert-danger { color: #7b3036; background: #f9e8e8; border: 1px solid #edcccc; }
.alert-warning { color: #765520; background: #fff5df; border: 1px solid #f2dfb6; }
.hero-section { background: var(--cream); overflow: hidden; position: relative; }
.hero-section::before { content: ""; position: absolute; width: 460px; height: 460px; border-radius: 50%; border: 1px solid rgba(47,90,71,.12); left: -240px; top: 40px; }
.hero-grid { min-height: 690px; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 70px; padding-top: 68px; padding-bottom: 70px; }
.eyebrow { display: inline-block; color: var(--rose); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 18px; }
h1, h2, h3 { margin: 0; font-family: "Playfair Display", serif; line-height: 1.08; font-weight: 600; }
.hero-copy h1 { max-width: 650px; font-size: clamp(48px, 6.2vw, 82px); letter-spacing: -.035em; }
.hero-copy > p { max-width: 610px; margin: 27px 0 30px; color: var(--muted); font-size: 17px; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 0 25px; border: 1px solid transparent; font-weight: 700; font-size: 14px; transition: .2s ease; }
.button-primary { color: #fff; background: var(--green); }
.button-primary:hover { background: var(--green-dark); transform: translateY(-2px); }
.button-outline { border-color: var(--green); color: var(--green); background: transparent; }
.button-outline:hover { background: var(--green); color: #fff; }
.button-light { color: var(--green-dark); background: #fff; }
.button-block { width: 100%; }
.button-large { min-height: 58px; padding-inline: 35px; }
.button-grow { flex: 1; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.hero-trust { margin-top: 49px; padding-top: 27px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); max-width: 590px; }
.hero-trust div { display: grid; gap: 4px; }
.hero-trust strong { font-family: "Playfair Display", serif; font-size: 22px; }
.hero-trust span { color: var(--muted); font-size: 12px; }
.hero-visual { position: relative; min-height: 550px; display: flex; align-items: flex-end; justify-content: center; }
.hero-arch { position: absolute; inset: 10px 10% 0; border-radius: 280px 280px 30px 30px; background: #d9c8b9; }
.hero-visual img { position: relative; width: 82%; height: 520px; object-fit: cover; border-radius: 250px 250px 22px 22px; box-shadow: var(--shadow); }
.floating-note { position: absolute; z-index: 2; border-radius: 14px; background: rgba(255,255,255,.93); box-shadow: 0 14px 40px rgba(34,52,43,.14); backdrop-filter: blur(10px); }
.note-top { top: 66px; left: 0; padding: 13px 17px; font-size: 13px; }
.note-top span { color: var(--rose); margin-right: 6px; }
.note-bottom { right: -4px; bottom: 65px; padding: 16px 20px; display: grid; }
.note-bottom strong { font-family: "Playfair Display", serif; font-size: 20px; }
.note-bottom span { color: var(--muted); font-size: 11px; }
.section { padding: 110px 0; }
.section-heading { margin-bottom: 44px; }
.section-heading h2 { font-size: clamp(36px, 4vw, 54px); }
.heading-split { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.heading-split > p { max-width: 410px; color: var(--muted); margin: 0; }
.category-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-auto-rows: 255px; gap: 18px; }
.category-card { position: relative; overflow: hidden; border-radius: var(--radius); }
.category-card-wide { grid-row: span 2; }
.category-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.category-card:hover img { transform: scale(1.055); }
.category-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(16,37,28,.76)); }
.category-content { position: absolute; left: 25px; right: 25px; bottom: 22px; color: #fff; display: grid; }
.category-content strong { font-family: "Playfair Display", serif; font-size: 26px; }
.category-content small { opacity: .8; }
.section-products { background: #fbf8f3; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 26px 18px; }
.product-card { min-width: 0; }
.product-image-wrap { display: block; position: relative; overflow: hidden; border-radius: 18px; background: #eee4d8; aspect-ratio: .86; }
.product-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.product-card:hover .product-image-wrap img { transform: scale(1.045); }
.product-badge { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 6px 10px; border-radius: 999px; color: #fff; background: var(--rose); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.product-badge-soft { background: rgba(255,255,255,.88); color: var(--green); }
.product-info { padding: 17px 5px 0; }
.product-meta { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.product-info h3 { margin-top: 7px; font-size: 21px; }
.product-info h3 a:hover { color: var(--green); }
.product-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 15px; }
.price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.price strong { font-size: 15px; }
.price del { color: #9b9f9c; font-size: 12px; }
.icon-button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--green); font-size: 22px; line-height: 1; }
.icon-button:hover { color: #fff; background: var(--green); }
.story-section { padding: 120px 0; }
.story-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 85px; }
.story-image { position: relative; }
.story-image::before { content: ""; position: absolute; inset: 35px -25px -25px 35px; border: 1px solid var(--sand); border-radius: 220px 220px 26px 26px; }
.story-image img { position: relative; width: 100%; height: 650px; object-fit: cover; border-radius: 220px 220px 26px 26px; }
.story-copy h2 { font-size: clamp(42px,5vw,62px); max-width: 610px; }
.story-copy > p { color: var(--muted); font-size: 17px; margin: 25px 0 35px; }
.story-points { display: grid; gap: 22px; margin-bottom: 35px; }
.story-points > div { display: grid; grid-template-columns: 44px 1fr; gap: 15px; padding-top: 20px; border-top: 1px solid var(--line); }
.story-points > div > span { color: var(--rose); font-size: 12px; }
.story-points strong { font-family: "Playfair Display", serif; font-size: 19px; }
.story-points p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.occasion-banner { background: var(--green); color: #fff; padding: 80px 0; }
.occasion-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.occasion-inner .eyebrow { color: #e9c4bd; }
.occasion-inner h2 { font-size: clamp(37px,4vw,54px); }
.occasion-inner p { max-width: 700px; color: rgba(255,255,255,.74); margin: 17px 0 0; }
.testimonials-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; align-items: stretch; }
.testimonial-intro h2 { font-size: 46px; }
blockquote { margin: 0; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; font-family: "Playfair Display", serif; font-size: 20px; line-height: 1.5; }
blockquote footer { margin-top: 28px; display: grid; font-family: "DM Sans", sans-serif; font-size: 13px; }
blockquote footer span { color: var(--muted); }
.site-footer { color: rgba(255,255,255,.82); background: #172d24; padding: 82px 0 25px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr .75fr .8fr 1.15fr; gap: 55px; }
.brand-light .brand-mark { background: #fff; color: var(--green-dark); }
.brand-light .brand-copy small { color: rgba(255,255,255,.58); }
.footer-brand p { max-width: 340px; margin: 23px 0; color: rgba(255,255,255,.62); font-size: 14px; }
.social-links { display: flex; gap: 9px; }
.social-links a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: grid; place-items: center; font-size: 10px; }
.site-footer h3 { margin-bottom: 19px; color: #fff; font-family: "DM Sans", sans-serif; font-size: 14px; }
.footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; font-size: 14px; }
.footer-links a:hover { color: #fff; }
.footer-newsletter p { color: rgba(255,255,255,.58); font-size: 14px; }
.newsletter-form { display: flex; border-bottom: 1px solid rgba(255,255,255,.34); margin: 22px 0; }
.newsletter-form input { width: 100%; border: 0; outline: 0; background: transparent; color: #fff; padding: 11px 0; }
.newsletter-form button { width: 42px; border: 0; background: transparent; color: #fff; font-size: 21px; }
.footer-contact { display: grid; gap: 7px; font-size: 13px; }
.footer-bottom { margin-top: 58px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: rgba(255,255,255,.45); }
.page-hero { padding: 105px 0; text-align: center; background: var(--cream); }
.page-hero h1 { max-width: 900px; margin: auto; font-size: clamp(50px,7vw,80px); }
.page-hero p { max-width: 670px; margin: 22px auto 0; color: var(--muted); font-size: 17px; }
.page-hero-compact { padding: 75px 0; }
.page-hero-compact h1 { font-size: clamp(42px,5vw,62px); }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 24px; }
.category-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.category-tabs a { padding: 9px 15px; border-radius: 999px; border: 1px solid var(--line); font-size: 13px; }
.category-tabs a.active, .category-tabs a:hover { background: var(--green); color: #fff; border-color: var(--green); }
.shop-controls { display: flex; gap: 10px; }
.shop-controls input, .shop-controls select { min-height: 43px; border: 1px solid var(--line); border-radius: 999px; background: #fff; padding: 0 16px; outline: 0; }
.shop-result-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 13px; padding: 0 2px 28px; }
.empty-state { text-align: center; padding: 90px 20px; border: 1px dashed var(--line); border-radius: var(--radius); }
.empty-state h1, .empty-state h2 { font-size: 40px; }
.empty-state p { color: var(--muted); margin-bottom: 25px; }
.breadcrumbs { display: flex; gap: 10px; color: var(--muted); font-size: 12px; margin-bottom: 30px; }
.product-detail-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 80px; align-items: start; }
.product-main-image { background: var(--cream); border-radius: 26px; overflow: hidden; }
.product-main-image img { width: 100%; height: 720px; object-fit: cover; }
.product-summary { padding-top: 30px; }
.product-summary h1 { font-size: clamp(45px,5vw,66px); }
.detail-price { display: flex; align-items: baseline; gap: 12px; margin: 20px 0; }
.detail-price strong { font-size: 23px; }
.detail-price del { color: #999; }
.product-summary .lead { color: var(--muted); font-size: 16px; }
.availability { display: flex; align-items: center; gap: 9px; margin: 25px 0; font-size: 13px; }
.availability span { width: 8px; height: 8px; border-radius: 50%; background: #4d9b6b; box-shadow: 0 0 0 5px #e9f5ed; }
.add-to-cart-form { display: flex; gap: 12px; margin: 25px 0; }
.quantity-control { height: 50px; display: inline-grid; grid-template-columns: 42px 48px 42px; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; }
.quantity-control button { border: 0; background: transparent; }
.quantity-control input { width: 100%; border: 0; outline: 0; text-align: center; -moz-appearance: textfield; }
.quantity-control input::-webkit-outer-spin-button, .quantity-control input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity-control.compact { height: 42px; grid-template-columns: 34px 40px 34px; }
.product-perks { display: grid; gap: 12px; padding: 23px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-perks > div { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; }
.product-perks > div > span { color: var(--rose); }
.product-perks strong, .product-perks small { display: block; }
.product-perks small { color: var(--muted); }
details { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; padding: 20px 0; font-weight: 700; }
summary::-webkit-details-marker { display: none; }
.rich-text { padding: 0 0 22px; color: var(--muted); font-size: 14px; }
.related-section { background: #fbf8f3; }
.cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: 55px; align-items: start; }
.cart-items { display: grid; }
.cart-item { display: grid; grid-template-columns: 110px 1fr auto auto; gap: 20px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); position: relative; }
.cart-item > img { width: 110px; height: 125px; object-fit: cover; border-radius: 14px; }
.cart-item-copy > span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.cart-item-copy h3 { font-size: 21px; margin: 4px 0 9px; }
.cart-line-total { min-width: 105px; text-align: right; font-weight: 700; }
.remove-button { position: absolute; right: 0; bottom: 7px; border: 0; background: transparent; color: var(--rose); font-size: 11px; }
.cart-actions-row { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; }
.order-summary { padding: 28px; border-radius: var(--radius); background: var(--cream); position: sticky; top: 110px; }
.order-summary h2 { font-size: 30px; margin-bottom: 23px; }
.order-summary > div:not(.checkout-products) { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; font-size: 14px; }
.order-summary .summary-total { margin-top: 8px; padding-top: 19px !important; border-top: 1px solid var(--line); }
.order-summary .summary-total strong { font-size: 19px; }
.order-summary > small { display: block; margin-top: 16px; color: var(--muted); font-size: 11px; }
.checkout-grid { display: grid; grid-template-columns: 1fr 390px; gap: 50px; align-items: start; }
.checkout-form { display: grid; gap: 22px; }
.form-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.form-card-title { display: grid; grid-template-columns: 42px 1fr; gap: 12px; margin-bottom: 24px; }
.form-card-title > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--cream); color: var(--rose); font-size: 12px; font-weight: 700; }
.form-card-title h2 { font-size: 27px; }
.form-card-title p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 7px; font-size: 13px; font-weight: 600; }
.field-full { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 12px 14px; outline: none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--sage); box-shadow: 0 0 0 3px rgba(141,165,147,.14); }
.payment-option { display: flex; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; margin-top: 10px; cursor: pointer; }
.payment-option input { accent-color: var(--green); }
.payment-option span { display: grid; }
.payment-option small { color: var(--muted); }
.checkout-products { display: grid; gap: 15px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.checkout-product { display: grid; grid-template-columns: 56px 1fr auto; gap: 11px; align-items: center; }
.checkout-product img { width: 56px; height: 64px; object-fit: cover; border-radius: 9px; }
.checkout-product div { display: grid; }
.checkout-product strong { font-size: 13px; }
.checkout-product span { color: var(--muted); font-size: 11px; }
.checkout-product b { font-size: 12px; }
.success-section { min-height: 650px; display: grid; align-items: center; background: var(--cream); }
.success-card { max-width: 740px; padding: 60px; text-align: center; border-radius: 28px; background: #fff; box-shadow: var(--shadow); }
.success-icon { width: 70px; height: 70px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 22px; color: #fff; background: var(--green); font-size: 30px; }
.success-card h1 { font-size: 48px; }
.success-card p { color: var(--muted); }
.success-actions { display: flex; justify-content: center; gap: 12px; margin-top: 28px; }
.about-grid { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 75px; }
.about-copy h2, .contact-info h2 { font-size: 55px; }
.about-copy > p, .contact-info > p { color: var(--muted); font-size: 16px; }
.about-values { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: 30px; }
.about-values > div { padding: 20px 14px; border: 1px solid var(--line); border-radius: 14px; }
.about-values strong, .about-values span { display: block; }
.about-values span { margin-top: 5px; color: var(--muted); font-size: 12px; }
.about-image img { height: 650px; width: 100%; object-fit: cover; border-radius: 220px 220px 24px 24px; }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.contact-list { display: grid; gap: 20px; margin-top: 32px; }
.contact-list > div { padding-top: 17px; border-top: 1px solid var(--line); }
.contact-list span { display: block; color: var(--rose); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; }
.contact-list p { margin: 2px 0 0; }
.prose { max-width: 850px; font-size: 16px; }
.prose h2, .prose h3 { margin: 35px 0 12px; }
.prose p, .prose li { color: var(--muted); }
@media (max-width: 1040px) {
  .header-inner { grid-template-columns: auto 1fr auto; }
  .nav-toggle { display: block; justify-self: end; }
  .main-nav { position: fixed; inset: 123px 20px auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 15px; background: #fff; border-radius: 18px; box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 14px; }
  .header-actions { grid-column: 3; }
  .nav-toggle { grid-column: 2; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-newsletter { grid-column: 1 / -1; }
  .cart-layout, .checkout-grid { grid-template-columns: 1fr 330px; gap: 30px; }
}
@media (max-width: 820px) {
  .container { width: min(100% - 28px, 680px); }
  .announcement-inner { justify-content: space-between; }
  .announcement-inner span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .brand-copy { display: none; }
  .header-inner { min-height: 72px; }
  .main-nav { inset: 110px 14px auto; }
  .hero-grid, .story-grid, .product-detail-grid, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-grid { padding-top: 55px; }
  .hero-copy h1 { font-size: 54px; }
  .hero-visual { min-height: 500px; }
  .category-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 235px; }
  .category-card-wide { grid-row: span 1; grid-column: span 2; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .story-image { order: 2; }
  .story-image img { height: 520px; }
  .occasion-inner, .heading-split { align-items: flex-start; flex-direction: column; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-newsletter { grid-column: 1 / -1; }
  .shop-toolbar { flex-direction: column; align-items: stretch; }
  .shop-controls { width: 100%; }
  .shop-controls input { flex: 1; }
  .product-main-image img { height: 580px; }
  .product-summary { padding-top: 0; }
  .cart-layout, .checkout-grid { grid-template-columns: 1fr; }
  .order-summary { position: static; }
  .cart-item { grid-template-columns: 90px 1fr auto; }
  .cart-item > img { width: 90px; height: 105px; }
  .cart-line-total { grid-column: 2; text-align: left; }
  .remove-button { right: 0; bottom: 20px; }
}
@media (max-width: 560px) {
  .announcement-inner a { display: none; }
  .header-actions .header-icon:first-child { display: none; }
  .hero-grid { min-height: auto; }
  .hero-copy h1 { font-size: 45px; }
  .hero-copy > p { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-trust { grid-template-columns: 1fr 1fr; gap: 20px; }
  .hero-visual { min-height: 430px; }
  .hero-visual img { height: 420px; width: 90%; }
  .note-top { left: 6px; }
  .note-bottom { right: 4px; bottom: 25px; }
  .section { padding: 75px 0; }
  .section-heading h2, .story-copy h2, .about-copy h2, .contact-info h2 { font-size: 39px; }
  .category-grid { grid-template-columns: 1fr; grid-auto-rows: 250px; }
  .category-card-wide { grid-column: span 1; }
  .product-grid { gap: 22px 10px; }
  .product-info h3 { font-size: 17px; }
  .product-row { align-items: flex-end; }
  .price { display: grid; gap: 0; }
  .story-image img, .about-image img { height: 470px; }
  .occasion-inner h2 { font-size: 37px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-newsletter { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .page-hero { padding: 70px 0; }
  .page-hero h1 { font-size: 44px; }
  .shop-controls { flex-direction: column; }
  .product-main-image img { height: 450px; }
  .add-to-cart-form { flex-direction: column; }
  .quantity-control { width: 100%; grid-template-columns: 1fr 1fr 1fr; }
  .cart-item { grid-template-columns: 76px 1fr; gap: 14px; }
  .cart-item > img { width: 76px; height: 92px; }
  .quantity-control.compact { grid-column: 2; width: 120px; }
  .cart-line-total { grid-column: 2; }
  .cart-actions-row { align-items: flex-start; flex-direction: column; gap: 15px; }
  .form-card { padding: 22px 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .success-card { padding: 40px 20px; }
  .success-card h1 { font-size: 38px; }
  .success-actions { flex-direction: column; }
  .about-values { grid-template-columns: 1fr; }
}


/* Product typography and clickable Standard/Premium variants */
.product-info-centered{text-align:center}.product-info-centered .product-meta{font-size:13px}.product-info h3{font-size:clamp(25px,2vw,31px);line-height:1.25;margin-top:14px}.product-price-large{justify-content:center;margin-top:10px}.product-price-large strong{font-size:20px}.variant-cart-form{display:grid;justify-items:center;gap:16px;margin-top:15px}.variant-options{display:flex;justify-content:center;gap:24px}.variant-option{appearance:none;border:0;background:transparent;padding:0;color:#777;display:grid;justify-items:center;gap:7px;cursor:pointer;font:inherit}.variant-option>span:last-child{font-size:14px}.variant-option.active{color:var(--green);font-weight:700}.variant-thumb{width:46px;height:46px;border-radius:50%;overflow:hidden;border:2px solid transparent;padding:2px;background:#fff}.variant-thumb img{width:100%;height:100%;object-fit:cover;border-radius:50%}.variant-option.active .variant-thumb{border-color:var(--green)}.compact-add{padding:10px 18px;font-size:12px}.detail-variants{justify-content:flex-start;margin:18px 0}.cart-variant{display:block;margin-top:5px;color:var(--muted)}

/* V5: compact purchase controls and variant-driven main image */
.product-main-image img[data-product-image] {
  transition: opacity .14s ease, transform .22s ease;
}
.product-main-image img[data-product-image].is-changing {
  opacity: .72;
  transform: scale(.995);
}
.product-purchase-form {
  display: grid;
  gap: 20px;
  margin: 24px 0 30px;
}
.product-purchase-form .detail-variants {
  display: flex;
  justify-content: flex-start;
  gap: 28px;
  margin: 0;
}
.product-purchase-form .variant-option {
  min-width: 66px;
}
.product-purchase-form .variant-thumb {
  width: 54px;
  height: 54px;
}
.purchase-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.product-add-button {
  flex: 0 0 auto;
  min-width: 230px;
  min-height: 54px;
  padding-inline: 30px;
  white-space: nowrap;
}
.product-add-button:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

@media (max-width: 540px) {
  .product-purchase-form .detail-variants {
    justify-content: flex-start;
  }
  .purchase-row {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    width: 100%;
  }
  .purchase-row .quantity-control {
    width: 128px;
    grid-template-columns: 40px 48px 40px;
  }
  .product-add-button {
    width: 100%;
    min-width: 0;
    padding-inline: 18px;
  }
}

@media (max-width: 390px) {
  .purchase-row {
    grid-template-columns: 1fr;
  }
  .purchase-row .quantity-control,
  .product-add-button {
    width: 100%;
  }
  .purchase-row .quantity-control {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* ==========================================================
   V6 Customer account, checkout, payment and tracking
   ========================================================== */
.auth-section{padding-top:50px}.auth-card{max-width:560px;background:#fff;border:1px solid rgba(31,65,51,.12);border-radius:24px;padding:34px;box-shadow:0 18px 60px rgba(31,65,51,.08)}.auth-card>h2{font-family:"Playfair Display",serif;font-size:34px;margin:0 0 8px}.auth-card>p{color:#6d756f;margin:0 0 25px}.auth-form{display:grid;gap:17px}.auth-switch{text-align:center;margin-top:20px!important}.auth-switch a{font-weight:700;color:#285d49}.account-section{padding-top:48px}.account-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}.account-sidebar{background:#fff;border:1px solid rgba(31,65,51,.12);border-radius:24px;padding:28px;text-align:center;position:sticky;top:120px}.account-avatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#285d49;color:#fff;font-family:"Playfair Display",serif;font-size:34px}.account-sidebar h2{margin:0 0 8px;font-family:"Playfair Display",serif}.account-sidebar p{color:#707772;line-height:1.7}.account-content{min-width:0}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.account-heading h2{font-family:"Playfair Display",serif;font-size:34px;margin:4px 0}.account-orders{display:grid;gap:14px}.account-order-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:20px;align-items:center;background:#fff;border:1px solid rgba(31,65,51,.12);border-radius:18px;padding:20px}.account-order-card h3{font-size:18px;margin:3px 0 5px}.account-order-card p,.account-order-card small{color:#747b76}.order-card-status{display:flex;flex-direction:column;gap:7px}.admin-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#f5ead0;color:#765f23;font-size:12px;font-weight:700;white-space:nowrap}.admin-badge.success{background:#e1f3e8;color:#25653f}.admin-badge.primary{background:#e0ebf4;color:#285d78}.admin-badge.info{background:#e6f2f4;color:#24636b}.admin-badge.danger{background:#f8e2e2;color:#8d3232}.order-page-grid,.payment-confirm-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}.order-page-main{display:grid;gap:18px}.sticky-summary{position:sticky;top:120px}.status-grid,.tracking-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.status-grid>div,.tracking-overview>div{background:#f7f4ef;border-radius:16px;padding:16px}.status-grid small,.tracking-overview small{display:block;color:#7b817c;margin-bottom:6px}.status-grid strong,.tracking-overview strong{display:block}.order-action-row{display:flex;gap:12px;flex-wrap:wrap}.order-action-row form{margin:0}.confirmation-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(31,65,51,.1)}.confirmation-row div{display:grid;gap:4px}.confirmation-row span{color:#6f7771}.bank-list{display:grid;gap:12px}.bank-card{display:block;cursor:pointer}.bank-card input{position:absolute;opacity:0}.bank-card>span{display:grid;gap:4px;border:1px solid rgba(31,65,51,.14);border-radius:16px;padding:18px;transition:.2s}.bank-card input:checked+span{border-color:#285d49;box-shadow:0 0 0 2px rgba(40,93,73,.12);background:#f6faf8}.bank-card b{font-size:22px;letter-spacing:.03em}.bank-card small,.bank-card em{color:#717a74;font-style:normal}.tracking-layout{max-width:900px}.tracking-timeline{margin-top:28px}.tracking-event{display:grid;grid-template-columns:18px 1fr;gap:16px;position:relative;padding-bottom:24px}.tracking-event>span{width:14px;height:14px;border-radius:50%;background:#285d49;margin-top:4px;position:relative}.tracking-event:not(:last-child)>span:after{content:"";position:absolute;width:2px;height:calc(100% + 20px);background:#dbe7e1;left:6px;top:14px}.tracking-event strong{display:block}.tracking-event p{margin:5px 0;color:#69716c}.tracking-event small{color:#909691}.postal-rate-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.postal-rate-field .button{padding:0 17px;white-space:nowrap}.checkout-bank-preview{display:grid;gap:8px;margin-top:16px;background:#f7f4ef;border-radius:15px;padding:15px}.checkout-bank-preview span{font-size:13px}.checkout-form button[disabled]{opacity:.55;cursor:not-allowed}.field small{display:block;margin-top:7px;color:#7b817c}.header-icon.account-icon svg{stroke-width:1.7}
@media(max-width:900px){.account-layout,.order-page-grid,.payment-confirm-grid{grid-template-columns:1fr}.account-sidebar,.sticky-summary{position:static}.account-order-card{grid-template-columns:1fr auto}.account-order-card>strong,.account-order-card>a{justify-self:start}.status-grid,.tracking-overview{grid-template-columns:1fr}.account-heading{align-items:flex-start;flex-direction:column}.account-heading .button{width:100%}.postal-rate-field{grid-template-columns:1fr}.postal-rate-field .button{height:48px}}

/* V7 customer addresses and map picker */
.auth-card-wide{max-width:940px}.auth-heading{text-align:center;margin-bottom:24px}.auth-heading h2{font-family:"Playfair Display",serif;font-size:38px;margin:0 0 8px}.auth-heading p{color:#6d756f;margin:0}.compact-card{padding:26px}.compact-card .form-card-title h3{font-family:"Playfair Display",serif;font-size:24px;margin:0}.button-small{min-height:38px!important;padding:8px 14px!important;font-size:12px!important}.map-picker-card{margin-top:20px;border:1px solid rgba(31,65,51,.14);border-radius:18px;padding:16px;background:#f9faf8}.map-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.map-picker-heading>div{display:grid;gap:3px}.map-picker-heading strong{font-size:15px}.map-picker-heading small{color:#747c76}.address-map{width:100%;height:340px;border-radius:14px;overflow:hidden;background:#e9eeeb;z-index:1}.address-map .leaflet-control-attribution{font-size:9px}.coordinate-readout{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:10px;color:#747c76;font-size:12px}.coordinate-readout a{color:#285d49;font-weight:700}.map-error{padding:30px;color:#874043}.field-check{display:flex!important;align-items:center!important;gap:10px!important}.field-check input{width:auto!important}.field-check span{font-size:13px;font-weight:600}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.account-menu{display:grid;gap:5px;margin:22px 0;text-align:left}.account-menu a{display:block;padding:11px 13px;border-radius:10px;background:#f6f5f1;font-size:13px;font-weight:600}.account-menu a.active,.account-menu a:hover{background:#285d49;color:#fff}.account-heading>div>p{color:#747c76;margin:5px 0 0}.address-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:25px}.address-card{background:#fff;border:1px solid rgba(31,65,51,.13);border-radius:18px;padding:20px;display:grid;gap:10px}.address-card.is-inactive{opacity:.65}.address-card-top{display:grid;gap:10px}.address-card-top>div{display:flex;gap:7px;align-items:center}.address-label,.address-default{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ef;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.address-default{background:#e1f3e8;color:#25653f}.address-card p{margin:0;color:#505b54;line-height:1.65}.address-card small{color:#788079}.address-card-meta{font-size:12px}.address-card-meta a{color:#285d49;font-weight:700}.address-card-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding-top:9px;border-top:1px solid rgba(31,65,51,.09)}.address-card-actions form{margin:0}.address-card-actions a,.address-card-actions button{border:0;background:none;padding:0;color:#285d49;font-size:12px;font-weight:700;cursor:pointer}.address-card-actions .danger-link{color:#9b4444}.address-editor{margin-top:22px}.saved-address-select{padding:15px;background:#f7f4ef;border-radius:15px;margin-bottom:18px}.saved-address-select small a{color:#285d49;font-weight:700}.shipping-service-grid{margin-top:20px}.new-address-save[hidden]{display:none!important}
@media(max-width:900px){.address-card-grid{grid-template-columns:1fr}.address-map{height:300px}.map-picker-heading{align-items:flex-start;flex-direction:column}.map-picker-heading .button{width:100%}}
@media(max-width:540px){.auth-card-wide{padding:18px}.compact-card{padding:18px}.address-map{height:260px}.coordinate-readout{align-items:flex-start;flex-direction:column}.form-actions .button{width:100%}}

/* V7.1 map search and precise geolocation */
.map-location-options{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:12px;margin:0 0 14px}.map-location-option{border:1px solid rgba(31,65,51,.13);border-radius:14px;padding:14px;background:#fff}.map-option-heading{display:flex;gap:10px;align-items:flex-start}.map-option-heading>div{display:grid;gap:2px}.map-option-heading strong{font-size:13px;color:#183d2e}.map-option-heading small{font-size:11px;color:#737b75;line-height:1.45}.map-option-number{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#285d49;color:#fff;font-size:11px;font-weight:700}.map-search-row{display:flex;gap:8px;margin-top:12px}.map-search-row input{min-width:0;flex:1;border:1px solid rgba(31,65,51,.18);border-radius:10px;padding:11px 12px;background:#fff;font:inherit;font-size:12px;color:#183d2e}.map-search-row input:focus{outline:2px solid rgba(40,93,73,.18);border-color:#285d49}.map-search-row button{border:0;border-radius:10px;padding:10px 14px;background:#285d49;color:#fff;font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.map-search-row button:disabled{opacity:.58;cursor:wait}.map-search-status{min-height:18px;margin-top:8px;font-size:11px;color:#747c76;line-height:1.45}.map-search-status.is-error{color:#9b4444}.map-search-status.is-success{color:#287044}.map-search-results{display:grid;gap:6px;margin-top:8px;max-height:210px;overflow:auto}.map-search-result{display:grid;gap:3px;width:100%;text-align:left;border:1px solid rgba(31,65,51,.12);border-radius:10px;padding:10px 11px;background:#f9faf8;color:#183d2e;cursor:pointer}.map-search-result:hover,.map-search-result:focus{border-color:#285d49;background:#eef4f0;outline:none}.map-search-result strong{font-size:12px}.map-search-result span{font-size:10px;color:#6d756f;line-height:1.45}.ania-map-marker{background:transparent!important;border:0!important}.ania-map-pin{position:relative;display:block;width:34px;height:42px;border-radius:50% 50% 50% 0;background:#285d49;transform:rotate(-45deg);box-shadow:0 4px 14px rgba(15,48,35,.32);border:3px solid #fff}.ania-map-pin>span{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}.ania-map-accuracy{fill:#2c7658;fill-opacity:.12;stroke:#2c7658;stroke-opacity:.55;stroke-width:2}.address-map .leaflet-tooltip{border:0;border-radius:8px;box-shadow:0 3px 14px rgba(0,0,0,.15);font-size:10px;font-weight:700;color:#214a39}.coordinate-readout span{line-height:1.45}
@media(max-width:760px){.map-location-options{grid-template-columns:1fr}.map-location-option-manual{padding-bottom:12px}.map-search-row{flex-direction:column}.map-search-row button{width:100%}}


/* V7.6 live tracking and complete order list */
.account-heading h2 small{font-family:"DM Sans",sans-serif;font-size:14px;color:#7a827c;font-weight:500}.account-heading p{margin:6px 0 0;color:#747b76}.account-order-card-rich{grid-template-columns:minmax(0,1fr) auto auto auto}.account-order-main{min-width:0}.account-tracking-line{display:block;margin-top:7px;color:#68716b;font-size:12px}.account-tracking-line b{color:#285d49}.account-order-total{font-size:18px;white-space:nowrap}.account-order-actions{display:flex;gap:8px;flex-wrap:wrap}.account-order-actions a{padding:9px 12px;border:1px solid rgba(31,65,51,.16);border-radius:10px;color:#285d49;font-size:12px;font-weight:700}.live-tracking-note{padding:12px 14px;border-radius:13px;background:#f4f7f5;color:#64716a;font-size:12px;line-height:1.6}.courier-live-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin:20px 0;padding:18px;border:1px solid rgba(31,65,51,.12);border-radius:18px;background:#fbfcfb}.courier-live-card[hidden]{display:none}.courier-live-card img,.courier-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover}.courier-avatar{display:grid;place-items:center;background:#285d49;color:#fff;font-size:22px}.courier-live-info{display:grid;gap:4px}.courier-live-info small,.courier-live-info span{color:#737c76}.courier-live-info strong{font-size:18px}.courier-live-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.tracking-location-explain{padding:13px 15px;border-left:3px solid #c8888c;background:#fff8f7;color:#6d756f;font-size:12px;line-height:1.65}.courier-mini-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;padding:15px 17px;border-radius:15px;background:#f4f7f5}.courier-mini-summary>div{display:grid;gap:3px}.courier-mini-summary small,.courier-mini-summary span{color:#727b75}.compact-tracking-events{display:grid;margin-top:18px;border-top:1px solid rgba(31,65,51,.1);padding-top:14px}.compact-tracking-events>div{display:grid;grid-template-columns:12px 1fr;gap:10px;padding:7px 0}.compact-tracking-events>div>span{width:9px;height:9px;border-radius:50%;background:#285d49;margin-top:5px}.compact-tracking-events p{display:flex;justify-content:space-between;gap:16px;margin:0}.compact-tracking-events small{color:#89908b;font-weight:400}
@media(max-width:900px){.account-order-card-rich{grid-template-columns:1fr auto}.account-order-total,.account-order-actions{justify-self:start}.courier-live-card{grid-template-columns:auto 1fr}.courier-live-actions{grid-column:1/-1;justify-content:stretch}.courier-live-actions .button{flex:1}.courier-mini-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.account-order-card-rich{grid-template-columns:1fr}.courier-live-card{grid-template-columns:1fr}.courier-live-card img,.courier-avatar{width:52px;height:52px}.compact-tracking-events p{display:grid;gap:3px}}

.courier-mini-summary[hidden]{display:none}

/* V7.7 cancellation, support tickets and customer service */
.button-danger{background:#9a3f45;color:#fff;border-color:#9a3f45}.button-danger:hover{background:#81343a}.button-danger-outline{color:#923b42;border:1px solid rgba(146,59,66,.42);background:#fff}.notice-box{padding:16px 18px;border-radius:14px;margin-top:14px}.notice-box p{margin:7px 0 0}.notice-warning{background:#fff4da;color:#77581c}.notice-danger{background:#f9e6e7;color:#81353a}.cancellation-card{border-color:rgba(154,63,69,.2)}.ticket-list{display:grid;gap:12px;margin-top:20px}.ticket-list-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border:1px solid rgba(31,65,51,.13);border-radius:16px;background:#fff}.ticket-list-card>div{display:grid;gap:5px}.ticket-list-card small,.ticket-list-card span{color:#747c76}.ticket-list-card strong{font-size:17px}.ticket-page{max-width:900px}.ticket-thread{display:grid;gap:16px}.ticket-thread-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid rgba(31,65,51,.12)}.ticket-thread-head h2{font-family:"Playfair Display",serif;font-size:30px;margin:0}.ticket-thread-head p{color:#747c76}.ticket-message{max-width:82%;padding:16px 18px;border-radius:17px;background:#f3f5f2;border:1px solid rgba(31,65,51,.08)}.ticket-message.is-admin{justify-self:end;background:#e9f2ed}.ticket-message>div{display:flex;justify-content:space-between;gap:20px}.ticket-message small{color:#788079}.ticket-message p{margin:10px 0 0;line-height:1.7}.account-order-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:700px){.ticket-list-card,.ticket-thread-head{align-items:flex-start;flex-direction:column}.ticket-message{max-width:100%}.order-action-row .button,.order-action-row form{width:100%}.order-action-row form .button{width:100%}}

/* V7.8 uploaded branding */
.brand-logo{display:flex;align-items:center;justify-content:center;max-width:180px;height:50px;overflow:hidden}
.brand-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.brand.logo-only .brand-logo{max-width:230px;height:56px}
.brand-light .footer-brand-logo{padding:6px 9px;border-radius:10px;background:#fff}
@media(max-width:700px){.brand-logo{max-width:138px;height:42px}.brand.logo-only .brand-logo{max-width:170px;height:46px}}

/* V7.9 — editorial landing page inspired by the supplied reference */
.home-reference-layout { background:#fbf7f0; }
.home-reference-layout main { overflow:hidden; }
.home-reference-layout .announcement-bar { background:#dfeee5; color:#355848; }
.home-reference-layout .site-header { background:rgba(255,252,247,.97); }
.home-reference-layout .header-inner { min-height:78px; }
.home-reference-layout .flash-wrap { background:#fbf7f0; }
.home-reference-layout .container { width:min(1260px,calc(100% - 40px)); }
.home-hero-shell { padding:0 0 82px; background:#fbf7f0; }
.home-hero { min-height:690px; position:relative; overflow:hidden; background-image:var(--home-hero-image); background-size:cover; background-position:center; }
.home-hero::after { content:""; position:absolute; inset:auto 0 0; height:34%; background:linear-gradient(0deg,rgba(0,0,0,.08),transparent); pointer-events:none; }
.home-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,31,28,.79) 0%,rgba(24,35,31,.60) 35%,rgba(31,42,37,.12) 68%,rgba(255,255,255,.03) 100%); }
.home-hero-content { position:relative; z-index:2; width:min(650px,54%); padding:128px 0 100px 62px; color:#fff; }
.home-kicker { display:block; margin-bottom:22px; color:rgba(255,255,255,.78); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.home-hero h1 { font-size:clamp(48px,5.8vw,82px); font-weight:500; line-height:1.03; letter-spacing:-.03em; }
.home-hero p { max-width:560px; margin:25px 0 30px; color:rgba(255,255,255,.76); font-size:15px; line-height:1.8; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid transparent; border-radius:2px; padding:0 19px; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; transition:.2s ease; }
.home-button:hover { transform:translateY(-2px); }
.home-button-light { background:#d8eadf; color:#2d5745; }
.home-button-ghost { border-color:rgba(255,255,255,.5); color:#fff; background:rgba(255,255,255,.05); }
.home-button-green { background:#a9cdb8; color:#264b3b; }
.home-button-outline { border-color:#a9cdb8; color:#315b48; background:transparent; }
.home-section { padding:90px 0; background:#fbf7f0; }
.home-section-heading { margin-bottom:36px; }
.home-section-heading-center { max-width:720px; margin-left:auto; margin-right:auto; text-align:center; }
.home-section-heading > span { display:block; margin-bottom:10px; color:#b97579; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.home-section-heading h2 { color:#34453e; font-size:clamp(34px,4vw,52px); font-weight:500; }
.home-section-heading p { max-width:620px; margin:13px auto 0; color:#7b817d; font-size:13px; }
.home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:54px 18px; }
.home-product-card { min-width:0; text-align:center; }
.home-product-image { position:relative; display:block; overflow:hidden; aspect-ratio:4/5; background:#f0ece5; }
.home-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease,opacity .16s ease; }
.home-product-card:hover .home-product-image img { transform:scale(1.035); }
.home-product-badge { position:absolute; z-index:2; top:12px; left:12px; padding:5px 9px; border-radius:999px; background:#fff; color:#5c675f; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.home-product-badge-soft { background:#f8f5ef; }
.home-product-hover { position:absolute; z-index:2; left:50%; bottom:18px; transform:translate(-50%,12px); opacity:0; padding:9px 14px; background:rgba(255,255,255,.92); color:#315745; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; transition:.25s; }
.home-product-card:hover .home-product-hover { opacity:1; transform:translate(-50%,0); }
.home-product-info { padding:15px 4px 0; }
.home-product-category { color:#9a948d; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.home-product-info h3 { margin:8px 0 5px; font-size:19px; line-height:1.25; font-weight:500; }
.home-product-price { display:block; color:#405048; font-size:12px; font-weight:500; }
.home-variant-form { position:relative; display:flex; align-items:flex-end; justify-content:center; gap:14px; margin-top:12px; }
.home-variant-options { display:flex; justify-content:center; gap:13px; }
.home-variant-option { gap:4px; }
.home-variant-option .variant-thumb { width:30px; height:30px; padding:1px; border-width:1px; }
.home-variant-option > span:last-child { font-size:8px; }
.home-add-button { min-width:54px; min-height:30px; border:1px solid #b9cec0; background:transparent; color:#3c624f; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.home-add-button:hover { background:#a9cdb8; }
.home-center-action { display:flex; justify-content:center; margin-top:48px; }
.home-occasion-section { border-top:1px solid rgba(53,76,65,.08); }
.home-occasion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-occasion-card { position:relative; min-height:490px; overflow:hidden; background:#ece8e0; }
.home-occasion-card img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.home-occasion-card:hover img { transform:scale(1.045); }
.home-occasion-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,27,23,.02) 35%,rgba(20,28,25,.68) 100%); }
.home-occasion-content { position:absolute; z-index:2; inset:auto 26px 28px; display:grid; color:#fff; }
.home-occasion-content small { margin-bottom:5px; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }
.home-occasion-content strong { font-family:"Playfair Display",serif; font-size:28px; font-weight:500; }
.home-occasion-content em { margin-top:4px; color:rgba(255,255,255,.72); font-size:10px; font-style:normal; }
.home-occasion-content b { width:max-content; margin-top:17px; padding:9px 14px; background:#b7d6c2; color:#2e5845; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.home-testimonial-section { padding-top:78px; border-top:1px solid rgba(53,76,65,.08); }
.home-testimonial-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(53,76,65,.12); border-bottom:1px solid rgba(53,76,65,.12); }
.home-testimonial-card { margin:0; min-height:230px; padding:31px 25px; border-right:1px solid rgba(53,76,65,.12); }
.home-testimonial-card:last-child { border-right:0; }
.home-testimonial-card p { margin:0; color:#626c67; font-family:"Playfair Display",serif; font-size:15px; line-height:1.7; }
.home-testimonial-card footer { display:flex; align-items:center; gap:10px; margin-top:25px; }
.home-testimonial-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#dbe8de; color:#315746; font-family:"Playfair Display",serif; }
.home-testimonial-card footer > span:last-child { display:grid; text-align:left; }
.home-testimonial-card footer strong { font-size:10px; }
.home-testimonial-card footer small { color:#9a9e9b; font-size:8px; }
.home-story-section { background:#f7f3ec; }
.home-story-grid { min-height:650px; display:grid; grid-template-columns:1fr 1.18fr; align-items:stretch; }
.home-story-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 74px 80px 50px; }
.home-kicker-dark { color:#79817c; }
.home-story-copy h2 { max-width:520px; color:#36463f; font-size:clamp(48px,5vw,72px); font-weight:500; }
.home-story-copy p { max-width:590px; margin:24px 0; color:#747b77; font-size:13px; line-height:1.85; }
.home-text-link { display:inline-flex; align-items:center; gap:8px; width:max-content; color:#416451; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.home-story-image { min-height:650px; }
.home-story-image img { width:100%; height:100%; object-fit:cover; }
.home-care-section { background:#fbf7f0; }
.home-care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(53,76,65,.12); }
.home-care-item { display:grid; grid-template-columns:48px 1fr; gap:16px; min-height:190px; padding:32px 28px; border-right:1px solid rgba(53,76,65,.12); border-bottom:1px solid rgba(53,76,65,.12); }
.home-care-item:nth-child(3n) { border-right:0; }
.home-care-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #8fa597; border-radius:50%; color:#496a58; font-size:18px; }
.home-care-item h3 { margin:3px 0 8px; font-family:"DM Sans",sans-serif; font-size:13px; }
.home-care-item p { margin:0; color:#7c827e; font-size:11px; line-height:1.75; }
.home-cta-section { padding:44px 0; border-top:1px solid rgba(53,76,65,.12); background:#fbf7f0; }
.home-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.home-cta-inner h2 { font-size:31px; font-weight:500; }
.home-cta-inner p { margin:6px 0 0; color:#858a87; font-size:11px; }
.home-cta-actions { display:flex; flex-wrap:wrap; gap:10px; }
.home-reference-layout .site-footer { padding-top:72px; color:#52605a; background:#f6f1e8; border-top:1px solid rgba(53,76,65,.1); }
.home-reference-layout .site-footer h3 { color:#34483e; }
.home-reference-layout .footer-brand p,.home-reference-layout .footer-newsletter p { color:#747d78; }
.home-reference-layout .footer-links a,.home-reference-layout .footer-contact a { color:#59665f; }
.home-reference-layout .footer-bottom { color:#8c918e; border-top-color:rgba(53,76,65,.12); }
.home-reference-layout .brand-light { color:#34483e; }
.home-reference-layout .social-links a { border-color:rgba(53,76,65,.22); color:#41584c; }
.home-reference-layout .newsletter-form { border-color:rgba(53,76,65,.2); }
.home-reference-layout .newsletter-form input { color:#34483e; }
.home-reference-layout .newsletter-form button { color:#34483e; }

@media (max-width:1040px) {
  .home-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-testimonial-card:nth-child(2) { border-right:0; }
  .home-testimonial-card:nth-child(-n+2) { border-bottom:1px solid rgba(53,76,65,.12); }
  .home-story-copy { padding-inline:35px; }
}
@media (max-width:820px) {
  .home-reference-layout .container { width:min(100% - 28px,680px); }
  .home-hero { min-height:600px; background-position:62% center; }
  .home-hero-overlay { background:linear-gradient(90deg,rgba(20,31,28,.82),rgba(24,35,31,.55) 58%,rgba(31,42,37,.12)); }
  .home-hero-content { width:78%; padding:105px 30px 80px; }
  .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 14px; }
  .home-occasion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-story-grid { grid-template-columns:1fr; }
  .home-story-copy { padding:70px 30px; }
  .home-story-image { min-height:520px; }
  .home-care-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-care-item:nth-child(3n) { border-right:1px solid rgba(53,76,65,.12); }
  .home-care-item:nth-child(2n) { border-right:0; }
  .home-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px) {
  .home-hero-shell { padding-bottom:58px; }
  .home-hero { min-height:570px; background-position:64% center; }
  .home-hero-overlay { background:linear-gradient(90deg,rgba(18,28,24,.84),rgba(18,28,24,.55) 72%,rgba(18,28,24,.18)); }
  .home-hero-content { width:100%; padding:90px 22px 62px; }
  .home-hero h1 { font-size:46px; }
  .home-hero p { font-size:13px; }
  .home-section { padding:68px 0; }
  .home-product-grid { gap:35px 10px; }
  .home-product-info h3 { font-size:16px; }
  .home-variant-form { display:grid; gap:9px; }
  .home-add-button { width:100%; }
  .home-occasion-grid { grid-template-columns:1fr; }
  .home-occasion-card { min-height:430px; }
  .home-testimonial-grid { grid-template-columns:1fr; }
  .home-testimonial-card { border-right:0; border-bottom:1px solid rgba(53,76,65,.12); }
  .home-testimonial-card:last-child { border-bottom:0; }
  .home-story-copy h2 { font-size:47px; }
  .home-story-image { min-height:430px; }
  .home-care-grid { grid-template-columns:1fr; }
  .home-care-item { border-right:0!important; }
  .home-cta-actions { width:100%; }
  .home-cta-actions .home-button { flex:1; }
}


/* V8.2 editorial shop page */
.shop-editorial-layout{background:#fbf7f0}
.shop-editorial-layout .page-hero{display:none}
.shop-editorial-section{padding:32px 0 0}
.shop-editorial-header{padding:10px 0 28px;text-align:center}
.shop-breadcrumbs{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;color:#9b9a95;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.shop-breadcrumbs a{color:#8f908a}
.shop-editorial-header h1{font-size:52px;font-weight:500;color:#33423b}
.shop-editorial-layout-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.shop-editorial-sidebar{position:sticky;top:110px;padding-top:12px}
.shop-side-menu,.shop-side-group{border-top:1px solid rgba(53,76,65,.12)}
.shop-side-menu a,.shop-side-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;color:#8f8f89;font-size:15px;border-bottom:1px solid rgba(53,76,65,.08)}
.shop-side-menu a.active,.shop-side-links a.active{color:#36463f;font-weight:700}
.shop-side-menu small,.shop-side-links small{color:#b0aea8;font-size:12px}
.shop-side-title{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 0 12px;border:0;background:none;color:#6c706b;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.shop-side-title::after{content:"⌃";font-size:12px;color:#a6a7a1}
.shop-side-note{margin-top:22px;padding:18px;border:1px solid rgba(53,76,65,.1);border-radius:18px;background:#fffdfa}
.shop-side-note strong{display:block;margin-bottom:6px;color:#36463f}.shop-side-note p{margin:0 0 8px;color:#777b76;font-size:13px}.shop-side-note a{font-weight:700;color:#4b6558}
.shop-editorial-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.shop-toolbar-search{flex:1;max-width:430px}.shop-toolbar-search input{width:100%;min-height:42px;border:1px solid rgba(53,76,65,.12);border-radius:999px;background:#fff;padding:0 18px;outline:0}
.shop-toolbar-sort{display:flex;align-items:center;gap:10px}.shop-toolbar-sort label{color:#9c9e98;font-size:12px}.shop-toolbar-sort select{min-height:36px;border:1px solid rgba(53,76,65,.12);border-radius:999px;background:#fff;padding:0 34px 0 14px;outline:0;color:#5f635f}
.shop-editorial-meta{display:flex;justify-content:space-between;gap:16px;padding:0 2px 18px;color:#9a9a95;font-size:13px}
.shop-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 18px}
.shop-editorial-grid .product-card{background:transparent;border:0;padding:0;box-shadow:none}
.shop-editorial-grid .product-image-wrap{display:block;border-radius:10px;overflow:hidden;background:#f2ede6}
.shop-editorial-grid .product-image-wrap img{width:100%;aspect-ratio:0.8/1;object-fit:cover;transition:transform .35s ease}
.shop-editorial-grid .product-card:hover .product-image-wrap img{transform:scale(1.02)}
.shop-editorial-grid .product-info{padding:12px 6px 0;text-align:center}
.shop-editorial-grid .product-meta{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 14px;border:1px solid rgba(53,76,65,.12);border-radius:999px;background:#fbf7f0;color:#8d8e88;font-size:11px}
.shop-editorial-grid .product-info h3{margin:12px 0 7px;font-size:18px;font-weight:500;line-height:1.3;color:#34443d}
.shop-editorial-grid .product-info h3 a{color:inherit}
.shop-editorial-grid .product-price-large strong{font-size:15px;font-weight:600;color:#737570}
.shop-editorial-grid .variant-cart-form{display:grid;justify-items:center;gap:10px;margin-top:12px}
.shop-editorial-grid .variant-options{justify-content:center;gap:14px}
.shop-editorial-grid .variant-option{gap:4px}
.shop-editorial-grid .variant-thumb{width:34px;height:34px}
.shop-editorial-grid .variant-option>span:last-child{font-size:10px;color:#8f928d}
.shop-editorial-grid .variant-option.active>span:last-child{color:#34443d;font-weight:700}
.shop-editorial-grid .compact-add{display:none}
.shop-editorial-grid .product-badge{top:12px;left:12px;border-radius:999px;background:#fff;color:#7c7e79;border:1px solid rgba(53,76,65,.12);box-shadow:none;padding:7px 13px;font-size:10px;letter-spacing:.08em}
.shop-cta-strip{padding:44px 0 0}.shop-cta-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:36px 0;border-top:1px solid rgba(53,76,65,.1)}.shop-cta-strip-inner h2{font-size:48px;font-weight:500;color:#415049;margin-bottom:8px}.shop-cta-strip-inner p{color:#7d827d}.shop-cta-actions{display:flex;gap:12px}.button-soft{background:#c8d8cb;color:#fff}.button-outline{background:transparent;border:1px solid rgba(53,76,65,.15);color:#8ea194}
@media(max-width:1100px){.shop-editorial-layout-grid{grid-template-columns:220px minmax(0,1fr)}.shop-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.shop-editorial-header h1{font-size:38px}.shop-editorial-layout-grid{grid-template-columns:1fr}.shop-editorial-sidebar{position:static}.shop-editorial-toolbar,.shop-editorial-meta,.shop-cta-strip-inner{flex-direction:column;align-items:stretch}.shop-toolbar-search{max-width:none}.shop-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-cta-actions{flex-direction:column}}
@media(max-width:560px){.shop-editorial-section{padding-top:18px}.shop-breadcrumbs{flex-wrap:wrap}.shop-editorial-header h1{font-size:32px}.shop-editorial-grid{grid-template-columns:1fr}.shop-editorial-grid .product-info h3{font-size:20px}.shop-cta-strip-inner h2{font-size:32px}}


/* V8.3 configurable homepage slideshow */
.home-hero-slider{position:relative;background:#1b2822}
.home-hero-slide{position:absolute;inset:0;z-index:0;opacity:0;visibility:hidden;background-image:var(--home-hero-image);background-size:cover;background-position:center;transition:opacity .9s ease,visibility .9s ease}
.home-hero-slide.is-active{z-index:1;opacity:1;visibility:visible}
.home-hero-slider .home-hero-slide:first-child:last-of-type{position:absolute}
.home-hero-slider .home-hero-content{position:relative;z-index:3}
.home-hero-slider[data-text-animation="fade-up"] .home-hero-slide.is-active .home-hero-content.is-animating>*{animation:heroTextFadeUp .75s both}
.home-hero-slider[data-text-animation="fade-left"] .home-hero-slide.is-active .home-hero-content.is-animating>*{animation:heroTextFadeLeft .75s both}
.home-hero-slider[data-text-animation="zoom"] .home-hero-slide.is-active .home-hero-content.is-animating>*{animation:heroTextZoom .75s both}
.home-hero-slider .home-hero-content.is-animating>*:nth-child(2){animation-delay:.09s!important}.home-hero-slider .home-hero-content.is-animating>*:nth-child(3){animation-delay:.18s!important}.home-hero-slider .home-hero-content.is-animating>*:nth-child(4){animation-delay:.27s!important}
@keyframes heroTextFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes heroTextFadeLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes heroTextZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.home-hero-controls{position:absolute;z-index:6;right:24px;bottom:22px;display:flex;align-items:center;gap:10px}
.home-hero-arrow{width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(22,35,29,.24);color:#fff;font-size:24px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}
.home-hero-dots{display:flex;align-items:center;gap:7px}.home-hero-dot{width:8px;height:8px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.home-hero-dot.is-active{background:#fff}
.hero-slide-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-slide-upload-card{grid-template-columns:1fr}.hero-slide-preview{grid-row:auto;width:100%;height:160px}.hero-slide-preview img{width:100%;height:100%;object-fit:cover}.hero-slide-upload-card .branding-upload-fields{min-width:0}
/* Product cards on homepage are view/variant only; cart button intentionally hidden. */
.home-reference-layout .home-add-button{display:none!important}
@media(max-width:900px){.hero-slide-upload-grid{grid-template-columns:1fr}.site-header .brand-copy{display:none!important}.site-header .brand{gap:0}.site-header .brand-logo{max-width:120px}.site-header .brand.logo-only .brand-logo{max-width:140px}}
@media(max-width:560px){.home-hero-controls{right:14px;bottom:14px}.home-hero-arrow{width:34px;height:34px}.home-hero-slider .home-hero-content{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.home-hero-slide{transition:none}.home-hero-slider .home-hero-content>*{animation:none!important}}


/* V8.4 slideshow: full image, full width, and reliable layout */
.home-hero-shell{padding-top:0}
.home-hero-frame{width:100%;max-width:1600px;margin:0 auto}
.home-hero-slider{height:var(--hero-height-desktop,620px);min-height:0;isolation:isolate;overflow:hidden;background:#17231e}
.home-hero-slide{height:100%;overflow:hidden;background:none!important}
.home-hero-slide::before{content:"";position:absolute;inset:-24px;z-index:0;background-image:var(--home-hero-image);background-size:cover;background-position:var(--hero-image-position,center center);filter:blur(20px);transform:scale(1.06);opacity:.44}
.home-hero-media{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;object-fit:var(--hero-image-fit,contain);object-position:var(--hero-image-position,center center)}
.home-hero-slider .home-hero-overlay{z-index:2}
.home-hero-slider .home-hero-content{z-index:3;max-height:100%;padding-top:clamp(52px,8vh,96px);padding-bottom:52px;overflow:visible}
.home-hero-slider .home-hero-controls{z-index:7}
@media(max-width:820px){.home-hero-slider{height:var(--hero-height-mobile,520px)}.home-hero-slider .home-hero-content{padding-top:62px;padding-bottom:50px}}
@media(max-width:560px){.home-hero-slider{height:var(--hero-height-mobile,520px)}.home-hero-slider .home-hero-content{padding-top:44px}.home-hero-slider .home-hero h1{font-size:clamp(38px,12vw,52px);line-height:1.02}}


/* V9.1 centered header for all pages */
.header-centered-global{background:#fcf7f1;border-bottom:1px solid rgba(53,76,65,.08)}
.header-centered-global .flash-wrap{padding-top:0}
.header-centered-global + main .flash-wrap{padding-top:12px}
body:not(.home-reference-layout) .header-centered-global .classic-header-inner{position:relative;min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
body:not(.home-reference-layout) .header-centered-global .classic-header-nav{display:flex;align-items:center;gap:26px}
body:not(.home-reference-layout) .header-centered-global .classic-header-left{justify-content:flex-end}
body:not(.home-reference-layout) .header-centered-global .classic-header-nav a{position:relative;color:#44544c;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
body:not(.home-reference-layout) .header-centered-global .classic-header-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#44544c;transform:scaleX(0);transition:.2s}
body:not(.home-reference-layout) .header-centered-global .classic-header-nav a:hover::after,body:not(.home-reference-layout) .header-centered-global .classic-header-nav a.active::after{transform:scaleX(1)}
body:not(.home-reference-layout) .header-centered-global .classic-home-brand{justify-self:center;display:flex;align-items:center;justify-content:center;min-width:112px;padding:5px 10px}
body:not(.home-reference-layout) .header-centered-global .classic-home-brand .brand-logo,body:not(.home-reference-layout) .header-centered-global .classic-home-brand.logo-only .brand-logo{max-width:112px;height:52px}
body:not(.home-reference-layout) .header-centered-global .classic-wordmark strong{font-size:26px;letter-spacing:.22em;color:#35443c}
body:not(.home-reference-layout) .header-centered-global .classic-wordmark small{display:block;margin-top:4px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#7d817f}
body:not(.home-reference-layout) .header-centered-global .classic-header-right{display:flex;align-items:center;justify-content:flex-start;gap:24px}
body:not(.home-reference-layout) .header-centered-global .classic-header-right .header-actions{gap:8px}
body:not(.home-reference-layout) .header-centered-global .classic-header-right .header-icon{width:36px;height:36px;background:transparent;border-color:rgba(53,76,65,.14)}
body:not(.home-reference-layout) .header-centered-global .classic-header-right .header-icon svg{width:16px}
body:not(.home-reference-layout) .header-centered-global .classic-mobile-toggle,body:not(.home-reference-layout) .header-centered-global .classic-mobile-nav{display:none}
@media(max-width:1040px){body:not(.home-reference-layout) .header-centered-global .classic-header-inner{grid-template-columns:auto 1fr auto}body:not(.home-reference-layout) .header-centered-global .classic-header-nav,body:not(.home-reference-layout) .header-centered-global .classic-header-right{display:none}body:not(.home-reference-layout) .header-centered-global .classic-home-brand{justify-self:start;min-width:0;padding-left:0}body:not(.home-reference-layout) .header-centered-global .classic-mobile-toggle{display:block!important;grid-column:3;justify-self:end}body:not(.home-reference-layout) .header-centered-global .classic-mobile-nav{position:fixed!important;inset:76px 14px auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:15px!important;background:#fff!important;border-radius:16px!important;box-shadow:0 18px 50px rgba(34,52,43,.14)!important}body:not(.home-reference-layout) .header-centered-global .classic-mobile-nav.open{display:flex!important}body:not(.home-reference-layout) .header-centered-global .classic-mobile-nav a{padding:13px 14px!important}body:not(.home-reference-layout) .header-centered-global .classic-home-brand .brand-logo,body:not(.home-reference-layout) .header-centered-global .classic-home-brand.logo-only .brand-logo{max-width:108px;height:44px}}
@media(max-width:560px){body:not(.home-reference-layout) .header-centered-global .classic-header-inner{min-height:68px}body:not(.home-reference-layout) .header-centered-global .classic-home-brand .brand-logo,body:not(.home-reference-layout) .header-centered-global .classic-home-brand.logo-only .brand-logo{max-width:92px;height:40px}body:not(.home-reference-layout) .header-centered-global .classic-mobile-nav{inset:68px 12px auto!important}}


/* V9.2 shop and editorial footer refinement */
.shop-filter-details>summary{display:none;list-style:none}
.shop-filter-details>summary::-webkit-details-marker{display:none}
.shop-filter-body{display:grid;gap:0}
.shop-editorial-layout{background:#fbf7f0}
.shop-editorial-section{padding-top:28px}
.shop-editorial-header{padding:18px 0 34px}
.shop-editorial-header h1{font-size:clamp(40px,4vw,58px);font-weight:500;letter-spacing:-.02em}
.shop-editorial-layout-grid{grid-template-columns:245px minmax(0,1fr);gap:34px}
.shop-editorial-sidebar{top:108px}
.shop-side-menu a,.shop-side-links a{font-size:14px;line-height:1.45}
.shop-side-links a.active span::before{content:"•";margin-right:8px;color:#355c4d}
.shop-editorial-toolbar{padding-bottom:15px;border-bottom:1px solid rgba(53,76,65,.1)}
.shop-toolbar-search input,.shop-toolbar-sort select{background:#fffdf9}
.shop-editorial-meta{padding:2px 2px 22px;font-size:12px;letter-spacing:.02em}
.shop-editorial-meta strong{color:#40534a;font-size:14px}
.shop-editorial-grid{gap:42px 20px}
.shop-editorial-grid .product-image-wrap{border-radius:9px}
.shop-editorial-grid .product-info{padding-top:14px}
.shop-editorial-grid .product-info h3{font-size:19px}
.shop-editorial-grid .product-price-large strong{font-size:14px}
.shop-cta-strip{background:#fbf7f0}
.shop-cta-strip-inner{padding:44px 0}
.shop-cta-strip-inner h2{font-size:clamp(36px,4vw,52px)}
.editorial-footer{padding-top:62px!important;background:#f6f1e8!important;color:#56635c!important;border-top:1px solid rgba(53,76,65,.1)}
.footer-grid-editorial{grid-template-columns:1.35fr .8fr .9fr 1fr;gap:clamp(30px,5vw,76px);align-items:start}
.footer-brand-editorial .brand{align-items:flex-start}
.footer-brand-editorial .brand-logo{max-width:125px;height:54px;background:transparent!important;padding:0!important}
.footer-brand-editorial .brand-copy strong{color:#34483e;font-size:22px}
.footer-brand-editorial .brand-copy small{color:#7f8782!important}
.footer-brand-editorial>p{max-width:310px;margin:22px 0 24px!important;color:#79807b!important;font-size:13px!important;line-height:1.75}
.footer-column h3,.footer-help-column h3{margin:0 0 20px;color:#34483e!important;font-family:"Playfair Display",serif;font-size:18px;font-weight:600}
.footer-links{gap:9px}
.footer-links a{color:#5e6963!important;font-size:13px;line-height:1.55}
.footer-links a:hover{color:#2f5a47!important}
.social-links-editorial{display:grid!important;gap:8px!important}
.social-links-editorial a{display:flex!important;align-items:center;gap:8px;width:max-content!important;height:auto!important;border:0!important;border-radius:0!important;color:#59665f!important;font-size:12px}
.social-links-editorial a span{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(53,76,65,.22);border-radius:50%;font-size:9px}
.footer-contact-editorial{display:grid;gap:7px;margin-bottom:20px}
.footer-contact-editorial a{color:#59665f!important;font-size:13px}
.footer-help-column>p{margin:0 0 14px!important;color:#7a817c!important;font-size:12px!important;line-height:1.7}
.newsletter-form-editorial{border-bottom:1px solid rgba(53,76,65,.28)!important;border-radius:0!important;padding:0!important}
.newsletter-form-editorial input{min-height:42px;color:#34483e!important;font-size:12px}
.newsletter-form-editorial button{color:#34483e!important}
.footer-bottom-editorial{margin-top:54px;padding:20px 0 24px!important;color:#929792!important;font-size:10px;border-top:1px solid rgba(53,76,65,.1)!important}
@media(max-width:1040px){.footer-grid-editorial{grid-template-columns:1.25fr 1fr 1fr}.footer-help-column{grid-column:1/-1;max-width:520px}.shop-editorial-layout-grid{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:860px){.shop-filter-details{position:static!important;padding:0;border:1px solid rgba(53,76,65,.12);border-radius:14px;background:#fffdf9}.shop-filter-details>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;color:#3b5146;font-weight:700;cursor:pointer}.shop-filter-details>summary::after{content:"+";font-size:18px}.shop-filter-details[open]>summary::after{content:"−"}.shop-filter-body{padding:0 17px 17px}.shop-editorial-layout-grid{grid-template-columns:1fr}.shop-editorial-toolbar{flex-direction:column;align-items:stretch}.shop-toolbar-sort{justify-content:space-between}.footer-grid-editorial{grid-template-columns:1fr 1fr}.footer-brand-editorial,.footer-help-column{grid-column:1/-1}}
@media(max-width:560px){.shop-editorial-header{padding-bottom:24px}.shop-editorial-header h1{font-size:34px}.shop-editorial-grid{gap:34px}.footer-grid-editorial{grid-template-columns:1fr;gap:34px}.footer-brand-editorial,.footer-help-column{grid-column:auto}.footer-bottom-editorial{align-items:flex-start!important;gap:8px}.shop-cta-strip-inner{padding:34px 0}}
