:root{
  --wine: #3B1220;
  --wine-deep: #290C16;
  --gold: #D9A840;
  --gold-bright: #F0C868;
  --ivory: #F3E8D0;
  --ivory-warm: #EADFC4;
  --jade: #1F5C4C;
  --ink: #2A1810;
  --ink-soft: #5C4433;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Gowun Batang', 'Malgun Gothic', 'Apple SD Gothic Neo', serif;
  background:var(--ivory);
  color:var(--ink);
  line-height:1.7;
}
h1,h2,h3{font-weight:400;}
.display{font-family:'Black Han Sans', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif; font-weight:400;}
a{color:inherit;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

.topnav{
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.5rem;
  background:var(--wine-deep);
  color:var(--ivory);
  flex-wrap:wrap; gap:0.8rem;
}
.topnav .brand{color:var(--gold-bright); font-size:1.4rem; text-decoration:none;}
.nav-links{display:flex; align-items:center; gap:1.1rem; font-family:'Do Hyeon', sans-serif; font-size:0.92rem;}
.nav-links a{text-decoration:none;}
.nav-links a:hover{color:var(--gold-bright);}
.nav-user{color:var(--gold-bright);}
.link-btn{
  background:none; border:none; color:var(--ivory); font-family:'Do Hyeon', sans-serif;
  font-size:0.92rem; cursor:pointer; padding:0;
}
.link-btn:hover{color:var(--gold-bright);}

.page{max-width:760px; margin:0 auto; padding:3rem 1.5rem;}
.page h1{font-size:1.9rem; margin-bottom:0.6rem;}
.lead{color:var(--ink-soft); margin-bottom:1.6rem;}

.flash{
  background:var(--jade); color:var(--ivory); padding:0.8rem 1.1rem;
  border-radius:10px; margin-bottom:1.4rem; font-size:0.92rem;
}
.error{color:#9B2C2C; font-size:0.9rem; margin:0.3rem 0;}

.form-card{
  background:#fff; border:1px solid var(--ivory-warm); border-radius:16px;
  padding:2rem; max-width:420px; margin:0 auto;
}
.form-card h1{text-align:center;}
form label{display:block; margin-bottom:1rem; font-size:0.92rem; color:var(--ink-soft);}
form input, form textarea{
  width:100%; padding:0.65rem 0.8rem; margin-top:0.35rem;
  border:1px solid var(--ivory-warm); border-radius:8px;
  font-family:inherit; font-size:1rem; background:var(--ivory);
}
form textarea{resize:vertical;}
.switch-link{text-align:center; font-size:0.9rem; margin-top:1.2rem; color:var(--ink-soft);}
.switch-link a{color:var(--jade); font-weight:bold;}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:'Do Hyeon', sans-serif; font-size:1rem;
  padding:0.8rem 1.8rem; border-radius:999px; border:2px solid var(--gold);
  background:var(--gold); color:var(--wine-deep); cursor:pointer;
  text-decoration:none; width:100%; margin-top:0.4rem;
}
.btn:hover{background:var(--gold-bright);}

.pkg-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:1.4rem; margin-top:2rem;}
.pkg-card{background:#fff; border:1px solid var(--ivory-warm); border-radius:16px; padding:1.6rem;}
.pkg-card h3{font-family:'Do Hyeon', sans-serif; margin:0 0 0.6rem;}
.pkg-price{font-family:'Black Han Sans', sans-serif; font-size:1.5rem; color:var(--wine); margin-bottom:0.7rem;}
.pkg-price span{font-family:'Gowun Batang', serif; font-size:0.9rem; color:var(--ink-soft);}
.pkg-desc{font-size:0.88rem; color:var(--ink-soft); margin-bottom:1rem;}
.pkg-card textarea{margin-bottom:0.8rem;}

.cart-list{margin-top:1.6rem;}
.cart-row{
  display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
  padding:1rem 0; border-bottom:1px dashed var(--ivory-warm);
}
.cart-row h3{margin:0 0 0.3rem; font-size:1.05rem; font-family:'Do Hyeon', sans-serif;}
.cart-row .note{font-size:0.85rem; color:var(--ink-soft); white-space:pre-line;}
.cart-row-right{display:flex; flex-direction:column; align-items:flex-end; gap:0.4rem;}
.price{font-weight:bold; color:var(--wine); white-space:nowrap;}

.cart-total{
  display:flex; justify-content:space-between; align-items:center;
  padding:1.2rem 0; margin-top:0.6rem; border-top:2px solid var(--wine);
  font-family:'Do Hyeon', sans-serif;
}
.cart-total strong{font-size:1.3rem; color:var(--wine);}

.order-list{display:flex; flex-direction:column; gap:0.7rem; margin-top:1.6rem;}
.order-row{
  display:grid; grid-template-columns:auto auto 1fr auto; gap:1rem; align-items:center;
  background:#fff; border:1px solid var(--ivory-warm); border-radius:12px;
  padding:1rem 1.2rem; text-decoration:none; color:var(--ink);
}
.order-row:hover{border-color:var(--gold);}
.order-row .date{text-align:right; color:var(--ink-soft); font-size:0.85rem;}
.status{
  font-family:'Do Hyeon', sans-serif; font-size:0.78rem;
  padding:0.25rem 0.6rem; border-radius:999px; background:var(--ivory-warm); color:var(--ink-soft);
  justify-self:start;
}
.status-결제완료, .status-제작중{background:var(--jade); color:var(--ivory);}
.status-완료{background:var(--gold); color:var(--wine-deep);}
.status-취소{background:#9B2C2C; color:#fff;}

.site-footer{
  text-align:center; padding:2rem 1.5rem; color:var(--ink-soft);
  font-size:0.85rem; border-top:1px solid var(--ivory-warm); margin-top:2rem;
}

@media (max-width:520px){
  .order-row{grid-template-columns:1fr 1fr; row-gap:0.4rem;}
  .order-row .date{text-align:left;}
}
