.hg-country-v2 {
    --hg-cp-ink: #10213a;
    --hg-cp-text: #40536d;
    --hg-cp-muted: #6c7f96;
    --hg-cp-blue: #199fe3;
    --hg-cp-blue-dark: #087fc2;
    --hg-cp-blue-soft: #eaf8ff;
    --hg-cp-line: #dceaf3;
    --hg-cp-surface: #ffffff;
    --hg-cp-soft: #f5fbff;
    --hg-cp-shadow: 0 18px 48px rgba(29, 88, 128, .1);
    color: var(--hg-cp-text);
    background: #fff;
    overflow: clip;
}

.hg-country-v2 *,
.hg-country-v2 *::before,
.hg-country-v2 *::after { box-sizing: border-box; }

.hg-country-v2 :is(h1, h2, h3, p, ul, ol, dl, dd) { margin-top: 0; }
.hg-country-v2 :is(h1, h2, h3, strong) { color: var(--hg-cp-ink); }
.hg-country-v2 :is(button, select, a) { font: inherit; }
.hg-country-v2 button { font-weight: 600; }
.hg-country-v2 a { text-decoration: none; }

.hg-country-v2__hero {
    padding: 22px 0 38px;
    background:
        radial-gradient(circle at 90% 0, rgba(92, 197, 244, .17), transparent 31%),
        linear-gradient(180deg, #f7fcff 0%, #fff 100%);
}

.hg-country-v2__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 28px;
    margin-bottom: 16px;
    color: var(--hg-cp-muted);
    font-size: 13px;
}

.hg-country-v2__breadcrumbs a { color: #397093; }
.hg-country-v2__breadcrumbs a:hover { color: var(--hg-cp-blue-dark); }

.hg-country-v2__hero-shell {
    display: grid;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    min-height: 310px;
    border: 1px solid rgba(85, 170, 217, .2);
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--hg-cp-shadow);
    overflow: hidden;
}

.hg-country-v2__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(30px, 4vw, 54px);
    position: relative;
    z-index: 2;
}

.hg-country-v2__country-label {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    color: #35708f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
}

.hg-country-v2__flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid rgba(16, 33, 58, .12);
    border-radius: 6px;
    background: #f7fafc;
}

.hg-country-v2__flag img { display: block; object-fit: cover; }
.hg-country-v2__flag-code { display: grid; place-items: center; min-width: 30px; min-height: 22px; padding: 2px 4px; color: #48647a; font-size: 9px; font-weight: 700; letter-spacing: .08em; }

.hg-country-v2__hero h1 {
    margin-bottom: 13px;
    color: var(--hg-cp-ink);
    font-size: clamp(34px, 3.1vw, 40px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.hg-country-v2__hero-support {
    max-width: 530px;
    margin-bottom: 18px;
    color: var(--hg-cp-text);
    font-size: 15px;
    line-height: 1.65;
}

.hg-country-v2__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    padding: 0;
    margin-bottom: 0;
    list-style: none;
}

.hg-country-v2__benefits li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #4d637a;
    font-size: 12px;
    font-weight: 600;
}

.hg-country-v2__benefits li span {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #087f63;
    background: #e4f8f1;
    font-size: 11px;
}

.hg-country-v2__hero-media { position: relative; min-height: 310px; overflow: hidden; }
.hg-country-v2__hero-media::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 22%;
    z-index: 1;
    background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0));
}
.hg-country-v2__hero-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hg-country-v2__image-note {
    position: absolute;
    right: 16px;
    bottom: 14px;
    z-index: 2;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    color: #fff;
    background: rgba(8, 31, 49, .48);
    backdrop-filter: blur(8px);
    font-size: 11px;
    font-weight: 600;
}

.hg-country-v2__shop,
.hg-country-v2__content,
.hg-country-v2__steps,
.hg-country-v2__faq,
.hg-country-v2__explore { padding: clamp(52px, 6vw, 82px) 0; }
.hg-country-v2__shop { padding-top: 26px; background: #fff; }
.hg-country-v2__content,
.hg-country-v2__faq { background: var(--hg-cp-soft); }

.hg-country-v2__section-heading { margin-bottom: 24px; }
.hg-country-v2__section-heading > span,
.hg-country-v2__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--hg-cp-blue-dark);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.hg-country-v2__section-heading h2,
.hg-country-v2__content-copy > h2 {
    margin-bottom: 7px;
    color: var(--hg-cp-ink);
    font-size: clamp(27px, 2.6vw, 34px);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.18;
}
.hg-country-v2__section-heading p { margin-bottom: 0; color: var(--hg-cp-muted); font-size: 14px; }

.hg-country-v2__shop-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
    gap: 24px;
    align-items: start;
}

