/* Reference-inspired typography and palette. Locally hosted fonts. */
:root {
 --cream:#fff; --rose:#fbe5e3; --ink:#3b231e; --muted:#71554e;
 --line:#f0dfd9; --accent:#bd425c; --accent-dark:#a52e49; --sage:#fff0e7;
 --font-body:"Nunito Sans",system-ui,sans-serif;
 --font-display:"Baloo 2","Nunito Sans",sans-serif;
 --shadow:0 12px 34px rgb(119 59 48 / 6%);
}
body { font-family:var(--font-body); background:#fff; color:var(--ink); }
h1,h2,h3 { font-family:var(--font-display); font-weight:600; letter-spacing:-.025em; line-height:1.25; }
h1 { font-size:clamp(2rem,4vw,3.5rem); }
h2 { font-size:clamp(1.55rem,2.7vw,2.3rem); }
.brand,.brand-name { font-family:var(--font-display); font-weight:600; }
.brand-name { color:#854131; letter-spacing:-.04em; max-width:165px; overflow-wrap:normal; }
.brand-name small { font-family:var(--font-body); font-weight:700; }
.brand-symbol { border-color:#e5a397; color:var(--accent); background:#fff0eb; }
.announcement-bar { background:#fce8e3; color:#59352d; letter-spacing:.035em; }
.site-header,.primary-nav .sub-menu { background:#fff; }
.primary-nav { border-top:0; border-bottom-color:#f6e9e4; }
.primary-nav a { font-weight:800; }
.search-form { background:#fcf7f4; }
button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button {
 background:linear-gradient(110deg,#c34b63,#b9435b); color:#fff; font-weight:800;
}
button:not(:disabled):hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover { background:var(--accent-dark); color:#fff; }
.search-form button,.header-action { background:transparent; color:var(--ink); }
.search-form button:hover,.header-action:hover,.header-action:not(:disabled):hover { background:var(--rose); color:var(--ink); }
button:disabled { background:#ead7d1; color:#71554e; }
.text-link { font-weight:800; }
.site-footer { background:linear-gradient(180deg,#fff8f4,#fff0e9); border-top-color:#f5ded6; }
.site-footer h2 { font-family:var(--font-body); font-weight:800; }
.footer-signoff { font-family:var(--font-display); font-style:normal; font-weight:500; }
.footer-bottom { border-top-color:#eed6cd; }
.home-hero { background:linear-gradient(120deg,#fff0e7,#fbe5e3); }
.hero-copy h1 { font-size:clamp(2.35rem,4.5vw,4.2rem); font-weight:600; line-height:1.16; max-width:600px; }
.hero-title-accent { display:block; color:var(--accent); }
.hero-description { color:#503129; font-size:1rem; }
.eyebrow { font-family:var(--font-body); font-weight:800; letter-spacing:.09em; }
.hero-label { background:rgb(255 250 247 / 96%); font-family:var(--font-display); font-weight:500; font-size:1rem; }
.season-banner { background:linear-gradient(120deg,#fce2df,#fff0e4); }
.season-copy h2 { font-family:var(--font-display); color:var(--accent); font-size:clamp(1.8rem,3vw,3rem); }
.season-copy > p:not(.eyebrow) { color:#68433a; }
.button-light { background:#fff; color:var(--accent); border-color:#efc4c7; }
.button-light:hover { background:#fff6f2; color:var(--accent-dark); }
.personalized-wrap { background:#fff0ef; }
.personalization-steps { border-top-color:#edcdce; }
.personalization-steps span { font-family:var(--font-display); border-color:#db9ca8; }
.story-copy h2 { font-size:clamp(1.65rem,2.9vw,2.6rem); }
.story-copy .story-signature { font-family:var(--font-display); font-style:normal; font-weight:500; }
.product-card h3,.benefits-grid h3,.site-footer h2 { font-family:var(--font-body); font-weight:800; }
.review-card blockquote { font-family:var(--font-body); font-size:.95rem; }
.review-rating { color:#a36e12; }
.review-card,.review-empty,.empty-caption { background:#fff; }
.newsletter-section { background:linear-gradient(110deg,#fce2e3,#ffede3); }
.newsletter-section h2 { font-size:clamp(1.65rem,2.8vw,2.4rem); }
.newsletter-section p:not(.eyebrow) { color:#68443c; }
.newsletter-field button { background:#ead1cb; color:#65453c; border-color:#c09b93; }
.browse-card > a,.browse-pending { background:#fff3eb; border-color:#f1ded3; }
.browse-copy h3 { font-family:var(--font-body); font-weight:800; font-size:.88rem; color:var(--ink); }
.browse-copy .icon { color:var(--accent); }
.browse-card a:hover h3 { color:var(--accent-dark); }
.browse-grid { scrollbar-color:#cd7a8b #fce9e3; }
.browse-occasions { background:#fff3ee; }
.browse-occasions .browse-card > a { background:#fff9f5; border-color:#efdad1; }
.browse-occasions .browse-copy h3 { font-size:.82rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--font-body); font-weight:800; }
.woocommerce div.product .product_title { font-family:var(--font-display); font-weight:600; }
@media(min-width:768px) { .brand-name { max-width:220px; } .hero-copy { padding:clamp(1.8rem,3.5vw,3.8rem); } }

/* Readable rounded headings, retaining the established palette. */
h1,h2,h3,.hero-copy h1,.season-copy h2,.woocommerce div.product .product_title { font-weight:800; letter-spacing:-.025em; }
.brand,.brand-name { font-weight:800; }
.hero-label,.footer-signoff,.story-copy .story-signature { font-weight:700; }

/* Selected by the user: softer Baloo 2 display typography. */
h1,h2,h3,.hero-copy h1,.season-copy h2,.woocommerce div.product .product_title { font-weight:700; letter-spacing:-.015em; }
.brand,.brand-name { font-weight:700; }

/* Category menus remain reachable on short desktop screens. */
.primary-nav .menu-item-has-children > a::after { content:'⌄'; margin-left:.4rem; }
@media(min-width:48rem) { .primary-nav .sub-menu { max-height:min(65vh,600px); overflow-y:auto; overscroll-behavior:contain; } }

/* Small, readable personalization labels; the product photograph stays primary. */
.woocommerce ul.products li.product .woocommerce-loop-product__link { position:relative; display:block; }
.zk-personalization-badge { position:absolute; z-index:2; top:10px; left:10px; max-width:calc(100% - 20px); padding:6px 9px; border:1px solid #e9c5cc; border-radius:8px; background:#fff7f5; color:#852e43; font-family:var(--font-body); font-size:.68rem; font-weight:800; line-height:1.35; box-shadow:0 2px 6px rgb(59 35 30 / 5%); }
.zk-personalization-badge.has-sale { top:46px; }
.zk-other-patterns { display:block; width:fit-content; padding:7px 0; font-size:.78rem; font-weight:700; color:var(--accent-dark); text-decoration:none; }
.zk-other-patterns:hover { text-decoration:underline; }
.zk-other-patterns:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }

/* A consistent rhythm for native product lists, retaining every photograph. */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem .8rem; margin-bottom:2rem; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products[class*="columns-"] > li.product { display:flex; flex-direction:column; float:none; clear:none; width:auto; min-width:0; margin:0; padding:.65rem; border:1px solid #f0e3dc; border-radius:20px; background:#fff; box-sizing:border-box; }
.woocommerce ul.products > li.product > .woocommerce-loop-product__link { display:flex; flex:1; flex-direction:column; min-width:0; }
.woocommerce ul.products > li.product > .woocommerce-loop-product__link > img { display:block; flex:none; width:100%; height:auto; aspect-ratio:1; object-fit:contain; margin:0; border-radius:13px; background:#fffaf7; }
.woocommerce ul.products > li.product .woocommerce-loop-product__title { min-height:6em; padding:0; margin:.85rem 0 .65rem; font-size:.83rem; line-height:1.5; overflow-wrap:anywhere; }
.woocommerce ul.products > li.product .price { margin-top:auto; margin-bottom:0; padding-bottom:.35rem; font-size:.9rem; line-height:1.5; font-weight:700; }
.woocommerce ul.products > li.product > .zk-other-patterns { display:flex; align-items:center; min-height:2.25rem; margin:0; padding:0; line-height:1.4; font-size:.74rem; box-sizing:border-box; }
.woocommerce ul.products > li.product:not(:has(> .zk-other-patterns)) > .woocommerce-loop-product__link { margin-bottom:2.25rem; }
.woocommerce ul.products > li.product > .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:.65rem .55rem; margin:.5rem 0 0; box-sizing:border-box; text-align:center; font-size:.8rem; line-height:1.4; }
.woocommerce ul.products > li.product:focus-within { border-color:#dba2af; }
@media(min-width:600px) {
 .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.75rem 1rem; }
 .woocommerce ul.products > li.product .woocommerce-loop-product__title { min-height:4.5em; font-size:.88rem; }
 .woocommerce ul.products[class*="columns-"] > li.product { padding:.8rem; }
}
@media(min-width:1000px) {
 .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem 1.25rem; }
 .woocommerce ul.products.columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .woocommerce ul.products.columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .woocommerce ul.products.columns-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .woocommerce ul.products.columns-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
