/* Yamaguchi Motors — tour detail pages in Japanese Minimal Automotive (Phase 7). Replaces premium-detail.css. Depends on jma-hub.css tokens. */
.yj-detail{padding-bottom:40px}
.yj-crumb{padding:20px 24px 0;font-family:var(--yj-sans);font-size:.8125rem;letter-spacing:0;text-transform:none;color:var(--yj-muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.yj-crumb a{color:var(--yj-gold);text-decoration:none}

/* hero gallery */
.yj-dhero{padding-top:20px}
.yj-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:8px;position:relative}
.yj-gallery figure{margin:0;overflow:hidden;background:var(--yj-paper-2);border:1px solid var(--yj-line)}
.yj-gallery figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.yj-gallery figure:hover img{transform:scale(1.02)}
.yj-gmain{grid-row:1/3}
.yj-gbtn{position:absolute;right:12px;bottom:12px;font-family:var(--yj-sans);font-size:.875rem;font-weight:700;letter-spacing:0;text-transform:none;background:#fff;color:var(--yj-ink);border:1px solid var(--yj-line);padding:10px 14px;min-height:44px;cursor:pointer;border-radius:3px}
.yj-gbtn:hover{background:var(--yj-ink);color:#fff;border-color:var(--yj-ink)}
@media(max-width:900px){.yj-gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px}.yj-gmain{grid-column:1/3;grid-row:1}.yj-gallery figure:nth-child(n+4){display:none}}

.yj-titlerow{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;padding:32px 0 20px;border-bottom:1px solid var(--yj-line)}
.yj-detail h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.08;margin:12px 0 0;letter-spacing:-.035em}
.yj-pitch{font-size:1.125rem;color:var(--yj-muted);max-width:64ch;margin:16px 0 0}
.yj-facts{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center;margin-top:18px;font-family:var(--yj-sans);font-size:.9375rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-text)}
.yj-facts i{color:var(--yj-gold);font-style:normal;font-size:.5rem}
.yj-share{font-family:var(--yj-sans);font-size:.9375rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-text);border:1px solid var(--yj-line);padding:12px 18px;min-height:44px;text-decoration:none;white-space:nowrap;border-radius:3px;display:inline-flex;align-items:center}
.yj-share:hover{border-color:var(--yj-ink)}

/* section nav */
.yj-dnav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--yj-line)}
.yj-dnav .yj-wrap{display:flex;gap:24px;align-items:center;overflow-x:auto;white-space:nowrap;padding:0 24px;scrollbar-width:none}
.yj-dnav .yj-wrap::-webkit-scrollbar{display:none}
.yj-dnav a{font-family:var(--yj-sans);font-size:.9375rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-muted);text-decoration:none;padding:14px 0;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.yj-dnav a:hover{color:var(--yj-gold);border-bottom-color:var(--yj-gold)}
.yj-dnav-book{margin-left:auto;background:var(--yj-red);color:#fff !important;padding:10px 18px !important;border-radius:3px;border-bottom:0 !important;font-weight:700 !important}
.yj-dnav-book:hover{background:var(--yj-red-2)}

/* layout */
.yj-dlayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:40px;align-items:start}
@media(max-width:1000px){.yj-dlayout{grid-template-columns:1fr}.yj-book{position:static}}
.yj-keyfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:transparent;border:1px solid var(--yj-line)}
.yj-keyfacts article{background:var(--yj-card);padding:18px 18px 16px;border-right:1px solid var(--yj-line)}
.yj-keyfacts article:last-child{border-right:0}
.yj-keyfacts small{display:block;font-family:var(--yj-sans);font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-muted)}
.yj-keyfacts strong{display:block;font-family:var(--yj-sans);font-weight:700;font-size:1.125rem;margin:6px 0 2px;line-height:1.2;font-variant-numeric:tabular-nums}
.yj-keyfacts span{font-size:.875rem;color:var(--yj-muted)}
@media(max-width:700px){.yj-keyfacts{grid-template-columns:1fr 1fr}.yj-keyfacts article:nth-child(2n){border-right:0}.yj-keyfacts article:nth-child(-n+2){border-bottom:1px solid var(--yj-line)}}
.yj-routenote{margin-top:24px;padding:20px 24px;border:1px solid var(--yj-line);border-left:4px solid var(--yj-gold);background:var(--yj-paper-2)}
.yj-routenote p:not(.yj-k){margin:8px 0 0;font-size:1rem}

