/* Visa pages: /visa-requirements (pages/visaRequirements.ejs) and /visa-requirements/<slug> (pages/visaGuides/).
   Hand-written CSS, no source in src/styles. Only what is new here: the checker, the result card, the sources
   and the article blocks. Hero, field and button — subscription.css (.pricing-hero, .field, .pricing-card__btn),
   rows and two columns — agent-blocks.css (.agenda, .spot), dark steps and cards — landing-blocks.css,
   FAQ — questions.css. Values from DESIGN.md. main.css paints every link white: links here get their colour. */

.visa-page .title_h2 { font-size: 32px; line-height: 40px; font-weight: 600; } /* as on /subscription */
@media (max-width: 575px) { .visa-page .title_h2 { font-size: 26px; line-height: 34px; } }
.visa-page .fake-page__container a:not([class]) { color: #4450F2; }
.visa-page .fake-page__container a:not([class]):hover { color: #1D29C7; }

.visa-hero__meta { margin: 16px 0 0; font-family: "Inter", Roboto, sans-serif; font-size: 14px; line-height: 24px; color: #9299A2; }

/* ── checker ── */
.visa-checker { max-width: 960px; margin: 0 auto; font-family: "Inter", Roboto, sans-serif; scroll-margin-top: 24px; }
.visa-checker__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
    border-radius: 24px;
    background: #F8F8F8;
}
.visa-checker__field { margin: 0; }
.visa-checker__select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 24px;
    cursor: pointer;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%239299A2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center / 20px no-repeat;
    text-overflow: ellipsis;
}
.visa-checker__btn { width: auto; padding: 0 32px; white-space: nowrap; }
.visa-checker__note { margin: 12px 4px 0; font-size: 14px; line-height: 22px; color: #9299A2; }
@media (max-width: 767px) {
    .visa-checker__form { grid-template-columns: minmax(0, 1fr); padding: 8px; border-radius: 16px; }
    .visa-checker__btn { width: 100%; }
}

/* ── result ── */
.visa-result { margin-top: 24px; }
.visa-result__loading,
.visa-result__error { margin: 0; padding: 20px 24px; border-radius: 16px; background: #F8F8F8; font-size: 16px; line-height: 24px; color: #141414; }
.visa-result__error { background: #FEF0C7; }
.visa-result__card {
    position: relative;
    padding: 32px 32px 24px;
    border: 1px solid #E6E6E6;
    border-radius: 24px;
    background: #FFFFFF;
    color: #141414;
}
.visa-result__card::before { /* the colour of the rule, as on Travel Buddy's map */
    content: "";
    position: absolute;
    top: 32px;
    left: 0;
    width: 4px;
    height: 40px;
    border-radius: 0 4px 4px 0;
    background: #9299A2;
}
.visa-result__card--green::before { background: #35C658; }
.visa-result__card--blue::before { background: #4450F2; }
.visa-result__card--yellow::before { background: #F5B70A; }
.visa-result__card--red::before { background: #FD3A57; }
.visa-result__route { margin: 0 0 4px; font-size: 14px; line-height: 20px; color: #9299A2; }
.visa-result__status { margin: 0 0 20px; font-family: "Poppins", Roboto, sans-serif; font-size: 32px; line-height: 40px; font-weight: 600; color: #141414; }
.visa-result__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; margin: 0 0 16px; }
.visa-result__fact { padding: 12px 0; border-top: 1px solid #F1F1F1; }
.visa-result__fact dt { font-size: 13px; line-height: 18px; font-weight: 400; color: #9299A2; }
.visa-result__fact dd { margin: 2px 0 0; font-size: 16px; line-height: 24px; font-weight: 500; }
.visa-result__fact a,
.visa-result__exception a,
.visa-result__meta a { color: #4450F2; }
.visa-result__note { margin: 0 0 12px; font-size: 15px; line-height: 24px; color: #4B5059; }
.visa-result__subtitle { margin: 16px 0 8px; font-size: 13px; line-height: 18px; color: #9299A2; }
.visa-result__exceptions { margin: 0 0 16px; padding: 0; list-style: none; }
.visa-result__exception { position: relative; margin-bottom: 8px; padding: 12px 16px 12px 32px; border-radius: 12px; background: #F8F8F8; font-size: 15px; line-height: 22px; }
.visa-result__exception::before { content: ""; position: absolute; left: 14px; top: 19px; width: 8px; height: 8px; border-radius: 50%; background: #9299A2; }
.visa-result__exception--green::before { background: #35C658; }
.visa-result__exception--blue::before { background: #4450F2; }
.visa-result__exception--yellow::before { background: #F5B70A; }
.visa-result__exception--red::before { background: #FD3A57; }
.visa-result__exception-note { display: block; margin-top: 4px; color: #4B5059; }
.visa-result__exception-link { display: inline-block; margin-top: 4px; }
.visa-result__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 8px 0 16px; }
.visa-result__btn { display: inline-block; width: auto; padding: 0 28px; color: #FFFFFF; text-decoration: none; }
.visa-result__btn:hover { color: #FFFFFF; text-decoration: none; }
.visa-result__meta { margin: 0; padding-top: 16px; border-top: 1px solid #F1F1F1; font-size: 13px; line-height: 20px; color: #9299A2; }
.visa-result__card--none .visa-result__status { font-size: 24px; line-height: 32px; }
.visa-result__card--none .visa-sources { margin: 8px 0 0; }
.visa-result__guide { display: inline-block; margin: -8px 0 16px; }
@media (max-width: 767px) {
    .visa-result__card { padding: 24px 16px 16px; border-radius: 16px; }
    .visa-result__card::before { top: 24px; }
    .visa-result__status { font-size: 24px; line-height: 32px; }
    .visa-result__facts { grid-template-columns: minmax(0, 1fr); }
}

/* the documents list: rows only for a visa hide when the result needs none */
.visa-documents[data-mode="entry"] [data-visa-only] { display: none; }

/* ── official sources ── */
.visa-official__lead { max-width: 760px; margin: 12px 0 24px; font-family: "Inter", Roboto, sans-serif; font-size: 16px; line-height: 26px; color: #4B5059; }
.visa-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; font-family: "Inter", Roboto, sans-serif; }
.visa-sources__item { display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: 16px; background: #F8F8F8; }
.visa-sources__name { font-size: 13px; line-height: 18px; color: #9299A2; }
.visa-sources__link { font-size: 16px; line-height: 22px; font-weight: 600; color: #141414; }
a.visa-sources__link { color: #4450F2; }
a.visa-sources__link:hover { color: #1D29C7; }
.visa-sources__text { font-size: 14px; line-height: 21px; color: #4B5059; }
@media (max-width: 992px) { .visa-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .visa-sources { grid-template-columns: minmax(0, 1fr); } }

/* ── the Schengen card on the checker and the fee card ── */
.visa-spot__quote { margin: 0 0 12px; font-family: "Poppins", Roboto, sans-serif; font-size: 28px; line-height: 38px; font-weight: 600; color: #141414; }
.visa-spot__source { margin: 0; font-family: "Inter", Roboto, sans-serif; font-size: 14px; line-height: 22px; color: #4B5059; }
.visa-spot__figure { margin: 0; font-family: "Poppins", Roboto, sans-serif; font-size: 72px; line-height: 80px; font-weight: 600; color: #FFFFFF; }
.visa-spot__caption { margin: 8px 0 0; font-family: "Inter", Roboto, sans-serif; font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .7); }

/* ── documents pages: countries, EES / ETIAS, sources ── */
.visa-section-title { margin-bottom: 24px !important; }
.visa-countries__nav { margin: 0 0 8px; }
.visa-countries__nav .chip { text-decoration: none; }
.visa-country { padding: 32px 0; border-top: 1px solid #E6E6E6; font-family: "Inter", Roboto, sans-serif; color: #141414; scroll-margin-top: 24px; }
.visa-country:last-child { border-bottom: 1px solid #E6E6E6; }
.visa-country__title { margin: 0 0 8px; font-family: "Poppins", Roboto, sans-serif; font-size: 24px; line-height: 32px; font-weight: 600; }
.visa-country__lead { max-width: 760px; margin: 0 0 16px; font-size: 16px; line-height: 26px; color: #4B5059; }
.visa-country__list { max-width: 860px; margin: 0 0 16px; padding-left: 20px; }
.visa-country__list li { margin-bottom: 8px; font-size: 16px; line-height: 26px; }
.visa-country__source { margin: 0; font-size: 14px; line-height: 22px; color: #9299A2; }
.visa-country__source a { color: #4450F2; }
.visa-borders .bento__card:hover { transform: none; box-shadow: none; }
.visa-source-list { margin: 16px 0 24px !important; padding-left: 20px; font-family: "Inter", Roboto, sans-serif; }
.visa-source-list li { margin-bottom: 8px; font-size: 15px; line-height: 24px; color: #4B5059; }
.visa-source-list a { color: #4450F2; }
.visa-official .visa-checker__note a { color: #4450F2; }
.visa-official--last { padding-bottom: 60px; } /* the last block before the footer */
