/* shop.css — お店(在籍嬢)ページ専用（style.css/actress.css/doujin.css を継承） */

/* 一覧の絞り込みバー（検索BOX＋カテゴリー/地域/店名） */
.d-filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 6px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.d-search{flex:1 1 180px;min-width:140px;font-size:.86rem;padding:9px 13px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--text)}
.d-search::placeholder{color:var(--muted2)}
.d-search:focus,.d-select:focus{outline:none;border-color:var(--accent)}
.d-select{flex:0 1 auto;font-size:.84rem;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--text);max-width:46%}
.d-clear{font-size:.8rem;font-weight:700;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);cursor:pointer}
.d-clear:hover{border-color:var(--accent);color:var(--text)}
.d-count{font-size:.78rem;color:var(--muted);margin:0 0 12px 4px}
.d-count b{color:#ff8ab6;font-weight:900;font-size:.92rem}
@media(max-width:600px){.d-select{flex:1 1 46%;max-width:none}.d-search{flex:1 1 100%}}

/* 一覧カード: 多地域カードの小注記（過去の在籍・出張も含む） */
.card-area-note{margin-top:6px;font-size:.62rem;line-height:1.4;color:var(--muted2);opacity:.85}

/* 本人公式プロフィールへの直リンク */
.cast-prof-link{display:inline-block;margin-top:11px;font-size:.82rem;font-weight:700;color:#ff8ab6;border:1px solid rgba(255,45,120,.45);border-radius:999px;padding:6px 15px;text-decoration:none}
.cast-prof-link:hover{background:rgba(255,45,120,.12);color:#fff}

/* AV女優ページへの内部リンク（女優DB一致） */
.cast-actress-link{display:block;margin-top:13px;font-size:.86rem;font-weight:700;color:#ffd76a;background:linear-gradient(135deg,rgba(255,180,40,.14),rgba(255,90,140,.1));border:1px solid rgba(255,200,80,.45);border-radius:12px;padding:11px 15px;text-decoration:none;line-height:1.6}
.cast-actress-link b{color:#fff}
.cast-actress-link:hover{border-color:#ffd76a;background:rgba(255,180,40,.2)}
.mini-chip.av{background:linear-gradient(135deg,rgba(255,180,40,.25),rgba(255,90,140,.2));border-color:rgba(255,200,80,.5);color:#ffd76a;font-weight:800}

/* 可能プレイ／オプション */
.plays{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.play{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;padding:5px 11px;border-radius:9px;border:1px solid var(--line);background:var(--surface2);color:var(--text)}
.play i{font-style:normal;font-weight:900}
.play.ok{border-color:rgba(255,45,120,.45)}.play.ok i{color:#ff5e9c}
.play.maybe i{color:var(--gold)}
.play.no{opacity:.55}.play.no i{color:var(--muted2)}

/* オプション/コース */
.cast-text{font-size:.84rem;line-height:1.85;color:var(--muted);white-space:pre-wrap;margin-top:6px}
.course-table th{white-space:nowrap}
.course-table td{font-weight:900;color:var(--gold)}

/* コメント（本人/マネージャー/お客様） */
.cast-msgs{display:flex;flex-direction:column;gap:12px;margin:10px 0 4px}
.cast-msg{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.cast-msg-h{display:block;font-size:.74rem;font-weight:800;color:#ff8ab6;margin-bottom:6px}
.cast-msg p{font-size:.88rem;line-height:1.9;color:var(--text);white-space:pre-wrap}

/* CTA（お店＋本人プロフィールの2つ） */
.dd-cta-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.dd-cta-2{background:var(--surface2);color:var(--text);border:1px solid var(--line);box-shadow:none}
.dd-cta-2:hover{border-color:var(--accent);transform:translateY(-2px)}

/* 各店の料金（コース） */
.shop-price{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 4px}
.shop-price-h{font-size:.72rem;font-weight:800;color:#ff8ab6;margin-right:2px}
.price-item{font-size:.76rem;padding:4px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);color:var(--text)}
.price-item b{font-weight:800;color:var(--muted);margin-right:3px}
.price-note{font-size:.76rem;color:var(--muted)}

/* 予約・連絡（電話直リンク/WEB/LINE） */
.reserve-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.rsv{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:700;text-decoration:none;padding:9px 15px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--text)}
.rsv b{font-weight:900}
.rsv:hover{border-color:var(--accent)}
.rsv.tel{background:linear-gradient(135deg,#ff2d78,#ff5e9c);border-color:transparent;color:#fff}
.rsv.tel:hover{filter:brightness(1.06)}
.rsv.tel b{-webkit-user-select:text;user-select:text}
.rsv.line{background:#06c755;border-color:#06c755;color:#fff}

/* SNSピル（Xロゴ＋@ID） */
.sns-link{padding:8px 14px}
.sns-link svg{flex:0 0 auto;opacity:.95}
.sns-link .sns-id{font-weight:600;color:var(--muted);margin-left:2px}
.sns-x{background:#000;border-color:#2f3336}
.sns-x:hover{border-color:#71767b;background:#0a0a0a}
.sns-bsky{border-color:rgba(32,139,254,.4)}

/* 現在地バナー（今週の出張先・最上部） */
.cast-tour-now{display:block;margin-top:12px;font-size:.92rem;font-weight:800;color:#fff;text-decoration:none;background:linear-gradient(135deg,#ff2d78,#ff5e9c);border-radius:12px;padding:13px 16px;line-height:1.55;box-shadow:0 4px 16px rgba(255,45,120,.35)}
.cast-tour-now b{color:#fff5fa}
.cast-tour-now .tour-sub{display:block;font-size:.74rem;font-weight:700;opacity:.92;margin-top:4px}
.cast-tour-now:hover{filter:brightness(1.06)}
/* 本在籍内の今週の出勤店ブロック */
.shop-tour{margin:10px 0;padding:10px 13px;border:1px solid rgba(255,45,120,.4);border-radius:12px;background:rgba(255,45,120,.07)}
.shop-tour-h{display:block;font-size:.78rem;font-weight:800;color:#ff8ab6;margin-bottom:4px}
.shop-tour .shop-entry{padding:6px 0;border:none}

/* 出張在籍（折りたたみ） */
.shop-others{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.shop-others summary{cursor:pointer;list-style:none;font-size:.84rem;font-weight:800;color:#ff8ab6;padding:12px 15px;user-select:none}
.shop-others summary::-webkit-details-marker{display:none}
.shop-others summary::before{content:"▶";display:inline-block;margin-right:8px;font-size:.7em;transition:transform .2s}
.shop-others[open] summary::before{transform:rotate(90deg)}
.shop-others summary:hover{color:#fff}
.shop-others .shop-entry{padding:12px 15px;border-top:1px solid rgba(255,255,255,.07);border-bottom:none}

/* 在籍店リスト（複数店） */
.shop-entry{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.shop-entry:first-of-type{padding-top:4px}
.shop-entry:last-child{border-bottom:none;padding-bottom:0}
.shop-entry .shop-name{font-size:.96rem;font-weight:800;margin-bottom:3px}
.shop-entry .shop-name a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.shop-entry .shop-name a:hover{color:#ff8ab6;border-color:#ff8ab6}
.shop-entry .shop-name a i{font-style:normal;font-size:.8em;opacity:.7}
.shop-entry .shop-meta{font-size:.77rem;color:var(--muted);margin-bottom:8px}
.shop-entry .reserve-links{margin-top:0}
.shop-entry .rsv{font-size:.78rem;padding:6px 12px}
.shop-note-sm{font-size:.7rem;line-height:1.7;color:var(--muted2);margin-top:11px}
