:root {
--ls-ink:#332c29;
--ls-ink-soft:#433b37;
--ls-muted:#6f655f;
--ls-muted-light:#8a7f78;
--ls-accent:#8f2637;
--ls-accent-dark:#76202f;
--ls-accent-soft:#f7edef;
--ls-bg:#f8f5f1;
--ls-card:#fff;
--ls-image-bg:#fbfaf8;
--ls-line:#e7dfd8;
--ls-line-dark:#d9cec5;
--ls-container:1180px;
--ls-radius:14px;
--ls-radius-small:9px;
--ls-shadow:0 8px 28px #332c290e;
--ls-product-columns:repeat(4,minmax(0,1fr));
--ls-product-gap:18px;
--ls-product-radius:var(--ls-radius)
}

*,::before,::after {
box-sizing:border-box
}

html {
scroll-behavior:smooth
}

body {
margin:0;
background:var(--ls-bg);
color:var(--ls-ink);
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
font-size:16px;
line-height:1.55;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility
}

img {
display:block;
max-width:100%
}

a {
color:inherit;
text-decoration:none
}

button,input {
font:inherit
}

button {
cursor:pointer
}

.container {
width:min(calc(100% - 40px),var(--ls-container));
margin-inline:auto
}

.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
}

main {
min-height:58vh
}

h1,h2,h3 {
color:var(--ls-ink);
line-height:1.15;
letter-spacing:-.75px
}

h1 {
margin:0 0 16px;
max-width:760px;
font-size:clamp(32px,4vw,40px);
font-weight:700;
letter-spacing:-.8px
}

h2 {
margin:0 0 12px;
font-size:clamp(24px,3vw,31px);
font-weight:600;
letter-spacing:-.6px
}

h3 {
margin:0;
font-size:22px;
font-weight:600;
line-height:1.2;
letter-spacing:-.25px
}

p {
margin-top:0
}

.lead {
max-width:720px;
margin-bottom:0;
color:var(--ls-muted);
font-size:17px;
line-height:1.6
}

.eyebrow {
margin:0 0 10px;
color:var(--ls-accent);
font-size:12px;
font-weight:700;
letter-spacing:1.5px;
line-height:1.3;
text-transform:uppercase
}

.site-header {
position:relative;
z-index:1000;
background:#fff;
border-bottom:1px solid var(--ls-line)
}

.site-header .nav {
position:relative;
min-height:70px;
display:flex;
align-items:center;
justify-content:space-between
}

.logo {
display:inline-block;
flex:0 0 auto;
color:var(--ls-ink);
font-size:24px;
font-weight:650;
letter-spacing:-.65px;
line-height:1;
white-space:nowrap
}

.logo span {
color:var(--ls-accent);
font-weight:500
}

.logo:hover {
color:var(--ls-accent)
}

.site-search {
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
display:flex;
align-items:center;
width:390px;
height:40px;
margin:0
}

.site-search input {
box-sizing:border-box;
width:100%;
height:40px;
padding:8px 44px 8px 14px;
border:1px solid #e4ddd8;
border-radius:8px;
outline:0;
background:#fff;
color:#4b3a34;
font:inherit;
font-size:14px
}

.site-search input::placeholder {
color:#8a817b
}

.site-search input:hover {
border-color:#d8cec7
}

.site-search input:focus {
outline:2px solid #8b2e322e;
border-color:#8f2c2f;
outline-offset:0
}

.site-search button {
position:absolute;
right:5px;
top:50%;
transform:translateY(-50%);
display:flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
padding:0;
border:0;
border-radius:6px;
background:transparent;
color:#4b3a34;
cursor:pointer
}

.site-search button:hover {
background:#f5f1ee
}

.site-search svg {
width:18px;
height:18px;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round
}

.main-nav {
display:flex;
align-items:center;
margin-left:auto
}

.main-menu {
position:relative;
margin-left:auto
}

.main-menu > summary {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:40px;
padding:10px 16px;
background:#fff;
color:var(--ls-ink);
border:1px solid #e3ddd7;
border-radius:9px;
font-size:15px;
font-weight:600;
line-height:1;
cursor:pointer;
user-select:none;
white-space:nowrap;
transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease
}

.main-menu > summary::-webkit-details-marker {
display:none
}

.main-menu > summary::marker {
display:none
}

.main-menu > summary:hover {
background:#faf7f4;
border-color:#d8d0c9;
box-shadow:0 2px 7px #3f30290f
}

