/* FAQ only. Match the Nagoya City Club theme without changing other pages. */
html:has(#sanko-faq-page) { overflow-x: clip; }
#sanko-faq-page { --faq-offset: 125px; --faq-gold: #2e4941; --faq-line: #ccc; color: #1c1c1c; }
#sanko-faq-page .sanko-faq-layout { display: grid; grid-template-columns: 321px minmax(0,1fr); gap: 60px; align-items: start; margin-bottom: 100px; }
#sanko-faq-page .sanko-faq-nav { align-self: stretch; padding-right: 60px; border-right: 1px solid var(--faq-line); }
#sanko-faq-page .sanko-faq-nav-inner { position: sticky; top: var(--faq-offset); max-height: calc(100dvh - var(--faq-offset) - 20px); overflow-y: auto; }
#sanko-faq-page .sanko-faq-nav ol { list-style: none; padding: 0; margin: 0; border-top: 0; }
#sanko-faq-page .sanko-faq-nav a { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px 10px; border-bottom: 1px solid var(--faq-line); font-size: 1.3rem; color: #1c1c1c; text-decoration: none; position: relative; background-color: transparent; transition: color 240ms ease-in-out, border-bottom-color 240ms ease-in-out; }
#sanko-faq-page .sanko-faq-nav a > span:last-child { margin-left: auto; width: 6px; height: 6px; flex: 0 0 6px; font-size: 0; border-right: 1.5px solid #3e5c53; border-top: 1.5px solid #3e5c53; transform: rotate(45deg); }
#sanko-faq-page .sanko-faq-index { color: #3e5c53; font: 1.5rem "garamond-premier-pro", Georgia, serif; }
#sanko-faq-page .sanko-faq-nav a:hover { color: #2e4941; }
#sanko-faq-page .sanko-faq-nav a[aria-current="location"] { background: transparent; border-bottom-color: #3e5c53; }
#sanko-faq-page .sanko-faq-section { margin-bottom: 58px; scroll-margin-top: var(--faq-offset); }
#sanko-faq-page .sanko-faq-section h3 { display: flex; align-items: baseline; gap: 16px; margin: 0; padding: 0 0 18px; border-bottom: 1px solid #3e5c53; font: 500 2.2rem/1.6 'Noto Serif JP', serif; text-align: left; }
#sanko-faq-page .sanko-faq-section h3 span { color: #3e5c53; font: 400 2.3rem/1.4 "garamond-premier-pro", Georgia, serif; }
#sanko-faq-page .sanko-faq-item { border-bottom: 1px solid var(--faq-line); scroll-margin-top: var(--faq-offset); }
#sanko-faq-page summary { cursor: pointer; display: grid; grid-template-columns: 30px minmax(0,1fr) 14px; align-items: baseline; gap: 13px; padding: 23px 12px; list-style: none; font-size: 1.4rem; line-height: 1.8; }
#sanko-faq-page summary::-webkit-details-marker { display: none; }
#sanko-faq-page summary:hover > span:nth-child(2) { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 1px; }
#sanko-faq-page .sanko-faq-q, #sanko-faq-page .sanko-faq-a { font: 500 2.2rem/1.3 "garamond-premier-pro", Georgia, serif; }
#sanko-faq-page .sanko-faq-a { color: #3e5c53; padding-top: 16px; }
#sanko-faq-page .sanko-faq-chevron { width: 7px; height: 7px; border-right: 1.5px solid #3e5c53; border-bottom: 1.5px solid #3e5c53; transform: rotate(45deg); align-self: center; }
#sanko-faq-page details[open] .sanko-faq-chevron { transform: rotate(225deg); }
#sanko-faq-page .sanko-faq-answer { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 13px; padding: 0 12px 24px; font-size: 1.4rem; line-height: 2; overflow-wrap: anywhere; }
#sanko-faq-page .sanko-faq-answer > div { background: #fff; padding: 18px 24px; }
#sanko-faq-page .sanko-faq-answer p { margin: 0 0 12px; }
#sanko-faq-page .sanko-faq-answer p:last-child { margin-bottom: 0; }
#sanko-faq-page .sanko-faq-answer a { color: #2e4941; text-decoration: underline; text-underline-offset: 3px; }
#sanko-faq-page .sanko-faq-answer ul, #sanko-faq-page .sanko-faq-answer ol { padding-left: 1.5em; }
#sanko-faq-page .sanko-faq-answer img { max-width: 100%; height: auto; }
#sanko-faq-page .sanko-faq-answer table { display: block; max-width: 100%; overflow-x: auto; }
#sanko-faq-page a:focus-visible, #sanko-faq-page summary:focus-visible { outline: 2px solid #2e4941; outline-offset: 4px; }
/* Width and input type both matter: tablets must not inherit desktop sticky navigation. */
@media (max-width: 1080px), (hover: none), (pointer: coarse) {
    #sanko-faq-page .sanko-faq-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
    #sanko-faq-page .sanko-faq-nav { padding-right: 0; border-right: 0; }
    #sanko-faq-page .sanko-faq-nav-inner { position: static; max-height: none; overflow: visible; }
    #sanko-faq-page .sanko-faq-nav ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    #sanko-faq-page .sanko-faq-nav a { height: 100%; }
}
@media (max-width: 812px) {
    #sanko-faq-page { --faq-offset: 85px; }
    #sanko-faq-page .sanko-faq-layout { margin-bottom: 55px; }
    #sanko-faq-page .sanko-faq-nav a { font-size: 1.2rem; gap: 8px; padding: 12px 6px; min-height: 58px; }
    #sanko-faq-page .sanko-faq-section { margin-bottom: 38px; }
    #sanko-faq-page .sanko-faq-section h3 { font-size: 1.98rem; gap: 12px; }
    #sanko-faq-page summary { padding: 20px 2px; gap: 9px; grid-template-columns: 26px minmax(0,1fr) 12px; }
    #sanko-faq-page .sanko-faq-answer { grid-template-columns: 26px minmax(0,1fr); padding: 0 2px 20px; gap: 9px; }
    #sanko-faq-page .sanko-faq-answer > div { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #sanko-faq-page *, #sanko-faq-page *::before, #sanko-faq-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep the original restaurant header/title design; allow FAQ sticky navigation. */
body:has(#sanko-faq-page) #wrapper { overflow: visible; }
#sanko-faq-page .sanko-faq-preview-note { margin: 0 auto 32px; padding: 16px 24px; max-width: 1180px; background: #faf5e9; font-size: 1.3rem; line-height: 1.8; }
#sanko-faq-page .sanko-faq-layout { margin-top: 0; }
@media (min-width: 813px) and (max-width: 1080px) {
    body:has(#sanko-faq-page) header { min-width: 0; }
}
#sanko-faq-page .sanko-faq-section h3::after { content: none; }

/* Nagoya's dark title band, pale gray content and deep green details. */
#sanko-faq-page { background: #f2f3f4; }
#sanko-faq-page > .container:first-child { background: #1a1a1a; }
#sanko-faq-page .page-ttl h1 { color: #fff; font: 500 5.4vw/1.4 'Noto Serif JP', serif; }
#sanko-faq-page .page-ttl h1 span { display: block; margin-top: 10px; font: 500 1.2rem/1 'garamond-premier-pro', Georgia, serif; }
#sanko-faq-page .sanko-faq-cover { background-size: cover; background-position: center; }
#sanko-faq-page .sanko-faq-layout { width: calc(100% - 80px); max-width: 1180px; padding: 30px 0 0; margin-bottom: 0; color: #1c1c1c; }
#sanko-faq-page .sanko-faq-preview-note { margin: 0 auto; }
#sanko-faq-page .sanko-faq-section h3 { color: #1c1c1c; }
@media (min-width: 813px) {
    #sanko-faq-page .page-ttl h1 { font-size: 2.5rem; letter-spacing: 1px; }
    #sanko-faq-page .page-ttl h1 span { font-size: 1.4rem; margin-top: 20px; letter-spacing: 2px; }
}
@media (max-width: 812px) {
    #sanko-faq-page .sanko-faq-layout { width: 92%; padding: 15px 0 0; }
}

/* Match the existing guide.css FAQ heading and accordion typography. */
#sanko-faq-page .sanko-faq-body { padding-top: 72px; padding-bottom: 60px; }
#sanko-faq-page .sanko-faq-heading { font: 500 6vw/1.2 'Noto Serif JP', serif; text-align: center; position: relative; margin: 0 0 45px; color: #1c1c1c; }
#sanko-faq-page .sanko-faq-heading span { display: block; font: 600 3.4vw/1.2 'Noto Serif JP', serif; letter-spacing: 1px; margin-top: 10px; }
#sanko-faq-page .sanko-faq-heading::before, #sanko-faq-page .sanko-faq-heading::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); }
#sanko-faq-page .sanko-faq-heading::before { background: url('../img/common/bg_h3_blk.svg') center / contain no-repeat; width: 26px; height: 28px; top: -42px; }
#sanko-faq-page .sanko-faq-heading::after { background: #000; width: 1px; height: 20px; bottom: -34px; }
#sanko-faq-page .sanko-faq-preview-note { margin-bottom: 20px; color: #544b3d; }
#sanko-faq-page .sanko-faq-item { padding: 15px 0 10px; border-bottom-color: #ccc; }
#sanko-faq-page summary { padding: 0 20px 0 3px; grid-template-columns: 25px minmax(0,1fr); gap: 7px; font-size: 1.6rem; font-weight: 300; line-height: 1.8; color: #000; }
#sanko-faq-page .sanko-faq-q, #sanko-faq-page .sanko-faq-a { font: 700 5vw/1.2 'garamond-premier-pro', Georgia, serif; }
#sanko-faq-page .sanko-faq-q { color: #000; }
#sanko-faq-page .sanko-faq-a { color: #666; padding-top: 5px; }
#sanko-faq-page .sanko-faq-chevron { display: none; }
#sanko-faq-page .sanko-faq-answer { padding: 0 20px 0 4px; margin-top: 5px; grid-template-columns: 20px minmax(0,1fr); gap: 6px; font-size: 1.4rem; line-height: 1.8; color: #3c3c3c; }
#sanko-faq-page .sanko-faq-answer > div { background: #fff; padding: 12px 15px; }
@media (min-width: 813px) {
    #sanko-faq-page .sanko-faq-body { padding-top: 115px; padding-bottom: 110px; }
    #sanko-faq-page .sanko-faq-heading { font-size: 2.4rem; margin-bottom: 55px; }
    #sanko-faq-page .sanko-faq-heading span { font-size: 1.2rem; letter-spacing: 3px; }
    #sanko-faq-page .sanko-faq-heading::before { top: -45px; }
    #sanko-faq-page .sanko-faq-heading::after { height: 30px; bottom: -45px; }
    #sanko-faq-page .sanko-faq-item { padding: 30px; }
    #sanko-faq-page summary { padding: 0; grid-template-columns: 30px minmax(0,1fr); gap: 20px; font-size: 1.8rem; font-weight: 500; }
    #sanko-faq-page .sanko-faq-q, #sanko-faq-page .sanko-faq-a { font-size: 3rem; }
    #sanko-faq-page .sanko-faq-a { padding-top: 4px; }
    #sanko-faq-page .sanko-faq-answer { padding: 0; margin-top: 20px; grid-template-columns: 30px minmax(0,1fr); gap: 20px; font-size: 1.6rem; }
    #sanko-faq-page .sanko-faq-answer > div { padding: 20px 30px; }
}
