:root{
  --black:#0a0a0a;
  --plum:#2b0f1c;
  --rose-gold:#b76e4d;
  --rose-gold-soft:#d99a76;
  --text:#f5ede6;
  --text-dim:#c9b9ae;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--text);font-family:'El Messiri',Tahoma,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
h1,h2{font-family:'Markazi Text',serif}

.back-pill{
  position:fixed;inset-block-start:16px;inset-inline-start:16px;z-index:80;
  background:rgba(10,10,10,.6);backdrop-filter:blur(6px);
  color:var(--rose-gold-soft);border:1px solid rgba(183,110,77,.4);
  padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;
}

/* ---- Floating nav ---- */
.float-nav{
  position:fixed;inset-inline:0;inset-block-start:0;z-index:70;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;
  background:linear-gradient(to bottom, rgba(10,10,10,.7), transparent);
  transition:transform .3s ease;
}
.float-nav.is-hidden{transform:translateY(-110%)}
.float-nav__mark{font-family:'Markazi Text',serif;font-size:22px;color:var(--rose-gold-soft);font-weight:600}
.float-nav__links{display:flex;align-items:center;gap:22px;font-size:14px}
.float-nav__links a{color:var(--text-dim)}
.float-nav__cart{background:transparent;color:var(--text);border:1px solid var(--rose-gold);padding:7px 14px;border-radius:999px;font-size:13px}

/* ---- Scenes ---- */
.scenes{scroll-snap-type:y proximity}
.scene{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  scroll-snap-align:start;
  overflow:hidden;
}
.scene__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene__bg--parallax{will-change:transform}
.scene__veil{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,10,10,.35), rgba(10,10,10,.85))}
.scene__veil--plum{background:linear-gradient(180deg, rgba(43,15,28,.4), rgba(10,10,10,.88))}
.scene__content{position:relative;z-index:2;max-width:640px;margin-inline:auto;padding:32px;text-align:center;
  opacity:0;transform:translateY(30px)}
