/* AutoMazza offer CTA: faithful mark, moving red panel, readable label. */
.am-card-actions a:last-child{
    --am-cta-red:#c9142e;
    --am-cta-ink:#1b1d22;
    position:relative!important;
    isolation:isolate;
    display:inline-flex!important;
    align-items:center;
    justify-content:flex-end;
    min-width:154px;
    min-height:42px;
    padding:0 15px 0 62px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:9px!important;
    background:var(--am-cta-ink)!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.045em;
    text-decoration:none!important;
    text-transform:uppercase;
    box-shadow:0 8px 18px #17191d14;
    transform:translateZ(0);
}

.am-card-actions a:last-child::before{
    content:'';
    position:absolute;
    z-index:-1;
    inset:0 58% 0 0;
    background:linear-gradient(100deg,#b8132a 0%,var(--am-cta-red) 72%,#e4324c 100%);
    transition:inset .42s cubic-bezier(.22,.8,.24,1);
}

.am-card-actions a:last-child::after{
    content:'';
    position:absolute;
    z-index:2;
    top:50%;
    left:12px;
    width:38px;
    height:23px;
    background:url('automazza-logo-mark-white.png') center/contain no-repeat;
    transform:translateY(-50%);
    transition:transform .42s cubic-bezier(.22,.8,.24,1);
    pointer-events:none;
}

.am-card-actions a:last-child:hover::before,
.am-card-actions a:last-child:focus-visible::before{
    inset:0;
}

.am-card-actions a:last-child:hover::after,
.am-card-actions a:last-child:focus-visible::after{
    transform:translate(4px,-50%);
}

.am-card-actions a:last-child:focus-visible{
    outline:3px solid #ffffff;
    outline-offset:2px;
    box-shadow:0 0 0 5px #c9142e;
}

@media(max-width:620px){
    .am-card-actions a:last-child{
        min-width:146px;
        min-height:40px;
        padding-right:13px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .am-card-actions a:last-child::before,
    .am-card-actions a:last-child::after{
        transition:none;
    }
}

/* AutoMazza Favorite Garage */
.am-favorite-dock{
    position:fixed;
    z-index:88;
    right:22px;
    bottom:24px;
    display:grid;
    grid-template-columns:32px auto 25px;
    min-height:50px;
    align-items:center;
    gap:9px;
    padding:6px 8px 6px 7px;
    border:1px solid #ffffff28;
    border-radius:999px;
    background:#1b1d22;
    color:#fff;
    box-shadow:0 18px 45px #11141b35;
    cursor:pointer;
}

.am-favorite-dock[hidden]{display:none!important}
.am-favorite-dock>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#c9142e;font-size:15px}
.am-favorite-dock>b{font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.am-favorite-dock>em{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#fff;color:#1b1d22;font-size:10px;font-style:normal;font-weight:900}
.am-favorite-dock:focus-visible{outline:3px solid #c9142e;outline-offset:3px}

.am-favorite-toast{
    position:fixed;
    z-index:200;
    top:95px;
    left:50%;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:min(360px,calc(100vw - 32px));
    padding:12px 15px;
    border-radius:14px;
    background:#1b1d22;
    color:#fff;
    box-shadow:0 18px 50px #11141b40;
    opacity:0;
    transform:translate(-50%,-12px);
    transition:opacity .22s ease,transform .22s ease;
}

.am-favorite-toast.show{opacity:1;transform:translate(-50%,0)}
.am-favorite-toast>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#c9142e}
.am-favorite-toast p{margin:0;font-size:11px;font-weight:800}

.am-favorite-garage,
.am-favorite-garage *{box-sizing:border-box}

.am-favorite-garage{
    --garage-red:#c9142e;
    --garage-ink:#1b1d22;
    width:min(980px,calc(100vw - 36px));
    max-width:none;
    max-height:calc(100dvh - 36px);
    margin:auto;
    padding:0;
    overflow:auto;
    border:0;
    border-radius:28px;
    background:#f4f2ed;
    color:var(--garage-ink);
    box-shadow:0 35px 100px #090a0d66;
}

.am-favorite-garage::backdrop{background:#0c0e13b8;backdrop-filter:blur(10px) saturate(.8)}
.am-garage-close{position:sticky;z-index:5;float:right;top:20px;right:20px;display:grid;width:44px;height:44px;margin:20px 20px -64px 0;padding:0;place-items:center;border:1px solid #ffffff40;border-radius:50%;background:#ffffff12;color:#fff;font-size:26px;cursor:pointer}
.am-garage-close:hover,.am-garage-close:focus-visible{background:var(--garage-red)}
.am-garage-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.am-garage-header{position:relative;min-height:225px;padding:34px 92px 34px 40px;overflow:hidden;background:radial-gradient(circle at 88% 18%,#ed2f4c55 0 5%,transparent 31%),linear-gradient(118deg,#17191e 0%,#1e1015 62%,#64101f 100%);color:#fff}
.am-garage-header::after{content:'♥';position:absolute;right:7%;bottom:-75px;color:#ffffff09;font-size:220px;line-height:1;pointer-events:none}
.am-garage-header>div{position:relative;z-index:1;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em}
.am-garage-header>div em{padding:5px 8px;border-radius:999px;background:var(--garage-red);font-size:8px;font-style:normal;font-weight:900}
.am-garage-header h2{position:relative;z-index:1;max-width:690px;margin:18px 0 0;color:#fff;font-size:clamp(38px,5vw,64px);font-weight:850;letter-spacing:-.06em;line-height:.95}
.am-garage-header h2 span{color:#f2324c}
.am-garage-header p{position:relative;z-index:1;margin:17px 0 0;color:#ffffffb8;font-size:13px}
.am-garage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px}
.am-garage-card{display:grid;grid-template-columns:42% 1fr;min-width:0;overflow:hidden;border:1px solid #ddd9d1;border-radius:20px;background:#fff;box-shadow:0 14px 34px #17191d0b}
.am-garage-media{position:relative;min-height:260px;overflow:hidden;background:#1b1d22}
.am-garage-media img{width:100%;height:100%;object-fit:cover}
.am-garage-media>span:not(.am-garage-placeholder){position:absolute;right:10px;bottom:10px;max-width:calc(100% - 20px);padding:7px 9px;border-radius:999px;background:#fff;font-size:8px;font-weight:850}
.am-garage-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#ffffff22;font-size:55px;font-weight:950}
.am-garage-card-body{display:flex;min-width:0;flex-direction:column;padding:17px}
.am-garage-card-body>small{color:var(--garage-red);font-size:8px;font-weight:950;letter-spacing:.12em}
.am-garage-card-body h3{margin:6px 0 13px;font-size:18px;letter-spacing:-.035em;line-height:1.08}
.am-garage-price{display:flex;align-items:baseline;gap:4px;padding-block:10px;border-block:1px solid #e5e2dc}
.am-garage-price span,.am-garage-price em{color:#777;font-size:8px;font-style:normal}
.am-garage-price strong{font-size:27px;letter-spacing:-.04em}
.am-garage-card-body ul{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 15px;padding:0;list-style:none}
.am-garage-card-body li{padding:6px 7px;border-radius:7px;background:#f2f0eb;font-size:8px}
.am-garage-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.am-garage-actions button{border:0;background:none;color:#777;font-size:9px;font-weight:800;text-decoration:underline;cursor:pointer}
.am-garage-actions a{padding:10px 12px;border-radius:9px;background:var(--garage-red);color:#fff!important;font-size:9px;font-weight:900;text-decoration:none!important;text-transform:uppercase}
.am-favorite-garage>footer{display:flex;align-items:center;gap:10px;margin:0 20px 20px;padding:12px 15px;border-radius:13px;background:#e8e5df;color:#606267}
.am-favorite-garage>footer span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--garage-ink);color:#fff;font-size:10px;font-weight:900}
.am-favorite-garage>footer p{margin:0;font-size:10px}

@media(max-width:760px){
    .am-favorite-dock{right:14px;bottom:82px}
    .am-favorite-garage{width:100%;max-height:calc(100dvh - 8px);margin:auto 0 0;border-radius:25px 25px 0 0}
    .am-garage-header{min-height:220px;padding:31px 70px 28px 22px}
    .am-garage-header h2{font-size:41px}
    .am-garage-grid{grid-template-columns:1fr;padding:12px}
    .am-garage-card{grid-template-columns:1fr}
    .am-garage-media{min-height:0;aspect-ratio:16/9}
    .am-favorite-garage>footer{margin:0 12px 14px}
}

@media(prefers-reduced-motion:reduce){
    .am-favorite-toast{transition:none}
}

/* Guide carousel: preserve the intended subject instead of cropping the advisor at the edge. */
body.home .home-guides--human .guide-grid article > img{
    object-fit:cover!important;
    object-position:72% 50%!important;
}

@media(max-width:760px){
    body.home .home-guides--human .guide-grid article > img{
        aspect-ratio:16/9!important;
        object-position:50% 50%!important;
    }
}

/* AutoMazza Comparison Room */
.am-compare-dialog,
.am-compare-dialog *{
    box-sizing:border-box;
}

.am-compare-dialog{
    --compare-red:#c9142e;
    --compare-ink:#1b1d22;
    width:min(1080px,calc(100vw - 36px));
    max-width:none;
    max-height:min(900px,calc(100vh - 36px));
    margin:auto;
    padding:0;
    overflow:auto;
    border:0;
    border-radius:28px;
    background:#f4f2ed;
    color:var(--compare-ink);
    box-shadow:0 35px 100px #090a0d66;
}

.am-compare-dialog::backdrop{
    background:#0c0e13b8;
    backdrop-filter:blur(10px) saturate(.8);
}

.am-compare-close{
    position:sticky;
    z-index:8;
    float:right;
    top:22px;
    right:22px;
    display:grid;
    width:44px;
    height:44px;
    margin:22px 22px -66px 0;
    padding:0;
    place-items:center;
    border:1px solid #ffffff38;
    border-radius:50%;
    background:#ffffff14;
    color:#fff;
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}

.am-compare-close:hover,
.am-compare-close:focus-visible{
    background:var(--compare-red);
    transform:rotate(5deg) scale(1.04);
}

.am-compare-close:focus-visible{
    outline:3px solid #fff;
    outline-offset:3px;
}

.am-compare-header{
    position:relative;
    min-height:230px;
    padding:34px 94px 34px 42px;
    overflow:hidden;
    background:
        radial-gradient(circle at 88% 16%,#ed2f4c55 0 5%,transparent 31%),
        linear-gradient(118deg,#17191e 0%,#1e1015 62%,#64101f 100%);
    color:#fff;
}

.am-compare-header::after{
    content:'AM';
    position:absolute;
    right:5%;
    bottom:-45px;
    color:#ffffff09;
    font-size:210px;
    font-weight:950;
    letter-spacing:-.11em;
    line-height:1;
    pointer-events:none;
}

.am-compare-brand{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:9px;
    width:max-content;
    margin-bottom:18px;
    color:#fff;
    font-size:11px;
    letter-spacing:.14em;
}

.am-compare-logo-mark{
    display:inline-block;
    flex:none;
    width:38px;
    height:24px;
    background:url('automazza-logo-mark-white.png') center/contain no-repeat;
}

.am-compare-brand em{
    padding:5px 8px;
    border-radius:999px;
    background:var(--compare-red);
    font-size:8px;
    font-style:normal;
    font-weight:900;
}

.am-compare-header h2{
    position:relative;
    z-index:1;
    max-width:620px;
    margin:0;
    color:#fff;
    font-size:clamp(38px,5.2vw,68px);
    font-weight:850;
    letter-spacing:-.06em;
    line-height:.94;
}

.am-compare-header h2 span{color:#f2324c}

.am-compare-header p{
    position:relative;
    z-index:1;
    max-width:560px;
    margin:18px 0 0;
    color:#ffffffb8;
    font-size:14px;
    line-height:1.55;
}

.am-compare-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:20px;
}

.am-compare-grid[data-count="1"]{
    grid-template-columns:minmax(0,520px);
    justify-content:center;
}

.am-compare-grid[data-count="2"]{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.am-compare-offer{
    min-width:0;
    overflow:hidden;
    border:1px solid #dcd8d0;
    border-radius:21px;
    background:#fff;
    box-shadow:0 14px 34px #17191d0c;
}

.am-compare-media{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:linear-gradient(135deg,#262a31,#15171b);
}

.am-compare-media::after{
    content:'';
    position:absolute;
    inset:auto 0 0;
    height:45%;
    background:linear-gradient(transparent,#13151aa8);
    pointer-events:none;
}

.am-compare-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s cubic-bezier(.22,.8,.24,1);
}

.am-compare-offer:hover .am-compare-media img{transform:scale(1.025)}

.am-compare-placeholder{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#ffffff26;
    font-size:70px;
    font-weight:950;
}

.am-compare-number{
    position:absolute;
    z-index:2;
    top:12px;
    left:12px;
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--compare-ink);
    font-size:10px;
    font-weight:950;
}

.am-compare-availability{
    position:absolute;
    z-index:2;
    right:12px;
    bottom:12px;
    max-width:calc(100% - 24px);
    padding:7px 10px;
    border-radius:999px;
    background:#fff;
    color:var(--compare-ink);
    font-size:9px;
    font-weight:850;
    white-space:nowrap;
}

.am-compare-content{padding:18px}

.am-compare-kicker{
    display:block;
    margin-bottom:7px;
    color:var(--compare-red);
    font-size:9px;
    font-weight:950;
    letter-spacing:.13em;
}

.am-compare-content h3{
    min-height:2.55em;
    margin:0 0 15px;
    font-size:20px;
    font-weight:850;
    letter-spacing:-.035em;
    line-height:1.1;
}

.am-compare-price{
    display:flex;
    align-items:baseline;
    gap:5px;
    padding:14px 0;
    border-block:1px solid #e4e1dc;
}

.am-compare-price small{color:#777;font-size:9px}
.am-compare-price strong{font-size:31px;letter-spacing:-.045em}
.am-compare-price span{color:#777;font-size:9px}
.am-compare-price em{display:block;font-style:normal}

.am-compare-specs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    margin:12px 0 16px;
    overflow:hidden;
    border-radius:12px;
    background:#dedbd5;
}

.am-compare-specs div{
    min-width:0;
    padding:10px;
    background:#f5f3ef;
}

.am-compare-specs .wide{grid-column:1/-1}
.am-compare-specs dt{margin:0 0 4px;color:#797979;font-size:8px;font-weight:800;text-transform:uppercase}
.am-compare-specs dd{margin:0;font-size:11px;font-weight:800;line-height:1.35}

.am-compare-cta{
    display:grid;
    grid-template-columns:44px 1fr 18px;
    min-height:46px;
    align-items:center;
    overflow:hidden;
    border-radius:10px;
    background:var(--compare-ink);
    color:#fff!important;
    font-size:10px;
    letter-spacing:.03em;
    text-decoration:none!important;
    text-transform:uppercase;
}

.am-compare-cta .am-compare-logo-mark{
    width:44px;
    height:46px;
    padding:10px;
    background-color:var(--compare-red);
    background-size:29px auto;
}

.am-compare-cta b{padding-left:12px}
.am-compare-cta i{font-size:15px;font-style:normal;transition:transform .2s ease}
.am-compare-cta:hover i{transform:translate(2px,-2px)}
.am-compare-cta:focus-visible{outline:3px solid var(--compare-red);outline-offset:3px}

.am-compare-note{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 20px 20px;
    padding:13px 16px;
    border-radius:14px;
    background:#e8e5df;
    color:#5e6065;
}

.am-compare-note span{
    display:grid;
    flex:none;
    width:25px;
    height:25px;
    place-items:center;
    border-radius:50%;
    background:var(--compare-ink);
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.am-compare-note p{margin:0;font-size:10px;line-height:1.4}

@media(max-width:900px){
    .am-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
    .am-compare-dialog{
        width:100%;
        max-height:calc(100dvh - 12px);
        margin:auto 0 0;
        border-radius:25px 25px 0 0;
    }
    .am-compare-header{min-height:220px;padding:31px 72px 30px 23px}
    .am-compare-header h2{font-size:42px}
    .am-compare-header p{font-size:12px}
    .am-compare-header::after{right:10%;font-size:150px}
    .am-compare-close{top:16px;right:16px;margin:16px 16px -60px 0}
    .am-compare-grid{grid-template-columns:1fr;padding:12px}
    .am-compare-content h3{min-height:0}
    .am-compare-media{aspect-ratio:16/9}
    .am-compare-note{margin:0 12px 14px}
}

@media(prefers-reduced-motion:reduce){
    .am-compare-close,
    .am-compare-media img,
    .am-compare-cta i{transition:none}
}
