:root{color-scheme:dark;--bg:#091125;--panel:#111e38;--border:#2a3855;--text:#f6f8ff;--dim:#aebcd3;--pink:#fa4775;--blue:#597cf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 85% 0,#15254d 0,transparent 45%),var(--bg);font:16px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}a{color:inherit;text-decoration:none}.shell{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{border-bottom:1px solid #283550;background:#0a1329d9;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0}.brand{display:flex;gap:12px;align-items:center;line-height:1.1;letter-spacing:.08em}.brand-icon{font-size:32px;color:#ff4978}.brand strong{display:block;font-size:17px}.brand small{display:block;color:var(--dim);font-size:10px;margin-top:6px}.nav nav{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;font-weight:700}.nav nav a:hover,.back:hover{color:var(--pink)}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding:70px 0 54px}.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#fca4bb;letter-spacing:.16em;font-weight:800}.hero h1{font-size:clamp(37px,5vw,67px);letter-spacing:-.045em;line-height:1.1;margin:20px 0}.hero h1 em{font-style:normal;color:var(--pink)}.hero p{max-width:560px;color:var(--dim);font-size:18px}.hero-art{border:1px solid #33496d;min-height:330px;background:linear-gradient(145deg,#273c73,#0e1833 75%);border-radius:32px;display:grid;place-content:center;text-align:center;gap:14px;box-shadow:0 20px 75px #0004}.hero-ring{display:grid;place-items:center;width:195px;height:195px;border-radius:50%;background:linear-gradient(135deg,#ff4978,#773dd9);font-size:112px;box-shadow:0 0 0 18px #ffffff0b,0 0 0 40px #ffffff07}.hero-label{font-size:13px;letter-spacing:.22em;font-weight:900}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:12px 21px;border-radius:11px;font-weight:800;font-size:14px}.btn.primary{background:var(--pink);color:#fff}.btn.ghost{border:1px solid #51617f}.btn:hover{filter:brightness(1.12)}.section{padding:30px 0 58px;scroll-margin-top:100px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section h2,.extras h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.03em;margin:8px 0}.live-dot{width:8px;height:8px;background:#ff4c78;border-radius:100%;display:inline-block;box-shadow:0 0 0 5px #ff4c7826}.live-badge{border:1px solid #743951;border-radius:50px;padding:8px 13px;color:#ff8cad;font-size:12px;font-weight:900;display:flex;align-items:center;gap:10px}.player-grid,.extras{display:grid;grid-template-columns:1fr 1fr;gap:21px}.panel,.extra-card,.empty,.news-card{background:#101e38;border:1px solid var(--border);border-radius:19px;overflow:hidden}.panel{padding:22px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panel h3{font-size:22px;margin:5px 0}.chip{border:1px solid #425273;border-radius:50px;padding:5px 11px;font-size:11px;font-weight:800}.screen{background:#050b17;border-radius:13px;overflow:hidden;aspect-ratio:16/9}.screen video{height:100%;width:100%;display:block;object-fit:contain}.radio-visual{background:radial-gradient(circle,#283873,#0b142d 70%);border-radius:14px;min-height:240px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.radio-symbol{background:#ff4978;border-radius:50%;font-size:75px;width:120px;height:120px;line-height:120px}.radio-visual p{font-size:13px;color:#bfcbe3}.wave{display:flex;align-items:center;gap:5px;height:36px;margin-top:15px}.wave i{width:5px;height:15px;background:#fc6c92;border-radius:4px}.wave i:nth-child(3n){height:30px}.wave i:nth-child(2n){height:22px}audio{width:100%;margin-top:15px}.muted{color:var(--dim);font-size:13px;margin:14px 0 0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card:hover{transform:translateY(-3px);border-color:#6273a0}.news-image{height:185px;background:linear-gradient(125deg,#293868,#131c34);display:grid;place-items:center;color:#ccd5e8;font-weight:900;letter-spacing:.14em}.news-image img{height:100%;width:100%;object-fit:cover}.news-content{padding:21px}.news-content h3{font-size:20px;line-height:1.3;margin:9px 0}.news-content p{font-size:14px;color:var(--dim);min-height:44px}.read-more{color:#ff84a3;font-size:13px;font-weight:800}.empty{padding:35px}.empty p,.extra-card p{color:var(--dim)}.extras{margin:0 0 65px}.extra-card{padding:33px}.extra-card small{display:block;color:var(--dim);margin-top:13px}.app-card{background:linear-gradient(135deg,#202e65,#131c36)}footer{border-top:1px solid var(--border);color:var(--dim);font-size:13px}.footer-inner{flex-wrap:wrap}.article-detail{padding:55px 0 75px;max-width:850px;margin:auto}.article-detail h1{font-size:clamp(32px,5vw,56px);line-height:1.12;margin:15px 0}.back{display:block;margin-bottom:35px;color:#f6a3bb;font-weight:700}.lead{font-size:20px;color:var(--dim)}.detail-image{width:100%;max-height:530px;object-fit:cover;border-radius:20px;margin:18px 0}.article-body{white-space:normal;font-size:18px;line-height:1.9;overflow-wrap:anywhere;margin:25px 0 35px}.video-wrap{aspect-ratio:16/9}.video-wrap iframe,.article-video{width:100%;height:100%;border:0;border-radius:14px}.pill-link{display:inline-block;padding:13px 18px;background:var(--pink);border-radius:12px}.admin-wrap{width:min(950px,calc(100% - 32px));margin:35px auto 90px}.admin-card{padding:26px;background:#111e38;border:1px solid var(--border);border-radius:18px}.admin-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.admin-top a{color:#ffa2bf}.admin-card label{display:block;font-weight:700;margin:16px 0 6px}.admin-card input:not([type=checkbox]),.admin-card textarea{width:100%;background:#0c1529;color:white;border:1px solid #4a5874;padding:13px;border-radius:9px;font:inherit}.admin-card textarea{min-height:190px}.admin-card button,.admin-card .button{background:var(--pink);border:0;color:white;padding:12px 18px;border-radius:9px;font:inherit;font-weight:800;cursor:pointer;display:inline-block;margin-top:15px}.admin-card table{width:100%;border-collapse:collapse}.admin-card th,.admin-card td{padding:11px;border-bottom:1px solid var(--border);text-align:left}.admin-card td a{color:#ff9bb5}.error{color:#ffc0cc}.info{color:#b3c5e5}@media(max-width:760px){.nav{align-items:flex-start;flex-direction:column}.nav nav{gap:14px;font-size:13px}.hero,.player-grid,.extras{grid-template-columns:1fr}.hero{padding-top:45px}.hero-art{min-height:240px}.hero-ring{height:135px;width:135px;font-size:76px}.news-grid{grid-template-columns:1fr}.panel{padding:15px}.footer-inner{gap:10px}.admin-card{padding:17px}.admin-card table{font-size:12px}}

/* RADIO ADA AMORE - NOW PLAYING */
.radio-nowplaying {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    padding: 15px;
    text-align: center;
    max-width: 100%;
}
.radio-nowplaying span {
    color: #ff91b0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
}
.radio-nowplaying strong {
    color: #fff;
    font-size: 18px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

/* RADIO ADA AMORE - COVER BRANO */
.radio-cover-wrap {
    width: 180px;
    height: 180px;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,.06);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 28px rgba(0,0,0,.28);
    margin-bottom: 8px;
}
#radio-cover-art {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#radio-track-subtitle {
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.4;
}