.main-menu[open] > summary {
background:#faf7f4;
border-color:#d8d0c9;
box-shadow:0 2px 7px #3f30290f
}

.menu-panel {
position:absolute;
top:calc(100% + 10px);
right:0;
width:300px;
max-height:none;
overflow:visible;
padding:14px;
background:#fff;
border:1px solid #e8e0da;
border-radius:12px;
box-shadow:0 14px 38px #3f302924
}

.menu-panel::before {
content:"";
position:absolute;
top:-7px;
right:22px;
width:12px;
height:12px;
background:#fff;
border-left:1px solid #e8e0da;
border-top:1px solid #e8e0da;
transform:rotate(45deg)
}

.menu-category-link {
display:flex;
align-items:center;
gap:14px;
padding:10px 9px;
color:#55443c;
border-radius:7px;
font-size:15px;
line-height:1.35;
transition:background-color .15s ease,color .15s ease
}

.menu-category-link:hover,.menu-category-link:focus-visible {
background:#f7f1eb;
color:var(--ls-accent)
}

.menu-panel {
scrollbar-width:none;
-ms-overflow-style:none
}

.menu-panel::-webkit-scrollbar {
display:none;
width:0;
height:0
}

.product-card-detail-v3 {
width:100%
}

.product-card-detail-v3 .product-layout {
margin-bottom:42px
}

.product-card-detail-v3 .merchant-panel-inline {
margin-top:18px;
padding:18px 20px;
background:#fff;
border:1px solid #e7dfd7;
border-radius:14px;
box-shadow:none
}

.product-card-detail-v3 .merchant-panel-inline h2 {
margin:0 0 14px;
color:#8b2e32;
font-size:18px;
line-height:1.25
}

.product-card-detail-v3 .merchant-card {
padding:0;
background:transparent;
border:0;
border-radius:0
}

.product-card-detail-v3 .merchant-details {
min-width:0
}

.product-card-detail-v3 .merchant-price {
margin-top:3px;
color:#4b3a34;
font-size:27px;
line-height:1.1
}

.product-card-detail-v3 .merchant-old-price {
color:#8b817a;
font-size:15px;
text-decoration:line-through
}

.product-card-detail-v3 .merchant-discount {
margin-left:8px;
color:#8b2e32;
font-size:14px;
font-weight:700
}

.product-card-detail-v3 .merchant-button {
flex:0 0 auto;
white-space:nowrap
}

.product-card-detail-v3 .merchant-note {
margin:10px 0 0;
color:#70645e;
font-size:12px;
line-height:1.5
}

.product-card-detail-v3 .facts {
margin-top:10px
}

.related-products {
margin-top:10px
}

.hero {
background:#f5eee6;
border-bottom:1px solid var(--ls-line)
}

.hero-inner {
padding:54px 0 58px
}

.hero h1 {
max-width:850px;
margin-bottom:17px
}

.hero-inner > p:not(.eyebrow) {
max-width:720px;
margin-bottom:25px;
color:var(--ls-ink-soft);
font-size:17px
}

.hero-actions {
display:flex;
flex-wrap:wrap;
gap:9px
}

.button {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:42px;
padding:9px 17px;
border:1px solid transparent;
border-radius:8px;
font-size:14px;
font-weight:700;
line-height:1.2;
transition:background .15s ease,border-color .15s ease,color .15s ease
}

.button-primary {
background:var(--ls-accent);
border-color:var(--ls-accent);
color:#fff
}

.button-primary:hover {
background:var(--ls-accent-dark);
border-color:var(--ls-accent-dark);
color:#fff
}

.button-secondary {
background:#fff;
border-color:var(--ls-line-dark);
color:var(--ls-ink)
}

.button-secondary:hover {
border-color:var(--ls-accent);
color:var(--ls-accent)
}

.section {
padding:50px 0
}

.section-heading {
margin-bottom:23px
}

.section-heading .lead {
margin-top:2px
}

.category-grid {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:14px
}

.category-card {
min-height:112px;
display:flex;
flex-direction:column;
justify-content:space-between;
padding:19px 19px 17px;
background:#fff;
border:1px solid var(--ls-line);
border-radius:12px;
box-shadow:none;
transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}

.category-card strong {
color:var(--ls-ink);
font-size:15px;
line-height:1.35
}

.category-card span {
color:var(--ls-muted);
font-size:13px
}

.category-card:hover {
border-color:#d6c8c0;
box-shadow:var(--ls-shadow);
color:var(--ls-accent);
transform:translateY(-1px)
}

