/* ══════════ Direct-sales storefront — Mercari-inspired, light, responsive ══════════ */
:root{
  --red:#ff2d55; --red-d:#e01e46; --ink:#1c1c1e; --sub:#6b6b70; --line:#ececef;
  --bg:#f6f6f7; --card:#fff; --ok:#0aad5b; --shadow:0 1px 3px rgba(0,0,0,.08);
  --radius:12px; --hdr-h:56px; --maxw:1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
  background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased;
}
.hidden{display:none !important}
button{font-family:inherit;cursor:pointer;border:none;background:none}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border-radius:999px;font-size:15px;font-weight:700;transition:.15s;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-d)}
.btn-primary:disabled{opacity:.5;cursor:default}
.btn-outline{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-outline:hover{border-color:#d5d5da}
.btn-block{width:100%}
.btn-sm{height:36px;padding:0 14px;font-size:13px}

/* ══════════ Access gate ══════════ */
.gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#fff,#f0f0f3)}
.gate-card{width:100%;max-width:380px;background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.1);padding:36px 28px;text-align:center}
.gate-logo{font-size:44px;margin-bottom:8px}
.gate-title{font-size:22px;font-weight:800;margin:0 0 8px}
.gate-sub{font-size:14px;color:var(--sub);line-height:1.6;margin:0 0 22px}
.gate-form{display:flex;flex-direction:column;gap:12px}
.gate-input{height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;font-size:16px;text-align:center;letter-spacing:2px;text-transform:uppercase;outline:none}
.gate-input:focus{border-color:var(--red)}
.gate-err{color:var(--red);font-size:13px;min-height:18px;margin:12px 0 0}

/* ══════════ Header ══════════ */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hdr-inner{max-width:var(--maxw);margin:0 auto;height:var(--hdr-h);display:flex;align-items:center;gap:12px;padding:0 14px}
.hdr-brand{display:flex;align-items:center;flex-shrink:0}
.hdr-name{font-size:19px;font-weight:800;color:var(--red);letter-spacing:-.3px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdr-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:999px;padding:0 14px;height:38px;min-width:0}
.hdr-search-ic{color:var(--sub);flex-shrink:0}
.hdr-search-in{flex:1;border:none;background:none;outline:none;font-size:14px;min-width:0}
.hdr-cart{position:relative;color:var(--ink);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}
.hdr-cart:hover{background:var(--bg)}
.hdr-cart-badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* ══════════ Views ══════════ */
.view{max-width:var(--maxw);margin:0 auto;padding:14px;min-height:60vh}

/* Product grid */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:560px){.grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:820px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1040px){.grid{grid-template-columns:repeat(5,1fr)}}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .12s}
.card:hover{transform:translateY(-2px)}
.card-imgwrap{position:relative;aspect-ratio:1/1;background:#f0f0f3;overflow:hidden}
.card-img{width:100%;height:100%;object-fit:cover}
.card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#c4c4c9;font-size:12px}
.card-cond{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.65);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}
/* ── メルカリ風サムネ: 価格チップ(左下)・SOLD斜めリボン(左上)・SALEバッジ ── */
.card-pricechip{position:absolute;left:0;bottom:8px;background:rgba(0,0,0,.72);color:#fff;font-weight:800;font-size:12.5px;line-height:1;padding:5px 10px 5px 8px;border-radius:0 999px 999px 0;max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.card-soldrb{position:absolute;top:13px;left:-30px;transform:rotate(-45deg);background:#e53946;color:#fff;font-weight:800;font-size:11px;letter-spacing:1.5px;padding:3px 34px;box-shadow:0 1px 4px rgba(0,0,0,.3);z-index:2;pointer-events:none}
.card-salebadge{position:absolute;top:6px;left:6px;background:#e53946;color:#fff;font-weight:800;font-size:10px;padding:2px 7px;border-radius:999px;z-index:1}
.card.sold .card-img{opacity:.92}
.card-orig{color:var(--sub);font-weight:600;font-size:12px}
.card-now{color:#e53946}
.card-reflabel{color:var(--sub);font-weight:600;font-size:11px}
.card-body{padding:8px 10px 11px}
.card-name{font-size:12.5px;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
.card-price{font-size:16px;font-weight:800;margin-top:5px}
.card-price small{font-size:11px;font-weight:600;color:var(--sub);margin-right:1px}

/* section head */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:6px 2px 12px}
.sec-title{font-size:18px;font-weight:800}
.sec-count{font-size:12px;color:var(--sub)}

/* states */
.state{text-align:center;padding:64px 20px;color:var(--sub)}
.state-emoji{font-size:40px;margin-bottom:10px}
.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════ Product detail ══════════ */
.pd{max-width:900px;margin:0 auto}
.pd-back{display:inline-flex;align-items:center;gap:5px;color:var(--sub);font-size:14px;font-weight:600;margin-bottom:12px;padding:6px 2px}
.pd-back:hover{color:var(--ink)}
.pd-main{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:760px){.pd-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}
.pd-gallery{}
.pd-hero{position:relative;aspect-ratio:1/1;background:#f0f0f3;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pd-hero img{width:100%;height:100%;object-fit:contain}
/* 商品詳細のSOLD/SALE表示 */
.pd-soldrb{position:absolute;top:26px;left:-40px;transform:rotate(-45deg);background:#e53946;color:#fff;font-weight:800;font-size:15px;letter-spacing:2px;padding:6px 52px;box-shadow:0 1px 5px rgba(0,0,0,.3);z-index:2;pointer-events:none}
.pd-soldout{background:rgba(229,57,70,.1);border:1px solid rgba(229,57,70,.4);color:#e53946;font-weight:800;text-align:center;padding:13px;border-radius:10px;font-size:14.5px;letter-spacing:.5px}
.pd-orig{color:var(--sub);font-weight:600;font-size:17px}
.pd-sale-now{color:#e53946}
.pd-reflabel{color:var(--sub);font-weight:700;font-size:15px;vertical-align:middle}
.pd-off{display:inline-block;vertical-align:middle;background:#e53946;color:#fff;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;margin-left:2px}
.pd-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.pd-thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;border:2px solid transparent;cursor:pointer;background:#f0f0f3}
.pd-thumb.active{border-color:var(--red)}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-info{}
.pd-name{font-size:20px;font-weight:800;line-height:1.4;margin:0 0 10px}
.pd-price{font-size:30px;font-weight:800;margin:0 0 4px}
.pd-price small{font-size:15px;color:var(--sub);font-weight:600}
.pd-ship{font-size:13px;color:var(--ok);font-weight:700;margin-bottom:16px}
.pd-cond{display:inline-block;font-size:12px;font-weight:700;color:var(--sub);background:var(--bg);padding:4px 10px;border-radius:999px;margin-bottom:16px}
.pd-actions{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.pd-specs{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.pd-specs h3{font-size:14px;font-weight:800;margin:0 0 10px}
.spec-row{display:flex;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}
.spec-k{width:40%;color:var(--sub)}
.spec-v{width:60%}

/* ══════════ Cart ══════════ */
.cart{max-width:720px;margin:0 auto}
.cart-item{display:flex;gap:12px;background:#fff;border-radius:var(--radius);padding:10px;box-shadow:var(--shadow);margin-bottom:10px;align-items:center}
.cart-item-img{width:72px;height:72px;border-radius:8px;object-fit:cover;background:#f0f0f3;flex-shrink:0}
.cart-item-mid{flex:1;min-width:0}
.cart-item-name{font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-item-price{font-size:15px;font-weight:800;margin-top:4px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:6px}
.qty button{width:30px;height:30px;font-size:18px;color:var(--ink);display:flex;align-items:center;justify-content:center}
.qty button:hover{background:var(--bg)}
.qty span{min-width:28px;text-align:center;font-size:14px;font-weight:700}
.cart-item-rm{color:var(--sub);align-self:flex-start;font-size:20px;padding:2px 6px}
.cart-item-rm:hover{color:var(--red)}
.summary{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-top:8px}
.sum-row{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}
.sum-row.total{font-size:19px;font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}
.sum-row .muted{color:var(--sub)}

/* ══════════ Checkout ══════════ */
.co{max-width:560px;margin:0 auto}
.co h2{font-size:20px;font-weight:800;margin:0 0 14px}
.co-note{font-size:13px;color:var(--sub);line-height:1.6;background:#fff;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:16px}
#paypal-box{min-height:52px;margin-top:8px}
.co-secure{display:flex;align-items:center;gap:6px;justify-content:center;color:var(--sub);font-size:12px;margin-top:14px}

/* ══════════ Success ══════════ */
.done{max-width:480px;margin:40px auto;text-align:center;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:40px 28px}
.done-ic{width:72px;height:72px;border-radius:50%;background:#e8f8ef;color:var(--ok);display:flex;align-items:center;justify-content:center;font-size:38px;margin:0 auto 18px}
.done h2{font-size:22px;font-weight:800;margin:0 0 8px}
.done p{color:var(--sub);font-size:14px;line-height:1.6;margin:0 0 6px}
.done-order{font-weight:800;color:var(--ink);font-size:16px}

/* ══════════ Footer ══════════ */
.ftr{max-width:var(--maxw);margin:24px auto 0;padding:24px 14px 40px;text-align:center;border-top:1px solid var(--line)}
.ftr-store{font-size:14px;font-weight:700;margin:0 0 4px}
.ftr-note{font-size:12px;color:var(--sub);margin:0}

/* ══════════ Toast ══════════ */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:999px;font-size:14px;font-weight:600;z-index:200;box-shadow:0 6px 20px rgba(0,0,0,.25);max-width:90vw;text-align:center}
.toast.err{background:var(--red)}

/* ══════════ Header icons / account ══════════ */
.hdr-ic{position:relative;color:var(--ink);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}
.hdr-ic:hover{background:var(--bg)}
.acct-avatar{width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center}
.acct-avatar.big{width:52px;height:52px;font-size:24px;margin:0 auto 10px}

/* ══════════ Banners（お知らせ/クーポン帯） ══════════ */
.banners{display:flex;flex-direction:column;gap:8px;margin:2px 0 16px}
.banner{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13.5px;box-shadow:var(--shadow)}
.banner.coupon{background:linear-gradient(90deg,#fff5f7,#fff);border-color:#ffd6de}
.bn-tag{flex-shrink:0;background:var(--red);color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:999px}
.bn-tag.info{background:#3b82f6}
.bn-text{flex:1;min-width:0;line-height:1.45}
.bn-code{flex-shrink:0;background:var(--ink);color:#fff;font-weight:800;font-size:12px;padding:3px 10px;border-radius:6px;letter-spacing:1px}

/* ── バナー: 複数は横スライド。画像バナー＋「獲得」ボタン ── */
.banners.scroll{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.banners.scroll::-webkit-scrollbar{display:none}
.banners.scroll .banner-slide{flex:0 0 88%;scroll-snap-align:start}
@media(min-width:560px){.banners.scroll .banner-slide{flex-basis:60%}}
@media(min-width:820px){.banners.scroll .banner-slide{flex-basis:44%}}
.banner-slide{position:relative;display:block;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;color:inherit}
.bn-img{width:100%;aspect-ratio:1200/450;background-size:cover;background-position:center;background-color:#f0f0f3}
.bn-cap{padding:9px 13px;font-size:13.5px;font-weight:600;color:var(--ink)}
.bn-plain{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px}
.bn-plain.coupon{background:linear-gradient(90deg,#fff5f7,#fff)}
.bn-claim{position:absolute;right:12px;bottom:12px;background:var(--red);color:#fff;border:none;font-weight:800;font-size:15px;padding:13px 26px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.28);cursor:pointer}
.bn-claim:hover{filter:brightness(1.05)}
.bn-claim.done,.bn-claim:disabled{background:#8a8a90;cursor:default;box-shadow:none}
.banner-slide:has(.bn-plain) .bn-claim{position:static;margin:0 14px 12px;align-self:flex-start}

/* ══════════ Horizontal rows (Your Likes / Picks) ══════════ */
.hrow{display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:10px;scrollbar-width:none}
.hrow::-webkit-scrollbar{display:none}
@media(min-width:560px){.hrow{grid-auto-columns:170px}}
/* 厳選セクションのカルーセル（1行=.crow / 2行=.crow.two）。スクロールバーは出さず ‹ › ボタンでスライド */
.crow{display:grid;grid-auto-flow:column;grid-auto-columns:150px;grid-template-rows:auto;gap:10px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:12px;scrollbar-width:none;scroll-snap-type:x proximity}
.crow::-webkit-scrollbar{display:none}
.crow.two{grid-template-rows:repeat(2,auto)}
.crow>.card{scroll-snap-align:start}
@media(min-width:560px){.crow{grid-auto-columns:170px}}
/* ‹ › スライドボタン（はみ出す時だけ .has-nav で表示） */
.crow-wrap{position:relative}
.crow-nav{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.16);color:var(--ink);font-size:22px;font-weight:700;line-height:1;align-items:center;justify-content:center;cursor:pointer;padding:0 0 3px}
.crow-nav:hover{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.22)}
.crow-nav.prev{left:-8px}
.crow-nav.next{right:-8px}
.crow-wrap.has-nav .crow-nav{display:flex}
.sec-more{font-size:13px;font-weight:700;color:var(--red);cursor:pointer}
.co-coupon-sel{margin:0 0 10px}
/* ── メルカリ風の絞り込みバー（ピル型・横並び・折返し） ── */
.fbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.fpill{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:var(--shadow)}
select.fpill{padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.fprice{display:inline-flex;align-items:center;gap:3px;cursor:default}
.fprice input{width:64px;border:none;outline:none;font-size:12.5px;font-weight:600;color:var(--ink);background:transparent;text-align:center;-moz-appearance:textfield}
.fprice input::-webkit-outer-spin-button,.fprice input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fclear{color:var(--red);border-color:rgba(229,57,70,.4)}

/* card like button */
.card{position:relative}
.card-like{position:absolute;right:8px;bottom:64px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 1px 6px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:#9a9aa0;z-index:2}
.card-like:hover{color:var(--red)}
.card-like.on{color:var(--red)}
.pd-like-btn svg{margin-right:6px}
.pd-like-btn.on{border-color:#ffd6de;background:#fff5f7;color:var(--red)}

/* ══════════ Modal（ログイン/アカウント） ══════════ */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:150;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-card{position:relative;width:100%;max-width:400px;background:#fff;border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,.22);padding:26px 22px}
.modal-x{position:absolute;top:10px;right:12px;font-size:24px;color:var(--sub);padding:4px 8px}
.modal-x:hover{color:var(--ink)}
.auth-tabs{display:flex;gap:4px;background:var(--bg);border-radius:999px;padding:4px;margin-bottom:16px}
.auth-tab{flex:1;height:36px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--sub)}
.auth-tab.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.auth-google{margin-bottom:4px}
.auth-google svg{margin-right:4px}
.auth-or{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:12px;margin:12px 0}
.auth-or:before,.auth-or:after{content:'';flex:1;height:1px;background:var(--line)}
.auth-form{display:flex;flex-direction:column;gap:10px}
.auth-in{height:46px;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;font-size:14.5px;outline:none;width:100%}
.auth-in:focus{border-color:var(--red)}
.auth-err{color:var(--red);font-size:13px;min-height:16px;margin:10px 0 0;text-align:center}
.auth-note{color:var(--sub);font-size:11.5px;text-align:center;line-height:1.5;margin:12px 0 0}
.auth-me{text-align:center;margin-bottom:16px}
.auth-me-mail{font-size:14px;font-weight:600}

/* ══════════ Checkout coupon ══════════ */
.co-coupon{display:flex;gap:8px;margin:0 0 12px}
.co-coupon .auth-in{flex:1;height:40px}
.co-coupon .btn{flex-shrink:0;height:40px}

/* footer links */
.ftr-links{display:flex;gap:18px;justify-content:center;margin:10px 0;font-size:13px;font-weight:600}
.ftr-links a{cursor:pointer;color:var(--sub)}
.ftr-links a:hover{color:var(--ink)}

/* ghost button（問い合わせ等の控えめアクション） */
.btn-ghost{background:none;color:var(--sub);border:none;font-weight:600}
.btn-ghost:hover{color:var(--ink);background:var(--bg);border-radius:999px}

/* ══════════ Stars / Reviews ══════════ */
.stars .st{color:#d9d9de;font-size:15px}
.stars .st.on{color:#f5a623}
.pd-starline{display:flex;align-items:center;gap:6px;font-size:14px;margin:0 0 8px}
.rev-list{display:flex;flex-direction:column;gap:10px}
.rev-item{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}
.rev-head{display:flex;align-items:center;gap:8px;font-size:13px}
.rev-name{font-weight:700}
.rev-date{font-size:11.5px}
.rev-text{font-size:13.5px;line-height:1.55;margin:6px 0 0;color:var(--ink)}
.rev-mine{display:flex;align-items:center;gap:6px;margin-top:4px}
.rev-form{margin-top:10px;background:var(--bg);border-radius:10px;padding:12px}
.rev-starpick .st{font-size:26px;color:#d9d9de;cursor:pointer;padding:0 2px}
.rev-starpick .st.on{color:#f5a623}
.rev-tmpls{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.rev-tmpl{font-size:11.5px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 10px;color:var(--sub)}
.rev-tmpl:hover{border-color:var(--red);color:var(--red)}

/* ══════════ Notifications ══════════ */
.ntf-list{display:flex;flex-direction:column;gap:8px}
.ntf{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 14px;cursor:pointer;position:relative}
.ntf:hover{background:#fffafa}
.ntf.unread{background:#fff5f7}
.ntf-ic{font-size:22px;flex-shrink:0}
.ntf-mid{flex:1;min-width:0}
.ntf-title{font-size:14px;font-weight:700}
.ntf-body{font-size:12.5px;color:var(--sub);line-height:1.5;margin-top:2px}
.ntf-date{font-size:11px;color:#a5a5ab;margin-top:4px}
.ntf-dot{width:9px;height:9px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:6px}

/* ══════════ My Page ══════════ */
.mp{max-width:720px;margin:0 auto}
.mp-head{display:flex;align-items:center;gap:14px;margin:4px 0 16px}
.mp-name{font-size:18px;font-weight:800}
.mp-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
.mp-card-title{font-size:14.5px;font-weight:800;margin-bottom:10px}
.mp-ref{background:linear-gradient(135deg,#fff5f7,#fff);border:1px solid #ffd6de}
.mp-refrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mp-refcode{background:var(--ink);color:#fff;font-weight:800;letter-spacing:2px;padding:7px 14px;border-radius:8px;font-size:15px}
.mp-order{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer}
.mp-order:last-child{border-bottom:none}
.mp-order-img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#f0f0f3;flex-shrink:0}
.mp-order-mid{flex:1;min-width:0}
.mp-order-name{font-size:13.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.mp-order-st{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--bg);color:var(--sub);flex-shrink:0}
.mp-order-st.st-paid,.mp-order-st.st-review{background:#e8f8ef;color:var(--ok)}
.mp-order-st.st-shipped{background:#e5efff;color:#2563eb}
.mp-order-st.st-delivered{background:#f3e8ff;color:#9333ea}
.mp-coupon{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.mp-coupon:last-child{border-bottom:none}
.mp-coupon code{background:var(--bg);font-weight:800;padding:4px 10px;border-radius:6px;letter-spacing:1px}
.mp-inq{padding:8px 0;border-bottom:1px solid var(--line)}
.mp-inq:last-child{border-bottom:none}
.mp-inq-reply{font-size:12.5px;background:#e8f8ef;border-radius:8px;padding:7px 10px;margin-top:5px;color:#0a7a44}
.mp-memberid{font-size:12px;color:var(--sub);margin-top:3px}
.mp-memberid b{color:var(--ink);letter-spacing:.5px}
/* チャット風メッセージ（eNaviのメッセージUI準拠: 自分=右/水色・店舗=左/灰・時刻/日付は淡色） */
.chat-thread{padding:8px 0;border-bottom:1px solid var(--line)}
.chat-thread:last-child{border-bottom:none}
.chat-day{text-align:center;font-size:11px;color:var(--sub);margin:2px 0 8px}
.chat-row{display:flex;margin:6px 0;gap:7px;align-items:flex-end}
.chat-row.me{justify-content:flex-end}
.chat-row.them{justify-content:flex-start}
.chat-avatar{width:26px;height:26px;border-radius:50%;background:#ececec;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.chat-bubble{max-width:78%;border-radius:16px;padding:8px 13px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.chat-bubble.me{background:#a8d8ff;color:#0a0a0a;border-bottom-right-radius:5px}
.chat-bubble.them{background:#ececec;color:#0a0a0a;border-bottom-left-radius:5px}
.chat-await{background:#f4f4f5;color:var(--sub);border-radius:16px;border-bottom-left-radius:5px;padding:8px 13px;font-size:12.5px}
.mp-set{display:flex;gap:10px;align-items:center;padding:7px 0;flex-wrap:wrap}
.mp-set-l{width:110px;font-size:13px;color:var(--sub);font-weight:700;flex-shrink:0}
.mp-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;font-weight:600}
.mp-links a{cursor:pointer;color:var(--sub);text-decoration:underline}
.mp-links a:hover{color:var(--ink)}

/* ══════════ Tracking bar（メルカリ風の配送状況） ══════════ */
.trk{display:flex;align-items:flex-start;margin:6px 0 4px}
.trk-step{display:flex;flex-direction:column;align-items:center;min-width:64px}
.trk-dot{width:30px;height:30px;border-radius:50%;background:#e8e8ec;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.trk-step.done .trk-dot{background:var(--ok)}
.trk-step.now .trk-dot{box-shadow:0 0 0 5px rgba(10,173,91,.18)}
.trk-lbl{font-size:10.5px;color:var(--sub);margin-top:6px;text-align:center;font-weight:700}
.trk-step.done .trk-lbl{color:var(--ok)}
.trk-line{flex:1;height:4px;background:#e8e8ec;border-radius:2px;margin-top:13px}
.trk-line.done{background:var(--ok)}
.trk-no{font-size:13px;margin-top:12px}
.trk-no a{color:#2563eb;text-decoration:underline}

/* ══════════ Legal ══════════ */
.legal{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.legal h3{font-size:14px;margin:16px 0 6px}
.legal h3:first-child{margin-top:0}
.legal p{margin:0 0 6px;color:var(--sub)}
.modal-title{font-size:17px;font-weight:800;margin:0 0 10px}

/* sticky buy bar on mobile detail */
@media(max-width:759px){
  .pd-actions{position:sticky;bottom:0;background:var(--bg);padding:12px 0;margin:12px -14px 0;padding-left:14px;padding-right:14px;border-top:1px solid var(--line);z-index:10}
}
