/* mochimori upgrade 2026-10-30 · loaded AFTER style.css. Additive overrides only. */
:root{
  /* palette — bright but trustworthy */
  --mm-ink:#1F2A44;        /* deep indigo text, trust */
  --mm-ink-soft:#4A5470;
  --mm-paper:#FFF8F1;      /* warm rice-paper */
  --mm-cream:#FFEFE3;
  --mm-card:#FFFFFF;
  --mm-sakura:#F2618C;     /* primary CTA */
  --mm-sakura-dk:#D9416F;
  --mm-matcha:#3FA672;     /* success / secondary */
  --mm-sky:#3B9BE0;        /* links, info */
  --mm-yuzu:#FFC94A;       /* highlights, badges */
  --mm-line:#EEDFD2;
  --mm-muted:#6E7488;
  --mm-sale:#E0453A;
  --mm-radius:18px;
  --mm-shadow:0 2px 6px rgba(31,42,68,.06),0 14px 34px -18px rgba(31,42,68,.30);
  --mm-shadow-lift:0 4px 10px rgba(31,42,68,.08),0 26px 50px -22px rgba(31,42,68,.42);
  --mm-head:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",system-ui,sans-serif;
  --mm-body:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;
  /* re-map legacy vars so older components pick up the palette */
  --paper:var(--mm-paper);--paper-2:var(--mm-cream);--card:var(--mm-card);
  --ink:var(--mm-ink);--ink-soft:var(--mm-ink-soft);--beni:var(--mm-sakura);
  --matcha:var(--mm-matcha);--line:var(--mm-line);--muted:var(--mm-muted);
  --serif:var(--mm-head);--ui:var(--mm-body);
}
html{background:var(--mm-paper)}
body{font:400 16.5px/1.65 var(--mm-body);color:var(--mm-ink);background-color:var(--mm-paper)}
h1,h2,h3{font-family:var(--mm-head);font-weight:700;letter-spacing:0;color:var(--mm-ink)}
h1{line-height:1.15}
a{color:var(--mm-sky)}
.kicker{color:var(--mm-sakura-dk);font-family:var(--mm-body);font-weight:800}
.notice{background:var(--mm-ink);color:#fff;font-family:var(--mm-body)}

/* buttons */
.btn{border-radius:999px;font:800 14px/1.2 var(--mm-body);letter-spacing:.02em;background:var(--mm-ink);color:#fff;padding:14px 26px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{background:var(--mm-ink-soft);transform:translateY(-2px)}
.btn.buy,.mm-buy{background:var(--mm-sakura);color:#fff;box-shadow:0 12px 26px -12px rgba(242,97,140,.75)}
.btn.buy:hover,.mm-buy:hover{background:var(--mm-sakura-dk)}
.btn.ghost{border-radius:999px;border:2px solid var(--mm-ink);padding:12px 22px}
.btn:focus-visible,.mm-qv-btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--mm-sky);outline-offset:3px}

/* product cards: bigger image, hover lift */
.card{position:relative;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:var(--mm-radius);padding:12px 12px 16px;box-shadow:var(--mm-shadow);transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--mm-shadow-lift)}
.card .phimg{border-radius:calc(var(--mm-radius) - 6px);overflow:hidden;aspect-ratio:1/1;background:var(--mm-cream)}
.card .phimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .phimg img{transform:scale(1.05)}
.card h3{font-size:16px;margin:12px 2px 4px}
.price{font:800 17px var(--mm-body);color:var(--mm-ink)}
.mm-qv-btn{position:absolute;top:18px;right:18px;z-index:2;border:0;border-radius:999px;background:rgba(255,255,255,.95);color:var(--mm-ink);font:800 12.5px var(--mm-body);padding:8px 13px;box-shadow:var(--mm-shadow);cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}
.card:hover .mm-qv-btn,.card:focus-within .mm-qv-btn{opacity:1;transform:none}
@media (hover:none){.mm-qv-btn{opacity:1;transform:none}}

