.countries-page-filters { display:grid; gap:6px; }
.directory-type-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; border:0; padding:0; margin:0; }
.directory-type-filters label { display:flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid #dce3eb; border-radius:10px; background:#fff; cursor:pointer; font-size:14px; line-height:20px; font-weight:600; }
.directory-type-filters label:has(input:checked) { background:#eff5ff; border-color:#9bbcf7; color:#165df5; }
.directory-type-filters input { width:16px; height:16px; margin:0; accent-color:#165df5; cursor:pointer; }
.directory-type-filters label:focus-within { outline:3px solid #a8c6ff; outline-offset:3px; }
.country-directory-card[data-destination-kind="region"] .country-directory-name { -webkit-line-clamp:2; white-space:normal; }
.region-page-shell { --page-width:1280px; }
.region-page {
    --plan-card-width: 360px;
    --plan-card-gap: 14px;
    --plan-group-width: calc(3 * var(--plan-card-width) + 2 * var(--plan-card-gap));
    width:100%;
    margin:16px auto 0;
    gap:0;
    padding:0 0 76px;
    color:var(--ink);
}
.region-page [hidden] { display:none !important; }
.region-hero { gap:15px; margin:5px 0; }
.region-heading { flex-direction:row; align-items:center; gap:14px; min-width:0; }
.region-heading .country-detail-title { min-width:0; overflow-wrap:anywhere; }
.region-hero__icon { font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
.region-coverage > h2, .region-plans__heading > h2 { margin:0 0 10px; font-size:clamp(23px,3vw,30px); letter-spacing:-.035em; }
.region-muted { color:#637187; font-size:14px; line-height:1.65; }
.region-coverage, .region-plans { width:min(100%,calc(var(--plan-group-width) + 8px)); justify-self:center; padding-inline:4px; }
.region-coverage { padding-top:35px; }
.region-variants { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--plan-card-width)),1fr)); grid-auto-rows:1fr; align-items:stretch; min-width:0; border:0; margin:22px 0 0; padding:0; }
.region-variant { display:grid; grid-template-rows:1fr auto; gap:0; min-width:0; }
.region-variant.is-selected .region-variant__choice { border-color:rgba(37,99,235,.5); background:rgba(255,255,255,.98); box-shadow:none; }
.region-variant__choice { display:grid; width:100%; min-height:88px; padding:18px 16px; border-radius:16px 16px 0 0; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:10px; cursor:pointer; }
.region-variant__choice:has(input:focus-visible) { outline:3px solid #a8c6ff; outline-offset:3px; }
.region-variant__choice input { width:18px; height:18px; margin:0; accent-color:var(--primary); }
.region-variant__choice > .plan-card-subprice { grid-column:3; }
.region-variant__name { display:grid; gap:5px; min-width:0; }
.region-variant__name strong { font-family:var(--display-font); font-size:clamp(1.36rem,1.36vw,1.6rem); font-weight:800; line-height:1; letter-spacing:-.03em; }
.region-variant__name small { color:var(--muted); font-size:12px; }
.region-countries-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin:0; padding:10px 16px; border:1px solid #dce3eb; border-radius:12px; background:rgba(255,255,255,.72); color:var(--muted); font:inherit; font-size:13px; font-weight:600; text-align:center; cursor:pointer; }
.region-countries-button:hover { color:var(--primary); border-color:rgba(37,99,235,.3); background:#fff; }
.region-countries-button:focus-visible, .region-checkout__close:focus-visible { outline:3px solid #a8c6ff; outline-offset:3px; border-radius:4px; }
.region-variant > .region-countries-button { border-top:0; border-color:rgba(191,219,254,.88); border-radius:0 0 16px 16px; }
.region-variant.is-selected > .region-countries-button { border-color:rgba(37,99,235,.5); }
.region-page summary:not(.faq-question), .region-checkout summary { cursor:pointer; color:var(--muted); font-weight:500; font-size:13px; padding:12px 0 3px; }
.region-page summary:not(.faq-question):hover, .region-checkout summary:hover { color:var(--primary); }
.region-page summary:focus-visible, .region-checkout summary:focus-visible { outline:3px solid #a8c6ff; outline-offset:3px; border-radius:4px; }
.region-countries { list-style:none; padding:0; margin:13px 0 0; max-height:260px; overflow:auto; overscroll-behavior:contain; }
.region-countries li { display:flex; flex-direction:column; gap:4px; padding:9px 0; font-size:13px; line-height:1.45; border-bottom:1px solid #e8edf3; }
.region-countries small { color:#637187; font-size:12px; }
.region-plans { margin-top:44px; }
.region-plans__heading { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; }
.region-plan-group { margin:22px 0 0; justify-self:start; }
.region-plan-section-title { margin:0 0 18px; color:var(--ink); font-size:1.02rem; font-weight:700; }
.region-unlimited-plans { margin-top:30px; padding-top:24px; border-top:1px solid rgba(191,219,254,.72); }
.region-supporting-sections { display:grid; gap:56px; margin-top:56px; }
.region-faq .faq-question { list-style:none; }
.region-faq .faq-question::-webkit-details-marker { display:none; }
.region-faq .faq-item[open] .faq-question::after { content:"−"; }
.region-faq .faq-item[open] .faq-answer { display:block; }
.region-network-list > p { font-size:12px; line-height:1.5; color:var(--muted); }
.region-checkout { width:min(520px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; box-sizing:border-box; padding:32px; border:1px solid #dce3eb; border-radius:24px; box-shadow:0 25px 70px #14223830; color:#142238; background:#fff; }
.region-checkout::backdrop { background:#14223870; backdrop-filter:blur(4px); }
.region-checkout__close { position:absolute; right:17px; top:13px; border:0; background:none; color:#637187; font-size:28px;line-height:1.2; width:36px; height:36px; cursor:pointer; }
.region-checkout h2 { margin:12px 0; font-size:30px; letter-spacing:-.035em; }
#region-checkout-price { display:block; font-size:30px; margin:12px 0; }
.region-checkout form { display:flex; flex-direction:column; gap:12px; margin-top:24px; }
.region-checkout label { font-size:14px; font-weight:650; }
.region-checkout input { border:1px solid #cbd5e1; border-radius:12px; padding:14px; width:100%; box-sizing:border-box; font:inherit; }
.region-checkout input:focus { outline:3px solid #a8c6ff; border-color:#165df5; }
.region-checkout__legal { font-size:11px; color:#637187; line-height:1.65; margin:0; }
#region-checkout-error { color:#b42318; font-size:13px; margin:0; }
body:has(#region-coverage-dialog[open]) { overflow:hidden; }
.region-coverage-dialog { width:min(520px,calc(100vw - 32px)); height:min(620px,calc(100dvh - 40px)); padding:28px; overflow:hidden; }
.region-coverage-dialog[open] { display:flex; flex-direction:column; }
.region-coverage-dialog [hidden] { display:none !important; }
.region-coverage-dialog .region-checkout__close { width:44px; height:44px; top:8px; right:10px; }
.region-coverage-dialog__header { padding-right:28px; flex:none; }
.region-coverage-dialog h2 { margin:0 0 10px; font-size:24px; line-height:1.3; }
.region-coverage-dialog__search { margin-top:22px; flex:none; }
.region-coverage-dialog__count { margin:16px 0 6px; color:var(--muted); font-size:12px; flex:none; }
.region-coverage-dialog__results { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.region-coverage-dialog .region-countries { margin:0; max-height:none; overflow:visible; }
.region-coverage-dialog .region-countries li { flex-direction:row; align-items:center; gap:12px; min-height:48px; padding:12px 0; font-size:14px; }
.region-coverage-dialog__flag { flex:none; width:26px; font-size:22px; line-height:1; }
.region-coverage-dialog__empty { margin:28px 0; color:var(--muted); font-size:14px; line-height:1.7; }
@media(max-width:680px) {
    .region-supporting-sections { gap:42px; margin-top:42px; }
}
@media(max-width:600px) {
    .region-plans__heading { gap:6px 14px; }
    .region-checkout { padding:26px 22px; }
}
@media(prefers-reduced-motion:reduce) { .region-variant { transition:none; } }
