.rvye-grid{display:grid;gap:22px;width:100%}.rvye-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rvye-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rvye-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rvye-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.rvye-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.rvye-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}.rvye-card{display:block;text-decoration:none;color:inherit;min-width:0;cursor:pointer}.rvye-card:hover .rvye-thumb{transform:scale(1.04)}.rvye-thumb-wrap{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;background:#111;border-radius:6px}.rvye-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.rvye-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;padding-left:3px}.rvye-label{display:block;margin-top:12px;color:#ef3340;font-size:12px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.rvye-title{display:block;margin-top:4px;font-size:16px;font-weight:800;line-height:1.18;color:inherit}.rvye-playlist-rows{display:flex;flex-direction:column;gap:42px}.rvye-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:34px;align-items:center}.rvye-row-head{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:120px}.rvye-row-head h3,.rvye-section-head h3{margin:0;text-transform:uppercase;font-size:32px;font-weight:900;letter-spacing:.02em;line-height:1.1}.rvye-head-title{display:flex;flex-direction:column;align-items:center}.rvye-head-has-link{width:100%;gap:20px}.rvye-section-head.rvye-head-has-link{flex-direction:row;justify-content:space-between;text-align:left}.rvye-section-head.rvye-head-has-link .rvye-head-title{align-items:flex-start}.rvye-row-head.rvye-head-has-link{align-items:stretch;text-align:left}.rvye-row-head.rvye-head-has-link .rvye-head-title{align-items:flex-start}.rvye-playlist-link{margin-left:auto;white-space:nowrap;text-decoration:none;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:inherit;opacity:.78}.rvye-playlist-link:hover{opacity:1;text-decoration:underline}.rvye-row-head .rvye-head-title span,.rvye-section-head .rvye-head-title span{display:block;width:38px;height:4px;background:#ef3340;margin-top:18px}.rvye-single-playlist{display:flex;flex-direction:column;gap:24px}.rvye-section-head{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.rvye-error,.rvye-empty{padding:14px 16px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.04);border-radius:6px}.rvye-error{color:#c53030}.rvye-modal-open{overflow:hidden}.rvye-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}.rvye-modal.is-open{display:flex}.rvye-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82)}.rvye-modal-dialog{position:relative;width:min(1100px,92vw);z-index:1}.rvye-modal-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.48)}.rvye-modal-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.rvye-modal-close{position:absolute;right:-14px;top:-46px;width:38px;height:38px;border:0;border-radius:999px;background:#fff;color:#111;font-size:30px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}.rvye-modal-close:hover{opacity:.86}@media(max-width:1024px){.rvye-columns-4,.rvye-columns-5,.rvye-columns-6{grid-template-columns:repeat(2,minmax(0,1fr))}.rvye-row{grid-template-columns:1fr}.rvye-row-head{align-items:flex-start;text-align:left;min-height:auto}.rvye-row-head .rvye-head-title{align-items:flex-start}.rvye-row-head h3,.rvye-section-head h3{font-size:28px}}@media(max-width:640px){.rvye-grid,.rvye-columns-2,.rvye-columns-3,.rvye-columns-4,.rvye-columns-5,.rvye-columns-6{grid-template-columns:1fr}.rvye-section-head.rvye-head-has-link{align-items:flex-start;flex-direction:column}.rvye-playlist-link{margin-left:0;white-space:normal}.rvye-row-head h3,.rvye-section-head h3{font-size:24px}.rvye-modal{padding:14px}.rvye-modal-close{right:0;top:-44px}}

/* v1.5 layout fixes */
.rvye-row-head,.rvye-section-head,.rvye-head-title{min-width:0;max-width:100%;}
.rvye-row-head h3,.rvye-section-head h3{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;}
.rvye-row{grid-template-columns:minmax(0,260px) minmax(0,1fr);}
.rvye-playlist-link{max-width:100%;overflow-wrap:anywhere;}
.rvye-grid{min-width:0;}
@media(max-width:1024px){.rvye-row{grid-template-columns:minmax(0,1fr);}}

/* v1.6 playlist/title + premiere overlay */
.rvye-row-head h3,.rvye-section-head h3{font-size:19px!important;line-height:1.12;}
.rvye-title{display:none!important;}
.rvye-premiere-overlay{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:6px;background:rgba(0,0,0,.78);color:#fff;text-align:left;z-index:3;box-shadow:0 8px 24px rgba(0,0,0,.28);}
.rvye-premiere-kicker{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#ef3340;line-height:1;}
.rvye-premiere-line{display:block;font-size:12px;font-weight:800;line-height:1.18;color:#fff;}
.rvye-thumb-wrap .rvye-play{z-index:2;}
@media(max-width:640px){.rvye-premiere-overlay{left:8px;right:8px;bottom:8px;padding:8px}.rvye-premiere-line{font-size:11px}}

/* v1.7 programmazione */
.rvye-premiere-overlay{padding:11px 12px;gap:4px;}
.rvye-premiere-kicker{font-size:12px;letter-spacing:.16em;}
.rvye-premiere-line{font-size:14px;line-height:1.22;}
@media(max-width:640px){.rvye-premiere-kicker{font-size:11px}.rvye-premiere-line{font-size:12px}}

/* v1.8 carousel layout */
.rvye-carousel-wrap{position:relative;width:100%;min-width:0;}
.rvye-grid.rvye-carousel{display:flex;grid-template-columns:none;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding:0 2px 10px;}
.rvye-grid.rvye-carousel .rvye-card{flex:0 0 100%;scroll-snap-align:start;}
.rvye-grid.rvye-carousel.rvye-columns-2 .rvye-card{flex-basis:calc((100% - 22px)/2);}
.rvye-grid.rvye-carousel.rvye-columns-3 .rvye-card{flex-basis:calc((100% - 44px)/3);}
.rvye-grid.rvye-carousel.rvye-columns-4 .rvye-card{flex-basis:calc((100% - 66px)/4);}
.rvye-grid.rvye-carousel.rvye-columns-5 .rvye-card{flex-basis:calc((100% - 88px)/5);}
.rvye-grid.rvye-carousel.rvye-columns-6 .rvye-card{flex-basis:calc((100% - 110px)/6);}
.rvye-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border:0;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.24);}
.rvye-carousel-arrow:hover{background:rgba(0,0,0,.86);}
.rvye-carousel-prev{left:-19px;}
.rvye-carousel-next{right:-19px;}
.rvye-carousel-arrow.is-disabled{opacity:.28;pointer-events:none;}
@media(max-width:1024px){.rvye-grid.rvye-carousel.rvye-columns-3 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-4 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-5 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-6 .rvye-card{flex-basis:calc((100% - 22px)/2);}.rvye-carousel-prev{left:6px}.rvye-carousel-next{right:6px}}
@media(max-width:640px){.rvye-grid.rvye-carousel.rvye-columns-2 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-3 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-4 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-5 .rvye-card,.rvye-grid.rvye-carousel.rvye-columns-6 .rvye-card{flex-basis:100%;}.rvye-carousel-arrow{width:34px;height:34px;font-size:26px}.rvye-carousel-prev{left:8px}.rvye-carousel-next{right:8px}}


/* v1.9 hide carousel native scrollbar */
.rvye-grid.rvye-carousel{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:0;}
.rvye-grid.rvye-carousel::-webkit-scrollbar{display:none;width:0;height:0;}