/* homepage hero */
.mm-hero{background:linear-gradient(135deg,#FFE3EC 0%,#FFF4D6 55%,#E2F5EA 100%);border-radius:0 0 32px 32px}
.mm-hero h1{font-size:clamp(32px,6vw,56px)}
.mm-hero h1 em{font-style:normal;color:var(--mm-sakura-dk)}
.mm-hero-kicker{font:800 13px var(--mm-body);color:var(--mm-matcha);letter-spacing:.08em;text-transform:uppercase}
.mm-hero-img img{border-radius:28px;box-shadow:var(--mm-shadow-lift)}
.mm-price-chip{display:inline-flex;gap:8px;align-items:center;background:#fff;border-radius:999px;padding:6px 14px;font:800 14px var(--mm-body);box-shadow:var(--mm-shadow);margin:6px 0 14px}
.mm-price-chip b{color:var(--mm-sakura-dk)}
.mm-hero-ctas{display:flex;flex-wrap:wrap;gap:10px}

/* PDP */
main.product{gap:clamp(20px,4vw,48px)}
main.product>.phimg{border-radius:24px;overflow:hidden;background:var(--mm-cream);cursor:zoom-in;box-shadow:var(--mm-shadow)}
main.product>.phimg img{width:100%;height:auto;display:block}
.price.big{font:800 30px var(--mm-body);color:var(--mm-ink)}
.buyrow{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
@media (max-width:640px){.buyrow .btn{flex:1 1 100%}}

/* trust bar + payment marks */
.trust-secure{font:600 13px/1.5 var(--mm-body);color:var(--mm-ink-soft);background:#F3FAF6;border:1px solid #CDEBDB;border-radius:12px;padding:10px 14px;max-width:none}
footer .trust-secure{background:transparent;border:0;padding:0}
.mm-paymarks{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 0;padding:0;list-style:none}
.mm-paymarks li{display:flex;align-items:center;background:#fff;border:1px solid var(--mm-line);border-radius:6px;padding:6px 8px} /* clear space around each mark */
.mm-paymarks img{height:22px;width:auto;display:block}
.mm-paymarks [hidden]{display:none!important}
.mm-cf-badge{font:700 12px var(--mm-body);color:var(--mm-muted)}

/* sale badge + compare-at (config-driven; nothing flagged by default) */
.mm-sale-badge{position:absolute;top:18px;left:18px;z-index:2;background:var(--mm-sale);color:#fff;font:800 12px var(--mm-body);border-radius:999px;padding:5px 10px}
.mm-compare{color:var(--mm-muted);font-weight:600;margin-right:6px}

/* promo banner (off by default) */
.mm-promo{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;align-items:center;background:var(--mm-yuzu);color:var(--mm-ink);font:800 14px var(--mm-body);padding:10px 16px;text-align:center}
.mm-promo a{color:var(--mm-ink)}
.mm-countdown{font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;padding:2px 8px}

/* modal (quick view / zoom / signup) */
.mm-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(31,42,68,.55);animation:mmfade .2s ease}
.mm-modal[hidden]{display:none}
.mm-dialog{position:relative;background:#fff;border-radius:24px;max-width:860px;width:100%;max-height:92vh;overflow:auto;box-shadow:var(--mm-shadow-lift);display:grid;grid-template-columns:1fr;gap:18px;padding:18px}
@media (min-width:720px){.mm-dialog.mm-qv{grid-template-columns:1fr 1fr;padding:24px}}
.mm-dialog.mm-qv > img,.mm-dialog.mm-zoom > img{width:100%;height:auto;border-radius:16px;background:var(--mm-cream);object-fit:cover}
.mm-dialog .mm-paymarks img{width:auto;height:22px;object-fit:contain;background:transparent;border-radius:0}
.mm-dialog h2{margin:4px 0 6px;border:0;padding:0;font-size:24px}
.mm-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:var(--mm-cream);font:800 20px var(--mm-body);cursor:pointer;z-index:3}
.mm-dialog.mm-zoom{max-width:1100px;padding:8px}
.mm-signup{max-width:440px;text-align:center}
.mm-signup input[type=email],.mm-form input,.mm-form textarea{width:100%;padding:12px 14px;border:1px solid var(--mm-line);border-radius:12px;font:16px var(--mm-body)}
.mm-form label{display:block;font-weight:700;margin:12px 0 4px}
.mm-small{font-size:12.5px;color:var(--mm-muted)}
@keyframes mmfade{from{opacity:0}to{opacity:1}}

/* cookie notice */
.mm-cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:900;max-width:560px;margin:0 auto;background:var(--mm-ink);color:#fff;border-radius:16px;padding:12px 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:600 13.5px/1.45 var(--mm-body);box-shadow:var(--mm-shadow-lift)}
.mm-cookie a{color:var(--mm-yuzu)}
.mm-cookie button{border:0;border-radius:999px;padding:8px 16px;font:800 13px var(--mm-body);cursor:pointer;background:var(--mm-yuzu);color:var(--mm-ink)}
.mm-cookie button.mm-alt{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}

/* policy / prose pages */
.prose{max-width:760px;background:#fff;border:1px solid var(--mm-line);border-radius:24px;padding:clamp(20px,4vw,44px);margin:28px auto 60px;box-shadow:var(--mm-shadow)}
.prose h2{font-size:21px;margin-top:28px;border:0;padding:0}
.prose details{border-bottom:1px solid var(--mm-line);padding:10px 0}
.prose summary{font-weight:800;cursor:pointer}

/* reviews block: hidden until real reviews exist */
.mm-reviews[hidden]{display:none}

@media (prefers-reduced-motion:reduce){
  .card,.card .phimg img,.btn,.mm-qv-btn,.mm-modal{transition:none!important;animation:none!important}
  .card:hover,.card:hover .phimg img{transform:none}
}
