.lfoot{background:#000;color:#f4f4f2;border-top:1px solid #222;padding:28px 16px calc(84px + env(safe-area-inset-bottom));text-align:center;font-size:12px;position:relative;z-index:1}
body[data-theme=light] .lfoot{background:#fff;color:#0b0b0b;border-top-color:#ddd}
.lfoot ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:420px}
.lfoot .pm{min-width:76px;height:32px;padding:0 10px;display:flex;align-items:center;justify-content:center;border:1px solid #333;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.04em;opacity:.8}
body[data-theme=light] .lfoot .pm{border-color:#ccc}
.lfoot .pm img{display:block;height:20px;width:auto}
.lfoot .pmn{margin:10px 0 0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.lfoot .lnk{display:flex;flex-wrap:wrap;justify-content:center;margin:22px auto 0;max-width:680px}
.lfoot .lnk a{color:inherit;text-decoration:none;opacity:.8;padding:8px 12px;font-size:12px}
.lfoot .lnk a+a{border-left:1px solid #333}
body[data-theme=light] .lfoot .lnk a+a{border-left-color:#ddd}
.lfoot .lnk a:hover{opacity:1;text-decoration:underline}
.lfoot .cp{margin:14px 0 0;font-size:11px;opacity:.6;letter-spacing:.06em}
@media(max-width:640px){.lfoot .lnk a+a{border-left:0}.lfoot .lnk a{padding:8px 10px}}

.plogo{display:flex;justify-content:center;padding:calc(env(safe-area-inset-top) + 26px) 20px 6px}.plogo a{display:block;width:clamp(150px,44vw,210px)}.plogo img{display:block;width:100%;height:auto}
.polpage{max-width:640px;margin:0 auto;padding:22px 20px 8px;min-height:60svh;overflow-wrap:anywhere}.polpage h1{font-size:clamp(22px,6.2vw,30px);line-height:1.15;letter-spacing:.06em;text-transform:uppercase;margin:6px 0 18px;text-align:center;font-weight:800}
.polpage .ps{border-top:1px solid #262626;padding:16px 0}.polpage .ps h2{margin:0 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#e6e4df;font-weight:700}
.polpage .ps p,.polpage .lead{font-weight:400;font-size:15px;line-height:1.65;color:#b9b7b2;margin:0 0 8px}.polpage .promo{display:table;margin:0 auto 16px;border:1px solid #8f1a1c;color:#f4f4f2;padding:8px 12px;font-size:11px;letter-spacing:.14em}.polpage .upd{font-size:11px;color:#777;margin:22px 0 0;text-align:center}
.polpage a{color:#f4f4f2}.faq details{border-top:1px solid #262626;padding:14px 0}.faq summary{cursor:pointer;font-size:14px;list-style:none;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:#b3201f}.faq details[open] summary:after{content:"\2212"}.faq p{font-weight:400;font-size:15px;line-height:1.6;color:#b9b7b2;margin:10px 0 0}
.cform{display:grid;gap:14px;margin-top:22px}.cform label{display:grid;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#999}.cform input,.cform textarea{font:inherit;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:#f4f4f2;background:#0a0a0a;border:1px solid #333;padding:12px;border-radius:0;width:100%}.cform .hp{position:absolute;left:-9999px}.cm{font-size:13px;margin:0}.cm.err{color:#e0584e}.cm.ok{color:#9ad39a}
.pnav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 16px;padding:22px 20px calc(40px + env(safe-area-inset-bottom));border-top:1px solid #262626;max-width:640px;margin:26px auto 0}.pnav a{color:#999;font-size:12px;text-decoration:none;padding:8px 0}.pnav a[aria-current]{color:#fff}
body{overflow-x:hidden}

/* compact footer (all store pages) */
.lfoot{padding:14px 12px calc(70px + env(safe-area-inset-bottom));font-size:10px}
.lfoot ul{gap:4px;max-width:340px}
.lfoot .pm{min-width:0;height:18px;padding:0 6px;border-radius:4px;font-size:8px;letter-spacing:.02em}
.lfoot .pm img{height:12px}
.lfoot .pmn{margin:6px 0 0;font-size:7px;letter-spacing:.12em}
.lfoot .lnk{margin:8px auto 0;max-width:340px}
.lfoot .lnk a{padding:3px 6px;font-size:9px}
.lfoot .cp{margin:6px 0 0;font-size:8px}
@media(max-width:640px){.lfoot .lnk a{padding:3px 6px}}
.lfoot .cp{font-size:7px;margin:5px 0 0;letter-spacing:.1em}
.cfoot .copy2{font-size:7px;margin:10px 0 0;letter-spacing:.2em}
.lfoot{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
/* policy pages follow the theme */
body[data-theme=light] .polpage .ps,body[data-theme=light] .faq details,body[data-theme=light] .pnav{border-color:#ddd}
body[data-theme=light] .polpage .ps h2{color:#111}
body[data-theme=light] .polpage .ps p,body[data-theme=light] .polpage .lead,body[data-theme=light] .faq p{color:#444}
body[data-theme=light] .polpage .promo,body[data-theme=light] .polpage a{color:#0b0b0b}
body[data-theme=light] .polpage .upd{color:#888}
body[data-theme=light] .pnav a{color:#666}
body[data-theme=light] .pnav a[aria-current=page]{color:#000}
/* footer v2: no divider above the payment row; small icons above the policy links */
.lfoot,body[data-theme=light] .lfoot{border-top:0}
.lfoot .pm{gap:4px;min-width:0;height:22px;padding:0 7px;border-radius:5px;font-size:8.5px;letter-spacing:.06em;opacity:.85}
.lfoot .pm svg{display:block;flex:none}
.lfoot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.polback{position:absolute;left:max(12px,env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + 12px);margin:0;z-index:5}

/* payment tiles (owner, 2026-11-10): white rounded tiles like card-acceptance badges. Our own lettering, not brand artwork:
   put official acceptance-mark files in img/pay/ and set "logo" in data/site.json payments.methods to show them instead. */
.lfoot ul.pms{gap:6px;max-width:370px;margin-top:4px}
.lfoot .pm{min-width:0;width:52px;height:34px;padding:0 4px;border:0;border-radius:6px;background:#fff;color:#111;opacity:1;font-size:9px;font-weight:800;letter-spacing:.02em;line-height:1.05;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
body[data-theme=light] .lfoot .pm{background:#fff;box-shadow:0 0 0 1px #d6d6d6}
.lfoot .pm img{height:24px;max-width:46px;object-fit:contain}
.lfoot .pm-visa{font-size:12px;font-style:italic;letter-spacing:.04em}
.lfoot .pm-amex{font-size:11px}
.lfoot .pm-discover{font-size:7.5px;letter-spacing:.04em}
.lfoot .pm-mastercard{font-size:7.5px;font-weight:700}
.lfoot .pm-applepay,.lfoot .pm-googlepay{font-size:8.5px;font-weight:700}
/* HARMFUL™ is a secret button (Easter egg, 064): bigger invisible tap area, no layout change */
.lfoot .cp{position:relative;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.lfoot .cp::after{content:"";position:absolute;inset:-14px -28px}
