:root{
  --ink:#171513;
  --muted:#726a62;
  --paper:#fbfaf7;
  --cream:#eee7dc;
  --line:#ded7cf;
  --warm:#a16c45;
  --char:#171817;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.container{
  width:min(1420px,92vw);
  margin:auto;
}


/* =========================
   NAVIGATION
========================= */

.nav{
  height:82px;
  background:#fff;
  border-bottom:1px solid #e8e2da;
  display:flex;
  align-items:center;
  position:sticky;
  top:0;
  z-index:20;
}

.nav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
}

.navlinks{
  display:flex;
  gap:42px;
  font-weight:700;
  font-size:14px;
}


/* =========================
   HERO
========================= */

.hero{
  background:linear-gradient(
    90deg,
    #f1ebe1 0 46%,
    #ddd1bf 46% 100%
  );
  padding:64px 0 68px;
}

.hero-grid{
  display:grid;
  grid-template-columns:.95fr 1.25fr;
  gap:62px;
  align-items:center;
}

.eyebrow,
.micro{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:13px;
  font-weight:800;
  color:var(--warm);
}

.hero h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:72px;
  line-height:1.06;
  margin:35px 0 36px;
}

.tagline{
  font-family:Georgia,'Times New Roman',serif;
  font-size:30px;
  margin-bottom:45px;
}

.btn{
  display:inline-flex;
  background:var(--char);
  color:#fff;
  padding:19px 31px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  font-size:13px;
}

.hero-looks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.hero-looks > div{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.hero-photo{
  width:100%;
  height:560px;
  background:#d5cdc4;
  overflow:hidden;
}

.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 23%;
}

.hero-caption{
  display:block;
  width:100%;
  text-align:center;
  font-weight:800;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.04em;
  margin-top:15px;
  color:var(--ink);
}


/* =========================
   SHOP
========================= */

.shop{
  padding:84px 0 95px;
  background:#fff;
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:46px;
}

.section-head h2{
  font:400 54px/1.1 Georgia,'Times New Roman',serif;
  margin:0;
}

.section-head p{
  max-width:520px;
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
  margin:0;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}

.product-main{
  height:360px;
  background:#eee8df;
}

.product-main img{
  object-fit:contain;
}

.model-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:9px;
}

.model-row img{
  height:205px;
  object-position:center 24%;
}

.product-info{
  position:relative;
  padding-top:18px;
}

.product-info h3{
  font:400 23px Georgia,'Times New Roman',serif;
  margin:0 65px 8px 0;
}

.price{
  position:absolute;
  right:0;
  top:20px;
  font-weight:800;
}

.color{
  font-size:14px;
  color:var(--muted);
  margin-bottom:18px;
}

.view{
  display:inline-block;
  text-transform:uppercase;
  font-weight:800;
  font-size:12px;
  letter-spacing:.05em;
  border-bottom:1px solid;
  padding-bottom:6px;
}

.unisex{
  border-top:1px solid var(--line);
  margin-top:66px;
  padding-top:50px;
  text-align:center;
}

.unisex .micro{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--ink);
  font-size:28px;
  letter-spacing:.18em;
}


/* =========================
   ABOUT STYLED BY UK
========================= */

.about{
  background:var(--cream);
  width:100%;
}

.about-grid{
  display:grid;
  grid-template-columns:50% 50%;
  min-height:560px;
  width:100%;
  align-items:stretch;
}


/* LEFT IMAGE */

.about-image{
  position:relative;
  overflow:hidden;
  background:#171817;
  min-height:560px;
}

.about-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  left:0;
  top:0;
}


/* RIGHT TEXT */

.about-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:52px 6vw 66px;
  background:var(--cream);
}


/* ABOUT LABEL */

.about-copy .micro,
.about-copy .about-label{
  width:100%;
  margin:0 0 24px;
  text-align:center;
  color:var(--warm);
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}


/* ABOUT HEADLINE */

.about-copy h2{
  width:100%;
  max-width:760px;
  margin:0 0 30px;
  text-align:center;
  color:var(--ink);
  font:400 54px/1.08 Georgia,'Times New Roman',serif;
}


