/**
 * Webb-TV Recommendations
 * Frontend Styles
 * Version: 0.4.3
 *
 * Matchar .wpfp-link / .lfav-btn styling från local-favorites
 */

/* Rekommendationsknapp - matchar .wpfp-link / .smart-share-btn exakt
   (samma värden som local-favorites: ram, padding, rundning, hover-lyft).
   Knappen får egen ram i stället för att ärva omgivningen, eftersom KiteTheme
   stylar favorit/dela via wrapper-klasser som <li>-syskonet saknar. */
.wbtv-rec-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: .3rem 0 1rem 0;
    padding: .40rem .58rem;
    border-radius: 8px;
    border: 1px solid #999;
    background: transparent;
    font-family: inherit;
    font-size: 0.95rem;   /* matchar favorit/dela; `inherit`/1rem blev en gnutta för stort */
    font-weight: 900;
    color: #2d2d2d;   /* neutral mörk text som favorit/dela — bara hjärtat är grönt */
    line-height: 1.2;
    min-height: 32px;
    height: auto;
    vertical-align: middle;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background .2s ease, opacity .25s ease;
}

.wbtv-rec-btn:hover {
    border-color: #666;
    background: rgba(0, 0, 0, 0.03);
    transform: translateY(-1px);
}

.wbtv-rec-btn:focus {
    outline: 2px solid #3d8b40;
    outline-offset: 2px;
}

/* Ikon — hjärta via CSS (samma teknik som favoriternas ::before-hjärta).
   Outline (♡) i ovalt läge, fyllt (♥) när rekommenderad. Alltid grönt:
   grön outline signalerar "rör rekommendationer" utan att lura att DU tryckt. */
.wbtv-rec-icon {
    color: #3d8b40;   /* mörkare grön — #5cb85c var för ljus/blek mot vit bakgrund */
    font-size: 1em;   /* normalstorlek — 1.1em gjorde knappen bredare än favorit/dela */
    line-height: 1;
    /* ingen margin här: avståndet ikon↔text styrs av knappens gap (6px) */
}

.wbtv-rec-icon::before {
    content: "\2661"; /* ♡ outline-hjärta */
}

.wbtv-rec-btn.wbtv-recommended .wbtv-rec-icon::before {
    content: "\2665"; /* ♥ fyllt hjärta */
}

/* Räknare - visas efter texten med parentes */
.wbtv-rec-count:not(:empty) {
    min-width: 2em;
    text-align: left;
    display: inline-block;
    margin-left: 0.35em;
    opacity: 0.8;
    font-variant-numeric: tabular-nums; /* Alla siffror samma bredd */
}

.wbtv-rec-count:not(:empty)::before {
    content: "(";
}

.wbtv-rec-count:not(:empty)::after {
    content: ")";
}

/* Rekommenderad state — BARA det fyllda gröna hjärtat (♥) markerar vald status.
   Ingen grön ram/text (Pers val: lugnare, speglar favorit-knappen som också bara
   byter hjärt-färg, inte ram). Ikonen ♡→♥ styrs separat av .wbtv-rec-icon::before.
   Ram + text förblir neutrala precis som i ovalt läge. */

/* ============================================================
   Mobil-layout — historik (lärdom):
   - v0.3.5/0.3.7: `white-space: nowrap` på knapparna → tryckte ut sidan i sidled
     på smala skärmar (svaj). BORT i v0.4.1.
   - v0.4.1: `overflow-x: hidden` på #sharearea som svaj-skydd → klippte knapparnas
     NEDERKANT vertikalt (margin-bottom + hover-transform). BORT i v0.4.3.
   - Nuvarande lösning: nowrap borta + mindre text i mobil → knapparna ryms inom
     viewporten av sig själva, inget trycks ut, inget behöver klippas.
   max-width: 100% kvar som ofarligt skydd (klipper inget vertikalt).
   ============================================================ */
#sharearea {
    max-width: 100%;
}

/* Smala skärmar: krymp text/padding så alla tre knapparna ryms på EN rad utan
   radbrytning ("Mina favoriter" bröt annars till två rader → ojämn höjd).
   Utan nowrap → ingen risk att sidan trycks ut; mindre text räcker för att rymmas. */
@media (max-width: 480px) {
    #sharearea .wbtv-rec-btn,
    #sharearea .wpfp-link,
    #sharearea .lfav-btn,
    #sharearea .smart-share-btn {
        font-size: 0.78rem;
        padding: .35rem .45rem;
        gap: 5px;
    }
    /* favoriternas container har gap:15px (samma specificitet som vår) — !important
       säkerställer att vår mobil-gap vinner oavsett plugin-laddningsordning */
    #sharearea .share-buttons {
        gap: 8px !important;
    }
}

/* Puls-animation vid klick */
@keyframes wbtv-rec-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

.wbtv-rec-count.wbtv-pulse {
    display: inline-block;
    animation: wbtv-rec-pulse 0.3s ease-out;
}

/* Disabled state */
.wbtv-rec-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
    .wbtv-rec-count.wbtv-pulse {
        animation: none !important;
    }
}

/* Toast notifications — placeras i TOPPEN (syns på mobil; bottom: 20px hamnade
   utanför synfältet på lång sida + Safaris adressfält → besökaren såg aldrig felet). */
.wbtv-toast {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-100px); /* glider ner uppifrån */
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    z-index: 99999;
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-width: 90vw;
    text-align: center;
}

.wbtv-toast--visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.wbtv-toast--success {
    background: #5cb85c;
    color: #fff;
}

.wbtv-toast--error {
    background: #d9534f;
    color: #fff;
}
