/*
Theme Name: Lightning Child - Car Dealership
Template: lightning
Description: 中古車販売・買取店向けのLightning子テーマ。在庫車リスト、査定フォームのモダン化、スマホ用固定フッターなどのカスタマイズを含みます。
Author: Web Engineer
Version: 1.0.0
*/

/* -------------------------------------------
 * 【要件1】PCは横並び・スマホは縦積みのレスポンシブ仕様
 * ------------------------------------------- */
.car-spec-container { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; }
.car-main-image { flex: 1 1 100%; max-width: 100%; }
.car-main-image img { width: 100%; height: auto; border-radius: 8px; }
.car-spec-table { width: 100%; border-collapse: collapse; flex: 1 1 100%; }
.car-spec-table th, .car-spec-table td { border: 1px solid #ddd; padding: 12px; text-align: left; }
.car-spec-table th { background-color: #f8f9fa; width: 30%; font-weight: bold; color: #003366; }
.car-spec-table .price { color: #e67e22; font-size: 1.2em; font-weight: bold; }

@media (min-width: 768px) {
    .car-spec-container { flex-wrap: nowrap; align-items: flex-start; }
    .car-main-image { flex: 0 0 50%; max-width: 50%; }
    .car-spec-table { flex: 0 0 calc(50% - 20px); }
}
@media (max-width: 767px) {
    .car-spec-table th, .car-spec-table td { display: block; width: 100%; }
    .car-spec-table th { border-bottom: none; }
    .car-spec-table td { border-top: none; margin-bottom: 8px; }
}

/* -------------------------------------------
 * 【要件2】ピックアップメニューと最新在庫
 * ------------------------------------------- */
.vk_card { transition: transform 0.3s ease, box-shadow 0.3s ease; border-radius: 8px; overflow: hidden; }
.vk_card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
@media (max-width: 767px) {
    .vk_card-col-sm-12 { width: 48% !important; margin-bottom: 4%; }
    .vk_cards { display: flex; flex-wrap: wrap; justify-content: space-between; }
}

.latest-cars-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.car-card { display: block; border: 1px solid #eee; border-radius: 8px; text-decoration: none; color: #333; transition: all 0.3s; background: #fff; overflow: hidden; }
.car-card:hover { box-shadow: 0 5px 15px rgba(0,51,102,0.15); transform: translateY(-3px); }
.car-card-img img { width: 100%; height: 200px; object-fit: cover; }
.car-card-body { padding: 15px; }
.car-card-title { font-size: 1.1em; font-weight: bold; margin-bottom: 10px; color: #003366; }
.car-card-price { color: #e67e22; font-size: 1.2em; font-weight: bold; margin: 0 0 5px; }
.car-card-mileage { font-size: 0.9em; color: #666; margin: 0; }

/* -------------------------------------------
 * 【要件3】査定フォームのモダン化全体設定
 * ------------------------------------------- */
.modern-form-wrapper { max-width: 800px; margin: 0 auto; background: #fff; padding: 30px; border-radius: 10px; box-shadow: 0 2px 15px rgba(0,0,0,0.05); }
.step-bar { display: flex; margin-bottom: 30px; border-radius: 5px; overflow: hidden; background: #f0f0f0; }
.step-bar .step { flex: 1; text-align: center; padding: 12px; font-weight: bold; color: #999; }
.step-bar .step.active { background: #003366; color: #fff; }
.required-label { background-color: #e74c3c; color: white; font-size: 0.8em; padding: 3px 8px; border-radius: 3px; margin-left: 10px; vertical-align: middle; }
.form-group { margin-bottom: 25px; }
.form-group label { display: block; margin-bottom: 10px; font-weight: bold; color: #333; }
.wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px; }
.wpcf7-radio .wpcf7-list-item { margin: 0; flex: 1 1 calc(50% - 10px); min-width: 120px; }
.wpcf7-radio label { display: block; margin: 0; }
.wpcf7-radio input[type="radio"] { display: none; }
.wpcf7-radio .wpcf7-list-item-label { display: block; text-align: center; padding: 15px 10px; border: 2px solid #ddd; border-radius: 6px; cursor: pointer; transition: all 0.2s; font-weight: normal; }
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label { border-color: #003366; background-color: rgba(0,51,102,0.05); color: #003366; font-weight: bold; }
.submit-group { text-align: center; margin-top: 40px; }
.wpcf7-submit { background-color: #e67e22; color: #fff; border: none; padding: 18px 40px; font-size: 1.2em; border-radius: 30px; cursor: pointer; font-weight: bold; transition: background 0.3s; width: 100%; max-width: 400px; }
.wpcf7-submit:hover { background-color: #cf711f; }

/* -------------------------------------------
 * 【要件4】スマホ用 固定フッターボタン
 * ------------------------------------------- */
.mobile-fixed-footer { display: none; }
@media (max-width: 767px) {
    body { padding-bottom: 70px !important; }
    .mobile-fixed-footer { display: flex; position: fixed; bottom: 0; left: 0; width: 100%; height: 70px; z-index: 9999; box-shadow: 0 -2px 10px rgba(0,0,0,0.1); }
    .mobile-fixed-footer a { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-decoration: none; color: #fff; font-weight: bold; font-size: 0.9em; transition: opacity 0.2s; }
    .mobile-fixed-footer a:active { opacity: 0.8; }
    .btn-tel { background-color: #003366; }
    .btn-line { background-color: #06C755; }
    .mobile-fixed-footer .icon { font-size: 1.4em; margin-bottom: 4px; line-height: 1; }
    .mobile-fixed-footer .text { line-height: 1; }
}
