.guide-top { position:sticky; top:0; z-index:3; background:#f2f8fff5; backdrop-filter:blur(20px); }
.guide-top > .guide-header { position:static; }
.guide-top + .guide-navigation[hidden] { display:none; }
.country-guide .guide-content :is([id],.visa-topic,.visa-overview) { scroll-margin-top:calc(var(--guide-top-height,170px) + 16px); }
.guide-top .country-sections { padding-bottom:14px; }
.country-sections { flex-wrap:wrap; }
.guide-content.preparation-content { padding-top:24px; }
.preparation-layout { min-width:0; }
.guide-content .preparation-intro h2 { margin:6px 0 8px; padding:0; border:0; font-size:25px; }
.preparation-eyebrow { margin:0; color:#527493; font-size:13px; }
.preparation-save-note { margin:0; color:#6682a5; font-size:13px; }
.preparation-progress { display:flex; align-items:center; gap:22px; padding:18px 22px; margin:22px 0; border:1px solid #d1e1f2; border-radius:16px; background:#ffffffc2; }
.preparation-progress strong { flex:0 0 auto; font-size:14px; color:#285b91; }
.preparation-progress progress { flex:1; min-width:0; width:auto; height:10px; appearance:none; border:0; border-radius:10px; overflow:hidden; background:#e1edfa; }
.preparation-progress progress::-webkit-progress-bar { background:#e1edfa; border-radius:10px; }
.preparation-progress progress::-webkit-progress-value { background:#3784ca; border-radius:10px; }
.preparation-progress progress::-moz-progress-bar { background:#3784ca; border-radius:10px; }
.preparation-progress { flex-wrap:wrap; }
.preparation-progress progress { flex-basis:80px; }
.preparation-reset,.preparation-reset-confirm button { font:inherit; font-size:13px; color:#285b91; padding:8px 12px; border:1px solid #b8d3ed; border-radius:8px; background:#fff; cursor:pointer; white-space:nowrap; }
.preparation-reset-confirm { margin:-8px 0 22px; padding:16px 20px; border:1px solid #d1e1f2; border-radius:12px; background:#fff; }
.preparation-reset-confirm p { margin:0 0 12px; font-size:14px; line-height:1.7; }
.preparation-reset-confirm button + button { margin-left:10px; }
.preparation-columns { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); align-items:start; gap:20px; }
.preparation-columns > :only-child { grid-column:1/-1; }
.preparation-panel { padding:22px; border:1px solid #d1e1f2; border-radius:18px; background:#ffffffc2; min-width:0; }
.guide-content .preparation-panel > h3 { margin:0 0 16px; font-size:19px; }
.preparation-task-list { padding:0; margin:0; list-style:none; }
.preparation-task { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:12px; padding:14px 0; border-top:1px solid #dfebf7; }
.preparation-task input { width:19px; height:19px; margin:3px 0 0; accent-color:#3784ca; cursor:pointer; }
.preparation-task-details { min-width:0; }
.preparation-task-details > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-size:14px; line-height:1.7; list-style:none; color:#294f78; }
.preparation-task-details > summary::-webkit-details-marker { display:none; }
.preparation-task-details > summary > span:first-child { min-width:0; }
.preparation-detail-label { flex:0 0 auto; font-size:11px; color:#5483b0; }
.preparation-task-details[open] > summary { margin-bottom:14px; }
.preparation-task input:checked + details > summary > span:first-child { color:#6383a0; }
.preparation-task-details > div { font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.preparation-task-details ul,.preparation-task-details ol { padding-left:18px; }
.preparation-task-details li { margin:6px 0; }
.preparation-task-details p { margin:8px 0; }
.preparation-task-details .visa-material-list { list-style:none; padding:0; }
.preparation-task-details .visa-material-item { border-bottom:1px solid #dfebf7; padding:12px 0; }
.guide-content .preparation-task-details .visa-material-name { margin:0 0 5px; font-size:13px; }
.preparation-info { border-top:1px solid #dfebf7; padding:14px 0; }
.preparation-info:last-child { padding-bottom:0; }
.preparation-info > summary { cursor:pointer; font-size:14px; color:#294f78; }
.preparation-facts { padding-top:6px; font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.guide-content .preparation-fact h4 { margin:16px 0 7px; font-size:13px; }
.preparation-fact p { margin:8px 0; }
.preparation-sources { margin-top:20px; font-size:13px; }
.preparation-sources > summary { cursor:pointer; }
.preparation-content :is(button,input,summary,a):focus-visible { outline:3px solid #3784ca; outline-offset:3px; }
.visa-stage-next { margin:22px 0 0; }
.visa-stage-next a { display:inline-block; padding:11px 18px; border:1px solid #c9ddf2; border-radius:12px; text-decoration:none; background:#e5f0fc; color:#285b91; }
@media(max-width:800px) { .preparation-columns { grid-template-columns:minmax(0,1fr); } }
@media(max-width:700px) {
  .guide-top .country-sections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding-bottom:12px; }
  .guide-top .country-sections a { text-align:center; padding:8px 4px; font-size:12px; }
  .guide-content.preparation-content { padding:22px 20px 28px; }
  .guide-content .preparation-intro h2 { font-size:21px; }
  .preparation-panel { padding:18px; }
  .preparation-progress { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:15px 18px; margin:18px 0; }
  .preparation-progress strong { grid-column:1/-1; }
  .preparation-progress progress { width:100%; }
  .preparation-task-details > summary { font-size:13px; gap:8px; }
  .preparation-task { gap:10px; }
}
.travel-essentials { margin:28px 0 20px; }
.essentials-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start; }
.guide-content .essentials-card h4 { margin:0 0 12px;font-size:17px; }
.essentials-card p { font-size:14px;line-height:1.85;margin:10px 0; }
.essentials-card a { font-size:14px; }
.essentials-currency { font-weight:600; }
.shopping-list ul { padding:0;list-style:none; }
.shopping-list li { padding:14px 0;border-top:1px solid #dfebf7; }
.shopping-list label { display:flex;gap:12px;align-items:start;cursor:pointer;font-size:15px; }
.shopping-list input { width:19px;height:19px;flex-shrink:0;margin-top:3px;accent-color:#3784ca; }
.shopping-list small { display:block;font-size:13px;color:#64809b;margin-top:5px;line-height:1.7; }
.checklist-actions { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0; }
.checklist-actions .glass-button { padding:10px 16px;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid #b8d3ed;border-radius:10px;color:#245e96;background:#fff; }
.checklist-actions span { font-size:12px;color:#64809b; }
@media(max-width:900px){.essentials-grid{grid-template-columns:1fr}.checklist-actions span{flex-basis:100%}.essentials-card{padding:18px}}

.essentials-card[data-essential="network"] { grid-column:1/-1; }
.guide-content .essentials-card h5 { font-size:15px;margin:14px 0 8px; }
.network-buy-checks { padding-left:20px;font-size:14px;line-height:1.85; }
.network-buy-checks li { margin:8px 0; }
.network-alternatives { margin-top:16px;border-top:1px solid #dfebf7;padding-top:14px; }
.network-alternatives > summary { cursor:pointer;font-size:14px;color:#285b91; }
.essentials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:900px){.essentials-grid{grid-template-columns:1fr}}
