/* ==========================================================================
   QUDRAT — STYLESHEET
   Organized top to bottom in the same order as index.html.
   Edit the variables in :root to change the whole color palette at once.
   ========================================================================== */

:root{
  --ink:#e5e3d9;         /* main background */
  --ink-2:#B9E9E9;       /* slightly lighter panels */
  --bone:#120d02;        /* main text color */
  --bone-dim:#0b0802;    /* secondary/muted text */
  --brass:#ff0000;       /* accent color */
  --brass-bright:#010501;/* brighter accent, for highlights/hover */
  --avatar-color:#B5673A;   /* muted terracotta, used only for avatar circles */
  --line:rgba(238,231,217,0.14); /* hairline dividers */
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  background:var(--ink);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
h1,h2,h3,.logo{
  font-family:'Fraunces',serif;
  font-weight:400;
  letter-spacing:0.01em;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* ---------- NAVIGATION ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:250;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 40px;
  font-size:13px;letter-spacing:0.18em;text-transform:uppercase;
  background:linear-gradient(to bottom, rgba(15,13,11,0.55) 0%, rgba(15,13,11,0) 100%);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
nav .logo{
  font-size:16px;letter-spacing:0.16em;
  color:var(--bone);
}
nav .hamburger-btn{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:28px;
  height:28px;
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
  position:relative;
  z-index:260;
}
nav .hamburger-btn span{
  display:block;
  width:100%;
  height:1.5px;
  background:var(--bone);
}
nav .hamburger-btn span{
  transition:transform .3s, opacity .3s;
}
nav .hamburger-btn.open span:nth-child(1){
  transform:translateY(6.5px) rotate(45deg);
}
nav .hamburger-btn.open span:nth-child(2){
  opacity:0;
}
nav .hamburger-btn.open span:nth-child(3){
  transform:translateY(-6.5px) rotate(-45deg);
}
.mobile-menu{
  display:none;
  position:fixed;
  top:0;right:0;
  width:70%;
  max-width:280px;
  height:100vh;
  background:var(--ink);
  border-left:1px solid var(--line);
  z-index:200;
  flex-direction:column;
  padding:100px 32px 40px;
  gap:24px;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}
.mobile-menu.open{
  display:flex;
  transform:translateX(0);
}
.mobile-menu a{
  font-size:14px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--bone);
  padding-bottom:20px;
  border-bottom:1px solid rgba(18,13,2,0.12);
  transition:color .2s, opacity .2s;
}
.mobile-menu a:last-child{
  border-bottom:none;
}
.mobile-menu a:active{
  color:var(--brass-bright);
  opacity:0.7;
}
nav .navlinks{display:flex;align-items:center;gap:36px;}
nav .navlinks a{
  position:relative;
  color:var(--bone);
  opacity:0.8;
  transition:opacity .3s;
  padding-bottom:4px;
}
nav .navlinks a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0%;height:1px;
  background:var(--brass-bright);
  transition:width .35s cubic-bezier(.16,1,.3,1);
}
nav .navlinks a:hover{opacity:1;}
nav .navlinks a:hover::after{width:100%;}

nav .navlinks a.icon-link::after{display:none;}
nav .icon-link{
  display:flex;
  align-items:center;
  opacity:0.85;
  background:none;
  border:none;
  cursor:pointer;
}
.mobile-icons{
  display:none;
  align-items:center;
  gap:16px;
}
nav .icon-link:hover{opacity:1;}
nav .account-menu{
  display:flex;align-items:center;gap:10px;
  padding-left:14px;margin-left:4px;border-left:1px solid var(--line);
  font-family:'Jost',sans-serif;
  font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--bone);opacity:0.85;
}
.user-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--avatar-color);
  color:#fff;
  font-family:'Jost',sans-serif;
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
}

/* ---------- HERO ---------- */
.hero{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  position:relative;text-align:center;
  padding:120px 24px 60px;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  opacity:1;
}
.hero-text{
  position:absolute;
  top:50%;
  right:6%;
  transform:translateY(-50%);
  text-align:right;
  z-index:2;
  max-width:480px;
}
.hero-title{
  font-size:clamp(40px,6vw,80px);
  line-height:1;
  letter-spacing:0.04em;
  color:var(--bone);
}
/*
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 45% at 50% 38%, rgba(176,141,87,0.16), transparent 70%),
    repeating-linear-gradient(115deg, rgba(238,231,217,0.025) 0px, rgba(238,231,217,0.025) 1px, transparent 1px, transparent 3px);
  pointer-events:none;
}
  */
