#royal-program{--royal-red:#a51d29;--royal-navy:#193b68;--ink:#183350;--muted:#536477;--rule:#dce3eb;--soft:#f3f6fa;--white:#fff;--offer:#a51d29;--offer-bg:#fff0f0;font-family:Lato,Arial,sans-serif;color:var(--ink);font-synthesis:none}
#royal-program *{box-sizing:border-box}
#royal-program a{color:inherit}
#royal-program button,#royal-program a{-webkit-tap-highlight-color:transparent}
#royal-program a:focus-visible,#royal-program button:focus-visible{outline:3px solid #e8a930;outline-offset:4px}
#royal-program{max-width:1360px;margin:0 auto;padding:20px 28px 32px}
#royal-program .program-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}
#royal-program .eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;color:var(--royal-red);margin:0 0 5px}
#royal-program h1{font-size:34px;letter-spacing:-.04em;line-height:1.08;margin:0;font-weight:800}
#royal-program .week-heading{text-align:right}
#royal-program .week-heading p{margin:0 0 5px;font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.025em}
#royal-program .week-heading span{color:var(--muted);font-size:14px}
#royal-program .schedule-table{width:100%;border-spacing:0;border-collapse:separate;table-layout:fixed;border:1px solid var(--rule);border-radius:12px;overflow:hidden}
#royal-program .schedule-table .film-col{width:37%}
#royal-program .schedule-table thead{background:var(--royal-navy);color:#fff}
#royal-program .schedule-table thead th{font-weight:400;padding:10px 5px;text-align:center;border-left:1px solid #ffffff1e}
#royal-program .schedule-table thead th:first-child{text-align:left;padding-left:14px;border-left:0}
#royal-program .column-label{font-size:14px;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
#royal-program .day-name{display:block;font-size:13px}
#royal-program .day-date{display:block;font-size:21px;font-weight:700;letter-spacing:-.035em;line-height:1.2;margin-top:2px}
#royal-program .day-today{background:#285581;box-shadow:inset 0 -4px 0 #fff}
#royal-program .today-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
#royal-program .schedule-table tbody tr+tr td,#royal-program .schedule-table tbody tr+tr th{border-top:1px solid var(--rule)}
#royal-program .movie-cell{padding:12px 14px;text-align:left;font-weight:400;vertical-align:top}
#royal-program .movie-summary{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px}
#royal-program .poster-link{display:block;align-self:start}
#royal-program .poster{display:block;width:100%;height:auto;object-fit:contain;border-radius:5px;background:var(--soft);box-shadow:0 3px 10px #193b681a}
#royal-program .movie-copy{min-width:0}
#royal-program .movie-title{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:0 0 4px;font-weight:800}
#royal-program .movie-title a{text-decoration:none}
#royal-program .movie-title a:hover{color:var(--royal-red)}
#royal-program .original-title{font-size:14px;line-height:1.35;color:var(--muted);margin:0 0 5px;overflow-wrap:anywhere}
#royal-program .movie-meta{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:14px;color:var(--muted);line-height:1.5}
#royal-program .format{display:inline-flex;align-items:center;align-self:center;justify-content:center;min-width:32px;padding:1px 6px;border:1px solid var(--royal-navy);border-radius:4px;font-size:12px;font-weight:800;line-height:18px;letter-spacing:.035em;white-space:nowrap}
#royal-program .format-2d{color:var(--royal-navy);background:#edf3fa}
#royal-program .format-3d{color:#fff;background:var(--royal-red);border-color:var(--royal-red)}
#royal-program .language{font-size:14px;color:var(--muted)}
#royal-program .regular-price{margin-top:5px;font-size:16px;line-height:1.2;font-weight:800;color:var(--royal-navy)}
#royal-program .price-caption{font-size:12px;color:var(--muted);font-weight:400;margin-left:5px}
#royal-program .screening-cell{text-align:center;padding:8px 6px;vertical-align:middle;border-left:1px solid #e8edf3}
#royal-program .screening-cell.today{background:#f1f5fa}
#royal-program .times{display:flex;flex-direction:column;align-items:center;gap:6px}
#royal-program .showtime{min-width:67px;min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--royal-navy);border:1px solid var(--royal-navy);color:#fff;border-radius:6px;font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none;font-variant-numeric:tabular-nums;padding:6px}
#royal-program .showtime:hover{background:var(--royal-red);border-color:var(--royal-red);transform:translateY(-1px)}
#royal-program .screening{display:flex;flex-direction:column;align-items:center;gap:3px}
#royal-program .showtime.closed{background:#f5f6f8;border-color:#e1e5e9;color:#707c89;font-weight:400}
#royal-program .empty-time{color:#a1acb8;font-size:20px}
#royal-program .mobile-date{display:none}
#royal-program .program-legend{display:flex;justify-content:space-between;gap:18px;margin-top:12px;font-size:13px;color:var(--muted)}
#royal-program .program-legend span{display:flex;align-items:center;gap:7px}
#royal-program .loading{padding:40px;background:var(--soft);text-align:center;border-radius:12px}
@media(min-width:1051px) and (max-width:1200px){#royal-program{padding-left:22px;padding-right:22px}
#royal-program .schedule-table .film-col{width:36%}
#royal-program .movie-summary{grid-template-columns:60px minmax(0,1fr);gap:10px}
#royal-program .movie-cell{padding:10px 12px}
#royal-program .movie-title{font-size:18px}
#royal-program .showtime{min-width:59px;font-size:17px}
}
@media(max-width:1050px){#royal-program{padding:18px 20px 28px}
#royal-program .program-heading{align-items:start}
#royal-program h1{font-size:32px}
#royal-program .week-heading p{font-size:22px}
#royal-program .schedule-table,#royal-program .schedule-table tbody{display:block;border:0;overflow:visible}
#royal-program .schedule-table colgroup,#royal-program .schedule-table thead{display:none}
#royal-program .schedule-table tbody tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--rule);border-radius:12px;overflow:hidden;margin-bottom:12px}
#royal-program .schedule-table tbody tr+tr td,#royal-program .schedule-table tbody tr+tr th{border-top:0}
#royal-program .movie-cell{grid-column:1/-1;display:block;padding:12px 14px}
#royal-program .movie-summary{grid-template-columns:64px minmax(0,1fr);gap:12px}
#royal-program .movie-title{font-size:19px}
#royal-program .original-title{font-size:14px}
#royal-program .movie-meta,#royal-program .language{font-size:14px}
#royal-program .screening-cell{display:block;background:#f8fafc;padding:8px 5px 10px;border-top:1px solid var(--rule)!important}
#royal-program .mobile-date{display:block;margin-bottom:6px;font-size:13px;line-height:1.3;color:var(--muted)}
#royal-program .mobile-date b{display:block;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}
#royal-program .mobile-date em{font-style:normal;color:var(--royal-red);font-size:12px;font-weight:700}
#royal-program .program-legend{flex-direction:column;gap:7px}
}
@media(max-width:620px){#royal-program{padding:16px 12px 24px}
#royal-program .program-heading{display:block;margin-bottom:14px}
#royal-program .eyebrow{font-size:12px}
#royal-program h1{font-size:30px}
#royal-program .week-heading{text-align:left;margin-top:8px}
#royal-program .week-heading p{font-size:19px}
#royal-program .week-heading span{font-size:14px}
#royal-program .movie-cell{padding:10px 12px}
#royal-program .movie-summary{grid-template-columns:56px minmax(0,1fr);gap:10px}
#royal-program .movie-title{font-size:17px}
#royal-program .original-title{font-size:14px;margin-bottom:4px}
#royal-program .movie-meta,#royal-program .language{font-size:14px}
#royal-program .language{margin:0}
#royal-program .schedule-table tbody tr{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;border-radius:10px}
#royal-program .screening-cell{display:block;padding:7px 4px;min-height:0;border-left:1px solid var(--rule)}
#royal-program .screening-cell:nth-of-type(4n+1){border-left:0}
#royal-program .screening-cell:last-child{grid-column:span 2}
#royal-program .screening-cell:last-child .times{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:6px}
#royal-program .mobile-date{margin:0 0 5px;text-align:center;font-size:12px}
#royal-program .mobile-date b{font-size:15px}
#royal-program .showtime{min-width:54px;font-size:16px;min-height:44px}
#royal-program .price-caption{display:inline;margin:0 0 0 5px}
#royal-program .program-legend{font-size:12px;padding:0 2px}
#royal-program .times{gap:7px}
}
@media(prefers-reduced-motion:reduce){#royal-program .showtime:hover{transform:none}
}

/* Isolate the approved schedule from the existing site's global styles. */
#contentSec.royal-home-content{padding-top:24px}
#royal-program{background:#fff;color:#183350;border-radius:12px;padding:20px;margin-bottom:32px;font-size:16px;line-height:1.5;text-align:left;max-width:100%;width:100%}
#royal-program h1,#royal-program h2{color:#183350;font-family:inherit;text-align:left;text-transform:none}
#royal-program p{font-family:inherit}
#royal-program .poster{max-width:100%;height:auto;margin:0;float:none;position:static}
#royal-program .showtime{margin:0;float:none;width:auto;line-height:1.5}
#royal-program .movie-cell{background:#fff}
@media(max-width:620px){#royal-program{padding:14px 10px;margin-bottom:24px}#contentSec.royal-home-content{padding-top:16px}}

#royal-program .special-price{display:block;max-width:100%;padding:3px 5px;border-radius:4px;background:#fff0f0;color:#a51d29;text-align:center;line-height:1.15}
#royal-program .special-price b{display:block;font-size:14px;white-space:nowrap}
#royal-program .special-price small{display:block;max-width:64px;margin:1px auto 0;font-size:10px;line-height:1.15}
