/* Usability fixes: scoped to existing theme components. */
:where(a,button,input,textarea,select):focus-visible { outline:3px solid #1258b0; outline-offset:4px; }
.mac-skip-link { position:absolute;left:12px;top:-100px;z-index:100000;background:#fff;color:#172037;padding:12px 18px;font-weight:700; }
.mac-skip-link:focus { top:42px; }
[id] { scroll-margin-top:28px; }
.mac-expand { background:transparent;border:0;padding:10px 0;cursor:pointer;text-align:left;font-family:inherit; }
.o-s-text .mac-expand { display:inline-block!important; }
.o-s-text .mac-expand:focus-visible { outline-color:#fff; }
.t-t-wrap { flex-wrap:wrap;justify-content:flex-start!important;gap:8px 20px; }
.t-t-wrap a { color:#555;display:inline-flex;align-items:center;min-height:44px;max-width:100%; }
.prog-tab { white-space:normal;min-height:48px; }
.prog-tab:hover,.prog-tab.active { color:#fff;border-bottom-color:#ff5555; }
.citizenship-container { position:relative; }
.mac-card-image-link { display:block; }
.citizenship-container .c-a-overlay,.citizenship-container:hover .c-a-overlay { top:auto;bottom:0;height:auto;transform:none!important;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.92) 25%); }
.citizenship-container .c-a-overlay>* { opacity:1;visibility:visible; }
.citizenship-container .c-a-overlay [hidden] { display:none!important; }
.citizenship-container .c-a-overlay .link { margin:8px 0 0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px; }
.c-a-overlay h4 a { color:inherit; }
.c-a-overlay h4 { margin-bottom:4px; }
.citizenship-container:focus-within { outline:3px solid #1258b0;outline-offset:4px; }
.owl-banner .owl-nav { display:flex;justify-content:space-between;position:absolute;left:12px;right:12px;top:45%;pointer-events:none; }
.owl-banner .owl-nav button.owl-prev,.owl-banner .owl-nav button.owl-next { pointer-events:auto;min-width:44px;min-height:44px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:32px;line-height:1; }
.owl-banner .owl-dots { display:flex;justify-content:center;position:absolute;bottom:12px;left:0;right:0;pointer-events:none; }
.owl-banner .owl-dots button.owl-dot { pointer-events:auto;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center; }
.owl-banner .owl-dots button.owl-dot span { width:12px;height:12px;background:#fff;border:2px solid #172037;border-radius:50%;display:block; }
.owl-banner .owl-dots button.owl-dot.active span { background:#f20c0d; }
.mac-slider-pause { position:absolute;right:16px;bottom:14px;z-index:2;background:rgba(0,0,0,.8);border:1px solid #fff;color:#fff;border-radius:4px;min-height:40px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600; }
.mac-form-label { display:block;font-size:14px;font-weight:600;color:#333;margin:0 0 6px; }
.mac-form-label span { font-weight:400; }
.mac-form-privacy { font-size:13px;line-height:1.6;margin:14px 0; }
.mac-form-privacy a { text-decoration:underline; }
.mac-service-directory { padding:40px 0; }
.mac-service-directory .mac-route-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;list-style:none;padding:0; }
.mac-route-list a { display:block;padding:16px;border:1px solid #ddd;border-radius:4px;color:#172037;font-weight:600; }
.mac-route-list a:hover { background:#f5f5f5; }
.mac-page-prose { padding:40px 0; }
.mac-page-prose .mac-prose-inner { max-width:900px;line-height:1.8; }
.mac-page-prose h2,.mac-page-prose h3 { margin-top:24px; }
.mac-page-prose ul,.mac-page-prose ol { padding-left:24px; }
.mac-page-prose a { text-decoration:underline; }
.mac-main-start { display:block;height:0; }
@media(max-width:767px) {
 .mac-slider-pause { position:relative;display:block;right:auto;bottom:auto;margin:8px auto;background:#172037; }
 .owl-banner .owl-nav { left:5px;right:5px;top:40%; }
 .owl-banner .owl-nav button.owl-prev,.owl-banner .owl-nav button.owl-next { min-width:36px;min-height:44px; }
 .owl-banner .o-b-content { padding-left:30px;padding-right:30px; }
 .owl-banner .owl-dots { bottom:48px; }
 .mac-service-directory .mac-route-list { grid-template-columns:1fr; }
 .t-t-wrap { padding:12px 0;gap:4px 16px; }
 .prog-tab { flex:1 1 50%; }
}
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto!important;} *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;} }

.mac-programme-section { margin-bottom:28px; }
.mac-programme-section h3 { overflow-wrap:anywhere; }
.mac-country-link { color:inherit; }
/* Keep slide backgrounds equally tall and the next action visible on phones. */
.owl-banner .owl-stage { display:flex; }
.owl-banner .owl-item { display:flex;flex:0 0 auto; }
.owl-banner .owl-item>.item { width:100%; }
@media(max-width:767px) {
 .owl-banner .o-b-content { padding-top:64px;padding-bottom:84px; }
 .owl-banner .o-b-heading p { display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden; }
}
.mac-card-image-link::after { content:"";position:absolute;inset:0;z-index:3; }
@media(max-width:575px) {
 .citizenship-areas .citizenship-wrap .row>.col-lg-4,
 .citizenship-areas .citizenship-wrap .row>.col-lg-3 { flex:0 0 100%;max-width:100%; }
}
@media(min-width:576px) and (max-width:991px) {
 .citizenship-areas .citizenship-wrap .row>.col-lg-4,
 .citizenship-areas .citizenship-wrap .row>.col-lg-3 { flex:0 0 50%;max-width:50%; }
}

/* Keep wide comparison tables readable without widening the page. */
.programTable { max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch; }
@media(max-width:991px) { .programTable table { min-width:900px; } }