.seal{width:400px;height:400px;margin-bottom:34px;position:relative;z-index:2;}
.seal svg{width:100%;height:100%;display:block;}
.seal img{width:100%;height:100%;object-fit:contain;}
#heroCanvas{width:340px;height:340px;margin-bottom:34px;position:relative;z-index:2;}
.eyebrow{
  font-size:12px;letter-spacing:0.32em;text-transform:uppercase;
  color:var(--brass-bright);margin-bottom:22px;position:relative;z-index:2;
}
.wordmark{
  font-size:clamp(64px,14vw,168px);
  line-height:0.92;letter-spacing:0.02em;
  background:linear-gradient(100deg,var(--bone) 20%,var(--brass-bright) 45%,var(--bone) 60%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 9s ease-in-out infinite;
  position:relative;z-index:2;
}
@keyframes shimmer{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.tagline{
  margin-top:26px;font-size:clamp(15px,1.6vw,19px);color:var(--bone-dim);
  max-width:520px;font-style:italic;font-family:'Fraunces',serif;font-weight:300;
  position:relative;z-index:2;
}
.scrollcue{
  position:absolute;bottom:40px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:11px;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--bone-dim);z-index:2;
}
.scrollcue span.line{width:1px;height:36px;background:var(--line);position:relative;overflow:hidden;}
.scrollcue span.line::after{
  content:"";position:absolute;top:0;left:0;width:100%;height:40%;
  background:var(--brass-bright);animation:drip 2.4s ease-in-out infinite;
}
@keyframes drip{0%{top:-40%;}100%{top:100%;}}

/* ---------- SHARED SECTION STYLES ---------- */
section{padding:150px 0;position:relative;}
.grid-2col{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start;}
.kicker{
  font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:var(--brass);
  margin-bottom:24px;display:flex;align-items:center;gap:14px;
}
.kicker::before{content:"";width:28px;height:1px;background:var(--brass);}

/* ---------- PHILOSOPHY ---------- */
.philosophy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.philosophy h2{font-size:clamp(32px,4.6vw,52px);line-height:1.15;}
.philosophy p{font-size:17px;line-height:1.85;color:var(--bone-dim);max-width:520px;}
.philosophy p + p{margin-top:20px;}
.word-meaning{
  margin-top:36px;padding-top:28px;border-top:1px solid var(--line);
  font-size:14px;color:var(--bone-dim);letter-spacing:0.02em;
}
.word-meaning b{color:var(--brass-bright);font-family:'Fraunces',serif;font-weight:500;font-size:16px;}

/* ---------- COLLECTION ---------- */
.collection-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:56px;flex-wrap:wrap;gap:24px;
}
.collection-head h2{font-size:clamp(30px,4vw,46px);}
.collection-head p{color:var(--bone-dim);font-size:14px;max-width:280px;}

.rating-stars-detail {
  color: #f5a623;
  font-size: 16px;
  letter-spacing: 2px;
  margin-right: 8px;
}

.rating-score-detail {
  font-size: 15px;
  color: var(--bone-dim);
}

.rating-stars {
  display: block;
  font-size: 14px;
  color: #f5a623;
  letter-spacing: 0.05em;
}

.rating-count {
  color: var(--bone-dim);
  font-size: 12px;
  margin-left: 2px;
}

#reviewsSummary p {
  font-size: 16px;
  color: var(--brass);
  margin-bottom: 28px;
}

.review-item {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.review-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.review-header p {
  font-size: 14px;
  color: var(--bone-dim);
  margin: 0;
}

.review-header p strong {
  color: var(--bone);
  font-family: 'Fraunces', serif;
  font-weight: 500;
  margin-right: 8px;
}

.reviewer-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--avatar-color);
  color: #fff;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  flex-shrink: 0;
}

.review-item p:last-child {
  font-size: 15px;
  line-height: 1.6;
  color: var(--bone-dim);
}

.star-input {
  font-size: 24px;
  color: var(--brass);
  margin-bottom: 14px;
  cursor: pointer;
  letter-spacing: 4px;
}

#reviewComment {
  display: block;
  width: 100%;
  max-width: 480px;
  min-height: 90px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line);
  color: var(--bone);
  font-family: 'Jost', sans-serif;
  font-size: 15px;
  padding: 10px 2px;
  resize: vertical;
  margin-bottom: 16px;
}

#reviewComment::placeholder {
  color: var(--bone-dim);
}

#reviewComment:focus {
  outline: none;
  border-color: var(--brass-bright);
}

#reviewForm button[type="submit"] {
  background: none;
  border: 1px solid var(--brass);
  color: var(--brass-bright);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  padding: 14px 32px;
  transition: letter-spacing .3s, background .3s, color .3s;
}

#reviewForm button[type="submit"]:hover {
  letter-spacing: 0.3em;
  background: var(--brass-bright);
  color: var(--ink);
}

.category-tabs {
  display: flex;
  gap: 12px;
  margin: 0 0 32px;
}

.category-tab {
  padding: 8px 20px;
  border: 1px solid var(--brass);
  background: transparent;
  color: var(--brass);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  letter-spacing: 0.03em;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.category-tab:hover {
  background: rgba(255, 0, 0, 0.08);
}

.category-tab.active {
  background: var(--brass);
  color: #fff;
}

.filter-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  border: 1px solid #000;
  background: transparent;
  color: #000;
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  letter-spacing: 0.03em;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.filter-trigger:hover {
  background: rgba(255, 0, 0, 0.08);
}

.filter-drawer {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 320px;
  max-width: 85vw;
  background: var(--ink);
  border-right: 1px solid var(--line);
  z-index: 300;
  padding: 32px 28px;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(.16,1,.3,1);
}

.filter-drawer.open {
  transform: translateX(0);
}

.filter-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.filter-drawer-header h3 {
  font-size: 20px;
  font-weight: 400;
}

.filter-drawer-close {
  background: none;
  border: none;
  color: var(--bone-dim);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.filter-section {
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}

.filter-section-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  color: var(--bone);
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}

.filter-section-body {
  display: none;
  flex-direction: column;
  gap: 12px;
  margin-top: 18px;
  font-size: 14px;
  color: var(--bone-dim);
}

.filter-section.open .filter-section-body {
  display: flex;
}

.filter-section-body label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.collection-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 32px;
}

.products-count {
  flex: 1;
  text-align: center;
}

.products-count {
  font-size: 13px;
  color: var(--bone-dim);
  letter-spacing: 0.03em;
}

.sort-select {
  padding: 8px 20px;
  border: 1px solid var(--brass);
  background: transparent;
  color: var(--brass);
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  letter-spacing: 0.03em;
  border-radius: 999px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.sort-select:hover,
.sort-select:focus {
  outline: none;
  border-color: var(--brass-bright);
}

.sort-dropdown {
  position: relative;
}

.sort-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  border: 1px solid #000;
  background: transparent;
  color: #000;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  letter-spacing: 0.03em;
  border-radius: 999px;
  cursor: pointer;
}

