/* A light, consistent save control. Domain handlers continue to own saved state. */
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite) {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:10px!important;gap:0;border:0!important;border-radius:16px!important;
  --favorite-surface:linear-gradient(145deg,#ffffff 12%,#f1f7fe 100%);
  background:transparent!important;isolation:isolate;contain:layout;transform:translateZ(0);
  color:#7790ab!important;box-shadow:none!important;
  -webkit-tap-highlight-color:transparent;cursor:pointer;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite)[aria-pressed=true] {
  --favorite-surface:linear-gradient(145deg,#ffffff 2%,#deedff 100%);color:var(--mauto-ds-color-primary,#3c78da)!important;
  box-shadow:none!important;
}
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite)>:is(svg,img) {
  display:block;width:24px!important;height:24px!important;max-width:24px!important;flex:0 0 24px;
  background:transparent!important;padding:0!important;pointer-events:none;
}
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite):focus-visible {
  outline:0!important;box-shadow:0 0 0 3px #9ecbff,0 4px 14px #187dde20!important;
}
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite):active {transform:scale(.94)!important}
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite):disabled {cursor:wait;opacity:.65}
/* Photo badges have their own space beside the larger touch target. */
body.mauto-ui-v1 .mcc-photos{right:64px}
body.mauto-ui-v1 .cm-photo>[data-fav]{top:10px;right:10px}
body.mauto-ui-v1 .cm-order-car .cm-car-copy h3{padding-right:48px}
body.mauto-ui-v1 .cm-compare-car>[data-fav]{right:8px}
@media(hover:hover){
 html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite):hover{box-shadow:0 5px 18px #1b456d24,inset 0 1px 0 #fff!important;transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){
 html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite){transition:none;transform:none!important}
}

/* Keep a generous hit area while the visible pearl tile stays discreet. */
html body.mauto-ui-v1 button:is([data-fav],[data-favorite],[data-related-favorite],[data-vtg-fav],[data-lsg-fav],.mcc-favorite)::before {
 content:"";position:absolute;inset:4px;z-index:-1;border:0;border-radius:13px;
 background:var(--favorite-surface);box-shadow:0 3px 10px #24466718,inset 0 1px 0 #fff;pointer-events:none;
}
html body.mauto-ui-v1 .cm-favorites-sheet{max-width:580px;padding:20px;border:0;border-radius:28px;background:linear-gradient(145deg,#fffffff5,#f2f7fef5),url('../img/pearl-card-backgrounds/pearl-blue-card-wide.png') center/cover;box-shadow:0 22px 80px #14355326}
body.mauto-ui-v1 .cm-favorites-sheet .cm-sheet-head{margin:0 0 18px;padding:0;gap:12px}
body.mauto-ui-v1 .cm-favorites-sheet .cm-sheet-head h2{font-size:23px;letter-spacing:-.025em}
body.mauto-ui-v1 .cm-favorites-sheet .cm-sheet-body{display:grid;gap:12px;padding:0}
body.mauto-ui-v1 .cm-favorites-sheet .cm-car{display:grid;grid-template-columns:130px minmax(0,1fr);gap:0;position:relative;min-height:138px;border:0;border-radius:20px;background:#ffffffd9;padding:10px;margin:0;overflow:hidden;box-shadow:0 5px 16px #183c5d06}
body.mauto-ui-v1 .cm-favorites-sheet .cm-photo{position:static;aspect-ratio:auto!important;height:116px;background:transparent;overflow:visible;border-radius:14px;align-self:center}
body.mauto-ui-v1 .cm-favorites-sheet .cm-photo>a{display:block;height:100%;border-radius:14px;overflow:hidden}
body.mauto-ui-v1 .cm-favorites-sheet .cm-photo img{width:100%;height:100%;object-fit:contain;border-radius:14px}
body.mauto-ui-v1 .cm-favorites-sheet .cm-photo{z-index:2}
body.mauto-ui-v1 .cm-favorites-sheet .cm-photo>[data-fav]{top:6px;right:5px;z-index:3!important}
body.mauto-ui-v1 .cm-favorites-sheet :is(.cm-badges,.cm-photo-count,.cm-payment,.cm-car-copy>.cm-button,.cm-car-copy>small){display:none}
body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 36px 8px 14px;gap:6px}
body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy h3{font-size:16px;line-height:1.25;margin:0;padding:0}
body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy p{font-size:11px;line-height:1.4;margin:0;color:#73859c}
body.mauto-ui-v1 .cm-favorites-sheet .cm-price{font-size:18px;line-height:1.2;white-space:normal;margin:3px 0 0}
body.mauto-ui-v1 .cm-favorites-sheet .cm-empty{padding:36px 18px;text-align:center;border:0;border-radius:20px;background:#ffffffb8}
body.mauto-ui-v1 .cm-favorites-sheet [data-favorite-list]{display:grid;gap:12px}
body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy h3{color:#102b44}
body.mauto-ui-v1 .cm-favorites-sheet .cm-price{align-self:flex-start;text-align:left;width:auto}
body.mauto-ui-v1 .cm-favorites-sheet [data-favorite-status]:empty{display:none}
@media(min-width:601px){
 html body.mauto-ui-v1 dialog.cm-sheet.cm-favorites-sheet[data-mauto-platform-sheet]{inset:0!important;margin:auto!important;width:min(580px,calc(100vw - 48px))!important;max-width:580px!important;height:fit-content!important;max-height:calc(100dvh - 64px)!important;transform:none!important;border-radius:28px!important}
}
@media(max-width:480px){
 html body.mauto-ui-v1 .cm-favorites-sheet{padding:18px 14px;border-radius:26px 26px 0 0}
 body.mauto-ui-v1 .cm-favorites-sheet .cm-car{grid-template-columns:102px minmax(0,1fr);min-height:128px;padding:8px}
 body.mauto-ui-v1 .cm-favorites-sheet .cm-photo{height:96px}
 body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy{padding:26px 5px 6px 10px}
 body.mauto-ui-v1 .cm-favorites-sheet .cm-car-copy h3{font-size:15px}
 body.mauto-ui-v1 .cm-favorites-sheet .cm-price{font-size:17px}
}