.category-card:hover span {
color:var(--ls-accent)
}

.product-grid {
display:grid;
grid-template-columns:var(--ls-product-columns);
gap:var(--ls-product-gap)
}

.product-card {
position:relative;
min-width:0;
display:flex;
flex-direction:column;
overflow:hidden;
background:var(--ls-card);
border:1px solid var(--ls-line);
border-radius:var(--ls-product-radius);
box-shadow:none;
transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease
}

.product-card:hover {
border-color:#ddd2ca;
box-shadow:var(--ls-shadow);
transform:translateY(-2px)
}

.product-card-image-link {
position:relative;
display:block;
aspect-ratio:1 / 1;
overflow:hidden;
background:var(--ls-image-bg)
}

.product-card-image {
width:100%;
height:100%;
object-fit:contain;
padding:17px;
transition:transform .25s ease
}

.product-card:hover .product-card-image {
transform:scale(1.025)
}

.product-card-placeholder {
width:100%;
height:100%;
min-height:180px;
display:grid;
place-items:center;
padding:20px;
background:var(--ls-bg);
color:var(--ls-muted);
text-align:center
}

.offer-badge {
position:absolute;
top:10px;
left:10px;
z-index:2;
display:inline-flex;
align-items:center;
min-height:28px;
padding:5px 10px;
border-radius:6px;
background:var(--ls-accent);
color:#fff;
font-size:11px;
font-weight:700;
line-height:1;
box-shadow:0 3px 10px #332c291a
}

.product-card-body {
flex:1;
display:flex;
flex-direction:column;
padding:15px 15px 16px
}

.product-brand {
margin:0 0 5px;
color:var(--ls-muted);
font-size:10.5px;
font-weight:700;
letter-spacing:.85px;
line-height:1.3;
text-transform:uppercase
}

.product-card-title {
min-height:42px;
margin:0 0 8px;
font-size:16px;
font-weight:600;
line-height:1.3;
letter-spacing:-.15px
}

.product-card-title a:hover {
color:var(--ls-accent)
}

.product-subcategory {
margin:0 0 10px;
color:var(--ls-muted);
font-size:12.5px;
line-height:1.4
}

.product-price-row {
display:flex;
align-items:baseline;
flex-wrap:wrap;
gap:7px;
margin-top:auto
}

.product-price,.offer-price {
color:var(--ls-ink);
font-size:18px;
font-weight:700;
line-height:1.2;
letter-spacing:-.2px
}

.offer-price {
color:var(--ls-accent)
}

.old-price {
color:#8c837e;
font-size:13px;
text-decoration:line-through
}

.saving {
margin:4px 0 0;
color:var(--ls-accent);
font-size:12px;
font-weight:700;
line-height:1.3
}

.product-card-button {
display:inline-block;
align-self:flex-start;
margin-top:12px;
padding:0;
border:0;
color:var(--ls-accent);
font-size:13px;
font-weight:700;
line-height:1.35
}

.product-card-button::after {
content:" →"
}

.product-card-button:hover {
color:var(--ls-accent-dark)
}

.product-page {
padding-top:26px;
padding-bottom:68px
}

.breadcrumbs {
margin-bottom:24px;
color:var(--ls-muted);
font-size:13px;
line-height:1.45
}

.breadcrumbs a {
color:var(--ls-accent)
}

.breadcrumbs a:hover {
text-decoration:underline
}

.product-layout {
display:grid;
grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);
gap:42px;
align-items:start
}

.product-image-wrap {
position:relative;
aspect-ratio:1 / 1;
max-height:460px;
overflow:hidden;
display:grid;
place-items:center;
background:#fff;
border:1px solid var(--ls-line);
border-radius:var(--ls-radius)
}

.product-image-wrap img {
width:95%;
height:95%;
object-fit:contain;
padding:24px
}

.product-offer-badge {
top:15px;
left:15px
}

.product-info {
padding-top:4px
}

.product-info h1 {
max-width:650px;
margin-bottom:11px;
font-size:clamp(27px,2vw,30px);
font-weight:600;
letter-spacing:-.55px;
line-height:1.18
}

.brand {
margin-bottom:7px;
color:var(--ls-muted);
font-size:14px;
font-weight:600
}

.product-info .product-subcategory {
margin-bottom:0;
font-size:13px
}

.price-box {
display:flex;
align-items:baseline;
flex-wrap:wrap;
gap:10px;
margin:23px 0 12px
}

.price-box .product-price,.price-box .offer-price {
font-size:29px
}