.sort-trigger:hover {
  background: rgba(255, 0, 0, 0.08);
}

.sort-caret {
  transition: transform 0.2s;
}

.sort-dropdown.open .sort-caret {
  transform: rotate(180deg);
}

.sort-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  background: var(--ink);
  border: 1px solid var(--line);
  z-index: 10;
}

.sort-dropdown.open .sort-menu {
  display: block;
}

.sort-option {
  padding: 10px 18px;
  font-size: 13px;
  color: var(--bone-dim);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.sort-option:hover {
  background: rgba(255, 0, 0, 0.08);
  color: var(--brass);
}

.sort-option.selected {
  color: var(--brass);
  font-weight: 500;
}

.grid-looks{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);}
.look{
  background:var(--ink-2);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.look-image-zone{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
}
.look-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.look-info-zone{
  padding:22px 24px 28px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--ink);
  border-top:1px solid var(--line);
  flex:1;
}
.look::before{content:"";position:absolute;inset:0;opacity:0.9;transition:transform 1.2s cubic-bezier(.16,1,.3,1);}
/* Each look's placeholder gradient — replace with background:url('../images/your-photo.jpg') center/cover
   once you have real product photography */
.look-1::before{background:linear-gradient(160deg,#1b1714,#0f0d0b 60%,#2a2016);}
.look-2::before{background:linear-gradient(160deg,#20140f,#0f0d0b 55%,#3a2418);}
.look-3::before{background:linear-gradient(160deg,#151412,#0f0d0b 60%,#26241c);}
.look-4::before{background:linear-gradient(160deg,#1a1712,#0f0d0b 55%,#332a1a);}
.look-5::before{background:linear-gradient(160deg,#171310,#0f0d0b 60%,#2c2318);}
.look-6::before{background:linear-gradient(160deg,#1c1815,#0f0d0b 55%,#28211a);}
.look:hover::before{transform:scale(1.08);}
.look .no{position:absolute;top:26px;left:26px;font-size:12px;color:var(--brass-bright);letter-spacing:0.1em;z-index:2;}
.look h3{
  font-size:22px;
  font-weight:400;
  z-index:2;
  position:relative;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.look span.tag{font-size:12px;color:var(--bone-dim);z-index:2;position:relative;letter-spacing:0.05em;margin-top:6px;display:block;}
.look .add-to-cart-btn{position:relative;z-index:2;}
.look .wishlist-btn{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:44px;
  height:44px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,0.85);
  color:var(--bone);
  font-size:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .2s, color .2s;
}
.look .wishlist-btn:hover{
  transform:scale(1.1);
}
.look .wishlist-btn[data-saved="true"]{
  color:#c0392b;
}
.look .cart-status{
  display:block;position:relative;z-index:2;
  margin-top:10px;font-size:12px;letter-spacing:0.05em;text-align:center;
  min-height:14px;
}
.look .cart-status.success{color:var(--brass-bright);}
.look .cart-status.error{color:#c0392b;}

.size-pills {
  display: flex;
  gap: 6px;
  margin: 8px 0;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}

.size-pill {
  padding: 4px 10px;
  font-size: 0.75rem;
  border: 1px solid #000;
  background: transparent;
  color: #000;
  border-radius: 20px;
  cursor: pointer;
}

.size-pill.sold-out {
  border-color: #ccc;
  color: #ccc;
  cursor: not-allowed;
  text-decoration: line-through;
}

.size-pill.selected {
  background: var(--brass);
  color: #fff;
}

#sizeSelector {
  display: flex;
  gap: 8px;
  margin: 16px 0 24px;
  flex-wrap: wrap;
}
.detail-divider {
  border-top: 1px solid rgba(18,13,2,0.15);
  margin-top: 20px;
  padding-top: 20px;
}
.size-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--bone-dim);
  margin-top: 18px;
}

#sizeChartLink {
  color: var(--brass-bright);
  text-decoration: underline;
  font-size: 12px;
}

.size-option {
  padding: 8px 14px;
  min-width: 42px;
  font-size: 0.8rem;
  font-family: 'Jost', sans-serif;
  border: 1px solid #000;
  background: transparent;
  color: var(--brass-bright);
  border-radius: 20px;
  cursor: pointer;
  transition: background .2s, color .2s;
}

.size-option:hover:not(.sold-out) {
  background: rgba(255, 0, 0, 0.08);
}

.size-option.sold-out {
  border-color: #ccc;
  color: #ccc;
  cursor: not-allowed;
  text-decoration: line-through;
  background: transparent;
}

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

.collection-note{text-align:center;margin-top:44px;font-size:13px;color:var(--bone-dim);letter-spacing:0.05em;}
.view-collection-btn{
  display:inline-block;
  position:relative;
  border:none;
  color:var(--brass-bright);
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  padding:16px 44px;
  background:none;
  transition:letter-spacing .3s;
}
.view-collection-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid transparent;
  transition:border-color .3s;
}
.view-collection-btn::after{
  content:"→";
  margin-left:14px;
  display:inline-block;
  transition:transform .3s;
}
.view-collection-btn:hover{
  letter-spacing:0.3em;
}
.view-collection-btn:hover::before{
  border-color:var(--brass-bright);
}
.view-collection-btn:hover::after{
  transform:translateX(4px);
}

/* ---------- FABRIC MARQUEE ---------- */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;overflow:hidden;}
.marquee{display:flex;white-space:nowrap;animation:scroll 32s linear infinite;}
.marquee span{font-family:'Fraunces',serif;font-size:22px;color:var(--bone-dim);padding:0 34px;display:flex;align-items:center;gap:34px;}
.marquee span.accent{color:var(--brass-bright);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- CRAFT ---------- */
.craft-visual{
  aspect-ratio:1/1;border-radius:2px;
  background:radial-gradient(circle at 30% 30%, rgba(176,141,87,0.25), transparent 60%), linear-gradient(160deg,#181410,#0c0a08);
  position:relative;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.craft-visual .ring{width:62%;height:62%;border:1px solid var(--brass);border-radius:50%;opacity:0.5;animation:spin 40s linear infinite;}
.craft-visual .ring::after{content:"";position:absolute;width:6px;height:6px;background:var(--brass-bright);border-radius:50%;top:-3px;left:50%;transform:translateX(-50%);}
@keyframes spin{to{transform:rotate(360deg);}}
.craft h2{font-size:clamp(30px,4vw,44px);margin-bottom:24px;}
.craft-list{margin-top:34px;display:flex;flex-direction:column;gap:22px;}
.craft-list .item{display:grid;grid-template-columns:70px 1fr;gap:18px;border-top:1px solid var(--line);padding-top:18px;}
.craft-list .item .num{color:var(--brass);font-size:13px;letter-spacing:0.05em;}
.craft-list .item h4{font-family:'Fraunces',serif;font-weight:500;font-size:17px;margin-bottom:6px;}
.craft-list .item p{color:var(--bone-dim);font-size:14px;line-height:1.6;}

/* ---------- NOTIFY / CTA ---------- */
.cta{border-top:1px solid var(--line);text-align:center;}
.cta h2{font-size:clamp(34px,5vw,56px);max-width:680px;margin:0 auto 22px;line-height:1.15;}
.cta p{color:var(--bone-dim);max-width:460px;margin:0 auto 44px;font-size:15px;line-height:1.7;}
.cta-form{display:flex;justify-content:center;gap:0;max-width:440px;margin:0 auto;border-bottom:1px solid var(--brass);padding-bottom:14px;}
.cta-form input{flex:1;background:transparent;border:none;color:var(--bone);font-family:'Jost',sans-serif;font-size:15px;padding:8px 4px;letter-spacing:0.02em;}
.cta-form input::placeholder{color:var(--bone-dim);}
.cta-form input:focus{outline:none;}
.cta-form button{
  background:none;border:none;color:var(--brass-bright);
  font-size:12px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;
  padding:8px 4px;transition:letter-spacing .3s, color .3s;
}
.cta-form button:hover{letter-spacing:0.3em;color:var(--bone);}
.cta-status{margin-top:18px;font-size:13px;color:var(--brass-bright);min-height:18px;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 40px;}
.foot-mark{display:flex;align-items:center;gap:14px;}
.foot-mark .name{font-family:'Fraunces',serif;font-size:17px;letter-spacing:0.05em;}
.logo-with-icon{display:flex;align-items:center;gap:10px;}
.logo-icon{height:72px;width:auto;}
.foot-logo-icon{height:68px;width:auto;}

.footer-grid {
  display: grid;
  grid-template-columns: 1.9fr 1fr 1fr;
  gap: 56px;
  padding-top: 72px;
  padding-bottom: 40px;
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-col-divided {
  border-left: 1px solid var(--line);
  padding-left: 40px;
}

.footer-col a,
.footer-col a:visited {
  position: relative;
  font-size: 14px;
  color: var(--bone-dim);
  text-decoration: none;
  padding-bottom: 2px;
  width: fit-content;
}

.footer-col a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 1px;
  background: var(--brass-bright);
  transition: width .35s cubic-bezier(.16,1,.3,1);
}

.footer-col a:hover::after {
  width: 100%;
}

.footer-col a:hover {
  color: var(--brass-bright);
}

.footer-heading {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--bone);
  margin: 18px 0 4px;
}

.footer-blurb {
  font-size: 14px;
  line-height: 1.7;
  color: var(--bone-dim);
  max-width: 340px;
  margin: 14px 0 22px;
}

.footer-social {
  display: flex;
  gap: 10px;
}

.footer-social a {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--bone-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .3s, color .3s;
}

.footer-social svg {
  width: 22px;
  height: 22px;
}

.footer-notify-form button svg {
  width: 22px;
  height: 22px;
}

.footer-social a::after {
  display: none;
}

.footer-social a:hover {
  border-color: var(--brass-bright);
  color: var(--brass-bright);
}

.footer-notify-form {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid var(--bone-dim);
  max-width: 340px;
  padding-bottom: 12px;
}

.footer-notify-form:focus-within {
  border-bottom-color: var(--brass-bright);
}

.footer-notify-form input {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--bone);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  padding: 4px 2px;
}

.footer-notify-form input::placeholder {
  color: var(--bone-dim);
}

.footer-notify-form input:focus {
  outline: none;
}

.footer-notify-form button {
  background: none;
  border: none;
  color: var(--bone-dim);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color .3s;
}

.footer-notify-form button:hover {
  color: var(--brass-bright);
}

.footer-notify-status {
  margin-top: 10px;
  font-size: 12px;
  color: var(--brass-bright);
  min-height: 14px;
}

.footer-bottom {
  border-top: 1px solid rgba(18, 13, 2, 0.15);
  padding-top: 20px;
  margin-top: 8px;
  font-size: 12px;
  opacity: 0.6;
}

@media (max-width: 720px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-col-divided {
    border-left: none;
    padding-left: 0;
  }
}
/* ---------- SCROLL-REVEAL ANIMATION ---------- */
/* Elements with class "reveal" start invisible/shifted, then fade+rise into
   place. Toggled by IntersectionObserver in script.js */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ---------- ACCESSIBILITY ---------- */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:1px solid var(--brass-bright);outline-offset:3px;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:860px){
  .grid-2col{grid-template-columns:1fr;gap:40px;}
  .grid-looks{grid-template-columns:repeat(2,1fr);}
  nav .navlinks{gap:20px;font-size:11px;}
  section{padding:100px 0;}
}
@media (max-width:520px){
  .grid-looks{grid-template-columns:repeat(2,1fr);}
  nav{padding:16px 20px;}
  nav .hamburger-btn{display:flex;}
  nav .navlinks{display:none;}
  .hero{min-height:60vh;}
  nav .logo-icon{
    height:40px;
  }
  nav .logo{
    font-size:12px;
  }
  .mobile-nav-right{
    display:flex;
    align-items:center;
    gap:16px;
  }
  .mobile-icons{
    display:flex;
    gap:16px;
  }
}

/* Respect users who've asked for reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}
/* ---------- AUTH PAGES (Login / Signup) ---------- */
.auth-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:120px 24px 60px;
  position:relative;
}
.auth-page::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 45% at 50% 30%, rgba(176,141,87,0.14), transparent 70%);
  pointer-events:none;
}
.auth-box{
  position:relative;z-index:2;
  width:100%;
  max-width:400px;
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:56px 44px;
}
.auth-box .kicker{justify-content:center;}
.auth-box h2{
  font-size:clamp(28px,4vw,36px);
  text-align:center;
  margin-bottom:36px;
}
.auth-form{display:flex;flex-direction:column;gap:20px;}
.auth-form input{
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-size:15px;
  padding:10px 2px;
  letter-spacing:0.02em;
  transition:border-color .3s;
}
.auth-form input::placeholder{color:var(--bone-dim);}
.auth-form input:focus{outline:none;border-color:var(--brass-bright);}
.auth-form button{
  margin-top:14px;
  background:none;
  border:1px solid var(--brass);
  color:var(--brass-bright);
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px;
  transition:letter-spacing .3s, background .3s, color .3s;
}
.auth-form button:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
  color:var(--ink);
}
.auth-status{
  margin-top:20px;
  text-align:center;
  font-size:13px;
  min-height:18px;
}
.auth-switch{
  margin-top:28px;
  text-align:center;
  font-size:13px;
  color:var(--bone-dim);
}
.auth-switch a{color:var(--brass-bright);}
.auth-switch a:hover{text-decoration:underline;}
/* ---------- SHOW/HIDE PASSWORD TOGGLE ---------- */
.password-field{
  position:relative;
  display:flex;
  align-items:center;
}
.password-field input{
  flex:1;
  padding-right:50px;
}
.toggle-password{
  position:absolute;
  right:2px;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--bone-dim);
  cursor:pointer;
  user-select:none;
  transition:color .3s;
}
.toggle-password:hover{
  color:var(--brass-bright);
}
/* ---------- CART PAGE ---------- */
.cart-page{
  min-height:100vh;
  padding:140px 24px 80px;
}
.cart-page h2{
  font-size:clamp(30px,4vw,44px);
  margin-bottom:44px;
}
.cart-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}

.cart-item-info{
  display:flex;
  align-items:center;
  gap:20px;
  cursor:pointer;
}

.cart-item-thumb-wrap{
  width:64px;
  height:80px;
  border:1px solid var(--line);
  background:var(--ink);
  flex-shrink:0;
  overflow:hidden;
}
.cart-item-thumb{
  display:block;
  width:64px;
  height:80px;
  object-fit:cover;
  transition:opacity .3s;
}

.cart-item-info h3{
  font-size:19px;
  font-weight:400;
  margin-bottom:6px;
}
.cart-item-category{
  font-size:13px;
  color:var(--bone-dim);
  margin-bottom:6px;
}
.cart-item-price{
  font-size:15px;
  color:var(--brass-bright);
}
.cart-item-controls{
  display:flex;
  align-items:center;
  gap:14px;
}
.qty-btn{
  background:none;
  border:1px solid #000;
  color:#000;
  width:32px;
  height:32px;
  border-radius:50%;
  font-size:16px;
  cursor:pointer;
  transition:background .2s, color .2s, transform .1s;
}
.qty-btn:hover{
  background:rgba(0,0,0,0.06);
}
.qty-btn:active{
  transform:scale(0.9);
  background:#000;
  color:#fff;
}
.qty-value{
  min-width:32px;
  text-align:center;
  font-size:14px;
  font-weight:500;
  color:#fff;
  background:#E9AFC7;
  border-radius:999px;
  padding:6px 14px;
}
.remove-btn{
  background:none;
  border:none;
  color:var(--bone-dim);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  margin-left:10px;
  transition:color .3s;
}
.remove-btn:hover{
  color:var(--brass);
}

.remove-wishlist-btn{
  background:none;
  border:1px solid var(--brass);
  color:var(--brass-bright);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  padding:8px 18px;
  margin-top:10px;
  transition:letter-spacing .3s, background .3s, color .3s;
}
.remove-wishlist-btn:hover{
  letter-spacing:0.15em;
  background:var(--brass-bright);
  color:var(--ink);
}

/* ---------- SHIPPING ADDRESS FORM ---------- */
.shipping-form{
  margin-top:12px;
  padding:36px;
  border:1px solid rgba(18,13,2,0.12);
  background:#fffdf9;
}
.shipping-form h3{
  font-size:20px;
  font-weight:400;
  margin-bottom:28px;
}
.shipping-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-bottom:28px;
}
.shipping-row-3{
  grid-template-columns:1fr 1fr 1fr;
}
.shipping-form input{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(18,13,2,0.3);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-size:15px;
  padding:10px 2px;
  letter-spacing:0.02em;
  transition:border-color .3s;
}
.shipping-form input::placeholder{
  color:var(--bone-dim);
}
.shipping-form input:focus{
  outline:none;
  border-color:var(--brass-bright);
}
#payNowBtn{
  margin-top:8px;
  background:#E9AFC7;
  border:none;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:8px;
  transition:letter-spacing .3s, background .3s;
}
#payNowBtn:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
}

