/* RadioMeteo Companion 1.6.98 — preserve approved horizontal contest card layout.
 * Keep the approved card markup, palette, borders, arrangement and links.
 * Narrow content columns reflow by their OWN width, including sidebar layouts.
 */
.rmc-calendar .event-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;container-type:inline-size;container-name:rmc-contest-list}
.rmc-calendar .calendar-controls{gap:10px;padding:14px;border:1px solid #b8d9d8;border-radius:10px;background:#e6f2f1}
.rmc-calendar .calendar-controls label{color:#102e40;font-size:13px;font-weight:700;line-height:1.35}
.rmc-calendar .calendar-controls input,.rmc-calendar .calendar-controls select,.rmc-calendar .calendar-controls button{min-height:44px;padding:7px 10px;font-size:14px;border-width:1px;max-width:100%;box-sizing:border-box}
.rmc-calendar .event-card{display:block!important;min-width:0;padding:0!important;background:#fff;border:1px solid #c9d9dc;border-radius:10px;box-shadow:0 3px 10px rgba(16,46,64,.06);overflow:hidden}
.rmc-calendar .event-card .rmc-event-content{min-width:0;padding:16px 18px}
.rmc-calendar .event-card .rmc-event-header{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.rmc-calendar .rmc-event-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:22px 0 10px;padding-bottom:8px;border-bottom:2px solid #0b6d73}
.rmc-calendar .rmc-event-list-heading h2{margin:0!important;color:#102e40;font-size:22px!important;line-height:1.25}
.rmc-calendar .rmc-event-list-heading span{color:#45636d;font-size:14px;font-weight:700}
.rmc-calendar .event-card .date-box{display:flex;flex:0 0 58px;flex-direction:column;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;width:58px;height:58px;min-height:0;padding:6px;border:0;border-radius:8px;background:#0b2638;color:#fff;text-align:center;font-size:13px;font-weight:700;line-height:1.2}
.rmc-calendar .event-card .date-box strong{font-size:25px;line-height:1.1}
.rmc-calendar .event-card .rmc-event-heading{min-width:0;flex:1}
.rmc-calendar .event-card h3{margin:0!important;color:#102e40;font-size:clamp(20px,1.9vw,23px)!important;line-height:1.32;overflow-wrap:anywhere}
.rmc-calendar .event-card .rmc-event-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:10px;align-items:stretch}
.rmc-calendar .event-card .rmc-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:8px;margin:0;min-width:0}
.rmc-calendar .event-card .rmc-event-facts>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;background:#edf4f2;border:1px solid #d7e3e5;border-radius:6px;color:#102e40;font-size:16px;line-height:1.45;overflow-wrap:normal;word-break:normal}
.rmc-calendar .event-card .rmc-event-facts strong,.rmc-calendar .event-card .rmc-event-description>strong{color:#315564;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.02em;text-transform:uppercase}
.rmc-calendar .event-card .rmc-event-facts time{display:block;font-size:16px;line-height:1.5;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.rmc-calendar .event-card .rmc-event-description{min-width:0;margin:0;padding:11px 14px;background:#f1f8f7;border-left:3px solid #087e86;border-radius:3px 7px 7px 3px}
.rmc-calendar .event-card .rmc-event-description p{margin:5px 0 0;color:#102e40;font-size:16px;line-height:1.55;overflow-wrap:break-word}
.rmc-calendar .event-card .rmc-event-footer{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:12px;padding-top:10px;border-top:1px solid #d7e3e5}
.rmc-calendar .event-card .source-link{display:inline-flex;align-items:center;min-height:36px;margin:0;color:#075f66;font-size:15px;font-weight:700;line-height:1.45;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rmc-calendar .event-card .source-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.rmc-calendar .rmc-contest-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 8px}
.rmc-calendar .rmc-contest-pagination .rmc-page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.rmc-calendar .rmc-contest-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:6px 10px;border:1px solid #b8d9d8;border-radius:6px;background:#fff;color:#075f66;font-weight:700;text-decoration:none}
.rmc-calendar .rmc-contest-pagination .page-numbers.current{background:#0b2638;border-color:#0b2638;color:#fff}
/* Responsive by card width, not by full browser width. The approved
 * horizontal two-column card is kept until it would make data unreadable. */
@media(max-width:580px){
 .rmc-calendar .rmc-event-list-heading{display:block}
 .rmc-calendar .rmc-event-list-heading h2{font-size:20px!important}
 .rmc-calendar .rmc-event-list-heading span{display:block;margin-top:3px}
 .rmc-calendar .event-card .rmc-event-content{padding:12px}
 .rmc-calendar .event-card .rmc-event-header{gap:10px}
 .rmc-calendar .event-card .date-box{flex-basis:50px;width:50px;height:54px}
 .rmc-calendar .event-card .date-box strong{font-size:23px}
 .rmc-calendar .event-card .source-link{min-height:42px}
 .rmc-calendar .calendar-controls{padding:12px}
}
@container rmc-contest-list (max-width:680px){
 .rmc-calendar .event-card .rmc-event-body{grid-template-columns:minmax(0,1fr)}
 .rmc-calendar .event-card .rmc-event-description{min-height:70px}
}
@container rmc-contest-list (max-width:480px){
 .rmc-calendar .event-card .rmc-event-facts{grid-template-columns:minmax(0,1fr)}
 .rmc-calendar .event-card .source-link{min-height:42px}
}
/* Fallback for browsers without CSS container queries. */
@supports not (container-type:inline-size){
 @media(max-width:1024px){.rmc-calendar .event-card .rmc-event-body{grid-template-columns:minmax(0,1fr)}}
 @media(max-width:580px){.rmc-calendar .event-card .rmc-event-facts{grid-template-columns:minmax(0,1fr)}}
}