.price-box .old-price {
font-size:14px
}

.discount {
color:var(--ls-accent);
font-size:14px;
font-weight:700
}

.facts {
display:flex;
flex-wrap:wrap;
gap:7px 18px;
color:var(--ls-muted);
font-size:13px;
line-height:1.45
}

.product-content-grid {
display:grid;
grid-template-columns:minmax(0,1fr) 350px;
gap:42px;
margin-top:38px
}

.product-description h2,.merchant-panel h2 {
margin-top:32px
}

.product-description h2:first-child,.merchant-panel h2:first-child {
margin-top:0
}

.product-description {
min-width:0
}

.product-description > p {
color:var(--ls-ink-soft);
line-height:1.6
}

.description {
padding:21px 23px;
background:#fff;
border:1px solid var(--ls-line);
border-radius:12px;
color:var(--ls-ink-soft);
line-height:1.6
}

.product-facts {
margin:0
}

.product-facts > div {
display:grid;
grid-template-columns:135px 1fr;
gap:14px;
padding:10px 0;
border-bottom:1px solid var(--ls-line)
}

.product-facts dt {
color:var(--ls-muted)
}

.product-facts dd {
margin:0
}

.merchant-panel {
align-self:start;
padding:21px;
background:#fff;
border:1px solid var(--ls-line);
border-radius:13px;
box-shadow:var(--ls-shadow)
}

.merchant-card {
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
padding:16px;
background:var(--ls-bg);
border:1px solid var(--ls-line);
border-radius:10px
}

.merchant-card strong {
font-size:15px
}

.merchant-price {
margin-top:4px;
color:var(--ls-ink);
font-size:19px;
font-weight:700
}

.merchant-card small {
display:block;
margin-top:3px;
color:var(--ls-muted)
}

.merchant-note {
margin:12px 0 0;
color:var(--ls-muted);
font-size:12px;
line-height:1.5
}

.pagination {
display:flex;
flex-wrap:wrap;
gap:6px;
margin-top:30px
}

.pagination a {
min-width:38px;
padding:7px 10px;
border:1px solid var(--ls-line);
border-radius:7px;
background:#fff;
text-align:center;
font-size:13px
}

.pagination a:hover,.pagination a.active {
background:var(--ls-accent);
border-color:var(--ls-accent);
color:#fff
}

.site-footer {
margin-top:8px;
padding:42px 0;
background:#f2eee9;
border-top:1px solid var(--ls-line)
}

.footer-inner {
display:grid;
grid-template-columns:1fr 1fr;
gap:42px
}

.site-footer strong {
color:var(--ls-ink)
}

.site-footer p {
max-width:600px;
margin:7px 0 0;
color:var(--ls-muted)
}

.footer-note {
color:var(--ls-muted);
font-size:13px;
line-height:1.5
}

.category-page > h1 {
margin-bottom:10px
}

.category-subheading {
margin-top:34px;
margin-bottom:18px
}

.category-subheading h2,.category-products-heading h2 {
margin:0
}

.subcategory-grid {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:14px
}

.subcategory-card {
min-height:92px;
display:flex;
flex-direction:column;
justify-content:space-between;
padding:16px 17px;
background:#fff;
border:1px solid var(--ls-line);
border-radius:12px;
transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease
}

.subcategory-card strong {
color:var(--ls-ink);
font-size:14px;
line-height:1.35
}

.subcategory-card span {
color:var(--ls-muted);
font-size:12px
}

.subcategory-card:hover,.subcategory-card.active {
border-color:#d6c8c0;
box-shadow:var(--ls-shadow);
transform:translateY(-1px)
}

.subcategory-card:hover strong,.subcategory-card.active strong,.subcategory-card:hover span,.subcategory-card.active span {
color:var(--ls-accent)
}

.category-products-heading {
margin:46px 0 20px
}

@media (max-width: 1050px) {
:root {
--ls-product-columns:repeat(3,minmax(0,1fr))
}

.category-grid {
grid-template-columns:repeat(3,minmax(0,1fr))
}

.product-layout {
grid-template-columns:1fr 1fr;
gap:30px
}

.product-content-grid {
grid-template-columns:minmax(0,1fr) 300px;
gap:28px
}

.subcategory-grid {
grid-template-columns:repeat(3,minmax(0,1fr))
}
}

