:root{
  --black:#111;
  --white:#fff;
  --cream:#faf7f2;
  --border:#ede8df;
  --muted:#9c8f82;
  --gold:#c8a84b;
}

*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;color:var(--black);background:#fff}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
ul{margin:0;padding:0;list-style:none}

/* ---------- Top bars ---------- */
.pf-topbar{background:#111;padding:9px 16px;text-align:center}
.pf-topbar span{font-size:12px;color:#fff;letter-spacing:.04em}

.pf-subbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:12px;border-bottom:1px solid var(--border);gap:10px;flex-wrap:wrap}
.pf-subbar__tagline{color:#666;flex:1;text-align:center;min-width:200px}

/* ---------- Header ---------- */
.pf-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;position:relative;flex-wrap:wrap}
.pf-logo{font-size:20px;font-weight:800;letter-spacing:.12em;margin:0 auto}
.pf-header__actions{display:flex;gap:14px;align-items:center;order:3}
.pf-icon-btn{background:none;border:0;position:relative;display:flex;color:#111}
.pf-cart-count{position:absolute;top:-6px;right:-8px;background:#111;color:#fff;font-size:10px;font-weight:700;border-radius:100px;width:16px;height:16px;display:flex;align-items:center;justify-content:center}

.pf-nav{width:100%;order:4;overflow-x:auto;border-top:1px solid var(--border);margin-top:12px}
.pf-nav__list{display:flex;gap:20px;padding:12px 4px;white-space:nowrap}
.pf-nav__list a{font-size:13px;font-weight:600}

@media(min-width:768px){
  .pf-header{padding:20px 40px}
  .pf-logo{margin:0}
  .pf-nav{width:auto;order:2;border-top:0;margin-top:0}
  .pf-nav__list{justify-content:center}
  .pf-header__actions{order:3}
}

/* ---------- Hero ---------- */
.pf-hero{background:var(--cream);padding:48px 20px 44px;text-align:center;border-bottom:1px solid var(--border)}
.pf-hero__eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.pf-hero__title{font-size:clamp(30px,7vw,48px);font-weight:700;line-height:1.12;letter-spacing:-.025em;margin:0 0 12px}
.pf-hero__sub{font-size:14px;color:#555;margin:0 0 24px;line-height:1.6}
.pf-hero__ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.pf-hero__trust{font-size:12px;color:#999}

/* ---------- Buttons ---------- */
.pf-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 28px;border-radius:100px;font-size:13px;font-weight:600;letter-spacing:.03em;border:1.5px solid #111;transition:opacity .15s,transform .1s}
.pf-btn:active{transform:scale(.97)}
.pf-btn--dark{background:#111;color:#fff}
.pf-btn--outline{background:transparent;color:#111}
.pf-btn--outline:hover{background:#111;color:#fff}
.pf-btn--wide{width:100%;max-width:340px}

/* ---------- Section shell ---------- */
.pf-section{padding:36px 16px}
.pf-section--tinted{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.pf-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.pf-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.pf-section-title{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}
.pf-section-head .pf-section-title{margin-bottom:0}
.pf-section__footer{display:flex;justify-content:center;margin-top:20px}

/* ---------- Filters ---------- */
.pf-filters{display:flex;gap:6px;flex-wrap:wrap}
.pf-filter{padding:6px 14px;border-radius:100px;border:1px solid #ddd;background:#fff;font-size:12px;font-weight:500;color:#666;transition:all .15s}
.pf-filter.is-active,.pf-filter:hover{background:#111;border-color:#111;color:#fff}

/* ---------- Product grid / card ---------- */
.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pf-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;transition:transform .18s}
.pf-card:active{transform:scale(.98)}
.pf-card__media{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#f5f2ee}
.pf-card__img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.pf-card:hover .pf-card__img{transform:scale(1.06)}
.pf-badge{position:absolute;top:8px;left:8px;background:#111;color:#fff;font-size:9px;font-weight:700;padding:3px 8px;border-radius:100px;letter-spacing:.05em}
.pf-badge--bundle{background:var(--gold)}
.pf-wish{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}
.pf-card__body{padding:10px 12px 12px}
.pf-card__scent{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-card__title{display:block;font-size:13px;font-weight:600;margin-bottom:6px;line-height:1.3}
.pf-card__price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.pf-card__price{font-size:14px;font-weight:700}
.pf-card__was{font-size:11px;color:#bbb;text-decoration:line-through}
.pf-card__variant{width:100%;height:32px;margin:0 0 8px;border:1px solid var(--border);border-radius:8px;background:var(--cream);font-size:11px;font-weight:600;padding:0 8px}
.pf-atc{width:100%;padding:8px;background:#111;color:#fff;border:0;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.03em;transition:opacity .15s,background .2s}
.pf-atc:hover{opacity:.85}
.pf-atc.is-added{background:#2a7a2a}
.pf-atc:disabled{background:#ccc;cursor:not-allowed}

/* ---------- Offer bar ---------- */
.pf-offer{background:#111;display:flex;align-items:center;gap:12px;padding:14px 20px}
.pf-offer__icon{font-size:20px;flex-shrink:0}
.pf-offer__copy strong{font-size:14px;font-weight:700;color:#fff;display:block}
.pf-offer__copy span{font-size:11px;color:rgba(255,255,255,.5)}
.pf-offer__cta{margin-left:auto;font-size:12px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.3);padding:7px 16px;border-radius:100px;white-space:nowrap}

/* ---------- Categories ---------- */
.pf-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pf-cat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px;border:1px solid var(--border);border-radius:12px;background:var(--cream);text-align:center;gap:3px}
.pf-cat:hover{background:#f0ece4}
.pf-cat__icon{font-size:26px;margin-bottom:4px}
.pf-cat__label{font-size:14px;font-weight:700}

/* ---------- Reviews ---------- */
.pf-reviews{display:flex;flex-direction:column;gap:10px}
.pf-review{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.pf-stars{color:var(--gold);font-size:13px;margin-bottom:5px}
.pf-review__text{font-size:13px;color:#333;line-height:1.55;margin:0 0 7px}
.pf-review__author{font-size:11px;color:#aaa}

/* ---------- Trust ---------- */
.pf-trust{padding:24px 16px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pf-trust__item{display:flex;align-items:flex-start;gap:10px}
.pf-trust__icon{font-size:22px;flex-shrink:0}
.pf-trust__item strong{display:block;font-size:13px;font-weight:700;margin-bottom:1px}
.pf-trust__item span{font-size:11px;color:#888}

/* ---------- Vibes ---------- */
.pf-vibes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-vibe{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--cream);font-size:13px;font-weight:600;text-align:center}
.pf-vibe:hover{background:#f0ece4}

/* ---------- Bottom banner ---------- */
.pf-banner{padding:56px 20px;text-align:center;background:#111;color:#fff}
.pf-banner .pf-eyebrow{color:var(--gold)}
.pf-banner h2{font-size:clamp(22px,5vw,32px);margin:0 0 10px}
.pf-banner p{font-size:13px;color:rgba(255,255,255,.6);max-width:480px;margin:0 auto}

/* ---------- Footer ---------- */
.pf-footer{background:var(--cream);padding:40px 20px 20px;border-top:1px solid var(--border)}
.pf-footer__grid{display:grid;gap:28px;max-width:1000px;margin:0 auto}
.pf-footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.pf-footer ul li{margin-bottom:8px;font-size:13px}
.pf-footer p{font-size:13px;margin:0 0 8px}
.pf-footer__social{display:flex;gap:14px;margin-top:10px;font-size:13px;font-weight:600}
.pf-footer__bottom{text-align:center;font-size:12px;color:#999;margin-top:30px;padding-top:20px;border-top:1px solid var(--border)}
@media(min-width:768px){.pf-footer__grid{grid-template-columns:repeat(3,1fr)}}

/* ---------- Cart drawer ---------- */
.pf-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;opacity:0;pointer-events:none;transition:opacity .25s}
.pf-drawer-overlay.is-open{opacity:1;pointer-events:auto}
.pf-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,100vw);background:#fff;z-index:201;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.pf-drawer.is-open{transform:translateX(0)}
.pf-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}
.pf-drawer__head h2{font-size:16px;font-weight:700;margin:0}
.pf-drawer__head button{background:none;border:0;font-size:24px;color:#666}
.pf-drawer__body{flex:1;overflow-y:auto;padding:16px 20px}
.pf-drawer__empty{text-align:center;padding:48px 20px;color:#aaa;font-size:14px}
.pf-cart-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.pf-cart-img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#f5f2ee;flex-shrink:0}
.pf-cart-info{flex:1;min-width:0}
.pf-cart-name{font-size:13px;font-weight:600;margin-bottom:6px}
.pf-cart-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pf-cart-price{font-size:13px;font-weight:700}
.pf-cart-remove{background:none;border:0;font-size:18px;color:#bbb}
.pf-drawer__foot{padding:16px 20px;border-top:1px solid var(--border)}
.pf-total{display:flex;justify-content:space-between;margin-bottom:14px;font-weight:700;font-size:15px}
.pf-checkout{display:flex;justify-content:center;width:100%;padding:14px;background:#111;color:#fff;border-radius:100px;font-size:14px;font-weight:700;letter-spacing:.04em}
.pf-drawer__foot p{text-align:center;font-size:11px;color:#aaa;margin:8px 0 0}

/* ---------- Toast ---------- */
.pf-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(80px);background:#111;color:#fff;padding:10px 20px;border-radius:100px;font-size:13px;font-weight:500;z-index:300;transition:transform .3s;white-space:nowrap;pointer-events:none}
.pf-toast.is-show{transform:translateX(-50%) translateY(0)}

/* ---------- Breakpoints ---------- */
@media(min-width:640px){
  .pf-grid{grid-template-columns:repeat(3,1fr)}
  .pf-cats{grid-template-columns:repeat(4,1fr)}
  .pf-reviews{flex-direction:row}
  .pf-trust{grid-template-columns:repeat(4,1fr)}
  .pf-vibes{grid-template-columns:repeat(3,1fr)}
}
/* ==================================================================
   Product page
   ================================================================== */
.pf-breadcrumb{padding:14px 16px;font-size:12px;color:#999;display:flex;gap:6px;flex-wrap:wrap}
.pf-breadcrumb a{color:#666}
.pf-breadcrumb a:hover{color:#111}

.pf-pdp{display:flex;flex-direction:column;gap:24px;padding:0 16px 20px}
.pf-pdp__gallery{display:flex;flex-direction:column;gap:10px}
.pf-pdp__main-image{border-radius:12px;overflow:hidden;background:#f5f2ee;aspect-ratio:1}
.pf-pdp__main-image img{width:100%;height:100%;object-fit:cover;display:block}
.pf-pdp__thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.pf-pdp__thumb{flex:0 0 auto;width:56px;height:56px;border-radius:8px;overflow:hidden;border:2px solid transparent;padding:0;background:#f5f2ee;opacity:.7}
.pf-pdp__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pf-pdp__thumb.is-active{border-color:#111;opacity:1}

.pf-pdp__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pf-pdp__title{font-size:24px;font-weight:700;margin:0;letter-spacing:-.01em}

.pf-pdp__price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:10px 0 2px}
.pf-pdp__price{font-size:22px;font-weight:700}
.pf-pdp__was{font-size:14px;color:#bbb;text-decoration:line-through}
.pf-pdp__save{font-size:11px;font-weight:700;color:#fff;background:#c0392b;padding:3px 8px;border-radius:100px}
.pf-pdp__tax{font-size:11px;color:#999;margin:0 0 14px}

.pf-urgency{display:inline-flex;align-items:center;gap:8px;background:#f0f7ee;color:#2a7a2a;font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;margin-bottom:20px}
.pf-urgency__dot{width:7px;height:7px;border-radius:50%;background:#2a7a2a;flex-shrink:0}

.pf-pdp__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 8px}

.pf-size-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.pf-size-pill{padding:10px 18px;border:1.5px solid var(--border);border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#333}
.pf-size-pill.is-active{border-color:#111;background:#111;color:#fff}
.pf-size-pill:disabled{color:#ccc;border-color:#eee;text-decoration:line-through;cursor:not-allowed}

.pf-qty-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;margin-bottom:16px;width:fit-content}
.pf-qty-stepper button{width:38px;height:40px;background:none;border:0;font-size:18px;color:#333}
.pf-qty-stepper input{width:40px;text-align:center;border:0;font-size:14px;font-weight:600;background:none;-moz-appearance:textfield}
.pf-qty-stepper input::-webkit-outer-spin-button,.pf-qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pf-atc--pdp{width:100%;padding:15px;font-size:14px;margin-bottom:16px}

.pf-delivery{display:flex;align-items:center;gap:8px;font-size:12px;color:#666;border:1px solid var(--border);border-radius:8px;padding:10px 14px}
.pf-delivery svg{flex-shrink:0;color:var(--muted)}

/* ---------- Fragrance DNA ---------- */
.pf-fdna{padding:56px 20px 64px;background:linear-gradient(160deg,#faf7f2 0%,#f2ebe0 100%)}
.pf-fdna__wrap{max-width:640px;margin:0 auto}
.pf-fdna__title{text-align:center;font-size:28px;font-weight:400;margin:0 0 30px}
.pf-fdna__meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:36px}
.pf-fdna__badge{padding:7px 16px;border-radius:100px;border:1px solid #e0d5c8;font-size:12px;color:#4a3f35;background:rgba(255,255,255,.7)}
.pf-fdna__journey{position:relative;padding-left:32px;max-width:100%}
.pf-fdna__line{position:absolute;left:8px;top:16px;bottom:16px;width:1px;background:#ddd0c0}
.pf-fdna__row{position:relative;margin-bottom:24px}
.pf-fdna__dot{position:absolute;left:-26px;top:12px;width:13px;height:13px;border-radius:50%;background:#f5f0e8;border:2px solid #c8b89a}
.pf-fdna__dot--heart{border-color:#c4768e;background:#f9e4ec;width:15px;height:15px;left:-27px;top:11px}
.pf-fdna__dot--base{border-color:#8a7f72;background:#ede4d8}
.pf-fdna__label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}
.pf-fdna__pills{display:flex;flex-wrap:wrap;gap:8px}
.pf-pill{border-radius:100px;display:inline-block;border:1px solid transparent}
.pf-pill--top{padding:7px 16px;font-size:14px;font-weight:500;background:#fff;border-color:#c8b49a;color:#1a1209}
.pf-pill--heart{padding:6px 14px;font-size:13px;background:#fdf3f6;border-color:#e4c5cf;color:#3a1a22}
.pf-pill--base{padding:5px 13px;font-size:12px;background:rgba(255,255,255,.45);border-color:#d5c5b0;color:#5a4f42}
.pf-fdna__divider{height:1px;background:#e0d4c4;margin:36px 0}
.pf-fdna__occ-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:600;text-align:center}
.pf-fdna__occ-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pf-occ-tag{padding:8px 16px;border-radius:8px;font-size:12px;color:#4a3f35;border:1px solid #e0d5c8;background:rgba(255,255,255,.6)}

/* ---------- Description ---------- */
.pf-pdp-desc{padding:40px 16px;max-width:680px;margin:0 auto}
.pf-pdp-desc h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#666;margin:0 0 20px}
.pf-pdp-desc__facts{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 24px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--cream)}
.pf-pdp-desc__facts > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.pf-pdp-desc__facts > div:last-child{border-bottom:0}
.pf-pdp-desc__facts dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;flex-shrink:0}
.pf-pdp-desc__facts dd{font-size:13px;color:#222;margin:0;text-align:right}
.pf-pdp-desc__body p{font-size:14px;line-height:1.75;color:#444;margin:0 0 14px}
@media(min-width:560px){
  .pf-pdp-desc__facts{grid-template-columns:1fr 1fr}
  .pf-pdp-desc__facts > div{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}
  .pf-pdp-desc__facts > div:nth-child(2n){border-right:0}
}

.pf-trust--pdp{max-width:700px;margin:0 auto;padding:24px 16px}

/* ---------- Sticky mobile bar ---------- */
.pf-sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;background:#fff;border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;box-shadow:0 -4px 16px rgba(0,0,0,.06);display:none}
.pf-sticky-bar:not([hidden]){display:flex}
.pf-sticky-bar__info{flex:1;min-width:0}
.pf-sticky-bar__info strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-sticky-bar__info span{font-size:13px;font-weight:700}
.pf-sticky-bar .pf-atc{width:auto;padding:11px 22px}

@media(min-width:768px){
  .pf-pdp{flex-direction:row;align-items:flex-start;padding:0 40px 40px;gap:48px}
  .pf-pdp__gallery{flex:1.1}
  .pf-pdp__info{flex:1;position:sticky;top:20px}
  .pf-fdna__journey{max-width:480px;margin:0 auto}
}

/* ==================================================================
   Archive pages (shop, gender/occasion/vibe/tag taxonomies)
   ================================================================== */
.pf-archive-header{padding:8px 16px 24px}
.pf-archive-header__title{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px;text-transform:capitalize}
.pf-archive-header__desc{font-size:13px;color:#777;margin:0;max-width:520px}

.pf-section-head--archive{padding:0 16px;margin-bottom:16px}

.pf-archive-body{padding:0 16px 40px}
.pf-grid--archive{margin-bottom:24px}
.pf-archive-empty{text-align:center;color:#999;font-size:14px;padding:60px 20px}

.pf-pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.pf-pagination span,.pf-pagination a{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--border);font-size:13px;font-weight:600;color:#444}
.pf-pagination a:hover{background:#111;color:#fff;border-color:#111}
.pf-pagination .current{background:#111;color:#fff;border-color:#111}

@media(min-width:768px){
  .pf-archive-header{padding:16px 40px 32px}
  .pf-section-head--archive{padding:0 40px}
  .pf-archive-body{padding:0 40px 60px}
}

@media(min-width:990px){
  .pf-hero{padding:72px 40px 64px}
  .pf-section{padding:44px 40px}
  .pf-grid{grid-template-columns:repeat(4,1fr);gap:16px}
}