/* ---------- PRODUCT DETAIL MODAL ---------- */
.product-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(15,13,11,0.85);
  z-index:300;
  justify-content:center;
  align-items:flex-start;
  padding:40px 24px;
  overflow-y:auto;
  scrollbar-width:none;
}
.product-modal::-webkit-scrollbar{
  display:none;
}
.product-modal.active{
  display:flex;
}
.product-modal-content{
  position:relative;
  background:var(--ink-2);
  border:1px solid var(--line);
  padding:48px 44px;
  max-width:820px;
  width:100%;
}
.modal-close{
  position:absolute;
  top:16px;
  right:20px;
  background:none;
  border:none;
  color:var(--bone-dim);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:color .3s;
}
.modal-close:hover{
  color:var(--brass-bright);
}

.modal-image{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  margin-bottom:24px;
  background:var(--ink);
  border:1px solid var(--line);
  transition:opacity .3s;
}

.modal-category{
  font-size:13px;
  color:var(--bone-dim);
  margin-top:10px;
}
.modal-price{
  font-size:18px;
  color:var(--brass-bright);
  margin-top:14px;
}
.modal-description{
  font-size:15px;
  color:var(--bone-dim);
  line-height:1.7;
  margin-top:22px;
}
.size-chart-product-name {
  font-size: clamp(22px,3vw,30px);
  text-align: center;
  margin-bottom: 6px;
}
.size-chart-subtitle {
  font-size: 14px;
  color: var(--bone-dim);
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(18,13,2,0.15);
}
.size-chart-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  border: 1px solid rgba(18,13,2,0.15);
}

