.visa-archive .visa-archive-hero { background: #051d3f; padding: 76px 0 70px; margin-bottom: 34px; }
.visa-archive .visa-archive-hero h1 { font-size: clamp(2.25rem, 5vw, 4.1rem); font-weight: 900; letter-spacing: -.045em; line-height: 1.05; max-width: 920px; }
.visa-archive-hero p:last-child { color: #e1e8f0; max-width: 720px; font-size: 1.15rem; line-height: 1.6; }
.visa-archive-main { width: 100%; padding: 8px 0 70px; }
.visa-archive .visa-guide-grid { gap: 30px; }
.visa-archive .visa-guide-card { border-radius: 26px; display: flex; flex-direction: column; box-shadow: 0 18px 45px rgba(5, 29, 63, .09); }
.visa-archive .visa-guide-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.visa-archive .visa-guide-card-body > .visa-link { margin-top: auto; display: inline-flex; gap: 8px; align-items: center; font-weight: 800; }
.visa-guide-card-media { aspect-ratio: 16 / 9; background: #e8eef5; display: grid; place-items: center; overflow: hidden; }
.visa-guide-card-media img { display: block; height: 100%; width: 100%; object-fit: cover; }
.visa-guide-card-media > .material-icons { font-size: 56px; color: #0f4e92; }
@media (max-width: 600px) { .visa-archive .visa-archive-hero { padding: 40px 0; } }

.visa-guide-main,
.visa-guide-article,
.visa-guide-layout,
.visa-guide-content {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.visa-guide { padding-bottom: 48px; }
.visa-guide-layout { margin-top: 24px; }

/* Match the theme container rather than reserving an empty sidebar column. */
.visa-guide-hero,
.visa-archive-hero {
  position: relative;
  isolation: isolate;
  background-color: #0f4e92;
  color: #fff;
  padding: 32px clamp(20px, 4vw, 48px);
}

.visa-guide-hero {
  border-radius: 0;
  padding-inline: 0;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}

.visa-guide-hero-foreground { padding-inline: clamp(20px, 4vw, 48px); }
.visa-guide-featured-image { margin: 0 0 24px; overflow: hidden; border-radius: 12px; background: #e8eef5; }
.visa-guide-featured-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; object-fit: cover; object-position: center top; }
.visa-guide .visa-section-heading,
.visa-guide .visa-context-grid dt,
.visa-guide .visa-eyebrow,
.visa-guide .visa-link { display: flex; align-items: center; gap: 10px; }
.visa-section-heading > .material-icons,
.visa-context-grid dt > .material-icons { color: var(--visa-primary); }
.visa-guide .visa-context-grid dt { margin-bottom: 8px; }
.visa-guide .visa-context-grid dt > .material-icons { font-size: 20px; width: 20px; height: 20px; }
.visa-guide .visa-eyebrow > .material-icons { font-size: 20px; width: 20px; height: 20px; }

.visa-guide-hero--image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(15, 78, 146, .94);
}

.visa-guide-hero h1,
.visa-archive-hero h1 {
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0 12px;
  overflow-wrap: anywhere;
}

.visa-eyebrow {
  color: #dcecff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
}

.visa-lead { color: #fff; font-size: 1.0625rem; line-height: 1.6; margin: 0; }
.visa-guide .breadcrumb-wrap { margin: 20px 0; }
.visa-guide .visa-card { padding: 24px; border-radius: 12px; box-shadow: 0 2px 8px rgba(9, 30, 66, .04); }
.visa-guide h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.35; font-weight: 700; margin: 0 0 16px; }
.visa-guide p { line-height: 1.7; }
.visa-guide .visa-context-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0; }
.visa-context-grid dd { overflow-wrap: anywhere; text-transform: capitalize; }
.visa-guide .visa-button { gap: 8px; border-radius: 8px; font-weight: 700; text-decoration: none; }
.visa-guide .material-icons { flex: 0 0 auto; width: 24px; height: 24px; font-size: 24px; line-height: 1; overflow: hidden; }
.visa-application-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--visa-border); }
.visa-application-cta > div { display: grid; gap: 2px; min-width: 0; }
.visa-application-cta strong { color: var(--visa-ink); font-size: 1rem; }
.visa-application-cta span { color: var(--visa-muted); line-height: 1.5; }
.visa-application-cta .visa-button span { color: inherit; }
.visa-flight-search { margin: 20px 0; padding: 24px; border: 1px solid var(--visa-border); border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(9, 30, 66, .04); }
.visa-flight-search-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.visa-flight-search-heading > .material-icons { color: var(--visa-primary); margin-top: 2px; }
.visa-flight-search-heading > div { min-width: 0; }
.visa-flight-search-heading h2 { margin-bottom: 6px; }
.visa-flight-search-heading p { color: var(--visa-muted); margin: 0; }
.visa-flight-search .tripenger-flight-search { margin: 0; }
.visa-flight-search-fallback { margin: 0; }

/* Static MUI-style info message: always visible, without an intrusive live alert. */
.visa-info-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  padding: 20px;
  border: 1px solid #b8ddeb;
  border-radius: 8px;
  background: #e5f6fd;
  color: #014361;
}
.visa-recommendation-card .visa-info-alert { margin: 20px 0; }

