/* Figma 01 vehicle card. Opt-in presentation of the shared TecDoc finder. */
.tecdoc-finder.tecdoc-finder--home01 {
    position: relative;
    display: block;
    width: 100%;
    max-width: 896px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 24px;
    background: transparent;
    box-shadow: none;
    color: #1e1e1e;
    font-family: Manrope, Arial, sans-serif;
}
.home01-finder {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 41px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 24px;
    background: #faf9f5;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
    backdrop-filter: blur(20px);
}
.home01-finder__title {
    margin: 0;
    padding: 0 0 16px;
    color: #1e1e1e;
    font-family: inherit;
    font-size: 30px;
    font-weight: 800;
    line-height: 36px;
    letter-spacing: -.75px;
    text-align: center;
}
.home01-finder__fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 8px 0 16px; }
.home01-finder__field { position: relative; min-width: 0; }
.home01-finder__label { display: block; margin-bottom: 8px; color: #1e1e1e; font-size: 10px; font-weight: 800; line-height: 15px; letter-spacing: 1px; }
.home01-finder__select { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; border: 1px solid #374151; border-radius: 8px; background: #faf9f5; color: #1e1e1e; font: 400 14px/20px Manrope, Arial, sans-serif; text-align: left; cursor: pointer; }
.home01-finder__select > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home01-finder__select img { flex: 0 0 12px; }
.home01-finder__select:disabled { color: #1e1e1e; opacity: 1; cursor: not-allowed; }
.home01-finder__select[aria-expanded="true"], .home01-finder__select:focus-visible { outline: 2px solid #f47b1b; outline-offset: 2px; }
.home01-finder__submit { min-height: 64px; padding: 20px 16px; border: 0; border-radius: 12px; background: #f47b1b; color: #fff; box-shadow: 0 20px 25px -5px rgba(127, 29, 29, .3), 0 8px 10px -6px rgba(127, 29, 29, .3); font: 800 16px/24px Manrope, Arial, sans-serif; letter-spacing: 1.6px; text-align: center; cursor: pointer; }
.home01-finder__submit:hover { background: #e66b0d; }
.home01-finder__selection-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; color: #1e1e1e; font-size: 12px; line-height: 16px; }
.home01-finder__selection-note input { width: 16px; height: 16px; margin: 0; flex: 0 0 16px; accent-color: #f47b1b; }
.home01-finder__more { position: absolute; top: calc(100% + 12px); left: 50%; width: max-content; transform: translateX(-50%); padding: 0; border: 0; background: transparent; color: #454442; font: 500 11px/16px Manrope, Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.home01-finder__popover { position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; width: max(100%, 300px); max-width: min(520px, calc(100vw - 40px)); padding: 16px; border: 1px solid #dedbd4; border-radius: 12px; background: #fff; box-shadow: 0 12px 28px #15171c29; }
.home01-finder__popover--vehicle { right: 0; left: auto; width: 390px; }
.home01-finder__popover[hidden] { display: none !important; }
.tecdoc-finder--home01 .home01-finder__popover .tecdoc-finder-step__body { display: block !important; padding: 0; }
.tecdoc-finder--home01 .home01-finder__popover .tecdoc-finder__list { display: grid; grid-template-columns: 1fr; gap: 5px; max-height: 260px; overflow-y: auto; margin-top: 10px; }
.tecdoc-finder--home01 .tecdoc-finder__search { width: 100%; border: 1px solid #c8c4bb; border-radius: 6px; background: #fff; color: #1e1e1e; font: 400 13px/20px Manrope, Arial, sans-serif; }
.tecdoc-finder--home01 .tecdoc-finder__search-label { color: #454442; }
.tecdoc-finder--home01 .tecdoc-finder__option { min-height: 38px; border: 1px solid #e7e5df; border-radius: 7px; background: #faf9f5; color: #1e1e1e; }
.tecdoc-finder--home01 .tecdoc-finder__option:hover { border-color: #f47b1b; background: #fff4e8; }
.tecdoc-finder--home01 .tecdoc-finder__option-meta, .tecdoc-finder--home01 .tecdoc-finder__list-note, .tecdoc-finder--home01 .tecdoc-finder__field-help { color: #696762; }
.tecdoc-finder--home01 .tecdoc-finder__vehicle-filters { display: block; }
.home01-finder__year-apply { width: 100%; margin-top: 12px; padding: 10px; border: 0; border-radius: 6px; background: #f47b1b; color: #fff; cursor: pointer; }
.tecdoc-finder--home01 > .tecdoc-finder__intro,
.tecdoc-finder--home01 > .tecdoc-finder__steps { display: none; }
.tecdoc-finder--home01 > .tecdoc-finder__feedback { margin: 30px 0 0; }
.tecdoc-finder--home01:not([data-tecdoc-state="error"]):not([data-tecdoc-state="empty"]):not([data-tecdoc-state="disabled"]) > .tecdoc-finder__feedback { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tecdoc-finder--home01 .tecdoc-finder__status { color: #454442; }
.tecdoc-finder.tecdoc-finder--home01:is([data-tecdoc-state="error"], [data-tecdoc-state="empty"], [data-tecdoc-state="disabled"]) > .tecdoc-finder__feedback { gap: 12px; padding: 12px 16px; border: 1px solid #dfd0bf; border-radius: 10px; background: #faf4eb; }
.tecdoc-finder.tecdoc-finder--home01:is([data-tecdoc-state="error"], [data-tecdoc-state="empty"], [data-tecdoc-state="disabled"]) .tecdoc-finder__status { color: #653b25; }
.tecdoc-finder.tecdoc-finder--home01 .tecdoc-finder__retry { border-color: #9f6845; background: #fff; color: #653b25; }
.tecdoc-finder--home01[data-home01-advanced="true"] > .tecdoc-finder__intro { display: block; margin: 40px 0 16px; }
.tecdoc-finder--home01[data-home01-advanced="true"] > .tecdoc-finder__intro > :not(.tecdoc-finder__home-tabs) { display: none; }
.tecdoc-finder--home01[data-home01-advanced="true"] > .tecdoc-finder__steps { display: block; margin-top: 16px; }
.tecdoc-finder--home01[data-home01-advanced="true"] > .tecdoc-finder__steps > :not([data-finder-step="domain"]) { display: none; }
.tecdoc-finder--home01 .tecdoc-finder__home-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.tecdoc-finder--home01 .tecdoc-finder__home-tab { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border: 1px solid #d7d3cb; border-radius: 8px; background: #faf9f5; color: #1e1e1e; }
.tecdoc-finder--home01 .tecdoc-finder__home-tab small, .tecdoc-finder--home01 .tecdoc-finder__home-tab-arrow { display: none; }
.tecdoc-finder--home01 .tecdoc-finder__home-tab[aria-pressed="true"] { border-color: #f47b1b; background: #fff4e8; }
.tecdoc-finder--home01 > .tecdoc-finder__vehicle-bar { margin: 40px 0 16px; border-color: #e1d5c6; background: #faf9f5; }
.tecdoc-finder--home01 .tecdoc-finder__vehicle-path { color: #454442; }
.tecdoc-finder--home01 > .tecdoc-catalog, .tecdoc-finder--home01 > .tecdoc-number-search { margin-top: 20px; padding: 24px; border-radius: 16px; background: #faf9f5; color: #1e1e1e; }
.tecdoc-finder--home01 .tecdoc-catalog__title, .tecdoc-finder--home01 .tecdoc-number-search__title, .tecdoc-finder--home01 .tecdoc-compatible__title { color: #1e1e1e; }
.tecdoc-finder--home01 .tecdoc-number-search__description, .tecdoc-finder--home01 .tecdoc-compatible__description { color: #696762; }
.tecdoc-finder--home01 :is(.tecdoc-number-search__hint, .tecdoc-compatible__status) { color: #454442; }
.tecdoc-finder--home01 :is(.tecdoc-number-search__eyebrow, .tecdoc-catalog__group-marker) { color: #c2410c; }
.tecdoc-finder--home01 .tecdoc-number-search__assurance { color: #24623b; }
.tecdoc-finder--home01 .tecdoc-number-search__fallback { border-color: #c2410c; background: #fff; color: #c2410c; }
.tecdoc-finder--home01 .tecdoc-number-search__fallback:hover { background: #fff4e8; color: #9a3412; }
.tecdoc-finder--home01 :is(.tecdoc-finder__pagination, .tecdoc-compatible__pagination) span { color: #454442; }
.tecdoc-finder--home01 .tecdoc-finder__selection { border-color: #b9d4c0; background: #eef8f0; color: #24623b; }
.tecdoc-finder--home01 .tecdoc-finder__noscript { border-color: #dfd0bf; background: #faf4eb; color: #653b25; }
@media (max-width: 991px) {
    .home01-finder { gap: 18px; padding: 24px; border-radius: 20px; }
    .home01-finder__title { padding-bottom: 0; font-size: 26px; line-height: 32px; }
    .home01-finder__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0; }
    .home01-finder__label { margin-bottom: 6px; font-size: 11px; line-height: 16px; letter-spacing: .66px; }
    .home01-finder__select { min-height: 46px; padding: 12px; border-radius: 12px; }
    .home01-finder__submit { min-height: 50px; padding: 14px 12px; border-radius: 18px; font-size: 13px; line-height: 22px; letter-spacing: .55px; }
    .home01-finder__selection-note { align-items: flex-start; text-align: left; }
    .home01-finder__more { position: static; transform: none; width: 100%; min-height: 44px; padding: 10px 0; font-size: 12px; line-height: 18px; }
    .home01-finder__popover { left: 0; right: auto; width: calc(200% + 16px); max-width: none; max-height: min(380px, calc(100dvh - 120px)); padding: 14px; overflow-y: auto; overscroll-behavior-y: contain; }
    .home01-finder__field:nth-child(even) .home01-finder__popover { right: 0; left: auto; }
    .tecdoc-finder--home01 .home01-finder__popover .tecdoc-finder__list { max-height: 220px; }
    .tecdoc-finder--home01 :is(.tecdoc-finder__search, .tecdoc-finder__year-input, .tecdoc-number-search__input, input[type="search"], input[type="text"], input[type="number"]) { min-height: 46px; font-size: 16px; }
    .tecdoc-finder--home01 .tecdoc-finder__option { min-height: 44px; }
    .home01-finder__year-apply { min-height: 44px; }
    .tecdoc-finder--home01 > .tecdoc-finder__feedback { margin-top: 16px; }
    .tecdoc-finder--home01 > .tecdoc-catalog, .tecdoc-finder--home01 > .tecdoc-number-search { padding: 18px; }
    .tecdoc-finder--home01[data-home01-advanced="true"] > .tecdoc-finder__intro { margin-top: 18px; }
}
@media (max-width: 767px) {
    .home01-finder { padding: 22px 18px 12px; border-radius: 18px; }
    .home01-finder__title { font-size: 24px; line-height: 30px; letter-spacing: -.48px; }
    .home01-finder__fields { gap: 14px 12px; }
    .home01-finder__popover { width: calc(200% + 12px); }
    .tecdoc-finder--home01 .tecdoc-finder__home-tab { flex-basis: 100%; min-height: 44px; }
}
@media (max-width: 359px) {
    .home01-finder { padding-inline: 16px; }
    .home01-finder__fields { grid-template-columns: minmax(0, 1fr); }
    .home01-finder__popover { width: 100%; }
    .home01-finder__title { font-size: 22px; line-height: 28px; }
}

/* Four search methods share one card. The supplied desktop variants extend
   Figma 2576:33276; the canonical inputs and saved-vehicle state stay shared. */
.home01-finder { gap: 26px; padding: 40px; background: #fff; }
.home01-finder__title { padding-bottom: 0; }
.home01-finder [hidden] { display: none !important; }
.home01-finder__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; padding: 4px; border-radius: 999px; background: #f2f1ed; }
.home01-finder__tab { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: #56595e; font: 600 13px/20px Manrope, Arial, sans-serif; cursor: pointer; }
.home01-finder__tab[aria-selected="true"] { border-color: #eae7e0; background: #fff; color: #f4770b; box-shadow: 0 2px 5px #00000012; }
.home01-finder__tab-icon, .home01-finder__help-icon { display: inline-flex; flex: 0 0 16px; width: 16px; height: 24px; align-items: center; }
.home01-finder__tab-icon img, .home01-finder__help-icon img { flex: none; max-width: none; transform: scale(.666667); transform-origin: left center; }
.home01-finder__tab[aria-selected="true"] img, .home01-finder__help-icon img { filter: invert(47%) sepia(88%) saturate(2413%) hue-rotate(354deg) brightness(105%) contrast(104%); }
.home01-finder :is(button, a, input):focus-visible { outline: 2px solid #f47b1b; outline-offset: 3px; }
.home01-finder__panel { display: flex; flex-direction: column; gap: 20px; min-width: 0; outline: none; }
.home01-finder__panel:focus-visible { outline: 2px solid #f47b1b; outline-offset: 6px; }
.home01-finder__fields { gap: 24px; padding: 0 0 16px; }
.home01-finder__select { background: #fff; }
.home01-finder__submit { width: 100%; min-height: 60px; padding: 18px 16px; border-radius: 8px; font-size: 14px; letter-spacing: .9px; background: #f97b0f; box-shadow: 0 10px 24px #f47b1b40; }
.home01-finder__submit--flat { box-shadow: none; }
.home01-finder__submit:disabled { background: #f9bb8b; box-shadow: none; cursor: not-allowed; }
.home01-finder__selection-note { color: #64686d; font-weight: 400; }
.home01-finder__description, .home01-finder__hint { margin: 0; color: #62666c; font-size: 12px; font-weight: 400; line-height: 1.6; }
.home01-finder__description { margin-bottom: -10px; }
.home01-finder__hint { text-align: center; }
.home01-finder__hint a { color: #c24d00; text-decoration: underline; }
.home01-finder__status, .home01-finder__save-status { margin: 0; color: #775326; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.home01-finder__status:empty, .home01-finder__save-status:empty { display: none; }
.home01-finder__vin-form { display: flex; flex-direction: column; gap: 20px; }
.home01-finder__input-label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: -10px; color: #62666c; font-size: 12px; line-height: 20px; }
.home01-finder__input-label label { margin: 0; }
.home01-finder__counter { margin-left: auto; font-size: 11px; font-weight: 700; color: #434950; }
.home01-finder__help { display: inline-flex; align-items: center; gap: 4px; border: 0; border-radius: 99px; padding: 2px 10px; background: #fff0e7; color: #c24d00; font: 600 11px/20px Manrope, Arial, sans-serif; cursor: pointer; }
.home01-finder__help-panel { margin: 0; padding: 12px 14px; border: 1px solid #f5d2b9; border-radius: 8px; background: #fff8f1; color: #65432b; font-size: 12px; line-height: 1.65; }
.home01-finder__vin-field { display: flex; min-width: 0; border: 1px solid #34373b; border-radius: 7px; overflow: hidden; background: #fff; }
.home01-finder__vin-field input { flex: 1; width: 0; min-width: 0; min-height: 58px; border: 0; border-radius: 0; padding: 15px 17px; background: transparent; color: #24262a; font: 600 16px/24px Manrope, Arial, sans-serif; letter-spacing: 2px; }
.home01-finder__vin-field input::placeholder { color: #7a7d82; opacity: 1; }
.home01-finder__vin-field input:disabled { background: #faf9f7; color: #777; }
.home01-finder__vin-field:focus-within { outline: 2px solid #f47b1b; outline-offset: 3px; }
.home01-finder__vin-field input:focus-visible { outline: none; }
.home01-finder__camera { display: flex; align-items: center; justify-content: center; flex: 0 0 56px; border: 0; border-left: 1px solid #dedbd4; background: transparent; cursor: pointer; }
.home01-finder__camera img { max-width: none; }
.home01-finder__camera:hover { background: #fff5eb; }
.home01-finder__camera:disabled { opacity: .5; cursor: not-allowed; }
.home01-finder__vin-results { padding: 18px; border: 1px solid #dedbd4; border-radius: 10px; color: #30343a; font-size: 13px; line-height: 1.7; }
.home01-finder__vin-results h3 { font-size: 16px; line-height: 1.5; }
.home01-finder__vin-results ul { margin-bottom: 0; padding-left: 20px; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__form { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__icon { display: none; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__input { display: block; width: 100%; min-height: 58px; padding: 15px 17px; border: 1px solid #34373b; border-radius: 7px; background: #fff; color: #24262a; font: 500 16px/24px Manrope, Arial, sans-serif; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__input::placeholder { text-transform: none; color: #7a7d82; opacity: 1; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__submit { min-height: 60px; margin-top: 4px; padding: 18px 16px; border: 0; border-radius: 8px; background: #f97b0f; color: #fff; font: 800 14px/24px Manrope, Arial, sans-serif; letter-spacing: .9px; cursor: pointer; }
.home01-finder [data-home01-oem-mount] .tecdoc-number-search__submit:disabled { background: #f9bb8b; cursor: not-allowed; }
.home01-finder__recent { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #4e535a; font-size: 11px; line-height: 18px; }
.home01-finder__history-chip { min-height: 30px; padding: 4px 12px; border: 1px solid #cec9bf; border-radius: 99px; background: #fff; color: #202329; font: 600 11px/18px Manrope, Arial, sans-serif; cursor: pointer; }
.home01-finder__clear { align-self: flex-end; padding: 0; border: 0; background: transparent; color: #686c72; font: 400 11px/18px Manrope, Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.home01-finder__garage-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home01-finder__garage-list { display: contents; }
.home01-finder__garage-card { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; min-height: 120px; margin: 0; padding: 16px 30px 16px 16px; border: 1px solid #cec9bf; border-radius: 10px; background: #fff; color: #15171c; cursor: pointer; overflow-wrap: anywhere; }
.home01-finder__garage-card.is-selected, .home01-finder__garage-card:has(input:checked) { border: 2px solid #f97b0f; padding: 15px 29px 15px 15px; background: #fff8f1; }
.home01-finder__garage-card input { position: absolute; right: 13px; top: 13px; width: 18px; height: 18px; accent-color: #f97b0f; }
.home01-finder__garage-card :is(strong, span) { font-size: 13px; line-height: 1.6; font-weight: 600; }
.home01-finder__garage-card > span { color: #c74d00; font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }
.home01-finder__garage-card small { color: #62666c; font-size: 11px; line-height: 1.5; }
.home01-finder__garage-card:has(input:disabled) { background: #f8f7f4; color: #73777c; cursor: not-allowed; }
.home01-finder__garage-new { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 120px; padding: 16px; border: 1px dashed #cec9bf; border-radius: 10px; background: #fff; color: #e75e00; font: 600 12px/20px Manrope, Arial, sans-serif; cursor: pointer; }
.home01-finder__garage-new > span { font-size: 26px; line-height: 28px; font-weight: 400; }
.home01-finder__garage-new:disabled { color: #7b7e83; cursor: not-allowed; }
.home01-finder__manage { align-self: center; padding: 0; border: 0; background: transparent; color: #c74d00; font: 600 12px/20px Manrope, Arial, sans-serif; text-align: center; cursor: pointer; }
.home01-finder__empty { text-align: left; }
.tecdoc-finder--home01[data-home01-tab] > .tecdoc-number-search > :is(.tecdoc-number-search__heading, .tecdoc-number-search__hint) { display: none; }
.tecdoc-finder--home01[data-home01-tab]:not([data-home01-tab="oem"]) > .tecdoc-number-search,
.tecdoc-finder--home01[data-home01-tab]:not([data-home01-tab="vehicle"]) > :is(.tecdoc-catalog, .tecdoc-finder__feedback),
.tecdoc-finder--home01:is([data-home01-tab="vin"], [data-home01-tab="garage"]) > .tecdoc-finder__vehicle-bar { display: none !important; }
.tecdoc-finder--home01[data-home01-tab] > .tecdoc-number-search:not(:has([data-tecdoc-number-results]:not([hidden]))) { display: none; }
@media (max-width: 991px) {
    .home01-finder { gap: 22px; padding: 28px; }
    .home01-finder__fields { gap: 16px; padding-bottom: 4px; }
    .home01-finder__tab { gap: 5px; padding-inline: 6px; font-size: 11px; }
    .home01-finder__title { font-size: 26px; line-height: 34px; }
}
@media (max-width: 600px) {
    .home01-finder { gap: 20px; padding: 24px 18px; }
    .home01-finder__title { font-size: 23px; line-height: 30px; }
    .home01-finder__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 18px; gap: 4px; }
    .home01-finder__tab { min-height: 44px; font-size: 11px; }
    .home01-finder__panel { gap: 18px; }
    .home01-finder__fields { gap: 14px 12px; }
    .home01-finder__submit, .home01-finder [data-home01-oem-mount] .tecdoc-number-search__submit { min-height: 54px; padding: 15px 12px; font-size: 12px; letter-spacing: .5px; }
    .home01-finder__vin-field input { min-height: 54px; padding: 12px; font-size: 16px; letter-spacing: .8px; }
    .home01-finder__camera { flex-basis: 44px; }
    .home01-finder__input-label { gap: 4px 6px; font-size: 11px; }
    .home01-finder__help { font-size: 10px; padding-inline: 7px; }
    .home01-finder__garage-grid { grid-template-columns: minmax(0, 1fr); }
    .home01-finder__garage-card { min-height: 88px; }
    .home01-finder__garage-new { min-height: 76px; }
    .home01-finder__selection-note { font-size: 11px; line-height: 1.6; }
}
