/*
 * ノリツグ 在庫ページ用CSS（/cars/・/cars/<在庫番号>/・トップの「手元の車」帯）
 * 本番の置き場所: public_html/assets/cars/cars.css
 * 土台は今のLPの /style.css（配色 --green #22594f / --blue #416780 / --off #f5f6f2 など）。
 * 外部フォント・CDNは使わない。LPのグローバル指定（p, img）の影響を受けるため、ここで上書きしている。
 * 色のコントラスト: 本文 #203631 / 補助 #566660（白地で 5.9:1）/ 緑 #22594f（白地で 8:1）
 */
.nt-cars,.nt-band{--nt-green:var(--green,#22594f);--nt-blue:var(--blue,#416780);--nt-off:var(--off,#f5f6f2);--nt-line:var(--line,#d8dfd8);--nt-ink:var(--ink,#203631);--nt-sub:#566660}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nt-cars p,.nt-band p{font-size:15px;line-height:1.9;margin:0 0 14px}
.nt-cars img,.nt-band img{display:block;max-width:100%}
.header nav a[aria-current="page"]{color:var(--green,#22594f);font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}

/* ---------- ページ枠 ---------- */
.nt-wrap{max-width:1160px;margin:0 auto;padding:0 5% 72px}
.nt-crumbs{padding:20px 0 6px;font-size:12px}
.nt-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;color:var(--nt-sub)}
.nt-crumbs li+li::before{content:"／";margin:0 .5em;color:#8a9893}
.nt-crumbs a{text-decoration:underline;text-underline-offset:3px}
.nt-crumbs [aria-current]{color:var(--nt-ink)}

.nt-pagehead{padding:26px 0 30px;border-bottom:1px solid var(--nt-line);margin-bottom:34px}
.nt-eyebrow{color:var(--nt-green);margin:0 0 12px!important;font-size:12px!important;line-height:1.5!important}
.nt-h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(24px,4.4vw,40px);line-height:1.7;letter-spacing:.05em;font-weight:500;margin:0 0 16px}
.nt-h1-sub{display:inline-block}
.nt-lead{font-size:15px;color:var(--nt-sub);max-width:640px;margin:0!important}
.nt-h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(21px,3vw,28px);line-height:1.6;letter-spacing:.05em;font-weight:500;margin:0 0 20px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.nt-count{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:13px;letter-spacing:.04em;color:var(--nt-sub)}
.nt-note{font-size:12px!important;line-height:1.9!important;color:var(--nt-sub);margin:20px 0 0!important}
.nt-note-top{margin:-8px 0 20px!important}

/* ---------- バッジ・タグ ---------- */
.nt-badge{display:inline-block;font-size:12px;line-height:1;letter-spacing:.06em;padding:7px 10px;font-weight:600}
.nt-badge-nego{background:#fff2d1;color:#6d4300;border:1px solid #e4c36b}
.nt-badge-sold{background:#2f3d39;color:#fff}
.nt-tag{display:inline-block;margin-left:10px;font-size:11px;letter-spacing:.06em;padding:2px 8px;border:1px solid #9db3aa;color:var(--nt-green);border-radius:99px}

/* ---------- 車カード（一覧・トップ帯 共通） ---------- */
.nt-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:22px}
.nt-card{background:#fff;border:1px solid var(--nt-line);transition:box-shadow .25s,border-color .25s}
.nt-card:hover{border-color:#9db3aa;box-shadow:0 8px 24px rgba(32,54,49,.09)}
.nt-card-link{display:block;color:inherit}
.nt-card-link:focus-visible{outline:3px solid #4e95be;outline-offset:3px}
.nt-card-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e6ece8}
.nt-card-photo img{width:100%;height:100%;object-fit:cover}
.nt-card-photo .nt-badge{position:absolute;top:12px;left:12px}
.nt-card.is-sold .nt-card-photo img{filter:grayscale(.55);opacity:.85}
.nt-card-body{padding:16px 18px 20px}
.nt-cars .nt-card-no,.nt-band .nt-card-no{font-size:12px;line-height:1.6;letter-spacing:.06em;color:var(--nt-sub);margin:0 0 4px}
.nt-card-title{font-size:18px;line-height:1.55;font-weight:600;margin:0 0 6px}
.nt-cars .nt-card-meta,.nt-band .nt-card-meta{font-size:13px;line-height:1.7;color:var(--nt-sub);margin:0 0 12px}
.nt-cars .nt-card-price,.nt-band .nt-card-price{margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.3;color:var(--nt-green)}
.nt-price-label{font-size:12px;color:var(--nt-ink);letter-spacing:.06em;margin-right:4px}
.nt-card-price strong{font-size:34px;font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.nt-price-unit{font-size:15px;font-weight:600}
.nt-cars .nt-card-sold,.nt-band .nt-card-sold{font-size:24px;font-weight:700;color:#2f3d39;margin:0 0 2px;line-height:1.4;letter-spacing:.06em}
.nt-cars .nt-card-soldprice{font-size:12px;color:var(--nt-sub);margin:0}

/* 写真準備中（noimage.webp を置けば背景に出る。無くても枠＋文字は出る） */
.nt-noimage{width:100%;height:100%;display:grid;place-items:center;background:#e6ece8 url(noimage.webp) center/cover no-repeat;color:#4a5b55;font-size:14px;letter-spacing:.12em}
.nt-noimage span{background:rgba(255,255,255,.88);padding:7px 16px;border:1px solid #c5d3cd}
.nt-noimage-lg{aspect-ratio:4/3;height:auto}

/* ---------- 相談ボタン・CTA帯 ---------- */
.nt-btn{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;color:#fff;transition:filter .3s;min-height:60px}
.nt-btn:hover{filter:brightness(1.12)}
.nt-btn:focus-visible{outline:3px solid #4e95be;outline-offset:3px}
.nt-btn-line{background:var(--nt-green)}
.nt-btn small{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:4px;line-height:1.4}
.nt-btn strong{font-size:18px;font-weight:600;letter-spacing:.05em;line-height:1.4}
.nt-btn>span:last-child{font-size:20px}
.nt-cta{margin-top:56px;background:var(--nt-off);border-top:2px solid var(--nt-blue);padding:30px 22px;display:grid;gap:22px}
.nt-cta-title{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(20px,2.8vw,26px);line-height:1.7;letter-spacing:.05em;font-weight:500;margin:0 0 10px}
.nt-cta p{margin:0}
.nt-friend{font-size:12px!important;line-height:1.8!important;color:var(--nt-sub);margin:12px 0 0!important}
.nt-friend a{color:var(--nt-green);text-decoration:underline;text-underline-offset:3px}

/* 0台 */
.nt-empty{text-align:center;background:var(--nt-off);border-top:2px solid var(--nt-blue);padding:46px 22px 40px;max-width:760px;margin:0 auto}
.nt-empty-art{width:120px;height:80px;margin:0 auto 20px;border:2px dashed #9db3aa;border-radius:40px 40px 10px 10px;position:relative}
.nt-empty-art::after{content:"";position:absolute;left:18px;right:18px;bottom:-9px;height:14px;background:radial-gradient(circle 9px at 14px 7px,#9db3aa 98%,transparent) no-repeat,radial-gradient(circle 9px at calc(100% - 14px) 7px,#9db3aa 98%,transparent) no-repeat}
.nt-empty-title{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(21px,3vw,28px);line-height:1.7;letter-spacing:.05em;font-weight:500;margin:0 0 14px}
.nt-empty p{max-width:520px;margin:0 auto 22px!important;text-align:left}
.nt-empty .nt-btn{max-width:380px;margin:0 auto;text-align:left}
.nt-sold-section{margin-top:64px}

/* ---------- 詳細 ---------- */
.nt-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding-top:12px}
.nt-detail-media{min-width:0}
.nt-gallery{position:relative}
.nt-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#e6ece8;overscroll-behavior-x:contain}
.nt-gallery-track::-webkit-scrollbar{display:none}
.nt-gallery-track:focus-visible{outline:3px solid #4e95be;outline-offset:3px}
.nt-gallery-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3;margin:0}
.nt-gallery-slide img{width:100%;height:100%;object-fit:cover}
.nt-gallery-flag{position:absolute;top:14px;left:14px;z-index:2}
.nt-gallery-count{position:absolute;right:12px;top:12px;z-index:2;background:rgba(20,35,31,.72);color:#fff;font-size:12px!important;line-height:1!important;margin:0!important;padding:7px 10px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.nt-gallery-nav{position:absolute;top:calc((100% - var(--nt-thumbs,0px))/2);transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--nt-ink);font-size:20px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);display:none}
.nt-gallery-nav:focus-visible{outline:3px solid #4e95be;outline-offset:2px}
.nt-gallery-nav[disabled]{opacity:.35;cursor:default}
.nt-gallery-prev{left:10px}.nt-gallery-next{right:10px}
.nt-js .nt-gallery-nav{display:block}
.nt-gallery-thumbs{display:none;gap:8px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:thin}
.nt-js .nt-gallery-thumbs{display:flex}
.nt-gallery-thumb{flex:0 0 76px;aspect-ratio:4/3;padding:0;border:2px solid transparent;background:#e6ece8;cursor:pointer;opacity:.7;transition:opacity .2s}
.nt-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.nt-gallery-thumb[aria-current="true"]{border-color:var(--nt-green);opacity:1}
.nt-gallery-thumb:focus-visible{outline:3px solid #4e95be;outline-offset:2px}

.nt-detail-summary{min-width:0}
.nt-car-h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(24px,5.2vw,34px);line-height:1.55;letter-spacing:.04em;font-weight:500;margin:2px 0 6px}
.nt-car-sub{font-size:14px!important;color:var(--nt-sub);margin:0 0 18px!important}
.nt-price{background:var(--nt-off);border-top:2px solid var(--nt-green);padding:18px 20px 16px;margin-bottom:18px}
.nt-price-label-lg{font-size:14px!important;font-weight:600;letter-spacing:.1em;margin:0!important;line-height:1.6!important}
.nt-cars .nt-price-total{margin:0 0 10px;display:flex;align-items:baseline;gap:6px;color:var(--nt-green);line-height:1.2}
.nt-price-total strong{font-size:clamp(42px,12.5vw,58px);font-weight:700;letter-spacing:.005em;font-variant-numeric:tabular-nums}
.nt-price-total span{font-size:20px;font-weight:600}
.nt-price-list{margin:0;display:grid;gap:0}
.nt-price-list>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--nt-line);font-size:14px}
.nt-price-list dt{color:var(--nt-sub)}
.nt-price-list dd{margin:0;font-variant-numeric:tabular-nums}
.nt-cars .nt-price-note{font-size:12px;line-height:1.8;color:var(--nt-sub);margin:10px 0 0}
.nt-price-sold{border-top-color:#2f3d39}
.nt-cars .nt-sold-big{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(34px,9.5vw,46px);font-weight:700;color:#2f3d39;line-height:1.3;letter-spacing:.08em;margin:0 0 6px}
.nt-sold-lead{font-size:14px!important;margin:0 0 12px!important}
.nt-actions{margin-top:4px}

.nt-spec,.nt-desc{margin-top:46px}
.nt-table{width:100%;border-collapse:collapse;border-top:1px solid var(--nt-line);font-size:14px;line-height:1.7}
.nt-table th,.nt-table td{text-align:left;padding:13px 6px;border-bottom:1px solid var(--nt-line);vertical-align:top;font-weight:400}
.nt-table th{width:34%;max-width:170px;color:var(--nt-sub);background:#fafbf9;padding-left:12px}
.nt-table td{font-variant-numeric:tabular-nums}
.nt-warn{color:#8a2d1b}
.nt-desc p{font-size:15px;line-height:2;max-width:720px}
.nt-cta-detail{margin-top:50px}
.nt-back{margin:34px 0 0!important}
.nt-back a{font-size:14px;text-decoration:underline;text-underline-offset:4px;color:var(--nt-green)}

/* ---------- トップの「いま手元にある車」帯 ---------- */
.nt-band{padding:72px 6%;background:#fff;border-top:1px solid var(--nt-line)}
.nt-band-inner{max-width:1160px;margin:0 auto}
.nt-band-eyebrow{font-family:Arial,sans-serif;font-size:12px!important;letter-spacing:.17em;color:var(--nt-green);margin:0 0 12px!important;line-height:1.5!important}
.nt-band-title{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(26px,3.2vw,40px);line-height:1.7;letter-spacing:.05em;font-weight:500;margin:0 0 12px}
.nt-band-lead{color:var(--nt-sub);max-width:620px;margin:0 0 30px!important}
.nt-band-more{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #8aaba1;font-size:14px;max-width:360px;margin-top:30px;color:var(--nt-ink)}
.nt-band-more:hover span{transform:translate(3px,-3px)}
.nt-band-more span{font-size:20px;transition:transform .4s}
.nt-band-more:focus-visible{outline:3px solid #4e95be;outline-offset:6px}

/* ---------- タブレット・PC ---------- */
@media(min-width:620px){
  .nt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nt-cta{grid-template-columns:1fr auto;align-items:center;padding:34px 36px;gap:36px}
  .nt-cta-actions{min-width:300px}
  .nt-gallery-thumb{flex-basis:92px}
  .nt-table th{width:200px}
  .nt-table th,.nt-table td{padding:15px 8px}
  .nt-table th{padding-left:18px}
  .nt-table{font-size:15px}
}
@media(min-width:960px){
  .nt-wrap{padding-bottom:100px}
  .nt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .nt-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:44px;align-items:start}
  .nt-detail-summary{position:sticky;top:116px}
  .nt-pagehead{padding:38px 0 36px;margin-bottom:44px}
}
@media(max-width:760px){
  .nt-band{padding:56px 6%}
  .nt-gallery-nav{width:40px;height:40px}
}
@media(max-width:380px){
  .nt-card-price strong{font-size:30px}
  .nt-btn{padding:16px 16px}
  .nt-btn strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .nt-card,.nt-band-more span,.nt-gallery-thumb{transition:none}
}
