/* ============================================================
   B-Dog モック専用 theme.css（MDT の app.css のあとに読み込む上書き）
   - 基調色をピンクに。角丸を約 20〜25% 大きく（カード 10px・小部品 8px）。くはっち指示 2026-10-20 JST
   - 自動生成: scripts/bdog-mock/make-theme.py（角丸の上書きは app.css から作る）。直接編集しない。
   - app.css / datepicker.js は MDT のまま（1文字も変えない）
   ============================================================ */
:root{
  --brand:#D1356F; --brand-d:#B02458; --brand-soft:#FFF0F5; --brand-line:#F8C6D8;
  --info:#D1356F; --info-soft:#FFF0F5;
  --page:#FFF8FA; --surface-2:#FBF4F7; --line:#EEDDE5; --line-2:#F3E6EC;
  --shadow:0 2px 10px rgba(120,40,75,.06);
  --r:10px; --r-sm:8px;
}
/* app.css に直書きされている青を、ピンクに */
.tb th{background:#FCE6EE;border-top-color:#F4BDD2;border-bottom-color:#F4BDD2}
.card:has(> .cb.tight:first-child .tb){border-top-color:#F4BDD2}
.card > .ch:has(+ .cb.tight .tb){border-bottom-color:#F4BDD2}
.pl-sep{border-bottom-color:#F4BDD2}
.bdg.info,.av.emp,.role.emp,.cal7 .ev{color:var(--brand-d)}
.stat,.stat.t-brand,.mp-ct{--tone:var(--brand);--tone-soft:var(--brand-soft);--tone-d:var(--brand-d)}
.alert.info{color:var(--brand-d);border-color:var(--brand-line)}
body{background:var(--page)}
.login-wrap{background:linear-gradient(180deg,#fff 0%,#FFEEF4 100%)}
body.bd-m .to-top{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:max(16px,calc(50% - 224px))}
/* 角丸（約 20〜25% 増し。app.css の規則から自動生成） */
.brand .tile{border-radius:8px}
.btn.sm{border-radius:8px}
.btn.block{border-radius:8px}
.bdg{border-radius:8px}
.chip{border-radius:8px}
.side a.nav{border-radius:8px}
.side .sub a{border-radius:8px}
.search{border-radius:8px}
.icobtn{border-radius:8px}
.qr{border-radius:8px}
.cal .cell{border-radius:8px}
.backnav{border-radius:8px}
.btn{border-radius:8px}
.card{border-radius:10px}
.stat{border-radius:10px}
.tw{border-radius:0 0 10px 10px}
.side a.nav .cnt{border-radius:8px}
.mockpill{border-radius:8px}
.pending{border-radius:8px}
.dd{border-radius:10px}
.dd a,.dd .it{border-radius:8px}
.av.wrk{border-radius:10px}
.role{border-radius:8px}
.pcard{border-radius:10px}
.seg{border-radius:8px}
.kv{border-radius:10px}
.pre{border-radius:10px}
.col{border-radius:10px}
.tcard{border-radius:8px}
.modal{border-radius:10px}
.toast{border-radius:8px}
.opt{border-radius:10px}
.cal7{border-radius:10px}
.card>.cb.tight{border-radius:0 0 10px 10px}
.stat .s.al{border-radius:8px}
.ap-shop{border-radius:8px}
.sheet{border-radius:10px}
.prod .ic{border-radius:8px}
.disc{border-radius:8px}
.acc{border-radius:8px}
.prov a{border-radius:10px}
.prov .mk{border-radius:8px}
.prov .mk-logo{border-radius:8px}
.lg-brand .t{border-radius:8px}
.agree{border-radius:8px}
.dp .dp-icon{border-radius:0 8px 8px 0}
.dp-cal{border-radius:10px}
.dp-btn{border-radius:8px}
.dp-yr span{border-radius:8px}

/* ============================================================
   B-Dog モック専用の配置（MDT にない部品。bd- で始まる。色・角丸・影は MDT のトークンだけを使う）
   ============================================================ */
body.bd-m{background:#F3E7ED}
.bd-phone{max-width:480px;margin:0 auto;min-height:100vh;background:var(--page);position:relative;padding-bottom:76px;box-shadow:0 0 0 1px var(--line)}
.bd-phone.bd-notab{padding-bottom:84px}
.bd-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:6px;height:56px;padding:0 8px 0 16px;background:#fff;border-bottom:1px solid var(--line)}
.bd-bar .wm{font:800 21px/1 var(--lat);letter-spacing:-.02em;color:var(--brand);text-decoration:none}
.bd-bar .ttl{font:700 16px/24px var(--ui);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-bar .sp{flex:1}
.bd-bar .icobtn{border:0;background:transparent;color:var(--ink)}
.bd-bar .back{margin-left:-8px}
.bd-tab{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:60px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);z-index:40}
.bd-tab a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:500 11px/16px var(--ui);color:var(--muted);text-decoration:none}
.bd-tab a svg{width:22px;height:22px}
.bd-tab a.on{color:var(--brand);font-weight:700}
.bd-cta{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;gap:8px;padding:12px 16px;background:#fff;border-top:1px solid var(--line);z-index:40}
.bd-cta .btn{flex:1}
.bd-sec{padding:16px}
.bd-sec>h2,.bd-h{font:700 16px/24px var(--ui);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.bd-h .r{margin-left:auto;font:500 12px/18px var(--ui)}
.bd-hero{height:200px;background-size:cover;background-position:50% 35%}
.bd-hero-card{margin:-56px 16px 0;position:relative}
.bd-lead{font:700 18px/28px var(--ui);margin:0 0 4px}
.bd-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}
.bd-card+.bd-card{margin-top:12px}
.bd-g2>.bd-card,.bd-g3>.bd-card{margin-top:0}
.bd-phone .kv{background:#fff;border-color:var(--brand-line);grid-template-columns:104px 1fr}
.bd-phone .kv>div{border-bottom-color:var(--brand-line)}
.bd-phone .kv>.k{background:var(--brand);color:#fff;font-weight:600}
.bd-card.tight{padding:0;overflow:hidden}
.bd-row{display:flex;gap:12px;align-items:flex-start}
.bd-salon{display:flex;gap:12px;color:var(--ink);text-decoration:none}
.bd-salon:hover{text-decoration:none}
.bd-thumb{width:92px;height:92px;border-radius:var(--r);object-fit:cover;flex:0 0 92px;background:var(--brand-soft)}
.bd-body{flex:1;min-width:0}
.bd-name{font:700 15px/22px var(--ui)}
.bd-sub{font:400 12px/18px var(--ui);color:var(--muted)}
.bd-chips{display:flex;gap:6px;flex-wrap:wrap}
.bd-price{font:800 16px/24px var(--lat)}
.bd-star{color:var(--warn);letter-spacing:1px;font-size:13px}
.bd-heart{border:0;background:transparent;color:var(--faint);padding:4px;cursor:pointer;display:grid;place-items:center}
.bd-heart.on{color:var(--brand)}
.bd-heart svg{width:22px;height:22px}
.bd-g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bd-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bd-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block;background:var(--brand-soft)}
.bd-photo.sq{aspect-ratio:1/1}
.bd-map{height:180px;border-radius:var(--r);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand);background:
  linear-gradient(90deg,transparent 49%,#F3E6EC 49% 51%,transparent 51%) 0 0/60px 60px,
  linear-gradient(0deg,transparent 49%,#F3E6EC 49% 51%,transparent 51%) 0 0/60px 60px,#FFF8FA}
.bd-map svg{width:34px;height:34px}
.bd-list{list-style:none;margin:0;padding:0}
.bd-list>li{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line-2)}
.bd-list>li:last-child{border-bottom:0}
.bd-list>li>a.go,.bd-list>li>.go{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.bd-list .ic{width:36px;height:36px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--brand-d);display:grid;place-items:center;flex:0 0 36px}
.bd-list .ic svg{width:19px;height:19px}
.bd-list .tx{flex:1;min-width:0}
.bd-list .tx b{display:block;font:600 14px/22px var(--ui)}
.bd-list .tx span{display:block;font:400 12px/18px var(--ui);color:var(--muted)}
.bd-list .ch{color:var(--faint);width:18px;height:18px;flex:0 0 18px}
.bd-av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;background:var(--brand-soft);border:1px solid var(--brand-line)}
.bd-av.lg{width:72px;height:72px;flex-basis:72px}
.bd-slots{width:100%;border-collapse:separate;border-spacing:4px;font-size:12px}
.bd-slots th{font:500 11px/16px var(--ui);color:var(--muted);padding:4px 0;text-align:center}
.bd-slots th.sat{color:#2864F0}.bd-slots th.sun{color:var(--brand)}
.bd-slots td{padding:0;text-align:center}
.bd-slot{width:100%;height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--brand);font:700 15px/1 var(--ui);cursor:pointer}
.bd-slot.on{background:var(--brand);border-color:var(--brand);color:#fff}
.bd-slot.x{background:var(--surface-2);color:var(--faint);cursor:default;font-weight:500}
.bd-opt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer}
.bd-opt+.bd-opt{margin-top:8px}
.bd-opt input{margin-top:3px;accent-color:var(--brand);width:18px;height:18px;flex:0 0 18px}
.bd-opt.on{border-color:var(--brand);background:var(--brand-soft)}
.bd-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;margin-top:8px;border-top:1px solid var(--line)}
.bd-total b{font:800 22px/30px var(--lat)}
.bd-steps{display:flex;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line);gap:0}
.bd-steps .st{display:flex;align-items:center;gap:6px;font:500 11.5px/16px var(--ui);color:var(--faint);white-space:nowrap}
.bd-steps .st b{width:22px;height:22px;border-radius:25%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font:700 11px/1 var(--ui)}
.bd-steps .st.on{color:var(--ink);font-weight:700}
.bd-steps .st.on b{background:var(--brand);border-color:var(--brand);color:#fff}
.bd-steps .st.done b{background:var(--ok-soft);border-color:#b7ecd9;color:var(--ok)}
.bd-steps .ln{flex:1;height:1px;background:var(--line);margin:0 8px;min-width:8px}
.bd-foot{padding:24px 16px 8px;text-align:center;font:400 11.5px/20px var(--ui);color:var(--faint)}
.bd-foot a{color:var(--muted)}
.bd-seg{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none}
.bd-seg a,.bd-seg button{flex:0 0 auto;height:34px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--muted);font:500 13px/32px var(--ui);text-decoration:none;cursor:pointer}
.bd-seg .on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-d);font-weight:700}
.bd-done{text-align:center;padding:36px 16px 8px}
.bd-done .ok{width:64px;height:64px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;margin:0 auto 16px}
.bd-done .ok svg{width:32px;height:32px}
.bd-acc{border-bottom:1px solid var(--line-2)}
.bd-acc summary{list-style:none;cursor:pointer;padding:14px 16px;font:600 14px/22px var(--ui);display:flex;gap:10px;align-items:center}
.bd-acc summary::-webkit-details-marker{display:none}
.bd-acc summary::before{content:"Q";color:var(--brand);font-weight:800}
.bd-acc .a{padding:0 16px 16px 36px;font:400 13px/22px var(--ui);color:var(--ink-2,var(--ink))}
.bd-bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:10px}
.bd-bars>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;font:500 11px/16px var(--ui);color:var(--muted)}
.bd-bars i{display:block;width:100%;max-width:44px;background:var(--brand);border-radius:6px 6px 0 0;min-height:4px}
.bd-bars b{font:700 11px/16px var(--lat);color:var(--ink)}
.bd-photoedit{position:relative}
.bd-photoedit .x{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.bd-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2)}
.bd-switch:last-child{border-bottom:0}
@media (min-width:861px){.bd-hide-pc{display:none}}
