/* V402 favorites only, plus the explicit market-price component in offer surfaces. */
.cm-app[data-screen-name="favorites"] { max-width: 1048px; }
.cm-app[data-screen-name="favorites"] .cf402 {
  --cf402-ink: #142743;
  --cf402-muted: #657a95;
  --cf402-blue: #0877e1;
  --cf402-ice: #f3f8fe;
  min-width: 0;
  padding-bottom: 24px;
  color: var(--cf402-ink);
}
.cf402 :is(button, input, select, a) { -webkit-tap-highlight-color: transparent; }
.cm-app .cf402 button,
.cm-sheet .cf402-note-form button,
.cm-app .cf402-actions > a,
.cm-app .cf402-empty > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 0;
  min-height: 44px;
  padding: 10px 13px;
  border: 0;
  border-radius: 11px;
  background: #fff;
  background-image: none;
  color:var(--mauto-ds-color-primary,#3c78da);
  box-shadow: none;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.cm-app .cf402 button:hover,
.cm-app .cf402-actions > a:hover { background: #edf5ff; }
.cm-app .cf402 button:disabled { opacity: .5; cursor: default; }
.cm-app .cf402 :is(button, a):focus-visible,
.cm-sheet .cf402-note-form :is(button, textarea):focus-visible,
.cm-app .cm402-market:focus-visible,
.cd233-modern-root .cm402-market:focus-visible {
  outline: 2px solid #0877e1;
  outline-offset: 3px;
}
.cm-app .cf402 svg { flex: none; width: 20px; height: 20px; color: var(--cf402-blue); }
.cf402 .cf402-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 18px;
  border-bottom: 1px solid #e5edf6;
}
.cm-app .cf402 .cf402-tabs > button {
  min-height: 48px;
  padding: 10px 5px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--cf402-muted);
  font-size: 14px;
}
.cm-app .cf402 .cf402-tabs > button[aria-selected="true"] { color: var(--cf402-blue); border-bottom-color: var(--cf402-blue); }
.cf402 .cf402-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 12px; }
.cf402 .cf402-toolbar > label { display: grid; align-content: start; gap: 6px; min-width: 0; margin: 0; color: var(--cf402-muted); font-size: 13px; line-height: 1.4; }
.cm-app .cf402 .cf402-toolbar :is(input, select) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #dce7f4;
  border-radius: 12px;
  color: var(--cf402-ink);
  background: #fff;
  box-shadow: none;
  font-size: 16px;
  line-height: 1.4;
}
.cm-app .cf402 .cf402-toolbar input::placeholder { color: #6a7f98; opacity: 1; }
.cm-app .cf402 .cf402-toolbar :is(input, select):focus-visible { outline: 2px solid var(--cf402-blue); outline-offset: 2px; }
.cf402 .cf402-toolbar .mauto-premium-select { width: 100%; min-width: 0; }
.cm-app .cf402 .cf402-toolbar .mauto-premium-select__trigger { width: 100%; min-height: 46px; font-size: 16px; color: var(--cf402-ink); }
.cf402 .cf402-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.cm-app .cf402 .cf402-filters > button { padding: 9px 12px; font-size: 12px; background: #fff; }
.cm-app .cf402 .cf402-filters > button[aria-pressed="true"] { color: var(--cf402-blue); box-shadow: inset 0 0 0 1px #86b7ed; }
.cm-app .cf402 :is(.cf402-summary, .cf402-scope) { margin: 9px 0 14px; color: var(--cf402-muted); font-size: 12px; line-height: 1.5; letter-spacing: 0; }
.cf402 .cf402-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: stretch; }
.cf402 :is(.cf402-card, .cf402-search-card, .cf402-seller-card) {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 12px;
  margin: 0;
  padding: 16px;
  border: 0;
  border-radius: 20px;
  background: var(--cf402-ice);
  box-shadow: none;
  overflow-wrap: anywhere;
}
.cf402 .cf402-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; }
.cm-app .cf402 .cf402-card-head h2 { flex: 1; min-width: 0; margin: 0; color: var(--cf402-ink); font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: -.35px; overflow-wrap: anywhere; }
.cf402 .cf402-card-head h2 > a { display: block; }
.cf402 .cf402-icons { display: flex; flex: none; gap: 3px; }
.cm-app .cf402 .cf402-icons > button { width: 44px; height: 44px; min-height: 44px; padding: 10px; border-radius: 12px; }
.cm-app .cf402 .cf402-icons > button[aria-pressed="true"] { color: var(--cf402-blue); background: #fff; box-shadow: inset 0 0 0 1px #86b7ed; }
.cm-app[data-screen-name="favorites"] .cf402 [data-mauto-favorite-v384] {
  --favorite-ink: #0877e1;
  --favorite-red: #0877e1;
  background: #fff !important;
  border-radius: 12px !important;
}
.cm-app[data-screen-name="favorites"] .cf402 [data-mauto-favorite-v384]:focus-visible { outline: 2px solid #0877e1 !important; outline-offset: 3px; }
.cm-app[data-screen-name="favorites"] .cf402 [data-mauto-favorite-v384]:focus-visible [data-heart-part="focus"] { opacity: 0; }
.cf402 .cf402-price { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; min-width: 0; }
.cf402 .cf402-price > strong { min-width: 0; color: var(--cf402-ink); font-size: 24px; font-weight: 750; line-height: 1.25; letter-spacing: -.5px; overflow-wrap: anywhere; }
.cm-app .cf402 .cf402-price > small { display: block; width: 100%; color: #587ba6; font-size: 12px; line-height: 1.45; }
.cf402 .cf402-overview { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); align-items: start; gap: 12px; min-width: 0; }
.cf402 .cf402-photo { position: relative; display: block; min-width: 0; aspect-ratio: 1.3; overflow: hidden; border: 0; border-radius: 13px; background: #fff; }
.cf402 .cf402-photo img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; object-position: center; }
.cf402 .cf402-photo-count { position: absolute; right: 5px; bottom: 5px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px; border-radius: 7px; color: #334f70; background: #fffffff0; font-size: 11px; line-height: 1.2; }
.cf402 .cf402-photo-count svg { width: 14px; height: 14px; }
.cf402 .cf402-specs { min-width: 0; }
.cm-app .cf402 .cf402-specs p { margin: 0 0 6px; color: #425c7b; font-size: 13px; font-weight: 400; line-height: 1.4; letter-spacing: 0; }
.cm-app .cf402 .cf402-specs :is(small, .cf402-city) { display: block; margin-top: 9px; color: var(--cf402-muted); font-size: 12px; line-height: 1.4; }
.cf402 .cf402-tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.cf402 .cf402-tags > :is(span, small) { display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border-radius: 7px; background: #fff; color: #536f91; font-size: 11px; line-height: 1.4; }
.cm-app .cf402 .cf402-note { margin: 0; padding: 11px 12px; border: 0; border-radius: 11px; color: #536a86; background: #fff; font-size: 13px; font-weight: 400; line-height: 1.5; letter-spacing: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.cm-app .cf402 .cf402-note > span { display: block; margin-bottom: 4px; color: var(--cf402-muted); font-size: 11px; line-height: 1.4; }
.cf402 .cf402-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: auto; }
.cf402 .cf402-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.cf402 .cf402-actions > :is(a, button) { width: 100%; }
.cm-app .cf402 .cf402-empty { grid-column: 1 / -1; margin: 0; padding: 32px 18px; text-align: center; border: 0; border-radius: 20px; background: var(--cf402-ice); }
.cm-app .cf402 .cf402-empty h2 { margin: 0 0 10px; font-size: 22px; line-height: 1.3; color: var(--cf402-ink); }
.cm-app .cf402 .cf402-empty p { max-width: 480px; margin: 0 auto 18px; font-size: 14px; line-height: 1.5; color: var(--cf402-muted); }
.cm-app .cf402 :is(.cf402-search-card, .cf402-seller-card) h2 { margin: 0; color: var(--cf402-ink); font-size: 19px; line-height: 1.35; }
.cm-app .cf402 :is(.cf402-search-card, .cf402-seller-card) p { margin: 0; color: var(--cf402-muted); font-size: 13px; line-height: 1.5; }
.cm-app .cf402 :is(.cf402-search-card, .cf402-seller-card) > a { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; color: var(--cf402-blue); font-size: 14px; line-height: 1.4; }
.cm-app .cf402 .cf402-status { margin: 10px 0; color: var(--cf402-muted); font-size: 13px; line-height: 1.45; letter-spacing: 0; }
.cf402 .cf402-status:empty { display: none; }

.cm-sheet .cf402-note-form { display: grid; min-width: 0; gap: 14px; }
.cm-sheet .cf402-note-form > label { display: grid; gap: 7px; color: #526c8a; font-size: 13px; line-height: 1.4; }
.cm-sheet .cf402-note-form textarea { display: block; width: 100%; min-width: 0; min-height: 140px; max-height: 45dvh; padding: 13px; border: 1px solid #dce7f4; border-radius: 13px; color: #142743; background: #f6f9fd; box-shadow: none; font: inherit; font-size: 16px; line-height: 1.5; resize: vertical; }
.cm-sheet .cf402-note-form .cf402-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.cm-sheet .cf402-note-form .cf402-actions > button { flex: 1; }
.cm-sheet .cf402-note-form button { border: 1px solid #dce7f4; }
.cm-sheet .cf402-note-form :is(small, .cf402-status) { margin: 0; color: #657a95; font-size: 12px; line-height: 1.45; }

/* This named price annotation is also used by native catalogue and offer-detail cards. */
.cm-app .cm402-market,
.cd233-modern-root .cd233-heading .cm402-market {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  width: auto;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  height: auto;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  color: #3978b6;
  background: #f0f7ff;
  background-image: none;
  box-shadow: none;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: middle;
}
.cm-app .cm402-market svg,
.cd233-modern-root .cm402-market svg { flex: none; width: 17px; height: 17px; color: inherit; }
.cm-app .cm-car-copy > .cm402-market { grid-column: 1 / -1; justify-self: start; }
.cd233-modern-root .cd233-heading .cm402-market { margin-top: 8px; }
.cm-sheet .cm402-market-info { color: #142743; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.cm-sheet .cm402-market-info p { margin: 12px 0; color: #5d7390; font-size: 14px; font-weight: 400; line-height: 1.5; }
.cm-sheet .cm402-market-info dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 14px; margin: 16px 0; }
.cm-sheet .cm402-market-info dt { color: #687e98; font-size: 12px; }
.cm-sheet .cm402-market-info dd { margin: 0; color: #142743; font-size: 14px; text-align: right; overflow-wrap: anywhere; }
.cm-sheet .cm402-market-info small { display: block; color: #687e98; font-size: 12px; line-height: 1.5; }

@media (max-width: 359px) {
  .cf402 :is(.cf402-card, .cf402-search-card, .cf402-seller-card) { padding: 12px; gap: 10px; border-radius: 17px; }
  .cm-app .cf402 .cf402-card-head h2 { font-size: 17px; }
  .cf402 .cf402-card-head { flex-wrap: wrap; }
  .cf402 .cf402-card-head h2 { flex-basis: calc(100% - 100px); }
  .cf402 .cf402-price > strong { font-size: 22px; }
  .cf402 .cf402-overview { gap: 9px; }
  .cm-app .cf402 .cf402-specs p { font-size: 12px; }
  .cm-app .cf402 .cf402-tabs > button { font-size: 12px; }
  .cm-app .cf402 .cf402-actions > :is(button, a) { padding: 9px 7px; font-size: 12px; }
}
@media (min-width: 601px) {
  .cf402 .cf402-toolbar { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
  .cf402 .cf402-tabs { max-width: 650px; }
  .cf402 .cf402-tabs > button { font-size: 15px; }
  .cf402 .cf402-list { gap: 20px; }
  .cf402 :is(.cf402-card, .cf402-search-card, .cf402-seller-card) { padding: 20px; }
}
@media (min-width: 900px) {
  .cm-app[data-screen-name="favorites"] { padding-right: 24px; padding-left: 24px; }
  .cf402 .cf402-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cf402 .cf402-card-head h2 { font-size: 20px; }
}
/* Shared selection feedback and labelled catalogue facts. */
.cm-app .cm-recent-brand{width:28px;height:28px;object-fit:contain;flex:none}
.cm-app .cm-car-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:12px 0;padding:12px;background:#f2f6fc;border-radius:12px}
.cm-app .cm-car-facts dt{font-size:11px;color:#596d85;margin:0 0 3px;font-weight:400}
.cm-app .cm-car-facts dd{font-size:14px;color:#152b45;font-weight:600;margin:0}
:is(.cm-app,.cd233-modern-root) :is([data-fav],[data-favorite],[data-related-favorite]){background:#fff!important;color:#63758a!important;transition:color 180ms,background-color 180ms}
:is(.cm-app,.cd233-modern-root) :is([data-fav],[data-favorite],[data-related-favorite])[aria-pressed=true]{background:#fff1f3!important;color:#d53255!important}
:is(.cm-app,.cd233-modern-root) :is([data-fav],[data-favorite],[data-related-favorite])[aria-pressed=true] svg{fill:#d53255!important;stroke:#d53255!important;animation:mauto-heart-select 260ms ease-out}
@keyframes mauto-heart-select{0%{transform:scale(.85)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){:is(.cm-app,.cd233-modern-root) :is([data-fav],[data-favorite],[data-related-favorite]) svg{animation:none!important;transition:none!important}}