@media (max-width: 640px) {
    .radio-cover-wrap {
        width: 140px;
        height: 140px;
    }
}

/* RADIOADA-016 - Copertina radio */
.radio-cover-wrap {
    background: transparent;
}

#radio-cover-art {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
}

#radio-cover-art[hidden] {
    display: none !important;
}

/* RADIOADA-017 - Player radio compatto */

/* Nasconde la vecchia nota musicale e le barre */
.radio-visual > .radio-symbol,
.radio-visual > .wave {
    display: none !important;
}

/* Usa la copertina come elemento principale */
.radio-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 22px 16px;
    box-sizing: border-box;
}

/* Informazioni brano */
.radio-visual .radio-nowplaying {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 0;
    text-align: center;
}

/* Copertina album */
.radio-visual .radio-cover-wrap {
    width: 190px;
    height: 190px;
    flex: 0 0 190px;
    margin: 0 auto 12px;
    border-radius: 18px;
    overflow: hidden;
}

.radio-visual #radio-cover-art {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
}

.radio-visual #radio-track-title {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
    max-width: 100%;
}

.radio-visual #radio-track-subtitle {
    font-size: 13px;
}

/* Smartphone */
@media (max-width: 640px) {
    .radio-visual {
        min-height: 285px;
        padding: 18px 12px;
    }

    .radio-visual .radio-cover-wrap {
        width: 160px;
        height: 160px;
        flex-basis: 160px;
    }
}

/* RADIOADA-018 - Notizie compatte */

/* Schede più piccole */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 260px));
    gap: 18px;
    align-items: start;
}

/* Immagini meno alte */
.news-card .news-image {
    height: 145px;
    min-height: 0;
    overflow: hidden;
}

.news-card .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Testo più compatto */
.news-card .news-content {
    padding: 14px 15px;
    min-height: 0;
}

.news-card h3 {
    font-size: 16px;
    line-height: 1.4;
    margin: 7px 0;
}

.news-card p {
    font-size: 13px;
    line-height: 1.5;
    margin: 6px 0 12px;
}

/* Pulsante più vicino al testo */
.news-card .read-more {
    margin-top: 12px;
    display: inline-block;
    font-size: 12px;
}

/* Smartphone */
@media (max-width: 640px) {
    .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .news-card .news-image {
        height: 110px;
    }

    .news-card .news-content {
        padding: 11px;
    }

    .news-card h3 {
        font-size: 14px;
    }
}

@media (max-width: 380px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
}

/* RADIOADA-019 - Schede notizie orizzontali */

.news-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    max-width: 850px;
}

