/* Sub pages — sub_list, sub_view, counsel, price_list, sell, buy */





.page-title-bar {


  padding: 24px 0 16px;


  border-bottom: 1px solid #eee;


  margin-bottom: 24px;


}





.page-title-bar h2 {


  margin: 0;


  font-size: 26px;


  font-weight: 700;


}





.page-title-bar h2 span { color: var(--main-color); }





/* sub_list */


section.car_search { padding-top: 8px; }





section.car_search .tab_wrap ul { display: flex; }





section.car_search .tab_wrap li { flex: 1; }





section.car_search .tab_wrap li a {


  display: block;


  padding: 12px 0;


  font-weight: 700;


  font-size: 16px;


  text-align: center;


  background: #f3f3f3;


}





section.car_search .tab_wrap li.active a {


  color: #fff;


  background: var(--main-color);


}





section.car_search .car_wrap { padding: 24px 8px 8px; }





section.car_search .car_wrap ul {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


}





section.car_search .car_wrap li {


  flex: 1 1 calc(12.5% - 8px);


  min-width: 80px;


  text-align: center;


  border: 1px solid #eee;


  border-radius: 8px;


}





section.car_search .car_wrap li.active {


  border-color: var(--main-color);


  box-shadow: 0 0 0 1px var(--main-color);


}





section.car_search .car_wrap li a {


  display: flex;


  flex-direction: column;


  align-items: center;


  gap: 4px;


  padding: 12px 4px;


  font-size: 13px;


}





section.car_search .car_wrap li img { width: 40px; height: 40px; object-fit: contain; }





section.car_search .chk_opt { display: flex; flex-wrap: wrap; }





section.car_search .chk_opt .list {


  flex: 1 1 140px;


  border: 1px solid #ccc;


  min-height: 200px;


}





section.car_search .chk_opt .list + .list { border-left: none; }





section.car_search .chk_opt .head {


  padding: 8px 0;


  text-align: center;


  background: #f8f8f8;


  border-bottom: 1px solid #ccc;


  font-weight: 600;


  font-size: 13px;


}





section.car_search .chk_opt .opt_wrap ul {


  max-height: 160px;


  overflow-y: auto;


}





section.car_search .chk_opt .opt_wrap li {


  padding: 8px 10px;


  font-size: 13px;


  cursor: pointer;


}





section.car_search .chk_opt .opt_wrap li:hover,


section.car_search .chk_opt .opt_wrap li.active {


  color: #fff;


  background: var(--main-color);


}





section.car_search .car_searchoption:not(.car_searchoption-type-a):not(.car_searchoption-modern) {


  padding: 12px;


  border: 1px solid #ccc;


  border-top: none;


  background: #f9f9f9;


}





section.car_search .opt_chk {


  display: flex;


  align-items: center;


  gap: 8px;


  margin-bottom: 8px;


  flex-wrap: wrap;


}





section.car_search .opt_chk .tit {


  width: 56px;


  font-weight: 700;


  font-size: 13px;


  color: #636363;


  text-align: right;


}





section.car_search .opt_chk select,


section.car_search .opt_chk input {


  height: 28px;


  border: 1px solid #ccc;


  border-radius: 4px;


  padding: 0 6px;


  font-size: 13px;


}





:is(body.theme-a, body.theme-b) section.car_search .search_btn.search_btn-type-a {


  justify-content: center;


  padding: 8px 0 0;


  border: none;


  background: transparent !important;


}





:is(body.theme-a, body.theme-b) section.car_search .search_btn.search_btn-type-a .ui-btn-primary {


  height: 48px;


  min-width: 0;


}





section.car_search .search_btn:not(.search_btn-type-a):not(.search_btn-modern) {


  display: flex;


  align-items: center;


  justify-content: space-between;


  padding: 8px 12px;


  border: 1px solid #ccc;


  border-top: none;


  background: #f0f2f2;


}





section.car_search .search_btn .btn_wrap { display: flex; gap: 8px; }





section.car_search .search_btn input[type="submit"],


section.car_search .search_btn button {


  height: 46px;


  padding: 0 24px;


  font-weight: 600;


  border: none;


  cursor: pointer;


}





section.car_search .search_btn .button { background: #ccc; color: #fff; }


section.car_search .search_btn .button2 { background: #333; color: #fff; }





section.car_search .order {


  margin: 24px 0 16px;


  padding: 4px 0;


  background: #333;


}





section.car_search .order ul {


  display: flex;


  justify-content: center;


  flex-wrap: wrap;


  gap: 4px;


}





section.car_search .order a {


  display: block;


  padding: 4px 10px;


  font-size: 13px;


  color: #fff;


}





section.car_search .order li.active a {


  color: #333;


  background: #fff;


  border-radius: 4px;


}





/* sub_list — hd-lease형 옵션 패널 (현대 스타일) */


.car_searchoption-modern {


  padding: 14px 16px;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  background: #fff;


}





.car_searchoption-modern .car_opt + .car_opt {


  margin-top: 12px;


  padding-top: 12px;


  border-top: 1px solid #e8eaed;


}





.car_searchoption-modern .opt_chk--pair {


  display: grid;


  grid-template-columns: minmax(260px, 320px) 1fr;


  align-items: center;


  gap: 12px 20px;


}





.car_searchoption-modern .opt_chk--row {


  display: grid;


  grid-template-columns: minmax(220px, 1.15fr) minmax(100px, 0.65fr) minmax(260px, 1.35fr) minmax(110px, 0.75fr);


  gap: 10px 16px;


  align-items: center;


}





.car_searchoption-modern .chk_wrap {


  display: flex;


  align-items: center;


  flex-wrap: nowrap;


  gap: 6px 8px;


  min-width: 0;


}





.car_searchoption-modern .radio_wrap {


  display: flex;


  align-items: center;


  flex-wrap: wrap;


  gap: 6px 10px;


  min-width: 0;


}





.car_searchoption-modern .chk_wrap--keyword {


  min-width: 0;


}





.car_searchoption-modern .chk_wrap__fields {


  display: flex;


  flex: 1;


  align-items: center;


  gap: 6px;


  min-width: 0;


}





.car_searchoption-modern .chk_wrap__fields .ui-select {


  width: 96px;


  flex-shrink: 0;


}





.car_searchoption-modern .chk_wrap__fields .ui-input {


  flex: 1;


  min-width: 0;


}





.car_searchoption-modern p.tit {


  flex-shrink: 0;


  width: 58px;


  margin: 0;


  font-size: 13px;


  font-weight: 700;


  color: #555;


  text-align: right;


  line-height: 1.2;


}





.car_searchoption-modern .range-sep {


  color: #999;


  font-size: 13px;


  padding: 0 2px;


}





.car_searchoption-modern .ui-select--range {


  width: 108px;


  min-width: 0;


}





.car_searchoption-modern .radio_list {


  display: inline-flex;


  align-items: center;


  gap: 4px;


  margin: 0;


}





.car_searchoption-modern .radio_list input {


  width: 15px;


  height: 15px;


  margin: 0;


  accent-color: var(--main-color);


  cursor: pointer;


}





.car_searchoption-modern .radio_list label {


  font-size: 12px;


  font-weight: 600;


  color: #444;


  cursor: pointer;


  white-space: nowrap;


  user-select: none;


}





.car_searchoption-modern .radio_list input:checked + label {


  color: var(--main-color);


}





section.car_search .ui-select,


section.car_search .ui-input {


  height: 36px;


  padding: 0 10px;


  border: 1px solid #d1d5db;


  border-radius: 8px;


  background: #fff;


  font-size: 13px;


  color: #333;


  transition: border-color 0.15s, box-shadow 0.15s;


}





section.car_search .ui-select--limit {


  width: auto;


  min-width: 120px;


}





section.car_search .ui-input {


  flex: 1;


  min-width: 120px;


}





section.car_search .ui-select:focus,


section.car_search .ui-input:focus {


  border-color: var(--main-color);


  box-shadow: 0 0 0 2px color-mix(in srgb, var(--main-color) 12%, transparent);


  outline: none;


}





.search_btn-modern {


  display: flex;


  align-items: center;


  justify-content: flex-end;


  gap: 8px;


  margin-top: 12px;


  padding: 0;


  border: none;


  background: transparent;


}





.search_btn-modern__actions {


  display: flex;


  align-items: center;


  justify-content: flex-end;


  gap: 8px;


}





.search_btn-modern .ui-select--limit {


  height: 44px;


  min-width: 130px;


}





.car_filter_toolbar {


  display: flex;


  justify-content: flex-end;


  margin: 10px 0 6px;


}





section.car_search .ui-btn-sm {


  height: 36px;


  padding: 0 16px;


  font-size: 13px;


}





section.car_search .ui-btn {


  height: 44px;


  padding: 0 24px;


  border-radius: 10px;


  font-size: 14px;


  font-weight: 700;


  border: none;


  cursor: pointer;


  white-space: nowrap;


}





section.car_search .ui-btn-primary {


  background: var(--main-color);


  color: #fff;


  min-width: 100px;


}





section.car_search .ui-btn-ghost {


  background: #e5e7eb;


  color: #444;


}





@media (max-width: 992px) {


  .car_searchoption-modern .opt_chk--pair {


    grid-template-columns: 1fr;


  }





  .car_searchoption-modern .opt_chk--row {


    grid-template-columns: 1fr 1fr;


  }


}





@media (max-width: 768px) {


  .car_searchoption-modern .opt_chk--row {


    grid-template-columns: 1fr;


  }





  .car_searchoption-modern .ui-select--range {


    flex: 1;


    width: auto;


  }





  .search_btn-modern {


    justify-content: flex-end;


  }





  .search_btn-modern__actions {


    width: auto;


  }





  .search_btn-modern .ui-btn {


    flex: 0 0 auto;


  }


}





.order-modern {


  margin: 20px 0 16px;


  padding: 6px;


  background: #f3f4f6;


  border-radius: 12px;


}





.order-modern ul {


  display: flex;


  flex-wrap: wrap;


  justify-content: center;


  gap: 4px;


  margin: 0;


  padding: 0;


  list-style: none;


}





.order-modern a {


  display: block;


  padding: 8px 12px;


  font-size: 12px;


  font-weight: 600;


  color: #666;


  border-radius: 8px;


}





.order-modern li.active a {


  background: #fff;


  color: var(--main-color);


  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);


}





/* ── sub_list Type A (catalog · filter · order · cards) ── */


:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a {


  margin-top: 8px;


  padding: 20px;


  border: 1px solid #f3f4f6;


  border-radius: 16px;


  background: #fff;


  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);


}





