/* ============ 店舗一覧（口コミ統合版）追加スタイル ============ */

/* --- タイル型 → 1店1行のリスト型に上書き --- */
.sl-grid{display:grid;grid-template-columns:1fr;gap:8px;padding-top:12px;}
@media(min-width:880px){.sl-grid{grid-template-columns:1fr 1fr;gap:10px;}}
.sl-card{flex-direction:row;align-items:center;text-align:left;gap:14px;padding:13px 16px;border-radius:14px;}
.sl-card:hover{transform:none;box-shadow:0 8px 24px rgba(96,62,80,.10);}
.sl-logo{width:46px;height:46px;border-radius:11px;flex-shrink:0;}
.sl-logo--mono{font-size:14px;}
.sl-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.sl-card__nm{font-size:15px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;}
.sl-card__sub{font-size:11px;color:#9c919e;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sl-card__sub b{color:#a8842f;font-weight:500;}
.sl-card__right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.sl-card__rv{font-size:10.5px;color:#9c919e;text-align:right;}
.sl-card__rv b{color:#c05c82;font-size:12px;}
/* 初回料金バッジ（口コミが無い店の右肩）。金額は店の掲載情報＝出典と取得日はリスト下の注記と店ページに出す */
.sl-card__pr b{color:#a8842f;font-size:12px;display:block;white-space:nowrap;}
.sl-card__pr i{font-style:normal;font-size:9.5px;color:#9c919e;}
/* 運営が実際に行った店（kind:"editor"）。客の口コミとは別物だと一目で分かる色にする */
.sl-card__ed b{color:#c05c82;font-size:10.5px;display:block;white-space:nowrap;font-weight:700;}
.sl-note{font-size:10.5px;line-height:1.75;color:#9c919e;margin:14px 4px 0;}
.sl-note b{color:#a8842f;font-weight:700;}
.sl-note a{color:#c05c82;text-decoration:underline;}
.sl-card__arw{color:#d8cfd4;font-size:16px;line-height:1;}
.sl-card .favbtn{width:32px;height:32px;}
.sl-card .favbtn svg{width:17px;height:17px;}

/* --- 並び替えチップ --- */
.sl-sort{max-width:1000px;margin:0 auto;padding:12px 20px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sl-sort__label{font-size:11px;color:#9c919e;}
.sl-sort button{font-family:'Noto Sans JP',sans-serif;font-size:11.5px;padding:6px 13px;background:#fff;color:#6d6270;border:1px solid rgba(36,26,32,.10);border-radius:999px;cursor:pointer;}
.sl-sort button.is-on{background:#2a222b;color:#fff;border-color:#2a222b;font-weight:700;}

/* --- 検索ツールバー（sticky） --- */
.sl-toolbar{position:sticky;top:0;z-index:50;background:rgba(250,247,243,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(36,26,32,.08);}
.sl-toolbar__in{max-width:1000px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:12px;}
.sl-search{flex:1;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid rgba(36,26,32,.12);border-radius:999px;padding:11px 18px;}
.sl-search:focus-within{border-color:#c05c82;box-shadow:0 0 0 3px rgba(192,92,130,.12);}
.sl-search svg{flex-shrink:0;opacity:.45;}
.sl-search input{flex:1;border:none;outline:none;background:none;font-family:'Noto Sans JP',sans-serif;font-size:15px;color:#2a222b;min-width:0;}
.sl-search input::placeholder{color:#9c919e;}
.sl-count{font-size:11.5px;color:#9c919e;white-space:nowrap;}

/* --- 口コミバッジ（カード内） --- */
.sl-card__rate{font-size:11px;font-weight:700;color:#a8842f;}
.sl-card__rate b{color:#c05c82;}

/* --- モーダル --- */
.rvm{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center;}
.rvm.is-open{display:flex;}
.rvm__bg{position:absolute;inset:0;background:rgba(36,26,32,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.rvm__panel{position:relative;width:100%;max-width:640px;max-height:88vh;overflow-y:auto;background:#faf7f3;border-radius:22px 22px 0 0;padding:26px 22px 34px;box-shadow:0 -20px 60px rgba(36,26,32,.25);animation:rvmUp .28s ease;}
@media(min-width:700px){.rvm{align-items:center;padding:30px;}.rvm__panel{border-radius:22px;padding:32px 30px 36px;}}
@keyframes rvmUp{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.rvm__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(36,26,32,.12);background:#fff;color:#6d6270;font-size:16px;cursor:pointer;line-height:1;}
.rvm__head{display:flex;align-items:center;gap:14px;margin-bottom:6px;}
.rvm__logo{width:54px;height:54px;border-radius:13px;object-fit:cover;border:1px solid rgba(168,132,47,.4);background:#fff;flex-shrink:0;}
.rvm__logo--mono{display:flex;align-items:center;justify-content:center;font-family:'Shippori Mincho',serif;font-weight:800;font-size:16px;color:#c05c82;background:linear-gradient(145deg,#fdf5f8,#f6efe2);}
.rvm__nm{font-family:'Shippori Mincho',serif;font-size:20px;font-weight:800;color:#2a222b;line-height:1.3;}
.rvm__grp{font-size:11px;color:#a8842f;margin-top:3px;}
.rvm__meta{font-size:11px;color:#9c919e;margin-top:2px;}
.rvm__links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px;}
.rvm__link{font-size:12px;font-weight:700;color:#a84a6f;text-decoration:none;border:1px solid rgba(192,92,130,.35);background:#fff;padding:7px 14px;border-radius:999px;}
.rvm__link--gold{color:#a8842f;border-color:rgba(168,132,47,.4);}
.rvm__sec{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:800;color:#2a222b;margin:20px 0 10px;padding-top:16px;border-top:1px solid rgba(36,26,32,.08);}

/* ===== 取材ステータスの印 ===== */
.rvm__seal{display:block;width:100%;font-size:11.5px;font-weight:600;color:#9c919e;background:#f4eee7;border-radius:10px;padding:8px 12px;margin-bottom:4px;}
.rvm__seal--on{color:#fff;background:linear-gradient(100deg,#c05c82,#b98a2f);font-weight:700;}

/* ===== 店舗関係者向け ===== */
.shopcall{display:flex;align-items:center;gap:11px;margin-top:22px;padding:14px 16px;background:#f4eee7;border:1px solid rgba(36,26,32,.10);border-radius:14px;text-decoration:none;}
.shopcall:hover{background:#efe7dd;}
.shopcall__t{flex:1;min-width:0;line-height:1.5;}
.shopcall__t b{display:block;font-size:12.5px;font-weight:700;color:#2a222b;}
.shopcall__t span{display:block;font-size:10.5px;color:#9c919e;margin-top:3px;}
.shopcall__arw{flex-shrink:0;color:#9c919e;font-size:15px;}

/* ===== 予約リクエスト ===== */
.bkbtn{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(100deg,#c05c82,#b98a2f);border:none;border-radius:16px;padding:16px 18px;cursor:pointer;text-align:left;box-shadow:0 10px 26px rgba(192,92,130,.3);transition:transform .15s;font-family:'Noto Sans JP',sans-serif;}
.bkbtn:hover{transform:translateY(-2px);}
.bkbtn__t{flex:1;min-width:0;}
.bkbtn__t b{display:block;font-size:15.5px;font-weight:800;color:#fff;line-height:1.4;}
.bkbtn__t span{display:block;font-size:11.5px;color:rgba(255,255,255,.85);margin-top:3px;}
.bkbtn__arw{flex-shrink:0;color:#fff;font-size:18px;font-weight:700;transition:transform .2s;}
.bkbtn.is-open .bkbtn__arw{transform:rotate(90deg);}
.bkform{display:grid;gap:13px;background:#fff;border:1px solid rgba(192,92,130,.25);border-radius:16px;padding:18px 17px;margin-top:10px;}
.bkform__lead{font-size:12px;line-height:1.9;color:#6d6270;background:#fdf5f8;border-radius:11px;padding:12px 14px;}
.bkform__lead b{color:#a84a6f;}
.bkform input[type="date"],.bkform input[type="text"],.bkform select,.bkform textarea{width:100%;border:1.5px solid rgba(36,26,32,.12);border-radius:12px;background:#fff;padding:11px 13px;font-family:'Noto Sans JP',sans-serif;font-size:14px;color:#2a222b;outline:none;}
.bkform input:focus,.bkform select:focus,.bkform textarea:focus{border-color:#c05c82;}
.bkform textarea{resize:vertical;line-height:1.8;}
.bkform__send{width:100%;border:none;border-radius:999px;background:#06c755;color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:700;letter-spacing:.03em;padding:15px;cursor:pointer;box-shadow:0 10px 26px rgba(6,199,85,.3);transition:transform .15s;}
.bkform__send:hover{transform:translateY(-1px);}
.rvf__done a.bkdone__line{display:block;text-align:center;background:#06c755;color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:999px;text-decoration:none;box-shadow:0 8px 22px rgba(6,199,85,.32);}

/* --- 口コミ一覧 --- */
.rv{background:#fff;border:1px solid rgba(36,26,32,.08);border-radius:14px;padding:16px 17px;margin-bottom:10px;}
.rv--editor{background:linear-gradient(150deg,#fdf5f8,#f9f2e4);border-color:rgba(168,132,47,.28);}
.rv__kind{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(100deg,#c05c82,#b98a2f);padding:4px 11px;border-radius:999px;margin-bottom:9px;}
.rv__stars{color:#e0a92c;font-size:14px;letter-spacing:2px;margin-bottom:6px;}
.rv__stars i{color:#e4dcd2;font-style:normal;}
.rv__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.rv__tag{font-size:10.5px;font-weight:500;color:#6d6270;background:#f4eee7;padding:3px 9px;border-radius:999px;}
.rv__tag--price{color:#a84a6f;background:#f7e3ea;font-weight:700;}
.rv__text{font-size:13px;line-height:1.95;color:#2a222b;margin:0 0 8px;}
.rv__by{font-size:11px;color:#9c919e;}
.rv-empty{background:#fff;border:1px dashed rgba(36,26,32,.15);border-radius:14px;padding:22px 18px;text-align:center;font-size:12.5px;line-height:1.9;color:#9c919e;}
.rv-empty b{color:#a84a6f;}

/* 口コミの下に必ず出す注記（裏を取っていない／店に反論の場がある）2026-08-14 */
.rv-note{font-size:11.5px;line-height:1.9;color:#8b8090;background:#fbf8f5;border:1px solid rgba(36,26,32,.08);border-radius:12px;padding:12px 14px;margin:0 0 16px;}
.rv-note b{color:#6d6270;}
.rv-note a{color:#a84a6f;font-weight:700;white-space:nowrap;}

/* 店からの回答（名指しされた側の言い分を同じカードに並べる） */
.rv__reply{margin-top:12px;padding:12px 14px;background:#faf7f3;border-left:3px solid #a8842f;border-radius:0 10px 10px 0;}
.rv__reply b{display:block;font-size:11px;font-weight:700;color:#a8842f;letter-spacing:.03em;margin-bottom:6px;}
.rv__reply p{font-size:12.5px;line-height:1.9;color:#2a222b;margin:0;}

/* --- 口コミ投稿フォーム --- */
.rvf{display:grid;gap:14px;}
.rvf__label{font-size:12px;font-weight:700;color:#2a222b;margin-bottom:6px;display:block;}
.rvf__label small{font-weight:500;color:#9c919e;margin-left:4px;}
.rvf__stars{display:flex;gap:6px;}
.rvf__star{width:40px;height:40px;border-radius:10px;border:1.5px solid rgba(36,26,32,.12);background:#fff;font-size:18px;color:#e4dcd2;cursor:pointer;transition:all .12s;}
.rvf__star.is-on{color:#e0a92c;border-color:#e0a92c;background:#fdf8ec;}
.rvf select,.rvf input[type="text"],.rvf textarea{width:100%;border:1.5px solid rgba(36,26,32,.12);border-radius:12px;background:#fff;padding:11px 14px;font-family:'Noto Sans JP',sans-serif;font-size:14px;color:#2a222b;outline:none;}
.rvf select:focus,.rvf input[type="text"]:focus,.rvf textarea:focus{border-color:#c05c82;}
.rvf textarea{min-height:110px;resize:vertical;line-height:1.8;}
.rvf__row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:480px){.rvf__row{grid-template-columns:1fr;}}
.rvf__check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;color:#6d6270;cursor:pointer;}
.rvf__check input{margin-top:3px;accent-color:#c05c82;}
.rvf__submit{width:100%;border:none;border-radius:999px;background:linear-gradient(100deg,#c05c82 0%,#b98a2f 100%);color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:700;letter-spacing:.04em;padding:15px;cursor:pointer;box-shadow:0 10px 28px rgba(192,92,130,.3);transition:transform .15s;}
.rvf__submit:hover{transform:translateY(-1px);}
.rvf__note{font-size:10.5px;line-height:1.8;color:#9c919e;}
.rvf__done{display:none;background:#eafaf0;border:1px solid rgba(6,199,85,.3);border-radius:14px;padding:18px;font-size:13px;line-height:1.9;color:#2a222b;}
.rvf__done a{color:#06c755;font-weight:700;}
body.rvm-lock{overflow:hidden;}