@media (max-width: 700px) {
:root {
--ls-product-columns:repeat(2,minmax(0,1fr));
--ls-product-gap:12px;
--ls-product-radius:11px
}

.container {
width:min(calc(100% - 24px),var(--ls-container))
}

.site-header .nav {
min-height:0;
display:grid;
grid-template-columns:minmax(0,1fr) auto;
grid-template-areas:"logo menu" "search search";
align-items:center;
column-gap:10px;
row-gap:9px;
padding:9px 0 10px
}

.site-header .logo {
grid-area:logo;
justify-self:start
}

.site-header .main-nav {
grid-area:menu;
justify-self:end
}

.main-menu > summary {
min-height:40px;
padding:10px 16px;
font-size:15px
}

.site-search {
position:relative;
left:auto;
top:auto;
transform:none;
grid-area:search;
width:100%;
height:40px;
margin:0
}

.site-search input,.site-search button {
height:40px
}

.menu-panel {
position:fixed;
top:68px;
left:10px;
right:10px;
width:auto;
max-height:calc(100vh - 80px);
overflow-y:auto;
overflow-x:hidden;
padding:12px;
border-radius:12px
}

.menu-panel::before {
display:none
}

.menu-category-link {
padding:10px 8px;
font-size:16px
}

.hero-inner {
padding:40px 0 43px
}

h1 {
font-size:clamp(30px,7vw,36px)
}

h2 {
font-size:26px
}

.hero-inner > p:not(.eyebrow),.lead {
font-size:16px
}

.hero-actions .button {
min-height:41px
}

.section {
padding:40px 0
}

.section-heading {
margin-bottom:19px
}

.category-grid {
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px
}

.category-card {
min-height:94px;
padding:14px
}

.category-card strong {
font-size:14px
}

.category-card span {
font-size:12px
}

.product-card-image {
padding:11px
}

.offer-badge {
top:8px;
left:8px;
min-height:26px;
padding:5px 8px;
font-size:10px
}

.product-card-body {
padding:12px 11px 13px
}

.product-brand {
font-size:9.5px
}

.product-card-title {
min-height:0;
margin-bottom:7px;
font-size:14px
}

.product-subcategory {
margin-bottom:8px;
font-size:11px
}

.product-price,.offer-price {
font-size:16px
}

.old-price {
font-size:12px
}

.saving {
font-size:12px
}

.product-card-button {
margin-top:10px;
font-size:12px
}

.product-page {
padding-top:18px;
padding-bottom:45px
}

.breadcrumbs {
margin-bottom:16px;
font-size:12px
}

.product-layout,.product-content-grid {
grid-template-columns:1fr
}

.product-layout {
gap:20px
}

.product-image-wrap {
height:auto;
aspect-ratio:1 / 1;
border-radius:12px
}

.product-image-wrap img {
padding:17px
}

.product-offer-badge {
top:11px;
left:11px
}

.product-info {
padding-top:0
}

.product-info h1 {
margin-bottom:8px;
font-size:clamp(28px,8vw,36px)
}

.brand {
margin-bottom:8px;
font-size:14px
}

.price-box {
margin:18px 0 10px
}

.price-box .product-price,.price-box .offer-price {
font-size:25px
}

.facts {
gap:5px 12px;
font-size:12px
}

.product-content-grid {
gap:30px;
margin-top:30px
}

.product-description h2,.merchant-panel h2 {
margin-top:27px;
font-size:24px
}

.description {
padding:16px;
border-radius:11px;
font-size:15px;
line-height:1.6
}

.product-facts > div {
grid-template-columns:105px 1fr;
gap:10px;
font-size:14px
}

.merchant-panel {
padding:16px;
border-radius:12px
}

.merchant-card {
flex-direction:column;
align-items:stretch;
gap:13px
}

.merchant-card .button {
width:100%
}

.footer-inner {
grid-template-columns:1fr;
gap:22px
}

.site-footer {
padding:34px 0
}

.product-card-detail-v3 .merchant-card {
flex-direction:column;
align-items:stretch;
gap:13px
}

.product-card-detail-v3 .merchant-button {
width:100%
}

.category-subheading {
margin-top:28px;
margin-bottom:15px
}

.subcategory-grid {
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px
}

.subcategory-card {
min-height:82px;
padding:13px
}

.category-products-heading {
margin:34px 0 17px
}
}

@media (max-width: 390px) {
:root {
--ls-product-gap:9px
}

.category-grid {
grid-template-columns:1fr
}

.product-card-body {
padding-inline:9px
}

.product-card-title {
font-size:14px
}

.product-price,.offer-price {
font-size:15px
}

.product-card-button {
font-size:11px
}

.subcategory-grid {
grid-template-columns:1fr
}
}