/* Napoli Tour Feed v4 */

/* ── TOOLBAR / FILTRI ── */
.ntf-toolbar { display:flex !important; flex-direction:column !important; gap:14px !important; margin-bottom:28px !important; padding:0 !important; }
.ntf-search { position:relative !important; display:block !important; width:100% !important; max-width:520px !important; margin:0 !important; padding:0 !important; }
.ntf-search i { position:absolute !important; left:16px !important; top:50% !important; transform:translateY(-50%) !important; color:#7b8494 !important; font-size:18px !important; line-height:1 !important; pointer-events:none !important; }
.ntf-search .ntf-search-input { width:100% !important; height:44px !important; border:1.5px solid #d0d0d0 !important; border-radius:50px !important; background:#ffffff !important; color:#1a2540 !important; font-size:14px !important; font-weight:500 !important; line-height:1 !important; padding:0 18px 0 44px !important; margin:0 !important; outline:none !important; box-shadow:none !important; transition:border-color .2s, box-shadow .2s !important; }
.ntf-search .ntf-search-input:focus { border-color:#1a2540 !important; box-shadow:0 0 0 3px rgba(26,37,64,.08) !important; }
.ntf-search .ntf-search-input::placeholder { color:#8d95a3 !important; opacity:1 !important; }
.ntf-filters { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:8px !important; margin:0 !important; padding:0 !important; list-style:none !important; }
.ntf-filters .ntf-filter-btn, div.ntf-filters button.ntf-filter-btn { display:inline-flex !important; align-items:center !important; gap:6px !important; padding:8px 18px !important; border-radius:50px !important; border:1.5px solid #d0d0d0 !important; background:#ffffff !important; color:#555555 !important; font-size:13px !important; font-weight:500 !important; cursor:pointer !important; line-height:1 !important; text-transform:none !important; letter-spacing:normal !important; text-decoration:none !important; box-shadow:none !important; transition:border-color .2s,color .2s,background .2s !important; margin:0 !important; width:auto !important; height:auto !important; }
.ntf-filters .ntf-filter-btn i, div.ntf-filters button.ntf-filter-btn i { font-size:14px !important; line-height:1 !important; }
.ntf-filters .ntf-filter-btn .ntf-tag-img, div.ntf-filters button.ntf-filter-btn .ntf-tag-img { width:15px !important; height:15px !important; object-fit:contain !important; display:block !important; flex-shrink:0 !important; }
.ntf-filters .ntf-filter-btn:hover, div.ntf-filters button.ntf-filter-btn:hover { border-color:#1a2540 !important; color:#1a2540 !important; background:#ffffff !important; }
.ntf-filters .ntf-filter-btn.ntf-active, div.ntf-filters button.ntf-filter-btn.ntf-active { border-color:#1a2540 !important; background:#1a2540 !important; color:#ffffff !important; }

/* ── GRID ── */
.ntf-feed { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important; padding:4px 0 30px !important; margin:0 !important; }

/* ── CARD ── */
.ntf-feed .ntf-card { background:#ffffff !important; border-radius:16px !important; border:1px solid #e8e8e8 !important; overflow:hidden !important; display:flex !important; flex-direction:column !important; transition:transform .25s, box-shadow .25s, border-color .25s, opacity .25s ease !important; box-shadow:none !important; padding:0 !important; margin:0 !important; }
.ntf-feed .ntf-card:hover { transform:translateY(-4px) !important; box-shadow:0 12px 32px rgba(0,0,0,.10) !important; border-color:#d0d0d0 !important; }
.ntf-feed .ntf-card.ntf-hidden { display:none !important; }
.ntf-feed .ntf-card.ntf-solo { grid-column:2/3 !important; }
.ntf-feed .ntf-card .ntf-card-link { text-decoration:none !important; color:inherit !important; display:flex !important; flex-direction:column !important; height:100% !important; }

/* ── MEDIA WRAP ── */
.ntf-feed .ntf-card .ntf-img-wrap { position:relative !important; height:210px !important; overflow:hidden !important; background:#e0e5ea !important; border-radius:0 !important; flex-shrink:0 !important; }

/* Immagine */
.ntf-feed .ntf-card .ntf-img-wrap img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; transition:transform .4s !important; border-radius:0 !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.ntf-feed .ntf-card:hover .ntf-img-wrap img { transform:scale(1.05) !important; }

/* Video locale */
.ntf-feed .ntf-card .ntf-video { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }

/* YouTube wrap */
.ntf-feed .ntf-card .ntf-yt-wrap { position:absolute !important; inset:-30px !important; pointer-events:none !important; }
.ntf-feed .ntf-card .ntf-yt-iframe { width:100% !important; height:100% !important; border:none !important; display:block !important; pointer-events:none !important; }

/* Placeholder */
.ntf-feed .ntf-card .ntf-img-placeholder { width:100% !important; height:100% !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#b0b8c1 !important; font-size:48px !important; }

/* ── BOTTONE AUDIO ── */
.ntf-feed .ntf-card .ntf-audio-btn {
    position:absolute !important;
    top:10px !important; right:10px !important;
    z-index:10 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important; height:34px !important;
    border-radius:50% !important;
    background:rgba(0,0,0,0.45) !important;
    backdrop-filter:blur(4px) !important;
    -webkit-backdrop-filter:blur(4px) !important;
    border:1.5px solid rgba(255,255,255,0.25) !important;
    color:#ffffff !important;
    cursor:pointer !important;
    transition:background .2s, transform .15s !important;
    padding:0 !important;
    box-shadow:none !important;
    line-height:1 !important;
    pointer-events:all !important;
}
.ntf-feed .ntf-card .ntf-audio-btn:hover { background:rgba(0,0,0,0.65) !important; transform:scale(1.08) !important; }
.ntf-feed .ntf-card .ntf-audio-btn.ntf-audio-on { background:rgba(193,68,14,0.85) !important; border-color:rgba(255,255,255,0.3) !important; }
.ntf-feed .ntf-card .ntf-audio-btn i { font-size:16px !important; color:#ffffff !important; line-height:1 !important; }

/* ── BADGE LOCATION ── */
.ntf-feed .ntf-card .ntf-badge { position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important; padding:10px 14px !important; background:rgba(0,0,0,0.42) !important; backdrop-filter:blur(4px) !important; -webkit-backdrop-filter:blur(4px) !important; display:flex !important; align-items:center !important; gap:6px !important; color:#ffffff !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.03em !important; margin:0 !important; border-radius:0 !important; }
.ntf-feed .ntf-card .ntf-badge i { font-size:13px !important; opacity:.85 !important; color:#ffffff !important; }
.ntf-feed .ntf-card .ntf-num-badge { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:22px !important; height:22px !important; border-radius:50% !important; background:rgba(255,255,255,0.22) !important; font-size:10px !important; font-weight:700 !important; flex-shrink:0 !important; letter-spacing:0 !important; color:#ffffff !important; }

/* ── BODY ── */
.ntf-feed .ntf-card .ntf-body { padding:14px 16px 18px !important; display:flex !important; flex-direction:column !important; flex:1 !important; gap:8px !important; }
.ntf-feed .ntf-card .ntf-title { font-size:15px !important; font-weight:600 !important; color:#1a2540 !important; line-height:1.35 !important; margin:0 !important; padding:0 !important; border:none !important; background:none !important; }
.ntf-feed .ntf-card .ntf-meta { display:flex !important; align-items:center !important; gap:7px !important; flex-wrap:wrap !important; margin:0 !important; padding:0 !important; }
.ntf-feed .ntf-card .ntf-stars { display:flex !important; gap:2px !important; margin:0 !important; }
.ntf-feed .ntf-card .ntf-stars i { font-size:13px !important; line-height:1 !important; }
.ntf-feed .ntf-card .ntf-star-full { color:#E08B00 !important; }
.ntf-feed .ntf-card .ntf-star-empty { color:#d4d4d4 !important; }
.ntf-feed .ntf-card .ntf-reviews { font-size:12px !important; color:#888888 !important; margin:0 !important; }
.ntf-feed .ntf-card .ntf-pills { display:flex !important; flex-wrap:wrap !important; gap:5px !important; margin:2px 0 0 !important; padding:0 !important; list-style:none !important; }
.ntf-feed .ntf-card .ntf-pill { display:inline-flex !important; align-items:center !important; gap:4px !important; font-size:11px !important; padding:3px 10px !important; border-radius:50px !important; background:#f2f4f7 !important; color:#555555 !important; border:1px solid #e4e7ec !important; font-weight:500 !important; margin:0 !important; text-transform:none !important; letter-spacing:normal !important; line-height:1.4 !important; }
.ntf-feed .ntf-card .ntf-pill i { font-size:12px !important; line-height:1 !important; color:#1a2540 !important; opacity:.82 !important; }
.ntf-feed .ntf-card .ntf-pill .ntf-tag-img { width:13px !important; height:13px !important; object-fit:contain !important; display:block !important; flex-shrink:0 !important; }

/* ── CTA ── */
.ntf-feed .ntf-card .ntf-btn { display:inline-flex !important; align-items:center !important; gap:6px !important; padding:10px 20px !important; border-radius:50px !important; background:#C1440E !important; color:#ffffff !important; font-size:13px !important; font-weight:600 !important; align-self:flex-start !important; letter-spacing:.01em !important; margin-top:10px !important; text-decoration:none !important; border:none !important; box-shadow:none !important; transition:background .2s !important; text-transform:none !important; line-height:1 !important; width:auto !important; height:auto !important; }
.ntf-feed .ntf-card .ntf-btn i { font-size:14px !important; color:#ffffff !important; transition:transform .2s !important; }
.ntf-feed .ntf-card:hover .ntf-btn { background:#a83808 !important; }
.ntf-feed .ntf-card:hover .ntf-btn i { transform:translateX(3px) !important; }

/* ── TABLET ── */
@media (max-width:1024px) {
    .ntf-feed { grid-template-columns:repeat(2,1fr) !important; }
    .ntf-feed .ntf-card.ntf-solo { grid-column:1/-1 !important; max-width:50% !important; margin:0 auto !important; justify-self:center !important; }
}

/* ── MOBILE ── */
@media (max-width:600px) {
    .ntf-feed { grid-template-columns:1fr !important; gap:16px !important; }
    .ntf-feed .ntf-card.ntf-solo { grid-column:unset !important; max-width:100% !important; justify-self:unset !important; }
    .ntf-feed .ntf-card .ntf-img-wrap { height:185px !important; }
    .ntf-toolbar { gap:12px !important; margin-bottom:22px !important; }
    .ntf-search { max-width:none !important; }
    .ntf-search .ntf-search-input { height:42px !important; font-size:13px !important; }
    .ntf-filters .ntf-filter-btn, div.ntf-filters button.ntf-filter-btn { font-size:12px !important; padding:7px 14px !important; }
}

/* ── ANIMAZIONI FILTER / SEARCH ── */
@keyframes ntf-fade-in {
    from { opacity:0; transform:translateY(10px); }
    to   { opacity:1; transform:translateY(0); }
}
.ntf-feed .ntf-card.ntf-anim-in {
    animation: ntf-fade-in .3s ease forwards !important;
}