.hg-country-v2__filters {
    display: grid;
    grid-template-columns: minmax(130px, .85fr) minmax(300px, 1.6fr) auto auto;
    gap: 9px;
    align-items: end;
    padding: 10px;
    margin-bottom: 16px;
    border: 1px solid var(--hg-cp-line);
    border-radius: 16px;
    background: #f9fcfe;
}
.hg-country-v2__data-filter { display: grid; gap: 4px; margin: 0; }
.hg-country-v2__data-filter > span { color: var(--hg-cp-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.hg-country-v2__data-filter select {
    width: 100%;
    min-height: 42px;
    padding: 8px 30px 8px 11px;
    border: 1px solid #cddfe9;
    border-radius: 11px;
    color: var(--hg-cp-ink);
    background: #fff;
    font-size: 12px;
    font-weight: 600;
}
.hg-country-v2__coverage-filter { display: flex; gap: 6px; }
.hg-country-v2__coverage-filter button,
.hg-country-v2__reset {
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid #cddfe9;
    border-radius: 11px;
    color: #53687e;
    background: #fff;
    font-size: 11px;
    line-height: 1.15;
}
.hg-country-v2__coverage-filter button { flex: 1 1 auto; }
.hg-country-v2__coverage-filter button.is-active {
    color: #fff;
    border-color: var(--hg-cp-blue);
    background: linear-gradient(135deg, #17a5e8, #3bb8ee);
}
.hg-country-v2__reset:hover { border-color: #9abfd3; color: var(--hg-cp-ink); }
.hg-country-v2__filter-count {
    align-self: center;
    min-width: 52px;
    color: var(--hg-cp-muted);
    font-size: 11px;
    text-align: right;
}

.hg-country-v2__plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.hg-country-v2__plan-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    min-height: 112px;
    padding: 14px 42px 13px 15px;
    margin: 0;
    border: 1px solid var(--hg-cp-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(26, 72, 104, .055);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hg-country-v2__plan-card:hover { transform: translateY(-1px); border-color: #a8d5ea; box-shadow: 0 12px 24px rgba(24, 108, 158, .1); }
.hg-country-v2__plan-card:focus-within { outline: 3px solid rgba(25, 159, 227, .22); outline-offset: 2px; }
.hg-country-v2__plan-card.is-selected { border-color: var(--hg-cp-blue); background: linear-gradient(145deg, #fff, #f0faff); box-shadow: 0 12px 28px rgba(25, 159, 227, .15); }
.hg-country-v2__plan-primary { display: grid; align-content: start; }
.hg-country-v2__plan-primary strong { font-size: 19px; font-weight: 600; line-height: 1.05; }
.hg-country-v2__plan-primary > span { margin-top: 4px; color: var(--hg-cp-muted); font-size: 12px; }
.hg-country-v2__plan-price { display: grid; align-content: start; justify-items: end; text-align: right; }
.hg-country-v2__plan-price strong { font-size: 15px; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.hg-country-v2__plan-price span { margin-top: 4px; color: var(--hg-cp-muted); font-size: 9px; }
.hg-country-v2__plan-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px 8px; color: #527087; font-size: 10.5px; line-height: 1.2; }
.hg-country-v2__plan-meta span + span::before { content: "·"; margin-right: 8px; color: #9cb1bf; }
.hg-country-v2__plan-check {
    position: absolute;
    right: 12px;
    top: 50%;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid #c9dbe5;
    border-radius: 50%;
    color: transparent;
    transform: translateY(-50%);
    font-size: 12px;
}
.hg-country-v2__plan-card.is-selected .hg-country-v2__plan-check { color: #fff; border-color: var(--hg-cp-blue); background: var(--hg-cp-blue); }
.hg-country-v2__empty { padding: 22px; border: 1px dashed #b9cfdb; border-radius: 14px; color: var(--hg-cp-muted); background: #f9fcfe; text-align: center; }

.hg-country-v2__summary { min-width: 0; }
.hg-country-v2__summary-card {
    position: sticky;
    top: 92px;
    padding: 18px;
    border: 1px solid var(--hg-cp-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--hg-cp-shadow);
}
.hg-country-v2__summary-empty {
    display: grid;
    place-items: center;
    min-height: 245px;
    padding: 28px 18px;
    color: var(--hg-cp-muted);
    text-align: center;
}
.hg-country-v2__summary-empty-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 13px;
    border: 1px solid #bcddeb;
    border-radius: 50%;
    color: var(--hg-cp-blue);
    background: var(--hg-cp-blue-soft);
}
.hg-country-v2__summary-empty strong { font-size: 17px; font-weight: 600; }
.hg-country-v2__summary-empty p { max-width: 220px; margin: 7px 0 0; font-size: 12px; line-height: 1.55; }
.hg-country-v2__summary-country { display: flex; align-items: center; gap: 11px; padding-bottom: 14px; border-bottom: 1px solid var(--hg-cp-line); }
.hg-country-v2__summary-country > span:last-child { display: grid; }
.hg-country-v2__summary-country small { color: var(--hg-cp-muted); font-size: 10px; }
.hg-country-v2__summary-country strong { font-size: 14px; font-weight: 600; }
.hg-country-v2__summary-list { margin: 10px 0 0; }
.hg-country-v2__summary-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf3f6; }
.hg-country-v2__summary-list dt { color: var(--hg-cp-muted); font-size: 11px; font-weight: 400; }
.hg-country-v2__summary-list dd { color: var(--hg-cp-ink); font-size: 11.5px; font-weight: 600; text-align: right; }
.hg-country-v2__summary-total { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 14px 0 12px; }
.hg-country-v2__summary-total span { color: var(--hg-cp-muted); font-size: 11px; }
.hg-country-v2__summary-total strong { font-size: 20px; font-weight: 600; text-align: right; }
.hg-country-v2__purchase-button,
.hg-country-v2__mobile-bar button {
    min-height: 48px;
    border: 0;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #159de0, #39b8ee);
    box-shadow: 0 11px 22px rgba(25, 159, 227, .23);
}
.hg-country-v2__purchase-button { width: 100%; }
.hg-country-v2__purchase-button:hover,
.hg-country-v2__mobile-bar button:hover { background: linear-gradient(135deg, #087fc2, #159de0); }
.hg-country-v2__trust { display: grid; gap: 6px; margin-top: 12px; color: var(--hg-cp-muted); font-size: 10px; }
.hg-country-v2__trust span { display: flex; align-items: center; gap: 6px; }
.hg-country-v2__trust svg { width: 16px; height: 16px; fill: #159d82; }

.hg-country-v2__mobile-bar,
.hg-country-v2__mobile-bar[hidden] { display: none; }

.hg-country-v2__content-shell { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 58%); align-items: start; gap: clamp(28px, 5vw, 64px); }
.hg-country-v2__content-media { min-height: 330px; border-radius: 24px; overflow: hidden; box-shadow: var(--hg-cp-shadow); }
.hg-country-v2__content-media img { width: 100%; height: 100%; min-height: 330px; display: block; object-fit: cover; }
.hg-country-v2__content-copy > h2 { margin-bottom: 18px; }
.hg-country-v2__wysiwyg { color: var(--hg-cp-text); font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.hg-country-v2__wysiwyg :is(h2, h3, h4) { margin: 24px 0 10px; color: var(--hg-cp-ink); font-size: 21px; font-weight: 600; line-height: 1.3; }
.hg-country-v2__wysiwyg p { margin-bottom: 13px; }
.hg-country-v2__wysiwyg :is(ul, ol) { margin-bottom: 16px; padding-left: 22px; }
.hg-country-v2__wysiwyg img { max-width: 100%; height: auto; border-radius: 16px; }
.hg-country-v2__wysiwyg :is(table, iframe) { max-width: 100%; }

.hg-country-v2__steps ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 0; margin: 0; list-style: none; }
.hg-country-v2__steps li { padding: 22px; border: 1px solid var(--hg-cp-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(30, 78, 112, .055); }
.hg-country-v2__steps li > span { display: block; margin-bottom: 17px; color: var(--hg-cp-blue); font-size: 13px; font-weight: 700; }
.hg-country-v2__steps li strong { display: block; margin-bottom: 7px; font-size: 16px; font-weight: 600; }
.hg-country-v2__steps li p { margin-bottom: 0; color: var(--hg-cp-muted); font-size: 13px; line-height: 1.55; }

.hg-country-v2__faq-list { display: grid; gap: 10px; max-width: 900px; }
.hg-country-v2__faq-item { border: 1px solid var(--hg-cp-line); border-radius: 15px; background: #fff; overflow: hidden; }
.hg-country-v2__faq-item h3 { margin: 0; }
.hg-country-v2__faq-item button { display: flex; justify-content: space-between; gap: 14px; width: 100%; padding: 17px 18px; border: 0; color: var(--hg-cp-ink); background: #fff; text-align: left; font-size: 14px; }
.hg-country-v2__faq-item button span:last-child { color: var(--hg-cp-blue); font-size: 20px; line-height: .8; transition: transform .18s ease; }
.hg-country-v2__faq-item.is-open button span:last-child { transform: rotate(45deg); }
.hg-country-v2__faq-item [data-hg-faq-answer] { padding: 0 18px 17px; }
.hg-country-v2__faq-item p { margin-bottom: 0; color: var(--hg-cp-text); font-size: 13px; line-height: 1.65; }

.hg-country-v2__destination-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.hg-country-v2__destination-grid > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 54px; padding: 10px 12px; border: 1px solid var(--hg-cp-line); border-radius: 14px; color: var(--hg-cp-ink); background: #fff; font-size: 12px; font-weight: 600; }
.hg-country-v2__destination-grid > a:hover { border-color: #9ed3ea; background: var(--hg-cp-soft); }
.hg-country-v2__all-destinations { margin-top: 14px; border: 1px solid var(--hg-cp-line); border-radius: 14px; background: #fbfdff; }
.hg-country-v2__all-destinations summary { padding: 13px 15px; color: #3e6078; cursor: pointer; font-size: 12px; font-weight: 600; }
.hg-country-v2__all-destinations > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px 14px; padding: 4px 15px 16px; }
.hg-country-v2__all-destinations a { color: #4f6b80; font-size: 11px; line-height: 1.35; }
.hg-country-v2__all-destinations a:hover { color: var(--hg-cp-blue-dark); }
.hg-country-v2__view-all { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin-top: 17px; padding: 9px 15px; border-radius: 12px; color: #fff; background: var(--hg-cp-blue); font-size: 12px; font-weight: 600; }

.hg-country-v2__auth-gate { position: fixed; inset: 0; z-index: 10040; display: grid; place-items: center; padding: 18px; }
.hg-country-v2__auth-gate[hidden] { display: none; }
.hg-country-v2__auth-backdrop { position: absolute; inset: 0; background: rgba(7, 21, 34, .58); backdrop-filter: blur(3px); }
.hg-country-v2__auth-dialog { position: relative; width: min(100%, 420px); max-height: calc(100dvh - 30px); padding: 27px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 21px; background: #fff; box-shadow: 0 24px 70px rgba(6, 23, 37, .28); overflow-y: auto; text-align: center; }
.hg-country-v2__auth-close { position: absolute; top: 9px; right: 10px; display: grid; place-items: center; width: 38px; height: 38px; border: 0; color: #617689; background: transparent; font-size: 24px; }
.hg-country-v2__auth-icon { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 auto 14px; border-radius: 50%; color: #fff; background: var(--hg-cp-blue); }
.hg-country-v2__auth-dialog h2 { margin-bottom: 9px; font-size: 22px; font-weight: 600; }
.hg-country-v2__auth-dialog p { margin-bottom: 13px; color: var(--hg-cp-muted); font-size: 13px; line-height: 1.55; }
.hg-country-v2__auth-selected { padding: 9px 11px; border-radius: 10px; color: #3d6680; background: var(--hg-cp-blue-soft); font-size: 12px; }
.hg-country-v2__auth-error { margin-top: 9px; color: #a33d3d; font-size: 12px; }
.hg-country-v2__auth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 16px; }
.hg-country-v2__auth-actions button { min-height: 46px; border: 1px solid var(--hg-cp-blue); border-radius: 12px; color: #fff; background: var(--hg-cp-blue); }
.hg-country-v2__auth-actions button:last-child { color: var(--hg-cp-blue-dark); background: #fff; }
.hg-country-v2__auth-actions button:disabled { opacity: .58; cursor: wait; }
.hg-country-v2__auth-divider { display: flex; align-items: center; gap: 10px; margin: 15px 0; color: #91a2b1; font-size: 11px; text-transform: uppercase; }
.hg-country-v2__auth-divider::before,
.hg-country-v2__auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--hg-cp-line); }
.hg-country-v2__guest-open,
.hg-country-v2__guest-submit { width: 100%; min-height: 46px; border: 1px solid var(--hg-cp-blue); border-radius: 12px; color: #fff; background: linear-gradient(135deg, #159de0, #39b8ee); }
.hg-country-v2__guest-panel { text-align: left; }
.hg-country-v2__guest-panel h3 { margin: 7px 0 5px; font-size: 18px; font-weight: 600; }
.hg-country-v2__guest-panel > p { margin-bottom: 14px; }
.hg-country-v2__guest-panel label { display: grid; gap: 5px; margin-bottom: 11px; color: var(--hg-cp-ink); font-size: 11px; font-weight: 600; }
.hg-country-v2__guest-panel label small { color: var(--hg-cp-muted); font-weight: 400; }
.hg-country-v2__guest-panel input { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cddfe9; border-radius: 11px; color: var(--hg-cp-ink); background: #fff; font-size: 13px; font-weight: 400; }
.hg-country-v2__guest-panel input:focus { border-color: var(--hg-cp-blue); outline: 3px solid rgba(25,159,227,.14); outline-offset: 1px; }
.hg-country-v2__phone-group { display: flex; width: 100%; min-width: 0; border: 1px solid #cddfe9; border-radius: 11px; background: #fff; }
.hg-country-v2__phone-group:focus-within { border-color: var(--hg-cp-blue); outline: 3px solid rgba(25,159,227,.14); outline-offset: 1px; }
.hg-country-v2__phone-country-wrap { position: relative; flex: 0 0 42%; min-width: 0; border-right: 1px solid #cddfe9; }
.hg-country-v2__phone-country-display { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 0 28px 0 10px; overflow: hidden; color: var(--hg-cp-ink); font-size: 14px; font-weight: 600; white-space: nowrap; }
.hg-country-v2__phone-country-display { gap: 6px; }
.hg-country-v2__phone-country-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.hg-country-v2__phone-country-wrap::after { content: "⌄"; position: absolute; top: 50%; right: 9px; transform: translateY(-55%); color: var(--hg-cp-muted); pointer-events: none; }
.hg-country-v2__phone-country-wrap select { position: absolute; inset: 0; z-index: 2; width: 100%; min-height: 44px; opacity: 0; cursor: pointer; }
.hg-country-v2__guest-panel .hg-country-v2__phone-group input { flex: 1 1 auto; min-width: 0; width: auto; border: 0; border-radius: 0 11px 11px 0; outline: 0; font-size: 16px; }
.hg-country-v2__guest-panel .hg-country-v2__phone-group input:focus { border: 0; outline: 0; }
.hg-country-v2__phone-group.is-invalid { border-color: #d93025; outline: 3px solid rgba(217,48,37,.12); outline-offset: 1px; }
.hg-country-v2__guest-panel .hg-country-v2__phone-error { color: #b3261e; font-weight: 500; }
.hg-country-v2__guest-back { min-height: 36px; padding: 4px 0; border: 0; color: var(--hg-cp-blue-dark); background: transparent; font-size: 12px; }
.hg-country-v2__guest-submit { margin-top: 3px; }
.hg-country-v2__guest-submit:disabled { opacity: .58; cursor: wait; }
.hg-country-v2-active { overflow-x: hidden; }
.hg-country-v2-active.hg-country-v2-modal-open { overflow: hidden; }
.hg-country-v2-active .hg-breadcrumb-compact { display: none; }

@media (min-width: 768px) {
    .hg-country-v2__hero-shell { height: 330px; min-height: 0; }
    .hg-country-v2__hero-media { height: 330px; min-height: 0; }
    .hg-country-v2__hero-shell.is-long-name .hg-country-v2__hero-copy { padding: 18px clamp(27px, 3vw, 40px); }
    .hg-country-v2__hero-shell.is-long-name h1 { margin-bottom: 8px; font-size: 30px; line-height: 1.05; }
    .hg-country-v2__hero-shell.is-long-name .hg-country-v2__hero-support { margin-bottom: 9px; font-size: 12.5px; line-height: 1.45; }
    .hg-country-v2__hero-shell.is-long-name .hg-country-v2__benefits { gap: 5px 9px; }
    .hg-country-v2__hero-shell.is-long-name .hg-country-v2__benefits li { font-size: 9.5px; }
    .hg-country-v2__hero-shell.is-long-name .hg-country-v2__benefits li span { width: 16px; height: 16px; font-size: 9px; }
}

@media (max-width: 1199.98px) {
    .hg-country-v2__filters { grid-template-columns: minmax(130px, .75fr) minmax(260px, 1.6fr) auto; }
    .hg-country-v2__filter-count { grid-column: 1 / -1; text-align: left; }
    .hg-country-v2__destination-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .hg-country-v2__all-destinations > div { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
    .page-wrapper > .hg-country-v2 { margin-top: 0; }
    .hg-country-v2__hero-shell { grid-template-columns: 47% 53%; }
    .hg-country-v2__hero-copy { padding: 30px; }
    .hg-country-v2__hero h1 { font-size: 32px; }
    .hg-country-v2__shop-layout { grid-template-columns: 1fr; }
    .hg-country-v2__summary-card { position: static; }
    .hg-country-v2__content-shell { grid-template-columns: 1fr 1fr; gap: 28px; }
    .hg-country-v2__destination-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hg-country-v2__all-destinations > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .hg-country-v2__hero { padding: 12px 0 18px; }
    .hg-country-v2__breadcrumbs { margin-bottom: 8px; font-size: 11px; }
    .hg-country-v2__hero-shell { display: flex; flex-direction: column; min-height: 0; border-radius: 21px; }
    .hg-country-v2__hero-copy { padding: 18px 18px 14px; }
    .hg-country-v2__country-label { margin-bottom: 7px; font-size: 10px; }
    .hg-country-v2__hero h1 { margin-bottom: 7px; font-size: clamp(24px, 6.8vw, 27px); }
    .hg-country-v2__hero-support { margin-bottom: 10px; font-size: 12.5px; line-height: 1.45; }
    .hg-country-v2__benefits { gap: 5px 8px; }
    .hg-country-v2__benefits li { font-size: 9.5px; }
    .hg-country-v2__hero-media { flex: 0 0 160px; height: 160px; min-height: 160px; max-height: 160px; }
    .hg-country-v2__hero-media::before { inset: 0 0 auto; width: auto; height: 18%; background: linear-gradient(180deg, #fff, rgba(255,255,255,0)); }
    .hg-country-v2__image-note { right: 10px; bottom: 9px; font-size: 9px; }
    .hg-country-v2__shop,
    .hg-country-v2__content,
    .hg-country-v2__steps,
    .hg-country-v2__faq,
    .hg-country-v2__explore { padding: 44px 0; }
    .hg-country-v2__shop { padding-top: 14px; }
    .hg-country-v2__section-heading { margin-bottom: 18px; }
    .hg-country-v2__section-heading h2,
    .hg-country-v2__content-copy > h2 { font-size: 26px; }
    .hg-country-v2__filters { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; padding: 9px; }
    .hg-country-v2__coverage-filter { grid-column: 1 / -1; }
    .hg-country-v2__coverage-filter button { min-width: 0; padding-inline: 7px; font-size: 10px; }
    .hg-country-v2__reset { min-width: 68px; }
    .hg-country-v2__filter-count { grid-column: 1 / -1; }
    .hg-country-v2__plan-grid { grid-template-columns: 1fr; gap: 9px; }
    .hg-country-v2__plan-card { min-height: 98px; padding: 12px 39px 11px 13px; }
    .hg-country-v2__plan-primary strong { font-size: 18px; }
    .hg-country-v2__plan-meta { font-size: 10px; }
    .hg-country-v2__mobile-bar:not([hidden]) {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10010;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 74px;
        padding: 9px max(12px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
        border-top: 1px solid var(--hg-cp-line);
        background: rgba(255,255,255,.96);
        box-shadow: 0 -10px 30px rgba(19, 59, 87, .12);
        backdrop-filter: blur(12px);
    }
    .hg-country-v2__summary { display: none; }
    .hg-country-v2__mobile-bar > span { display: grid; min-width: 0; }
    .hg-country-v2__mobile-bar strong { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
    .hg-country-v2__mobile-bar small { margin-top: 3px; color: var(--hg-cp-muted); font-size: 11px; }
    .hg-country-v2__mobile-bar button { flex: 0 0 auto; min-width: 108px; min-height: 46px; padding: 9px 15px; }
    .hg-country-v2__guest-panel input { font-size: 16px; }
    .hg-country-v2__phone-country-wrap { flex-basis: 112px; }
    .hg-country-v2__phone-country-name { display: none; }
    .hg-country-v2-active .whatsapp-float { bottom: calc(88px + env(safe-area-inset-bottom)) !important; }
    .hg-country-v2-active .scroll-top { bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
    .hg-country-v2__content-shell { grid-template-columns: 1fr; gap: 0; }
    .hg-country-v2__content-copy { display: contents; }
    .hg-country-v2__content-copy > .hg-country-v2__eyebrow { order: 1; }
    .hg-country-v2__content-copy > h2 { order: 2; margin-bottom: 14px; }
    .hg-country-v2__content-media { order: 3; margin-bottom: 22px; }
    .hg-country-v2__content-copy > .hg-country-v2__wysiwyg { order: 4; }
    .hg-country-v2__content-media,
    .hg-country-v2__content-media img { min-height: 220px; max-height: 280px; }
    .hg-country-v2__steps ol { grid-template-columns: 1fr; gap: 10px; }
    .hg-country-v2__steps li { padding: 18px; }
    .hg-country-v2__destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hg-country-v2__all-destinations > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 389.98px) {
    .hg-country-v2__hero-copy { padding-inline: 18px; }
    .hg-country-v2__benefits { display: grid; grid-template-columns: 1fr 1fr; }
    .hg-country-v2__coverage-filter { display: grid; grid-template-columns: 1fr 1fr 58px; }
    .hg-country-v2__plan-price strong { font-size: 14px; }
    .hg-country-v2__plan-meta span:last-child { display: none; }
    .hg-country-v2__destination-grid { grid-template-columns: 1fr; }
    .hg-country-v2__auth-dialog { padding: 25px 18px 19px; }
    .hg-country-v2__auth-dialog { max-height: calc(100dvh - 18px); }
    .hg-country-v2__auth-actions { grid-template-columns: 1fr; }
    .hg-country-v2__phone-country-wrap { flex-basis: 102px; }
    .hg-country-v2__phone-country-display { padding-left: 8px; font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .hg-country-v2 *,
    .hg-country-v2 *::before,
    .hg-country-v2 *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* HEYGLOBEL_COUNTRY_V23_PKR_USD_REFERENCE
   Passive canonical USD reference for plans whose primary display is PKR.
   Pricing/FX calculations remain server-authoritative. */

.hg-country-v2__plan-price .hg-country-v2__price-reference {
    display: block;
    margin-top: 3px;
    color: var(--hg-cp-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.hg-country-v2 [data-hg-summary-price-reference],
.hg-country-v2 [data-hg-mobile-price-reference] {
    display: block;
    margin-top: 2px;
    color: var(--hg-cp-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
}

.hg-country-v2 [data-hg-summary-price-reference][hidden],
.hg-country-v2 [data-hg-mobile-price-reference][hidden] {
    display: none !important;
}

@media (max-width: 767.98px) {
    .hg-country-v2__plan-price .hg-country-v2__price-reference,
    .hg-country-v2 [data-hg-mobile-price-reference] {
        font-size: 10px;
    }
}


/* HEYGLOBEL_PAKISTAN_PLAN_CARD_BACKGROUND_SCOPE_FIX_V1
   Card-only presentation. The surrounding page retains the original V2 backgrounds. */

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge .hg-country-v2__plan-primary {
    padding-top: 25px;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__pakistan-plan-badge {
    position: absolute;
    top: 11px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: calc(100% - 58px);
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    transform-origin: left center;
    backface-visibility: hidden;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.is-pakistan-superb {
    border-color: rgba(16, 151, 111, .38);
    background:
        radial-gradient(circle at 92% 12%, rgba(74, 202, 179, .12), transparent 38%),
        linear-gradient(135deg, #fff 0%, #f2fcf8 45%, #ddf7ee 100%);
    box-shadow: 0 8px 22px rgba(16, 133, 101, .1);
}

.hg-country-v2[data-country-slug="pakistan"] .is-pakistan-superb .hg-country-v2__pakistan-plan-badge {
    --hg-pakistan-badge-glow: rgba(16, 151, 111, .22);
    color: #096347;
    border-color: #9bdcc6;
    background: #e4f8f0;
    animation: hgPakistanBadgeAttention 3.6s cubic-bezier(.22, .75, .25, 1) infinite;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.is-pakistan-recommended {
    border-color: rgba(12, 146, 207, .52);
    background:
        radial-gradient(circle at 92% 12%, rgba(60, 185, 231, .14), transparent 38%),
        linear-gradient(135deg, #fff 0%, #eef8fd 50%, #cae7f7 100%);
    box-shadow: 0 10px 26px rgba(12, 136, 194, .14);
}

.hg-country-v2[data-country-slug="pakistan"] .is-pakistan-recommended .hg-country-v2__pakistan-plan-badge {
    --hg-pakistan-badge-glow: rgba(12, 146, 207, .24);
    color: #075f8e;
    border-color: #96d7ee;
    background: #e4f6fd;
    animation: hgPakistanBadgeAttention 3.6s cubic-bezier(.22, .75, .25, 1) 1.8s infinite;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge.is-selected {
    border-color: #087fc2;
    box-shadow: 0 0 0 2px rgba(25, 159, 227, .19), 0 14px 30px rgba(15, 126, 184, .18);
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge {
    isolation: isolate;
    overflow: hidden;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge::before {
    content: "";
    position: absolute;
    top: -34px;
    right: -28px;
    z-index: 0;
    width: 104px;
    height: 104px;
    border: 1px solid rgba(27, 155, 201, .1);
    border-radius: 50%;
    opacity: .28;
    background: rgba(255, 255, 255, .5);
    pointer-events: none;
}

.hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge > :is(
    .hg-country-v2__pakistan-plan-badge,
    .hg-country-v2__plan-primary,
    .hg-country-v2__plan-price,
    .hg-country-v2__plan-meta,
    .hg-country-v2__plan-check
) {
    z-index: 1;
}

@keyframes hgPakistanBadgeAttention {
    0%,
    38%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
        box-shadow: 0 0 0 0 transparent;
    }

    10% {
        transform: translate3d(0, -1px, 0) scale(1.035);
        box-shadow:
            0 0 0 4px var(--hg-pakistan-badge-glow),
            0 5px 14px var(--hg-pakistan-badge-glow);
    }

    22% {
        transform: translate3d(0, 0, 0) scale(1.012);
        box-shadow:
            0 0 0 2px var(--hg-pakistan-badge-glow),
            0 3px 9px var(--hg-pakistan-badge-glow);
    }
}

@media (max-width: 767.98px) {
    .hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__pakistan-plan-badge {
        top: 10px;
        left: 11px;
        max-width: calc(100% - 43px);
        padding: 4px 6px;
        font-size: 10px;
    }

    .hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__plan-card.has-pakistan-badge .hg-country-v2__plan-primary {
        padding-top: 25px;
        padding-right: 0;
    }
}

@media (max-width: 374.98px) {
    .hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__pakistan-plan-badge {
        left: 9px;
        padding-inline: 5px;
        font-size: 9.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hg-country-v2[data-country-slug="pakistan"] .hg-country-v2__pakistan-plan-badge {
        animation: none !important;
        transform: none !important;
        box-shadow: none !important;
    }
}


/* HEYGLOBEL_COUNTRY_V24_MOBILE_HERO_COMPACT
   Mobile <=767.98px only.
   Reduces Country V2 hero vertical footprint.
   Desktop/tablet >=768px intentionally unchanged.
   No business, pricing, checkout or tracking behavior. */


/* HEYGLOBEL_COUNTRY_V25_MOBILE_TWO_COLUMN
   Mobile Country Plan cards use a compact two-column layout.
   No plan/price/checkout/business behavior is changed.
   Refundability remains a backend property but is intentionally omitted
   from the plan-card presentation. */

@media (max-width: 767.98px) {

    .hg-country-v2__plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .hg-country-v2__plan-card {
        grid-template-columns: minmax(0, 1fr);
        grid-auto-rows: auto;
        align-content: start;
        min-width: 0;
        min-height: 168px;
        padding: 14px 12px 13px;
        border-radius: 16px;
    }

    .hg-country-v2__plan-primary {
        min-width: 0;
        padding-right: 25px;
    }

    .hg-country-v2__plan-primary strong {
        display: block;
        font-size: clamp(18px, 5.2vw, 21px);
        font-weight: 600;
        line-height: 1.05;
        white-space: nowrap;
    }

    .hg-country-v2__plan-primary > span {
        display: block;
        margin-top: 5px;
        font-size: 11px;
        line-height: 1.25;
    }

    .hg-country-v2__plan-price {
        grid-column: 1;
        min-width: 0;
        margin-top: 12px;
        text-align: left;
    }

    .hg-country-v2__plan-price strong {
        display: block;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.15;
        white-space: nowrap;
    }

    .hg-country-v2__plan-price .hg-country-v2__price-reference {
        margin-top: 3px;
        font-size: 9.5px;
        line-height: 1.15;
    }

    /* "Total price" is unnecessary inside the compact mobile card. */
    .hg-country-v2__plan-price > span {
        display: none;
    }

    .hg-country-v2__plan-meta {
        grid-column: 1;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px;
        margin-top: 11px;
        font-size: 9px;
        line-height: 1.15;
    }

    .hg-country-v2__plan-meta span,
    .hg-country-v2__plan-meta span:last-child {
        display: inline-flex;
        align-items: center;
        width: auto;
        padding: 4px 6px;
        border-radius: 999px;
        background: #f0f8f5;
        white-space: nowrap;
    }

    .hg-country-v2__plan-meta span + span::before {
        display: none;
        content: none;
        margin: 0;
    }

    /*
     * Existing control remains the selector.
     * We only move its visual position for the narrower two-column card.
     */
    .hg-country-v2__plan-check {
        top: 12px;
        right: 10px;
        transform: none;
    }
}

@media (max-width: 374.98px) {

    .hg-country-v2__plan-grid {
        gap: 8px;
    }

    .hg-country-v2__plan-card {
        min-height: 164px;
        padding: 12px 10px;
    }

    .hg-country-v2__plan-primary {
        padding-right: 22px;
    }

    .hg-country-v2__plan-primary strong {
        font-size: 18px;
    }

    .hg-country-v2__plan-price strong {
        font-size: 13px;
    }

    .hg-country-v2__plan-meta {
        gap: 4px;
        font-size: 8.5px;
    }

    .hg-country-v2__plan-meta span,
    .hg-country-v2__plan-meta span:last-child {
        padding: 3px 5px;
    }
}


/* HEYGLOBEL_COUNTRY_V26_MOBILE_FILTER_DENSITY
   Compact mobile heading/filter presentation only.
   Keeps all filter functionality, plan logic, prices, checkout,
   tracking and two-column plan cards unchanged.
   Touch controls remain >=44px. */

@media (max-width: 767.98px) {

    /*
     * Bring plan discovery closer to the hero.
     */
    .hg-country-v2__shop {
        padding-top: 10px;
    }

    /*
     * Compact heading:
     *
     * CHOOSE YOUR ESIM
     * Plans for Pakistan          34 active plans available
     */
    .hg-country-v2__section-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        column-gap: 8px;
        row-gap: 2px;
        margin-bottom: 10px;
    }

    .hg-country-v2__section-heading > span {
        grid-column: 1 / -1;
        margin-bottom: 1px;
        font-size: 9.5px;
        line-height: 1.15;
        letter-spacing: .09em;
    }

    .hg-country-v2__section-heading h2 {
        grid-column: 1;
        margin: 0;
        font-size: 22px;
        line-height: 1.08;
        letter-spacing: -.02em;
    }

    .hg-country-v2__section-heading p {
        grid-column: 2;
        align-self: center;
        margin: 0;
        font-size: 9.5px;
        line-height: 1.15;
        white-space: nowrap;
    }

    /*
     * Compact filter box.
     *
     * DATA   [ Any Data ]
     * [ Country Only ][ Country + More ][ All ]
     * [ Reset ]                         7 plans
     */
    .hg-country-v2__filters {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px 8px;
        padding: 7px;
        margin-bottom: 10px;
        border-radius: 14px;
    }

    /*
     * Put DATA label and select on the SAME row.
     */
    .hg-country-v2__data-filter {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        margin: 0;
    }

    .hg-country-v2__data-filter > span {
        margin: 0;
        font-size: 9px;
        line-height: 1;
        white-space: nowrap;
    }

    .hg-country-v2__data-filter select {
        min-height: 44px;
        height: 44px;
        padding: 7px 30px 7px 10px;
        border-radius: 10px;
        font-size: 11.5px;
        line-height: 1.1;
    }

    /*
     * Coverage remains fully functional but becomes one compact row.
     */
    .hg-country-v2__coverage-filter {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            58px;
        gap: 6px;
    }

    .hg-country-v2__coverage-filter button {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        height: 44px;
        padding: 6px 5px;
        border-radius: 10px;
        font-size: 9.5px;
        line-height: 1.05;
        white-space: nowrap;
    }

    /*
     * Reset and live filtered-plan count share one row instead of
     * occupying separate full-width rows.
     */
    .hg-country-v2__reset {
        grid-column: 1;
        justify-self: start;
        width: auto;
        min-width: 76px;
        min-height: 44px;
        height: 44px;
        padding: 6px 12px;
        border-radius: 10px;
        font-size: 10px;
        line-height: 1;
    }

    .hg-country-v2__filter-count {
        grid-column: 2;
        justify-self: end;
        align-self: center;
        min-width: 0;
        font-size: 10px;
        line-height: 1.1;
        text-align: right;
        white-space: nowrap;
    }

    /*
     * Keep V2.5 two-card mobile grid intact.
     */
    .hg-country-v2__plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/*
 * Extra narrow phones: retain two columns and usable 44px controls.
 */
@media (max-width: 374.98px) {

    .hg-country-v2__section-heading {
        column-gap: 6px;
    }

    .hg-country-v2__section-heading h2 {
        font-size: 20.5px;
    }

    .hg-country-v2__section-heading p {
        font-size: 8.5px;
    }

    .hg-country-v2__filters {
        gap: 5px 6px;
        padding: 6px;
    }

    .hg-country-v2__data-filter {
        gap: 6px;
    }

    .hg-country-v2__coverage-filter {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            54px;
        gap: 5px;
    }

    .hg-country-v2__coverage-filter button {
        padding-inline: 3px;
        font-size: 8.8px;
    }
}


/* HEYGLOBEL_COUNTRY_V27_MOBILE_ULTRA_COMPACT
   Final mobile-only density pass for Country Plan discovery.
   Presentation only.
   All filters, plan selection, pricing, guest checkout and tracking remain
   on their existing authoritative contracts. */

@media (max-width: 767.98px) {

    /* Section begins sooner after compact hero. */
    .hg-country-v2__shop {
        padding-top: 6px;
    }

    /* ----------------------------------------------------------
       SECTION HEADING
       ---------------------------------------------------------- */

    .hg-country-v2__section-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        column-gap: 7px;
        row-gap: 0;
        margin-bottom: 6px;
    }

    .hg-country-v2__section-heading > span {
        grid-column: 1 / -1;
        margin: 0 0 2px;
        font-size: 8.5px;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: .085em;
    }

    .hg-country-v2__section-heading h2 {
        grid-column: 1;
        margin: 0;
        font-size: 20.5px;
        font-weight: 600;
        line-height: 1.05;
        letter-spacing: -.018em;
    }

    .hg-country-v2__section-heading p {
        grid-column: 2;
        align-self: center;
        margin: 0;
        font-size: 8.5px;
        font-weight: 400;
        line-height: 1.05;
        white-space: nowrap;
    }

    /* ----------------------------------------------------------
       FILTER BOX

       ROW 1:
       DATA [ Any Data                 ] [ Reset ]

       ROW 2:
       [ Country Only ][ Country + More ][ All ]

                                      7 plans
       ---------------------------------------------------------- */

    .hg-country-v2__filters {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 4px 6px;
        padding: 5px 6px 6px;
        margin-bottom: 7px;
        border-radius: 12px;
    }

    .hg-country-v2__data-filter {
        grid-column: 1;
        grid-row: 1;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 5px;
        min-width: 0;
        margin: 0;
    }

    .hg-country-v2__data-filter > span {
        margin: 0;
        font-size: 8.5px;
        font-weight: 600;
        line-height: 1;
        white-space: nowrap;
    }

    .hg-country-v2__data-filter select {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        height: 44px;
        padding: 6px 27px 6px 9px;
        border-radius: 9px;
        font-size: 11px;
        line-height: 1;
    }

    /* Reset no longer consumes its own full-width row. */
    .hg-country-v2__reset {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: auto;
        min-width: 52px;
        min-height: 44px;
        height: 44px;
        margin: 0;
        padding: 0 7px;
        border-radius: 9px;
        font-size: 9px;
        font-weight: 600;
        line-height: 1;
    }

    /* Three coverage choices remain one row. */
    .hg-country-v2__coverage-filter {
        grid-column: 1 / -1;
        grid-row: 2;
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            48px;
        gap: 5px;
        min-width: 0;
        margin: 0;
    }

    .hg-country-v2__coverage-filter button {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        height: 44px;
        margin: 0;
        padding: 4px;
        border-radius: 9px;
        font-size: 9px;
        font-weight: 600;
        line-height: 1;
        white-space: nowrap;
    }

    /* Live filtered count remains visible but does not consume a 44px row. */
    .hg-country-v2__filter-count {
        grid-column: 1 / -1;
        grid-row: 3;
        justify-self: end;
        align-self: center;
        min-width: 0;
        margin: 0;
        padding: 0 2px;
        font-size: 8px;
        font-weight: 400;
        line-height: 1;
        text-align: right;
        white-space: nowrap;
    }

    /* Preserve V2.5 two-card plan presentation. */
    .hg-country-v2__plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
}

@media (max-width: 374.98px) {

    .hg-country-v2__section-heading h2 {
        font-size: 19px;
    }

    .hg-country-v2__section-heading p {
        font-size: 8px;
    }

    .hg-country-v2__filters {
        gap: 4px;
        padding: 5px;
    }

    .hg-country-v2__data-filter {
        gap: 4px;
    }

    .hg-country-v2__reset {
        min-width: 48px;
        padding-inline: 5px;
        font-size: 8.5px;
    }

    .hg-country-v2__coverage-filter {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            44px;
        gap: 4px;
    }

    .hg-country-v2__coverage-filter button {
        padding-inline: 2px;
        font-size: 8.3px;
    }
}


/* HEYGLOBEL_COUNTRY_V28R1_PREMIUM_PURCHASE_CTA
   Premium conversion-focused treatment for the existing mobile sticky CTA.
   Same existing HeyGlobel background/color remains authoritative.
   No purchase, pricing or checkout semantics are changed. */

@media (max-width: 767.98px) {

    .hg-country-v2__purchase-cta-premium {
        position: relative;
        isolation: isolate;
        overflow: hidden;

        transform: translate3d(0, 0, 0);
        transform-origin: center;

        border-color: rgba(255,255,255,.24);

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.42),
            inset 0 -1px 0 rgba(0,80,145,.15),
            0 4px 0 rgba(0,113,180,.22),
            0 9px 20px rgba(0,155,220,.22);

        transition:
            transform 160ms cubic-bezier(.22,.8,.25,1),
            box-shadow 180ms ease,
            filter 180ms ease;

        -webkit-tap-highlight-color: transparent;

        animation:
            hgCountryV28Breath 5s ease-in-out 1.8s infinite;
    }

    /*
     * Premium directional affordance.
     * Does not modify the button's real accessible text.
     */
    .hg-country-v2__purchase-cta-premium::after {
        content: "→";
        display: inline-block;
        margin-left: 8px;

        font-size: .92em;
        font-weight: 600;
        line-height: 1;

        transform: translateX(0);
        transition: transform 180ms ease;

        pointer-events: none;
    }

    /*
     * Single light sweep when customer selects a plan.
     */
    .hg-country-v2__purchase-cta-premium::before {
        content: "";
        position: absolute;

        top: -45%;
        bottom: -45%;
        left: -55%;

        width: 34%;

        background:
            linear-gradient(
                105deg,
                rgba(255,255,255,0) 0%,
                rgba(255,255,255,.08) 30%,
                rgba(255,255,255,.42) 50%,
                rgba(255,255,255,.08) 70%,
                rgba(255,255,255,0) 100%
            );

        transform: skewX(-16deg);
        opacity: 0;

        pointer-events: none;
    }

    /*
     * Real 3D press behavior.
     */
    .hg-country-v2__purchase-cta-premium:active {
        transform: translate3d(0, 3px, 0) scale(.992);

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.30),
            inset 0 -1px 0 rgba(0,80,145,.10),
            0 1px 0 rgba(0,113,180,.16),
            0 4px 10px rgba(0,155,220,.16);

        filter: saturate(1.03);
    }

    .hg-country-v2__purchase-cta-premium:active::after {
        transform: translateX(3px);
    }

    /*
     * Triggered once after a plan selection.
     */
    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention {
        animation:
            hgCountryV28Pop 720ms cubic-bezier(.18,.85,.25,1);
    }

    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention::before {
        opacity: 1;

        animation:
            hgCountryV28Sweep 780ms cubic-bezier(.25,.65,.35,1);
    }

    @keyframes hgCountryV28Pop {

        0% {
            transform: translate3d(0,2px,0) scale(.965);
        }

        42% {
            transform: translate3d(0,-1px,0) scale(1.035);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.48),
                inset 0 -1px 0 rgba(0,80,145,.12),
                0 5px 0 rgba(0,113,180,.24),
                0 12px 28px rgba(0,166,232,.34);
        }

        72% {
            transform: translate3d(0,0,0) scale(.994);
        }

        100% {
            transform: translate3d(0,0,0) scale(1);
        }
    }

    @keyframes hgCountryV28Sweep {

        0% {
            left: -55%;
            opacity: 0;
        }

        14% {
            opacity: 1;
        }

        78% {
            opacity: .90;
        }

        100% {
            left: 125%;
            opacity: 0;
        }
    }

    /*
     * Calm attention reminder.
     * Most of the 5-second cycle is completely static.
     */
    @keyframes hgCountryV28Breath {

        0%,
        80%,
        100% {
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.42),
                inset 0 -1px 0 rgba(0,80,145,.15),
                0 4px 0 rgba(0,113,180,.22),
                0 9px 20px rgba(0,155,220,.22);
        }

        90% {
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.48),
                inset 0 -1px 0 rgba(0,80,145,.12),
                0 4px 0 rgba(0,113,180,.24),
                0 10px 27px rgba(0,166,232,.34);
        }
    }
}

/* Respect customer's operating-system accessibility preference. */
@media (prefers-reduced-motion: reduce) {

    .hg-country-v2__purchase-cta-premium,
    .hg-country-v2__purchase-cta-premium::before,
    .hg-country-v2__purchase-cta-premium::after,
    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention,
    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention::before {
        animation: none !important;
        transition: none !important;
    }
}


/* HEYGLOBEL_COUNTRY_V28R2_PERSISTENT_PURCHASE_ATTENTION
   Keeps premium CTA attention active after plan selection until Purchase.
   Same existing HeyGlobel cyan/blue background remains untouched. */

@media (max-width: 767.98px) {

    /*
     * When no plan attention state exists, retain the V2.8R1
     * normal premium 3D presentation.
     */

    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention {
        animation:
            hgCountryV28R2PersistentAttention 3.8s
            cubic-bezier(.22,.75,.25,1)
            infinite;
    }

    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention::before {
        opacity: 1;

        animation:
            hgCountryV28R2PersistentSweep 3.8s
            cubic-bezier(.22,.75,.25,1)
            infinite;
    }

    /*
     * Premium repeating sequence.
     *
     * 0–15%   noticeable selection confirmation
     * 15–70%  almost completely calm
     * 70–88%  subtle reminder glow
     * 88–100% calm again
     */
    @keyframes hgCountryV28R2PersistentAttention {

        0% {
            transform: translate3d(0, 2px, 0) scale(.972);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.38),
                inset 0 -1px 0 rgba(0,80,145,.13),
                0 2px 0 rgba(0,113,180,.18),
                0 5px 12px rgba(0,155,220,.17);
        }

        5% {
            transform: translate3d(0, -1px, 0) scale(1.028);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.52),
                inset 0 -1px 0 rgba(0,80,145,.12),
                0 5px 0 rgba(0,113,180,.25),
                0 13px 30px rgba(0,166,232,.36);
        }

        11% {
            transform: translate3d(0, 0, 0) scale(.995);
        }

        16%,
        68% {
            transform: translate3d(0,0,0) scale(1);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.42),
                inset 0 -1px 0 rgba(0,80,145,.15),
                0 4px 0 rgba(0,113,180,.22),
                0 9px 20px rgba(0,155,220,.22);
        }

        77% {
            transform: translate3d(0,-1px,0) scale(1.012);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.48),
                inset 0 -1px 0 rgba(0,80,145,.12),
                0 4px 0 rgba(0,113,180,.25),
                0 11px 28px rgba(0,166,232,.34);
        }

        86%,
        100% {
            transform: translate3d(0,0,0) scale(1);

            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.42),
                inset 0 -1px 0 rgba(0,80,145,.15),
                0 4px 0 rgba(0,113,180,.22),
                0 9px 20px rgba(0,155,220,.22);
        }
    }

    /*
     * The sweep only occupies a small part of each cycle.
     * It is NOT constantly moving.
     */
    @keyframes hgCountryV28R2PersistentSweep {

        0% {
            left: -55%;
            opacity: 0;
        }

        4% {
            opacity: 1;
        }

        14% {
            left: 125%;
            opacity: 0;
        }

        15%,
        70% {
            left: -55%;
            opacity: 0;
        }

        74% {
            opacity: .72;
        }

        84% {
            left: 125%;
            opacity: 0;
        }

        85%,
        100% {
            left: -55%;
            opacity: 0;
        }
    }

    /*
     * Real button press still wins visually when finger is down.
     */
    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention:active {
        animation: none;

        transform: translate3d(0,3px,0) scale(.992);

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.30),
            inset 0 -1px 0 rgba(0,80,145,.10),
            0 1px 0 rgba(0,113,180,.16),
            0 4px 10px rgba(0,155,220,.16);
    }

    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention:active::before {
        animation: none;
        opacity: 0;
    }
}

/*
 * Accessibility remains authoritative.
 */
@media (prefers-reduced-motion: reduce) {

    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention,
    .hg-country-v2__purchase-cta-premium.hg-country-v2__purchase-cta-attention::before {
        animation: none !important;
    }
}
