/* ---------- program ---------- */
.rufs-day{margin:0 0 40px}
.rufs-day-title{text-align:center;margin:0 0 24px}

.rufs-item{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #e6e8ec}
.rufs-item:last-child{border-bottom:none}
.rufs-time{flex:0 0 130px;font-weight:700;color:#2b7fb0;line-height:1.5}
.rufs-body{flex:1 1 auto;min-width:0}
.rufs-title{margin:0 0 4px;font-size:1.1em;line-height:1.35}
.rufs-room{color:#6b7280;font-style:italic;margin-bottom:6px}
.rufs-note{margin:6px 0 0}
.rufs-note p{margin:0 0 6px}

.rufs-item.rufs-type-break{background:#f6f8fa}
.rufs-item.rufs-type-break .rufs-title{font-weight:600;color:#6b7280;font-size:1em}

.rufs-speakers{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rufs-speakers li{margin:0}

.rufs-speaker-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;
	background:#eef6fb;border:1px solid #cfe4f2;border-radius:6px;padding:7px 12px;
	cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s,border-color .15s}
.rufs-speaker-link:hover,.rufs-speaker-link:focus{background:#dcecf7;border-color:#9cc9e6}
.rufs-sp-name{font-weight:700}
.rufs-sp-role{font-size:.85em;color:#5b6773;line-height:1.3}

/* ---------- grila vorbitori ---------- */
.rufs-grid{display:grid;gap:26px 20px}
.rufs-cols-2{grid-template-columns:repeat(2,1fr)}
.rufs-cols-3{grid-template-columns:repeat(3,1fr)}
.rufs-cols-4{grid-template-columns:repeat(4,1fr)}
.rufs-cols-5{grid-template-columns:repeat(5,1fr)}
.rufs-cols-6{grid-template-columns:repeat(6,1fr)}

.rufs-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
	background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}
.rufs-card-photo{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:6px;background:#eef1f4}
.rufs-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.rufs-card:hover .rufs-card-photo img{transform:scale(1.04)}
.rufs-card-name{font-weight:700;line-height:1.3}
.rufs-card-role{font-size:.88em;color:#5b6773;line-height:1.35}

/* ---------- popup ---------- */
.rufs-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.rufs-modal[hidden]{display:none}
.rufs-modal-back{position:absolute;inset:0;background:rgba(15,30,45,.6)}
.rufs-modal-box{position:relative;background:#fff;border-radius:8px;max-width:720px;width:100%;
	max-height:86vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.rufs-modal-close{position:absolute;top:10px;right:10px;background:#fff;border:1px solid #dfe4ea;
	border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:15px;line-height:1;color:#5b6773}
.rufs-modal-close:hover{background:#f1f4f7}
.rufs-modal-inner{display:flex;gap:24px;padding:28px}
.rufs-modal-photo{flex:0 0 180px}
.rufs-modal-photo img{width:180px;height:180px;object-fit:cover;border-radius:6px;display:block}
.rufs-modal-text{flex:1 1 auto;min-width:0}
.rufs-modal-text h3{margin:0 0 6px;font-size:1.35em}
.rufs-modal-role{margin:0 0 14px;color:#5b6773;font-style:italic}
.rufs-modal-bio p{margin:0 0 10px}
.rufs-modal-cv{margin:14px 0 0}

@media (max-width:900px){
	.rufs-cols-4,.rufs-cols-5,.rufs-cols-6{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
	.rufs-item{flex-direction:column;gap:6px}
	.rufs-time{flex:none}
	.rufs-cols-2,.rufs-cols-3,.rufs-cols-4,.rufs-cols-5,.rufs-cols-6{grid-template-columns:repeat(2,1fr)}
	.rufs-modal-inner{flex-direction:column;padding:22px}
	.rufs-modal-photo{flex:none;align-self:center}
}

/* v1.1 */
.rufs-slot{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #e6e8ec}
.rufs-slot:last-child{border-bottom:none}
.rufs-slot .rufs-time{flex:0 0 130px;font-weight:700;color:#2b7fb0;line-height:1.5}
.rufs-cols{flex:1 1 auto;min-width:0;display:flex;gap:26px}
.rufs-mod{flex:1 1 0;min-width:0}

.rufs-parallel .rufs-cols{position:relative}
.rufs-parallel .rufs-mod + .rufs-mod{border-left:1px solid #e0e4e9;padding-left:26px}
.rufs-subtime{font-weight:700;color:#2b7fb0;margin-bottom:4px}

.rufs-slot.rufs-type-break,.rufs-slot.rufs-type-lunch{background:#f6f8fa}
.rufs-slot.rufs-type-break .rufs-title,.rufs-slot.rufs-type-lunch .rufs-title{font-weight:600;color:#6b7280;font-size:1em}

.rufs-group{margin-top:10px}
.rufs-group-label{font-style:italic;color:#5b6773;margin-bottom:4px}

.rufs-panel-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;
	border-bottom:1px dashed #9cc9e6}
.rufs-panel-link:hover{color:#2b7fb0}

.rufs-sp-note{font-size:.85em;color:#8a6d3b}
.rufs-modal-narrow{max-width:620px}
.rufs-modal-plain{display:block}
.rufs-panel-desc p{margin:0 0 10px}

@media (max-width:820px){
	.rufs-cols{flex-direction:column;gap:18px}
	.rufs-parallel .rufs-mod + .rufs-mod{border-left:none;padding-left:0;border-top:1px solid #e0e4e9;padding-top:14px}
	.rufs-parallel .rufs-cols{border-left:3px solid #cfe4f2;padding-left:14px}
}
@media (max-width:680px){
	.rufs-slot{flex-direction:column;gap:6px}
	.rufs-slot .rufs-time{flex:none}
}
