:root{--rap-blue:#008fc8;--rap-electric:#29b6f6;--rap-navy:#082b53;--rap-ink:#142d47}
#persistent-rap-player{font-family:inherit;pointer-events:none}#persistent-rap-player>*{pointer-events:auto}
.rap-live,.rap-live *,.rap-dock,.rap-dock *,.rap-grid,.rap-grid *{box-sizing:border-box}
.rap-live{max-width:440px;margin:auto;padding:12px 14px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;color:#fff;font-family:inherit;text-shadow:0 1px 5px #0617328f}
.rap-live-orbit{position:relative;width:275px;height:275px;display:grid;place-items:center;isolation:isolate;flex-shrink:0}
.rap-live-spectrum{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,#22c5ff 0deg 1.1deg,rgba(24,156,231,.24) 1.1deg 2.2deg,#148fe5 2.2deg 2.7deg,transparent 2.7deg 4deg);-webkit-mask:radial-gradient(farthest-side,transparent 72%,#000 73% 91%,transparent 92%);mask:radial-gradient(farthest-side,transparent 72%,#000 73% 91%,transparent 92%);filter:drop-shadow(0 0 12px #0ed8ff);opacity:.78;transition:opacity .3s}
.rap-live-aura,.rap-live-orbit:before,.rap-live-orbit:after{content:"";position:absolute;inset:17px;border:2px solid #44bfff80;border-radius:50%;pointer-events:none}
.rap-live-aura{inset:25px;box-shadow:0 0 23px #20bbff77, inset 0 0 15px #20bbff55}
.rap-live.is-playing .rap-live-orbit:before{animation:rap-wave 2.8s infinite}.rap-live.is-playing .rap-live-orbit:after{animation:rap-wave 2.8s 1.4s infinite}.rap-live.is-playing .rap-live-spectrum{animation:rap-spectrum 15s linear infinite;opacity:1}
@keyframes rap-wave{0%{transform:scale(.82);opacity:.82}100%{transform:scale(1.33);opacity:0}}@keyframes rap-spectrum{to{transform:rotate(360deg)}}
.rap-live-button{width:195px;height:195px;border-radius:50%;border:5px solid #fff;background:#fff;box-shadow:0 0 0 5px #0676b9a6,0 13px 36px #001b3f91;display:grid;place-items:center;position:relative;z-index:1;cursor:pointer;overflow:hidden;padding:13px;color:#0966a8;transition:transform .2s,box-shadow .2s}
.rap-live-button:hover{transform:scale(1.035);box-shadow:0 0 0 5px #1eaee6,0 13px 40px #001b3f91}.rap-live-button:focus-visible,.rap-live-small:focus-visible,.rap-podcast-button:focus-visible,.rap-main-control:focus-visible{outline:3px solid #a8ebff;outline-offset:4px}
.rap-live-button img{width:100%;height:100%;object-fit:contain}.rap-logo-fallback{font-weight:900;font-size:31px;line-height:1;color:#067eb5;text-shadow:none}.rap-logo-fallback em{font-style:normal;color:#e93b4f}
.rap-live-icon{position:absolute;right:4px;bottom:4px;background:#028dc7;color:white;width:43px;height:43px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:16px;box-shadow:0 4px 15px #0005}
.rap-live.is-playing .rap-live-icon{font-size:15px}
.rap-live-info{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.rap-live-pill{display:inline-flex;align-items:center;gap:7px;background:#082e5bbf;border:1px solid #70d5ff6c;border-radius:30px;padding:5px 13px;font-size:11px;font-weight:800;letter-spacing:.12em}.rap-dot{display:inline-block;background:#ff465c;width:8px;height:8px;border-radius:100%;box-shadow:0 0 9px #ff465c}
.rap-live-info h2{font-size:28px!important;line-height:1.2!important;margin:0!important;padding:0!important;color:#fff!important;font-weight:750}.rap-live-info p{margin:0!important;padding:0!important;color:#e1f5ff!important;font-size:14px}
.rap-live-tools{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:7px}.rap-live-small{background:#f5fbff;color:#075281;border:0;border-radius:28px;padding:11px 20px;font-weight:800;font-size:13px;cursor:pointer;display:flex;gap:9px;align-items:center;box-shadow:0 6px 20px #001a3b4f}.rap-live-small:hover{background:#bfeeff}.rap-tool-icon{font-size:13px}.rap-hero-volume{display:flex;align-items:center;gap:10px;color:#fff;background:#082a4f9e;padding:9px 13px;border-radius:25px}.rap-hero-volume span{font-size:20px;line-height:1}
.rap-volume-input{appearance:none!important;-webkit-appearance:none!important;background:linear-gradient(90deg,#22bafa var(--rap-range-fill,80%),#718da5 var(--rap-range-fill,80%))!important;width:95px;height:5px!important;min-height:5px!important;border-radius:9px!important;outline:0!important;cursor:pointer;vertical-align:middle;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}
.rap-volume-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #18a6df;box-shadow:0 1px 5px #0005}.rap-volume-input::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid #18a6df;box-shadow:0 1px 5px #0005}
.rap-header-button{border:1px solid #cceefa;background:#008bc4;color:white;border-radius:25px;padding:7px 13px;cursor:pointer;font-weight:750;font-size:12px}
.rap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.rap-card{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #052b4a20;min-width:0;transition:transform .2s,box-shadow .2s}.rap-card:hover{transform:translateY(-4px);box-shadow:0 13px 34px #052b4a35}.rap-card-cover{position:relative;overflow:hidden}.rap-card-image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#0b5e91,#06a4d1);overflow:hidden}.rap-card-image img{height:100%!important;width:100%!important;display:block;object-fit:cover;transition:transform .35s}.rap-card:hover img{transform:scale(1.035)}.rap-card-fallback{display:grid;place-items:center;height:100%;text-align:center;color:white;font-size:16px}.rap-card-tag{position:absolute;bottom:11px;left:12px;padding:5px 9px;border-radius:18px;color:#fff;background:#07304ed9;letter-spacing:.07em;font-size:10px;font-weight:800;pointer-events:none}.rap-card-body{padding:17px 17px 18px;display:flex;flex:1;flex-direction:column}.rap-card-date{margin:0 0 7px!important;font-size:12px;color:#61829b}.rap-card h3{font-size:17px!important;line-height:1.32!important;font-weight:750!important;margin:0 0 18px!important;padding:0!important;flex:1}.rap-card h3 a{color:var(--rap-ink)!important;text-decoration:none}.rap-card h3 a:hover{color:#008fc8!important}.rap-card-actions{border-top:1px solid #e9f0f5;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:7px}.rap-podcast-button{border:0;border-radius:28px;background:#008ec8;color:#fff;padding:8px 13px 8px 9px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.rap-podcast-button:hover{background:#056a9d}.rap-play-glyph{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffffff30;font-size:11px}.rap-read-more{white-space:nowrap;color:#127dac!important;font-size:12px!important;font-weight:750;text-decoration:none!important}
#rap-dock[hidden],#rap-progress-row[hidden],#rap-article-link[hidden]{display:none!important}.rap-dock{position:fixed;inset:auto 0 0 0;min-height:82px;z-index:2147482000;display:flex;align-items:center;gap:13px;padding:12px max(18px,calc((100vw - 1120px)/2));background:linear-gradient(115deg,#071e3b,#103e66);color:#fff;box-shadow:0 -6px 28px #001e38a3;font-family:inherit}.rap-dock-brand{width:39px;height:39px;border:1px solid #55d5ff78;border-radius:50%;display:grid;place-items:center;background:#0b6598;flex-shrink:0}.rap-dock-brand-ring{font-size:21px;color:#fff}.rap-main-control{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:#ecf9ff;color:#084975;font-size:17px;display:grid;place-items:center;cursor:pointer;padding:0}.rap-dock-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.rap-dock-eyebrow{color:#60d5ff;font-size:10px;font-weight:800;letter-spacing:.095em}.rap-dock-info strong{color:white;font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rap-dock-controls{display:flex;align-items:center;gap:18px}.rap-volume-label{display:flex;align-items:center;gap:8px}.rap-speaker-icon{font-size:21px;line-height:1}.rap-dock #rap-article-link{color:#c9ebfc;text-decoration:none;font-size:12px;white-space:nowrap}.rap-dock #rap-close{background:transparent;border:0;color:#cbe2f0;font-size:27px;line-height:1;cursor:pointer;padding:2px 4px}.rap-sc-engine{position:fixed!important;left:-10000px!important;top:0!important;width:300px!important;height:166px!important;overflow:hidden!important;pointer-events:none!important}.rap-sc-engine iframe{width:300px;height:166px;border:0}
#rap-progress-row{display:flex;align-items:center;gap:10px;margin-top:4px}#rap-progress{min-width:60px;flex:1;accent-color:#32bfff;height:5px}#rap-times{white-space:nowrap;color:#b3d6e9;font-size:10px}
@media(max-width:980px){.rap-grid{gap:16px}.rap-card-body{padding:13px}.rap-card h3{font-size:15px!important}}
@media(max-width:767px){.rap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rap-live-orbit{width:235px;height:235px}.rap-live-button{width:175px;height:175px}.rap-dock{padding:10px 12px;gap:9px}.rap-dock-brand{display:none}.rap-volume-label{display:none}.rap-dock-info strong{font-size:12px}.rap-dock-controls{gap:8px}.rap-dock #rap-article-link{display:none}}
@media(max-width:540px){.rap-grid{grid-template-columns:1fr}.rap-live-info h2{font-size:23px!important}.rap-dock{min-height:68px}.rap-live{padding:10px 8px 18px}.rap-card h3{font-size:17px!important}}
@media(prefers-reduced-motion:reduce){.rap-live.is-playing .rap-live-orbit:before,.rap-live.is-playing .rap-live-orbit:after,.rap-live.is-playing .rap-live-spectrum{animation:none}.rap-card,.rap-live-button{transition:none}}
/* v0.3 — pulsante centrale e dock: le regole sono specifiche per resistere ai CSS Divi */
.rap-live .rap-live-button{width:205px;height:205px;padding:0;border:5px solid #f1fbff;background:radial-gradient(circle at 35% 25%,#128fcf,#064875 72%,#063158);color:white;box-shadow:0 0 0 5px #08a9e3a1,0 13px 40px #001634a6;display:flex;align-items:center;justify-content:center;overflow:visible}
.rap-live .rap-live-main-icon{display:flex;align-items:center;justify-content:center;width:106px;height:106px;color:#fff;filter:drop-shadow(0 3px 12px #001b3277)}
.rap-live .rap-live-main-icon svg{display:block;width:100%;height:100%;fill:currentColor}
.rap-live .rap-live-button:hover{background:radial-gradient(circle at 35% 25%,#22a8e9,#065987 72%,#063158)}
.rap-live.is-playing .rap-live-button{background:radial-gradient(circle at 35% 25%,#12a0cf,#07577a 72%,#063158)}
#persistent-rap-player #rap-dock[hidden]{display:none!important}
#persistent-rap-player #rap-dock.rap-visible:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important}
#persistent-rap-player #rap-dock{z-index:2147483640!important;bottom:0!important;left:0!important;right:0!important;max-width:none!important}
#persistent-rap-player #rap-toggle svg{width:23px;height:23px;display:block}
#persistent-rap-player .rap-volume-input{appearance:none!important;-webkit-appearance:none!important;display:block!important;width:100px!important;max-width:100px!important;height:6px!important;padding:0!important;border:0!important;background:linear-gradient(90deg,#39d0ff var(--rap-range-fill,80%),#64829a var(--rap-range-fill,80%))!important;border-radius:10px!important}
#persistent-rap-player .rap-volume-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#fff;border:3px solid #22baf1;border-radius:50%}
#persistent-rap-player .rap-volume-input::-moz-range-thumb{width:11px;height:11px;background:#fff;border:3px solid #22baf1;border-radius:50%}
@media(max-width:767px){.rap-live .rap-live-button{width:180px;height:180px}.rap-live .rap-live-main-icon{width:90px;height:90px}}

/* 0.3.2: keep player in body viewport and above Divi overlays */
body > #persistent-rap-player { position:relative!important; z-index:2147483640!important; }
body > #persistent-rap-player > #rap-dock.rap-visible { position:fixed!important; display:flex!important; bottom:0!important; z-index:2147483646!important; opacity:1!important; visibility:visible!important; }

/* 0.3.3 – Dock indipendente: direct body child, no Divi ancestor / AjaxPress. */
html body > #rap-dock.rap-dock {
 position:fixed!important; inset:auto 0 0 0!important; width:100%!important;
 max-width:100vw!important; min-height:78px; display:flex; align-items:center;
 z-index:2147483647!important; visibility:visible!important; opacity:1!important;
 transform:none!important; pointer-events:auto!important; box-sizing:border-box!important;
}
html body > #rap-dock[hidden] {display:none!important;visibility:hidden!important;}
html body > #rap-dock .rap-volume-input {width:95px!important;max-width:95px!important;}
@media(max-width:540px){html body > #rap-dock.rap-dock {min-height:68px;}}
