/* ============================================================
   Glamore Beauty — luxury pink theme (ref: Dior / Chanel / YSL)
   ============================================================ */
:root{
  --pink-50:#fdf4f7; --pink-100:#fbe6ee; --pink-200:#f6cddd;
  --pink-300:#eeaac6; --pink-400:#e284ab; --pink-500:#d4638f;
  --ink:#2b2026; --ink-soft:#6d5a63; --gold:#c9a24b; --cream:#fffdfb;
  --serif:'Cormorant Garamond',serif; --sans:'Jost',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:var(--sans);cursor:pointer}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.topbar{background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:.25em;text-transform:uppercase;padding:9px 12px}
header.site{position:sticky;top:0;z-index:60;background:rgba(255,253,251,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--pink-100)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:48px;width:48px;object-fit:cover;border-radius:50%}
.brand .name{font-family:var(--serif);font-size:26px;letter-spacing:.32em;text-transform:uppercase;font-weight:600}
.brand .tag{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.nav-links{display:flex;gap:34px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.nav-links a{position:relative;padding:6px 0;color:var(--ink-soft)}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.3s}
.nav-links a:hover::after{width:100%}
.cart-btn{position:relative;background:none;border:none;font-size:20px;color:var(--ink)}
.cart-btn .badge{position:absolute;top:-7px;right:-11px;background:var(--pink-500);color:#fff;font-size:10px;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-family:var(--sans)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;
  background:linear-gradient(115deg,var(--pink-100) 0%,var(--pink-200) 45%,var(--pink-300) 100%)}
.hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(253,244,247,.94) 0%,rgba(253,244,247,.75) 42%,rgba(253,244,247,.08) 100%)}
.hero-inner{position:relative;z-index:2;padding:90px 0}
.hero .eyebrow{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,6vw,74px);line-height:1.06;max-width:620px}
.hero p{margin:24px 0 38px;font-size:17px;color:var(--ink-soft);max-width:460px;font-weight:300;line-height:1.7}
.btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:#fff;
  padding:15px 42px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;transition:.3s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);margin-left:14px}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.pink{background:var(--pink-500);border-color:var(--pink-500)}
.btn.pink:hover{background:transparent;color:var(--pink-500)}

/* ---------- marquee ---------- */
.marquee{background:var(--ink);color:var(--pink-200);overflow:hidden;padding:13px 0;white-space:nowrap}
.marquee span{display:inline-block;font-size:11px;letter-spacing:.4em;text-transform:uppercase;padding-right:60px;animation:mq 28s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{padding:88px 0}
.sec-head{text-align:center;margin-bottom:54px}
.sec-head .eyebrow{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold)}
.sec-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4vw,44px);margin-top:12px}
.sec-head .line{width:52px;height:1px;background:var(--gold);margin:22px auto 0}

/* kategori pills */
.pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:46px}
.pill{border:1px solid var(--pink-200);background:#fff;padding:10px 26px;font-size:11px;
  letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft);transition:.25s;border-radius:999px}