.yj-dsec{padding:56px 0 0}
.yj-dsec h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.12;margin-top:12px}
.yj-note{color:var(--yj-muted);font-size:.9375rem;margin:14px 0 0;max-width:60ch}
.yj-prose{margin-top:20px;font-size:1.0625rem;max-width:66ch}
.yj-prose p{margin:0 0 18px}

.yj-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;background:transparent;border:0;margin-top:24px}
.yj-variants article{background:var(--yj-card);border:1px solid var(--yj-line);border-top:4px solid var(--yj-gold);padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.yj-variants small{font-family:var(--yj-sans);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--yj-gold)}
.yj-variants h3{font-size:1.2rem}
.yj-variants p{font-size:.9375rem;color:var(--yj-muted);margin:0}
.yj-variants .yj-ticket{align-self:flex-start}

.yj-fit{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.yj-fit>div{border:1px solid var(--yj-line);background:var(--yj-card);padding:24px 26px}
.yj-fit h3{font-size:1.2rem;margin-bottom:12px}
.yj-fit ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:.9375rem}
.yj-fit li{display:grid;grid-template-columns:14px 1fr;gap:10px}
.yj-fit li::before{content:"";width:8px;height:8px;background:var(--yj-gold);margin-top:9px}
@media(max-width:700px){.yj-fit{grid-template-columns:1fr}}
.yj-reality{margin-top:20px;padding:20px 24px;background:var(--yj-ink);color:#fff;border-left:4px solid var(--yj-gold)}
.yj-reality .yj-k{color:#fff}
.yj-reality p:not(.yj-k){margin:8px 0 0;color:#D6D4D0}

.yj-timeline{list-style:none;margin:28px 0 0;padding:0;border-left:2px solid var(--yj-line)}
.yj-timeline li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:0 0 28px 24px;position:relative}
.yj-timeline li::before{content:"";position:absolute;left:-6px;top:8px;width:10px;height:10px;background:var(--yj-gold)}
.yj-timeline time{font-family:var(--yj-sans);font-size:.9375rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--yj-ink);padding-top:2px;font-variant-numeric:tabular-nums}
.yj-timeline h3{font-size:1.2rem}
.yj-timeline p{margin:6px 0 0;color:var(--yj-muted);font-size:.9375rem}
@media(max-width:700px){.yj-timeline li{grid-template-columns:1fr;gap:6px}}

.yj-incl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.yj-incl>div{border:1px solid var(--yj-line);background:var(--yj-card);padding:24px 26px}
.yj-incl h3{font-size:1.15rem;margin-bottom:12px}
.yj-incl ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.9375rem}
.yj-yes li::before{content:"✓";color:var(--yj-gold);margin-right:10px;font-weight:700}
.yj-no li::before{content:"–";color:var(--yj-muted);margin-right:10px}
@media(max-width:700px){.yj-incl{grid-template-columns:1fr}}

.yj-practical{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:transparent;border:0;margin-top:24px}
.yj-practical article{background:var(--yj-card);border:1px solid var(--yj-line);padding:20px 22px}
.yj-practical h3{font-size:1.1rem;margin-bottom:6px}
.yj-practical p{margin:0;font-size:.9375rem;color:var(--yj-muted)}
@media(max-width:700px){.yj-practical{grid-template-columns:1fr}}

.yj-faq{margin-top:24px;border-top:1px solid var(--yj-line)}
.yj-faq details{border-bottom:1px solid var(--yj-line)}
.yj-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-family:var(--yj-sans);font-weight:700;font-size:1.0625rem;min-height:44px}
.yj-faq summary::-webkit-details-marker{display:none}
.yj-faq summary span{color:var(--yj-gold);font-size:1.2rem;font-weight:400}
.yj-faq details[open] summary span{transform:rotate(45deg)}
.yj-faq p{margin:0 0 18px;color:var(--yj-muted);font-size:.9375rem;max-width:66ch}

