/* ============================================================
   BLACK SIX — CORREZIONI CHIRURGICHE (Brief operativo)
   Foglio additivo e isolato: nessuna regola globale, solo
   selettori mirati. Caricato dopo gli altri CSS, quindi vince
   dove serve. Tutto reversibile rimuovendo questo file.
   ============================================================ */

/* ===== BLOCCO 1 — QG Sell: testo leggibile nei banner valore =====
   Le pillole "Alto valore / Valore medio alto / Valore medio /
   Piccolo valore" hanno gradienti chiari: forzo il testo near-black.
   Scoped a #qg-sell: non tocca altri badge del sito. */
#qg-sell .qg-tier-badge {
    color: #050505 !important;
    font-weight: 800;
}

/* ===== BLOCCO 2 — Bot Curativi Alleanza: banner verticale in basso =====
   La card è una grid con align-items:center, quindi il pannello
   verticale "Infermieri" resta centrato e troppo alto. Lo allineo
   in basso, così la sua base combacia col listino 20/41/61.
   Non tocca prezzo automatico, codice VIP, bottoni. */
#alliance-offer .alliance-offer-price {
    align-self: end;
}

/* ===== BLOCCO 3 — Sticker Black Six sempre intero (no crop) =====
   Lo sticker non deve mai essere tagliato: object-fit contain +
   altezza naturale, mantenendo proporzioni. Scoped alle sole
   immagini sticker dentro i media-panel + hero home. */
.hero-war-image,
.media-panel img.hero-war-image,
.media-panel img[src*="stefano-bot-system"],
.media-panel img[src*="sticker-home-blacksix"] {
    object-fit: contain !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* ===== ADDENDUM #1 — Foto "Chi sono" (img_profilo) non tagliata =====
   Su desktop resta quadrata pulita; il taglio nasce su tablet
   (vedi media query sotto). Qui garantisco fit corretto. */
.profile-figure img,
.spotlight-media.profile-figure img {
    object-fit: contain !important;
    max-height: none !important;
    object-position: center top;
}

/* ===== ADDENDUM iPad/tablet — niente crop aggressivo, niente bg fixed =====
   Stesso breakpoint di mobile.css. Su iPad: lo sfondo NON è più
   "fixed" (Safari iOS lo zooma/taglia), e sticker + foto profilo
   non vengono più ritagliati a 330px. */
@media (max-width: 1024px),
       (min-width: 1025px) and (max-width: 1366px) and (pointer: coarse) and (hover: none) {

    /* Sfondo wallpaper: scroll invece di fixed (fix noto Safari iPadOS) */
    body {
        background-attachment: scroll !important;
    }

    /* Sticker Black Six: intero, non tagliato a 330px */
    .media-panel img[src*="stefano-bot-system"],
    .media-panel img[src*="sticker-home-blacksix"],
    .hero-war-image {
        max-height: none !important;
        object-fit: contain !important;
    }

    /* Foto profilo post-apocalittica: intera, viso e busto visibili */
    .profile-figure img,
    .spotlight-media.profile-figure img {
        max-height: none !important;
        object-fit: contain !important;
        object-position: center top !important;
    }
}

/* ============================================================
   FIX BOX CONSENSO (clausola condizioni ufficiali)
   Problema: regole larghe tipo ".brief-form input { width:100% }"
   gonfiavano la checkbox (non e' dentro .modal-field, quindi non
   riceve l'eccezione checkbox) -> box enorme + testo verticale.
   Qui forzo: checkbox piccola fissa a sinistra, testo che va a
   capo normalmente. Vale per modale pagamento e per i 3 form.
   ============================================================ */
.bs-consent-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 11px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    writing-mode: horizontal-tb !important;
    box-sizing: border-box;
}
.bs-consent-row input[type="checkbox"] {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--gold-soft);
}
.bs-consent-row span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
    text-align: left !important;
    font-size: 0.82rem;
    line-height: 1.55;
}

/* ============================================================
   BADGE UFFICIALE BLACK SIX (sigillo di fiducia)
   Proporzioni quadrate, object-fit:contain, mai deformato.
   Inserito SOLO in punti decorativi/fiducia (footer, canali
   ufficiali, clausola anti-truffa). Lo sticker grande resta
   dove spiega i servizi.
   ============================================================ */
.official-badge {
    width: clamp(64px, 8vw, 100px);
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain !important;
    display: block;
    flex: 0 0 auto;
    max-width: 100%;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.45));
}
.official-badge--sm { width: clamp(46px, 12vw, 60px); }
.official-badge-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.footer-brand .official-badge { margin: 0 0 10px; }
.footer-official-note {
    display: block;
    margin-top: 8px;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.5;
    max-width: 340px;
}
@media (max-width: 768px) {
    .official-badge { width: clamp(56px, 16vw, 72px); }
    .official-badge--sm { width: 52px; }
}

/* ===== Popup eventi reali (acquisti/feedback confermati admin) ===== */
#bs-realpopup-host {
    position: fixed; left: 18px; bottom: 18px; z-index: 9000;
    display: flex; flex-direction: column; gap: 10px; max-width: 340px; pointer-events: none;
}
.bs-realpopup {
    pointer-events: auto; display: flex; gap: 12px; align-items: flex-start;
    padding: 12px 30px 12px 14px; border-radius: 16px; border: 1px solid rgba(196,154,63,0.45);
    background: linear-gradient(160deg, rgba(20,24,32,0.97), rgba(10,12,18,0.97));
    box-shadow: 0 14px 40px rgba(0,0,0,0.5);
    transform: translateY(14px); opacity: 0; transition: transform .3s ease, opacity .3s ease; position: relative;
}
.bs-realpopup.is-in { transform: translateY(0); opacity: 1; }
.bs-rp-badge { width: 38px; height: 38px; object-fit: contain; flex: 0 0 38px; }
.bs-rp-body { flex: 1 1 auto; min-width: 0; }
.bs-rp-label { font-size: 0.7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #f0c970; }
.bs-rp-name { font-weight: 800; font-size: 0.9rem; color: #fff; margin-top: 1px; }
.bs-rp-text { font-size: 0.82rem; color: rgba(255,255,255,0.8); line-height: 1.45; margin-top: 3px; word-break: break-word; }
.bs-rp-close { position: absolute; top: 6px; right: 9px; background: none; border: 0; color: rgba(255,255,255,0.5); font-size: 1.2rem; cursor: pointer; line-height: 1; }
.bs-rp-close:hover { color: #fff; }
@media (max-width: 600px) { #bs-realpopup-host { left: 10px; right: 10px; bottom: 10px; max-width: none; } }