.pill:hover,.pill.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* produk grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:30px 22px}
.card{background:#fff;border:1px solid var(--pink-100);transition:.35s;display:flex;flex-direction:column}
.card:hover{box-shadow:0 22px 44px -18px rgba(212,99,143,.35);transform:translateY(-4px)}
.card .ph{position:relative;aspect-ratio:3/3.6;overflow:hidden;background:linear-gradient(150deg,var(--pink-100),var(--pink-200))}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.card:hover .ph img{transform:scale(1.06)}
.card .ph .initial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:64px;color:#fff;text-shadow:0 2px 14px rgba(212,99,143,.5)}
.card .ribbon{position:absolute;top:12px;left:12px;background:var(--pink-500);color:#fff;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:5px 12px}
.card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .brand-l{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.card h3{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.3}
.card .price{margin-top:auto;padding-top:10px;display:flex;align-items:baseline;gap:9px}
.card .price b{font-size:16px;font-weight:600}
.card .price s{color:#b9a7af;font-size:13px;font-weight:300}
.card .add{margin-top:12px;width:100%;border:1px solid var(--ink);background:transparent;color:var(--ink);
  padding:11px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;transition:.3s}
.card .add:hover{background:var(--ink);color:#fff}
.card .add[disabled]{opacity:.4;cursor:not-allowed}

/* tentang */
.about{background:var(--pink-50)}
.about-flex{display:flex;gap:70px;align-items:center;flex-wrap:wrap}
.about-flex>div{flex:1;min-width:300px}
.about h2{font-family:var(--serif);font-weight:500;font-size:38px;margin-bottom:20px}
.about p{color:var(--ink-soft);font-weight:300;line-height:1.9;margin-bottom:14px}
.info-card{background:#fff;border:1px solid var(--pink-100);padding:38px}
.info-card h4{font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.info-card p{margin-bottom:24px;color:var(--ink);font-weight:300}

/* footer */
footer{background:var(--ink);color:#cbb9c2;padding:70px 0 34px}
.foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:46px}
footer .fname{font-family:var(--serif);color:#fff;font-size:24px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:14px}
footer p{font-weight:300;font-size:14px;line-height:1.8;max-width:320px}
footer h5{color:#fff;font-size:11px;letter-spacing:.35em;text-transform:uppercase;margin-bottom:16px}
footer ul{list-style:none}
footer li{margin-bottom:10px;font-size:14px;font-weight:300}
footer a:hover{color:#fff}
.copy{border-top:1px solid #453741;padding-top:26px;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8d7a84}

/* ---------- cart drawer ---------- */
.overlay{position:fixed;inset:0;background:rgba(43,32,38,.5);opacity:0;pointer-events:none;transition:.3s;z-index:80}
.overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:-440px;width:min(420px,92vw);height:100%;background:#fff;z-index:90;
  transition:.35s;display:flex;flex-direction:column}
.drawer.show{right:0}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid var(--pink-100)}
.drawer .dh h3{font-family:var(--serif);font-size:22px;letter-spacing:.18em;text-transform:uppercase}
.drawer .dh button{background:none;border:none;font-size:22px}
.d-items{flex:1;overflow-y:auto;padding:10px 26px}
.d-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--pink-50)}
.d-item .im{width:64px;height:76px;background:linear-gradient(150deg,var(--pink-100),var(--pink-200));flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;color:#fff;overflow:hidden}
.d-item .im img{width:100%;height:100%;object-fit:cover}
.d-item h4{font-size:14px;font-weight:500;margin-bottom:4px}
.d-item .pr{font-size:13px;color:var(--ink-soft)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--pink-200);margin-top:8px}
.qty button{width:26px;height:26px;background:none;border:none;font-size:14px}
.qty span{width:30px;text-align:center;font-size:13px}
.d-item .rm{margin-left:auto;background:none;border:none;color:#b9a7af;font-size:16px;align-self:flex-start}
.d-foot{padding:22px 26px;border-top:1px solid var(--pink-100)}
.d-total{display:flex;justify-content:space-between;font-size:15px;margin-bottom:16px}
.d-total b{font-size:18px}
.d-empty{text-align:center;color:var(--ink-soft);padding:60px 20px;font-weight:300}

/* ---------- checkout & sukses ---------- */
.page-title{background:var(--pink-50);padding:56px 0;text-align:center}
.page-title h1{font-family:var(--serif);font-weight:500;font-size:40px}
.co-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;padding:60px 0}
@media(max-width:860px){.co-grid{grid-template-columns:1fr}}
.f-group{margin-bottom:20px}
.f-group label{display:block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.f-group input,.f-group textarea,.f-group select{width:100%;border:1px solid var(--pink-200);background:#fff;padding:13px 15px;font-family:var(--sans);font-size:15px;outline:none;transition:.25s}
.f-group input:focus,.f-group textarea:focus{border-color:var(--pink-500)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.f-row{grid-template-columns:1fr}}
.summary{background:var(--pink-50);border:1px solid var(--pink-100);padding:32px;height:fit-content}
.summary h3{font-family:var(--serif);font-size:22px;margin-bottom:20px}
.s-item{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--pink-100);font-weight:300}
.s-total{display:flex;justify-content:space-between;padding-top:16px;font-size:16px}
.notice{background:#fff;border:1px dashed var(--pink-300);padding:16px;font-size:13px;color:var(--ink-soft);margin-top:18px;line-height:1.7;font-weight:300}

.success-box{max-width:640px;margin:60px auto;background:#fff;border:1px solid var(--pink-100);padding:50px;text-align:center}
.success-box .ico{font-size:44px;margin-bottom:16px}
.success-box h1{font-family:var(--serif);font-weight:500;font-size:34px;margin-bottom:10px}
.success-box .kode{display:inline-block;background:var(--pink-50);border:1px dashed var(--pink-300);padding:10px 26px;font-size:20px;letter-spacing:.2em;margin:18px 0}
.bank-box{background:var(--pink-50);padding:28px;margin:24px 0;text-align:left}
.bank-box h4{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.bank-box .rek{font-size:26px;font-weight:600;letter-spacing:.08em}
.bank-box p{font-weight:300;color:var(--ink-soft);font-size:14px;margin-top:6px}

/* toast */
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,80px);background:var(--ink);color:#fff;
  padding:14px 30px;font-size:13px;letter-spacing:.1em;z-index:100;transition:.4s;opacity:0}
.toast.show{transform:translate(-50%,0);opacity:1}

@media(max-width:760px){
  .nav-links{display:none}
  .hero{min-height:480px}
  section{padding:60px 0}
}
