/* Shared article, manga and store information improvements. */
.content-guide { max-width:1040px; margin:0 auto; padding:32px 24px 150px; color:#433e36; line-height:1.85; }
.content-guide *, .content-guide *::before, .content-guide *::after { box-sizing:border-box; }
.content-guide h2 { font-size:1.45rem; line-height:1.55; margin:1.8em 0 .65em; }
.content-guide h3 { font-size:1.08rem; line-height:1.65; margin:0 0 .5em; }
.content-guide p { margin:0 0 1em; }
.content-guide a { color:#785a2c; text-underline-offset:.2em; }
.content-guide a:hover { color:#493819; }
.content-guide :focus-visible { outline:3px solid #806235; outline-offset:4px; }
.content-guide [hidden] { display:none !important; }
.guide-kicker { color:#806235; font-size:.8rem; letter-spacing:.1em; }
.guide-lead { max-width:760px; margin-bottom:28px; }
.guide-featured { background:#f5f0e7; border-radius:12px; padding:24px; margin:24px 0 32px; }
.guide-featured h2 { margin-top:0; }
.guide-links { display:flex; flex-wrap:wrap; gap:12px 24px; padding:0; list-style:none; }
.guide-links a { display:inline-block; padding:6px 0; font-weight:600; }
.guide-featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; padding:0; }
.guide-featured-grid a { display:block; height:100%; padding:18px; background:white; border:1px solid #e3d9c9; border-radius:8px; text-decoration:none; }
.guide-featured-grid strong { display:block; margin-bottom:7px; }
.guide-featured-grid span { font-size:.85rem; color:#665d51; }
.article-controls { border-top:1px solid #ded5c8; padding-top:24px; margin-top:28px; }
.article-fields { display:flex; flex-wrap:wrap; gap:16px; margin:18px 0; }
.article-fields label { display:flex; flex-direction:column; gap:6px; font-size:.85rem; font-weight:600; }
.article-fields label:first-child { flex:1 1 300px; }
.article-fields input, .article-fields select { min-width:0; max-width:100%; border:1px solid #b7a68c; border-radius:6px; background:white; color:#433e36; padding:12px; font:inherit; font-size:16px; }
.article-categories { display:flex; flex-wrap:wrap; gap:8px; }
.article-categories button, .article-more { cursor:pointer; border:1px solid #b7a68c; border-radius:24px; padding:9px 15px; color:#5a4830; background:white; font:inherit; font-size:.85rem; }
.article-categories button[aria-pressed=true] { color:white; background:#806235; border-color:#806235; }
.article-count { font-size:.85rem; color:#6e6558; margin:16px 0 !important; }
.article-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.article-card { min-width:0; border:1px solid #e3d9c9; background:#fff; border-radius:10px; overflow:hidden; }
.article-card > a { display:block; height:100%; padding:22px; text-decoration:none; color:inherit; }
.article-card > a:hover { background:#faf7f1; }
.article-card time, .article-card .article-tag { font-size:.75rem; color:#776a57; }
.article-card h3 { margin:9px 0; }
.article-card p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:.87rem; margin-bottom:0; color:#635d54; }
.article-more { display:block; margin:28px auto 0; padding:12px 30px; }
.article-empty { padding:24px; background:#f5f0e7; border-radius:8px; }
.rank-number { font-size:.85rem; font-weight:700; color:#806235; }
.rank-note { font-size:.8rem; color:#766d60; }
.manga-guide { max-width:880px; }
.manga-pages { max-width:768px; margin:28px auto; }
.manga-page { margin:0 0 24px; position:relative; }
.manga-page img { display:block; width:100%; height:auto; }
.manga-page figcaption { text-align:right; color:#817565; font-size:.75rem; padding-top:4px; }
.manga-page-end { display:block; height:1px; }
.article-answer { background:#f5f0e7; border-left:4px solid #a0814b; padding:20px 24px; margin:24px 0; }
.article-reading { max-width:780px; margin:0 auto; }
.article-reading p, .article-reading li { line-height:1.95; }
.article-reading .article-hero img { width:100%; height:auto; border-radius:10px; }
.article-reading .article-meta { font-size:.8rem; color:#746a5d; }
.article-toc { background:#faf7f1; padding:20px 26px; border-radius:10px; }
.article-toc ol { padding-left:1.4em; margin-bottom:0; }
.store-table { border-collapse:collapse; width:100%; font-size:.95rem; }
.store-table th, .store-table td { text-align:left; padding:16px 12px; vertical-align:top; border-bottom:1px solid #e3d9c9; overflow-wrap:anywhere; }
.store-table th { width:27%; }
@media (max-width:600px) {
 .content-guide { padding:24px 18px 155px; }
 .guide-featured { padding:19px; }
 .guide-featured-grid, .article-grid { grid-template-columns:1fr; }
 .article-card > a { padding:19px; }
 .content-guide h2 { font-size:1.25rem; }
 .manga-guide { padding-left:12px; padding-right:12px; }
 .store-table th, .store-table td { padding:12px 5px; font-size:.87rem; }
}

.page-header.guide-page-header { max-width:828px; padding:38px 24px 0 !important; margin:0 auto; color:#433e36; }
.page-header.guide-page-header h1 { font-size:clamp(1.4rem,3.5vw,2rem) !important; line-height:1.6 !important; margin:0 0 12px; }
.guide-page-header .page-header-en { color:#806235; font-size:.8rem; }
@media(max-width:600px) { .page-header.guide-page-header { padding:30px 18px 0 !important; } }

@media(max-width:600px) {
 .footer-info-grid { grid-template-columns:minmax(0,1fr); }
 .footer-info-grid .info-item, .footer-insta-container { min-width:0; }
 .footer-insta-container .instagram-media { min-width:0 !important; max-width:100% !important; width:100% !important; box-sizing:border-box; }
 .footer-map-container iframe { max-width:100%; }
}

/* Booking questions: one compact summary using existing visual language. */
.booking-facts h2 { margin:0 0 18px; font-size:1.2rem; line-height:1.6; }
.booking-facts dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; margin:0 0 20px; }
.booking-facts dt { color:#785a2c; font-size:.85rem; font-weight:700; margin-bottom:5px; }
.booking-facts dd { margin:0; font-size:.95rem; line-height:1.8; }
.booking-facts a { color:#785a2c; text-underline-offset:.2em; }
.booking-facts p { margin:0; line-height:1.8; }
@media(max-width:600px) { .booking-facts dl { grid-template-columns:1fr; gap:16px; } }