.scene__content--start{margin-inline:12% auto}
.scene__eyebrow{display:block;color:var(--rose-gold-soft);font-size:14px;letter-spacing:.05em;margin-block-end:12px;font-weight:600}
.scene__title{font-size:clamp(44px,9vw,88px);font-weight:600;margin:0 0 18px;color:var(--text)}
.scene__title--sm{font-size:clamp(30px,5vw,52px)}
.scene__lead{color:var(--text-dim);font-size:clamp(15px,2vw,19px);line-height:1.8;margin:0 0 24px}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 32px;border-radius:4px;font-weight:700;font-size:15px;transition:filter .2s}
.btn--gold{background:linear-gradient(135deg,var(--rose-gold),var(--rose-gold-soft));color:#1a0d08}
.btn--gold:hover{filter:brightness(1.12)}
.btn--block{width:100%}

/* ---- Collection ---- */
.scene--collection{min-height:auto;padding:90px 24px;display:block;background:radial-gradient(ellipse at 50% 0%, rgba(183,110,77,.08), var(--black) 60%)}
.collection__head{text-align:center;margin-block-end:48px;opacity:0;transform:translateY(20px)}
.collection__grid{max-width:1280px;margin-inline:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}
.pcard{background:rgba(255,255,255,.03);border:1px solid rgba(183,110,77,.2);border-radius:12px;overflow:hidden;
  transition:transform .3s,border-color .3s}
.pcard:hover{transform:translateY(-6px);border-color:var(--rose-gold)}
.pcard__img-wrap{aspect-ratio:4/5;overflow:hidden;background:#1a1013}
.pcard__img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard__img{transform:scale(1.07)}
.pcard__body{padding:18px;text-align:center}
.pcard__name{font-family:'Markazi Text',serif;font-size:22px;margin:0 0 6px;color:var(--text)}
.pcard__notes{color:var(--text-dim);font-size:13px;margin:0 0 12px;line-height:1.6}
.pcard__price{color:var(--rose-gold-soft);font-weight:700;font-size:16px;margin-block-end:12px}
.pcard__add{width:100%;background:transparent;border:1px solid var(--rose-gold);color:var(--text);padding:10px;border-radius:6px;font-size:14px;font-weight:600;transition:background .2s}
.pcard__add:hover{background:var(--rose-gold);color:#1a0d08}

/* ---- WhatsApp FAB ---- */
.wa-fab{position:fixed;inset-block-end:24px;inset-inline-end:24px;width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#0a0a0a;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.5);z-index:75;transition:transform .18s}
.wa-fab:hover{transform:scale(1.08)}

/* ---- Cart FAB (hidden until first item) ---- */
.cart-fab{
  position:fixed;inset-block-end:24px;inset-inline-start:24px;z-index:75;
  display:flex;align-items:center;gap:8px;
  background:var(--plum);border:1px solid var(--rose-gold);color:var(--text);
  padding:12px 20px;border-radius:999px;font-size:14px;font-weight:700;
  transform:scale(0);opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s;
}
.cart-fab.is-visible{transform:scale(1);opacity:1}
.cart-fab.bump{animation:bump .35s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.cart-fab__badge{background:var(--rose-gold);color:#1a0d08;border-radius:999px;padding:2px 9px;font-size:12.5px}

/* ---- Cart drawer ---- */
.cart-drawer{
  position:fixed;inset-block:0;inset-inline-start:0;width:min(380px,92vw);z-index:90;
  background:#120a0d;border-inline-end:1px solid rgba(183,110,77,.3);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .35s ease;
}
.cart-drawer.is-open{transform:none}
.cart-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-block-end:1px solid rgba(255,255,255,.08)}
.cart-drawer__head button{background:transparent;color:var(--text);font-size:18px}
.cart-drawer__items{flex:1;overflow-y:auto;padding:16px 20px}
.cart-item{display:flex;gap:12px;align-items:center;margin-block-end:14px;font-size:13.5px}
.cart-item img{width:52px;height:52px;object-fit:cover;border-radius:6px}
.cart-item__name{flex:1}
.cart-item__remove{background:transparent;color:#c98;font-size:12px}
.cart-drawer__foot{padding:18px 20px;border-block-start:1px solid rgba(255,255,255,.08)}
.cart-drawer__total{margin-block-end:14px;font-weight:700;color:var(--rose-gold-soft)}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:85;opacity:0;pointer-events:none;transition:opacity .3s}
.drawer-overlay.is-open{opacity:1;pointer-events:auto}

/* ---- Checkout modal ---- */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:95;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .25s}
.modal-backdrop.is-open{opacity:1;pointer-events:auto}
.checkout-modal{background:#150c0f;border:1px solid rgba(183,110,77,.3);border-radius:14px;max-width:480px;width:92vw;
  max-height:85vh;overflow-y:auto;padding:28px;position:relative}
.modal__close{position:absolute;inset-inline-end:16px;inset-block-start:14px;background:transparent;color:var(--text);font-size:18px}
.checkout-step h3{font-family:'Markazi Text',serif;font-size:26px;margin:0 0 18px;color:var(--rose-gold-soft)}
.checkout-step label{display:block;font-size:13px;color:var(--text-dim);margin-block-end:6px}
.checkout-step input,.checkout-step select{width:100%;padding:10px;margin-block-end:14px;background:#1e1216;
  border:1px solid rgba(255,255,255,.12);border-radius:6px;color:var(--text);font-family:inherit;font-size:14px}
.step-dots{display:flex;gap:6px;justify-content:center;margin-block-end:20px}
.step-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2)}
.step-dot.is-active{background:var(--rose-gold)}
.card-mock{background:linear-gradient(135deg,#2b0f1c,#0a0a0a);border:1px solid var(--rose-gold);border-radius:10px;padding:18px;margin-block-end:16px;font-size:13px;color:var(--text-dim)}
.confirm-icon{font-size:52px;text-align:center;margin-block-end:10px}

/* ---- Product card detail link (UPDATE-1) ---- */
.pcard__detail-link{display:block;text-align:center;color:var(--rose-gold-soft);font-size:12.5px;margin-block-end:10px}
.pcard__name a{color:inherit}

/* ---- Product detail page (UPDATE-1) ---- */
.pd-hero{position:relative;min-height:70vh;display:flex;align-items:center;overflow:hidden}
.pd-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.35),rgba(10,10,10,.9))}
.pd-hero__content{position:relative;z-index:2;max-width:640px;margin-inline:auto;padding:32px;text-align:center}
.pd-hero__title{font-family:'Markazi Text',serif;font-size:clamp(36px,7vw,64px);margin:10px 0 14px;color:var(--text)}
.pd-hero__price{color:var(--rose-gold-soft);font-weight:700;font-size:22px;margin-block-end:20px}
.pd-section{padding:60px 24px}
.pd-section--pyramid{background:radial-gradient(ellipse at 50% 0%,rgba(183,110,77,.08),var(--black) 60%)}
.pd-container{max-width:760px;margin-inline:auto;text-align:center}
.pd-section__title{font-family:'Markazi Text',serif;font-size:clamp(26px,4vw,36px);color:var(--rose-gold-soft);margin:0 0 20px}
.pd-story{font-size:16px;line-height:2;color:var(--text-dim)}

/* ---- Notes pyramid ---- */
.pyramid{display:flex;flex-direction:column;align-items:center;gap:4px;margin-block-start:10px}
.pyramid__tier{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:20px;border:1px solid rgba(183,110,77,.3);color:var(--text)}
.pyramid__tier--top{width:60%;background:rgba(217,154,118,.12);border-radius:10px 10px 0 0}
.pyramid__tier--mid{width:78%;background:rgba(183,110,77,.14)}
.pyramid__tier--base{width:100%;background:rgba(183,110,77,.2);border-radius:0 0 10px 10px}
.pyramid__label{font-size:12px;color:var(--rose-gold-soft);font-weight:700;letter-spacing:.05em}
.pyramid__notes{font-size:14.5px}

/* ---- Detail gallery ---- */
.pd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pd-gallery img{width:100%;height:180px;object-fit:cover;border-radius:10px}

/* ---- Checkout page layout (UPDATE-1) ---- */
.checkout-page{padding:120px 24px 60px;min-height:70vh}
.ck-layout{max-width:920px;margin-inline:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
.ck-layout .checkout-step{background:rgba(255,255,255,.03);border:1px solid rgba(183,110,77,.2);border-radius:14px;padding:26px}
.ck-summary{background:rgba(255,255,255,.03);border:1px solid rgba(183,110,77,.2);border-radius:14px;padding:22px}
.ck-summary h4{margin:0 0 14px;font-family:'Markazi Text',serif;font-size:20px;color:var(--rose-gold-soft)}
.ck-summary__row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--text-dim);margin-block-end:10px}
.ck-summary__total{display:flex;justify-content:space-between;font-weight:700;color:var(--text);border-block-start:1px solid rgba(255,255,255,.1);padding-block-start:12px;margin-block-start:6px}
.ck-empty{max-width:480px;margin:140px auto;text-align:center}
.ck-empty p{color:var(--text-dim);margin-block-end:18px}

