/* Reading rhythm: colored paper groups explain the role of each block. */
:root{--reading-blue:#155789;--reading-blue-paper:#eaf3fa;--reading-ochre:#795215;--reading-cream:#fff3d2;--reading-green:#345e4a;--reading-ink:#303b42}
.stay-recommend{scroll-margin-top:100px}
.stay-recommend>h2{margin-bottom:18px}
.stay-recommend .stay-lead{max-width:72ch;margin:0 0 25px;line-height:1.85;color:#475561}
.stay-location-card{--note-accent:var(--reading-blue);--note-paper:var(--reading-blue-paper);--note-line:#b3cfe0;min-width:0;padding:24px;border:1px solid var(--note-line);border-top:5px solid var(--note-accent);border-radius:3px 3px 13px 3px;background-color:var(--note-paper);background-image:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.22) 4px 5px);box-shadow:3px 4px 0 #173f5910;color:var(--reading-ink)}
.stay-location-card[data-stay-priority=alternative]{--note-accent:var(--reading-ochre);--note-paper:var(--reading-cream);--note-line:#decca0}
.stay-location-card>.category{display:inline-block;padding:4px 10px;background:var(--note-accent);color:white;border-radius:3px;font-size:.875rem;font-weight:600;line-height:1.6}
.stay-location-card h3{font-size:1.3rem;color:var(--note-accent);margin:17px 0 13px;line-height:1.5}
.stay-location-card .stay-reason{font-size:1rem;line-height:1.85;margin:0 0 20px;color:var(--reading-ink)}
.stay-location-card .stay-station{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 13px;align-items:baseline;padding:14px 0;border-block:1px dashed var(--note-line);margin:0 0 20px}
.stay-station>span{font-size:.875rem;color:var(--note-accent);font-weight:600;white-space:nowrap}
.stay-station>strong{font-size:1rem;line-height:1.65;color:var(--note-accent);word-break:keep-all;overflow-wrap:anywhere}
.stay-location-card .stay-caution{padding:16px;background:#fffdf6c7;border-radius:4px;margin-bottom:12px}
.stay-caution>strong{display:block;font-size:.875rem;color:#75513b;margin-bottom:8px}
.stay-location-card .stay-caution p{margin:0;font-size:1rem;line-height:1.85;color:#48433e}
.stay-location-card>.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--note-accent);font-size:.875rem}
.stay-location-card details{margin-top:6px;padding-top:10px;border-top:1px dashed var(--note-line);font-size:.875rem;color:#475561}
.stay-location-card details summary{cursor:pointer;min-height:32px;padding-block:4px}
.stay-location-card details a{display:block;padding:7px 0;color:var(--note-accent);text-decoration:underline;text-underline-offset:3px}
.stay-recommend .stay-variant-note{margin:18px 0 32px;line-height:1.8}
.stay-recommend .hotel-pairs{padding-top:27px;border-top:1px dashed #b9cbd5;margin-top:28px}
.hotel-pairs>h2{margin-bottom:14px}
.hotel-pairs>p{margin-bottom:24px;line-height:1.85;color:#475561;max-width:72ch}
.hotel-pairs .stay-area{background:#fffdf8;border-radius:4px;border-top:4px solid #537965}
.hotel-pairs .stay-area[data-hotel-tier="고급형"]{border-top-color:#9b7534}
.hotel-pairs .stay-area>.category{color:#345e4a;font-size:.875rem;font-weight:700}
.hotel-pairs .stay-area[data-hotel-tier="고급형"]>.category{color:#795215}
/* Practical notes form short, recognizable pauses within the itinerary. */
:is(.article,.daytrip-body,.day-panel,.day-content) .case,body[data-city] .case{margin:20px 0;padding:22px 24px;border:0;border-left:3px solid #91b5ce;background:#edf4f8;border-radius:0 5px 5px 0}
body[data-city] .case:nth-of-type(even){background:#fff5dc;border-left-color:#d1b877}
body[data-city] .case h3{color:#205e85;margin-bottom:12px}
body[data-city] .case:nth-of-type(even) h3{color:#795215}
body[data-city] .case p{color:#37424a;line-height:1.85}
.rail-note{border:1px solid #b6ccdc;border-left:4px solid #34759e;background-color:#eaf3fa;background-image:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff33 4px 5px);border-radius:0 5px 5px 0;padding:22px 24px;margin:24px 0}
.rail-note h3{color:#155789;margin-bottom:13px}
.rail-note p{color:#344959}
.day-tip{background:#edf3e8;border:1px solid #c6d6bd;border-left:4px solid #537746;border-radius:0 5px 5px 0;padding:20px 24px;margin:24px 0;color:#344c37}
.day-tip>strong{display:block;color:#355b36;margin-bottom:10px}
.day-tip p{margin:0;line-height:1.85}
.skip-note{background:#fff2d3;border-left:4px solid #bc9446;border-radius:0 5px 5px 0;padding:20px 24px;margin:24px 0;color:#574931}
.skip-note>strong,.skip-note>h3{display:block;color:#775420;margin-bottom:10px}
.skip-note p{margin:0;line-height:1.85}
.movement{padding:16px 20px;background:#eaf0f5;border-radius:5px;color:#2f5069;line-height:1.85;margin:22px 0}
.movement svg{flex-shrink:0}
/* Separate food, souvenirs, and walking notes inside the existing folders. */
.area-content .area-two{gap:18px;margin:24px 0}
.area-two>section{padding:20px;background:#fff1d3;border-top:3px solid #bd9244;min-width:0;border-radius:3px}
.area-two>section+section{background:#eaf3f7;border-top-color:#4c839d}
.area-content .area-two h3{margin:0 0 14px;color:#795215}
.area-content .area-two>section+section h3{color:#215d7b}
.area-content .area-two p{margin:0;color:#3b4449}
.area-content .area-walk{background:#edf3e8;border-left:3px solid #587b45;padding:18px 20px;margin:24px 0;border-radius:0 4px 4px 0}
.area-content .area-walk h3{margin:0 0 12px;color:#345a38}
.area-content .area-note{padding:15px 18px;background:#f4eee3;border-left:2px solid #b49a72;color:#63533c}
/* Keep themes visually distinct while retaining the existing booking buttons. */
.tokyo-guide .tokyo-note-card{border-top:4px solid #397598;background:#f3f8fa}
.tokyo-guide #gardens .tokyo-note-card{border-top-color:#567844;background:#f1f6ec}
.tokyo-guide #museums .tokyo-note-card{border-top-color:#746080;background:#f4f0f6}
.tokyo-guide #family .tokyo-note-card{border-top-color:#b18434;background:#fff7e1}
.tokyo-guide .tokyo-note-card>strong{display:block;color:#245c7e;line-height:1.75;margin:12px 0 16px}
.tokyo-guide #gardens .tokyo-note-card>strong{color:#3b613e}
.tokyo-guide #museums .tokyo-note-card>strong{color:#665171}
.tokyo-guide #family .tokyo-note-card>strong{color:#795215}
.tokyo-guide .tokyo-note-card>.area-note{font-size:.9375rem;padding:15px;background:#fffdf8b8;border-left:2px solid #b5a483;line-height:1.85;color:#5c513f}
.guide-fold-body>p:first-child{padding:17px 20px;background:#edf3f7;border-left:3px solid #809fb7;color:#34576f;margin-bottom:24px}
.guide-fold-body>ul{padding:8px 20px 8px 38px;border:1px solid #dfd3b9;background:#fff7e2;border-radius:4px}
@media(max-width:700px){
 .booking-disclosure{font-size:.75rem;line-height:1.65;letter-spacing:-.015em}
 .stay-location-card{padding:21px 18px}
 .stay-location-card h3{font-size:1.25rem}
 .stay-location-card .stay-caution{padding:14px}
 .stay-recommend .stay-lead{margin-bottom:22px}
 body[data-city] .case,.rail-note,.day-tip,.skip-note{padding:19px 18px;margin:20px 0}
 .area-content .area-two{gap:16px}
 .area-two>section{padding:18px}
 .movement{padding:16px}
}
@media print{.stay-location-card,.area-two>section,.rail-note,.day-tip,.skip-note{break-inside:avoid;box-shadow:none}}
