*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:#0b0d10;color:#f4f5f7}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,94%);margin:auto}.top{background:#08090b;border-bottom:1px solid #292d34;position:sticky;top:0;z-index:20}.top .wrap{height:70px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:2px;font-size:21px}.brand b{color:#e72b31}.nav a{margin-left:20px;color:#bbb}.hero{padding:55px 0 30px;background:linear-gradient(135deg,#11151b,#070809)}.hero h1{font-size:clamp(32px,6vw,64px);margin:0}.hero p{color:#aeb4be}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;padding:35px 0}.card{background:#14171c;border:1px solid #282d35;border-radius:16px;overflow:hidden}.card img{width:100%;height:220px;object-fit:cover}.pad{padding:20px}.price{font-size:30px;font-weight:900}.badge{display:inline-block;padding:5px 10px;border-radius:20px;background:#e72b31;font-size:12px;font-weight:800}.badge.sold{background:#555}.btn{display:inline-block;border:0;border-radius:10px;background:#e72b31;color:#fff;padding:14px 22px;font-weight:800;cursor:pointer}.btn.dark{background:#262b33}.gallery-main{position:relative;background:#000;border-radius:16px;overflow:hidden}.gallery-main img{width:100%;height:min(65vh,650px);object-fit:contain;display:block}.thumbs{display:flex;gap:8px;overflow:auto;padding:12px 0}.thumbs img{width:100px;height:72px;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.65}.thumbs img.active{opacity:1;outline:2px solid #e72b31}.detail{display:grid;grid-template-columns:2fr 1fr;gap:28px;padding:35px 0}.panel{background:#14171c;border:1px solid #282d35;border-radius:16px;padding:24px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fact{background:#0e1115;padding:14px;border-radius:10px}.muted{color:#9aa2ad}.offer input,.offer textarea,.offer select,.admin input,.admin textarea,.admin select{width:100%;padding:13px;border:1px solid #3a414c;background:#0d1014;color:#fff;border-radius:8px;margin:6px 0 14px}.notice{padding:16px;border-radius:10px;margin:0 0 18px;font-weight:800}.ok{background:#123c29;border:1px solid #238456}.err{background:#461d21;border:1px solid #b93b46}.adminbody{background:#eef1f5;color:#1c232b}.adminbar{background:#101318;color:#fff;padding:16px}.adminwrap{width:min(1200px,95%);margin:24px auto}.admin .panel,.adminbody .panel{background:#fff;border:1px solid #d9dee6}.adminbody table{width:100%;border-collapse:collapse;background:#fff}.adminbody th,.adminbody td{padding:12px;border-bottom:1px solid #ddd;text-align:left}.adminbody a{color:#1769aa}.actions{display:flex;gap:8px;flex-wrap:wrap}.login{max-width:420px;margin:80px auto}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.photo-grid img{width:100%;height:100px;object-fit:cover;border-radius:8px}@media(max-width:800px){.detail{grid-template-columns:1fr}.nav{display:none}.facts{grid-template-columns:1fr}.gallery-main img{height:55vh}.adminbody table{font-size:12px}.adminbody th,.adminbody td{padding:7px}}/* PRO+ enhancements */
.hero{padding:64px 0 52px;background:linear-gradient(120deg,#111,#252525);color:#fff}.hero span,.sectionhead small,.offer>small{letter-spacing:.18em;font-size:11px;font-weight:800}.hero h1{font-size:clamp(42px,8vw,84px);line-height:.9;margin:12px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin:42px 0 20px}.carimg{position:relative}.carimg img{width:100%;height:260px;object-fit:cover}.featured{position:absolute;right:12px;top:12px;background:#b40000;color:#fff;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.08em}.mini,.cardbottom{display:flex;justify-content:space-between;gap:12px}.mini{font-size:12px;color:#777;margin:10px 0}.cardbottom{align-items:end;border-top:1px solid #eee;padding-top:14px}.cardbottom b{font-size:24px}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.1em}.vehicle .price{display:flex;flex-direction:column}.vehicle .price small{font-size:12px}.gallery-main{position:relative}.galprev,.galnext{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:58px;border:0;background:#0009;color:#fff;font-size:34px;cursor:pointer}.galprev{left:8px}.galnext{right:8px}.moneyinput{display:flex;align-items:center;border:1px solid #ddd;background:#fff}.moneyinput input{border:0!important;margin:0!important}.moneyinput span{padding-right:14px;font-weight:700}.wide{width:100%;font-size:16px}.contactbtn{display:block;text-align:center;margin-top:10px;padding:14px;border:1px solid #222;text-decoration:none;color:#222;font-weight:700}.contactbtn.line{background:#06c755;border-color:#06c755;color:#fff}.related{margin:60px 0}.dash{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.dash>div{background:#fff;border:1px solid #e5e5e5;padding:22px}.dash small{display:block;color:#777}.dash b{display:block;font-size:32px;margin-top:5px}.adminbar{display:flex;justify-content:space-between}.tablewrap{overflow-x:auto}.ops{white-space:nowrap}.ops a{display:inline-block;margin-right:10px}.status{white-space:nowrap}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.check{display:flex!important;align-items:center;gap:8px;margin:16px 0!important}.check input{width:auto!important;margin:0!important}.photoitem{background:#fff;border:2px solid transparent;padding:8px}.photoitem.dragging{opacity:.45;border-color:#111}.drag{display:block;cursor:grab;font-weight:700;margin-bottom:6px}.photobuttons{display:flex;gap:6px}.photobuttons form{flex:1}.photobuttons button{width:100%;padding:7px}.newrow{background:#fff8d9!important}footer{text-align:center;padding:50px 20px;color:#888}
@media(max-width:760px){.dash{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.hero{padding:44px 0}.carimg img{height:220px}.galprev,.galnext{width:36px;height:48px}.adminbar{gap:10px;align-items:center}.sectionhead{align-items:center}.cardbottom b{font-size:20px}}

/* PRO+ gallery layout fix - large image counts */
html,body{max-width:100%;overflow-x:hidden}
.wrap{max-width:1180px;width:94%;min-width:0}
.detail{min-width:0}
.detail>section,.detail>aside{min-width:0;max-width:100%}
.gallery-main{width:100%;max-width:100%;min-width:0}
.gallery-main img{max-width:100%;height:min(65vh,650px);object-fit:contain}
.thumbs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;width:100%;max-width:100%;overflow:visible;padding:12px 0}
.thumbs img{display:block;width:100%;min-width:0;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
@media(max-width:1000px){.thumbs{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:800px){.wrap{width:94%}.thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gallery-main img{height:55vh}}
@media(max-width:480px){.thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-main img{height:48vh}}

/* Vehicle list spacing fix */
.grid{gap:32px 28px;padding:38px 0 52px;align-items:stretch}
.grid>.card{height:100%;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.grid>.card:hover{transform:translateY(-3px);border-color:#3a414c;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.grid>.card .pad{padding:22px}
@media(max-width:800px){.grid{gap:24px;padding:28px 0 42px}}
@media(max-width:520px){.grid{grid-template-columns:1fr;gap:22px}.grid>.card{margin:0 2px}}

/* Admin vehicle cards: no horizontal table scrolling */
.garage-admin-title h2{margin:0 0 5px}.garage-admin-title h2 small{font-size:15px;color:#64748b}.garage-admin-title p{margin:0 0 20px;color:#526176;font-size:14px}
.garage-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.garage-admin-car{min-width:0;background:#f9fbfe;border:1px solid #dce3ed;border-radius:16px;padding:20px;box-shadow:0 4px 14px #1322380c}
.garage-admin-car-head{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}.garage-admin-car-info{min-width:0;flex:1}.garage-admin-car-info small{color:#64748b}.garage-admin-car h3{font-size:clamp(18px,2vw,22px);line-height:1.4;margin:7px 0 10px;overflow-wrap:anywhere}.garage-admin-price{font-size:23px;color:#172439}.garage-admin-status{background:#e9edf5;color:#24354d;border-radius:100px;padding:7px 12px;font-size:13px;font-weight:800;white-space:nowrap}
.garage-admin-meta{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0;border-top:1px solid #e1e6ee;padding-top:14px;font-size:14px;color:#475569}.garage-admin-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.garage-admin-buttons a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 8px;border:1px solid #cdd7e4;border-radius:10px;text-align:center;background:#fff;color:#172c47!important;font-size:14px;font-weight:800;text-decoration:none}.garage-admin-buttons .garage-admin-shoot{grid-column:1/-1;min-height:54px;background:#d52d35;color:#fff!important;border-color:#d52d35;font-size:17px}
@media(max-width:900px){.garage-admin-grid{grid-template-columns:1fr}}@media(max-width:520px){.garage-admin-car{padding:15px}.garage-admin-buttons a{font-size:13px}.garage-admin-car h3{font-size:19px}.garage-admin-price{font-size:22px}}

/* v1.3: clearly separated, vertically stacked vehicle action buttons */
.garage-admin-car .garage-admin-buttons{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 gap:12px!important;width:100%!important;overflow:visible!important;
 margin-top:18px!important
}
.garage-admin-car .garage-admin-buttons>a{
 display:flex!important;align-items:center!important;justify-content:center!important;
 box-sizing:border-box!important;grid-column:1/-1!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 min-height:52px!important;padding:14px 16px!important;margin:0!important;
 border:1px solid #cbd5e1!important;border-radius:12px!important;
 background:#fff!important;color:#172c47!important;
 font-size:16px!important;font-weight:800!important;line-height:1.45!important;
 text-align:center!important;text-decoration:none!important;white-space:normal!important;
 box-shadow:0 2px 5px #12213b12!important
}
.garage-admin-car .garage-admin-buttons>a.garage-admin-shoot{
 min-height:60px!important;background:#d52d35!important;
 color:#fff!important;border-color:#d52d35!important;font-size:17px!important
}
.garage-admin-car .garage-admin-buttons>a:focus-visible{outline:3px solid #245fc4!important;outline-offset:3px!important}
@media(max-width:520px){.garage-admin-car .garage-admin-buttons{gap:13px!important}}

/* NOVELQ brand v1.4 */
:root{--novelq-navy:#0f1f3d;--novelq-red:#e53946;--novelq-gray:#6b7280}
.adminbody{background:#f4f6fa}
.adminbar{background:#0f1f3d;color:#fff}
.adminbar a{color:#fff}
.novelq-brand{display:inline-flex;align-items:center;gap:9px;vertical-align:middle;color:inherit;font-size:clamp(21px,2.5vw,27px);font-weight:900;letter-spacing:1px;line-height:1.1;white-space:nowrap}
.novelq-brand img{display:block;flex:none;width:36px;height:36px}
.novelq-q{color:inherit}/* Q is the same color as NOVEL; red is reserved for the N mark */
.novelq-login-brand{text-align:center;margin:4px 0 24px}
.novelq-login-brand .novelq-brand{font-size:34px;color:#0f1f3d}
.novelq-login-brand .novelq-brand img{width:45px;height:45px}
.novelq-login-brand p{font-size:19px;font-weight:800;color:#0f1f3d;margin:14px 0 4px}
.novelq-login-brand small{font-size:12px;color:#66758a}
.novelq-module{font-size:12px;letter-spacing:.12em;font-weight:800;opacity:.82;margin-left:7px}
@media(max-width:520px){.adminbar{gap:8px;flex-wrap:wrap}.adminbar .novelq-brand{font-size:20px}.adminbar .novelq-brand img{width:29px;height:29px}.novelq-module{font-size:10px}}

/* NOVELQ v1.6: per-dealer public branding */
.top .brand{display:inline-flex;align-items:center;gap:9px;min-width:0;letter-spacing:.04em;overflow-wrap:anywhere}
.top .brand b{color:inherit}
.shop-logo{height:42px;width:auto;max-width:110px;object-fit:contain;flex:none}
.hero h1{overflow-wrap:anywhere}
footer .powered{display:block;margin-top:10px;font-size:12px;color:#a9b4c4;letter-spacing:.04em}
footer .powered b{color:#e84a55;font-weight:800}
.shop-settings{max-width:760px;margin:auto}.shop-settings label{display:block;margin-top:17px;margin-bottom:6px;font-weight:800}
.shop-settings input:not([type=checkbox]),.shop-settings textarea{width:100%}
.shop-logo-preview{background:#eef2f6;border:1px solid #d5dde8;border-radius:12px;padding:12px;margin:8px 0}
.shop-logo-preview img{display:block;max-height:90px;max-width:240px;object-fit:contain}
.shop-help{font-size:13px;color:#65748b;line-height:1.6}
@media(max-width:520px){.top .brand{font-size:17px}.shop-logo{max-width:75px;max-height:32px}.hero h1{font-size:32px}}

/* NOVELQ v1.7 vehicle share actions */
.novelq-share{margin-top:14px;padding:13px;background:#f1f5fb;border:1px solid #d8e2ef;border-radius:12px;min-width:0}
.novelq-share-title{font-size:14px;font-weight:900;color:#122443;margin-bottom:9px}
.novelq-share-line{display:flex;gap:7px;align-items:stretch;min-width:0}
.novelq-share-url{flex:1;min-width:0;width:100%;border:1px solid #c9d5e4;border-radius:7px;padding:9px;font-size:12px;background:white;color:#34425a}
.novelq-share button{cursor:pointer;border:0;border-radius:7px;padding:9px 11px;font-weight:800;font-size:12px;background:#112341;color:#fff}
.novelq-share .novelq-copy-url{background:#e53946;flex:none}
.novelq-share-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.novelq-share-hint{display:block;margin-top:9px;color:#53647d;font-size:11px;line-height:1.6}
.novelq-share-feedback{display:block;color:#0d7351;font-weight:800;font-size:12px;min-height:1.3em;margin-top:5px}
@media(max-width:520px){.novelq-share-line{flex-wrap:wrap}.novelq-share-url{flex-basis:100%}.novelq-copy-url{width:100%}.novelq-share-buttons button{flex:1 1 100%}}

/* v1.8 */
.novelq-share{border:2px solid #d5deed;background:#f6f9fe}
.novelq-share-title{font-size:16px}
.novelq-share-line{flex-wrap:wrap}
.novelq-share-line .novelq-share-url{flex:1 1 100%;font-size:14px;padding:12px}
.novelq-share-line .novelq-copy-url{flex:1 1 160px;font-size:15px;padding:13px}
.novelq-share-line .novelq-open-url{display:flex;align-items:center;justify-content:center;flex:1 1 120px;background:#122441;color:#fff;border-radius:7px;font-size:13px;font-weight:800;text-decoration:none}
.novelq-car-danger{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #d6dfeb;font-size:12px;color:#6b7280}
.novelq-car-danger a{font-size:12px;color:#ad2331;text-decoration:underline;font-weight:800}
.novelq-delete{max-width:680px;margin:22px auto}.novelq-delete .warning{background:#fff4f3;border:1px solid #edb4b4;border-radius:10px;padding:15px;color:#86212b;line-height:1.7}
.novelq-delete input[type=text]{width:100%;margin:10px 0}.novelq-delete .danger-button{background:#ba2737;color:#fff;border:0;padding:14px 18px;border-radius:8px;font-weight:900;cursor:pointer}
.novelq-delete .danger-button:disabled{opacity:.4;cursor:not-allowed}
.novelq-trash-row{border:1px solid #d6dfea;border-radius:10px;padding:14px;margin:12px 0}
.novelq-trash-row form{margin-top:9px}.novelq-trash-row button{background:#14355c;color:#fff;border:0;border-radius:7px;padding:10px 16px;cursor:pointer}

/* NOVELQ v1.9 checkbox delete confirmation */
.novelq-delete-check{display:flex!important;align-items:flex-start;gap:11px;margin:20px 0!important;padding:15px;border:1px solid #d4dce8;border-radius:9px;background:#f6f8fc;cursor:pointer;font-weight:800}
.novelq-delete-check input[type=checkbox]{flex:none;width:23px;height:23px;margin:0;accent-color:#d92f43}
.novelq-delete-check span{flex:1;line-height:1.55}