.visa-info-alert > .material-icons { color: #0277a5; margin-top: 2px; }
.visa-info-alert > div { min-width: 0; }
.visa-info-alert h2,
.visa-info-alert h3 { color: inherit; font-size: 1.125rem; font-weight: 700; line-height: 1.4; margin: 0 0 8px; }
.visa-info-alert p { margin: 0 0 10px; }
.visa-info-alert .visa-info-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #b8ddeb; }
.visa-info-alert .visa-info-link { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; color: #014361; font-size: .9rem; font-weight: 600; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.visa-info-alert .visa-info-link:hover { text-decoration: underline; }
.visa-info-alert .visa-info-link > .material-icons { width: 18px; height: 18px; font-size: 18px; line-height: 1; }
.visa-info-alert .visa-info-link > span:not(.material-icons) { min-width: 0; }
.visa-guide .visa-dates {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  margin: 12px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid var(--visa-border);
  list-style: none;
  color: var(--visa-muted);
  font-size: .75rem;
  font-weight: 500;
}
.visa-guide .visa-dates li { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; line-height: 1.4; }
.visa-guide .visa-dates li > .material-icons { width: 14px; height: 14px; font-size: 14px; line-height: 1; color: var(--visa-primary); }
.visa-guide .visa-dates li > span:not(.material-icons) { min-width: 0; overflow-wrap: anywhere; }
.visa-guide-directory a { display: inline-flex; align-items: center; gap: 8px; }
.visa-guide .visa-notice { border-radius: 8px; color: #663c00; }
.visa-guide .visa-editorial-content { overflow-wrap: anywhere; }
.visa-guide .visa-editorial-content img { max-width: 100%; height: auto; }
.visa-guide .visa-editorial-content .wp-block-table { overflow-x: auto; }
.visa-guide .visa-faq[open] { border-color: #8cafd4; }
.visa-guide .visa-faq summary { font-weight: 700; }

@media (max-width: 900px) {
  .visa-guide .visa-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .visa-guide .visa-guide-hero { padding: 24px 0; }
  .visa-guide-hero-foreground { padding-inline: 20px; }
  .visa-guide-featured-image img { aspect-ratio: 16 / 7; }
  .visa-guide .visa-card { padding: 20px; }
  .visa-flight-search { padding: 20px; }
  .visa-guide .visa-context-grid { grid-template-columns: 1fr; }
  .visa-application-cta { align-items: stretch; flex-direction: column; }
  .visa-info-alert { padding: 16px; }
  .visa-guide .visa-button { width: 100%; white-space: normal; text-align: center; }
}
.visa-guide,.visa-archive{--visa-primary:#0f4e92;--visa-ink:#172b4d;--visa-muted:#5e6c84;--visa-surface:#fff;--visa-border:#dfe1e6;background:#f7f9fc;color:var(--visa-ink)}
.visa-card,.visa-filter-card,.visa-guide-card,.visa-faq,.visa-empty{background:var(--visa-surface);border:1px solid var(--visa-border);border-radius:16px;box-shadow:0 3px 12px rgba(9,30,66,.08)}.visa-card{padding:clamp(1.25rem,3vw,2rem);margin:1.25rem 0}.visa-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.visa-context-grid div{background:#f4f6f8;border-radius:12px;padding:1rem}.visa-context-grid dt{color:var(--visa-muted);font-size:.85rem}.visa-context-grid dd{font-weight:800;margin:0}.visa-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--visa-primary);color:#fff!important;padding:.75rem 1.1rem;font-weight:800}.visa-button:hover{background:#0b46b9}.visa-guide a:focus-visible,.visa-archive a:focus-visible,.visa-archive button:focus-visible,.visa-faq summary:focus-visible,.visa-archive input:focus-visible,.visa-archive select:focus-visible{outline:3px solid #ffab00;outline-offset:3px}.visa-notice{border-left:4px solid #ffab00;background:#fff7d6;padding:1rem}.visa-dates{color:var(--visa-muted);font-size:.9rem}.visa-editorial-content{padding:1.5rem 0}.visa-faqs{margin:2rem 0}.visa-faq{margin:.75rem 0;padding:0}.visa-faq summary{cursor:pointer;font-weight:800;padding:1rem;min-height:44px}.visa-faq div{padding:0 1rem 1rem}.visa-disclaimer{font-size:.92rem;color:var(--visa-muted)}
.visa-filter-card{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:1rem;align-items:end;padding:1.25rem;margin-bottom:1.5rem}.visa-filter-card label{display:block;font-weight:700}.visa-filter-card input,.visa-filter-card select{width:100%;min-height:44px;border:1px solid #8993a4;border-radius:8px;padding:.65rem}.visa-clear{min-height:44px;display:flex;align-items:center}.visa-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.visa-guide-card{overflow:hidden}.visa-guide-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.visa-guide-card-body{padding:1.25rem}.visa-guide-card h2{font-size:1.35rem}.visa-card-context{color:var(--visa-primary);font-weight:800}.visa-result-count{font-weight:700}.visa-empty{text-align:center;padding:3rem}
@media(max-width:900px){.visa-filter-card{grid-template-columns:1fr 1fr}.visa-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.visa-context-grid,.visa-filter-card,.visa-guide-grid{grid-template-columns:1fr}.visa-guide-hero,.visa-archive-hero{padding-block:2rem}}@media(prefers-reduced-motion:reduce){.visa-guide *,.visa-archive *{scroll-behavior:auto!important;transition:none!important}}