/* Native site values: card radius 12px, border #f1f2f5, accent #e55989;
   existing pink accent and inherited Yekan typography. */
.visa-page .visa-button {background:#e55989; border:0; cursor:pointer}
.visa-page .visa-button:hover {color:#fff; text-decoration:underline; text-underline-offset:4px}
.visa-page {padding-block-end:3rem; overflow-wrap:anywhere}
.visa-page .header {margin-block-end:1.5rem}
.visa-intro {font-size:1.1rem; line-height:2; margin-block-end:1.5rem}
.visa-filters {display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin-block:1.5rem}
.visa-filters>div {flex:1 1 14rem; min-width:0}
.visa-filters label {display:block; margin-block-end:.5rem}
.visa-filters input,.visa-filters select {width:100%; min-height:48px; border:1px solid #e5e5e5; border-radius:8px; padding:.65rem; background:#fff; font:inherit}
.visa-button {display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.2rem; min-height:48px; border-radius:8px; color:#fff; font:inherit; font-weight:700; text-align:center; white-space:normal}
.visa-text-link {text-decoration:underline; text-underline-offset:4px; display:inline-block; padding-block:.5rem}
.visa-result-count,.visa-country-label {opacity:.75; margin-block-end:.75rem}
.visa-archive-grid,.visa-plans-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.5rem}
.visa-archive-card {min-width:0}
.visa-archive-card>a {display:flex; flex-direction:column; gap:.75rem; height:100%}
.visa-archive-card img {width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:8px}
.visa-archive-card h2,.visa-plan h4 {font-size:1.25rem; font-weight:700}
.visa-archive-card .visa-price {margin-block-start:auto}
.visa-archive-card p {line-height:1.8}
.visa-price {font-weight:700; font-size:1.1rem; margin-block:.75rem}
.visa-empty {grid-column:1/-1; padding:2rem; display:grid; gap:1rem; justify-items:start}
.visa-pagination {display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; margin-block:2rem; align-items:center}
.visa-pagination a {padding:.75rem; text-decoration:underline}
.visa-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem}
.visa-layout>* {min-width:0}
.visa-hero-image {width:100%; height:auto; max-height:440px; object-fit:cover; border-radius:12px; margin-block-end:1rem}
.visa-summary {align-self:start}
.visa-summary-plans {list-style:none; margin:0; padding:0}
.visa-summary-plans li {padding-block:1rem; border-block-end:1px solid #f1f2f5}
.visa-summary-plans a {display:flex; flex-direction:column}
.visa-summary .visa-button {width:100%; margin-block-start:1rem}
.visa-page .visa-toc {margin-block-end:2rem; padding:1rem 1.25rem; background:#fff; border:1px solid #f1f2f5; border-radius:12px}
.visa-page .visa-toc summary {display:list-item; list-style:disclosure-closed inside; cursor:pointer; padding-block:.5rem; font-weight:700; line-height:1.8}
.visa-page .visa-toc[open] summary {list-style-type:disclosure-open}
.visa-page .visa-toc summary::marker {color:#e55989}
.visa-page .visa-toc ul {display:block; list-style:disc outside; margin:.5rem 0 0; padding:0; padding-inline-start:1.25rem}
.visa-page .visa-toc li {display:list-item; margin:0; padding:0}
.visa-page .visa-toc li::marker {color:#e55989}
.visa-page .visa-toc a {display:block; padding-block:.6rem; line-height:1.8; text-decoration:none; overflow-wrap:anywhere}
.visa-page .visa-toc a:hover {color:#e55989; text-decoration:underline; text-underline-offset:3px}
.visa-plans-section,.visa-editorial,.visa-consultation {margin-block-end:2.5rem}
.visa-plan dl>div {display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; padding-block:.75rem; border-block-end:1px solid #f1f2f5}
.visa-plan dt {opacity:.75}
.visa-plan h5 {font-weight:700; margin-block-start:1rem}
.visa-notes {white-space:pre-line; line-height:1.9}
.visa-editorial img {max-width:100%; height:auto}
.visa-editorial h2,.visa-plan,.visa-plans-section {scroll-margin-block-start:7rem}
.visa-table-scroll {max-width:100%; overflow-x:auto; margin-block:1rem}
.visa-table-scroll table {min-width:100%; border-collapse:collapse}
.visa-table-scroll td,.visa-table-scroll th {padding:.75rem; border:1px solid #f1f2f5}
.visa-consultation {display:grid; gap:1rem; justify-items:start}
.visa-error {color:#b42318}
.visa-page :is(a,button,input,select,summary,[tabindex]):focus-visible {outline:3px solid #e55989; outline-offset:4px}
@media(min-width:1024px) {
 .visa-layout {grid-template-columns:minmax(0,3fr) minmax(240px,1fr); column-gap:1.75rem}
 .visa-introduction {grid-column:1; grid-row:1}
 .visa-summary {grid-column:2; grid-row:1 / span 2; position:sticky; top:7rem; max-height:calc(100vh - 8rem); overflow-y:auto}
 .visa-main-content {grid-column:1; grid-row:2}
 .visa-layout-wide {grid-template-columns:minmax(0,1fr)}
}
