/* Pop-up dopo il cuore dei preferiti (static/js/favorites.js).
 * Spec agent-os/specs/2026-11-15-0850-confronta-strutture/ (seconda versione,
 * anteprima approvata dall'owner il 15/11/2026). In alto, sotto l'intestazione:
 * in basso ci sono già «Prenota» della scheda, la chat, la riprova sociale e
 * il badge dei cookie. Sotto la mappa a tutto schermo (1060) e i fogli dal
 * basso; sopra le barre fisse in alto (Ordina/Filtra, z-index 90). */
.hx-fav-pop {
    position: fixed;
    top: calc(64px + env(safe-area-inset-top, 0px));
    left: max(10px, env(safe-area-inset-left, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
    z-index: 1057;
    max-width: 440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e3e7ef;
    border-radius: 14px;
    background: #fff;
    color: #1b2437;
    font-family: inherit;
    box-shadow: 0 12px 30px rgba(10, 20, 40, .28);
}
.hx-fav-pop[hidden] { display: none !important; }
@media (min-width: 992px) { .hx-fav-pop { left: auto; right: 24px; top: calc(90px + env(safe-area-inset-top, 0px)); } }
.hx-fav-h { display: flex; align-items: center; gap: 10px; }
.hx-fav-thumbs { display: flex; flex: none; }
.hx-fav-thumbs img {
    width: 36px;
    height: 36px;
    margin-left: -10px;
    border: 2px solid #fff;
    border-radius: 9px;
    object-fit: cover;
}
.hx-fav-thumbs img:first-child { margin-left: 0; }
.hx-fav-t { flex: 1; min-width: 0; font-size: 13px; line-height: 1.35; }
.hx-fav-t b { display: block; color: #152a4f; font-size: 14.5px; }
.hx-fav-x {
    flex: none;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: #eef2f8;
    color: #1b2437;
    cursor: pointer;
}
.hx-fav-a { display: flex; gap: 8px; }
.hx-fav-a a {
    flex: 1;
    padding: 10px 6px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.hx-fav-pri { background: #f5a623; color: #3d2700; }
html[data-skin="hoe"] .hx-fav-pri { background: #f5901e; }
.hx-fav-sec { border: 1.5px solid #1e3c72; color: #1e3c72; }
.hx-fav-pop a:focus-visible, .hx-fav-x:focus-visible { outline: 2px solid #1e3c72; outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
    .hx-fav-pop:not([hidden]) { animation: hxFavIn .18s ease-out; }
    @keyframes hxFavIn { from { transform: translateY(-10px); opacity: 0; } to { transform: none; opacity: 1; } }
}

/* Cuore sulle card di /viaggi/risultati: fuori dal link, in alto a destra
   sulla foto (i badge stanno a sinistra, i posti in basso a destra). */
.vrh-card > .vrh-heart {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    color: #1e3c72;
    font-size: 19px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
    cursor: pointer;
}
.vrh-card > .vrh-heart.active { color: #e0245e; }
@media (min-width: 768px) {
    /* foto a sinistra: in alto a destra della foto, non della card */
    .vrh-card > .vrh-heart { top: 20px; right: auto; left: calc(38% - 48px); }
}
@media (min-width: 992px) {
    .vrh-card > .vrh-heart { top: 10px; left: 250px; }
}
