/* =============================================================================
   BonTrip — buton "favorite" + carduri clickabile
   Incarcat global din layout.php, deci functioneaza pe orice pagina publica.
   ============================================================================= */

/* ---------------------------------------------------------------------------
   Link care acopera tot cardul.
   Textul din interior e pentru cititoarele de ecran — il ascundem vizual
   fara text-indent (care poate genera scroll orizontal).
   --------------------------------------------------------------------------- */
.card-link-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    font-size: 0;
    line-height: 0;
    color: transparent;
    overflow: hidden;
    text-decoration: none;
}

/* Containerele de card devin puncte de referinta pentru pozitionare */
.org-exp-card,
.same-organizer-card,
.recommended-card,
.pp-fav-card {
    position: relative;
}

/* Continutul sta peste overlay dar nu intercepteaza clickul... */
.org-exp-card    > *:not(.card-link-overlay):not(.fav-btn),
.same-organizer-card > *:not(.card-link-overlay):not(.fav-btn),
.recommended-card > *:not(.card-link-overlay):not(.fav-btn),
.pp-fav-card     > *:not(.card-link-overlay):not(.fav-btn) {
    position: relative;
    z-index: 2;
    pointer-events: none;
}
/* ...cu exceptia inimii, care trebuie sa ramana apasabila */
.org-exp-card .fav-btn,
.same-organizer-card .fav-btn,
.recommended-card .fav-btn,
.pp-fav-card .fav-btn {
    pointer-events: auto;
}

/* ---------------------------------------------------------------------------
   Inima rotunda — colt dreapta-sus pe carduri
   --------------------------------------------------------------------------- */
.fav-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #64748b;
    font-size: 16px;
    line-height: 1;
    font-family: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
    backdrop-filter: blur(6px);
    transition: transform .18s ease, background .18s ease, color .18s ease;
}
.fav-btn:hover      { transform: scale(1.12); color: #e11d48; background: #fff; }
.fav-btn.is-fav     { color: #e11d48; }
.fav-btn.is-loading { opacity: .55; pointer-events: none; }
.fav-btn i          { pointer-events: none; }

/* ---------------------------------------------------------------------------
   Varianta lata cu text — hero-ul paginii de activitate
   --------------------------------------------------------------------------- */
.fav-btn-wide {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 16px 28px;
    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 40px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(6px);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    font-family: inherit;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .15s ease;
}
.fav-btn-wide:hover     { background: rgba(255, 255, 255, .22);  }
.fav-btn-wide.is-fav    { background: #e11d48; border-color: #e11d48; }
.fav-btn-wide.is-loading{ opacity: .6; pointer-events: none; }
.fav-btn-wide i         { pointer-events: none; }


/* =============================================================================
   CARDURILE CARE POARTA INIMA

   `.fav-btn` e `position:absolute`, deci fiecare card care o contine trebuie sa
   fie el insusi pozitionat — altfel inima s-ar aseza fata de prima ruda
   pozitionata mai sus si ar sari in coltul altcuiva.
   ========================================================================== */
.bt-srch-card,      /* rezultatele cautarii */
.v6-offer-card,     /* activitatile de pe pagina de categorie si din ghiduri */
.zone-card {        /* activitatile de pe pagina de zona si de regiune */
    position: relative;
}