/* ---- Responsive ---- */
@media (max-width:768px){
  .float-nav{padding:14px 18px}
  .float-nav__links a{display:none}
  .scene__content--start{margin-inline:auto}
  .scene__title{font-size:clamp(34px,11vw,56px)}
  .ck-layout{grid-template-columns:1fr}
  .pd-gallery{grid-template-columns:1fr 1fr}
}
@media (max-width:420px){
  .collection__grid{grid-template-columns:1fr 1fr;gap:14px}
  .pcard__body{padding:12px}
  .pcard__name{font-size:17px}
  .pd-gallery{grid-template-columns:1fr}
  .checkout-page{padding:110px 16px 40px}
}

/* ---- Site footer (realism-doctrine pass) ---- */
.site-footer{background:#050505;color:var(--text-dim);padding:40px 24px 28px;border-block-start:1px solid rgba(183,110,77,.2)}
.site-footer__grid{max-width:960px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-block-end:24px}
.site-footer h4{color:var(--rose-gold-soft);font-family:'Markazi Text',serif;font-size:18px;margin:0 0 8px}
.site-footer p{font-size:13.5px;line-height:1.8;margin:0}
.site-footer__bottom{text-align:center;font-size:12.5px;border-block-start:1px solid rgba(183,110,77,.15);padding-block-start:18px;max-width:960px;margin-inline:auto}
@media (max-width:640px){.site-footer__grid{grid-template-columns:1fr}}
