/* All styles are scoped: existing GLEAM QUARTZ theme is unaffected. */
.gqcc { max-width: 900px; margin: 28px auto; padding: 28px; color: #e5edec; background: #0d1416; border: 1px solid #40595a; border-radius: 16px; box-sizing: border-box; line-height: 1.75; }
.gqcc *, .gqcc *::before, .gqcc *::after { box-sizing: border-box; }
.gqcc__header { text-align: center; margin-bottom: 24px; }
.gqcc__eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .15em; color: #9ebebc; }
.gqcc__header h2 { font-size: clamp(22px, 3.5vw, 32px); color: #f0f5f4; margin: 7px 0 10px; line-height: 1.35; }
.gqcc__header p { color: #c3cfcd; font-size: 14px; margin: 0; }
.gqcc__form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 20px; }
.gqcc__field { min-width: 0; }
.gqcc__field--full { grid-column: 1/-1; }
.gqcc__field label { display: block; margin-bottom: 6px; color: #b8d1cd; font-size: 13px; font-weight: 650; }
.gqcc__field select { color: #f0f5f4 !important; background-color: #192327 !important; border: 1px solid #5a7676 !important; border-radius: 7px !important; padding: 11px 12px !important; width: 100% !important; min-height: 47px; height: auto; font-size: 15px; margin: 0; appearance: auto; }
.gqcc__field select:disabled { opacity: .52; }
.gqcc__field select:focus { outline: 2px solid #86bdb8; outline-offset: 1px; }
.gqcc__field select option { background-color: #192327; color: #fff; }
.gqcc__result { margin-top: 22px; padding: 20px 22px; background: #1a2729; border-radius: 12px; border: 1px solid #4d7573; min-height: 105px; }
.gqcc__hint { text-align: center; margin: 12px 0; font-size: 14px; color: #d5dfde; }
.gqcc__result [hidden] { display: none !important; }
.gqcc__result-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-bottom: 18px; border-bottom: 1px solid #41605d; margin-bottom: 16px; }
.gqcc__small { display: block; font-size: 12px; color: #afc8c4; }
.gqcc__size { display: block; font-size: 28px; color: #f1f6f5; line-height: 1.35; }
.gqcc__area { display: block; font-size: 23px; color: #f1f6f5; line-height: 1.45; }
.gqcc__price { display: block; font-size: clamp(30px,6vw,42px); line-height: 1.3; color: #a5dfda; letter-spacing: -.025em; padding-top: 6px; }
.gqcc__detail { margin: 9px 0 0; color: #d1dcd9; font-size: 12px; }
.gqcc__footer { margin-top: 18px; }
.gqcc__footer p { color: #bdc9c7; font-size: 12px; margin: 0 0 12px; }
.gqcc__footer p.gqcc__draft { color: #edca8d; font-weight: 600; }
.gqcc__contact { display: inline-block; text-decoration: none !important; background: #9dcac5; color: #071312 !important; padding: 10px 19px; border-radius: 7px; font-size: 14px; font-weight: 700; margin-top: 5px; }
.gqcc__contact:hover, .gqcc__contact:focus { background: #c8e6e2; color: #071312 !important; }
@media (max-width: 640px) { .gqcc { padding: 17px 14px; margin: 16px auto; border-radius: 12px; } .gqcc__form { grid-template-columns: 1fr; gap: 13px; } .gqcc__result { padding: 17px 14px; } .gqcc__result-grid { gap: 10px; } }

.gqcc__field-note { margin: 5px 0 0; font-size: 11px; color: #aabcb9; }
.gqcc__field select:disabled { opacity: .7; cursor: not-allowed; }

.gqcc__vehicle-notice{margin-top:12px;padding:10px 12px;color:#e2d1aa;background:rgba(193,133,52,.13);border:1px solid rgba(193,133,52,.35);border-radius:7px;font-size:13px;line-height:1.65}

/* Price is an estimate; readable at any screen width. */
.gqcc__estimate-note { margin: 13px 0 0; padding: 12px 14px; border-left: 3px solid #86bdb8; border-radius: 5px; background: rgba(117,178,173,.095); color: #e3efed; font-size: 13px; line-height: 1.85; }

/* v1.0: 未登録車種の入力フォーム */
.gqcc__year-note { margin: 9px 0 0; font-size: 13px; color: #d9e6e3; }
.gqcc__unknown { margin-top: 20px; padding: 15px 18px; border: 1px solid #517472; border-radius: 10px; background: #142023; }
.gqcc__unknown > summary { color: #a9e0d9; font-size: 15px; font-weight: 700; cursor: pointer; }
.gqcc__unknown-intro { color: #ccdbd8; font-size: 13px; margin: 13px 0; }
.gqcc__unknown-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 18px; margin: 14px 0 3px; }
.gqcc__field input:not(.gqcc__hp) { width: 100% !important; min-height: 46px; margin: 0; padding: 9px 12px; border: 1px solid #5a7676; border-radius: 7px; background: #192327; color: #f0f5f4; font-size: 15px; }
.gqcc__field input:focus { outline: 2px solid #86bdb8; outline-offset: 1px; }
.gqcc__submit { background: #9dcac5; border: none; border-radius: 7px; padding: 10px 17px; color: #071312; font-size: 13px; font-weight: 700; cursor: pointer; }
.gqcc__submit:disabled { opacity: .55; cursor: wait; }
.gqcc__send-status { margin: 8px 0 0; color: #a9e0d9; font-size: 13px; }
.gqcc__hp { position: absolute !important; left: -10000px !important; height: 1px !important; width: 1px !important; opacity: 0 !important; }
@media (max-width: 640px) { .gqcc__unknown { padding: 12px; } .gqcc__unknown-fields { grid-template-columns: 1fr; gap: 12px; } }

/* v1.1: 車検証の初度登録年月・旧型の型式申請 */
.gqcc__ym{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px}
.gqcc__field .gqcc__ym input{font-variant-numeric:tabular-nums}
.gqcc__older{margin:17px 0 0;padding:13px 16px;border:1px solid #587475;border-radius:10px;background:#152425}
.gqcc__older[hidden],.gqcc__type-field[hidden]{display:none!important}
.gqcc__older p{margin:0 0 8px;font-size:13px;color:#d3e5e1}
.gqcc__older-button{border:1px solid #89bebb;background:transparent;color:#b7e5df;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer}
.gqcc__older-button:hover,.gqcc__older-button:focus{background:#213839}
.gqcc__type-field{padding:10px 12px;border-left:3px solid #8cbdb7;background:#1b2a2c;border-radius:5px}

/* v1.2: a year-based, growing catalog without duplicate inputs */
.gqcc__model-type { margin-top:0; padding:12px 14px; border:1px solid #587b76; border-radius:9px; background:#172729; }
.gqcc__model-type[hidden], .gqcc__known[hidden] { display:none!important; }
.gqcc__known { padding:11px 13px; border:1px solid #628b83; border-radius:8px; background:rgba(120,180,168,.11); }
.gqcc__known p { margin:0 0 7px; font-size:13px; color:#d5e9e5; }
.gqcc__known-button { padding:8px 13px; border:1px solid #a4d7ce; color:#cceee7; background:#243b3b; border-radius:7px; cursor:pointer; }
.gqcc__known-button:hover,.gqcc__known-button:focus { background:#31524e; }

/* v1.3: only shown once a quote has been calculated */
.gqcc__contact--estimate { margin-top: 16px; font-size: 15px; padding: 12px 20px; }
.gqcc__handoff-note { font-size: 12px; color: #b8cec9; margin: 8px 0 0; line-height: 1.6; }
.gqcc__contact--general { background: transparent; color: #c9e9e3 !important; border: 1px solid #658b85; }
.gqcc__contact--general:hover,.gqcc__contact--general:focus { background: #29423f; color: #fff !important; }


/* v1.4: phone-friendly native dropdowns and tap targets */
.gqcc select, .gqcc input, .gqcc button, .gqcc summary { touch-action: manipulation; }
.gqcc select { -webkit-appearance: menulist !important; appearance: auto !important; min-height: 52px !important; font-size: 16px !important; position: relative; z-index: 1; }
.gqcc input { min-height: 50px; font-size: 16px !important; }
.gqcc button, .gqcc summary, .gqcc a.gqcc__contact { min-height: 44px; }
@media(max-width:680px){
 .gqcc { margin: 12px auto; padding: 16px 13px; }
 .gqcc__form { grid-template-columns: minmax(0,1fr); gap: 15px; }
 .gqcc__field, .gqcc__field--full { grid-column: 1 / -1; }
 .gqcc__ym { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .gqcc__field label {font-size:14px;}
}
.gq-mobile-help { padding:11px 14px; margin:0 0 16px; border:1px solid #658581; border-radius:8px; color:#c7e8e2; font-size:13px; line-height:1.6; }

/* v1.6: 販売終了モデルの控えめな案内と、車検証の確認ヘルプ */
.gqcc__sale-ended { grid-column:1/-1; margin:-8px 0 0; padding:9px 12px; border-radius:6px; background:rgba(125,149,145,.12); border-left:3px solid #80aba3; color:#d8e5e2; font-size:13px; line-height:1.65; }
.gqcc__sale-ended[hidden] { display:none!important; }
.gqcc__cert-help { margin-top:10px; border:1px solid #557976; border-radius:7px; padding:9px 12px; background:rgba(95,146,146,.06); }
.gqcc__cert-help > summary { cursor:pointer; font-weight:600; color:#b7e7e1; font-size:13px; line-height:1.6; min-height:30px; }
.gqcc__cert-help-inner { margin-top:10px; }
.gqcc__cert-help-inner p { font-size:12px; line-height:1.75; margin:9px 0; color:#d6e5e2; }
.gqcc__cert-help-inner img { display:block; margin:9px 0 12px; width:100%; max-width:100%; height:auto; border-radius:7px; border:1px solid rgba(186,221,216,.4); }
.gqcc__cert-help-inner a { color:#bde6e0!important; font-size:12px; text-decoration:underline; }
.gqcc__cert-help-inner a:hover { color:#fff!important; }
@media(max-width:680px) { .gqcc__sale-ended { margin:0; } .gqcc__cert-help { padding:9px 10px; } }
