:root{--blue:#154ab7;--pink:#eea4b8;--cream:#fff9ef;--ink:#17234a;--gold:#dfbd75;--line:#e9e1d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'Be Vietnam Pro',sans-serif}button,a{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}.announce{background:var(--blue);color:#fff;text-align:center;padding:10px;font-size:12px;letter-spacing:.04em}.announce span{color:#f7d779;margin:0 13px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fffaf1eF;backdrop-filter:blur(10px);z-index:5}.brand{font-weight:800;font-size:22px;letter-spacing:.04em;text-decoration:none;line-height:15px}.brand b{color:var(--blue)}.brand small{display:block;font-size:7px;letter-spacing:.2em;font-weight:500}nav{display:flex;gap:32px}nav a,.admin-link{text-decoration:none;font-size:13px}.actions{display:flex;align-items:center;gap:14px}.icon{font-size:27px}.cart-btn{background:var(--ink);color:#fff;border-radius:25px;padding:11px 16px;font-size:12px}.cart-btn span{margin-left:7px;background:var(--pink);padding:2px 6px;border-radius:50%}.hero{min-height:620px;background:#f4ddd6;display:grid;grid-template-columns:1fr 1.08fr;padding-left:11vw;overflow:hidden}.hero-copy{align-self:center;max-width:480px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--blue);margin:0 0 15px}.hero h1,.shop h2,.story h2{font:700 clamp(43px,5.2vw,76px)/.98 'Playfair Display',serif;margin:0;letter-spacing:-.05em}.hero h1 i,.shop h2 i,.story h2 i{color:var(--blue);font-weight:600}.hero-copy>p:not(.eyebrow){line-height:1.7;max-width:390px;margin:25px 0 32px;color:#45506d}.btn{display:inline-flex;align-items:center;gap:20px;text-decoration:none;border-radius:3px;padding:15px 20px;font-weight:700;font-size:13px}.primary{background:var(--blue);color:#fff}.hero-photo{height:620px;position:relative}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.round-note{position:absolute;bottom:33px;left:25px;width:112px;height:112px;border-radius:50%;background:#f5ce67;display:grid;place-items:center;text-align:center;font:600 15px/1.15 'Playfair Display'}.value-strip{background:#fff;padding:32px 10vw;display:flex;justify-content:space-between}.value-strip div{min-width:200px;color:var(--blue);font-size:18px}.value-strip b{font-size:13px;color:var(--ink);margin-left:8px}.value-strip small{display:block;color:#757b8c;font-size:11px;margin:5px 0 0 27px}.shop{padding:100px 9vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.shop h2{font-size:47px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--line);border-radius:22px;padding:9px 14px;font-size:12px}.filters .active{background:var(--ink);color:white;border-color:var(--ink)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{position:relative}.card-img{height:270px;background:#e7d8d1;overflow:hidden;position:relative}.card-img img{width:100%;height:100%;object-fit:cover;transition:.4s}.card:hover img{transform:scale(1.04)}.badge{position:absolute;top:10px;left:10px;background:#fff;padding:6px 9px;font-size:10px;color:var(--blue);font-weight:700}.sold{position:absolute;inset:0;background:#17234a99;color:white;display:grid;place-items:center;font-weight:700}.quick{position:absolute;bottom:10px;left:10px;right:10px;background:white;padding:11px;font-weight:700;font-size:12px;opacity:0;transform:translateY(8px);transition:.25s}.card:hover .quick{opacity:1;transform:none}.card h3{font-size:14px;margin:14px 0 6px}.category{font-size:11px;color:#8c8f99}.price{font-weight:700;font-size:14px}.old{font-weight:400;color:#9d9da2;text-decoration:line-through;margin-left:7px}.story{background:var(--blue);color:white;padding:90px 12vw;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.story .eyebrow{color:#f4cc68}.story h2{font-size:51px}.story h2 i{color:var(--pink)}.story>p{line-height:1.9;color:#dce7ff;max-width:420px}.cart-drawer{position:fixed;z-index:10;right:0;top:0;width:min(430px,100%);height:100dvh;background:#fffaf2;transform:translateX(100%);transition:.3s;padding:26px;display:flex;flex-direction:column}.cart-drawer.open{transform:none}.overlay{position:fixed;inset:0;background:#17234a66;z-index:9;opacity:0;visibility:hidden;transition:.3s}.overlay.show{opacity:1;visibility:visible}.drawer-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.drawer-head h2{font:600 28px 'Playfair Display'}.close{font-size:30px}.cart-items{flex:1;overflow:auto;padding:15px 0}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-item img{width:72px;height:72px;object-fit:cover}.cart-item h4{margin:0 0 6px;font-size:13px}.cart-item p{margin:0;font-size:12px;color:#777}.qty{display:flex;gap:9px;align-items:center;margin-top:9px}.qty button{border:1px solid var(--line);width:22px;height:22px}.remove{font-size:11px;color:#a54a58;text-decoration:underline}.cart-bottom{border-top:1px solid var(--line);padding-top:15px}.total{display:flex;justify-content:space-between;margin-bottom:15px}.full{width:100%;justify-content:center}dialog{border:0;padding:0;max-width:min(680px,94vw);background:#fffaf2;color:var(--ink);box-shadow:0 12px 50px #0004}dialog::backdrop{background:#17234a88}.modal-close{position:absolute;right:14px;top:9px;z-index:1}#productDetail{display:grid;grid-template-columns:1fr 1fr}.detail-img{width:100%;height:430px;object-fit:cover}.detail-copy{padding:48px 32px}.detail-copy h2{font:600 32px/1.1 'Playfair Display';margin:5px 0 12px}.detail-copy p{font-size:13px;line-height:1.7;color:#5b6174}.variant-set{display:flex;gap:8px;margin:20px 0}.variant{border:1px solid var(--line);padding:9px 12px;font-size:12px}.variant.selected{border-color:var(--blue);color:var(--blue)}#checkoutContent{padding:35px;width:min(580px,94vw)}#checkoutContent h2{font:600 31px 'Playfair Display';margin:0 0 8px}.checkout-form{display:grid;gap:12px;margin-top:20px}.checkout-form input,.checkout-form textarea,.checkout-form select{border:1px solid var(--line);background:white;padding:12px;font:inherit;font-size:13px;width:100%}.checkout-form textarea{min-height:65px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-summary{background:#f4ede0;padding:14px;font-size:12px;line-height:1.8}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,100px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:25px;z-index:20;transition:.3s;font-size:13px}.toast.show{transform:translate(-50%,0)}footer{padding:28px 9vw;display:flex;justify-content:space-between;align-items:center;background:#f0e5d4;font-size:11px;color:#636b80}
@media(max-width:800px){header{padding:0 5vw;height:70px}nav{display:none}.admin-link{display:block;font-size:11px;font-weight:700;color:var(--blue)}.hero{padding:0;grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 8vw 45px}.hero-photo{height:390px}.value-strip{padding:22px 8vw;gap:12px;overflow:auto}.value-strip div{min-width:180px}.shop{padding:65px 6vw}.section-head{display:block}.filters{margin-top:25px}.products{grid-template-columns:repeat(2,1fr);gap:14px}.card-img{height:210px}.quick{opacity:1;transform:none}.story{padding:65px 8vw;display:block}.story>p{margin-top:30px}.story h2{font-size:43px}footer{display:block;line-height:2.4}.actions{gap:6px}.cart-btn{padding:10px}.hero h1{font-size:53px}#productDetail{grid-template-columns:1fr}.detail-img{height:270px}.detail-copy{padding:30px}.form-row{grid-template-columns:1fr}}
.sales {
  margin-top: 6px;
  font-size: 13px;
  color: #777;
}



/* =========================
   HEADER / NAVBAR
   ========================= */

header {
  background: #fffaf3;
  border-bottom: 1px solid #eee5d8;
}

header .container {
  min-height: 76px;

  display: flex;
  align-items: center;

  gap: 40px;
}

/* LOGO */

header .logo {
  display: inline-flex;
  align-items: center;

  color: #17356f;
  text-decoration: none;

  font-size: 22px;
  font-weight: 800;

  white-space: nowrap;
}

/* NAV */

header nav {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 32px;

  flex: 1;
}

header nav a {
  position: relative;

  color: #333;
  text-decoration: none;

  font-size: 15px;
  font-weight: 500;

  padding: 8px 0;

  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

header nav a:hover {
  color: #315fc4;
}

header nav a::after {
  content: "";

  position: absolute;
  left: 0;
  bottom: 0;

  width: 0;
  height: 2px;

  background: #315fc4;

  transition: width 0.2s ease;
}

header nav a:hover::after {
  width: 100%;
}


/* MOBILE */

@media (max-width: 650px) {

  header .container {
    min-height: 68px;

    flex-wrap: wrap;
    gap: 16px;

    padding-top: 12px;
    padding-bottom: 12px;
  }

  header nav {
    order: 3;

    width: 100%;

    justify-content: flex-start;

    gap: 22px;

    overflow-x: auto;
  }

  header nav a {
    white-space: nowrap;
  }

}


.search-box {
  width: 300px;
  height: 42px;

  display: flex;
  align-items: center;
  gap: 10px;

  padding: 0 14px;

  background: #ffffff;
  border: 1px solid #e3e5ea;
  border-radius: 12px;

  transition: 
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.search-box:focus-within {
  border-color: #315fc4;
  box-shadow: 0 0 0 3px rgba(49, 95, 196, 0.08);
}

.search-icon {
  flex-shrink: 0;

  color: #777;
  font-size: 24px;
  line-height: 1;
  transform: rotate(-20deg);
}

.search-box input {
  width: 100%;
  height: 100%;

  border: none;
  outline: none;

  background: transparent;

  font-family: inherit;
  font-size: 14px;
  color: #333;
}

.search-box input::placeholder {
  color: #999;
}

.search-box input::-webkit-search-cancel-button {
  cursor: pointer;
}

@media (max-width: 700px) {
  header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
  }

  header .brand {
    flex: 1;
    min-width: 0;
  }

  header nav {
    display: none;
  }

  header .search-box {
    order: 3;
    width: 100%;
    flex: none;
  }

  header .actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
  }

  header .admin-link {
    white-space: nowrap;
    font-size: 12px;
  }

  header .cart-btn {
    flex-shrink: 0;
  }

  header .search-box input {
    width: 100%;
  }
}