.size-chart-table th,
.size-chart-table td {
  padding: 10px;
  text-align: center;
  border: 1px solid rgba(18,13,2,0.15);
  font-size: 14px;
}

.size-chart-table th {
  color: var(--bone);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.05em;
  background: rgba(18,13,2,0.06);
}

.size-chart-table td:first-child {
  font-weight: 500;
  background: rgba(18,13,2,0.03);
}
.body-measurements-label {
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  margin-top: 6px;
}
.unit-toggle {
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--bone-dim);
  margin: 10px 0 18px;
  text-align: center;
}
.unit-option {
  cursor: pointer;
  transition: color 0.2s;
}
.unit-option:hover {
  color: var(--brass);
}
.unit-option.active {
  color: var(--brass-bright);
  font-weight: 500;
}
.how-to-measure {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.how-to-measure-title {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bone-dim);
  margin-bottom: 14px;
}
.how-to-measure-img {
  width: 100%;
  height: auto;
  display: block;
}
.size-chart-notes {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.size-chart-notes li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--bone-dim);
}
.size-chart-notes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brass);
}
.measure-summary {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.measure-summary-title {
  font-size: 14px;
  color: var(--bone);
  margin-bottom: 12px;
  font-weight: 500;
}
.measure-summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.measure-summary-list li {
  font-size: 13px;
  line-height: 1.6;
  color: var(--bone-dim);
}
.measure-summary-list li strong {
  color: var(--bone);
  font-weight: 600;
}
.orders-section {
  padding: 140px 40px 60px;
}

.order-card {
  border: 1px solid var(--line);
  padding: 24px;
  margin-bottom: 20px;
  border-radius: 4px;
}

#wishlistList .order-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
}

