/* B案の共通CSSを継承。配色・フォント・見出しサイズはそのまま。 */
.beta-app .notice{display:flex;justify-content:center;align-items:center;gap:16px;padding:2px 18px}
.beta-app .notice button{margin:0;font-size:12px;flex-shrink:0}
.masthead b{font-weight:400;margin-left:8px;border:1px solid #75654d;border-radius:5px;padding:0 6px}
.source-tag{display:inline-block;margin-top:16px;padding:3px 10px;border:1px solid #746448;border-radius:5px;color:var(--gold);font-size:12px}
.conditions{flex-wrap:wrap}.stay-condition{margin-left:auto}.stay-condition strong{white-space:nowrap}
.date-condition{display:flex;flex-direction:column;gap:2px}.date-condition strong{font-size:16px}
.control-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.area-filter{display:flex;align-items:center;gap:8px;padding-bottom:7px}.area-filter label{font-size:12px;color:var(--muted)}.area-filter select{font-size:13.5px;min-height:44px;padding-right:22px}
.beta-tabs{grid-template-columns:repeat(3,1fr);gap:8px}.beta-tabs button{padding:10px 7px}.beta-tabs span{display:inline-block;margin-right:10px;font:700 14.5px "Noto Serif JP",serif;color:var(--ochre)}.beta-tabs button[aria-selected=true] span{color:var(--gold)}
.beta-app section[role=tabpanel]>h3{margin-bottom:10px}.beta-app section[role=tabpanel]{scroll-margin-top:150px}
.panel-lead{font-size:13.5px;color:var(--muted);margin-bottom:17px}.results-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:12px}.results-meta strong{color:var(--heading)}
.beta-app .result-card{padding:18px}.beta-app .best-card{background:linear-gradient(125deg,var(--cream),#fff 72%);border-color:var(--ochre)}
.beta-app .card-main{align-items:center}.beta-app .card-main .price{font-size:21px}.beta-app .card-foot{justify-content:space-between;gap:4px 12px}.beta-app .card-foot button{font-size:12px;color:var(--ochre);text-decoration:underline;text-underline-offset:4px;min-height:34px;padding:0}
.beta-app .price-label{margin-bottom:2px}.secondary-price{font-size:12px;color:var(--muted);margin-top:4px}.primary-cta{background:var(--navy);border:1px solid var(--navy);border-radius:5px;color:white;padding:10px 14px;justify-content:center;min-width:145px}.primary-cta:hover{background:var(--heading);color:var(--gold)}.outline-cta{border:1px solid var(--panel-line);border-radius:5px;padding:8px 12px;justify-content:center}
.beta-app .unavailable-card{background:#fafafa}.unavailable-card .status{color:var(--muted)}.beta-app .status.muted{color:var(--muted)}
.offer-summary{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px 10px;min-width:0}
.offer-summary>.status{flex-shrink:0}
.cheapest-plan{display:inline-flex;flex-wrap:wrap;gap:2px 8px;font-size:12px;line-height:1.6;color:var(--heading);overflow-wrap:anywhere}
.cheapest-plan>span+span{border-left:1px solid var(--line);padding-left:8px}
.beta-app .fallback{margin-top:20px;padding:18px}.fallback .step-label{font-size:11px;letter-spacing:.06em;color:var(--ochre);margin-bottom:4px}
.empty-state{border:1px solid var(--panel-line);background:var(--cream);border-radius:7px;padding:22px;margin-bottom:18px}.empty-state strong{font-size:18px;color:var(--heading);display:block;margin-bottom:7px}.empty-state p{font-size:13.5px;color:var(--muted)}.empty-state .cta{margin-top:12px}
.rate-table-wrap{border:1px solid var(--line);border-radius:7px;overflow:hidden}.rate-table{width:100%;border-collapse:collapse;font-size:13.5px}.rate-table th{text-align:left;background:var(--cream);font-size:12px;font-weight:400;color:var(--muted);padding:12px}.rate-table td{padding:14px 12px;border-top:1px solid var(--line);vertical-align:middle}.rate-table th:first-child{width:41%}.rate-table th:nth-child(2){width:20%}.rate-table strong{color:var(--heading);font-size:14.5px}.rate-table .rate-amount{font-size:18px;white-space:nowrap}.rate-table .meta{display:block;margin-top:4px}.rate-table .cta{white-space:nowrap;font-size:13.5px}.rate-table tr.noted-full{background:#fafafa}.rate-table tr.noted-full strong{color:var(--muted)}
.phone-helper{margin:18px 0 0;border-left:3px solid var(--ochre);padding:2px 0 2px 13px;font-size:13.5px}.phone-helper p{color:var(--muted);font-size:12px;margin-top:4px}
.rest-notice{padding:13px 16px;background:var(--cream);border-radius:7px;font-size:13.5px;margin-bottom:18px}.rest-notice strong{color:var(--ochre)}
.rest-rate-details{margin-top:10px;font-size:12px;color:var(--muted)}
.rest-rate-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:5px;color:var(--ochre)}
.rest-rate-details>summary::before{content:'▸'}.rest-rate-details[open]>summary::before{content:'▾'}
.rest-rate-option{padding:9px 0;border-top:1px solid var(--line)}
.rest-rate-option>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:13px}
.rest-rate-option p,.rest-rate-note{margin:4px 0;font-size:12px;color:var(--muted)}
.rest-conditions{margin:5px 0;font-size:12px;color:var(--muted)}
.hide-explanations #rest-content .rest-conditions,.hide-explanations #rest-content .rest-rate-details{grid-column:1/-1;grid-row:auto}
.rest-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:10px 0;border-top:1px solid var(--line)}.rest-facts span{font-size:12px;color:var(--muted);display:block}.rest-facts strong{font-size:13.5px}.card-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}.card-actions .primary-cta{min-width:0}.note-badge{font-size:12px;color:var(--ochre);display:block;margin-top:4px}.noted-full .note-badge{color:var(--muted)}
.breakdown-list{margin:16px 0;display:grid;grid-template-columns:1fr auto;gap:7px;font-size:13.5px}.breakdown-list dt,.breakdown-list dd{margin:0}.breakdown-list dd{text-align:right}.breakdown-list .sum{border-top:1px solid var(--line);padding-top:8px;font-weight:700}
.call-script{margin:16px 0;background:var(--cream);border-radius:7px;padding:16px;font-size:14.5px}.phone-number{font-size:21px;font-weight:700;display:block;color:var(--heading);margin-bottom:6px}.sheet-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:18px 0}.memo{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.memo p{font-size:12px;color:var(--muted)}.memo-buttons{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.memo-buttons button{border:1px solid var(--line);border-radius:5px;min-height:44px;padding:8px 12px;font-size:13.5px}.memo-buttons button[aria-pressed=true]{border-color:var(--ochre);background:var(--cream);color:var(--ochre)}.memo-result{min-height:22px}.source-link{font-size:12px;color:var(--ochre);text-decoration:underline;text-underline-offset:3px}.scenario-list{display:grid;gap:10px;margin-top:18px}.scenario-list button{border:1px solid var(--line);border-radius:7px;text-align:left;padding:13px 16px;min-height:52px;font-size:14.5px}.scenario-list button[aria-pressed=true]{border-color:var(--ochre);background:var(--cream)}.demo-mark{font-size:12px;color:var(--ochre)}
.beta-app .other-facilities p:last-child{margin:8px 0 16px}
@media(max-width:767px){.beta-app .notice{justify-content:space-between;gap:5px;font-size:11px}.beta-app .notice button{font-size:11px}.masthead>span{letter-spacing:.01em;font-size:10px}.masthead b{margin-left:2px}.intro p{max-width:300px}.date-condition strong{font-size:13.5px}.date-condition .mini-label{font-size:11px}.control-bottom{gap:6px;align-items:flex-end}.mode-switch{gap:8px}.mode-switch button{font-size:12px;padding:10px 2px}.area-filter{gap:0}.area-filter label{display:none}.area-filter select{font-size:12px;max-width:132px;padding-left:8px}.beta-tabs{gap:6px}.beta-tabs button{font-size:13.5px;padding:8px 2px}.beta-tabs span{display:block;margin:0 0 3px;font-size:12px}.beta-app .result-card{padding:14px}.beta-app .card-main .price{font-size:18px}.primary-cta{min-width:126px;padding:9px 10px;font-size:13.5px}.rate-table th{padding:10px 8px}.rate-table td{padding:13px 8px}.rate-table th:first-child{width:45%}.rate-table strong{font-size:13.5px}.rate-table .rate-amount{font-size:16px}.rate-table .cta{font-size:12px;padding:7px 0}.rate-table .meta{font-size:11px}.rate-table .table-area{display:none}.results-meta{font-size:11px}.results-meta span:last-child{text-align:right}.rest-facts{gap:12px}.card-actions{gap:10px}.card-actions .primary-cta{flex:1}.beta-app .fallback{padding:16px}.beta-app .sheet-body h2{font-size:20px}}
@media(max-width:360px){.card-main{flex-direction:column;align-items:flex-start!important}.card-main .primary-cta{align-self:stretch}.stay-condition strong{font-size:11px}.date-condition strong{font-size:12px}.masthead img{width:130px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.beta-tabs{scroll-margin-top:150px}.rate-table .rate-amount small{font-size:12px;font-weight:400}
.beta-app .mode-switch button{white-space:nowrap}
@media(max-width:360px){.beta-app .mode-switch{gap:6px}.area-filter select{max-width:115px}}
.utility-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:8px;padding:8px 0 12px;border-top:1px solid var(--line)}
.hotel-search{flex:1;min-width:80px}.hotel-search input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--line);border-radius:5px;background:white;padding:8px 12px;color:var(--ink);font:inherit;font-size:13.5px}
.utility-row select{min-width:0;width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit;font-size:12px;color:var(--heading)}
.beta-app footer{align-items:center;flex-direction:row;gap:8px 16px}
#explanation-toggle{margin-left:auto;min-height:44px;padding:4px;white-space:nowrap;cursor:pointer;color:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8d98a7}
#explanation-toggle:hover,#explanation-toggle[aria-pressed=true]{color:var(--gold)}
.hide-explanations .explanation{display:none!important}
.feed-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0;font-size:12px;color:var(--muted)}
.feed-toolbar button{min-height:44px;color:var(--ochre);text-decoration:underline;text-underline-offset:4px;flex-shrink:0;font-size:12px}
.more-facilities{width:100%;min-height:48px;background:var(--cream);border:1px solid var(--panel-line);border-radius:5px;color:var(--heading);margin:10px 0;font-size:13.5px}
.sauna-condition{margin-top:10px;font-size:12px;color:var(--ochre)}
.plan-option{border:1px solid var(--line);padding:12px;border-radius:7px;margin:8px 0}.plan-option h3{font-size:18px;margin:5px 0}.plan-option .price{margin:10px 0}.plan-option .cta{margin-top:12px}.plan-option>p{font-size:13.5px}
#rakuten-credit{padding:0 24px 24px;font-size:12px;text-align:center;color:var(--ochre)}
@media(max-width:767px){.utility-row{grid-template-columns:minmax(0,1fr) 140px}.beta-app footer>span{flex-basis:100%;order:2}.beta-app .search-controls{position:static}.feed-toolbar{align-items:flex-start}.sauna-condition{font-size:12px}}

