:root {
    --ink: #a75f39;
    --muted: #746b65;
    --paper: #ffeef4;
    --line: #e6ddd5;
    --accent: #8c6b4f
}
*{
    box-sizing:border-box

}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.5

}
a{
    color:inherit;
    text-decoration:none

}
header{
    height:76px;
    padding:0 6%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    background:#fff;
    position:sticky;
    top:0;
    z-index:5

}
.logo{
    font-family:Georgia,serif;
    font-size:22px;
    letter-spacing:4px

}
.logo span{
    display:block;
    font:10px Arial;
    letter-spacing:3px;
    text-align:center;
    color:var(--muted)

}
nav{
    display:flex;
    gap:28px;
    font-size:14px

}
nav a:hover,.cart:hover{
    text-decoration:underline

}
.hero{
    min-height:600px;
    display:flex;
    align-items:center;
    padding:7%;
    background:linear-gradient(90deg,#eee3d9,#f8f4ef 60%,#e8ddd2)

}
.hero h1{
    font:clamp(42px,6vw,76px)/1.03 Georgia,serif;
    margin:10px 0 24px

}
.hero p{
    max-width:560px;
    color:var(--muted)

}
.eyebrow{
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:11px;
    color:var(--accent);
    font-weight:bold

}
.btn{
    display:inline-block;
    background:var(--ink);
    color:#fff;
    padding:13px 24px;
    border:0;
    cursor:pointer;
    margin-top:15px

}
.section{
    padding:70px 6%

}
.section-title{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:30px

}
.section h1,.section h2{
    font-family:Georgia,serif;
    font-weight:normal

}
.section h1{
    font-size:48px

}
.category-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px

}
.category-card{
    padding:35px;
    background:#e9ded4;
    min-height:130px;
    display:flex;
    flex-direction:column;
    justify-content:space-between

}
.category-card:nth-child(2n){
    background:#ddd0c3

}
.category-card span{
    font:24px Georgia,serif

}
.category-card small{
    color:var(--muted)

}
.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px

}
.product-image{
    aspect-ratio:1/1.15;
    background:#eee5dc;
    overflow:hidden

}
.product-image img,.detail-image img{
    width:100%;
    height:100%;
    object-fit:cover

}
.product-card h3{
    font:17px Georgia,serif;
    margin:4px 0

}
.muted{
    color:var(--muted);
    font-size:12px;
    margin:14px 0 0

}
.price{
    font-weight:bold

}
.price del{
    color:#aaa;
    font-weight:normal;
    margin-left:6px

}
.newsletter{
    margin:20px 6% 70px;
    padding:70px;
    background:#e8ddd2;
    text-align:center

}
.newsletter h2{
    font:38px Georgia,serif

}
.filters{
    display:flex;
    gap:12px;
    margin-bottom:35px

}
.filters input,.filters select,.checkout input,.checkout textarea{
    padding:14px;
    border:1px solid var(--line);
    background:#fff;
    font:inherit

}
.filters input{
    flex:1

}
.filters .btn{
    margin:0

}
.product-detail{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    max-width:1200px;
    margin:auto

}
.detail-image{
    aspect-ratio:1/1;
    background:#eee5dc

}
.product-detail h1{
    font-size:48px

}
.product-detail .price{
    font-size:22px;
    margin:20px 0}
.buy-form{
    display:flex;
    gap:10px

}
.buy-form input{
    width:70px;
    padding:12px

}
.cart-list{
    max-width:850px

}
.cart-row{
    display:grid;
    grid-template-columns:90px 1fr auto auto;
    gap:20px;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid var(--line)

}
.cart-row img{
    width:90px;
    height:90px;
    object-fit:cover;
    background:#eee

}
.cart-total{display:flex;justify-content:space-between;max-width:850px;padding:25px 0;font-size:20px}.checkout{display:grid;grid-template-columns:1.4fr .8fr;gap:70px;max-width:1100px;margin:auto}.checkout form{display:grid;gap:12px}.checkout textarea{min-height:130px}.summary{background:#fff;padding:28px;height:max-content}.summary p,.summary strong{display:flex;justify-content:space-between}.empty{text-align:center;padding:120px 6%}.error{padding:12px;background:#f4dddd;margin:10px 0}footer{border-top:1px solid var(--line);padding:50px 6%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;background:#fff}footer a{display:block;margin:6px 0;color:var(--muted)}@media(max-width:800px){nav{display:none}.product-grid{grid-template-columns:repeat(2,1fr)}.category-grid,.product-detail,.checkout,footer{grid-template-columns:1fr}.hero{min-height:520px}.section h1{font-size:38px}.cart-row{grid-template-columns:70px 1fr}.cart-row strong,.cart-row>a{grid-column:2}.filters{flex-wrap:wrap}.filters input,.filters select{width:100%}}