#wishlistList .order-card{
  padding:24px 0;
}

#wishlistList .remove-wishlist-btn{
  margin-top:0;
}

.order-item-info{
  display:flex;
  align-items:center;
  gap:14px;
  cursor:pointer;
}
.order-item-thumb-wrap{
  width:48px;
  height:60px;
  border:1px solid var(--line);
  background:var(--ink);
  flex-shrink:0;
  overflow:hidden;
}
.order-item-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
}

.order-card p {
  margin: 6px 0;
}

.order-card p strong {
  color: var(--brass-bright);
  margin-right: 6px;
}

.shipping-progress {
  display: flex;
  align-items: center;
  margin: 16px 0;
}
.shipping-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.shipping-step::before {
  content: "";
  position: absolute;
  top: 6px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: var(--line);
  z-index: 0;
}
.shipping-step:first-child::before {
  display: none;
}
.shipping-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--line);
  z-index: 1;
  margin-bottom: 6px;
}
.shipping-step.done .shipping-dot {
  background: var(--brass);
}
.shipping-step.done::before {
  background: var(--brass);
}
.shipping-label {
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bone-dim);
}
.shipping-step.done .shipping-label {
  color: var(--brass-bright);
}
.shipping-cancelled {
  color: #c0392b;
  font-size: 14px;
  margin: 16px 0;
}

/* Product detail page layout */
.product-detail-layout {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.product-detail-image-wrap {
  width: 470px;
  aspect-ratio: unset;
  height: 533px;
  border: none;
  flex-shrink: 0;
  position: sticky;
  top: 120px;
  align-self: flex-start;
  display: flex;
  gap: 10px;
}

.wishlist-icon-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.85);
  color: var(--bone);
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s, color .2s;
}
.wishlist-icon-btn:hover {
  transform: scale(1.1);
}
.wishlist-icon-btn[data-saved="true"] {
  color: #c0392b;
}

.add-to-cart-btn {
  background: #E9AFC7;
  border: none;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 8px;
  padding: 14px 32px;
  transition: letter-spacing .3s, background .3s;
}
.add-to-cart-btn:hover {
  letter-spacing: 0.3em;
  background: var(--brass-bright);
}

.product-detail-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.3s;
  flex: 1;
}

.product-main-image-box {
  flex: 1;
  border: 1px solid rgba(18, 13, 2, 0.15);
  position: relative;
  background: #fff;
}

