/* Scoped calendar and program pages. Uses the installed public theme. */
.ar-heading { background:#0757a5; color:#fff; padding:clamp(30px,5vw,56px) 0; }
html[data-site-theme="dark"] .ar-heading { background:#0e3559; }
.ar-heading h1 { max-width:880px; font-size:clamp(28px,3.5vw,44px); font-weight:800; line-height:1.25; letter-spacing:-.025em; margin:0 0 12px; color:#fff; overflow-wrap:break-word; }
.ar-heading p { margin:0; color:#e0efff; font-size:15px; line-height:1.7; }
.ar-page { background:var(--theme-bg,#edf4fc); color:var(--theme-text,#17324d); padding:32px 0 64px; }
.ar-page a:focus-visible { outline:3px solid #409ce9; outline-offset:4px; }
.ar-calendar { padding:clamp(18px,3vw,32px); background:var(--theme-panel,#fff); border:1px solid var(--theme-line,#c9dced); border-radius:14px; }
.ar-calendar-head { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.ar-calendar-head h2 { font-size:clamp(22px,2.5vw,28px); color:var(--theme-heading,#063970); line-height:1.35; margin:0 0 6px; }
.ar-calendar-head p { margin:0; font-size:14px; color:var(--theme-muted,#526b80); }
.ar-open { display:inline-flex; min-height:44px; padding:10px 16px; align-items:center; justify-content:center; background:#0967c2; color:#fff; font-weight:700; font-size:14px; border-radius:7px; }
.ar-open:hover { background:#0754a0; }
.ar-periods { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; align-items:stretch; font-size:13px; }
.ar-period-current,.ar-period-unavailable { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 14px; border:1px solid var(--theme-line,#c9dced); border-radius:7px; }
.ar-period-current { background:var(--theme-bg,#edf4fc); color:var(--theme-heading,#063970); font-weight:700; }
.ar-period-unavailable { color:var(--theme-muted,#526b80); }
.ar-period-unavailable small { font-size:11px; }
.ar-calendar-image { width:100%; margin:0; padding:8px; background:#fff; border:1px solid var(--theme-line,#c9dced); border-radius:8px; }
.ar-calendar-image a { display:block; }
.ar-calendar-image img { display:block; width:100%; min-width:0; max-width:100%; height:auto; object-fit:contain; }
.ar-note { margin:16px 0 0; color:var(--theme-muted,#526b80); font-size:13px; line-height:1.7; }
.ar-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
html[data-site-theme] .ar-program .program-premium-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:0; background:var(--theme-panel); color:var(--theme-text); border:1px solid var(--theme-line); border-radius:14px; box-shadow:none; overflow:hidden; }
html[data-site-theme] .ar-program .program-premium-card::before,html[data-site-theme] .ar-program .program-premium-card::after,html[data-site-theme] .ar-program .program-premium-visual::before,html[data-site-theme] .ar-program .program-premium-visual::after { display:none; }
html[data-site-theme] .ar-program .program-premium-visual { display:flex; align-items:center; min-width:0; min-height:0; padding:24px; background:transparent; }
html[data-site-theme] .ar-program .program-premium-visual img { position:static; width:100%; height:auto; min-height:0; max-height:none; object-fit:contain; border-radius:10px; }
html[data-site-theme] .ar-program .program-premium-content { min-width:0; padding:clamp(24px,3vw,36px); align-self:center; background:transparent; }
html[data-site-theme] .ar-program .program-premium-content h2 { margin:0 0 16px; color:var(--theme-heading); font-size:34px; line-height:1.2; }
html[data-site-theme] .ar-program .program-premium-content p { margin:0 0 24px; color:var(--theme-text); font-size:16px; line-height:1.85; }
html[data-site-theme] .ar-program .program-premium-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
html[data-site-theme] .ar-program .program-premium-meta>div { padding:14px 10px; background:var(--theme-bg); border:1px solid var(--theme-line); border-radius:8px; }
html[data-site-theme] .ar-program .program-premium-meta strong { display:block; color:var(--theme-heading); font-size:15px; }
html[data-site-theme] .ar-program .program-premium-meta span { display:block; color:var(--theme-muted); font-size:12px; margin-top:5px; }
html[data-site-theme] .ar-program .btn-primary { min-height:44px; padding:10px 18px; color:#fff; background:#0967c2; border:0; border-radius:7px; box-shadow:none; font-size:14px; }
html[data-site-theme] .ar-program .program-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
html[data-site-theme] .ar-program .program-feature-grid>section { min-width:0; padding:26px; background:var(--theme-panel); border:1px solid var(--theme-line); border-radius:12px; box-shadow:none; }
html[data-site-theme] .ar-program .program-feature-grid>section::before,html[data-site-theme] .ar-program .program-feature-grid>section::after { display:none; }
html[data-site-theme] .ar-program .program-feature-grid span { display:block; padding:0; background:transparent; color:var(--theme-muted); font-size:12px; font-weight:600; }
html[data-site-theme] .ar-program .program-feature-grid h3 { margin:10px 0 12px; color:var(--theme-heading); font-size:21px; line-height:1.35; }
html[data-site-theme] .ar-program .program-feature-grid p { margin:0; color:var(--theme-text); font-size:15px; line-height:1.8; }
@media(max-width:860px) {
  .ar-page { padding-block:24px 40px; }
  .ar-heading h1 { font-size:30px; }
  html[data-site-theme] .ar-program .program-premium-card,html[data-site-theme] .ar-program .program-feature-grid { grid-template-columns:minmax(0,1fr); }
  html[data-site-theme] .ar-program .program-premium-visual { padding:18px 18px 0; }
  html[data-site-theme] .ar-program .program-premium-content { padding:24px 20px; }
  html[data-site-theme] .ar-program .program-feature-grid>section { padding:22px; }
}
@media(max-width:360px) { html[data-site-theme] .ar-program .program-premium-meta { grid-template-columns:minmax(0,1fr); } }
