/* FaRizz shared styles: header + phone menu, buy block, sticky buy bar.
   Every class is prefixed fz- so it never collides with a page's own CSS. */

:root { --fz-green:#2D5A3D; --fz-green-dk:#24482f; --fz-terra:#B85037; --fz-gold:#C89A3A;
        --fz-cream:#FAF6EF; --fz-ink:#2c2418; --fz-line:#e3dccd; }

/* ---------- header ---------- */
.fz-top { background:var(--fz-green); color:#f5f0e6; text-align:center; padding:7px 14px;
  font:500 .8rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.3px; }
.fz-hdr { position:sticky; top:0; z-index:200; background:rgba(250,246,239,.97);
  border-bottom:1px solid rgba(0,0,0,.06);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fz-bar { max-width:1100px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:12px; padding:10px 18px; min-height:60px; }
.fz-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.fz-logo img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.fz-logo span { font-family:Georgia,'Times New Roman',serif; font-size:1.3rem; letter-spacing:1.5px;
  color:var(--fz-terra); text-transform:uppercase; }
.fz-links { display:flex; align-items:center; gap:26px; }
.fz-links a { color:var(--fz-ink); text-decoration:none; font-size:.95rem; }
.fz-links a:hover, .fz-links a[aria-current] { color:var(--fz-green); }
.fz-right { display:flex; align-items:center; gap:10px; }
.fz-shopbtn { background:var(--fz-green); color:#fff !important; text-decoration:none; border-radius:999px;
  padding:9px 18px; font-weight:600; font-size:.92rem; white-space:nowrap; }
.fz-shopbtn:hover { background:var(--fz-green-dk); }
.fz-menubtn { display:none; width:44px; height:44px; border:none; background:none; border-radius:10px;
  color:var(--fz-green); cursor:pointer; align-items:center; justify-content:center; padding:0; }
.fz-menubtn svg { width:26px; height:26px; }
.fz-menu { display:none; border-top:1px solid rgba(0,0,0,.06); background:#fff; padding:6px 0 10px; }
.fz-menu a { display:flex; align-items:center; justify-content:space-between; padding:15px 22px;
  color:var(--fz-ink); text-decoration:none; font-size:1.05rem; border-bottom:1px solid #f2ede3; }
.fz-menu a:last-child { border-bottom:none; }
.fz-menu a::after { content:'›'; color:#b9ae98; font-size:1.3rem; }
.fz-hdr.open .fz-menu { display:block; }
@media (max-width:860px) {
  .fz-links { display:none; }
  .fz-menubtn { display:flex; }
  .fz-bar { padding:8px 10px 8px 14px; }
}

/* ---------- product hero (home page) ---------- */
.fz-pd { display:grid; grid-template-columns:1fr 1fr; gap:56px; max-width:1060px; margin:0 auto;
  padding:56px 28px 64px; align-items:start; }
.fz-pd-img { border-radius:18px; overflow:hidden; background:#ebe4d4; aspect-ratio:1; }
.fz-pd-img img { width:100%; height:100%; object-fit:cover; display:block; }
.fz-kicker { font:700 .74rem/1.3 -apple-system,BlinkMacSystemFont,sans-serif; letter-spacing:.16em;
  text-transform:uppercase; color:var(--fz-terra); margin:0 0 10px; }
.fz-pd h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(1.9rem,4.4vw,2.8rem);
  line-height:1.15; color:var(--fz-ink); margin:0 0 10px; }
.fz-pd h1 em { color:var(--fz-terra); font-style:italic; }
.fz-lede { color:#555; font-size:1.02rem; margin:0 0 18px; }
.fz-more { font:600 .92rem/1.4 -apple-system,BlinkMacSystemFont,sans-serif; margin-top:14px; }
.fz-more a { color:var(--fz-green); text-decoration:none; }
@media (max-width:820px) {
  .fz-pd { grid-template-columns:1fr; gap:18px; padding:0 0 36px; }
  .fz-pd-img { border-radius:0; aspect-ratio:4/3; }
  .fz-pd-info { padding:0 18px; }
}

/* ---------- stars ---------- */
.fz-stars { display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:#6b6b6b;
  font:500 .9rem/1.3 -apple-system,BlinkMacSystemFont,sans-serif; margin:0 0 14px; }
.fz-stars b { color:var(--fz-gold); letter-spacing:.06em; font-weight:400; }
.fz-stars[hidden] { display:none; }

/* ---------- buy block ---------- */
.fz-buy { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fz-routine { background:#fff; border-left:3px solid var(--fz-gold); border-radius:0; padding:10px 14px;
  font-size:.92rem; color:#4a4235; margin:0 0 16px; }
.fz-routine strong { color:var(--fz-green); }
.fz-q { font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--fz-terra); margin:0 0 8px; }
.fz-opt { display:flex; gap:12px; align-items:flex-start; width:100%; text-align:left; cursor:pointer;
  background:#fff; border:1.5px solid var(--fz-line); border-radius:14px; padding:14px 15px; margin:0 0 10px;
  font:inherit; color:var(--fz-ink); -webkit-tap-highlight-color:transparent; }
.fz-opt:hover { border-color:#bfb49c; }
.fz-opt.on { border:2px solid var(--fz-green); padding:13.5px 14.5px; background:#f7faf7; }
.fz-dot { flex:0 0 20px; height:20px; border-radius:50%; border:2px solid #c9c0ae; margin-top:2px; position:relative; }
.fz-opt.on .fz-dot { border-color:var(--fz-green); }
.fz-opt.on .fz-dot::after { content:''; position:absolute; inset:3px; border-radius:50%; background:var(--fz-green); }
.fz-main { flex:1; min-width:0; }
.fz-name { font-weight:700; font-size:1rem; color:var(--fz-green); }
.fz-badge { display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.05em; border-radius:999px;
  padding:2px 9px; margin-left:6px; vertical-align:2px; background:#e5efe8; color:var(--fz-green); }
.fz-badge.gold { background:#f6ecd6; color:#7a5a12; }
.fz-desc { font-size:.86rem; color:#666; margin-top:3px; }
.fz-perk { font-size:.8rem; color:var(--fz-green); font-weight:600; margin-top:5px; }
.fz-price { text-align:right; white-space:nowrap; }
.fz-price .now { font-weight:700; font-size:1.1rem; }
.fz-price .per { font-size:.76rem; color:#777; }
.fz-single { display:flex; align-items:center; gap:10px; width:100%; background:none; border:1px dashed transparent;
  border-radius:10px; padding:6px 8px; margin:-2px 0 14px; cursor:pointer; font:inherit; font-size:.86rem;
  color:#8a8a8a; text-align:left; }
.fz-single .fz-dot { flex-basis:16px; height:16px; margin:0; }
.fz-single.on { border-color:#bfb49c; color:var(--fz-ink); }
.fz-single.on .fz-dot { border-color:var(--fz-green); }
.fz-single.on .fz-dot::after { content:''; position:absolute; inset:2px; border-radius:50%; background:var(--fz-green); }
.fz-single u { text-underline-offset:2px; }
.fz-go { display:block; width:100%; border:none; border-radius:999px; background:var(--fz-green); color:#fff;
  padding:16px 20px; font:700 1.05rem/1.2 -apple-system,BlinkMacSystemFont,sans-serif; cursor:pointer; }
.fz-go:hover { background:var(--fz-green-dk); }
.fz-go:disabled { opacity:.6; cursor:wait; }
.fz-note { text-align:center; font-size:.8rem; color:#6b6b6b; margin:8px 0 0; }
.fz-msg { display:none; margin-top:12px; padding:12px 14px; border-radius:12px; background:rgba(200,154,58,.15);
  font-size:.9rem; color:var(--fz-ink); }
.fz-msg.show { display:block; }
.fz-msg a { color:var(--fz-terra); font-weight:600; }

/* ---------- sticky buy bar (phones only) ---------- */
.fz-sticky { display:none; }
@media (max-width:820px) {
  .fz-sticky { display:block; position:fixed; left:0; right:0; bottom:0; z-index:150; background:#fff;
    border-top:1px solid var(--fz-line); padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    transform:translateY(110%); transition:transform .2s ease; }
  .fz-sticky.show { transform:none; }
  .fz-sticky .fz-go { padding:14px 16px; font-size:1rem; }
  body.fz-has-sticky { padding-bottom:84px; }
}
@media (prefers-reduced-motion:reduce) { .fz-sticky { transition:none; } }

/* anchors land below the sticky header */
[id] { scroll-margin-top:84px; }