.product-thumbnails {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.product-thumb {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border: 1px solid rgba(18,13,2,0.15);
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s, border-color 0.2s;
}

.product-thumb:hover {
  opacity: 1;
}

.product-thumb.active {
  opacity: 1;
  border-color: var(--brass);
}

.product-detail-info {
  padding-top: 10px;
}

.product-detail-info h2 {
  font-size: 32px;
  margin-bottom: 6px;
}

.product-detail-info p {
  margin: 0;
  line-height: 1.5;
}

.product-detail-info p:nth-of-type(1) {
  color: var(--bone-dim);
  font-size: 14px;
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}

.product-detail-info p:nth-of-type(2) {
  color: var(--brass-bright);
  font-size: 18px;
  margin-bottom: 14px;
}

.product-detail-info p:nth-of-type(3) {
  color: var(--bone-dim);
  font-size: 15px;
  line-height: 1.7;
}

.product-detail-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.product-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.product-share-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: var(--bone-dim);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  cursor: pointer;
  padding: 4px;
  margin-top: 8px;
  white-space: nowrap;
  transition: color 0.2s;
}

.product-share-btn:hover {
  color: var(--brass-bright);
}

.admin-product-item {
  display: flex;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

.admin-product-item span {
  min-width: 150px;
}

.admin-order-header,
.admin-order-item {
  display: grid;
  grid-template-columns: 2fr 2fr 0.8fr 0.8fr 1fr 1fr 2.5fr;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  align-items: start;
}

.admin-order-header {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--bone-dim);
  border-bottom: 1px solid var(--brass);
}

.admin-order-item span {
  font-size: 14px;
  word-break: break-word;
}
.admin-orders-block {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid var(--line);
}

/* ---------- ADMIN RETURN REQUESTS ---------- */
.admin-return-item{
  border:1px solid var(--line);
  padding:24px;
  margin-bottom:20px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  flex-wrap:wrap;
}
.admin-return-details{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-width:220px;
}
.admin-return-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex-shrink:0;
}
.admin-return-item p{
  font-size:14px;
  color:var(--bone-dim);
}
.admin-return-item p strong{
  color:var(--brass-bright);
  margin-right:6px;
}
.admin-return-item .return-status-label{
  margin-top:10px;
}
.approve-return-btn,
.reject-return-btn{
  background:#E9AFC7;
  border:none;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:8px;
  margin:0;
  width:fit-content;
  transition:letter-spacing .3s, background .3s;
}
.approve-return-btn:hover,
.reject-return-btn:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
}

.edit-btn,
.delete-btn{
  background:none;
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  padding:8px 18px;
  margin-right:10px;
  border-radius:999px;
  transition:letter-spacing .3s, background .3s, color .3s;
}
.edit-btn{
  border:1px solid #000;
  color:#000;
}
.edit-btn:hover{
  letter-spacing:0.15em;
  background:#000;
  color:#fff;
}
.edit-btn:active{
  transform:scale(0.95);
  background:#000;
  color:#fff;
}
.delete-btn{
  border:1px solid #c0392b;
  color:#c0392b;
}
.delete-btn:hover{
  letter-spacing:0.15em;
  background:#c0392b;
  color:#fff;
}
.delete-btn:active{
  transform:scale(0.95);
  background:#c0392b;
  color:#fff;
}

/* ---------- POLICY PAGES (Returns & Exchanges, etc.) ---------- */
.policy-section{
  padding:140px 24px 80px;
}
.policy-section .wrap{
  max-width:720px;
}
.policy-section h1{
  font-size:clamp(32px,4.6vw,48px);
  margin-bottom:28px;
  line-height:1.15;
}
.policy-section h2{
  font-size:20px;
  font-weight:500;
  margin-top:44px;
  margin-bottom:14px;
  color:var(--brass);
}
.policy-section p{
  font-size:15px;
  line-height:1.8;
  color:var(--bone-dim);
}
.policy-section ol{
  margin:0;
  padding-left:22px;
  font-size:15px;
  line-height:1.8;
  color:var(--bone-dim);
}
.policy-section ol li{
  margin-bottom:8px;
}
.policy-section h2:first-of-type{
  margin-top:36px;
}

/* ---------- ORDERS PAGE — ITEM ROWS + RETURN FLOW ---------- */
.order-items{
  margin:16px 0;
}
.order-item-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
  color:var(--bone-dim);
  flex-wrap:wrap;
}
.order-item-row:last-child{
  border-bottom:none;
}

.retry-btn{
  background:none;
  border:1px solid var(--brass);
  color:var(--brass-bright);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  padding:8px 18px;
  transition:letter-spacing .3s, background .3s, color .3s;
}
.retry-btn:hover{
  letter-spacing:0.15em;
  background:var(--brass-bright);
  color:var(--ink);
}

.submit-return-btn,
.cancel-return-btn{
  background:#E9AFC7;
  border:none;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:8px;
  transition:letter-spacing .3s, background .3s;
}
.submit-return-btn:hover,
.cancel-return-btn:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
}

.request-return-btn{
  background:#E9AFC7;
  border:none;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:8px;
  transition:letter-spacing .3s, background .3s;
}
.request-return-btn:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
}

.return-status-label{
  font-size:12px;
  letter-spacing:0.05em;
  color:var(--bone-dim);
  text-transform:uppercase;
}