.news-card {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden;
}

.news-card .news-image {
    width: 180px !important;
    height: 135px !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
}

.news-card .news-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.news-card .news-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 13px 18px !important;
    height: auto !important;
    min-height: 0 !important;
}

.news-card .news-content .eyebrow {
    margin: 0 !important;
}

.news-card h3 {
    font-size: 17px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.news-card p {
    font-size: 13px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

.news-card .read-more {
    margin-top: auto !important;
    padding-top: 4px !important;
    font-size: 12px !important;
}

/* Smartphone */
@media (max-width: 640px) {
    .news-card {
        grid-template-columns: 115px minmax(0, 1fr) !important;
    }

    .news-card .news-image {
        width: 115px !important;
        height: 125px !important;
    }

    .news-card .news-content {
        padding: 10px 12px !important;
        gap: 5px !important;
    }

    .news-card h3 {
        font-size: 14px !important;
    }

    .news-card p {
        font-size: 12px !important;
    }
}

/* RADIOADA-021 - Paginazione notizie */
.news-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 22px;
}
.news-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 9px;
    color: #fff;
    background: #142441;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}
.news-pagination a:hover,
.news-pagination a.active {
    background: #ff386e;
    border-color: #ff386e;
}
.news-pagination .page-summary {
    color: #b8c6df;
    font-size: 12px;
    margin-left: 8px;
}

/* RADIOADA-023 - Notizie ultra compatte */
.news-grid {
    max-width: 520px !important;
    gap: 10px !important;
}

.news-card {
    grid-template-columns: 95px minmax(0, 1fr) !important;
    min-height: 95px !important;
    max-height: none !important;
}

.news-card .news-image {
    width: 95px !important;
    height: 95px !important;
    min-height: 0 !important;
}

.news-card .news-content {
    padding: 9px 13px !important;
    gap: 4px !important;
    justify-content: center !important;
}

.news-card .news-content .eyebrow {
    font-size: 10px !important;
}

.news-card h3 {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.news-card p {
    display: none !important;
}

.news-card .read-more {
    margin-top: 5px !important;
    padding-top: 0 !important;
    font-size: 11px !important;
}

@media (max-width: 640px) {
    .news-grid {
        max-width: 100% !important;
    }

    .news-card {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        min-height: 85px !important;
    }

    .news-card .news-image {
        width: 82px !important;
        height: 85px !important;
    }

    .news-card .news-content {
        padding: 8px 10px !important;
    }

    .news-card h3 {
        font-size: 12px !important;
    }
}

/* RADIOADA-024 - Notizie compatte su due colonne */

.news-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 16px !important;
    max-width: 100% !important;
    width: 100% !important;
    align-items: start;
}

.news-card {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 95px minmax(0, 1fr) !important;
}

.news-card .news-image {
    width: 95px !important;
    height: 95px !important;
}

.news-card .news-content {
    min-width: 0 !important;
}

/* Smartphone e tablet piccoli */
@media (max-width: 700px) {
    .news-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}


/* RADIOADA-031 - Condivisione social */
.raa-tools {
    margin-top: 32px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}

.raa-tools > strong {
    display: block;
    color: #fff;
    font-size: 17px;
    margin-bottom: 15px;
}

.raa-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.raa-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 10px;
    color: white;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.raa-green {
    background: #16824a;
}

.raa-blue {
    background: #2456a6;
}

@media (max-width: 550px) {
    .raa-actions {
        flex-direction: column;
    }
}

/* RADIOADA-035 - Controlli articolo */
.article-detail .raa-tools {
    display: block !important;
    position: relative;
    visibility: visible !important;
    opacity: 1 !important;
    clear: both;
    margin: 28px 0 15px;
}
.article-detail .raa-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
}
.article-detail .raa-actions a {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* RADIOADA-036 - Pulsanti social reali */
.article-detail .raa-actions .raa-share-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: auto !important;
    min-width: 125px;
    min-height: 44px;
    padding: 12px 18px;
    color: #fff !important;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.article-detail .raa-actions .raa-green {
    background: #16824a !important;
}
.article-detail .raa-actions .raa-blue {
    background: #2456a6 !important;
}
.article-detail .raa-actions .raa-copy {
    background: #35445e !important;
}
.article-detail .raa-actions .raa-share-btn:hover {
    filter: brightness(1.15);
}

/* RADIOADA-048 - Ricerca notizie */
.raa-news-search {
    margin: 0 0 22px;
    max-width: 680px;
}
.raa-news-search label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #c9d5eb;
}
.raa-news-search-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.raa-news-search input {
    flex: 1 1 220px;
    min-width: 0;
    padding: 12px 15px;
    border: 1px solid #3a4e70;
    border-radius: 11px;
    color: #fff;
    background: #101e38;
    font: inherit;
    font-size: 14px;
}
.raa-news-search button {
    padding: 12px 20px;
    border: 0;
    border-radius: 11px;
    background: #fa4775;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}
.raa-news-search a {
    font-size: 13px;
    color: #ffa2bf;
    font-weight: 700;
}