/* 説明なし：同じデータと操作を、施設名・金額・状態中心の短い一覧にする。 */
.compact-copy{display:none}
.hide-explanations .expanded-copy{display:none!important}
.hide-explanations .compact-copy{display:inline}
.hide-explanations .section-intro,.hide-explanations section[role=tabpanel]>h3{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hide-explanations .masthead{padding:12px 20px}
.hide-explanations .stay-condition>span,.hide-explanations .date-condition>.mini-label,.hide-explanations .beta-tabs>button>span,.hide-explanations .result-card>.meta,.hide-explanations .card-topline>.area,.hide-explanations .result-card .price-label,.hide-explanations .result-card .secondary-price,.hide-explanations #online-content .price-text,.hide-explanations .rate-table .meta,.hide-explanations .fallback>div,.hide-explanations footer>span{display:none}
.hide-explanations .search-controls{padding:10px 20px 0}
.hide-explanations .conditions{margin-bottom:5px}
.hide-explanations .utility-row{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:6px;padding:6px 0 10px}
.hide-explanations .utility-row>*{min-width:0;width:100%}
.hide-explanations main{padding:0 20px 20px}
.hide-explanations .category-tabs{margin:12px 0 8px;gap:6px}
.hide-explanations .feed-toolbar{margin:0 0 4px;align-items:center}
.hide-explanations .results-meta{margin-bottom:8px;gap:8px}
.hide-explanations .result-card{padding:12px 14px;margin-bottom:8px}
.hide-explanations .result-card h4{font-size:16px;line-height:1.45;margin:0}
.hide-explanations #online-content .result-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center}
.hide-explanations #online-content .result-card h4{grid-column:1;grid-row:1}
.hide-explanations #online-content .card-topline{grid-column:1;grid-row:2;margin:0}
.hide-explanations #online-content .card-main{grid-column:2;grid-row:1 / 3;display:flex;align-items:center!important;flex-direction:row;gap:14px;margin:0}
.hide-explanations .status{font-size:11px;line-height:1.5;padding:0;border:0;background:none}
.hide-explanations .cheapest-plan{font-size:11px;line-height:1.5}
.hide-explanations .result-card .cta{min-width:0;padding:8px 12px;gap:4px;font-size:13px}
.hide-explanations #online-content .card-main .price{font-size:21px}
.hide-explanations .price small{font-size:11px}
.hide-explanations .compact-price-note{display:block;margin:10px 0;color:var(--muted);font-size:11px}
.hide-explanations .fallback{margin-top:12px;padding:0;background:none;align-items:stretch}
.hide-explanations .fallback>.cta{width:100%;justify-content:center;align-self:stretch;border:1px solid var(--panel-line);border-radius:5px;padding:10px}
.hide-explanations .rate-table td{padding:10px}
.hide-explanations .rate-table .cta{padding:7px 5px}
.hide-explanations .rate-table .note-badge{font-size:11px}
.hide-explanations #rest-content .result-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 20px;align-items:center}
.hide-explanations #rest-content .result-card h4{grid-column:1;grid-row:1}
.hide-explanations #rest-content .card-topline{grid-column:1;grid-row:2;margin:0}
.hide-explanations #rest-content .rest-facts{grid-column:1;grid-row:3;display:block;padding:0;margin:0;border:0;font-size:12px;color:var(--muted)}
.hide-explanations #rest-content .rest-facts span,.hide-explanations #rest-content .rest-facts>div+div{display:none}
.hide-explanations #rest-content .rest-facts strong{font-size:12px;font-weight:400}
.hide-explanations #rest-content .result-card>.price{grid-column:2;grid-row:1 / 3;text-align:right;font-size:21px}
.hide-explanations #rest-content .card-actions{grid-column:3;grid-row:1 / 3;margin:0;gap:8px;flex-wrap:nowrap}
.hide-explanations .other-facilities{margin-top:16px}
.date-search{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.date-search label,.date-search>span{font-size:12px;color:var(--muted)}
.date-search input{min-height:44px;min-width:0;max-width:100%;padding:7px 10px;border:1px solid var(--panel-line);border-radius:5px;background:white;color:var(--heading);font:inherit;font-size:14px}
.date-search .cta{min-width:0;font-size:13px}
.search-wait{font-size:12px;color:var(--muted);padding:10px 12px;min-height:44px;display:inline-flex;align-items:center}
.beta-app .mode-switch{gap:12px}
.beta-app[data-scene=future] .phone-helper{display:none}
.beta-app[data-scene=future] .beta-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.beta-app[data-overnight=true][data-step=online] .utility-row,
.beta-app[data-overnight=true][data-step=online] .area-filter{display:none}
.night-guide{border:1px solid var(--panel-line);border-top:3px solid var(--gold);border-radius:8px;background:var(--cream);padding:22px 24px;margin:12px 0 20px}
.night-period{font-size:24px;line-height:1.4;color:var(--heading);margin:0 0 8px}
.night-clock{display:flex;align-items:baseline;gap:9px;color:var(--muted);font-size:13px;margin-bottom:18px}
.night-clock strong{font-size:22px;color:var(--heading)}.night-clock>span:last-child{font-size:11px}
.night-stay{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:20px;line-height:1.6;color:var(--heading)}
.night-stay>span{color:var(--ochre)}.night-message{font-size:14px;margin:16px 0;color:var(--ink)}
.night-guide .primary-cta{margin-top:4px;justify-content:center;min-height:48px;padding:12px 18px}
.night-date-warning{border-left:3px solid var(--ochre);padding:8px 16px;margin:20px 0;background:white}
.night-date-warning>span{font-size:12px;color:var(--muted);display:block}.night-date-warning strong{font-size:28px;color:var(--heading);display:block}
.night-date-warning p{font-size:13px;margin-top:3px}.night-member{font-size:12px;color:var(--muted);margin-top:12px}
.night-member a{text-decoration:underline;text-underline-offset:3px;margin-left:8px}
@media(max-width:560px){.night-guide{padding:18px 16px}.night-stay{display:grid;gap:2px;font-size:18px}.night-stay>span{display:none}.night-stay>strong:last-child::before{content:'→ ';color:var(--ochre)}.night-guide .primary-cta{width:100%;font-size:14px}.night-date-warning{padding:8px 12px}.night-date-warning strong{font-size:26px}}
.hide-explanations .date-search{gap:7px;padding:8px 0}
.hide-explanations .date-search>span{font-size:11px}
@media(max-width:560px){
  .control-bottom{display:grid;grid-template-columns:1fr}
  .beta-app .mode-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
  .beta-app .mode-switch button{font-size:12px;padding:8px 2px}
  .area-filter{justify-content:flex-end;padding-bottom:4px}
  .date-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .date-search label{grid-column:1 / -1}
  .date-search input{grid-column:1;grid-row:2;width:100%}
  .date-search .cta{grid-column:2;grid-row:2}
  .date-search>span{grid-column:1 / -1;grid-row:3}
}
@media(max-width:767px){
  .hide-explanations .masthead{padding:10px 16px}
  .hide-explanations .search-controls{padding:8px 16px 0}
  .hide-explanations main{padding:0 16px 20px}
  .hide-explanations .utility-row{grid-template-columns:minmax(0,1fr) 140px}
  .hide-explanations .utility-row select{padding-left:7px;padding-right:18px}
  .hide-explanations .date-condition strong{font-size:12px}
  .hide-explanations .stay-condition strong{font-size:11px}
  .hide-explanations .result-card{padding:11px 12px}
  .hide-explanations .result-card h4{font-size:14.5px}
  .hide-explanations #online-content .result-card{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}
  .hide-explanations #online-content .result-card h4{grid-column:1 / -1}
  .hide-explanations #online-content .card-topline{grid-column:1 / -1;grid-row:2}
  .hide-explanations #online-content .card-main{grid-column:1 / -1;grid-row:3;gap:10px}
  .hide-explanations #online-content .card-main .price{font-size:19px}
  .hide-explanations #rest-content .result-card{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .hide-explanations #rest-content .result-card h4{grid-column:1 / -1}
  .hide-explanations #rest-content .result-card>.price{grid-column:1;grid-row:3;justify-content:flex-start;font-size:19px}
  .hide-explanations #rest-content .rest-facts{grid-column:1 / -1;grid-row:3}
  .hide-explanations #rest-content .card-actions{grid-column:2;grid-row:3}
  .hide-explanations #rest-content .card-actions .cta{flex:0 0 auto;justify-content:center;white-space:nowrap}
  .hide-explanations .rate-table th:first-child{width:47%}
  .hide-explanations .rate-table th,.hide-explanations .rate-table td{padding:9px 7px}
  .hide-explanations .rate-table .rate-amount{font-size:15px}
}

.rate-evidence-link{display:inline-block;font-size:12px;color:var(--ochre);text-decoration:underline;text-underline-offset:3px;margin:8px 0 14px}
.rate-reference-links{display:flex;flex-wrap:wrap;gap:0 20px}
.phone-base-rates{margin:0;display:grid;gap:10px}
.phone-base-rates dt{font-size:12px;line-height:1.5;color:var(--ink)}
.phone-base-rates dd{margin:2px 0 0;line-height:1.5}
.phone-price-kind{display:block;color:var(--ochre);font-size:11px;line-height:1.5;margin-bottom:8px}
.phone-price-unlisted{font-size:12px;color:var(--muted)}
.phone-rate-table{table-layout:fixed}
.phone-rate-table th:first-child{width:38%}
.phone-rate-table th:nth-child(2){width:38%}
.phone-rate-table th:nth-child(3){width:24%}
.phone-confirm-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 8px}
.phone-confirm-heading>span{white-space:nowrap}
#reset-all-phone-memos{min-height:44px;padding:4px 0;margin-left:auto;color:var(--ochre);font-size:11px;line-height:1.5;text-align:right;text-decoration:underline;text-underline-offset:3px}
#reset-all-phone-memos:disabled{color:var(--muted);opacity:.55;cursor:default;text-decoration:none}
#reset-all-phone-memos .short-reset-label{display:none}
.phone-memo-reset-result{margin:0 0 8px;font-size:12px;color:var(--muted)}
.phone-memo-reset-result[hidden]{display:none}
.phone-rate-table td{vertical-align:top}
.sheet-price .phone-base-rates{margin:12px 0}
.sheet-price .phone-base-rates>div{display:flex;align-items:center;justify-content:space-between;gap:14px}
.sheet-price .phone-base-rates dt{font-size:13.5px}
.sheet-price .phone-base-rates dd{margin:0}
.sheet-price .phone-base-rates strong{font-size:21px;color:var(--heading);white-space:nowrap}
.sheet-price .phone-base-rates small{font-size:13px;font-weight:400}
@media(max-width:767px){
  .phone-rate-table .cta{white-space:normal;line-height:1.5}
  .phone-rate-table td>strong{overflow-wrap:anywhere}
  .hide-explanations .phone-rate-table th:first-child{width:38%}
  .phone-rate-table .rate-amount{font-size:17px}
  .hide-explanations .phone-rate-table .rate-amount{font-size:17px}
  .phone-base-rates{gap:9px}
}

/* Standard room labels retain the complete Rakuten room and plan text underneath. */
.plan-standard{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-bottom:4px}
.plan-standard h3{margin:0;overflow-wrap:anywhere}
.plan-meal{display:inline-block;border:1px solid var(--line);border-radius:5px;background:var(--cream);color:var(--heading);padding:3px 9px;font-size:13px;line-height:1.6}
.rakuten-original{margin:0;padding:0;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
.rakuten-original>div+div{margin-top:4px}
.rakuten-original dt{display:inline;margin:0;color:var(--muted);font-size:12px;font-weight:400}
.rakuten-original dt::after{content:"："}
.rakuten-original dd{display:inline;margin:0;padding:0;color:var(--ink)}

.plan-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0}
.plan-price-row .price{margin:0;white-space:nowrap}
.plan-price-row .cta{min-width:0;flex-shrink:0;margin:0 0 0 auto;padding:9px 16px}
.rakuten-details{margin-top:4px;border-top:1px solid var(--line)}
.rakuten-details>summary{cursor:pointer;padding:11px 0;min-height:44px;box-sizing:border-box;color:var(--muted);font-size:13px;line-height:1.7}
.rakuten-details>summary:hover{color:var(--heading)}
.rakuten-details>summary:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
.sheet-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.sheet-tools .close-button{white-space:nowrap}
.plan-details-toggle{min-height:44px;padding:4px 10px;border:1px solid var(--panel-line);border-radius:5px;color:var(--muted);font-size:12px;white-space:nowrap}
.plan-details-toggle:hover{color:var(--heading);border-color:var(--ochre)}
.plan-details-toggle[aria-pressed=true]{color:var(--heading);border-color:var(--ochre);background:white}
.plan-details-toggle:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}
@media(max-width:480px){
  #beta-dialog .sheet-top{flex-wrap:wrap;gap:2px 12px}
  #beta-dialog .sheet-tools{margin-left:auto}
}