.return-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:12px;
  padding:16px;
  border:1px solid var(--line);
  width:100%;
}
.return-reason{
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-size:14px;
  padding:8px 2px;
  min-height:60px;
  width:100%;
  max-width:480px;
  resize:vertical;
}
.return-reason::placeholder{
  color:var(--bone-dim);
}
.return-reason:focus{
  outline:none;
  border-color:var(--brass-bright);
}
.file-upload-btn{
  display:inline-block;
  background:#E9AFC7;
  border:none;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:8px;
  transition:letter-spacing .3s, background .3s;
}
.file-upload-btn:hover{
  letter-spacing:0.3em;
  background:var(--brass-bright);
}
.file-upload-btn input[type="file"]{
  display:none;
}
.file-upload-name{
  font-size:13px;
  color:var(--bone-dim);
  margin-left:10px;
}
.return-form .submit-return-btn,
.return-form .cancel-return-btn{
  align-self:flex-start;
}
/* ---------- ADMIN DASHBOARD FORM ---------- */
.admin-tabs{
  display:flex;
  gap:12px;
  margin-bottom:32px;
  flex-wrap:wrap;
}
.admin-tab-btn{
  padding:10px 26px;
  border-radius:999px;
  border:1px solid #000;
  background:transparent;
  color:#000;
  font-family:'Jost',sans-serif;
  font-size:13px;
  letter-spacing:0.05em;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.admin-tab-btn:hover{
  background:rgba(0,0,0,0.06);
}
.admin-tab-btn.active{
  background:#000;
  color:#fff;
}
.admin-form{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:flex-start;
  padding:32px;
  margin-bottom:40px;
  border:1px solid rgba(18,13,2,0.12);
  background:#fffdf9;
}
.admin-form input[type="text"],
.admin-form input[type="number"],
.admin-form select,
.admin-form textarea{
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(18,13,2,0.3);
  color:var(--bone);
  font-family:'Jost',sans-serif;
  font-size:15px;
  padding:10px 2px;
  letter-spacing:0.02em;
  transition:border-color .3s;
}
.admin-form input[type="text"]::placeholder,
.admin-form textarea::placeholder{
  color:var(--bone-dim);
}
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus{
  outline:none;
  border-color:var(--brass-bright);
}
.admin-form textarea{
  resize:vertical;
  min-height:60px;
}

.admin-form button[type="submit"]{
  align-self:flex-start;
  margin-top:6px;
  background:#000;
  border:1px solid #000;
  color:#fff;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  cursor:pointer;
  padding:14px 32px;
  border-radius:999px;
  transition:letter-spacing .3s, background .3s, color .3s;
}
.admin-form button[type="submit"]:hover{
  letter-spacing:0.3em;
  background:#222;
}
#sizesFieldset,
#sizeChartFieldset{
  margin-top:24px;
}
#sizesFieldset > p,
#sizeChartFieldset > p{
  font-size:13px;
  letter-spacing:0.05em;
  color:var(--bone-dim);
  margin-bottom:14px;
}
.size-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
}
.size-row label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  cursor:pointer;
}
.size-row span{
  width:28px;
  font-size:14px;
  color:var(--bone-dim);
}
.size-row-header{
  margin-bottom:6px;
  gap:14px;
}
.size-row-header span:first-child{
  width:28px;
}
.size-row-header .size-col-label{
  width:90px;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--bone-dim);
}
.pant-col {
  display: none;
}
.size-row input[type="number"]{
  width:90px;
}
.admin-form input[type="checkbox"],
.size-checkbox,
.sold-out-checkbox{
  width:15px;
  height:15px;
  accent-color:var(--brass);
  cursor:pointer;
}
.product-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 24px;
  border: 1px solid rgba(18,13,2,0.15);
}

.product-specs-table tr {
  border-bottom: 1px solid rgba(18,13,2,0.15);
}

.product-specs-table tr:last-child {
  border-bottom: none;
}

.product-specs-table td {
  padding: 14px 16px;
  font-size: 14px;
  border-right: 1px solid rgba(18,13,2,0.15);
}

.product-specs-table td:last-child {
  border-right: none;
}

.product-specs-table .spec-label {
  color: var(--brass-bright);
  font-weight: 600;
  width: 40%;
}

.product-specs-table .spec-value {
  color: #1a1a1a;
}
@media (max-width:768px){
  .product-detail-layout{
    flex-direction:column;
    gap:24px;
  }
  .product-detail-image-wrap{
    width:100%;
    height:auto;
    position:static;
    display:block;
  }
  .product-main-image-box{
    aspect-ratio:3/4;
    width:100%;
  }
  .product-detail-image{
    max-width:100%;
  }
  #productThumbnails{
    display:none;
  }
    .look .add-to-cart-btn{
    padding:12px 20px;
    font-size:11px;
    letter-spacing:0.12em;
    white-space:nowrap;
  }
  .size-pills{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-right:16px;
    padding-bottom:4px;
    margin-bottom:-4px;
  }
  .size-pills::-webkit-scrollbar{
    display:none;
  }
}
.carousel-dots{
  display:none;
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  gap:6px;
  z-index:3;
}
.carousel-dots .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
}
.carousel-dots .dot.active{
  background:#fff;
}
@media (max-width:768px){
  .carousel-dots{
    display:flex;
  }
  .product-modal{
    padding-top:130px;
  }
  .shipping-row,
  .shipping-row-3{
    grid-template-columns:1fr;
  }
  #payNowBtn{
    width:100%;
    padding:16px 32px;
    text-align:center;
  }
  .admin-product-item{
    flex-wrap:wrap;
  }
  .admin-product-item span{
    min-width:0;
    width:100%;
  }
  .size-row{
    flex-wrap:wrap;
  }
  .size-row input[type="number"]{
    width:70px;
  }
    .admin-order-header{
    display:none;
  }
  .admin-order-item{
    grid-template-columns:1fr;
    gap:4px;
    padding:16px 0;
  }
  .admin-order-item span{
    display:block;
  }
  .admin-order-item span::before{
    content:attr(data-label) ": ";
    font-weight:600;
    color:var(--brass-bright);
  }
}
.image-preview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.image-preview-item {
  position: relative;
  width: 80px;
  height: 80px;
}

.image-preview-item img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 4px;
  border: 1px solid rgba(18,13,2,0.12);
  background: #f0ede4;
}

.remove-image-btn {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}