/* ABOUT DESCRIPTION */

.about-copy p,
.about-copy .about-description{
  width:100%;
  max-width:700px;
  margin:0;
  text-align:center;
  color:#4f4a45;
  font-size:18px;
  font-weight:500;
  line-height:1.7;
}


/* =========================
   PRODUCT PAGES
========================= */

.product-page{
  padding:56px 0 85px;
  background:#fff;
}

.crumb{
  color:var(--muted);
  font-size:13px;
  margin-bottom:26px;
}

.pgrid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:64px;
}

.gallery{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
}

.thumbs{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.thumb{
  height:118px;
  background:#eee8df;
  overflow:hidden;
  border:1px solid #eee6dd;
  cursor:pointer;
}

.thumb img{
  object-fit:cover;
}

.mainphoto{
  height:720px;
  background:#eee8df;
}

.mainphoto img{
  object-fit:contain;
}

.models-wide{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}

.models-wide div{
  height:430px;
  overflow:hidden;
  background:#ece7df;
}

.models-wide img{
  object-position:center 23%;
}


/* =========================
   BUY BOX
========================= */

.buybox{
  padding:22px 4px;
}

.buybox h1{
  font:400 44px/1.1 Georgia,'Times New Roman',serif;
  margin:0 0 12px;
}

.buybox .pcolor{
  color:var(--warm);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
}

.buybox .pprice{
  font:400 27px Georgia,'Times New Roman',serif;
  margin:20px 0 34px;
}

.label{
  font-weight:800;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.sizes{
  display:flex;
  gap:10px;
  margin-bottom:18px;
}

.size{
  width:62px;
  height:48px;
  border:1px solid #aaa;
  display:grid;
  place-items:center;
  font-weight:800;
  cursor:pointer;
  background:#fff;
}

.size.selected{
  background:var(--char);
  color:#fff;
  border-color:var(--char);
}

.stock{
  font-size:14px;
  color:var(--muted);
  margin-bottom:28px;
}

.buy{
  display:grid;
  place-items:center;
  width:100%;
  height:62px;
  margin-bottom:18px;
  border:0;
  background:var(--char);
  color:#fff;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.06em;
  cursor:pointer;
  font:inherit;
}

.buy:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.secure{
  font-size:13px;
  color:var(--muted);
  text-align:center;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  text-align:center;
}

.feature .icon{
  font-size:28px;
}

.feature b{
  display:block;
  font-size:12px;
  margin-top:8px;
}

.acc{
  padding:18px 0;
  border-bottom:1px solid var(--line);
  font-weight:700;
  display:flex;
  justify-content:space-between;
}


/* =========================
   EDITORIAL
========================= */

.editorial{
  background:var(--cream);
  padding:80px 0;
}

.editorial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.editorial-photo{
  height:520px;
  overflow:hidden;
}

.editorial-photo img{
  object-position:center 23%;
}

.editorial-copy{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:start;
  padding-top:25px;
}

.editorial-copy h2{
  font:400 43px Georgia,'Times New Roman',serif;
  margin:0;
}

.editorial-copy p{
  max-width:550px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
}


/* =========================
   CONTACT
========================= */

.contact{
  min-height:390px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 24px;
}

.contact .container{
  width:min(900px,90vw);
  margin:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.contact .micro{
  margin:0 0 24px;
  color:var(--warm);
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact h2{
  margin:0 0 22px;
  font:400 52px/1.08 Georgia,'Times New Roman',serif;
  color:var(--ink);
}

.contact p{
  margin:0;
}

.contact p a{
  color:#2f2a26;
  font-size:20px;
  font-weight:600;
  border-bottom:1px solid #8f857b;
  padding-bottom:5px;
}


/* =========================
   FOOTER
========================= */

.footer{
  background:#171817;
  color:#fff;
  padding:62px 0;
}

.foot{
  display:flex;
  justify-content:space-between;
  align-items:end;
}

.foot h3{
  font:400 36px Georgia,'Times New Roman',serif;
  margin:18px 0 12px;
}

.foot p{
  color:#c9c3bd;
}


/* =========================
   CHECKOUT / SUCCESS
========================= */

.checkout-message{
  min-height:20px;
  margin:-8px 0 14px;
  color:#9a3b2f;
  font-size:13px;
  text-align:center;
}

.success-wrap{
  min-height:65vh;
  display:grid;
  place-items:center;
  padding:80px 20px;
}

.success-card{
  max-width:680px;
  text-align:center;
  background:#fff;
  border:1px solid var(--line);
  padding:54px;
}

.success-card h1{
  font:400 48px Georgia,'Times New Roman',serif;
  margin:10px 0 18px;
}

.success-card p{
  color:var(--muted);
  line-height:1.7;
}

.success-card .btn{
  margin-top:18px;
}


/* =========================
   MOBILE
========================= */

@media(max-width:900px){

  .hero-grid,
  .pgrid,
  .about-grid{
    grid-template-columns:1fr;
  }

  .hero{
    background:#eee7dc;
  }

  .hero h1{
    font-size:52px;
  }

  .product-grid{
    grid-template-columns:1fr 1fr;
  }

  .hero-photo{
    height:430px;
  }

  .section-head{
    display:block;
  }

  .section-head p{
    margin-top:20px;
  }

  .gallery{
    grid-template-columns:80px 1fr;
  }

  .mainphoto{
    height:520px;
  }

  .editorial-grid{
    grid-template-columns:1fr;
  }

  .navlinks{
    gap:16px;
    font-size:12px;
  }


  /* ABOUT MOBILE */

  .about-grid{
    grid-template-columns:1fr;
  }

  .about-image{
    min-height:420px;
  }

  .about-image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
    left:0;
    top:0;
  }

  .about-copy{
    padding:50px 28px 60px;
  }

  .about-copy h2{
    font-size:42px;
  }

  .about-copy p,
  .about-copy .about-description{
    font-size:16px;
  }


  /* CONTACT MOBILE */

  .contact{
    min-height:320px;
    padding:55px 24px;
  }

  .contact h2{
    font-size:40px;
  }

  .contact p a{
    font-size:18px;
  }
}
/* =========================
   SIZE GUIDE / SHIPPING / RETURNS
========================= */

.product-guide{
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid var(--line);
}

.product-guide h3{
  margin:0 0 15px;
  font:400 24px Georgia,'Times New Roman',serif;
  color:var(--ink);
}

.fit-note{
  margin:0 0 20px;
  color:#625c56;
  font-size:14px;
  line-height:1.65;
}

.size-table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 12px;
  font-size:14px;
}

.size-table th,
.size-table td{
  padding:13px 10px;
  text-align:left;
  border-bottom:1px solid var(--line);
}

.size-table th{
  color:var(--ink);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.size-table td{
  color:#514c47;
}

.measurement-note{
  margin:10px 0 0;
  color:#777069;
  font-size:12px;
  line-height:1.5;
}

.shipping-heading,
.return-heading{
  margin-top:30px !important;
}

.policy-text{
  margin:0 0 8px;
  color:#514c47;
  font-size:14px;
  line-height:1.7;
}


/* =========================
   PRODUCT MODEL IMAGE FIX
========================= */

.models-wide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
}

/* Beige female hoodie — show more of the lower V hem */
body[data-product-id="hoodie-beige"] .models-wide > div:nth-child(2) img{
  object-position:center top;
}


/* =========================
   MOBILE SIZE GUIDE
========================= */

@media(max-width:900px){

  .product-guide{
    margin-top:24px;
  }

  .product-guide h3{
    font-size:22px;
  }

  .size-table{
    font-size:13px;
  }

}
/* Beige female hoodie — show full hoodie shape */
body[data-product-id="hoodie-beige"] .models-wide > div:nth-child(2){
  background:#ece7df;
}

body[data-product-id="hoodie-beige"] .models-wide > div:nth-child(2) img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
}