/* 最安プランへの予約と、全プランの比較を並べる。 */
.online-price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px}
.lowest-price-label{font-size:11px;color:var(--muted);white-space:nowrap}
.online-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex-shrink:0}
.online-action{display:flex;min-width:0}
.online-action .cta{width:100%;min-width:0;justify-content:center;white-space:nowrap}
.hide-explanations #online-content .card-main:has(.online-actions){gap:12px}
@media(min-width:768px){
  .online-actions{grid-template-columns:auto auto}
  .hide-explanations .online-price-line{max-width:190px}
}
@media(max-width:767px){
  .beta-app #online-content .card-main:has(.online-actions){flex-wrap:wrap;flex-direction:row;gap:8px}
  .card-main:has(.online-actions)>div:first-child{flex-basis:100%}
  .online-actions{width:100%}
  .online-action .cta{flex:1}
}

/* コンパクト表示でも検索ツールの目的が分かる短い導入。 */
.hide-explanations .intro{padding:4px 20px 14px}
.hide-explanations .intro h1{font:700 19px/1.5 "Noto Sans JP",sans-serif;letter-spacing:0}
.hide-explanations .intro .source-tag{display:none}
.hide-explanations .intro .compact-intro-summary{display:block;margin-top:4px;font-size:12px;color:#d7dee8}
.hotel-search{position:relative;min-width:0}
.facility-options{position:absolute;z-index:8;left:0;right:0;top:100%;margin:0;padding:4px;list-style:none;max-height:320px;overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid var(--panel-line);border-radius:6px;box-shadow:0 6px 18px rgba(7,24,39,.12)}
.facility-options [role=option]{padding:10px;min-height:44px;cursor:pointer;font-size:13px;line-height:1.6;border-radius:4px;color:var(--heading);overflow-wrap:anywhere}
.facility-options [role=option]:hover,.facility-options [aria-selected=true]{background:var(--cream);color:var(--ochre)}
.facility-options .no-facility{padding:10px;color:var(--muted);font-size:12px}
@media(max-width:767px){
  .hide-explanations .intro{padding:4px 16px 14px}
  .hide-explanations .intro h1{font-size:18px}
  .facility-options{right:auto;width:min(360px,calc(100vw - 40px));max-height:280px}
}

/* 出発駅と電車代。ブランドの既存色と文字サイズを引き継ぐ。 */
.fare-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 10px;padding:0 0 10px;align-items:center}
.fare-controls[hidden]{display:none}
.station-picker{position:relative;min-width:0}.station-picker input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:8px 12px;color:var(--ink);font:inherit;font-size:13px}
#locate-station{min-height:44px;border:1px solid var(--line);border-radius:5px;padding:7px 12px;font-size:12px;color:var(--heading);white-space:nowrap}
.fare-toggle{display:flex;align-items:center;gap:5px;font-size:12px;min-height:44px;white-space:nowrap}.fare-toggle input{accent-color:var(--ochre);width:16px;height:16px}.fare-toggle:has(input:disabled){color:var(--muted)}
#fare-status{grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.6;margin:0}#fare-status:empty{display:none}
.station-options{position:absolute;top:100%;left:0;right:0;z-index:40;list-style:none;margin:0;padding:4px;background:#fff;border:1px solid var(--panel-line);border-radius:5px;box-shadow:0 8px 20px #0618251a;max-height:300px;overflow:auto;min-width:240px}
.station-options[hidden]{display:none}.station-options li{padding:8px;min-height:44px;cursor:pointer;font-size:13px;line-height:1.5}.station-options li strong{font-weight:400}.station-options li small{display:block;color:var(--muted);font-size:11px}.station-options li[aria-selected=true],.station-options li:hover{background:var(--cream)}
.fare-info{font-size:11px;color:var(--muted);line-height:1.7;margin-top:8px;grid-column:1/-1}.fare-info>p{margin:0 0 2px}.fare-route summary{cursor:pointer;color:var(--ochre)}.fare-route[open]{padding:8px 0}.fare-route ol{padding-left:20px;margin:6px 0}.fare-route li small{display:block}.fare-route a{text-decoration:underline}.fare-last-mile{color:var(--ochre)}.fare-breakdown{font-size:11px;color:var(--muted);grid-column:1/-1;margin-top:6px}
.hide-explanations #online-content .result-card>.fare-info,.hide-explanations #rest-content .result-card>.fare-info{grid-column:1/-1;grid-row:auto;margin-top:0}.plan-list+.fare-info{margin-top:16px}
@media(max-width:480px){.fare-controls{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.fare-toggle{grid-column:1/-1;min-height:28px}#locate-station{padding:7px 10px}.station-options{max-width:calc(100vw - 36px)}}

/* Sharing is a separate display preference; compact mode retains report provenance. */
#sharing-toggle{min-height:44px;padding:4px;white-space:nowrap;cursor:pointer;color:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8d98a7}
#sharing-toggle:hover,#sharing-toggle[aria-pressed=true]{color:var(--gold)}
.sharing-status{font-size:11px;color:var(--muted);margin:0 0 8px}
.call-script p{margin:0}
.call-script .call-followup{margin-top:8px;font-size:12px;color:var(--muted)}
.phone-call{justify-content:center;gap:8px}
.phone-icon{width:1.1em;height:1.1em;fill:currentColor;flex-shrink:0}
.phone-contact-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin:18px 0}
.phone-contact-row .phone-number{margin:0;white-space:nowrap}
.phone-contact-row .phone-call{margin-left:auto;white-space:nowrap;flex-shrink:0}
.memo-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:6px}
.memo-header>strong{white-space:nowrap}
.memo-header .memo-buttons{margin:0 0 0 auto}
.memo-header .memo-buttons button{padding:8px 10px;white-space:nowrap}
.memo-tools{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0 12px}
.memo-tools p{margin:0}
#reset-memo{min-height:44px;margin-left:auto;padding:4px 0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}
#reset-memo:hover{color:var(--ochre)}
#reset-memo:disabled{opacity:.5;cursor:default;text-decoration:none}
@media(max-width:480px){
  #reset-all-phone-memos .full-reset-label{display:none}
  #reset-all-phone-memos .short-reset-label{display:inline}
  .phone-contact-row{gap:8px}
  .phone-contact-row .phone-number{font-size:18px}
  .phone-contact-row .phone-call{min-width:0;padding:9px 10px}
  .memo-header{gap:8px}
  .memo-header>strong{font-size:14px}
}
.shared-report{display:block;font-size:11px;line-height:1.5;color:var(--ochre);margin-top:6px;overflow-wrap:anywhere;white-space:pre-line}
.shared-report[hidden],.sharing-status[hidden],#shared-form[hidden],#withdraw-phone[hidden]{display:none}
a.phone-price-kind{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
#shared-form button:disabled{opacity:.5;cursor:default}
#shared-form #share-result{min-height:20px}

.rest-day-label{font-size:12px;color:var(--muted);font-weight:400}
#rest-content .card-topline{justify-content:flex-start;gap:8px;flex-wrap:wrap}

#rest-content .rest-price{display:flex;align-items:baseline;gap:8px}
#rest-content .rest-price .rest-day-label{flex-shrink:0}
.hide-explanations #rest-content .rest-price{justify-content:flex-end}

#rest-content .rest-summary{margin:6px 0;color:var(--muted);font-size:13px;line-height:1.6}
#rest-content .rest-summary .status{margin-right:8px;color:var(--ochre);font-size:inherit;background:none;border:0;padding:0}
.hide-explanations #rest-content .rest-summary{grid-column:1;grid-row:2;margin:0;font-size:12px}
@media(max-width:767px){
  .hide-explanations #rest-content .rest-summary{grid-column:1/-1;grid-row:2}
}

@media(max-width:379px){
  .hide-explanations #rest-content .result-card>.price{grid-column:1/-1;grid-row:3}
  .hide-explanations #rest-content .card-actions{grid-column:1/-1;grid-row:4}
}

#explanation-toggle[hidden]+#sharing-toggle{margin-left:auto}
@media(max-width:767px){.beta-app[data-overnight=true] .conditions{flex-wrap:wrap}.beta-app[data-overnight=true] .date-condition{flex-basis:100%;white-space:normal}.beta-app[data-overnight=true] #stay-dates{line-height:1.7}}
