:root {
  --wn-ink: #201b18;
  --wn-brown: #513a2c;
  --wn-cream: #f7f0e9;
  --wn-sand: #a38e71;
  --wn-line: #dfd7cf;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.weninewin-woo-theme { margin: 0; overflow-x: clip; color: var(--wn-ink); background: #fff; font-family: Arial, Helvetica, sans-serif; }
body.weninewin-woo-theme a { color: inherit; text-decoration: none; }
body.weninewin-woo-theme img { max-width: 100%; height: auto; }
body.weninewin-woo-theme button { cursor: pointer; font: inherit; }
.wn-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.weninewin-woo-theme a:focus-visible, body.weninewin-woo-theme button:focus-visible { outline: 3px solid #a95d47; outline-offset: 3px; }
.wn-announcement { min-height: 31px; padding: 9px 16px; color: #fff; background: #5a4335; text-align: center; font-size: 10px; letter-spacing: 1.5px; }
.wn-header { position: sticky; z-index: 50; top: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 78px; padding: 0 5vw; border-bottom: 1px solid #eee; background: #fff; }
.wn-primary-nav ul { display: flex; flex-wrap: wrap; gap: 24px; margin: 0; padding: 0; list-style: none; }
.wn-primary-nav a { font-size: 12px; }
.wn-logo { font-family: Georgia, 'Times New Roman', serif; font-size: 25px; letter-spacing: 3px; text-align: center; text-transform: uppercase; }
.wn-logo small { display: block; margin-top: 2px; font: 8px Arial, sans-serif; letter-spacing: 4px; }
.wn-tools { justify-self: end; display: flex; align-items: center; gap: 5px; }
.wn-tool-link { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid transparent; border-radius: 50%; color: #211b18; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.wn-tool-link:hover { color: #6b4432; border-color: #e3d8d0; background: #f7f0e9; transform: translateY(-1px); }
.wn-tool-icon { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wn-cart-count { position: absolute; top: -2px; right: -2px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #a95d47; font: 700 10px/1 Arial, sans-serif; }
.wn-menu-toggle { display: none; border: 0; background: none; font-size: 22px; }

.wn-hero-carousel { position: relative; left: 50%; width: 100vw; max-width: none; height: 540px; margin: 0 0 0 -50vw; overflow: hidden; background: #2c211b; }
.wn-hero-track, .wn-hero-slide { position: absolute; inset: 0; }
.wn-hero-slide { pointer-events: none; opacity: 0; transform: scale(1.025); background-position: center; background-repeat: no-repeat; background-size: cover; transition: opacity .65s ease, transform 5s ease; }
.wn-hero-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17, 12, 9, .68), rgba(17, 12, 9, .34) 40%, rgba(17, 12, 9, .04) 72%); }
.wn-hero-slide.is-active { z-index: 1; pointer-events: auto; opacity: 1; transform: scale(1); }
.wn-hero-full-link { position: absolute; z-index: 1; inset: 0; }
.wn-hero-copy { position: absolute; z-index: 2; top: 50%; left: 8%; width: min(430px, 78%); color: #fff; transform: translateY(-50%); pointer-events: none; }
.wn-hero-copy p, .wn-section-intro p, .wn-editorial p { margin: 0; font-size: 11px; letter-spacing: 2px; }
.wn-hero-copy h2 { margin: 14px 0; font: 52px/1.05 Georgia, 'Times New Roman', serif; }
.wn-hero-copy span { display: block; line-height: 1.7; }
.wn-cta { display: inline-block; margin-top: 28px; padding: 14px 28px; color: #fff !important; background: #171717; font-size: 11px; letter-spacing: 1px; pointer-events: auto; }
.wn-cta.is-light { color: #222 !important; background: #fff; }
.wn-hero-arrow { position: absolute; z-index: 5; top: 50%; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #ffffff80; border-radius: 50%; color: #fff; background: #17171766; font-size: 30px; line-height: 1; transform: translateY(-50%); opacity: 0; transition: opacity .2s, background .2s; }
.wn-hero-carousel:hover .wn-hero-arrow, .wn-hero-arrow:focus-visible { opacity: 1; }
.wn-hero-arrow:hover { background: #171717cc; }
.wn-hero-arrow.is-prev { left: 18px; }
.wn-hero-arrow.is-next { right: 18px; }
.wn-hero-dots { position: absolute; z-index: 5; bottom: 20px; left: 50%; display: flex; gap: 9px; transform: translateX(-50%); }
.wn-hero-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; box-shadow: 0 1px 4px #0006; }
.wn-hero-dots button.is-active { background: #fff; }

.wn-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 30px 5vw 48px; border-bottom: 1px solid var(--wn-line); }
.wn-category-card { display: block; overflow: hidden; border: 1px solid var(--wn-line); border-radius: 12px; background: #fff; color: inherit; text-align: center; }
.wn-category-image { display: block; aspect-ratio: 1 / 1; background: #f4f0ec center / cover no-repeat; transition: transform .35s ease; }
.wn-category-card:hover .wn-category-image { transform: scale(1.025); }
.wn-category-copy { position: relative; display: grid; place-items: center; min-height: 82px; padding: 13px 10px; background: #fff; }
.wn-category-copy strong { font: 20px Georgia, serif; }
.wn-category-copy small { margin-top: 7px; color: #747474; font-size: 10px; }

.wn-product-section { display: grid; grid-template-columns: 210px 1fr; gap: 35px; padding: 70px 5vw; }
.wn-section-intro h2 { margin: 14px 0; font: 40px/1.08 Georgia, 'Times New Roman', serif; }
.wn-section-intro a { display: inline-block; margin-top: 20px; border-bottom: 1px solid; font-size: 11px; }
.wn-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.wn-product-card { min-width: 0; }
.wn-product-image { display: block; aspect-ratio: 1/1.18; overflow: hidden; background: #f5f1ee; }
body.weninewin-woo-theme .wn-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
body.weninewin-woo-theme .wn-product-image img + img { display: none !important; }
.wn-product-image:hover img { transform: scale(1.025); }
.wn-product-copy h3 { min-height: 34px; margin: 13px 0 8px; font-size: 12px; font-weight: 500; line-height: 1.45; }
.wn-price { min-height: 23px; font-size: 13px; }
.wn-price del { color: #999; font-size: 10px; }
.wn-price ins { text-decoration: none; }
.wn-add-to-cart { display: block !important; width: 100%; margin-top: 12px !important; padding: 12px !important; border: 0 !important; border-radius: 0 !important; color: #fff !important; background: #181818 !important; text-align: center; font-size: 10px !important; letter-spacing: .7px; }

.wn-editorial { min-height: 440px; background: var(--wn-brown) url('../images/personalized.webp') center/cover no-repeat; color: #fff; position: relative; }
.wn-editorial::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 32%, rgba(20, 12, 8, .7)); }
.wn-editorial > div { position: absolute; z-index: 1; top: 50%; right: 8%; width: min(430px, 42%); transform: translateY(-50%); }
.wn-editorial h2 { margin: 14px 0; font: 46px/1.08 Georgia, serif; }
.wn-editorial span { line-height: 1.7; }
.wn-empty-state { padding: 100px 5vw; text-align: center; }
.wn-content-shell, .wn-commerce-shell { width: min(1180px, 90%); min-height: 55vh; margin: 0 auto; padding: 60px 0 90px; }
.wn-entry { margin-bottom: 45px; line-height: 1.75; }
.wn-entry h1 { font: 44px/1.1 Georgia, serif; }

.wn-promises { display: flex; justify-content: center; gap: 7vw; padding: 35px 5vw; border-top: 1px solid var(--wn-line); }
.wn-promises span { max-width: 210px; text-align: center; }
.wn-promises b { font-size: 10px; line-height: 1.4; }
.wn-footer { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 60px; padding: 70px 8vw; color: #fff; background: #4d3529; }
.wn-footer-logo { font: 25px Georgia, serif; letter-spacing: 3px; text-transform: uppercase; }
.wn-footer b { font-size: 11px; letter-spacing: 1px; }
.wn-footer a, .wn-footer p { display: block; margin: 8px 0; color: #e9ddd4; font-size: 11px; line-height: 1.8; }

/* WooCommerce archives, categories, product pages, and native pagination. */
.woocommerce .woocommerce-breadcrumb { color: #777; font-size: 11px; }
.woocommerce-products-header__title, .woocommerce div.product .product_title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 1/1.18; object-fit: cover; background: #f5f1ee; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 40px; font-size: 13px; line-height: 1.45; }
.woocommerce ul.products li.product .price { color: var(--wn-ink); font-size: 13px; }
.woocommerce ul.products li.product .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button { border-radius: 0; color: #fff; background: #181818; font-size: 11px; }
.woocommerce nav.woocommerce-pagination { margin-top: 45px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin: 3px; border: 1px solid var(--wn-line); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 38px; padding: 12px; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--wn-brown); }
.wn-per-page { float: right; display: inline-flex; align-items: center; gap: 7px; margin: 0 0 20px 14px; color: #4d4d4d; font-size: 12px; }
.wn-per-page select { min-width: 66px; height: 32px; padding: 4px 24px 4px 8px; border: 1px solid var(--wn-line); border-radius: 0; background-color: #fff; color: #181818; }

@media (max-width: 900px) {
  .wn-header { min-height: 65px; padding: 0 18px; }
  .wn-menu-toggle { display: block; justify-self: start; }
  .wn-primary-nav { position: absolute; top: 65px; right: 0; left: 0; display: none; padding: 25px; background: #fff; box-shadow: 0 10px 20px #0002; }
  .wn-primary-nav.is-open { display: block; }
  .wn-primary-nav ul { flex-direction: column; }
  .wn-logo { font-size: 20px; }
  .wn-tools a:first-child, .wn-tools a:nth-child(2) { display: none; }
  .wn-hero-carousel { left: 50%; width: 100vw; max-width: none; height: 530px; margin: 0 0 0 -50vw; }
  .wn-hero-slide::after { background: linear-gradient(0deg, rgba(17, 12, 9, .8), rgba(17, 12, 9, .24) 60%, transparent); }
  .wn-hero-copy { top: auto; right: 28px; bottom: 58px; left: 28px; width: auto; transform: none; text-shadow: 0 1px 8px #0008; }
  .wn-hero-copy h2 { font-size: 45px; }
  .wn-hero-arrow { width: 36px; height: 36px; opacity: 1; }
  .wn-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 20px 18px 35px; }
  .wn-category-copy { min-height: 72px; }
  .wn-category-copy strong { font-size: 18px; }
  .wn-product-section { display: block; padding: 55px 18px; }
  .wn-section-intro { margin-bottom: 28px; }
  .wn-product-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .wn-editorial { min-height: 500px; background-position: 38% center; }
  .wn-editorial::after { background: linear-gradient(0deg, rgba(20, 12, 8, .76), transparent 70%); }
  .wn-editorial > div { top: auto; right: 25px; bottom: 34px; left: 25px; width: auto; transform: none; text-shadow: 0 1px 7px #0008; }
  .wn-editorial h2 { font-size: 38px; }
  .wn-promises { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .wn-footer { grid-template-columns: 1fr 1fr; gap: 40px 25px; padding: 55px 25px; }
  .wn-footer > div:first-child, .wn-footer > div:last-child { grid-column: 1 / 3; }
  .wn-commerce-shell { width: calc(100% - 36px); padding-top: 35px; }
  .wn-per-page { float: none; margin: 0 0 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .wn-hero-slide, .wn-product-image img { transition: none; transform: none; }
}