.yj-elsewhere{border-top:1px solid var(--yj-line);margin-top:40px;padding-top:40px}
.yj-elsewhere p:not(.yj-k){color:var(--yj-muted);max-width:60ch;margin:14px 0 22px}

/* booking card */
.yj-book{position:sticky;top:64px;background:#fff;color:var(--yj-text);border:1px solid var(--yj-line);border-top:4px solid var(--yj-red);padding:24px 24px 22px;box-shadow:var(--yj-shadow)}
.yj-save{margin:0 0 16px;font-family:var(--yj-sans);font-size:.8125rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--yj-red);border:1px solid var(--yj-red);padding:6px 10px;display:inline-block;border-radius:2px}
.yj-book .yj-k{color:var(--yj-muted)}
.yj-book .yj-k::before{background:var(--yj-muted)}
.yj-bigprice{display:flex;align-items:baseline;gap:12px;margin:10px 0 4px}
.yj-bigprice .yj-ticket{font-size:2rem;color:var(--yj-ink)}
.yj-bigprice s{color:var(--yj-muted);font-size:1rem}
.yj-sub{margin:0 0 16px;font-size:.875rem;color:var(--yj-muted)}
.yj-book ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;font-size:.9375rem;color:var(--yj-text)}
.yj-book li{display:grid;grid-template-columns:14px 1fr;gap:10px}
.yj-book li::before{content:"";width:8px;height:8px;background:var(--yj-gold);margin-top:9px}
.yj-block{display:flex;text-align:center;width:100%}
.yj-book .yj-btn-line{border-color:var(--yj-ink);color:var(--yj-ink)}
.yj-book .yj-btn-line:hover{background:var(--yj-ink);color:#fff}
.yj-book .yj-textlink{text-align:center;color:var(--yj-gold)}
.yj-secure{margin:14px 0 0;text-align:center;font-family:var(--yj-sans);font-size:.8125rem;letter-spacing:0;text-transform:none;color:var(--yj-muted)}

.yj-dcta{background:var(--yj-ink);color:#fff;margin-top:64px;border-top:4px solid var(--yj-gold)}
.yj-dcta .yj-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:56px 24px;flex-wrap:wrap}
.yj-dcta .yj-k{color:#fff}
.yj-dcta h2{color:#fff;font-size:clamp(1.75rem,3vw,2.5rem);margin-top:10px}
.yj-dcta p:not(.yj-k){color:#D6D4D0;margin:8px 0 0}

.yj-mbook{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px;background:#fff;border-top:1px solid var(--yj-line);box-shadow:0 -8px 24px rgba(21,21,21,.10);color:var(--yj-ink)}
.yj-mbook small{display:block;font-family:var(--yj-sans);font-size:.75rem;letter-spacing:0;text-transform:none;color:var(--yj-muted)}
.yj-mbook strong{font-family:var(--yj-sans);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.yj-mbook{display:flex}.yj-detail{padding-bottom:90px}}

/* the tours plugin's own widgets (booking form, lightbox, buttons) follow the same tokens */
.yj .ymt-btn,.yj .ymt-button,.yj button.ymt-primary,.yj .ymt-book-btn{background:var(--yj-red);color:#fff;border-radius:3px;font-family:var(--yj-sans);font-weight:700;border:0}
.yj .ymt-btn:hover,.yj .ymt-book-btn:hover{background:var(--yj-red-2)}
.yj input,.yj select,.yj textarea{font-family:var(--yj-sans);border:1px solid #D6D4D0;border-radius:3px;padding:12px 14px;min-height:44px;font-size:1rem;background:#fff;color:var(--yj-text)}
.yj input:focus,.yj select:focus,.yj textarea:focus{outline:2px solid var(--yj-red);outline-offset:0;border-color:var(--yj-red)}
main.yj.yj-detail,main.yj.yj-detail h1,main.yj.yj-detail h2,main.yj.yj-detail h3,main.yj.yj-detail p,main.yj.yj-detail li,main.yj.yj-detail a,main.yj.yj-detail button{font-family:var(--yj-sans)}