@media (min-width: 768px) {


  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a {


    padding: 28px;


  }


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap {


  margin: 0 0 20px;


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap ul {


  display: flex;


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap li {


  flex: 1;


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap li a {


  display: block;


  padding: 12px 0;


  font-weight: 700;


  font-size: 16px;


  text-align: center;


  background: #f3f3f3;


  color: inherit;


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap li.active a {


  color: #fff;


  background: var(--main-color);


}





:is(body.theme-a, body.theme-b) section.car_search .car_kind-head {


  display: flex;


  align-items: center;


  justify-content: space-between;


  margin: 16px 0 12px;


}





:is(body.theme-a, body.theme-b) section.car_search .car_kind-head__tit {


  margin: 0;


  font-size: 14px;


  font-weight: 700;


  color: #1f2937;


}





:is(body.theme-a, body.theme-b) section.car_search .car_kind-head__reset {


  padding: 0;


  border: none;


  background: none;


  font-size: 12px;


  color: #6b7280;


  text-decoration: underline;


  text-underline-offset: 2px;


  cursor: pointer;


}





:is(body.theme-a, body.theme-b) section.car_search .car_kind-head__reset:hover {


  color: #111827;


}





:is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a {


  padding: 0 0 4px;


}





:is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a {


  padding: 0;


  border: none;


  background: transparent;


  margin-top: 24px;


}





/* Filter spacing (shlease): apply under panel when present, and for theme-a/b filters generally */


:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a__panel,


:is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__panel {


  gap: 20px;


}





:is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a .mobile-collapse__body {


  display: flex;


  flex-direction: column;


  gap: 18px;


}





@media (min-width: 768px) {


  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a__panel,


  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__panel {


    padding: 28px;


    gap: 22px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a .mobile-collapse__body,


  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a .mobile-collapse__body {


    gap: 22px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a__row--half,


  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__row--half {


    column-gap: 40px;


    row-gap: 20px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a__field,


  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__field {


    gap: 16px;


    align-items: center;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .car_searchoption-type-a__label,


  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__label {


    padding-right: 6px;


  }


}





:is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .search_btn-type-a,


:is(body.theme-a, body.theme-b) section.car_search .search_btn.search_btn-type-a {


  margin-top: 20px;


  padding-top: 8px;


}





:is(body.theme-a, body.theme-b) section.car_search .search_btn-type-a {


  display: flex;


  justify-content: center;


  align-items: center;


  margin-top: 8px;


  padding: 8px 0 0;


  border: none;


  background: transparent;


}





.hide-scrollbar {


  -ms-overflow-style: none;


  scrollbar-width: none;


}





.hide-scrollbar::-webkit-scrollbar {


  display: none;


}





.custom-scrollbar::-webkit-scrollbar { width: 6px; }


.custom-scrollbar::-webkit-scrollbar-track { background: #f8fafc; border-radius: 4px; }


.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }


.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #94a3b8; }





.subsearch_total_wrap .catalog-grid-type-a {


  margin-top: 0;


  margin-bottom: 32px;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a {


  margin-bottom: 24px;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  overflow: hidden;


  background: #fff;


  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a .catalog-grid-type-a {


  margin-bottom: 0;


  border: none;


  border-radius: 0;


  box-shadow: none;


}





.catalog-scroll-hint-type-a {


  display: none;


}





/* mobile catalog: combobox cascade (desktop uses multi-column list) */


.catalog-combo-type-a {


  display: none;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a {


  display: none;


  flex-direction: column;


  gap: 10px;


  padding: 14px;


  background: #fff;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a__field {


  display: flex;


  flex-direction: column;


  gap: 5px;


  margin: 0;


  min-width: 0;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a__label {


  font-size: 12px;


  font-weight: 700;


  color: #4b5563;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a__select {


  width: 100%;


  min-height: 44px;


  padding: 10px 36px 10px 12px;


  border: 1px solid #d1d5db;


  border-radius: 10px;


  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") no-repeat right 12px center;


  background-size: 16px;


  appearance: none;


  -webkit-appearance: none;


  font-size: 14px;


  font-weight: 600;


  color: #111827;


  letter-spacing: -0.02em;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a__select:disabled {


  background-color: #f3f4f6;


  color: #9ca3af;


  font-weight: 500;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a__select:focus {


  outline: none;


  border-color: var(--main-color);


  box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 16%, transparent);


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a {


  display: flex;


  flex-direction: column;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  overflow: hidden;


  background: #fff;


  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__col {


  flex: 1;


  border-bottom: 1px solid #e5e7eb;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__col:last-child {


  border-bottom: none;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__head {


  padding: 8px 12px;


  background: #f9fafb;


  border-bottom: 1px solid #e5e7eb;


  font-size: 12px;


  font-weight: 700;


  color: #4b5563;


  text-align: center;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list {


  height: 160px;


  margin: 0;


  padding: 6px;


  overflow-y: auto;


  list-style: none;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list li {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 8px;


  padding: 6px 12px;


  margin-bottom: 2px;


  border-radius: 8px;


  font-size: 13px;


  line-height: 1.4;


  color: #374151;


  cursor: pointer;


  transition: background 0.12s, color 0.12s;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__label {


  flex: 1;


  min-width: 0;


  overflow: hidden;


  text-overflow: ellipsis;


  white-space: nowrap;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list li:hover {


  background: #f9fafb;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list li.active {


  background: #eff6ff;


  color: var(--main-color);


  font-weight: 700;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list li.active:hover {


  background: #eff6ff;


}





:is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__icon {


  flex-shrink: 0;


  width: 12px;


  height: 12px;


  color: var(--main-color);


}





@media (max-width: 767px) {


  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a {


    padding: 16px;


    border-radius: 12px;


  }





  /* 모바일: 차종 아이콘 그리드(경차·소형…) 숨김 */


  :is(body.theme-a, body.theme-b) section.car_search .car_kind-head,


  :is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a {


    display: none !important;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap {


    margin-bottom: 16px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap ul {


    display: flex;


    width: 100%;


    margin: 0;


    padding: 0;


    list-style: none;


    gap: 0;


    overflow: visible;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap li {


    flex: 1 1 0;


    min-width: 0;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_search-panel-type-a .tab_wrap li a {


    display: flex;


    align-items: center;


    justify-content: center;


    min-height: 44px;


    padding: 10px 6px;


    font-size: 13px;


    line-height: 1.35;


    word-break: keep-all;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a ul {


    display: grid;


    grid-template-columns: repeat(4, minmax(0, 1fr));


    gap: 6px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a ul li {


    flex: unset;


    min-width: 0;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a ul li a {


    padding: 10px 4px;


    font-size: 10px;


    gap: 4px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_wrap-type-a ul li img {


    width: 32px;


    height: 32px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a,


  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a--desk {


    display: none !important;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-combo-type-a {


    display: flex;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-scroll-hint-type-a {


    display: none !important;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__mobile-tit {


    font-size: 14px;


    font-weight: 700;


    color: #1f2937;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__panel {


    padding: 14px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__row--half {


    grid-template-columns: 1fr;


    gap: 12px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order.order-type-a {


    flex-wrap: wrap;


    gap: 10px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order.order-type-a > .ui-select--limit {


    margin-left: auto;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order-type-a__sort {


    flex: 1 1 100%;


    scroll-snap-type: x mandatory;


    -webkit-overflow-scrolling: touch;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order-type-a__sort ul {


    gap: 16px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order-type-a__sort li {


    scroll-snap-align: start;


  }





  :is(body.theme-a, body.theme-b) section.car_search .order-type-a__sort a {


    font-size: 13px;


  }





  .car_grid-type-a {


    gap: 12px;


  }





  .car-card-type-a {


    border-radius: 12px;


  }





  .car-card-type-a__body {


    padding: 12px;


  }





  .car-card-type-a__tit {


    margin-bottom: 8px;


    font-size: 13px;


    min-height: 2.5rem;


  }





  .car-card-type-a__meta {


    margin-bottom: 12px;


  }





  .car-card-type-a__meta-row {


    font-size: 11px;


  }





  .car-card-type-a__price {


    padding-top: 8px;


  }





  .car-card-type-a__price-val {


    font-size: 14px;


  }





  body.theme-a section.car_list.car_list-home-type-a .car_grid-type-a {


    margin-bottom: 28px;


  }


}





@media (min-width: 768px) {


  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a {


    flex-direction: row;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__col {


    border-bottom: none;


    border-right: 1px solid #e5e7eb;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__col:last-child {


    border-right: none;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-grid-type-a .catalog-grid__list {


    height: 224px;


  }


}





.subsearch_total_wrap .catalog-grid {


  margin-top: 0;


  margin-bottom: 24px;


}





.catalog-grid {


  display: flex;


  flex-direction: column;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  overflow: hidden;


  background: #fff;


  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);


}





.catalog-grid__col {


  flex: 1;


  border-bottom: 1px solid #e5e7eb;


}





.catalog-grid__col:last-child {


  border-bottom: none;


}





.catalog-grid__head {


  padding: 8px 12px;


  background: #f9fafb;


  border-bottom: 1px solid #e5e7eb;


  font-size: 12px;


  font-weight: 700;


  color: #4b5563;


  text-align: center;


}





.catalog-grid__list {


  height: 160px;


  margin: 0;


  padding: 6px;


  overflow-y: auto;


  list-style: none;


}





.catalog-grid__list li {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 8px;


  padding: 6px 12px;


  margin-bottom: 2px;


  border-radius: 8px;


  font-size: 13px;


  color: #374151;


  cursor: pointer;


  transition: background 0.12s, color 0.12s;


}





.catalog-grid__list li:hover {


  background: #f9fafb;


}





.catalog-grid__list li.active {


  background: color-mix(in srgb, var(--main-color) 8%, #eff6ff);


  color: var(--main-color);


  font-weight: 700;


}





.catalog-grid__list li.active::after {


  content: none;


}





.catalog-grid__list--final li.active::after {


  content: none;


}





@media (min-width: 768px) {


  .catalog-grid {


    flex-direction: row;


  }





  .catalog-grid__col {


    border-bottom: none;


    border-right: 1px solid #e5e7eb;


  }





  .catalog-grid__col:last-child {


    border-right: none;


  }





  .catalog-grid__list {


    height: 224px;


  }


}





.car_searchoption-type-a {


  margin-top: 0;


}





.car_searchoption-type-a__panel {


  display: flex;


  flex-direction: column;


  gap: 16px;


  padding: 20px;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  background: rgba(249, 250, 251, 0.85);


}





.car_searchoption-type-a__panel > .mobile-collapse__body {


  display: flex;


  flex-direction: column;


  gap: 16px;


}





.car_searchoption-type-a__mobile-head {


  display: none;


}





.mobile-collapse__toggle {


  display: none;


}





@media (min-width: 768px) {


  .mobile-collapse__body[hidden] {


    display: block !important;


  }


}





@media (max-width: 767px) {


  .mobile-collapse__toggle {


    display: flex;


    align-items: center;


    justify-content: space-between;


    gap: 8px;


    width: 100%;


    padding: 12px 14px;


    border: none;


    background: #f9fafb;


    font-size: 14px;


    font-weight: 700;


    color: #1f2937;


    text-align: left;


    cursor: pointer;


  }





  :is(body.theme-a, body.theme-b) section.car_search .mobile-collapse__toggle--catalog {


    border-bottom: 1px solid #e5e7eb;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a:not(.is-open) {


    margin-bottom: 16px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a:not(.is-open) .catalog-grid-type-a,


  :is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a:not(.is-open) .catalog-combo-type-a,


  :is(body.theme-a, body.theme-b) section.car_search .catalog-shell-type-a:not(.is-open) .catalog-scroll-hint-type-a {


    display: none !important;


  }





  .mobile-collapse__chevron {


    flex-shrink: 0;


    color: #6b7280;


    transition: transform 0.2s;


  }





  .mobile-collapse.is-open .mobile-collapse__chevron {


    transform: rotate(180deg);


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a__mobile-head {


    display: flex;


    width: 100%;


    margin: 0 0 0;


    padding: 0 0 10px;


    border-bottom: 1px solid #e5e7eb;


    background: transparent;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a:not(.is-open) .car_searchoption-type-a__panel {


    padding-bottom: 14px;


  }





  :is(body.theme-a, body.theme-b) section.car_search .car_searchoption-type-a:not(.is-open) .mobile-collapse__body {


    display: none !important;


  }


}





.car_searchoption-type-a__row--half {


  display: grid;


  grid-template-columns: 1fr;


  gap: 16px;


}





@media (min-width: 768px) {


  .car_searchoption-type-a__row--half {


    grid-template-columns: 1fr 1fr;


    column-gap: 32px;


    row-gap: 16px;


  }


}





.car_searchoption-type-a__field {


  display: flex;


  flex-direction: row;


  align-items: center;


  gap: 8px;


  min-width: 0;


}





@media (max-width: 767px) {


  .car_searchoption-type-a__field {


    flex-wrap: wrap;


  }





  .car_searchoption-type-a__field .car_searchoption-type-a__label {


    width: 100%;


    margin-bottom: 2px;


  }





  .car_searchoption-type-a__field .car_searchoption-type-a__range,


  .car_searchoption-type-a__field .car_searchoption-type-a__control {


    flex: 1 1 100%;


    min-width: 0;


  }


}





.car_searchoption-type-a__label {


  flex-shrink: 0;


  font-size: 13px;


  font-weight: 700;


  color: #374151;


  text-align: left;


}





.car_searchoption-type-a__field--year .car_searchoption-type-a__label,


.car_searchoption-type-a__field--price .car_searchoption-type-a__label,


.car_searchoption-type-a__field--mileage .car_searchoption-type-a__label,


.car_searchoption-type-a__field--color .car_searchoption-type-a__label {


  width: 56px;


}





.car_searchoption-type-a__field--fuel .car_searchoption-type-a__label,


.car_searchoption-type-a__field--trans .car_searchoption-type-a__label,


.car_searchoption-type-a__field--option .car_searchoption-type-a__label,


.car_searchoption-type-a__field--keyword .car_searchoption-type-a__label {


  width: 48px;


}





.car_searchoption-type-a__range,


.car_searchoption-type-a__control {


  flex: 1;


  min-width: 0;


}





.car_searchoption-type-a__range {


  display: flex;


  align-items: center;


  gap: 8px;


}





.car_searchoption-type-a__range .range-sep {


  flex-shrink: 0;


  color: #9ca3af;


}





.car_searchoption-type-a__field--keyword .keyword-combo {


  width: 100%;


}





.car_searchoption-type-a__radios .filter-radio {


  display: inline-flex;


  align-items: center;


  gap: 6px;


  font-size: 14px;


  color: #374151;


  cursor: pointer;


  white-space: nowrap;


}





.car_searchoption-type-a__radios .filter-radio input {


  width: 16px;


  height: 16px;


  margin: 0;


  accent-color: var(--main-color);


}





.car_searchoption-type-a .ui-select,


.car_searchoption-type-a .ui-input {


  height: 40px;


  border-color: #d1d5db;


  border-radius: 8px;


  font-size: 14px;


}





.car_searchoption-type-a__control {


  flex: 1;


  min-width: 0;


}





.car_searchoption-type-a__control .ui-select--full {


  width: 100%;


}





.car_searchoption-type-a__range .ui-select--range {


  flex: 1;


  width: auto;


  min-width: 0;


}





.car_searchoption-type-a__range .range-sep {


  color: #9ca3af;


  flex-shrink: 0;


}





:is(body.theme-a, body.theme-b) section.car_search .keyword-combo {


  display: flex;


  min-width: 0;


  border-radius: 8px;


  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);


}





:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__type,


:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__input {


  box-sizing: border-box;


  margin: 0;


  height: 38px;


  padding: 8px;


  border: 1px solid #d1d5db;


  font-size: 14px;


  line-height: 1.25;


  color: #374151;


  font-family: inherit;


  outline: none;


  transition: border-color 0.15s, box-shadow 0.15s;


}





:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__type {


  flex-shrink: 0;


  width: auto;


  min-width: 88px;


  max-width: 112px;


  border-right: none;


  border-radius: 8px 0 0 8px;


  background: #f9fafb;


  appearance: auto;


}





:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__input {


  flex: 1;


  min-width: 0;


  width: 100%;


  border-radius: 0 8px 8px 0;


  background: #fff;


}





:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__type:focus,


:is(body.theme-a, body.theme-b) section.car_search .keyword-combo__input:focus {


  position: relative;


  z-index: 1;


  border-color: var(--main-color);


  box-shadow: 0 0 0 2px color-mix(in srgb, var(--main-color) 12%, #dbeafe);


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi {


  position: relative;


  width: 100%;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__toggle {


  display: flex;


  align-items: center;


  width: 100%;


  height: 40px;


  padding: 0 32px 0 12px;


  border: 1px solid #d1d5db;


  border-radius: 8px;


  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;


  font-size: 14px;


  color: #374151;


  text-align: left;


  cursor: pointer;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__text {


  overflow: hidden;


  text-overflow: ellipsis;


  white-space: nowrap;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__panel {


  position: absolute;


  z-index: 30;


  top: calc(100% + 4px);


  left: 0;


  right: 0;


  max-height: 220px;


  overflow: hidden;


  border: 1px solid #d1d5db;


  border-radius: 8px;


  background: #fff;


  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__list {


  max-height: 220px;


  margin: 0;


  padding: 6px;


  overflow-y: auto;


  list-style: none;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__item {


  display: flex;


  align-items: center;


  gap: 8px;


  padding: 8px 10px;


  border-radius: 6px;


  font-size: 13px;


  color: #374151;


  cursor: pointer;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__item:hover {


  background: #f9fafb;


}





:is(body.theme-a, body.theme-b) section.car_search .option-multi__item input {


  width: 16px;


  height: 16px;


  margin: 0;


  accent-color: var(--main-color);


  flex-shrink: 0;


}





.car_searchoption-type-a__radios {


  display: flex;


  flex-wrap: wrap;


  gap: 8px 16px;


  flex: 1;


}





.car_searchoption-type-a__range {


  display: flex;


  align-items: center;


  gap: 8px;


  flex: 1;


  min-width: 0;


}





.search_btn-type-a {


  display: flex;


  justify-content: center;


  align-items: center;


  gap: 12px;


  margin-top: 16px;


  padding: 0;


  border: none;


  background: transparent;


}





.search_btn-type-a .ui-btn-primary {


  width: 100%;


  max-width: 240px;


  height: 48px;


  border-radius: 12px;


  font-size: 16px;


  font-weight: 700;


  box-shadow: 0 8px 20px color-mix(in srgb, var(--main-color) 22%, transparent);


  transition: transform 0.15s, box-shadow 0.15s;


}





.search_btn-type-a .ui-btn-primary:hover {


  transform: translateY(-1px);


}





.order-type-a {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 16px;


  margin: 24px 0 16px;


  padding: 0 0 12px;


  border-bottom: 1px solid #e5e7eb;


  background: transparent;


}





/* Override classic dark .order bar for Type A/B modern sort UI */


:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a {


  margin: 20px 0 16px;


  padding: 0 0 12px;


  background: transparent;


  border-bottom: 1px solid #e5e7eb;


}





:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a ul {


  gap: 20px;


  justify-content: flex-start;


}





:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a a,


:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a ul li a {


  padding: 0 0 10px;


  font-size: 14px;


  font-weight: 500;


  color: #6b7280;


  background: transparent;


  border-radius: 0;


}





:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a li.active a,


:is(body.theme-a, body.theme-b) section.car_search .order.order-type-a ul li.active a {


  color: var(--main-color);


  background: transparent;


  font-weight: 700;


  border-bottom: 2px solid var(--main-color);


}





.order-type-a > .ui-select--limit {


  flex-shrink: 0;


  height: 40px;


  min-width: 132px;


  padding: 0 12px;


  border: 1px solid #d1d5db;


  border-radius: 8px;


  background: #fff;


  font-size: 14px;


  color: #4b5563;


}





.order-type-a__sort {


  flex: 1;


  min-width: 0;


  overflow-x: auto;


}





.order-type-a__sort ul {


  display: flex;


  gap: 20px;


  margin: 0;


  padding: 0;


  list-style: none;


  white-space: nowrap;


}





.order-type-a__sort a {


  display: block;


  padding: 0 0 10px;


  font-size: 14px;


  font-weight: 500;


  color: #6b7280;


  border-bottom: 2px solid transparent;


  transition: color 0.15s, border-color 0.15s;


}





.order-type-a__sort li.active a {


  color: var(--main-color);


  font-weight: 700;


  border-bottom-color: var(--main-color);


}





.car_list-type-a {


  padding-bottom: 48px;


}





.car_grid-type-a {


  display: grid;


  grid-template-columns: repeat(2, 1fr);


  gap: 16px;


}





@media (min-width: 992px) {


  .car_grid-type-a {


    grid-template-columns: repeat(4, 1fr);


    gap: 24px;


  }


}





.car-card-type-a {


  border: 1px solid #e5e7eb;


  border-radius: 16px;


  overflow: hidden;


  background: #fff;


  transition: box-shadow 0.25s, transform 0.25s;


}





.car-card-type-a:hover {


  box-shadow: 0 12px 28px rgba(30, 136, 229, 0.12);


  transform: translateY(-4px);


}





.car-card-type-a a {


  display: flex;


  flex-direction: column;


  height: 100%;


  color: inherit;


  text-decoration: none;


}





.car-card-type-a__img {


  overflow: hidden;


  background: #f3f4f6;


}





.car-card-type-a__img img:not(.car-img-label) {


  width: 100%;


  height: 100%;


  object-fit: cover;


  transition: transform 0.45s;


}





.car-card-type-a:hover .car-card-type-a__img img:not(.car-img-label) {


  transform: scale(1.05);


}





.car-card-type-a__body {


  display: flex;


  flex-direction: column;


  flex: 1;


  padding: 16px 20px 20px;


}





.car-card-type-a__brand {


  margin: 0 0 4px;


  font-size: 11px;


  font-weight: 500;


  color: #6b7280;


}





@media (min-width: 768px) {


  .car-card-type-a__brand { font-size: 12px; }


}





.car-card-type-a__tit {


  margin: 0 0 12px;


  font-size: 14px;


  font-weight: 700;


  line-height: 1.35;


  color: #111827;


  display: -webkit-box;


  -webkit-line-clamp: 2;


  -webkit-box-orient: vertical;


  overflow: hidden;


}





@media (min-width: 768px) {


  .car-card-type-a__tit { font-size: 16px; }


}





.car-card-type-a__meta {


  margin-top: auto;


  margin-bottom: 16px;


}





.car-card-type-a__meta-row {


  display: flex;


  justify-content: space-between;


  align-items: center;


  padding: 3px 0;


  font-size: 12px;


}





@media (min-width: 768px) {


  .car-card-type-a__meta-row { font-size: 14px; }


}





.car-card-type-a__meta-row span:first-child {


  color: #9ca3af;


}





.car-card-type-a__meta-row span:last-child {


  font-weight: 500;


  color: #374151;


}





.car-card-type-a__price {


  padding-top: 12px;


  border-top: 1px solid #f3f4f6;


  text-align: right;


}





.car-card-type-a__price-label {


  display: block;


  font-size: 10px;


  color: #6b7280;


  margin-bottom: 2px;


}





@media (min-width: 768px) {


  .car-card-type-a__price-label { font-size: 12px; }


}





.car-card-type-a__price-val {


  display: block;


  font-size: 16px;


  font-weight: 800;


  color: var(--main-color);


  letter-spacing: -0.02em;


}





@media (min-width: 768px) {


  .car-card-type-a__price-val { font-size: 20px; }


}





.car-card-type-a__deposit {


  display: block;


  margin-top: 4px;


  font-size: 10px;


  color: #9ca3af;


}





@media (min-width: 768px) {


  .car-card-type-a__deposit { font-size: 11px; }


}





.car_list-type-a .no_data {


  grid-column: 1 / -1;


  padding: 40px 0;


  text-align: center;


  color: #666;


}





section.car_search .chk_opt .opt_wrap {


  max-height: 180px;


  overflow-y: auto;


  background: transparent;


}





section.car_search .chk_opt .opt_wrap li {


  padding: 10px 14px;


  font-size: 13px;


  border-bottom: 1px solid #f0f0f0;


  cursor: pointer;


  transition: background 0.12s;


}





section.car_search .chk_opt .opt_wrap li:hover {


  background: color-mix(in srgb, var(--main-color) 6%, #fff);


}





section.car_search .chk_opt .opt_wrap li.active {


  background: color-mix(in srgb, var(--main-color) 12%, #fff);


  color: var(--main-color);


  font-weight: 700;


}





section.car_search .chk_opt .head {


  background: #f8f9fb;


  color: #333;


  font-size: 13px;


  border-bottom: 1px solid #eee;


}





section.car_search .car_wrap li {


  border-radius: 12px;


  transition: box-shadow 0.15s, border-color 0.15s;


}





section.car_search .car_wrap li.active {


  box-shadow: 0 4px 16px color-mix(in srgb, var(--main-color) 15%, transparent);


}





section.car_search .result_count {


  margin-bottom: 12px;


  font-size: 14px;


  color: #666;


}





section.car_search .result_count strong { color: var(--main-color); }


section.car_search .result_page {


  color: #666;


  font-size: 0.92em;


  font-weight: normal;


}





section.car_search .result_grid {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  gap: 12px;


  padding-bottom: 48px;


}





section.car_search .result_grid .car-card {


  border: 1px solid #c1c1c1;


  border-radius: 16px;


  overflow: hidden;


  background: #fff;


  transition: box-shadow 0.2s;


}





section.car_search .result_grid .car-card:hover {


  box-shadow: 0 6px 20px color-mix(in srgb, var(--main-color) 20%, transparent);


}





.pagination {


  display: flex;


  justify-content: center;


  gap: 6px;


  padding: 24px 0 48px;


}





.pagination a, .pagination span {


  display: inline-block;


  min-width: 36px;


  padding: 8px 10px;


  text-align: center;


  border: 1px solid #ddd;


  border-radius: 6px;


  font-size: 14px;


}





.pagination .current {


  background: var(--main-color);


  color: #fff;


  border-color: var(--main-color);


}





/* sub_view */


section.car_photo { padding-top: 16px; }





section.car_photo .live-viewers {


  margin-bottom: 12px;


  padding: 10px 14px;


  background: #fff8e1;


  border-radius: 8px;


  font-size: 14px;


}





section.car_photo .car_info ul {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  margin-bottom: 12px;


}





section.car_photo .car_info li {


  padding: 4px 12px;


  font-size: 13px;


  background: #f3f3f3;


  border-radius: 999px;


}





section.car_photo .head h2 {


  margin: 0;


  font-size: 28px;


  font-weight: 700;


}





section.car_photo .head-original {


  display: flex;


  flex-wrap: wrap;


  align-items: flex-end;


  justify-content: space-between;


  gap: 14px 20px;


  margin-bottom: 20px;


}





section.car_photo .head-original h2 {


  flex: 1 1 260px;


  min-width: 0;


  margin: 0;


  font-size: 26px;


  font-weight: 600;


  line-height: 1.35;


  word-break: keep-all;


}





.lease-price-panel {


  flex: 0 1 auto;


  min-width: min(100%, 380px);


  max-width: 100%;


  padding: 12px 14px 14px;


  border-radius: 14px;


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  border: 1.5px solid color-mix(in srgb, var(--accent-color, var(--main-color)) 24%, #e5e5e5);


  box-shadow: 0 8px 24px color-mix(in srgb, var(--accent-color, var(--main-color)) 14%, transparent);


}





.lease-price-panel__badge {


  display: inline-block;


  margin-bottom: 10px;


  padding: 4px 10px;


  border-radius: 999px;


  background: color-mix(in srgb, var(--accent-color, var(--main-color)) 12%, #fff);


  color: color-mix(in srgb, var(--accent-color, var(--main-color)) 85%, #000);


  font-size: 11px;


  font-weight: 800;


  letter-spacing: 0.02em;


}





.lease-price-panel__body {


  display: flex;


  flex-wrap: wrap;


  align-items: center;


  gap: 12px 16px;


}





.lease-term-picker {


  display: inline-flex;


  flex-wrap: wrap;


  gap: 6px;


  padding: 4px;


  border-radius: 999px;


  background: color-mix(in srgb, var(--main-color) 6%, #f3f4f6);


}





.lease-term-btn {


  padding: 7px 12px;


  border: none;


  border-radius: 999px;


  background: transparent;


  color: #666;


  font-size: 12px;


  font-weight: 700;


  cursor: pointer;


  transition: background 0.2s, color 0.2s, box-shadow 0.2s;


}





.lease-term-btn:hover {


  color: var(--main-color);


}





.lease-term-btn.is-active {


  background: #fff;


  color: var(--main-color);


  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);


}





.lease-price-panel__amount {


  display: inline-flex;


  align-items: baseline;


  gap: 4px;


  flex-shrink: 0;


  white-space: nowrap;


}





.lease-price-panel__prefix,


.lease-price-panel__unit {


  font-size: 14px;


  font-weight: 600;


  color: #737373;


}





.lease-price-panel__value {


  font-size: 30px;


  font-weight: 800;


  line-height: 1;


  color: var(--accent-color, var(--main-color));


  letter-spacing: -0.02em;


}





section.car_photo .head-original .month_price {


  display: flex;


  align-items: flex-end;


  gap: 10px;


  flex-shrink: 0;


  margin: 0;


  font-size: 13px;


  color: #737373;


  white-space: nowrap;


}





section.car_photo .head-original .month_price select {


  border: 0;


  border-bottom: 1px solid #ccc;


  background: transparent;


  font-size: 13px;


  color: #737373;


  padding: 2px 0;


  cursor: pointer;


}





section.car_photo .head-original .month_price .month_label {


  font-size: 13px;


  font-weight: 400;


  color: #737373;


}





section.car_photo .head-original .month_price #sub_view_monthly {


  font-weight: 800;


  font-size: 28px;


  color: var(--accent-color, var(--main-color));


  line-height: 0.9;


}





section.car_photo .photo {


  display: flex;


  align-items: flex-start;


  gap: 20px;


}





section.car_photo .big_img_wrap {


  position: relative;


  flex-shrink: 0;


  overflow: hidden;


  border-radius: 20px;


}





section.car_photo .big_img_wrap .big_img {


  width: 680px;


  max-width: 100%;


  border-radius: 10px;


  overflow: hidden;


}





section.car_photo .big_img_wrap .big_img img {


  display: block;


  width: 100%;


  height: 100%;


  border-radius: 10px;


  object-fit: cover;


}





section.car_photo .big_img_wrap .prev_btn,


section.car_photo .big_img_wrap .next_btn {


  position: absolute;


  top: 50%;


  transform: translateY(-50%);


  z-index: 2;


  border: none;


  background: transparent;


  color: rgba(255, 255, 255, 0.85);


  cursor: pointer;


  padding: 0;


  line-height: 0;


  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));


}





section.car_photo .big_img_wrap .prev_btn { left: 12px; }


section.car_photo .big_img_wrap .next_btn { right: 12px; }





section.car_photo .big_img_wrap .prev_btn:hover,


section.car_photo .big_img_wrap .next_btn:hover {


  color: #fff;


}





section.car_photo .sm_img {


  display: flex;


  flex-wrap: wrap;


  align-content: flex-start;


  gap: 4px;


  flex: 1;


  min-width: 0;


}





section.car_photo .sm_img .img_wrap {


  overflow: hidden;


  position: relative;


  width: calc((100% - 8px) / 3);


  border-radius: 6px;


  cursor: pointer;


  border: 2px solid transparent;


  transition: border-color 0.15s;


}





section.car_photo .sm_img .img_wrap.active {


  border-color: var(--main-color);


}





section.car_photo .sm_img .pd {


  padding-top: 75%;


  position: relative;


}





section.car_photo .sm_img .pd img {


  position: absolute;


  left: 0;


  top: 0;


  display: block;


  width: 100%;


  height: 100%;


  object-fit: cover;


}





section.car_photo .month_price {


  font-size: 18px;


  margin-bottom: 20px;


}





section.car_photo .month_price span {


  font-weight: 800;


  font-size: 32px;


  color: var(--main-color);


}





.sub-view-info-layout {


  display: grid;


  grid-template-columns: 1fr 340px;


  gap: 28px;


  align-items: start;


}





section.car_info_view .mark_wrap {


  margin-bottom: 16px;


}





section.car_info_view .mark_wrap ul {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  list-style: none;


  margin: 0;


  padding: 0;


}





section.car_info_view .mark_wrap li.bg {


  padding: 7px 20px;


  font-size: 16px;


  color: #757575;


  border: 1px solid #ccc;


  border-radius: 8px;


  background: #e3e3e3;


}





section.car_info_view h2.sub-view-h2,


section.car_info_view .sub-view-h2 {


  padding-bottom: 10px;


  margin: 0 0 20px;


  font-size: 24px;


  font-weight: 700;


  border-bottom: 1px solid #ccc;


}





section.car_info_view .table_wrap { width: 100%; }





section.car_info_view .car-basic-info-table {


  width: 100%;


  border-collapse: collapse;


  table-layout: fixed;


  margin-bottom: 0;


}





section.car_info_view .car-basic-info-table th {


  width: 8.5%;


  padding: 12px 10px 12px 0;


  font-size: 16px;


  font-weight: 500;


  color: #8f8f8f;


  text-align: left;


  vertical-align: middle;


  white-space: nowrap;


  background: transparent;


  border: none;


}





section.car_info_view .car-basic-info-table td {


  width: 16.5%;


  padding: 12px 16px 12px 0;


  font-size: 16px;


  font-weight: 600;


  color: #111;


  vertical-align: middle;


  word-break: keep-all;


  border: none;


}





section.car_info_view .car-basic-info-table td[colspan="3"] {


  width: auto;


}





section.car_info_view .info-link-btn {


  display: inline-block;


  padding: 4px 10px;


  font-size: 14px;


  font-weight: 600;


  color: #fff;


  border-radius: 5px;


  background: var(--main-color);


  text-decoration: none;


  white-space: nowrap;


}





/* 차량 기본정보 — spec-grid (temp3 반영) */


section.car_info_view .basic-info-mobile {


  display: none;


}





section.car_info_view .basic-info-desktop.spec-grid {


  display: grid;


}





section.car_info_view .spec-grid {


  grid-template-columns: 7.5rem 1fr 7.5rem 1fr;


  grid-auto-rows: minmax(3rem, auto);


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  overflow: hidden;


  font-size: 14px;


}





section.car_info_view .spec-grid__label {


  padding: 14px 16px;


  background: #f9fafb;


  color: #6b7280;


  font-weight: 600;


  font-size: 13px;


  border-right: 1px solid #e5e7eb;


  border-bottom: 1px solid #e5e7eb;


  display: flex;


  align-items: center;


}





section.car_info_view .spec-grid__value {


  padding: 14px 16px;


  color: #111827;


  border-right: 1px solid #e5e7eb;


  border-bottom: 1px solid #e5e7eb;


  display: flex;


  align-items: center;


  word-break: keep-all;


}





section.car_info_view .spec-grid__value.is-primary {


  font-weight: 700;


  color: var(--main-color);


}





section.car_info_view .spec-grid__link {


  font-weight: 700;


  color: var(--main-color);


  text-decoration: none;


}





section.car_info_view .spec-grid__link:hover {


  text-decoration: underline;


}





section.car_info_view .spec-grid__label:nth-child(4n),


section.car_info_view .spec-grid__value:nth-child(4n) {


  border-right: none;


}





section.car_info_view .spec-grid__label:nth-last-child(-n+2),


section.car_info_view .spec-grid__value:nth-last-child(-n+2) {


  border-bottom: none;


}





section.car_info_view .spec-grid__value--span3 {


  grid-column: span 3;


  border-right: none;


}





section.car_info_view .spec-grid__label--sale {


  border-bottom: none;


}





section.car_info_view .spec-card {


  padding: 12px;


  border-radius: 12px;


  background: #f9fafb;


  border: 1px solid #f3f4f6;


  min-height: 4.25rem;


  display: flex;


  flex-direction: column;


  justify-content: center;


}





section.car_info_view .spec-card dt {


  font-size: 10px;


  color: #6b7280;


  margin-bottom: 2px;


}





section.car_info_view .spec-card dd {


  margin: 0;


  font-size: 14px;


  font-weight: 700;


  color: #111827;


  word-break: keep-all;


}





section.car_info_view .spec-card dd.is-primary {


  color: var(--main-color);


}





section.car_info_view .spec-card--wide {


  grid-column: span 2;


}





section.car_info_view .sale-method-tip {


  position: relative;


  display: inline-flex;


}





section.car_info_view .sale-method-tip__btn {


  width: 18px;


  height: 18px;


  border-radius: 9999px;


  border: 1px solid #9ca3af;


  font-size: 10px;


  font-weight: 700;


  font-style: italic;


  font-family: Georgia, serif;


  color: #6b7280;


  background: #fff;


  cursor: pointer;


  line-height: 1;


  flex-shrink: 0;


}





section.car_info_view .sale-method-tip__btn:hover {


  border-color: var(--main-color);


  color: var(--main-color);


}





section.car_info_view .sale-method-tip__pop {


  display: none;


  position: absolute;


  left: 50%;


  bottom: calc(100% + 8px);


  transform: translateX(-50%);


  z-index: 20;


  min-width: max-content;


  max-width: 16rem;


  padding: 8px 12px;


  border-radius: 8px;


  background: #1f2937;


  color: #fff;


  font-size: 12px;


  font-weight: 500;


  line-height: 1.4;


  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);


  white-space: nowrap;


}





section.car_info_view .sale-method-tip__pop.is-open {


  display: block;


}





section.car_info_view .sale-method-tip__pop::after {


  content: '';


  position: absolute;


  left: 50%;


  top: 100%;


  transform: translateX(-50%);


  border: 5px solid transparent;


  border-top-color: #1f2937;


}





section.car_info_view .sale-method-inline {


  display: inline-flex;


  align-items: center;


  gap: 6px;


  flex-wrap: wrap;


}





section.mosque.sub-view-mosque {


  padding-top: 40px;


  padding-bottom: 24px;


}





section.mosque.sub-view-mosque .inner_wrap {


  display: flex;


  justify-content: space-between;


  gap: 20px;


  align-items: flex-start;


}





section.mosque.sub-view-mosque .info_wrap {


  width: calc(100% - 280px);


  max-width: none;


  padding: 15px 0;


}





section.mosque.sub-view-mosque .table_wrap {


  width: 100%;


}





section.mosque.sub-view-mosque .dealer-info-table {


  width: 100%;


  border-collapse: collapse;


  table-layout: fixed;


  border-top: 1px solid #e0e0e0;


}





section.mosque.sub-view-mosque .dealer-info-table tr {


  border-bottom: 1px solid #eee;


}





section.mosque.sub-view-mosque .dealer-info-table th {


  width: 130px;


  padding: 14px 12px;


  font-size: 16px;


  font-weight: 500;


  color: #666;


  text-align: left;


  vertical-align: top;


  background: #f8f8f8;


}





section.mosque.sub-view-mosque .dealer-info-table td {


  padding: 14px 16px;


  font-size: 16px;


  color: #222;


  line-height: 1.55;


  vertical-align: top;


  word-break: keep-all;


}





section.mosque.sub-view-mosque .dealer-info-table td.tel {


  font-size: 24px;


  font-weight: 700;


  color: var(--main-color);


}





section.mosque.sub-view-mosque .dealer-card-btn {


  padding: 2px 8px;


  margin-left: 6px;


  border: 1px solid var(--main-color);


  border-radius: 4px;


  background: #fff;


  color: var(--main-color);


  font-size: 13px;


  cursor: pointer;


}





section.mosque.sub-view-mosque .counsel_wrap {


  flex-shrink: 0;


  overflow: hidden;


  width: 260px;


  border-radius: 12px;


  border: none;


  background: #fff;


  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);


}





section.mosque.sub-view-mosque .counsel_wrap_top {


  padding: 16px 14px;


  background: var(--main-color);


  color: #fff;


}





section.mosque.sub-view-mosque .counsel_wrap_title {


  display: flex;


  flex-direction: column;


  gap: 4px;


}





section.mosque.sub-view-mosque .counsel_wrap_title strong {


  font-size: 16px;


  font-weight: 800;


  letter-spacing: -0.02em;


}





section.mosque.sub-view-mosque .counsel_wrap_title span {


  font-size: 12px;


  opacity: 0.88;


}





section.mosque.sub-view-mosque .form_wrap {


  border-top: none;


}





section.mosque.sub-view-mosque .counsel-sidebar-form {


  gap: 12px;


  padding: 14px 14px 16px;


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-label {


  font-size: 12px;


  font-weight: 700;


  color: color-mix(in srgb, var(--main-color) 80%, #333);


}





section.mosque.sub-view-mosque .counsel-car-field {


  gap: 6px;


}





section.mosque.sub-view-mosque .counsel-car-card {


  padding: 12px 13px;


  border-radius: 10px;


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  border: 1.5px solid color-mix(in srgb, var(--main-color) 20%, #ddd);


}





section.mosque.sub-view-mosque .counsel-car-card__badge {


  display: inline-block;


  padding: 3px 8px;


  margin-bottom: 7px;


  border-radius: 5px;


  background: var(--main-color);


  color: #fff;


  font-size: 11px;


  font-weight: 700;


  letter-spacing: 0.04em;


}





section.mosque.sub-view-mosque .counsel-car-card__name {


  margin: 0 0 3px;


  font-size: 14px;


  font-weight: 700;


  color: #222;


  line-height: 1.35;


  word-break: keep-all;


}





section.mosque.sub-view-mosque .counsel-car-card__grade {


  margin: 0;


  font-size: 12px;


  color: #666;


  line-height: 1.4;


  word-break: keep-all;


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-input-wrap {


  border-radius: 10px;


  border-width: 1.5px;


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-input-wrap input {


  padding: 11px 12px;


  font-size: 14px;


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-input-wrap:focus-within {


  box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 12%, transparent);


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-agree {


  font-size: 11px;


  line-height: 1.45;


  color: #777;


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-agree input {


  flex-shrink: 0;


  margin-top: 2px;


  accent-color: var(--main-color);


}





section.mosque.sub-view-mosque .counsel-sidebar-form .ui-btn-primary {


  margin-top: 2px;


  padding: 13px 16px;


  font-size: 15px;


  border-radius: 10px;


}





/* sub_view — origin section layout */


section.car_info_view h2 {


  padding-bottom: 10px;


  margin-bottom: 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.car_info_view .mark_wrap {


  margin-bottom: 10px;


}





section.car_info_view .mark_wrap ul {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


}





section.car_info_view .mark_wrap li.bg {


  padding: 7px 20px;


  font-size: 16px;


  color: #757575;


  border: 1px solid #ccc;


  border-radius: 8px;


  background: #e3e3e3;


}





section.car_info_view .table_wrap table {


  width: 100%;


  border-collapse: collapse;


}





section.car_info_view .table_wrap th {


  font-weight: 500;


  font-size: 16px;


  color: #8f8f8f;


}





section.car_info_view .table_wrap td {


  padding: 10px 15px;


  font-size: 16px;


  font-weight: 600;


}





section.car_info_view .table_wrap td a {


  display: inline-block;


  padding: 2px 5px;


  font-size: 14px;


  color: #fff;


  border-radius: 5px;


  background: var(--main-color);


  text-decoration: none;


}





section.option_info {


  padding-top: 60px;


}





section.option_info h2 {


  padding-bottom: 20px;


  margin-bottom: 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.option_info p.sub_tit {


  margin-bottom: 10px;


  font-weight: 500;


  font-size: 20px;


  color: var(--main-color);


}





section.option_info .info_wrap .list {


  display: block;


  padding: 0;


  border-top: 1px solid #ccc;


}





section.option_info .info_wrap .list .tit {


  width: 100%;


  margin: 0;


  padding: 20px 0;


  font-weight: 600;


  font-size: 17px;


  cursor: pointer;


  position: relative;


}





section.option_info .info_wrap .list .tit::after {


  content: '▼';


  float: right;


  margin-right: 10px;


  font-size: 12px;


  color: #999;


  transition: transform 0.3s;


}





section.option_info .info_wrap .list.open .tit::after {


  transform: rotate(180deg);


}





section.option_info .info_wrap .list .opt_wrap {


  display: none;


  padding-bottom: 30px;


}





section.option_info .info_wrap .list.open .opt_wrap {


  display: block;


}





section.option_info .info_wrap .list .opt_wrap ul {


  display: flex;


  flex-wrap: wrap;


  list-style: none;


  margin: 0;


  padding: 0;


}





section.option_info .info_wrap .list .opt_wrap li {


  flex: 0 0 25%;


  margin-bottom: 20px;


  font-weight: 500;


  color: #bbb;


}





section.option_info .info_wrap .list .opt_wrap li.active {


  color: #222;


  font-weight: 700;


}





section.explain {


  padding-top: 40px;


}





section.explain h2 {


  padding-bottom: 20px;


  margin-bottom: 0;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.explain .explain-viewers-bar {


  display: flex;


  justify-content: center;


  margin: 20px 0 24px;


}





section.explain .explain-live-viewers {


  display: inline-flex;


  align-items: center;


  gap: 6px;


  padding: 10px 22px;


  border-radius: 999px;


  background: #242a3a;


  color: #fff;


  font-size: 14px;


  font-weight: 500;


  box-shadow: 0 4px 16px rgba(36, 42, 58, 0.22);


  animation: explain-viewers-float 2.8s ease-in-out infinite;


}





section.explain .explain-live-viewers strong {


  color: #5eead4;


  font-weight: 800;


}





@keyframes explain-viewers-float {


  0%, 100% { transform: translateY(0); }


  50% { transform: translateY(-3px); }


}





section.explain .info_wrap {


  overflow: hidden;


  border: 1px solid #ccc;


  border-radius: 10px;


}





section.explain .explain-info-wrap {


  padding: 0;


  background: #fff;


}





section.explain .explain-detail {


  overflow: hidden;


}





section.explain .explain-hero,


.explain-detail .explain-hero {


  padding: 36px 32px 40px;


  background: var(--main-color);


  color: #fff;


}





section.explain .explain-hero__title,


.explain-detail .explain-hero__title {


  margin: 0 0 12px;


  font-size: 28px;


  font-weight: 800;


  line-height: 1.35;


}





section.explain .explain-hero__title span,


.explain-detail .explain-hero__title span {


  color: #fff;


  font-weight: 900;


  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);


}





section.explain .explain-hero__lead,


.explain-detail .explain-hero__lead {


  margin: 0 0 18px;


  max-width: 640px;


  font-size: 15px;


  line-height: 1.65;


  opacity: 0.95;


}





section.explain .explain-hero__tags,


.explain-detail .explain-hero__tags {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


}





section.explain .explain-hero__tags span,


.explain-detail .explain-hero__tags span {


  padding: 6px 12px;


  border-radius: 999px;


  background: rgba(255, 255, 255, 0.14);


  border: 1px solid rgba(255, 255, 255, 0.28);


  font-size: 12px;


  font-weight: 600;


  color: #fff;


}





section.explain .explain-features {


  padding: 28px 24px 32px;


  background: #f8fafb;


}





section.explain .explain-features__title {


  margin: 0 0 20px;


  font-size: 18px;


  font-weight: 800;


  color: var(--main-color);


}





section.explain .explain-features__grid {


  display: grid;


  grid-template-columns: repeat(3, 1fr);


  gap: 16px;


}





section.explain .explain-feature-card {


  padding: 20px 16px;


  border: 1px solid #e5e7eb;


  border-radius: 12px;


  background: #fff;


  text-align: center;


}





section.explain .explain-feature-card__icon {


  width: 56px;


  height: 56px;


  margin: 0 auto 12px;


  color: var(--main-color);


}





section.explain .explain-feature-card__icon svg {


  width: 100%;


  height: 100%;


}





section.explain .explain-feature-card h5 {


  margin: 0 0 8px;


  font-size: 15px;


  font-weight: 700;


  color: #222;


}





section.explain .explain-feature-card p {


  margin: 0;


  font-size: 13px;


  line-height: 1.55;


  color: #666;


}





section.explain .inner_wrap {


  position: relative;


}





section.car_img.car_img-stack .info_wrap li {


  flex: 0 0 100%;


  padding: 8px 0;


}





section.car_img.car_img-stack .info_wrap li img {


  border-radius: 10px;


}





/* PC 스크롤 하단 요약 도크 (temp3 반영) */


.quick-info-dock {


  visibility: hidden;


  opacity: 0;


  z-index: 900;


  position: fixed;


  left: 50%;


  bottom: 20px;


  transform: translateX(-50%) translateY(calc(100% + 20px));


  width: min(80rem, calc(100% - 4rem));


  transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);


  pointer-events: none;


}





.quick-info-dock.is-active {


  visibility: visible;


  opacity: 1;


  transform: translateX(-50%) translateY(0);


  pointer-events: auto;


}





.quick-info-dock__card {


  position: relative;


  border-radius: 20px;


  border: 1px solid #e5e7eb;


  background: rgba(255, 255, 255, 0.97);


  backdrop-filter: blur(12px);


  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(255, 255, 255, 0.6) inset;


  overflow: hidden;


}





.quick-info-dock__viewers {


  display: flex;


  align-items: center;


  justify-content: center;


  gap: 6px;


  padding: 10px 16px;


  background: #242a3a;


  color: #fff;


  font-size: 13px;


  font-weight: 500;


  line-height: 1.4;


}





.quick-info-dock__viewers strong {


  color: #5eead4;


  font-weight: 800;


}





.quick-info-dock__body {


  display: grid;


  grid-template-columns: minmax(0, 1fr) auto auto auto;


  align-items: center;


  gap: 20px 24px;


  padding: 16px 20px 18px;


}





.quick-info-dock__title {


  margin: 0 0 8px;


  font-size: 17px;


  font-weight: 800;


  color: #111827;


  line-height: 1.35;


  display: -webkit-box;


  -webkit-line-clamp: 2;


  -webkit-box-orient: vertical;


  overflow: hidden;


}





.quick-info-dock__specs {


  display: flex;


  flex-wrap: wrap;


  gap: 6px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.quick-info-dock__spec {


  padding: 4px 8px;


  border-radius: 8px;


  background: #f9fafb;


  border: 1px solid #f3f4f6;


  font-size: 11px;


  font-weight: 600;


  color: #4b5563;


  white-space: nowrap;


}





.quick-info-dock__price {


  text-align: right;


  padding-left: 16px;


  border-left: 1px solid #f3f4f6;


  min-width: 152px;


}





.quick-info-dock__price-label {


  margin: 0 0 2px;


  font-size: 11px;


  font-weight: 700;


  color: #6b7280;


}





.quick-info-dock__price-label span {


  font-weight: 500;


  color: #9ca3af;


}





.quick-info-dock__price-value {


  margin: 0;


  display: flex;


  align-items: baseline;


  justify-content: flex-end;


  gap: 2px;


  flex-wrap: wrap;


}





.quick-info-dock__price-value #quick_info_monthly {


  font-size: 26px;


  font-weight: 900;


  color: var(--main-color);


  letter-spacing: -0.02em;


  line-height: 1;


}





.quick-info-dock__price-unit {


  font-size: 15px;


  font-weight: 700;


  color: #374151;


}





.quick-info-dock__price-term {


  width: 100%;


  margin: 0;


  font-size: 12px;


  font-weight: 500;


  color: #9ca3af;


  text-align: right;


}





.quick-info-dock__dealer {


  padding-left: 16px;


  border-left: 1px solid #f3f4f6;


  min-width: 136px;


}





.quick-info-dock__dealer-name {


  margin: 0 0 4px;


  font-size: 12px;


  font-weight: 700;


  color: #374151;


}





.quick-info-dock__dealer-tel {


  margin: 0;


  font-size: 16px;


  font-weight: 800;


  color: var(--main-color);


  letter-spacing: -0.01em;


}





.quick-info-dock__actions {


  display: flex;


  flex-direction: column;


  gap: 8px;


  padding-left: 16px;


  border-left: 1px solid #f3f4f6;


  min-width: 120px;


}





.quick-info-dock__btn {


  display: inline-flex;


  align-items: center;


  justify-content: center;


  min-height: 40px;


  padding: 0 16px;


  border-radius: 12px;


  font-size: 13px;


  font-weight: 700;


  text-decoration: none;


  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;


  white-space: nowrap;


}





.quick-info-dock__btn:hover {


  transform: translateY(-1px);


}





.quick-info-dock__btn--call {


  background: #111827;


  color: #fff;


}





.quick-info-dock__btn--call:hover {


  background: #1f2937;


}





.quick-info-dock__btn--counsel {


  background: var(--main-color);


  color: #fff;


  box-shadow: 0 4px 14px color-mix(in srgb, var(--main-color) 35%, transparent);


}





.quick-info-dock__btn--counsel:hover {


  background: color-mix(in srgb, var(--main-color) 88%, #000);


}





/* 모바일 하단 상담 바 (temp3 반영) */


.bottom-counsel {


  display: none;


  position: fixed;


  left: 0;


  right: 0;


  bottom: 0;


  z-index: 85;


  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0));


  background: rgba(255, 255, 255, 0.96);


  backdrop-filter: blur(10px);


  -webkit-backdrop-filter: blur(10px);


  pointer-events: none;


}





.bottom-counsel__inner {


  display: flex;


  align-items: stretch;


  gap: 10px;


  max-width: 28rem;


  margin: 0 auto;


  pointer-events: auto;


}





.bottom-counsel__btn {


  flex: 1;


  display: inline-flex;


  align-items: center;


  justify-content: center;


  gap: 6px;


  min-height: 48px;


  padding: 0 16px;


  border-radius: 9999px;


  font-size: 14px;


  font-weight: 700;


  text-decoration: none;


  line-height: 1;


  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;


  -webkit-tap-highlight-color: transparent;


}





.bottom-counsel__btn:active {


  transform: scale(0.98);


}





.bottom-counsel__btn svg {


  flex-shrink: 0;


  width: 18px;


  height: 18px;


}





.bottom-counsel__btn--sms {


  background: #fff;


  color: var(--main-color);


  border: 1.5px solid var(--main-color);


  box-shadow: 0 2px 10px color-mix(in srgb, var(--main-color) 10%, transparent);


}





.bottom-counsel__btn--tel {


  background: var(--main-color);


  color: #fff;


  border: 1.5px solid var(--main-color);


  box-shadow: 0 4px 16px color-mix(in srgb, var(--main-color) 35%, transparent);


  animation: bottom-counsel-tel-glow 2s ease-in-out infinite;


}





@keyframes bottom-counsel-tel-glow {


  0%, 100% { box-shadow: 0 4px 16px color-mix(in srgb, var(--main-color) 35%, transparent); }


  50% { box-shadow: 0 4px 22px color-mix(in srgb, var(--main-color) 55%, transparent); }


}





section.explain .info_wrap img {


  display: block;


  width: 100%;


}





section.car_img {


  padding-top: 60px;


}





section.car_img h2 {


  padding-bottom: 20px;


  margin-bottom: 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.car_img .info_wrap ul {


  display: flex;


  flex-wrap: wrap;


  list-style: none;


  margin: 0;


  padding: 0;


}





section.car_img .info_wrap li {


  flex: 0 0 50%;


  padding: 5px;


}





section.car_img .info_wrap li img {


  display: block;


  width: 100%;


  border-radius: 8px;


}





section.guide {


  padding-top: 60px;


}





section.guide h2 {


  margin-bottom: 20px;


  font-size: 24px;


}





section.guide h2 span {


  display: inline-block;


  margin-left: 10px;


  font-weight: 500;


  font-size: 15px;


}





section.guide .info_wrap table {


  width: 100%;


  border-collapse: collapse;


}





section.guide .info_wrap th,


section.guide .info_wrap td {


  padding: 15px 10px;


  border-top: 1px solid #ccc;


  vertical-align: top;


}





section.guide .info_wrap td ul {


  margin: 0;


  padding: 0;


  list-style: none;


}





section.guide .info_wrap td li {


  margin-bottom: 4px;


  font-size: 14px;


  line-height: 1.5;


}





section.status {


  padding-top: 60px;


}





section.status h2 {


  padding-bottom: 20px;


  margin-bottom: 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.status .info_wrap {


  overflow-y: auto;


  max-height: 600px;


  border: 1px solid #ccc;


  border-radius: 10px;


}





section.status .info_wrap img {


  display: block;


  width: 100%;


}





section.status .performance-iframe-wrap {


  overflow: hidden;


  padding: 0;


  max-height: none;


}





section.status .performance-toolbar {


  display: flex;


  justify-content: flex-end;


  padding: 10px 12px;


  border-bottom: 1px solid #e5e7eb;


  background: #f8fafc;


}





section.status .performance-expand-btn {


  appearance: none;


  border: 1px solid color-mix(in srgb, var(--main-color, #1e88e5) 35%, #e5e7eb);


  background: color-mix(in srgb, var(--main-color, #1e88e5) 8%, #fff);


  color: var(--main-color, #1e88e5);


  font-size: 13px;


  font-weight: 700;


  border-radius: 8px;


  padding: 8px 12px;


  cursor: pointer;


}





section.status .performance-iframe-wrap iframe {


  display: block;


  width: 100%;


  min-height: 600px;


  border: none;


}





section.status .performance-empty {


  padding: 48px 20px;


  text-align: center;


  color: #888;


}





/* 성능기록부 전체화면 */


.perf-fullscreen {


  position: fixed;


  inset: 0;


  z-index: 10050;


  display: flex;


  flex-direction: column;


  background: #fff;


}


.perf-fullscreen[hidden] { display: none !important; }


.perf-fullscreen__bar {


  flex: 0 0 auto;


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 12px;


  padding: 10px 14px;


  padding-top: calc(10px + env(safe-area-inset-top, 0px));


  background: #111827;


  color: #fff;


}


.perf-fullscreen__title {


  font-size: 15px;


  font-weight: 800;


  letter-spacing: -0.02em;


}


.perf-fullscreen__actions {


  display: flex;


  align-items: center;


  gap: 8px;


}


.perf-fullscreen__ext,


.perf-fullscreen__close {


  appearance: none;


  border: 1px solid rgba(255,255,255,.28);


  background: rgba(255,255,255,.08);


  color: #fff;


  font-size: 13px;


  font-weight: 700;


  border-radius: 8px;


  padding: 8px 12px;


  text-decoration: none;


  cursor: pointer;


}


.perf-fullscreen__body {


  flex: 1 1 auto;


  min-height: 0;


  overflow: auto;


  -webkit-overflow-scrolling: touch;


  background: #fff;


  position: relative;


}


.perf-fullscreen__scaler {


  position: relative;


  width: 100%;


  overflow: hidden;


}


.perf-fullscreen__body iframe,


.perf-fullscreen__frame {


  display: block;


  border: 0;


  background: #fff;


  position: absolute;


  top: 0;


  left: 0;


  max-width: none;


}


.perf-fullscreen__img-wrap {


  min-height: 100%;


  padding: 0;


  display: block;


  overflow: auto;


  -webkit-overflow-scrolling: touch;


}


.perf-fullscreen__img-wrap img {


  display: block;


  width: 100%;


  max-width: none;


  height: auto;


  background: #fff;


}


body.perf-fullscreen-open {


  overflow: hidden;


}





section.price_list.sub-view-lease {


  padding-top: 40px;


}





section.price_list.sub-view-lease h2 {


  padding-bottom: 10px;


  margin-bottom: 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


}





section.price_list.sub-view-lease .form_inner {


  display: flex;


  gap: 30px;


  padding: 20px;


  border-radius: 20px;


  background: #f3f4f6;


}





section.price_list.sub-view-lease .left_wrap {


  width: 275px;


  padding: 20px;


  border-radius: 20px;


  background: #fff;


}





section.price_list.sub-view-lease .car_model {


  font-size: 22px;


  font-weight: 700;


}





section.price_list.sub-view-lease .car_desc {


  margin-top: 6px;


  color: #666;


  word-break: keep-all;


}





section.price_list.sub-view-lease .mon_wrap .tit {


  margin: 16px 0 8px;


  font-weight: 500;


  font-size: 15px;


}





section.price_list.sub-view-lease .mon_wrap ul {


  list-style: none;


  margin: 0;


  padding: 0;


}





section.price_list.sub-view-lease .mon_wrap li {


  position: relative;


  height: 46px;


}





section.price_list.sub-view-lease .mon_wrap li + li {


  margin-top: 8px;


}





section.price_list.sub-view-lease .mon_wrap label {


  position: absolute;


  inset: 0;


  display: flex;


  align-items: center;


  padding-left: 30px;


  border: 1px solid #ccc;


  border-radius: 8px;


  cursor: pointer;


}





section.price_list.sub-view-lease .mon_wrap input:checked + label {


  border: 2px solid var(--main-color);


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


}





section.price_list.sub-view-lease .right_wrap {


  display: flex;


  flex-wrap: wrap;


  gap: 15px;


  flex: 1;


  min-width: 0;


}





section.price_list.sub-view-lease .big_box {


  display: flex;


  justify-content: space-between;


  width: 100%;


  padding: 15px 25px;


  border-radius: 12px;


  background: #242a3a;


}





section.price_list.sub-view-lease .big_box .one {


  display: inline-block;


  padding: 2px 8px;


  margin-bottom: 10px;


  font-weight: 500;


  color: #000;


  border-radius: 5px;


  background: #facc15;


}





section.price_list.sub-view-lease .big_box h2 {


  margin: 0;


  padding: 0;


  border: none;


  font-size: 36px;


  color: #fff;


}





section.price_list.sub-view-lease .big_box .desc {


  margin-top: 8px;


  font-size: 14px;


  color: #bfdbfe;


}





section.price_list.sub-view-lease .right_con {


  padding: 16px;


  border: 1px solid rgba(255, 255, 255, 0.3);


  border-radius: 10px;


  background: rgba(255, 255, 255, 0.15);


  text-align: right;


  color: #fff;


}





section.price_list.sub-view-lease .right_con .pri {


  margin-top: 8px;


  font-size: 36px;


  font-weight: 700;


  color: #facc15;


}





section.price_list.sub-view-lease .right_con .pri span:last-child {


  font-size: 18px;


  font-weight: 400;


  color: #fff;


}





section.price_list.sub-view-lease .sm_box {


  position: relative;


  display: flex;


  align-items: center;


  justify-content: space-between;


  width: calc((100% - 15px) / 2);


  padding: 13px 16px 13px 42px;


  border-radius: 10px;


  background: #fff;


  cursor: pointer;


  transition: box-shadow 0.2s;


}





section.price_list.sub-view-lease .sm_box::after {


  content: "";


  position: absolute;


  left: 15px;


  top: 50%;


  transform: translateY(-50%);


  width: 8px;


  height: 32px;


  border-radius: 0 5px 5px 0;


  background: #d1d5db;


  transition: background 0.2s;


}





section.price_list.sub-view-lease .sm_box.active::after,


section.price_list.sub-view-lease .sm_box:hover::after {


  background: var(--main-color);


}





section.price_list.sub-view-lease .sm_box .com_card {


  margin: 0;


  font-weight: 700;


  font-size: 18px;


}





section.price_list.sub-view-lease .sm_box .pri_wrap {


  font-weight: 700;


  font-size: 18px;


}





section.price_list.sub-view-lease .sm_box .pri_wrap span {


  font-size: 13px;


  font-weight: 500;


}





section.price_list.sub-view-lease .promo-disclaimers {


  margin: 16px 0 0;


  padding: 0 20px 20px;


  list-style: none;


  font-size: 13px;


  color: #666;


  line-height: 1.6;


}





/* ── hd-carlease 동일: 중고차 리스 특별 프로모션 ── */


section.price_list.price_list--hd {


  padding-top: 40px;


  width: 100%;


  max-width: 100%;


  box-sizing: border-box;


}





section.price_list.price_list--hd .inner_wrap {


  width: 100%;


  max-width: 1024px;


  margin: 0 auto;


  box-sizing: border-box;


}





section.price_list.price_list--hd h2 {


  padding-bottom: 10px;


  margin: 0 0 20px;


  font-size: 24px;


  border-bottom: 1px solid #ccc;


  font-weight: 800;


  color: #111;


}





section.price_list.price_list--hd .form_inner {


  display: flex;


  gap: 30px;


  padding: 20px;


  border-radius: 20px;


  background: #f3f4f6;


  box-sizing: border-box;


}





section.price_list.price_list--hd .left_wrap {


  width: 275px;


  flex-shrink: 0;


  padding: 20px;


  border-radius: 20px;


  background: #fff;


  box-sizing: border-box;


}





section.price_list.price_list--hd .left_wrap hr {


  margin: 18px 0;


  border: 0;


  border-top: 1px solid #e5e7eb;


}





section.price_list.price_list--hd .mon_wrap p.tit,


section.price_list.price_list--hd .per_wrap p.tit {


  margin: 0 0 5px;


  font-weight: 500;


  font-size: 15px;


  color: #222;


}





section.price_list.price_list--hd .mon_wrap ul {


  list-style: none;


  margin: 0;


  padding: 0;


}





section.price_list.price_list--hd .mon_wrap ul li {


  position: relative;


  height: 46px;


  padding: 13px 10px 13px 11px;


}





section.price_list.price_list--hd .mon_wrap ul li + li {


  margin-top: 8px;


}





section.price_list.price_list--hd .mon_wrap ul li input {


  position: relative;


  z-index: 1;


  opacity: 0;


  width: 1px;


  height: 1px;


}





section.price_list.price_list--hd .mon_wrap ul li label {


  position: absolute;


  left: 50%;


  top: 50%;


  transform: translate(-50%, -50%);


  display: block;


  width: 100%;


  height: 100%;


  padding: 11px 10px 11px 30px;


  border: 1px solid #ccc;


  border-radius: 8px;


  cursor: pointer;


  box-sizing: border-box;


  line-height: 1.4;


  font-size: 14px;


}





section.price_list.price_list--hd .mon_wrap ul li input:checked + label {


  border: 2px solid var(--main-color, #1e88e5);


  padding: 10px 10px 11px 29px;


  background: color-mix(in srgb, var(--main-color, #1e88e5) 10%, #fff);


}





section.price_list.price_list--hd .per_wrap {


  margin-top: 20px;


}





section.price_list.price_list--hd .per_wrap ul {


  display: flex;


  gap: 5px;


  list-style: none;


  margin: 0;


  padding: 0;


}





section.price_list.price_list--hd .per_wrap ul li {


  flex: 1;


}





section.price_list.price_list--hd .per_wrap ul li input.blind {


  position: absolute;


  width: 1px;


  height: 1px;


  opacity: 0;


  pointer-events: none;


}





section.price_list.price_list--hd .per_wrap ul li label {


  display: block;


  width: 100%;


  padding: 2px 0;


  font-size: 13px;


  border: 1px solid #ccc;


  border-radius: 3px;


  text-align: center;


  cursor: pointer;


  box-sizing: border-box;


}





section.price_list.price_list--hd .per_wrap ul li input:checked + label {


  color: #fff;


  border: 1px solid var(--main-color, #1e88e5);


  background: var(--main-color, #1e88e5);


}





section.price_list.price_list--hd .per_wrap .text-blue {


  margin-top: 8px;


  font-size: 12px;


  color: var(--main-color, #1e88e5);


  line-height: 1.4;


}





section.price_list.price_list--hd .per_wrap.text-end {


  text-align: right;


}





section.price_list.price_list--hd .per_wrap .pri {


  margin-top: 6px;


  font-size: 20px;


  font-weight: 800;


  color: #111;


}





section.price_list.price_list--hd .right_wrap {


  display: flex;


  flex-wrap: wrap;


  gap: 15px;


  width: calc(100% - 300px);


  min-width: 0;


  box-sizing: border-box;


}





section.price_list.price_list--hd .marquee-container {


  width: 100%;


  background-color: #000;


  overflow: hidden;


  position: relative;


  padding: 8px 0;


  border-radius: 8px;


}





section.price_list.price_list--hd .marquee-track {


  display: flex;


  width: max-content;


  will-change: transform;


  animation: hd-promo-scroll-infinite 10s linear infinite;


}





section.price_list.price_list--hd .marquee-text {


  white-space: nowrap;


  font-size: 21px;


  font-weight: bold;


  color: #fff;


  padding-right: 60px;


}





@keyframes hd-promo-scroll-infinite {


  0% { transform: translateX(0); }


  100% { transform: translateX(-50%); }


}





section.price_list.price_list--hd .big_box {


  display: flex;


  justify-content: space-between;


  align-items: center;


  width: 100%;


  padding: 15px 25px;


  border-radius: 12px;


  background: #192033;


  box-sizing: border-box;


  gap: 16px;


}





section.price_list.price_list--hd .big_box .left_con .one {


  display: inline-block;


  padding: 2px 8px;


  margin-bottom: 10px;


  font-weight: 500;


  color: #000;


  border-radius: 5px;


  background: #facc15;


}





section.price_list.price_list--hd .big_box .left_con h2 {


  margin: 0;


  padding: 0;


  border: none;


  font-size: 32px;


  font-weight: 800;


  color: #fff;


  line-height: 1.2;


}





section.price_list.price_list--hd .big_box .right_con {


  padding: 16px;


  border: 1px solid rgba(255, 255, 255, 0.3);


  border-radius: 10px;


  background: rgba(255, 255, 255, 0.3);


  backdrop-filter: blur(4px);


  min-width: 200px;


  box-sizing: border-box;


}





section.price_list.price_list--hd .big_box .right_con p {


  margin: 0;


  color: #fff;


  text-align: right;


  font-size: 14px;


}





section.price_list.price_list--hd .big_box .right_con .pri {


  margin: 6px 0 10px;


  font-weight: bold;


  font-size: 32px;


  color: #facc15;


  text-align: right;


  line-height: 1.1;


}





section.price_list.price_list--hd .big_box .right_con .pri span {


  color: #fff;


  font-weight: 400;


  font-size: 18px;


}





section.price_list.price_list--hd .big_box .right_con input {


  display: block;


  width: 100%;


  padding: 8px 0 6px;


  font-weight: bold;


  font-size: 16px;


  color: var(--main-color, #1e88e5);


  border: none;


  border-radius: 5px;


  background: #fff;


  cursor: pointer;


}





section.price_list.price_list--hd .sm_box {


  position: relative;


  display: flex;


  align-items: center;


  justify-content: space-between;


  width: calc((100% - 15px) / 2);


  padding: 13px 16px 13px 42px;


  border-radius: 10px;


  background: #fff;


  transition: all 0.3s;


  box-sizing: border-box;


}





section.price_list.price_list--hd .sm_box::after {


  content: "";


  position: absolute;


  left: 15px;


  top: 50%;


  transform: translateY(-50%);


  display: block;


  width: 8px;


  height: 32px;


  border-radius: 0 5px 5px 0;


  background: #d1d5db;


  transition: all 0.3s;


}





section.price_list.price_list--hd .sm_box:hover {


  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.3);


}





section.price_list.price_list--hd .sm_box:hover::after {


  background: var(--main-color, #1e88e5);


}





section.price_list.price_list--hd .sm_box .com_card {


  margin: 0;


  font-weight: bold;


  font-size: 18px;


  color: #111;


}





section.price_list.price_list--hd .sm_box .pri_wrap {


  font-weight: bold;


  font-size: 18px;


  color: #111;


  text-align: right;


}





section.price_list.price_list--hd .sm_box .pri_wrap span {


  display: block;


  font-weight: 500;


  font-size: 13px;


  color: #9ca3af;


  text-align: right;


}





section.price_list.price_list--hd .cf_tk_sag {


  width: 100%;


  max-width: 1024px;


  margin: 15px auto 0;


  background-color: color-mix(in srgb, var(--main-color, #1e88e5) 10%, transparent);


  border: 1px solid var(--main-color, #1e88e5);


  border-radius: 8px;


  padding: 20px;


  box-sizing: border-box;


  text-align: center;


  font-size: 14px;


  font-weight: 500;


  line-height: 1.7;


  color: #333;


}





@media (max-width: 900px) {


  section.price_list.price_list--hd .form_inner {


    flex-direction: column;


  }


  section.price_list.price_list--hd .left_wrap,


  section.price_list.price_list--hd .right_wrap {


    width: 100%;


  }


  section.price_list.price_list--hd .sm_box {


    width: 100%;


  }


  section.price_list.price_list--hd .big_box {


    flex-direction: column;


    align-items: stretch;


  }


  section.price_list.price_list--hd .big_box .left_con h2 {


    font-size: 26px;


  }


  section.price_list.price_list--hd .big_box .right_con {


    min-width: 0;


  }


  section.price_list.price_list--hd .big_box .right_con p,


  section.price_list.price_list--hd .big_box .right_con .pri {


    text-align: left;


  }


  section.price_list.price_list--hd .marquee-text {


    font-size: 16px;


  }


}





section.ai.sub-view-ai {


  padding: 60px 0;


}





section.ai.sub-view-ai .docu {


  padding: 20px;


  margin-top: 20px;


  border: 1px solid #ccc;


}





section.ai.sub-view-ai .docu:first-child {


  margin-top: 0;


}





section.ai.sub-view-ai .docu .wrap + .wrap {


  margin-top: 15px;


}





section.ai.sub-view-ai .docu .tit {


  margin: 0 0 8px;


  font-weight: 700;


}





section.ai.sub-view-ai .docu .desc {


  margin: 0;


  font-size: 14px;


  line-height: 1.65;


  color: #444;


}





section.ai.sub-view-ai .docu ul {


  margin: 0;


  padding-left: 18px;


  font-size: 14px;


  line-height: 1.65;


  color: #444;


}





body[data-page="sub_view"] main {


  padding-bottom: 40px;


}





section.car_info_view { padding-bottom: 48px; }





body[data-page="sub_view"] section.car_info_view > .inner_wrap {


  width: min(1200px, calc(100% - 40px));


}





section.price_list_form {


  padding: 24px;


  margin-bottom: 48px;


  border: 2px solid var(--main-color);


  border-radius: 16px;


  background: #fafafa;


}





section.price_list_form h3 {


  margin: 0 0 16px;


  font-size: 20px;


  text-align: center;


}





section.price_list_form .form_row {


  display: flex;


  gap: 12px;


  flex-wrap: wrap;


  margin-bottom: 12px;


}





section.price_list_form input {


  flex: 1;


  min-width: 160px;


  height: 44px;


  padding: 0 12px;


  border: 1px solid #ccc;


  border-radius: 8px;


}





section.price_list_form .submit_btn {


  display: block;


  width: 100%;


  padding: 16px;


  font-size: 18px;


  font-weight: 700;


  color: #fff;


  background: var(--main-color);


  border: none;


  border-radius: 10px;


  cursor: pointer;


}





/* counsel */


section.counsel { padding: 10px 0 60px; }





section.counsel .tab_wrap ul { display: flex; }





section.counsel .tab_wrap li { flex: 1; }





section.counsel .tab_wrap button {


  display: block;


  width: 100%;


  padding: 8px 0;


  font-weight: 700;


  font-size: 18px;


  color: #424242;


  background: #ddd;


  border: none;


  cursor: pointer;


}





section.counsel .tab_wrap button.active {


  color: #fff;


  background: var(--main-color);


}





section.counsel .content { display: none; }


section.counsel .content.active { display: block; }





section.counsel .content .img_wrap {


  padding: 70px 30px 50px;


  text-align: center;


}





section.counsel .content .img_wrap img {


  display: inline-block;


  width: auto;


  max-width: min(220px, 100%);


  height: auto;


}





section.counsel .write_box {


  margin-bottom: 30px;


  border: 1px solid #ccc;


}





section.counsel .inp_wrap {


  display: flex;


  border-bottom: 1px solid #ccc;


}





section.counsel .inp_wrap:last-child { border-bottom: none; }





section.counsel .inp_wrap--single {


  border-bottom: none;


}





section.counsel .inp_wrap .wr_list {


  display: flex;


  flex: 1;


  min-width: 0;


  border-right: 1px solid #ccc;


}





section.counsel .inp_wrap .wr_list:last-child {


  border-right: none;


}





section.counsel .inp_wrap .tit {


  width: 88px;


  padding: 16px 10px 14px;


  font-weight: 700;


  font-size: 16px;


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  flex-shrink: 0;


}





section.counsel .inp_wrap .desc {


  flex: 1;


  min-width: 0;


  padding: 8px 10px;


  display: flex;


  align-items: center;


}





section.counsel .inp_wrap .desc input,


section.counsel .inp_wrap .desc select {


  width: 100%;


  height: 40px;


  padding: 0 8px;


  border: 1px solid #ccc;


  border-radius: 0;


  font-size: 15px;


  font-family: inherit;


}





section.counsel .content h2 {


  margin: 0 0 30px;


  font-weight: 700;


  font-size: 25px;


  color: #222;


}





section.counsel .txt_wrap {


  margin-bottom: 10px;


  padding: 20px;


  border: 1px solid #ccc;


  background: #fff;


}





section.counsel .txt_wrap p {


  margin: 0 0 6px;


  font-size: 14px;


  line-height: 1.55;


  color: #444;


}





section.counsel .txt_wrap p:last-child {


  margin-bottom: 0;


}





section.counsel .agr_wrap {


  display: flex;


  align-items: center;


  flex-wrap: wrap;


  gap: 8px;


  margin-bottom: 30px;


}





section.counsel .agr_wrap label {


  font-size: 14px;


  color: #333;


  cursor: pointer;


}





section.counsel .agr_wrap input[type="checkbox"] {


  width: 16px;


  height: 16px;


  accent-color: var(--main-color);


  cursor: pointer;


}





section.counsel .send input {


  display: block;


  width: 100%;


  padding: 13px 0;


  font-weight: 700;


  font-size: 25px;


  color: #fff;


  text-align: center;


  background: var(--main-color);


  border: none;


  border-radius: 0;


  cursor: pointer;


}





section.counsel .send input:hover {


  filter: brightness(0.95);


}





/* price_list */


section.page_counsel { padding-top: 40px; }





section.page_counsel .cards {


  display: grid;


  grid-template-columns: repeat(2, 1fr);


  gap: 16px;


  margin-bottom: 32px;


}





section.page_counsel .card {


  border: 2px solid #a0a0a0;


  border-radius: 14px;


  padding: 20px;


}





section.page_counsel .card h3 {


  margin: 0 0 16px;


  font-size: 18px;


  text-align: center;


}





section.page_counsel .card h3 span { color: var(--main-color); }





section.page_counsel .card:not(.card-form) input {


  width: 100%;


  height: 42px;


  margin-bottom: 10px;


  padding: 0 10px;


  border-radius: 8px;


  border: none;


  background: #f1f1f1;


}





section.page_counsel .card .send input {


  margin-top: 12px;


  color: #fff;


  background: var(--main-color);


  border: none;


  font-weight: 600;


}





section.page_counsel .live_feed {


  padding: 16px;


  background: #f1f1f1;


  border-radius: 12px;


}





section.page_counsel .live_feed li {


  display: flex;


  margin-bottom: 10px;


  border-radius: 999px;


  overflow: hidden;


  background: #fff;


  box-shadow: 0 2px 8px rgba(0,0,0,0.08);


}





section.page_counsel .live_feed li div {


  flex: 1;


  padding: 10px;


  text-align: center;


  font-size: 14px;


}





section.page_counsel .live_feed .strim {


  color: #fff;


  background: var(--main-color);


}





section.price_car { padding: 40px 0; }





section.price_car h2 {


  position: relative;


  padding-bottom: 12px;


  margin-bottom: 16px;


  text-align: center;


  font-size: 28px;


}





section.price_car h2::after {


  content: "";


  position: absolute;


  left: 50%;


  bottom: 0;


  transform: translateX(-50%);


  width: 30px;


  height: 4px;


  background: var(--main-color);


}





section.price_car h2 span { color: var(--main-color); }





section.price_car .desc {


  text-align: center;


  margin-bottom: 32px;


  color: #555;


}





section.price_car ul {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  gap: 14px;


}





section.price_car li {


  border: 2px solid var(--main-color);


  border-radius: 14px;


  overflow: hidden;


}





section.price_car li img { width: 100%; height: 160px; object-fit: cover; }





section.price_car .txt { padding: 12px; }





section.price_car .price_bar {


  padding: 12px;


  text-align: center;


  color: #fff;


  font-weight: 700;


  background: var(--main-color);


}





/* sell / buy */


section.buy, section.sell_page { padding: 40px 0 60px; }





section.buy .grid, section.sell_page .grid {


  display: grid;


  grid-template-columns: 1fr 1fr;


  gap: 32px;


  align-items: start;


}





section.buy h2, section.sell_page h2 {


  font-size: 32px;


  margin-bottom: 16px;


}





section.buy h2 span, section.sell_page h2 span { color: var(--main-color); }





section.buy .points li,


section.sell_page .points li {


  padding: 8px 0 8px 20px;


  position: relative;


  line-height: 1.6;


}





section.buy .points li::before,


section.sell_page .points li::before {


  content: "✓";


  position: absolute;


  left: 0;


  color: var(--main-color);


  font-weight: 700;


}





section.buy .form_box,


section.sell_page .form_box {


  padding: 24px;


  border: 1px solid #ccc;


  border-radius: 12px;


  background: #fafafa;


}





/* Type B keyword home sections */


section.keyword_section { padding: 48px 0 16px; }





section.keyword_section h2 {


  margin: 0 0 20px;


  font-size: 30px;


  font-weight: 700;


  text-align: center;


}





section.keyword_section .tag_group { margin-bottom: 20px; }





section.keyword_section .tag_group p {


  margin: 0 0 10px;


  font-weight: 700;


  font-size: 15px;


  color: #666;


}





section.keyword_section .tags {


  display: flex;


  flex-wrap: wrap;


  gap: 10px;


}





section.keyword_section .tags a {


  display: inline-block;


  padding: 10px 18px;


  font-weight: 600;


  font-size: 15px;


  border: 2px solid #222;


  border-radius: 999px;


  transition: all 0.2s;


}





section.keyword_section .tags a:hover {


  color: #fff;


  background: var(--main-color);


  border-color: var(--main-color);


}





section.keyword_section .tags.brand a {


  border-color: var(--main-color);


  color: var(--main-color);


}





section.keyword_section .car_row {


  display: grid;


  grid-template-columns: repeat(3, 1fr);


  gap: 12px;


  margin-top: 24px;


}





section.keyword_section .car_row .mini-card {


  border: 1px solid #ddd;


  border-radius: 12px;


  overflow: hidden;


}





section.keyword_section .car_row img {


  width: 100%;


  height: 140px;


  object-fit: cover;


}





section.keyword_section .car_row .mini-txt {


  padding: 10px;


  font-size: 13px;


}





section.keyword_section .car_row .mini-txt strong {


  display: block;


  color: var(--main-color);


  margin-top: 4px;


}





/* Type C mobile counsel box */


section.counsel_box {


  padding: 20px 0;


}





section.counsel_box .info_wrap {


  padding: 20px;


  border: 2px solid var(--main-color);


  border-radius: 16px;


  background: #fff;


}





section.counsel_box h2 {


  margin: 0 0 4px;


  font-size: 22px;


  text-align: center;


}





section.counsel_box .desc {


  margin: 0 0 16px;


  text-align: center;


  font-size: 14px;


  color: #666;


}





section.counsel_box .tel_wrap {


  display: flex;


  gap: 6px;


  margin-bottom: 8px;


}





section.counsel_box .tel_wrap select,


section.counsel_box .tel_wrap input {


  flex: 1;


  height: 43px;


  border: 1px solid var(--main-color);


  border-radius: 6px;


  padding: 0 8px;


}





section.counsel_box .inp_wrap input {


  width: 100%;


  height: 43px;


  margin-bottom: 8px;


  padding: 0 8px;


  border: 1px solid var(--main-color);


  border-radius: 6px;


}





section.counsel_box .send input {


  width: 100%;


  height: 48px;


  font-weight: 700;


  font-size: 18px;


  color: #fff;


  background: var(--main-color);


  border: none;


  border-radius: 6px;


}





body.layout-mobile .side_banner { display: none !important; }





body.layout-modern section.main_counsel,


body.layout-mobile section.main_counsel { display: none; }





body.layout-mobile section.car_list.car_list-home .car_wrap ul,


body.layout-modern section.car_list.car_list-home .car_wrap ul {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  overflow: visible;


  scroll-snap-type: none;


  gap: 20px;


  padding-bottom: 0;


}





body.layout-mobile section.car_list.car_list-home .car_wrap li {


  flex: none;


  scroll-snap-align: unset;


}





/* layout-mobile — legacy alias for Type A responsive blocks */


body.layout-mobile .car_list:not(.car_list-home) .car_wrap ul,


body.layout-modern .car_list:not(.car_list-home) .car_wrap ul {


  display: flex;


  overflow-x: auto;


  scroll-snap-type: x mandatory;


  gap: 12px;


  padding-bottom: 8px;


}





body.layout-mobile .car_list:not(.car_list-home) .car_wrap li {


  flex: 0 0 75%;


  scroll-snap-align: start;


}





body.layout-mobile .footer_counsel { display: none; }





body.layout-mobile .bottom_counsel_fixed {


  display: flex;


  position: fixed;


  bottom: 16px;


  left: 50%;


  transform: translateX(-50%);


  width: min(92%, 960px);


  padding: 8px;


  border: 2px solid var(--main-color);


  border-radius: 999px;


  background: #fff;


  z-index: 100;


  gap: 8px;


}





body.layout-mobile .bottom_counsel_fixed a {


  flex: 1;


  padding: 12px 0;


  font-weight: 700;


  text-align: center;


  color: var(--main-color);


  border: 1px solid var(--main-color);


  border-radius: 999px;


}





@media (max-width: 900px) {


  section.car_search .result_grid,


  section.price_car ul,


  section.page_counsel .cards,


  section.keyword_section .car_row {


    grid-template-columns: repeat(2, 1fr);


  }





  section.buy .grid, section.sell_page .grid {


    grid-template-columns: 1fr;


  }





  section.car_search .chk_opt .list { flex: 1 1 100%; border-left: 1px solid #ccc !important; }


}





@media (max-width: 520px) {


  .sell-benefits { grid-template-columns: 1fr; }





  .sell-banner__actions {


    grid-template-columns: 1fr;


  }





  .sell-process__list--top,


  .sell-process__list--bottom {


    grid-template-columns: 1fr;


  }





  .hero__form-row {


    grid-template-columns: 1fr;


  }





  section.car_search .result_grid,


  section.price_car ul {


    grid-template-columns: 1fr;


  }





  /* Modern result grid stays 2-col on phones (Type A/B usable mobile cards) */


  section.car_search .result_grid.result_grid-modern {


    grid-template-columns: repeat(2, 1fr);


    gap: 10px;


  }


}





/* ── Shared UI (Type A / B / C) ── */


.page-crumb { padding: 20px 0 0; }





.page-crumb ol {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  margin: 0;


  padding: 0;


  list-style: none;


  font-size: 13px;


  color: #888;


}





.page-crumb li + li::before {


  content: "›";


  margin-right: 8px;


  color: #bbb;


}





.page-crumb a {


  color: var(--main-color);


  font-weight: 600;


}





.page-crumb li[aria-current="page"] {


  color: #444;


  font-weight: 600;


}





.ui-form {


  display: flex;


  flex-direction: column;


  gap: 18px;


}





.ui-field {


  display: flex;


  flex-direction: column;


  gap: 8px;


}





.ui-label {


  display: block;


  margin: 0;


  font-size: 13px;


  font-weight: 700;


  color: var(--main-color);


  letter-spacing: -0.01em;


}





.ui-input-wrap {


  display: flex;


  align-items: stretch;


  background: #fff;


  border: 1.5px solid color-mix(in srgb, var(--main-color) 28%, #ccc);


  border-radius: 12px;


  overflow: hidden;


  transition: border-color 0.2s, box-shadow 0.2s;


}





.ui-input-wrap:focus-within {


  border-color: var(--main-color);


  box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 14%, transparent);


}





.ui-input-icon {


  flex-shrink: 0;


  width: 48px;


  min-height: 50px;


  background: color-mix(in srgb, var(--main-color) 8%, #fff) center/20px no-repeat;


  border-right: 1px solid color-mix(in srgb, var(--main-color) 20%, #ddd);


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 24 24'%3E%3Cpath d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'/%3E%3C/svg%3E");


}





.ui-input-icon--phone {


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");


}





.ui-input-icon--user {


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");


}





.ui-input-wrap input,


.ui-input-wrap textarea {


  flex: 1;


  min-width: 0;


  padding: 14px 16px 14px 14px;


  border: none;


  background: transparent;


  font-size: 15px;


  color: #222;


  outline: none;


  font-family: inherit;


}





.ui-input-wrap input::placeholder,


.ui-input-wrap textarea::placeholder { color: #9e9e9e; }





.ui-select,


.ui-form textarea:not(.ui-input-wrap textarea) {


  width: 100%;


  padding: 14px 16px;


  border: 1.5px solid color-mix(in srgb, var(--main-color) 28%, #ccc);


  border-radius: 12px;


  font-size: 15px;


  background: #fff;


  color: #222;


  font-family: inherit;


}





.ui-form-title {


  margin: 0 0 4px;


  font-size: 17px;


  font-weight: 800;


  color: var(--main-color);


}





.ui-agree {


  display: flex;


  align-items: flex-start;


  gap: 8px;


  font-size: 13px;


  color: #666;


  line-height: 1.5;


}





.ui-btn {


  display: inline-flex;


  align-items: center;


  justify-content: center;


  padding: 14px 24px;


  border: none;


  border-radius: 12px;


  font-size: 16px;


  font-weight: 700;


  cursor: pointer;


  transition: transform 0.2s, box-shadow 0.2s;


  text-decoration: none;


}





.ui-btn-primary {


  width: 100%;


  margin-top: 6px;


  padding: 16px 24px;


  color: #fff;


  background: var(--main-color);


  box-shadow: 0 6px 20px color-mix(in srgb, var(--accent-color, var(--main-color)) 35%, transparent);


}





.ui-btn-primary:hover {


  transform: translateY(-1px);


  box-shadow: 0 8px 24px color-mix(in srgb, var(--accent-color, var(--main-color)) 45%, transparent);


}





.ui-btn-outline {


  color: var(--main-color);


  background: #fff;


  border: 2px solid var(--main-color);


  padding: 12px 28px;


}





.ui-btn-outline:hover {


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


}





/* review list + detail */


section.review.review-page.review-page-modern {


  padding: 8px 0 64px;


}





section.review.review-page .review-page-head {


  margin-bottom: 32px;


  text-align: center;


}





section.review.review-page .review-page-head h2 {


  margin: 0 0 10px;


  font-weight: 600;


  font-size: clamp(26px, 3.5vw, 35px);


}





section.review.review-page .review-page-head h2 span {


  font-weight: 800;


  color: var(--main-color);


}





section.review.review-page .review-page-head .desc {


  margin: 0;


  font-size: 15px;


  color: var(--main-color);


}





section.review.review-page .review-page-grid {


  display: grid;


  grid-template-columns: repeat(2, minmax(0, 1fr));


  gap: 24px;


}





section.review.review-page .review-page-grid__item {


  min-width: 0;


}





section.review.review-page .review-slide-card {


  height: 100%;


}





section.review.review-home .view_box,


section.review.review-page .view_box.review-page-grid {


  display: grid;


  grid-template-columns: repeat(2, 1fr);


  gap: 16px;


}





section.review .list a,


section.review .review-card-full a {


  display: block;


  color: inherit;


}





section.review .list a:hover strong,


section.review .review-card-full a:hover .review-card-label {


  color: var(--accent-color, var(--main-color));


}





.review-more-link {


  text-align: center;


  margin-top: 20px;


}





.review-card-full {


  background: #fff;


  border-radius: 14px;


  overflow: hidden;


  border: 1px solid #eee;


  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);


}





.review-card-full .review-card-img img {


  width: 100%;


  aspect-ratio: 16/10;


  object-fit: cover;


}





.review-card-full .review-card-label {


  margin: 0;


  padding: 16px 18px 6px;


  font-size: 16px;


  font-weight: 800;


  color: var(--main-color);


}





.review-card-full .review-card-text {


  margin: 0;


  padding: 0 18px 18px;


  font-size: 14px;


  color: #666;


  line-height: 1.55;


}





.review-view { padding: 8px 0 48px; }





.review-view-head {


  padding-bottom: 20px;


  border-bottom: 2px solid color-mix(in srgb, var(--main-color) 15%, #eee);


  margin-bottom: 28px;


}





.review-view-head h1,


.review-view-head h2 {


  margin: 0 0 8px;


  font-size: clamp(22px, 3vw, 28px);


  font-weight: 800;


  color: color-mix(in srgb, var(--main-color) 80%, #000);


}





.review-view-meta {


  margin: 0;


  font-size: 13px;


  color: var(--main-color);


  font-weight: 600;


}





.review-view-img,


.review-view-photo {


  margin-bottom: 24px;


  border-radius: 16px;


  overflow: hidden;


  background: #eee;


}





.review-view-img img,


.review-view-photo img {


  display: block;


  width: 100%;


  max-height: 520px;


  object-fit: cover;


}





.review-view-body,


.review-view-content {


  font-size: 16px;


  line-height: 1.85;


  color: #444;


  padding: 24px;


  background: #fff;


  border-radius: 14px;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


}





.review-view-summary {


  margin: 10px 0 0;


  color: #64748b;


  font-size: 15px;


  line-height: 1.7;


}





.review-view-nav {


  display: flex;


  flex-wrap: wrap;


  align-items: center;


  justify-content: space-between;


  gap: 12px;


  margin-top: 32px;


  padding-top: 24px;


  border-top: 1px solid #eee;


}





.review-nav-next {


  font-weight: 700;


  color: var(--main-color);


}





.review-nav-next span {


  display: block;


  margin-top: 4px;


  font-weight: 600;


  color: #444;


}





/* sub_list modern grid */


section.car_search-modern .search_btn .button2 {


  background: var(--main-color);


}





section.car_search-modern .pagination .current {


  background: var(--main-color);


  border-color: var(--main-color);


}





.result_grid-modern {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  gap: 20px;


}





.car-card-modern {


  background: #fff;


  border-radius: 14px;


  overflow: hidden;


  border: 1px solid color-mix(in srgb, var(--main-color) 10%, #eee);


  box-shadow: 0 4px 18px color-mix(in srgb, var(--main-color) 8%, transparent);


  transition: transform 0.2s, box-shadow 0.2s;


}





.car-card-modern:hover {


  transform: translateY(-3px);


  box-shadow: 0 10px 28px color-mix(in srgb, var(--main-color) 14%, transparent);


}





.car-card-modern .txt_wrap { padding: 14px 16px 18px; }





.car-card-modern .tit {


  margin: 0 0 10px;


  font-size: 15px;


  font-weight: 700;


  line-height: 1.4;


}





.car-card-modern .car_pri {


  color: var(--accent-color, var(--main-color));


  font-weight: 800;


}





.car-card-modern .meta {


  display: flex;


  gap: 10px;


  margin-top: 8px;


  font-size: 12px;


  color: #888;


}





/* sub_view */


.sub-view-layout {


  display: grid;


  grid-template-columns: 1fr 340px;


  gap: 28px;


  align-items: start;


}





.sub-view-side-card {


  position: sticky;


  top: 24px;


}





.lease-tabs {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  margin: 12px 0 16px;


}





.lease-tabs button {


  padding: 8px 14px;


  border: 1.5px solid color-mix(in srgb, var(--main-color) 28%, #ccc);


  border-radius: 999px;


  background: #fff;


  color: var(--main-color);


  font-size: 13px;


  font-weight: 700;


  cursor: pointer;


}





.lease-tabs button.active {


  background: var(--main-color);


  border-color: var(--main-color);


  color: #fff;


}





.section-subtitle {


  margin: 0 0 16px;


  font-size: 20px;


  font-weight: 800;


  color: color-mix(in srgb, var(--main-color) 80%, #000);


}





.info-table-modern {


  width: 100%;


  border-collapse: collapse;


  margin-bottom: 24px;


}





.info-table-modern th,


.info-table-modern td {


  padding: 12px 16px;


  border: 1px solid #eee;


  font-size: 14px;


}





.info-table-modern th {


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  color: var(--main-color);


  font-weight: 700;


  width: 18%;


}





.dealer-box {


  margin-top: 28px;


  padding: 24px;


  background: color-mix(in srgb, var(--main-color) 5%, #fff);


  border: 1px solid color-mix(in srgb, var(--main-color) 20%, #eee);


  border-radius: 14px;


}





.dealer-box h4 {


  margin: 0 0 10px;


  font-size: 16px;


  color: var(--main-color);


}





.dealer-tel {


  font-size: 22px;


  font-weight: 800;


  color: var(--accent-color, var(--main-color));


  margin: 8px 0;


}





.dealer-desc {


  margin: 0;


  font-size: 14px;


  color: #666;


  line-height: 1.6;


}





section.car_photo-modern .lease-price-panel__value {


  color: var(--accent-color, var(--main-color));


}





/* counsel page */


.counsel-panel {


  display: grid;


  grid-template-columns: 1fr 1fr;


  gap: 28px;


  padding: 28px;


  background: #fff;


  border-radius: 16px;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


  box-shadow: 0 8px 28px color-mix(in srgb, var(--main-color) 8%, transparent);


}





.counsel-panel-copy h3 {


  margin: 0 0 12px;


  font-size: 22px;


  font-weight: 800;


  color: color-mix(in srgb, var(--main-color) 80%, #000);


}





.counsel-panel-copy p {


  margin: 0 0 16px;


  color: #666;


  line-height: 1.65;


}





.counsel-points-mini {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.counsel-points-mini li {


  padding: 6px 12px;


  border-radius: 999px;


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  color: var(--main-color);


  font-size: 12px;


  font-weight: 700;


}





.privacy-box {


  margin-top: 24px;


  padding: 20px 24px;


  background: #f5f5f5;


  border-radius: 12px;


  font-size: 13px;


  color: #666;


  line-height: 1.6;


}





.privacy-box h4 {


  margin: 0 0 8px;


  font-size: 14px;


  color: #333;


}





section.counsel-modern .tab_wrap button.active {


  background: var(--main-color);


  border-color: var(--main-color);


}





section.page_counsel.page_counsel-modern {


  background: #fff;


}





/* price_list — PC 2열(상담신청 | 상담현황) / mobile 카드 */


.price-list-page {


  padding-top: 40px;


}





.price-list-pc {


  display: grid;


}





.price-list-mo {


  display: none;


}





.price-list-page .cards-modern {


  grid-template-columns: repeat(2, 1fr);


  gap: 20px;


  align-items: stretch;


}





.price-list-page .hero__form-card.price-form-card {


  max-width: none;


  margin: 0;


  height: 100%;


  min-height: 420px;


  box-sizing: border-box;


}





.price-list-page .card {


  min-height: 420px;


  padding: 20px;


  border: 2px solid #a0a0a0;


  border-radius: 14px;


  box-shadow: none;


}





.price-list-page .card h3 {


  margin: 0 0 24px;


  font-size: 20px;


  font-weight: 700;


  text-align: center;


}





.price-list-page .card h3 span {


  color: var(--main-color);


}





.price-list-page .card-live {


  display: flex;


  flex-direction: column;


  overflow: hidden;


}





.price-list-page .card-live .live_feed-window {


  flex: 1 1 auto;


  min-height: 0;


  overflow: hidden;


  padding: 14px 16px;


  border-radius: 12px;


  background: #f1f1f1;


}





/* price_list — 카픽 hero__form-card 패턴 */


.hero__form-card.price-form-card {


  background: #fff;


  border-radius: 16px;


  padding: 1.75rem;


  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);


  max-width: 480px;


  margin: 0 auto;


}





.hero__form-badge {


  display: inline-block;


  padding: 0.25rem 0.65rem;


  background: color-mix(in srgb, var(--main-color) 12%, #fff);


  color: var(--main-color);


  font-size: 0.72rem;


  font-weight: 700;


  border-radius: 4px;


  margin-bottom: 0.75rem;


}





.hero__form-title {


  margin: 0 0 0.35rem;


  font-size: 1.35rem;


  font-weight: 800;


  color: #222;


  line-height: 1.35;


}





.hero__form-title .text-accent {


  color: var(--main-color);


}





.hero__form-sub {


  margin: 0 0 1.25rem;


  font-size: 0.82rem;


  color: #666;


  line-height: 1.5;


}





.hero__form-row {


  display: grid;


  grid-template-columns: 1fr 1fr;


  gap: 12px;


}





.hero__form-card .form-group {


  margin-bottom: 14px;


}





.hero__form-card .form-label {


  display: block;


  font-size: 0.85rem;


  font-weight: 600;


  margin-bottom: 6px;


  color: #333;


}





.hero__form-card .form-label .required {


  color: #e53935;


}





.hero__form-card .form-input,


.hero__form-card .form-select {


  width: 100%;


  height: 48px;


  padding: 0 14px;


  border: 1.5px solid #e5e7eb;


  border-radius: 8px;


  background: #fff;


  font-size: 14px;


  transition: border-color 0.2s, box-shadow 0.2s;


}





.hero__form-card .form-input:focus,


.hero__form-card .form-select:focus {


  border-color: var(--main-color);


  box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 15%, transparent);


  outline: none;


}





.hero__form-card .form-privacy {


  margin-bottom: 8px;


}





.hero__form-card .form-privacy__toggle {


  background: none;


  border: none;


  padding: 0;


  font-size: 0.78rem;


  color: #666;


  cursor: pointer;


  text-align: left;


}





.hero__form-card .form-privacy__toggle span {


  color: var(--main-color);


  font-weight: 600;


}





.hero__form-card .form-privacy__detail {


  margin-top: 8px;


  padding: 10px 12px;


  background: #f9fafb;


  border-radius: 6px;


  font-size: 0.75rem;


  color: #666;


  line-height: 1.6;


}





.hero__form-card .form-privacy__detail p {


  margin: 0;


}





.hero__form-card .form-checkbox {


  display: flex;


  align-items: flex-start;


  gap: 8px;


  margin: 0 0 12px;


  font-size: 0.85rem;


  color: #666;


  cursor: pointer;


}





.hero__form-card .form-checkbox input {


  margin-top: 3px;


  accent-color: var(--main-color);


}





.hero__form-submit {


  width: 100%;


  height: 52px;


  margin-top: 4px;


  font-size: 16px;


  font-weight: 700;


  border-radius: 10px;


}





.hero-slot {


  margin-top: 1rem;


  padding-top: 1rem;


  border-top: 1px solid #eee;


}





.hero-slot__head {


  display: flex;


  align-items: center;


  gap: 0.4rem;


  font-size: 0.72rem;


  font-weight: 700;


  color: #666;


  margin-bottom: 0.5rem;


}





.hero-slot__pulse {


  width: 7px;


  height: 7px;


  border-radius: 50%;


  background: #22c55e;


  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);


  animation: slotPulse 1.8s ease infinite;


}





@keyframes slotPulse {


  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }


  70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }


  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }


}





.hero-slot__window {


  position: relative;


  height: 40px;


  overflow: hidden;


  background: #f8f8f8;


  border-radius: 10px;


  border: 1px solid rgba(13, 27, 42, 0.07);


}





.hero-slot__window::before,


.hero-slot__window::after {


  content: none;


  display: none;


}





.hero-slot__track {


  display: flex;


  flex-direction: column;


  will-change: transform;


}





.hero-slot__item {


  flex-shrink: 0;


  height: 40px;


  display: flex;


  align-items: center;


  gap: 0.75rem;


  padding: 0 0.85rem;


  font-size: 0.78rem;


  line-height: 1.35;


  color: #555;


  white-space: nowrap;


  overflow: hidden;


  text-overflow: ellipsis;


}





.hero-slot__part {


  flex-shrink: 0;


}





.hero-slot__part--name {


  font-weight: 600;


  color: #333;


}





.hero-slot__part--model {


  color: #444;


}





.hero-slot__part--date {


  color: #888;


  margin-left: auto;


}





.hero-slot__part--status strong {


  color: var(--main-color);


  font-weight: 700;


}





.cards-modern {


  display: grid;


  grid-template-columns: repeat(2, 1fr);


  gap: 20px;


  align-items: start;


}





.page_counsel-modern .card {


  display: flex;


  flex-direction: column;


  padding: 18px 20px;


  background: #fff;


  border-radius: 16px;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


  box-shadow: 0 6px 24px color-mix(in srgb, var(--main-color) 8%, transparent);


}





.page_counsel-modern .card h3 {


  flex-shrink: 0;


  margin: 0 0 6px;


  font-size: 18px;


  text-align: center;


}





.page_counsel-modern .card-desc {


  flex-shrink: 0;


  margin: 0 0 12px;


  text-align: center;


  color: #666;


  font-size: 14px;


}





.page_counsel-modern .card-form .counsel-price-form {


  display: flex;


  flex-direction: column;


}





.page_counsel-modern .card-form .counsel-price-form .ui-btn-primary {


  margin-top: 0;


}





.ui-btn-tel-call {


  display: flex;


  align-items: center;


  justify-content: center;


  width: 100%;


  margin-top: 10px;


  padding: 14px 20px;


  border: 2px solid var(--main-color);


  border-radius: 12px;


  background: #fff;


  color: var(--main-color);


  font-size: 15px;


  font-weight: 700;


  text-decoration: none;


  transition: background 0.2s, transform 0.2s;


}





.ui-btn-tel-call:hover {


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  transform: translateY(-1px);


}





.counsel-price-form__hours {


  margin: 8px 0 0;


  text-align: center;


  font-size: 12px;


  color: #888;


}





/* hd-lease price_list 상담 폼 */


.counsel-price-form .ipt_wrap {


  display: flex;


  align-items: center;


  margin-bottom: 10px;


}





.counsel-price-form .ipt_wrap label {


  flex-shrink: 0;


  width: 53px;


  font-size: 14px;


  font-weight: 600;


  color: var(--main-color);


}





.counsel-price-form .ipt_wrap input {


  flex: 1;


  min-width: 0;


  width: 100%;


  height: 44px;


  padding: 0 12px;


  border: none;


  border-radius: 10px;


  background: #f1f1f1;


  font-size: 15px;


  color: #222;


  font-family: inherit;


}





.counsel-price-form .ipt_wrap input::placeholder {


  color: #999;


}





.counsel-price-form .ipt_wrap input:focus {


  outline: 2px solid color-mix(in srgb, var(--main-color) 35%, transparent);


  background: #ececec;


}





.form-checkbox {


  display: flex;


  align-items: flex-start;


  gap: 8px;


  margin: 2px 0 10px;


  font-size: 12px;


  line-height: 1.45;


  color: #666;


  cursor: pointer;


}





.form-checkbox input[type="checkbox"] {


  flex-shrink: 0;


  width: 16px;


  height: 16px;


  margin: 1px 0 0;


  accent-color: var(--main-color);


  cursor: pointer;


}





.form-checkbox span {


  flex: 1;


}





.page_counsel-modern .card-live {


  overflow: hidden;


  display: flex;


  flex-direction: column;


  box-sizing: border-box;


}





.page_counsel-modern .card-live .live_feed-window {


  flex: 1 1 auto;


  min-height: 0;


  max-height: 100%;


  overflow: hidden;


  padding: 14px 16px;


  border-radius: 12px;


  background: #f1f1f1;


}





.page_counsel-modern .card-live .live_feed-head {


  display: flex;


  align-items: center;


  gap: 6px;


  margin-bottom: 10px;


  font-size: 12px;


  font-weight: 700;


  color: #888;


  letter-spacing: 0.04em;


}





.page_counsel-modern .card-live .live_feed-pulse {


  width: 8px;


  height: 8px;


  border-radius: 50%;


  background: #22c55e;


  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);


  animation: liveFeedPulse 1.8s ease infinite;


}





@keyframes liveFeedPulse {


  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }


  70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }


  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }


}





.live_feed-track {


  margin: 0;


  padding: 0;


  list-style: none;


  will-change: transform;


}





.live_feed-row {


  display: flex;


  align-items: stretch;


  height: 36px;


  margin: 0 3px 8px;


  overflow: hidden;


  border-radius: 999px;


  background: #fff;


  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);


}





.live_feed-row:last-child {


  margin-bottom: 0;


}





.live_feed-date,


.live_feed-name,


.live_feed-step {


  display: flex;


  align-items: center;


  justify-content: center;


  padding: 0 6px;


  font-size: 13px;


  text-align: center;


}





.live_feed-date {


  flex: 0 0 92px;


  color: #666;


}





.live_feed-name {


  flex: 1;


  min-width: 0;


  font-weight: 700;


  color: var(--main-color);


}





.live_feed-step {


  flex: 0 0 68px;


  font-size: 12px;


  font-weight: 700;


  color: #fff;


  background: var(--main-color);


  border-radius: 999px;


}





.page_counsel-modern .card h3 span {


  color: var(--accent-color, var(--main-color));


}





.price-car-grid {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  gap: 20px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.price-car-grid li {


  background: #fff;


  border-radius: 14px;


  overflow: hidden;


  border: 1px solid color-mix(in srgb, var(--main-color) 10%, #eee);


}





.price-car-grid a { display: block; color: inherit; }





.price-car-grid img {


  width: 100%;


  aspect-ratio: 4/3;


  object-fit: contain;


  background: #f1f1f1;


}





.price-car-grid .txt {


  padding: 12px 14px 8px;


}





.price-car-grid .txt .name {


  margin: 0 0 4px;


  font-size: 16px;


  font-weight: 700;


  color: #222;


}





.price-car-grid .txt .sub {


  margin: 0;


  font-size: 13px;


  font-weight: 600;


  color: var(--main-color);


}





.price-car-grid .price_bar {


  margin: 0;


  padding: 12px 16px;


  background: var(--main-color);


  color: #fff;


  font-weight: 700;


  text-align: center;


}





/* sell / buy */


.sell-banner {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 32px;


  margin-bottom: 24px;


  padding: 36px 40px;


  border-radius: 18px;


  background: var(--main-color);


  color: #fff;


}





.sell-banner__tag {


  display: inline-block;


  margin: 0 0 10px;


  padding: 6px 12px;


  border-radius: 999px;


  background: rgba(255, 255, 255, 0.15);


  color: #fff;


  font-size: 12px;


  font-weight: 700;


  letter-spacing: 0.02em;


}





.sell-banner__title {


  margin: 0;


  color: #fff;


  font-size: clamp(24px, 3.2vw, 34px);


  font-weight: 800;


  line-height: 1.35;


}





.sell-banner__title span {


  color: #fff;


}





section.sell_page .sell-banner .sell-banner__title,


section.sell_page .sell-banner .sell-banner__title span {


  color: #fff;


  margin-bottom: 0;


}





section.sell_page .sell-banner .sell-banner__tag {


  color: #fff;


}





.sell-banner__actions {


  display: grid;


  grid-template-columns: repeat(2, minmax(148px, 1fr));


  gap: 12px;


  flex-shrink: 0;


  min-width: 320px;


}





.sell-banner__btn.ui-btn {


  width: 100%;


  min-height: 52px;


  margin-top: 0;


  padding: 14px 20px;


  font-size: 15px;


  border-radius: 12px;


  white-space: nowrap;


}





.sell-banner__btn.ui-btn-primary {


  color: var(--main-color);


  background: #fff;


  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);


}





.sell-banner__btn.ui-btn-primary:hover {


  background: #f8fbff;


  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.16);


}





.sell-banner__btn.ui-btn-outline {


  color: #fff;


  background: transparent;


  border: 2px solid rgba(255, 255, 255, 0.75);


  padding: 12px 20px;


}





.sell-banner__btn.ui-btn-outline:hover {


  background: rgba(255, 255, 255, 0.12);


}





.sell-process {


  margin-bottom: 48px;


  padding: 32px 32px 28px;


  border-radius: 18px;


  border: 1px solid color-mix(in srgb, var(--main-color) 14%, #e8e8e8);


  background: #fff;


  box-shadow: 0 8px 28px color-mix(in srgb, var(--main-color) 6%, transparent);


}





.sell-process__head h3 {


  margin: 0 0 8px;


  font-size: 22px;


  font-weight: 800;


  color: #222;


}





.sell-process__head h3 span {


  color: var(--main-color);


}





.sell-process__head p {


  margin: 0 0 24px;


  font-size: 14px;


  color: #777;


  line-height: 1.5;


}





.sell-process__body {


  display: flex;


  flex-direction: column;


  gap: 16px;


}





.sell-process__list {


  display: grid;


  gap: 16px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.sell-process__list--top {


  grid-template-columns: repeat(4, minmax(0, 1fr));


}





.sell-process__list--bottom {


  grid-template-columns: repeat(3, minmax(0, 1fr));


  max-width: calc(75% + 12px);


  margin: 0 auto;


}





.sell-process__list li {


  position: relative;


  min-height: 148px;


  padding: 20px 16px 18px;


  border-radius: 14px;


  background: #fff;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


  text-align: center;


  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;


}





.sell-process__list li:hover {


  transform: translateY(-3px);


  border-color: color-mix(in srgb, var(--main-color) 35%, #ddd);


  box-shadow: 0 10px 24px color-mix(in srgb, var(--main-color) 10%, transparent);


}





.sell-process__num {


  display: flex;


  align-items: center;


  justify-content: center;


  width: 52px;


  height: 52px;


  margin: 0 auto 12px;


  border-radius: 50%;


  background: var(--main-color);


  color: #fff;


  font-size: 15px;


  font-weight: 800;


  box-shadow: 0 4px 14px color-mix(in srgb, var(--main-color) 35%, transparent);


}





.sell-process__title {


  display: block;


  margin-bottom: 8px;


  font-size: 15px;


  font-weight: 800;


  color: var(--main-color);


  line-height: 1.35;


}





.sell-process__desc {


  margin: 0;


  font-size: 13px;


  color: #666;


  line-height: 1.55;


}





.sell-consult {


  scroll-margin-top: 96px;


}





.sell-consult__head {


  margin-bottom: 32px;


  text-align: center;


}





.sell-consult__head h2 {


  margin: 0 0 10px;


  font-size: clamp(24px, 3.2vw, 32px);


  font-weight: 800;


  color: #222;


}





.sell-consult__head h2 span {


  color: var(--main-color);


}





.sell-consult__desc {


  margin: 0;


  font-size: 14px;


  color: #666;


  line-height: 1.6;


}





.sell-consult__grid {


  display: grid;


  grid-template-columns: repeat(2, minmax(0, 1fr));


  gap: 24px;


  align-items: stretch;


  position: relative;


  padding: 28px;


  border-radius: 18px;


  border: 1px solid color-mix(in srgb, var(--main-color) 10%, #e8edf2);


  background: color-mix(in srgb, var(--main-color) 6%, #fff);


  box-shadow: 0 10px 36px color-mix(in srgb, var(--main-color) 7%, transparent);


  overflow: hidden;


}





.sell-consult__grid::before {


  content: none;


  display: none;


}





.sell-consult__grid > * {


  position: relative;


  z-index: 1;


}





.sell-benefits {


  display: grid;


  grid-template-columns: repeat(2, minmax(0, 1fr));


  gap: 16px;


  list-style: none;


  margin: 0;


  padding: 0;


  height: 100%;


}





.sell-benefits li {


  display: flex;


  flex-direction: column;


  min-height: 148px;


  padding: 24px 22px;


  border-radius: 14px;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


  background: rgba(255, 255, 255, 0.88);


  backdrop-filter: blur(4px);


  transition: border-color 0.2s, box-shadow 0.2s;


}





.sell-benefits li:hover {


  border-color: color-mix(in srgb, var(--main-color) 30%, #ddd);


  box-shadow: 0 6px 18px color-mix(in srgb, var(--main-color) 8%, transparent);


}





.sell-benefits__icon {


  display: block;


  width: 44px;


  height: 44px;


  margin-bottom: 14px;


  border-radius: 10px;


  background: color-mix(in srgb, var(--main-color) 12%, #fff)


    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='M12 21s7-4.5 7-10a7 7 0 1 0-14 0c0 5.5 7 10 7 10z'/%3E%3Ccircle cx='12' cy='11' r='2.5'/%3E%3C/svg%3E")


    center / 22px no-repeat;


}





.sell-benefits__icon--price {


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");


}





.sell-benefits__icon--doc {


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h8M8 9h2'/%3E%3C/svg%3E");


}





.sell-benefits__icon--pay {


  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");


}





.sell-benefits strong {


  display: block;


  margin-bottom: 8px;


  font-size: 17px;


  font-weight: 800;


  color: #222;


}





.sell-benefits p {


  margin: 0;


  font-size: 14px;


  color: #666;


  line-height: 1.55;


}





.hero__form-card.sell-form-card {


  max-width: none;


  margin: 0;


  height: 100%;


  display: flex;


  flex-direction: column;


  padding: 28px;


  background: rgba(255, 255, 255, 0.94);


  border: 1px solid rgba(255, 255, 255, 0.85);


  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);


  backdrop-filter: blur(6px);


}





.sell-form-card__title {


  margin: 0 0 20px;


  font-size: 20px;


  font-weight: 800;


  color: #222;


}





.hero__form-card.sell-form-card .hero__form {


  flex: 1;


  display: flex;


  flex-direction: column;


}





.hero__form-card.sell-form-card .hero__form-submit {


  margin-top: auto;


}





.hero__form-card .form-textarea {


  width: 100%;


  min-height: 96px;


  padding: 12px 14px;


  border: 1.5px solid #e5e7eb;


  border-radius: 8px;


  background: #fff;


  font-size: 14px;


  font-family: inherit;


  line-height: 1.5;


  resize: vertical;


  transition: border-color 0.2s, box-shadow 0.2s;


}





.hero__form-card .form-textarea:focus {


  border-color: var(--main-color);


  box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 15%, transparent);


  outline: none;


}





/* counsel — sell과 동일 레이아웃 */


section.counsel.counsel_page-modern {


  padding: 40px 0 60px;


}





.counsel_page-modern .counsel-tabs {


  margin-bottom: 24px;


}





.counsel_page-modern .counsel-tabs ul {


  display: grid;


  grid-template-columns: repeat(2, minmax(0, 1fr));


  gap: 12px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.counsel_page-modern .counsel-tabs button {


  width: 100%;


  min-height: 52px;


  padding: 14px 16px;


  border: 2px solid color-mix(in srgb, var(--main-color) 20%, #ddd);


  border-radius: 12px;


  background: #fff;


  font-size: 15px;


  font-weight: 700;


  color: #444;


  cursor: pointer;


  transition: border-color 0.2s, background 0.2s, color 0.2s;


}





.counsel_page-modern .counsel-tabs button.active {


  border-color: var(--main-color);


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  color: var(--main-color);


}





.counsel_page-modern .content {


  display: none;


}





.counsel_page-modern .content.active {


  display: block;


}





.counsel_page-modern .sell-consult {


  scroll-margin-top: 96px;


}





/* legacy sell hero/steps — buy page & theme-c */


.sell-hero {


  padding: 40px 36px;


  margin-bottom: 32px;


  border-radius: 18px;


  background: var(--main-color);


  color: #fff;


}





.sell-badge {


  display: inline-block;


  margin: 0 0 12px;


  padding: 6px 12px;


  border-radius: 999px;


  background: rgba(255, 255, 255, 0.15);


  font-size: 12px;


  font-weight: 700;


}





.sell-hero h3 {


  margin: 0 0 20px;


  font-size: clamp(26px, 4vw, 34px);


  font-weight: 800;


  line-height: 1.35;


}





.sell-hero-actions {


  display: flex;


  flex-wrap: wrap;


  gap: 12px;


}





.sell-hero .ui-btn-outline {


  color: #fff;


  border-color: rgba(255, 255, 255, 0.7);


  background: transparent;


}





.sell-hero .ui-btn-outline:hover {


  background: rgba(255, 255, 255, 0.12);


}





.sell-steps { margin-bottom: 36px; }





.sell-steps h4 {


  margin: 0 0 16px;


  font-size: 18px;


  font-weight: 800;


  color: color-mix(in srgb, var(--main-color) 80%, #000);


}





.sell-steps ol {


  display: grid;


  grid-template-columns: repeat(7, 1fr);


  gap: 12px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.sell-steps li {


  padding: 16px 12px;


  background: #fff;


  border: 1px solid color-mix(in srgb, var(--main-color) 12%, #eee);


  border-radius: 12px;


  text-align: center;


}





.sell-steps .num {


  display: block;


  margin-bottom: 8px;


  font-size: 12px;


  font-weight: 800;


  color: var(--accent-color, var(--main-color));


}





.sell-steps strong {


  display: block;


  margin-bottom: 6px;


  font-size: 14px;


  color: var(--main-color);


}





.sell-steps p {


  margin: 0;


  font-size: 12px;


  color: #777;


  line-height: 1.45;


}





.form_box-modern {


  padding: 28px;


  background: #fff;


  border-radius: 16px;


  border: 1px solid color-mix(in srgb, var(--main-color) 20%, #eee);


  box-shadow: 0 8px 24px color-mix(in srgb, var(--main-color) 8%, transparent);


}





/* home car list grid override */


section.car_list.car_list-home .car_wrap ul {


  display: grid;


  gap: 20px;


  overflow: visible;


  scroll-snap-type: none;


  padding-bottom: 0;


}





@media (min-width: 1025px) {


  body.theme-a section.car_list.car_list-home .car_wrap ul {


    grid-template-columns: repeat(4, 1fr);


  }





  body.theme-a section.car_list.car_list-home-type-a .car_grid-type-a {


    grid-template-columns: repeat(4, 1fr);


    gap: 24px;


  }


}





body.theme-c section.car_list.car_list-home .car_wrap ul {


  grid-template-columns: repeat(4, 1fr);


}





section.car_list.car_list-home h2 span {


  color: var(--accent-color, var(--main-color));


}





.middle_ban-modern img {


  width: 100%;


  border-radius: 14px;


}





section.counsel_prominent {


  padding: 28px 0 48px;


  margin-top: 0;


  position: relative;


  z-index: 2;


}





.counsel_prominent_grid {


  display: grid;


  grid-template-columns: 1fr 1fr;


  gap: 36px;


  align-items: center;


  background: #fff;


  border-radius: 18px;


  padding: 48px 44px;


  box-shadow: 0 12px 40px color-mix(in srgb, var(--main-color) 12%, transparent);


  border: 1px solid color-mix(in srgb, var(--main-color) 10%, #eee);


}





.counsel_prominent_copy h2 {


  margin: 0 0 10px;


  font-size: clamp(24px, 3vw, 30px);


  font-weight: 800;


  line-height: 1.35;


}





.counsel_prominent_copy h2 span {


  color: var(--accent-color, var(--main-color));


}





.counsel_prominent_copy > p {


  margin: 0 0 16px;


  color: #666;


  font-size: 15px;


  line-height: 1.6;


}





.counsel_badge {


  display: inline-block;


  padding: 6px 14px;


  border-radius: 999px;


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  color: var(--main-color);


  font-size: 12px;


  font-weight: 700;


  margin-bottom: 12px;


}





.counsel_points {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.counsel_points li {


  padding: 7px 14px;


  border-radius: 999px;


  background: color-mix(in srgb, var(--main-color) 10%, #fff);


  color: var(--main-color);


  font-size: 13px;


  font-weight: 600;


}





.counsel_prominent_form {


  padding: 28px;


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  border-radius: 14px;


  border: 1px solid color-mix(in srgb, var(--main-color) 20%, #eee);


}





.counsel_prominent_form h3 {


  margin: 0;


  padding-bottom: 16px;


  border-bottom: 1px solid color-mix(in srgb, var(--main-color) 15%, #eee);


  font-size: 17px;


  font-weight: 800;


  color: var(--main-color);


}





.counsel_prominent_form.ui-form { gap: 20px; }





@media (max-width: 768px) {


  .counsel_prominent_grid {


    grid-template-columns: 1fr;


    padding: 32px 24px;


    gap: 28px;


  }





  .counsel_prominent_form { padding: 24px 22px; }


}





@media (max-width: 1024px) {


  section.car_list.car_list-home .car_wrap ul,


  body.theme-a section.car_list.car_list-home .car_wrap ul {


    grid-template-columns: repeat(2, 1fr);


    gap: 8px;


  }


}





@media (max-width: 768px) {


  body[data-page="sub_view"] main {


    display: flex;


    flex-direction: column;


    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0));


  }





  body[data-page="sub_view"] .sub-view-mnav {


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    gap: 8px;


    order: 0;


    padding: 10px 12px 0;


    background: #fff;


  }





  body[data-page="sub_view"] .sub-view-mnav__pill {


    display: flex;


    align-items: center;


    justify-content: center;


    min-height: 44px;


    padding: 10px 8px;


    border-radius: 8px;


    background: var(--main-color);


    color: #fff;


    font-size: 13px;


    font-weight: 700;


    text-decoration: none;


    text-align: center;


  }





  body[data-page="sub_view"] .gnb-modern {


    display: none;


  }





  body[data-page="sub_view"] section.car_photo { order: 1; }


  body[data-page="sub_view"] section.price_list { order: 2; }


  body[data-page="sub_view"] section.car_info_view { order: 3; }


  body[data-page="sub_view"] section.option_info { order: 4; }


  body[data-page="sub_view"] section.car_img { order: 5; }


  body[data-page="sub_view"] section.status { order: 6; }


  body[data-page="sub_view"] section.mosque { order: 7; }


  body[data-page="sub_view"] section.explain { order: 8; }


  body[data-page="sub_view"] section.guide { order: 9; }


  body[data-page="sub_view"] section.recent-mobile { order: 10; }


  body[data-page="sub_view"] section.ai { order: 11; }





  .sub-view-photo > .inner_wrap {


    width: 100%;


    max-width: none;


    padding: 0;


  }





  .sub-view-hero-layout {


    display: flex;


    flex-direction: column;


  }





  .sub-view-hero-photo-wrap {


    order: 1;


    flex-direction: column;


    width: 100%;


    margin: 0;


    gap: 0;


  }





  .sub-view-hero-photo-wrap .sub-view-hero-photo,


  .sub-view-hero-photo-wrap .big_img_wrap,


  .sub-view-hero-photo-wrap .big_img {


    width: 100%;


    max-width: none;


    border-radius: 0;


  }





  .sub-view-hero-photo-wrap .big_img img {


    border-radius: 0;


  }





  .sub-view-hero-panel {


    order: 2;


    padding: 16px 12px 8px;


    background: #fff;


  }





  .sub-view-hero-thumbs {


    display: none !important;


  }





  .sub-view-live-viewers,


  .car_info--legacy,


  .head-original--legacy {


    display: none !important;


  }





  .sub-view-car-title,


  .sub-view-price-hero,


  .sub-view-spec-grid,


  .lease-price-panel--mobile,


  .sub-view-primary-cta {


    display: block;


  }





  .sub-view-price-hero {


    display: flex;


  }





  .sub-view-spec-grid {


    display: grid;


  }





  .sub-view-primary-cta {


    display: block;


  }





  .lease-price-panel--mobile .lease-price-panel__body {


    flex-direction: column;


    align-items: stretch;


  }





  section.explain .explain-viewers-bar {


    display: none;


  }





  .header-mobile-menu {


    display: flex;


  }





  .header-modern-cta--desk {


    display: none;


  }





  .sub-view-layout,


  .sub-view-info-layout { grid-template-columns: 1fr; }





  .sub-view-side-card { position: static; }





  section.car_photo .photo {


    flex-direction: column;


  }





  section.car_photo .big_img_wrap,


  section.car_photo .big_img_wrap .big_img {


    width: 100%;


  }





  section.car_photo .sm_img .img_wrap {


    width: calc((100% - 8px) / 3);


  }





  section.car_photo .head-original {


    flex-direction: column;


    align-items: stretch;


  }





  section.car_photo .head-original h2 {


    font-size: 22px;


  }





  .lease-price-panel {


    min-width: 0;


    width: 100%;


  }





  .lease-price-panel__body {


    flex-direction: column;


    align-items: stretch;


  }





  .lease-price-panel__amount {


    justify-content: flex-end;


  }





  section.car_photo .head-original .month_price {


    white-space: normal;


    flex-wrap: wrap;


  }





  .result_grid-modern,


  .price-car-grid {


    grid-template-columns: repeat(2, 1fr);


    gap: 12px;


  }





  section.counsel .content .img_wrap {


    padding: 32px 16px 24px;


  }





  section.counsel .inp_wrap--single {


    flex-direction: column;


  }





  section.counsel .inp_wrap .wr_list {


    width: 100%;


    border-right: none;


    border-bottom: 1px solid #ccc;


  }





  section.counsel .inp_wrap .wr_list:last-child {


    border-bottom: none;


  }





  section.counsel .inp_wrap .tit {


    width: 100%;


    padding: 12px 14px;


    font-size: 15px;


  }





  section.counsel .inp_wrap .desc input,


  section.counsel .inp_wrap .desc select {


    max-width: none;


  }





  section.counsel .content h2 {


    font-size: 20px;


    margin-bottom: 20px;


  }





  section.counsel .send input {


    font-size: 20px;


    padding: 12px 0;


  }





  .counsel-panel {


    grid-template-columns: 1fr;


    padding: 20px;


  }





  .cards-modern { grid-template-columns: 1fr; }





  .price-list-pc {


    display: none !important;


  }





  .price-list-mo {


    display: block;


  }





  .price-list-live-mo {


    display: block;


  }





  section.page_counsel.page_counsel-modern {


    padding-top: 0;


    background: #fff;


  }





  section.page_counsel.page_counsel-modern .inner_wrap {


    padding-left: 16px;


    padding-right: 16px;


  }





  .hero__form-card.price-form-card {


    padding: 1.25rem 1rem 1rem;


    border: none;


    border-radius: 16px;


    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);


    max-width: none;


  }





  .hero__form-title {


    font-size: 1.2rem;


  }





  .hero__form-sub {


    font-size: 0.82rem;


  }





  .hero__form-row {


    grid-template-columns: 1fr 1fr;


    gap: 10px;


  }





  .page_counsel-modern .card {


    padding: 18px;


  }





  .live_feed-date {


    flex-basis: 78px;


    font-size: 11px;


  }





  .live_feed-step {


    flex-basis: 58px;


    font-size: 11px;


  }





  .sell-steps ol { grid-template-columns: repeat(2, 1fr); }





  .sell-intro {


    grid-template-columns: 1fr;


    gap: 20px;


    margin-bottom: 36px;


  }





  .sell-intro__copy { padding: 28px 24px; }





  .sell-banner {


    flex-direction: column;


    align-items: stretch;


    gap: 24px;


    padding: 28px 24px;


  }





  .sell-banner__actions {


    min-width: 0;


    width: 100%;


  }





  .sell-process {


    margin-bottom: 36px;


    padding: 24px 20px;


  }





  .sell-process__list--top,


  .sell-process__list--bottom {


    grid-template-columns: repeat(2, minmax(0, 1fr));


    max-width: none;


    margin: 0;


  }





  .sell-process__list li {


    min-height: 132px;


    padding: 16px 12px;


  }





  .sell-process__num {


    width: 46px;


    height: 46px;


    font-size: 14px;


  }





  .sell-process__title { font-size: 14px; }





  .sell-process__desc { font-size: 12px; }





  .sell-consult__grid {


    grid-template-columns: 1fr;


    gap: 24px;


    padding: 20px 18px;


  }





  .sell-benefits { grid-template-columns: 1fr 1fr; }





  .sell-hero { padding: 28px 24px; }





  section.review.review-page .review-page-grid {


    grid-template-columns: 1fr;


    gap: 20px;


  }





  section.review.review-home .view_box,


  section.review.review-page .view_box.review-page-grid {


    grid-template-columns: repeat(2, 1fr);


  }





  section.mosque.sub-view-mosque .inner_wrap {


    flex-direction: column;


  }





  section.mosque.sub-view-mosque .info_wrap,


  section.mosque.sub-view-mosque .counsel_wrap {


    width: 100%;


    max-width: none;


  }





  section.mosque.sub-view-mosque .dealer-info-table {


    border-top: none;


  }





  section.mosque.sub-view-mosque .dealer-info-table tr {


    display: grid;


    grid-template-columns: 88px 1fr;


    margin-bottom: 8px;


    border: 1px solid #e5e5e5;


    border-radius: 10px;


    overflow: hidden;


    border-bottom: 1px solid #e5e5e5;


  }





  section.mosque.sub-view-mosque .dealer-info-table th,


  section.mosque.sub-view-mosque .dealer-info-table td {


    display: block;


    width: auto;


    border: none;


  }





  section.mosque.sub-view-mosque .dealer-info-table th {


    padding: 10px 12px;


    font-size: 13px;


    color: #888;


    background: #f5f5f5;


  }





  section.mosque.sub-view-mosque .dealer-info-table td {


    padding: 10px 12px 12px;


    font-size: 15px;


  }





  section.mosque.sub-view-mosque .dealer-info-table td.tel {


    font-size: 20px;


  }





  section.car_info_view .table_wrap {


    overflow: hidden;


  }





  section.car_info_view .basic-info-mobile {


    display: grid;


    grid-template-columns: 1fr 1fr;


    gap: 8px;


  }





  section.car_info_view .basic-info-desktop.spec-grid {


    display: none;


  }





  section.car_info_view .car-basic-info-table,


  section.car_info_view .car-basic-info-table tbody,


  section.car_info_view .car-basic-info-table tr {


    display: block;


    width: 100%;


  }





  section.car_info_view .car-basic-info-table tr {


    display: grid;


    grid-template-columns: 76px 1fr;


    margin-bottom: 10px;


    border: 1px solid #e5e5e5;


    border-radius: 10px;


    overflow: hidden;


  }





  section.car_info_view .car-basic-info-table th,


  section.car_info_view .car-basic-info-table td {


    display: block;


    width: auto;


    padding: 10px 10px;


    font-size: 14px;


    border: none;


    border-bottom: 1px solid #f0f0f0;


  }





  section.car_info_view .car-basic-info-table th {


    background: #f7f7f7;


    font-size: 12px;


    color: #777;


  }





  section.car_info_view .car-basic-info-table tr > *:nth-last-child(-n+2) {


    border-bottom: none;


  }





  section.car_info_view .car-basic-info-table td[colspan="3"] {


    grid-column: 2;


  }





  section.guide .info_wrap {


    overflow-x: auto;


    -webkit-overflow-scrolling: touch;


  }





  section.guide .info_wrap table {


    min-width: 520px;


  }





  section.car_photo .sm_img {


    flex-wrap: nowrap;


    overflow-x: auto;


    scroll-snap-type: x mandatory;


    -webkit-overflow-scrolling: touch;


    gap: 8px;


    padding-bottom: 6px;


    margin-top: 12px;


  }





  section.car_photo .sm_img .img_wrap {


    flex: 0 0 26%;


    width: auto;


    min-width: 88px;


    scroll-snap-align: start;


  }





  section.car_photo .big_img_wrap .prev_btn svg,


  section.car_photo .big_img_wrap .next_btn svg {


    width: 36px;


    height: 36px;


  }





  section.car_photo .live-viewers {


    font-size: 13px;


    padding: 8px 12px;


  }





  section.explain .explain-hero,


  .explain-detail .explain-hero {


    padding: 24px 18px;


  }





  section.explain .explain-hero__title,


  .explain-detail .explain-hero__title {


    font-size: 22px;


  }





  section.explain .explain-viewers-bar {


    margin: 14px 0 18px;


  }





  section.explain .explain-live-viewers {


    font-size: 13px;


    padding: 8px 16px;


  }





  section.price_list.sub-view-lease .big_box {


    flex-direction: column;


    gap: 16px;


    padding: 16px 18px;


  }





  section.price_list.sub-view-lease .big_box h2 {


    font-size: 26px;


  }





  section.price_list.sub-view-lease .right_con {


    text-align: left;


  }





  section.option_info,


  section.explain,


  section.car_img,


  section.guide,


  section.status,


  section.price_list,


  section.ai.sub-view-ai {


    padding-top: 32px;


  }





  section.option_info p.sub_tit {


    font-size: 15px;


  }





  section.car_info_view h2,


  section.option_info h2,


  section.explain h2,


  section.car_img h2,


  section.guide h2,


  section.status h2,


  section.price_list h2 {


    font-size: 20px;


  }





  .recent-mobile {


    display: block;


    padding: 28px 0;


    border-top: 1px solid #eee;


  }





  body[data-page="sub_view"] .bottom-c-bar,


  body[data-page="sub_view"] .footer-c-bar,


  body[data-page="sub_view"] .footer_counsel {


    display: none !important;


  }





  body[data-page="sub_view"] main {


    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0));


  }





  .bottom-counsel {


    display: block;


  }





  .sub-view-mobile-bar {


    display: none !important;


  }





  section.option_info .info_wrap .list .opt_wrap li {


    flex: 0 0 50%;


  }





  section.price_list.sub-view-lease .form_inner {


    flex-direction: column;


  }





  section.price_list.sub-view-lease .left_wrap {


    width: 100%;


  }





  section.price_list.sub-view-lease .sm_box {


    width: 100%;


  }





  section.car_img .info_wrap li {


    flex: 0 0 100%;


  }





  section.explain .explain-features__grid {


    grid-template-columns: 1fr;


  }





  .quick-info-dock {


    display: none;


  }





  .info-table-wide { font-size: 12px; }





  .info-table-wide th,


  .info-table-wide td { padding: 8px 6px; }


}





/* sub_view — 차량 상세 페이지 */


.sub-view-recent { padding: 12px 0; border-bottom: 1px solid #eee; }





.lease-buy-label {


  margin: 0 0 8px;


  font-size: 14px;


  font-weight: 700;


  color: #666;


}





.photo_doc_links {


  display: flex;


  gap: 12px;


  list-style: none;


  margin: 16px 0 0;


  padding: 0;


}





.photo_doc_links a {


  font-size: 14px;


  font-weight: 600;


  color: var(--main-color);


  text-decoration: underline;


}





.info-table-wide th { width: auto; white-space: nowrap; }





.dealer-box-full { margin-top: 24px; }





.dealer-name-line {


  display: flex;


  align-items: center;


  gap: 10px;


  flex-wrap: wrap;


  margin: 0 0 16px;


}





.dealer-card-btn {


  padding: 4px 10px;


  border: 1px solid var(--main-color);


  border-radius: 6px;


  background: #fff;


  color: var(--main-color);


  font-size: 13px;


  cursor: pointer;


}





.dealer-dl {


  margin: 0;


  display: grid;


  gap: 10px;


}





.dealer-dl div {


  display: grid;


  grid-template-columns: 100px 1fr;


  gap: 12px;


  font-size: 14px;


}





.dealer-dl dt { font-weight: 700; color: #555; }





.dealer-dl dd { margin: 0; color: #333; line-height: 1.55; }





.dealer-close-btn {


  margin-top: 16px;


  padding: 8px 20px;


  border: 1px solid #ccc;


  border-radius: 8px;


  background: #f5f5f5;


  cursor: pointer;


}





.sub-view-section {


  padding: 36px 0;


  border-top: 1px solid #eee;


}





.option-disclaimer {


  margin: 0 0 20px;


  font-size: 13px;


  color: #888;


}





.car_option_groups {


  display: grid;


  grid-template-columns: repeat(2, 1fr);


  gap: 24px;


}





.car_option_group h4 {


  margin: 0 0 10px;


  font-size: 15px;


  font-weight: 800;


  color: var(--main-color);


}





.car_option_group ul {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  list-style: none;


  margin: 0;


  padding: 0;


}





.car_option_group li {


  padding: 6px 10px;


  font-size: 12px;


  border: 1px solid #ddd;


  border-radius: 6px;


  color: #999;


  background: #fafafa;


}





.car_option_group li.active {


  color: var(--main-color);


  border-color: var(--main-color);


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  font-weight: 600;


}





.car_description_body {


  min-height: 40px;


  font-size: 15px;


  line-height: 1.7;


  color: #444;


}





.car_photo_info_grid {


  display: grid;


  grid-template-columns: repeat(4, 1fr);


  gap: 12px;


}





.car_photo_info_grid img {


  width: 100%;


  aspect-ratio: 4 / 3;


  object-fit: contain;


  background: #f3f4f6;


  border-radius: 8px;


}





.purchase-guide-table {


  width: 100%;


  border-collapse: collapse;


}





.purchase-guide-table th,


.purchase-guide-table td {


  padding: 14px 16px;


  border: 1px solid #ddd;


  font-size: 13px;


  vertical-align: top;


}





.purchase-guide-table th {


  background: #f5f5f5;


  font-weight: 700;


}





.purchase-guide-table td p { margin: 0 0 4px; }





.performance_record_body {


  padding: 24px;


  background: #f9f9f9;


  border: 1px solid #eee;


  border-radius: 12px;


}





.lease_promotion_head { margin-bottom: 12px; }





.promo-car-brand {


  margin: 0;


  font-size: 18px;


  font-weight: 800;


}





.promo-car-sub {


  margin: 4px 0 0;


  font-size: 15px;


  color: #666;


}





.promo-divider {


  border: none;


  border-top: 1px solid #eee;


  margin: 16px 0;


}





.promo-lease-label {


  margin: 0 0 8px;


  font-size: 14px;


  font-weight: 700;


}





.promo-marquee {


  overflow: hidden;


  margin: 20px 0;


  padding: 10px 0;


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  border-radius: 8px;


}





.promo-marquee-track {


  white-space: nowrap;


  animation: promo-marquee 20s linear infinite;


  font-size: 14px;


  font-weight: 600;


  color: var(--main-color);


}





@keyframes promo-marquee {


  from { transform: translateX(0); }


  to { transform: translateX(-50%); }


}





.promo-badge {


  display: inline-block;


  margin: 0 0 8px;


  padding: 4px 10px;


  border-radius: 999px;


  background: var(--accent-color, var(--main-color));


  color: #fff;


  font-size: 12px;


  font-weight: 700;


}





.promo-site-name {


  margin: 0 0 12px;


  font-size: 22px;


  font-weight: 800;


}





.promo-monthly-label {


  margin: 0;


  font-size: 14px;


  color: #666;


}





.promo-monthly-value {


  margin: 4px 0 16px;


  font-size: 16px;


}





.promo-monthly-value span {


  font-size: 32px;


  font-weight: 800;


  color: var(--accent-color, var(--main-color));


}





.finance-tabs {


  display: flex;


  flex-wrap: wrap;


  gap: 8px;


  margin-bottom: 20px;


}





.finance-tabs button {


  padding: 8px 16px;


  border: 1.5px solid #ddd;


  border-radius: 999px;


  background: #fff;


  font-size: 13px;


  font-weight: 700;


  cursor: pointer;


}





.finance-tabs button.active {


  background: var(--main-color);


  border-color: var(--main-color);


  color: #fff;


}





.promo-disclaimers {


  margin: 0;


  padding: 0;


  list-style: none;


}





.promo-disclaimers li {


  margin-bottom: 8px;


  font-size: 13px;


  color: #666;


  line-height: 1.55;


}





.legal-notice-list {


  margin: 0 0 16px;


  padding-left: 20px;


}





.legal-notice-list li {


  margin-bottom: 10px;


  font-size: 14px;


  line-height: 1.65;


  color: #444;


}





.legal-notice-foot {


  margin: 0;


  font-size: 13px;


  color: #888;


}





.warranty-intro,


.warranty-body,


.warranty-caution {


  font-size: 14px;


  line-height: 1.75;


  color: #444;


}





.warranty-subtitle,


.warranty-caution-title {


  margin: 20px 0 8px;


  font-size: 15px;


  font-weight: 800;


}





.dealer-modal {


  position: fixed;


  inset: 0;


  z-index: 200;


  display: flex;


  align-items: center;


  justify-content: center;


  padding: 20px 16px;


}





.dealer-modal[hidden] { display: none; }





.dealer-modal__backdrop {


  position: absolute;


  inset: 0;


  background: rgba(15, 23, 20, 0.55);


  backdrop-filter: blur(4px);


  opacity: 0;


  transition: opacity 0.22s ease;


}





.dealer-modal.is-open .dealer-modal__backdrop {


  opacity: 1;


}





.dealer-modal__panel {


  position: relative;


  z-index: 1;


  width: min(100%, 380px);


  padding: 20px 20px 18px;


  background: #fff;


  border-radius: 20px;


  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);


  transform: translateY(12px) scale(0.98);


  opacity: 0;


  transition: transform 0.24s ease, opacity 0.24s ease;


}





.dealer-modal.is-open .dealer-modal__panel {


  transform: translateY(0) scale(1);


  opacity: 1;


}





.dealer-modal__close {


  position: absolute;


  top: 14px;


  right: 14px;


  z-index: 2;


  display: flex;


  align-items: center;


  justify-content: center;


  width: 36px;


  height: 36px;


  padding: 0;


  border: none;


  border-radius: 50%;


  background: rgba(255, 255, 255, 0.92);


  color: #555;


  cursor: pointer;


  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);


  transition: background 0.15s ease, color 0.15s ease;


}





.dealer-modal__close:hover {


  background: #fff;


  color: #111;


}





.dealer-id-card {


  overflow: hidden;


  border: 1px solid #e8ece9;


  border-radius: 16px;


  background: #fafbfa;


}





.dealer-id-card__header {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 10px;


  padding: 16px 18px;


  background: var(--main-color);


  color: #fff;


}





.dealer-id-card__site {


  font-size: 14px;


  font-weight: 800;


  letter-spacing: -0.02em;


}





.dealer-id-card__badge {


  padding: 4px 10px;


  border-radius: 999px;


  background: rgba(255, 255, 255, 0.18);


  font-size: 11px;


  font-weight: 700;


  letter-spacing: 0.02em;


  white-space: nowrap;


}





.dealer-id-card__body {


  padding: 20px 18px 16px;


}





.dealer-id-card__photo {


  overflow: hidden;


  margin-bottom: 16px;


  border-radius: 12px;


  border: 1px solid #e5e5e5;


  background: #fff;


}





.dealer-id-card__photo img {


  display: block;


  width: 100%;


  height: auto;


  max-height: 220px;


  object-fit: contain;


  background: #fff;


}





.dealer-id-card__avatar {


  display: flex;


  align-items: center;


  justify-content: center;


  width: 72px;


  height: 72px;


  margin-bottom: 14px;


  border-radius: 50%;


  background: color-mix(in srgb, var(--main-color) 8%, #fff);


  border: 2px solid color-mix(in srgb, var(--main-color) 35%, #fff);


  color: var(--main-color);


  font-size: 28px;


  font-weight: 800;


}





.dealer-id-card__profile {


  margin-bottom: 16px;


}





.dealer-id-card__name {


  margin: 0 0 4px;


  font-size: 22px;


  font-weight: 800;


  color: #111;


  letter-spacing: -0.03em;


  line-height: 1.3;


}





.dealer-id-card__name span {


  margin-left: 6px;


  font-size: 15px;


  font-weight: 600;


  color: #666;


}





.dealer-id-card__company {


  margin: 0;


  font-size: 14px;


  font-weight: 600;


  color: var(--main-color);


}





.dealer-id-card__meta {


  margin: 0;


  display: grid;


  gap: 10px;


}





.dealer-id-card__meta > div {


  display: grid;


  grid-template-columns: 88px 1fr;


  gap: 8px;


  padding: 10px 12px;


  border-radius: 10px;


  background: #fff;


  border: 1px solid #eef0ee;


}





.dealer-id-card__meta dt {


  margin: 0;


  font-size: 12px;


  font-weight: 600;


  color: #888;


  line-height: 1.45;


}





.dealer-id-card__meta dd {


  margin: 0;


  font-size: 13px;


  font-weight: 600;


  color: #222;


  line-height: 1.45;


  word-break: keep-all;


}





.dealer-id-card__meta dd.dealer-id-card__tel {


  font-size: 16px;


  font-weight: 800;


  color: var(--main-color);


}





.dealer-id-card__footer {


  padding: 10px 18px;


  border-top: 1px solid #eef0ee;


  background: #f3f5f4;


  font-size: 11px;


  color: #888;


  text-align: center;


  line-height: 1.4;


}





.dealer-modal__confirm {


  display: block;


  width: 100%;


  margin-top: 14px;


  padding: 14px;


  border: none;


  border-radius: 12px;


  background: var(--main-color);


  color: #fff;


  font-size: 16px;


  font-weight: 700;


  cursor: pointer;


  transition: filter 0.15s ease, transform 0.15s ease;


}





.dealer-modal__confirm:hover {


  filter: brightness(1.06);


}





.dealer-modal__confirm:active {


  transform: scale(0.99);


}





body.dealer-modal-open {


  overflow: hidden;


}





/* sub_view — Hana-style mobile hero (desktop: legacy blocks visible) */


.sub-view-mnav,


.sub-view-car-title,


.sub-view-price-hero,


.sub-view-spec-grid,


.lease-price-panel--mobile,


.sub-view-primary-cta {


  display: none;


}





.sub-view-hero-layout {


  display: block;


}





.sub-view-hero-photo-wrap {


  display: flex;


  align-items: flex-start;


  gap: 20px;


}





.sub-view-hero-photo-wrap .sub-view-hero-photo {


  flex-shrink: 0;


}





.sub-view-car-title {


  margin: 0 0 10px;


  font-size: 26px;


  font-weight: 700;


  line-height: 1.35;


}





.sub-view-price-hero {


  align-items: baseline;


  flex-wrap: wrap;


  gap: 4px 8px;


  margin-bottom: 14px;


}





.sub-view-price-hero__label {


  font-size: 14px;


  color: #666;


}





.sub-view-price-hero__value {


  font-size: 34px;


  font-weight: 800;


  color: var(--accent-color, var(--main-color));


  line-height: 1;


}





.sub-view-price-hero__unit {


  font-size: 18px;


  font-weight: 700;


}





.sub-view-price-hero__term {


  width: 100%;


  font-size: 13px;


  color: #888;


}





.sub-view-spec-grid {


  display: grid;


  grid-template-columns: 1fr 1fr;


  gap: 8px;


  list-style: none;


  margin: 0 0 16px;


  padding: 0;


}





.sub-view-spec-grid li {


  padding: 10px 12px;


  border-radius: 8px;


  background: #f5f7f8;


  font-size: 13px;


}





.sub-view-spec-grid li span {


  display: block;


  margin-bottom: 4px;


  font-size: 11px;


  color: #888;


}





.sub-view-spec-grid li strong {


  font-weight: 700;


  color: #222;


}





.sub-view-primary-cta {


  margin-bottom: 8px;


  padding: 16px;


  border-radius: 8px;


  background: var(--main-color);


  color: #fff;


  font-size: 16px;


  font-weight: 800;


  text-align: center;


  text-decoration: none;


}





.header-modern-actions {


  display: flex;


  align-items: center;


  gap: 10px;


}





.header-mobile-menu {


  display: none;


  flex-direction: column;


  justify-content: center;


  gap: 5px;


  width: 40px;


  height: 40px;


  padding: 0;


  border: none;


  border-radius: 8px;


  background: transparent;


  cursor: pointer;


}





.header-mobile-menu span {


  display: block;


  width: 22px;


  height: 2px;


  margin: 0 auto;


  background: #333;


  border-radius: 1px;


}





.mobile-nav-drawer {


  padding: 12px 16px 16px;


  background: #fff;


  border-bottom: 1px solid #eee;


  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);


}





.mobile-nav-drawer[hidden] {


  display: none !important;


}





.mobile-nav-drawer nav {


  display: flex;


  flex-direction: column;


  gap: 4px;


}





.mobile-nav-drawer a {


  display: block;


  padding: 12px 8px;


  border-radius: 8px;


  font-size: 15px;


  font-weight: 600;


  color: #222;


}





.mobile-nav-drawer a:active {


  background: #f0f0f0;


}





.sub-view-mobile-bar__actions--hana {


  display: flex;


  width: 100%;


  gap: 0;


}





.sub-view-mobile-bar__actions--hana .sub-view-mobile-btn {


  flex: 1;


  min-width: 0;


  padding: 16px 12px;


  border-radius: 0;


  font-size: 15px;


  font-weight: 800;


}





.sub-view-mobile-bar__actions--hana .sub-view-mobile-btn--apply {


  background: var(--main-color);


}





.sub-view-mobile-bar__actions--hana .sub-view-mobile-btn--call {


  background: #3d4f5f;


}





.sub-view-mobile-bar {


  display: none;


  position: fixed;


  bottom: 0;


  left: 0;


  right: 0;


  z-index: 85;


  background: #fff;


  border-top: 1px solid #e8e8e8;


  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.1);


}





.sub-view-mobile-bar__inner {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 12px;


  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0));


}





.sub-view-mobile-bar__info {


  min-width: 0;


  flex: 1;


}





.sub-view-mobile-bar__title {


  margin: 0 0 2px;


  font-size: 14px;


  font-weight: 700;


  color: #222;


  white-space: nowrap;


  overflow: hidden;


  text-overflow: ellipsis;


}





.sub-view-mobile-bar__price {


  margin: 0;


  font-size: 13px;


  color: #666;


}





.sub-view-mobile-bar__price strong {


  font-size: 17px;


  font-weight: 800;


  color: var(--accent-color, var(--main-color));


}





.sub-view-mobile-bar__actions {


  display: flex;


  gap: 8px;


  flex-shrink: 0;


}





.sub-view-mobile-btn {


  display: inline-flex;


  align-items: center;


  justify-content: center;


  min-width: 64px;


  padding: 12px 16px;


  border-radius: 8px;


  font-size: 14px;


  font-weight: 700;


  text-decoration: none;


  color: #fff;


}





.sub-view-mobile-btn--call {


  background: var(--main-color);


}





.sub-view-mobile-btn--apply {


  background: color-mix(in srgb, var(--accent-color, var(--main-color)) 88%, #000);


}





.recent-mobile {


  display: none;


}





.recent-mobile h2 {


  margin: 0 0 14px;


  padding-bottom: 10px;


  font-size: 20px;


  border-bottom: 1px solid #ddd;


}





.recent-mobile-list {


  display: flex;


  flex-direction: column;


  gap: 10px;


}





.recent-mobile-item {


  display: flex;


  align-items: center;


  gap: 12px;


  padding: 10px;


  border: 1px solid #e5e5e5;


  border-radius: 10px;


  background: #fff;


  color: inherit;


  text-decoration: none;


}





.recent-mobile-item .thumb {


  flex-shrink: 0;


  width: 88px;


  height: 66px;


  border-radius: 8px;


  overflow: hidden;


  background: #eee;


}





.recent-mobile-item .thumb img {


  width: 100%;


  height: 100%;


  object-fit: cover;


}





.recent-mobile-item .meta {


  min-width: 0;


}





.recent-mobile-item .name {


  margin: 0 0 4px;


  font-size: 14px;


  font-weight: 700;


  line-height: 1.35;


}





.recent-mobile-item .price {


  margin: 0;


  font-size: 13px;


  font-weight: 700;


  color: var(--accent-color, var(--main-color));


}





/* 차량 썸네일 라벨 — barolease 스타일 리본 (하단 V, 노랑 / 검정 이탤릭 멘트) */


.car-img-label {


  position: absolute;


  top: 0 !important;


  left: 0 !important;


  right: auto;


  bottom: auto;


  z-index: 3;


  width: 26% !important;


  max-width: 92px;


  min-width: 56px;


  height: auto !important;


  pointer-events: none;


  user-select: none;


  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.22));


  transform: none !important;


  margin: 0 !important;


  padding: 0 !important;


}





.car-img-label--ribbon {


  display: flex;


  align-items: center;


  justify-content: center;


  box-sizing: border-box;


  /* Vehicle label ribbon: 하단 중앙이 위로 파인 역V */


  aspect-ratio: 318 / 259;


  background: var(--main-color, #1e88e5);


  clip-path: polygon(


    0 0,


    100% 0,


    100% 100%,


    50% 74%,


    0 100%


  );


  padding: 12% 8% 28% 8%;


  object-fit: unset !important;


}





.car-img-label__text {


  display: block;


  width: 100%;


  text-align: center;


  font-family: 'Pretendard', 'Noto Sans KR', sans-serif;


  font-weight: 900;


  font-style: italic;


  font-size: clamp(9px, 2.6vw, 13px);


  line-height: 1.15;


  letter-spacing: -0.06em;


  color: #fff;


  white-space: nowrap;


  transform: skewX(-8deg);


}





.car-card-type-a__img,


.car-card-item .img_wrap,


.car-card-modern .ratio-4-3,


.sub-view-hero-photo .big_img {


  position: relative;


  overflow: hidden;


}





.sub-view-hero-photo .big_img .car-img-label {


  width: 14% !important;


  max-width: 120px;


  min-width: 70px;


}





.sub-view-hero-photo .big_img .car-img-label__text {


  font-size: clamp(11px, 1.4vw, 16px);


}





@media (max-width: 768px) {


  .car_option_groups { grid-template-columns: 1fr; }





  .car_photo_info_grid { grid-template-columns: repeat(2, 1fr); }





  .inner_wrap {


    width: calc(100% - 24px);


  }





  .car-img-label {


    width: 30% !important;


    max-width: 78px;


    min-width: 54px;


  }





  .car-img-label__text {


    font-size: clamp(9px, 3.1vw, 12px);


  }





  .sub-view-hero-photo .big_img .car-img-label {


    width: 18% !important;


    min-width: 60px;


  }


}





/* price_list renewal — monthly promotion */


.promo-renewal {


  margin-top: 0;


  background: #f7f9fc;


  color: #172033;


}





.promo-renewal__hero {


  position: relative;


  overflow: hidden;


  padding: 72px 0 96px;


  background: var(--main-color, #1e88e5);


}





.promo-renewal__hero::after {


  content: "";


  position: absolute;


  right: -120px;


  bottom: -260px;


  width: 620px;


  height: 620px;


  border: 1px solid rgba(255, 255, 255, 0.18);


  border-radius: 50%;


  box-shadow:


    0 0 0 70px rgba(255, 255, 255, 0.04),


    0 0 0 140px rgba(255, 255, 255, 0.03);


}





.promo-renewal__hero-grid {


  position: relative;


  z-index: 1;


  display: grid;


  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);


  align-items: center;


  gap: 72px;


}





.promo-renewal__copy {


  color: #fff;


}





.promo-renewal__eyebrow {


  margin: 0 0 18px;


  font-size: 13px;


  font-weight: 800;


  letter-spacing: 0.18em;


  opacity: 0.8;


}





.promo-renewal__copy h1 {


  margin: 0;


  font-size: clamp(38px, 4vw, 58px);


  font-weight: 500;


  line-height: 1.18;


  letter-spacing: -0.045em;


}





.promo-renewal__copy h1 strong {


  font-weight: 900;


}





.promo-renewal__lead {


  margin: 24px 0 30px;


  font-size: 17px;


  line-height: 1.75;


  color: rgba(255, 255, 255, 0.84);


}





.promo-renewal__points {


  display: grid;


  grid-template-columns: repeat(3, minmax(0, 1fr));


  gap: 10px;


  margin: 0;


  padding: 0;


  list-style: none;


}





.promo-renewal__points li {


  display: flex;


  gap: 10px;


  min-width: 0;


  padding: 14px 12px;


  border: 1px solid rgba(255, 255, 255, 0.2);


  border-radius: 12px;


  background: rgba(255, 255, 255, 0.09);


  backdrop-filter: blur(8px);


}





.promo-renewal__points b {


  flex: 0 0 auto;


  font-size: 11px;


  color: rgba(255, 255, 255, 0.58);


}





.promo-renewal__points span {


  min-width: 0;


  font-size: 12px;


  line-height: 1.45;


  color: rgba(255, 255, 255, 0.72);


}





.promo-renewal__points strong {


  display: block;


  margin-bottom: 3px;


  font-size: 14px;


  color: #fff;


}





.promo-renewal__form.hero__form-card {


  max-width: none;


  margin: 0;


  padding: 30px;


  border: 1px solid rgba(255, 255, 255, 0.55);


  border-radius: 22px;


  box-shadow: 0 24px 60px rgba(12, 55, 102, 0.24);


}





.promo-renewal__form .hero__form-title {


  font-size: 22px;


}





.promo-renewal__benefits {


  position: relative;


  z-index: 2;


  margin-top: -34px;


}





.promo-renewal__benefits .inner_wrap {


  display: grid;


  grid-template-columns: repeat(3, 1fr);


  overflow: hidden;


  border: 1px solid #e7edf5;


  border-radius: 18px;


  background: #fff;


  box-shadow: 0 16px 40px rgba(29, 67, 108, 0.1);


}





.promo-renewal__benefits .inner_wrap > div {


  display: flex;


  align-items: center;


  gap: 16px;


  padding: 24px 28px;


}





.promo-renewal__benefits .inner_wrap > div + div {


  border-left: 1px solid #edf1f6;


}





.promo-renewal__benefits span {


  display: grid;


  flex: 0 0 44px;


  width: 44px;


  height: 44px;


  place-items: center;


  border-radius: 14px;


  background: color-mix(in srgb, var(--main-color) 11%, #fff);


  color: var(--main-color);


  font-size: 16px;


  font-weight: 900;


}





.promo-renewal__benefits p {


  margin: 0;


  font-size: 13px;


  line-height: 1.5;


  color: #7a8494;


}





.promo-renewal__benefits strong {


  display: block;


  margin-bottom: 2px;


  color: #1d2738;


  font-size: 15px;


}





.promo-renewal__cars {


  padding: 86px 0 96px;


}





.promo-renewal__section-head {


  display: flex;


  align-items: flex-end;


  justify-content: space-between;


  gap: 24px;


  margin-bottom: 28px;


}





.promo-renewal__section-head p {


  margin: 0 0 8px;


  color: var(--main-color);


  font-size: 12px;


  font-weight: 900;


  letter-spacing: 0.14em;


}





.promo-renewal__section-head h2 {


  margin: 0 0 8px;


  font-size: 34px;


  line-height: 1.25;


  letter-spacing: -0.035em;


}





.promo-renewal__section-head div > span {


  color: #798394;


  font-size: 15px;


}





.promo-renewal__section-head > a {


  flex: 0 0 auto;


  padding-bottom: 4px;


  color: #3b4658;


  font-size: 14px;


  font-weight: 700;


}





.promo-renewal__section-head > a span {


  margin-left: 8px;


  color: var(--main-color);


}





.promo-renewal__filters {


  display: flex;


  gap: 8px;


  margin-bottom: 24px;


}





.promo-renewal__filters button {


  padding: 10px 17px;


  border: 1px solid #dfe5ed;


  border-radius: 999px;


  background: #fff;


  color: #647083;


  font-size: 13px;


  font-weight: 700;


  cursor: pointer;


  transition: 0.2s ease;


}





.promo-renewal__filters button:hover {


  border-color: var(--main-color);


  color: var(--main-color);


}





.promo-renewal__filters button.is-active {


  border-color: var(--main-color);


  background: var(--main-color);


  color: #fff;


  box-shadow: 0 6px 16px color-mix(in srgb, var(--main-color) 24%, transparent);


}





.promo-renewal__grid {


  display: grid;


  grid-template-columns: repeat(4, minmax(0, 1fr));


  gap: 20px;


  margin: 0;


  padding: 0;


  list-style: none;


}





.promo-renewal__grid > li {


  overflow: hidden;


  border: 1px solid #e5eaf1;


  border-radius: 18px;


  background: #fff;


  box-shadow: 0 8px 24px rgba(30, 55, 85, 0.05);


  transition: transform 0.25s ease, box-shadow 0.25s ease;


}





.promo-renewal__grid > li[hidden] {


  display: none;


}





.promo-renewal__grid > li:hover {


  transform: translateY(-5px);


  box-shadow: 0 18px 36px rgba(30, 77, 126, 0.12);


}





.promo-renewal__grid a {


  display: block;


  color: inherit;


}





.promo-renewal__image {


  position: relative;


  overflow: hidden;


  aspect-ratio: 4 / 3;


  background: #eef2f6;


}





.promo-renewal__image > span {


  position: absolute;


  z-index: 1;


  top: 14px;


  left: 14px;


  padding: 6px 9px;


  border-radius: 6px;


  background: #172033;


  color: #fff;


  font-size: 10px;


  font-weight: 900;


  letter-spacing: 0.08em;


}





.promo-renewal__image img {


  width: 100%;


  height: 100%;


  object-fit: contain;


  transition: transform 0.3s ease;


}





.promo-renewal__grid > li:hover img {


  transform: scale(1.035);


}





.promo-renewal__card-body {


  padding: 20px;


}





.promo-renewal__car-name {


  margin: 0 0 6px;


  color: #172033;


  font-size: 18px;


  font-weight: 800;


}





.promo-renewal__car-desc {


  overflow: hidden;


  margin: 0 0 18px;


  color: #7a8494;


  font-size: 12px;


  text-overflow: ellipsis;


  white-space: nowrap;


}





.promo-renewal__price {


  display: flex;


  align-items: flex-end;


  justify-content: space-between;


  gap: 8px;


  padding-top: 16px;


  border-top: 1px solid #edf1f5;


}





.promo-renewal__price small {


  padding-bottom: 3px;


  color: #8a94a3;


  font-size: 11px;


}





.promo-renewal__price strong {


  color: var(--main-color);


  font-size: 19px;


  letter-spacing: -0.04em;


}





.promo-renewal__card-link {


  display: flex;


  justify-content: space-between;


  margin-top: 18px;


  color: #465164;


  font-size: 12px;


  font-weight: 700;


}





.promo-renewal__card-link b {


  color: var(--main-color);


  font-size: 15px;


}





.promo-renewal__notice {


  margin: 18px 0 0;


  color: #8a94a3;


  font-size: 12px;


}





.promo-renewal__cta {


  padding: 54px 0;


  background: #172033;


  color: #fff;


  overflow: visible;


  isolation: isolate;


}





.promo-renewal__cta .inner_wrap {


  display: flex;


  align-items: center;


  justify-content: space-between;


  gap: 30px;


  position: relative;


  z-index: 1;


}





.promo-renewal__cta p {


  margin: 0 0 8px;


  color: #91a0b5;


  font-size: 14px;


}





.promo-renewal__cta h2 {


  margin: 0;


  font-size: 28px;


  letter-spacing: -0.03em;


  line-height: 1.35;


  overflow: visible;


}





.promo-renewal__cta a {


  flex: 0 0 auto;


  padding: 15px 22px;


  border-radius: 10px;


  background: var(--main-color);


  color: #fff;


  font-size: 14px;


  font-weight: 800;


}





.promo-renewal__cta a span {


  margin-left: 14px;


}





@media (max-width: 1024px) {


  .promo-renewal__hero-grid {


    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr);


    gap: 36px;


  }





  .promo-renewal__points {


    grid-template-columns: 1fr;


  }





  .promo-renewal__points li {


    padding: 10px 12px;


  }





  .promo-renewal__grid {


    grid-template-columns: repeat(3, minmax(0, 1fr));


  }


}





@media (max-width: 768px) {


  .promo-renewal__hero {


    padding: 46px 0 68px;


  }





  .promo-renewal__hero-grid {


    grid-template-columns: 1fr;


    gap: 34px;


  }





  .promo-renewal__copy h1 {


    font-size: 36px;


  }





  .promo-renewal__lead {


    margin: 18px 0 24px;


    font-size: 15px;


  }





  .promo-renewal__lead br {


    display: none;


  }





  .promo-renewal__points {


    grid-template-columns: repeat(3, minmax(0, 1fr));


  }





  .promo-renewal__points li {


    display: block;


  }





  .promo-renewal__points b {


    display: block;


    margin-bottom: 7px;


  }





  .promo-renewal__form.hero__form-card {


    padding: 24px 20px 20px;


    border: none;


  }





  .promo-renewal__benefits {


    margin-top: -28px;


  }





  .promo-renewal__benefits .inner_wrap {


    grid-template-columns: 1fr;


  }





  .promo-renewal__benefits .inner_wrap > div {


    padding: 18px 20px;


  }





  .promo-renewal__benefits .inner_wrap > div + div {


    border-top: 1px solid #edf1f6;


    border-left: none;


  }





  .promo-renewal__cars {


    padding: 64px 0 70px;


  }





  .promo-renewal__section-head {


    align-items: flex-start;


  }





  .promo-renewal__section-head h2 {


    font-size: 28px;


  }





  .promo-renewal__section-head div > span {


    font-size: 13px;


  }





  .promo-renewal__section-head > a {


    display: none;


  }





  .promo-renewal__filters {


    overflow-x: auto;


    padding-bottom: 4px;


    scrollbar-width: none;


  }





  .promo-renewal__filters::-webkit-scrollbar {


    display: none;


  }





  .promo-renewal__filters button {


    flex: 0 0 auto;


  }





  .promo-renewal__grid {


    grid-template-columns: repeat(2, minmax(0, 1fr));


    gap: 12px;


  }





  .promo-renewal__card-body {


    padding: 15px;


  }





  .promo-renewal__car-name {


    font-size: 15px;


  }





  .promo-renewal__price {


    display: block;


  }





  .promo-renewal__price small {


    display: block;


    margin-bottom: 4px;


  }





  .promo-renewal__price strong {


    font-size: 17px;


  }





  .promo-renewal__cta {


    padding: 42px 0;


  }





  .promo-renewal__cta .inner_wrap {


    align-items: stretch;


    flex-direction: column;


  }





  .promo-renewal__cta h2 {


    font-size: 23px;


  }





  .promo-renewal__cta a {


    text-align: center;


  }


}





@media (max-width: 420px) {


  .promo-renewal__copy h1 {


    font-size: 31px;


  }





  .promo-renewal__points {


    grid-template-columns: 1fr;


  }





  .promo-renewal__points li {


    display: flex;


  }





  .promo-renewal__grid {


    grid-template-columns: 1fr;


  }


}





/* The desktop quick-info dock obscures the two-column detail form at tablet widths. */


@media (max-width: 1279px) {


  body[data-page="sub_view"] #sub_view_quick_info {


    display: none !important;


  }


}





/* Original tenant vehicle watermark asset. */


img.car-img-label--original { object-fit: contain !important; aspect-ratio: auto !important; border-radius: 0 !important; max-height: none !important; }




/* basic-info-table: keep rows content-sized across both themes. */

body #basic-info {height:auto;align-self:start;}

body #basicInfoDesktop {flex:none;grid-template-columns:minmax(84px,0.65fr) minmax(0,1fr) minmax(84px,0.65fr) minmax(0,1fr);}

body #basicInfoDesktop > span {min-width:0;min-height:52px;overflow-wrap:anywhere;}

body #basicInfoMobile {flex:none;}


.car-img-label--ribbon{background:var(--main-color,#011B6A)!important;padding:8% 3% 22%!important}.car-img-label--ribbon .car-img-label__text{color:#fff!important;font-size:clamp(7px,0.72vw,11px)!important;line-height:1.3!important;text-align:center;overflow-wrap:anywhere}

/* Two-line tenant ribbon, sized to the ribbon rather than the viewport. */
.car-img-label--ribbon{container-type:inline-size;padding:6px 2px 18px!important;min-height:64px;aspect-ratio:1/1!important}
.car-img-label--ribbon .car-img-label__text{white-space:pre-line!important;font-style:normal!important;font-size:12cqw!important;line-height:1.65!important;letter-spacing:-.04em!important;overflow-wrap:normal!important;transform:none!important}
.car-img-label--ribbon .car-img-label__text::first-line{font-size:21cqw;font-weight:900}

.car-img-label--ribbon{width:32%!important;min-width:76px!important;max-width:104px!important}.car-img-label--ribbon .car-img-label__text{font-size:14cqw!important;font-weight:700!important}

html body .car-img-label.car-img-label--ribbon{width:32%!important;min-width:76px!important;max-width:104px!important;padding:6px 2px 18px!important}html body .car-img-label.car-img-label--ribbon .car-img-label__text{font-size:10px!important;font-style:normal!important;white-space:pre-line!important;line-height:1.6!important}html body .car-img-label.car-img-label--ribbon .car-img-label__text::first-line{font-size:16px!important}
