*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--g:#78be20;--p:#006778;--gr:#3c3c3c;--el:#e6e6e6}
body{font-family:'Open Sans',Arial,sans-serif;color:var(--gr);background:#f0f4f0;min-height:100vh}
a{color:var(--g);text-decoration:none}a:hover{text-decoration:underline}

/* HEADER */
.hd{background:#fff;border-bottom:2px solid var(--g);padding:12px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hd-logo{font-family:'Saira',sans-serif;font-size:19px;font-weight:600;color:var(--g);letter-spacing:.08em;flex-shrink:0}
.hd-title{font-family:'Saira',sans-serif;font-size:17px;font-weight:600;color:var(--gr);line-height:1.2}
.hd-sub{font-size:11px;color:#aaa;margin-top:2px}
#av-status{font-family:'Saira',sans-serif;font-size:11px;color:#bbb;margin-left:auto;white-space:nowrap}

/* SEARCH */
.sw{max-width:1200px;margin:16px auto 0;padding:0 24px;position:relative;z-index:20}
.si{position:relative;display:flex;align-items:center;background:#fff;border:1.5px solid var(--el);border-radius:999px;transition:border-color .15s}
.si:focus-within{border-color:var(--g)}
.sico{padding:0 12px 0 18px;color:#bbb;font-size:17px;user-select:none;line-height:1;flex-shrink:0}
#av-search{flex:1;border:none;outline:none;background:transparent;font-family:'Open Sans',sans-serif;font-size:14px;color:var(--gr);padding:11px 0;min-width:0}
#av-search::placeholder{color:#bbb}
.sclr{padding:0 18px;color:#ccc;cursor:pointer;font-size:20px;line-height:1;border:none;background:none;display:none}
.sclr.on{display:block}.sclr:hover{color:#999}
#av-dd{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--el);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.10);z-index:100}
#av-dd.open{display:block}

/* DISEASE FILTERS */
.filters{max-width:1200px;margin:10px auto 0;padding:0 24px;position:relative;z-index:10}
.fbox{background:#fff;border:1px solid var(--el);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 3px 14px rgba(0,0,0,.04)}
.flbl{font-family:'Saira',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#999;margin-right:2px}
.fbtn{font-family:'Saira',sans-serif;font-size:12px;font-weight:600;border:1px solid var(--el);background:#f8faf7;color:#50605a;border-radius:999px;padding:7px 13px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.fbtn:hover{background:#fff;border-color:#cfd8cf;transform:translateY(-1px)}
.fbtn.active{background:rgba(242,183,5,.14);border-color:rgba(242,183,5,.55);color:#735400}
.fbtn.reset.active{background:rgba(120,190,32,.12);border-color:rgba(120,190,32,.38);color:#3d6b0a}

.dctrl{display:inline-flex;align-items:center;gap:3px}
.dctrl .fbtn{border-top-right-radius:7px;border-bottom-right-radius:7px}
.dlink{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--el);border-radius:7px 999px 999px 7px;background:#fff;color:#7b8781;font-family:'Saira',sans-serif;font-size:13px;font-weight:700;text-decoration:none;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .15s}
.dlink:hover{background:#f8faf7;border-color:rgba(120,190,32,.45);color:var(--g);text-decoration:none;transform:translateY(-1px)}
.mi-badge[href]{text-decoration:none}
.mi-badge[href]:hover{text-decoration:none;filter:brightness(.97)}

.fstatus{font-size:12px;color:#5f6d68;margin-left:auto;line-height:1.5}
.fbar{display:none;width:100%;height:6px;background:#edf1ea;border-radius:999px;overflow:hidden}
.fbar.on{display:block}
.fbar span{display:block;height:100%;width:35%;background:var(--g);border-radius:999px;animation:avload 1.2s ease-in-out infinite}
@keyframes avload{0%{transform:translateX(-100%)}50%{transform:translateX(120%)}100%{transform:translateX(310%)}}

/* QUICK DESTINATIONS */
.quick{max-width:1200px;margin:10px auto 0;padding:0 24px;display:flex;gap:7px;flex-wrap:wrap}
.qchip{font-family:'Saira',sans-serif;font-size:12px;font-weight:600;color:#49605c;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:6px 12px;cursor:pointer;transition:background .15s,border-color .15s}
.qchip:hover{background:#fff;border-color:rgba(120,190,32,.35)}
.info-hub{max-width:1200px;margin:12px auto 0;padding:0 24px;display:grid;gap:9px}
.legal-alert{font-size:13px;line-height:1.65;color:#33433d;background:#fff4d8;border:1px solid rgba(181,130,0,.28);border-left:4px solid #b58200;border-radius:14px;padding:12px 14px;box-shadow:0 4px 18px rgba(0,0,0,.04)}
.legal-alert strong{font-family:'Saira',sans-serif;font-weight:700;color:#7b5600}
.info-box{background:#fff;border:1px solid rgba(0,103,120,.16);border-radius:14px;padding:0 12px;box-shadow:0 4px 16px rgba(0,0,0,.03)}
.info-box summary{font-family:'Saira',sans-serif;font-size:13px;font-weight:700;color:#31423c;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px}
.info-box summary::-webkit-details-marker{display:none}
.info-box summary::after{content:'+';width:18px;height:18px;border-radius:999px;border:1px solid rgba(0,103,120,.20);display:inline-flex;align-items:center;justify-content:center;color:#5f6e69;flex:0 0 auto}
.info-box[open] summary::after{content:'−'}
.info-steps,.info-list{padding:0 2px 12px 18px}
.info-steps li,.info-list li{font-size:13px;line-height:1.6;color:#42524d;margin:0 0 7px}
.info-list li:last-child,.info-steps li:last-child{margin-bottom:0}
.faq-item{padding:0 2px 12px}
.faq-item p{font-size:13px;line-height:1.65;color:#42524d;margin:0 0 8px}
.faq-item p:last-child{margin-bottom:0}

/* DETAIL PANEL IMPROVEMENTS */
.intro{font-size:13px;line-height:1.65;color:#666;margin:-4px 0 16px;padding:11px 14px;background:#f8faf7;border-left:3px solid var(--g);border-radius:6px}
.actionrow{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}
.bmore.secondary{background:#fff;color:var(--p);border:1.5px solid rgba(0,103,120,.22)}
.bmore.secondary:hover{background:rgba(0,103,120,.06);color:var(--p)}

.ddi{padding:10px 20px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f5f5f5;transition:background .1s}
.ddi:last-child{border-bottom:none}.ddi:hover,.ddi.act{background:#f5faf0}
.ddot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ddn{font-family:'Saira',sans-serif;font-weight:500;color:var(--gr)}
.ddbadge{margin-left:auto;font-size:10px;padding:2px 8px;border-radius:20px;background:rgba(120,190,32,.12);color:#3d6b0a;border:1px solid rgba(120,190,32,.25);white-space:nowrap}
.ddempty{padding:14px 20px;font-size:13px;color:#aaa;font-style:italic}

/* MAIN */
.main{max-width:1200px;margin:14px auto 0;padding:0 24px 40px}

/* MAP */
#mw{position:relative;width:100%;height:540px;border-radius:10px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.18);background:#0d2040}
#av-map{width:100%;height:540px;display:block;cursor:grab;background:#0d2040;overflow:hidden}
#av-map:active{cursor:grabbing}
#hlbl{position:absolute;bottom:52px;left:16px;pointer-events:none;font-family:'Saira',sans-serif;font-size:13px;font-weight:600;color:#fff;background:rgba(10,25,55,.75);padding:5px 14px;border-radius:999px;opacity:0;transition:opacity .15s;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}
#hlbl.on{opacity:1}
#hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-family:'Saira',sans-serif;font-size:12px;color:rgba(255,255,255,.8);background:rgba(0,0,0,.3);padding:5px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;transition:opacity .3s;text-align:center}
#hint.h{opacity:0}
#zc{position:absolute;bottom:14px;right:14px;display:flex;flex-direction:column;gap:4px}
.zbtn{width:32px;height:32px;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:16px;font-weight:600;color:var(--gr);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;font-family:'Saira',sans-serif}
.zbtn:hover{background:#fff}.zbtn.sm{font-size:13px}

/* PANEL */
#pnl{display:none;margin-top:14px}
#pnl.open{display:block}
.card{background:#fff;border:1px solid var(--el);border-top:3px solid var(--g);border-radius:8px;padding:26px 28px 22px;position:relative;overflow:hidden}
.card::after{content:'';position:absolute;top:-45px;right:-45px;width:130px;height:150px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:rgba(120,190,32,.07);transform:rotate(-15deg);pointer-events:none}
.chd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}
.dlbl{font-family:'Saira',sans-serif;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#bbb;margin-bottom:3px}
.dname{font-family:'Saira',sans-serif;font-size:26px;font-weight:600;color:var(--gr);line-height:1.2}
.hdr{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.bclose{font-family:'Saira',sans-serif;font-size:12px;font-weight:600;color:var(--gr);border:2px solid var(--el);border-radius:999px;padding:6px 18px;background:#fff;cursor:pointer;transition:border-color .15s;white-space:nowrap}
.bclose:hover{border-color:#bbb}
.vcnts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;margin-top:4px}
.vcb{font-family:'Saira',sans-serif;font-size:11px;font-weight:600;padding:4px 12px;border-radius:999px}
.vcbp{background:rgba(230,126,34,.13);color:#8a4a0b;border:1px solid rgba(230,126,34,.34)}
.vcbz{background:rgba(0,103,120,.1);color:var(--p);border:1px solid rgba(0,103,120,.2)}
.vcbd{background:rgba(120,190,32,.12);color:#3d6b0a;border:1px solid rgba(120,190,32,.28)}
.vcbx{background:rgba(202,0,93,.08);color:#9d0048;border:1px solid rgba(202,0,93,.22)}
.div{height:1px;background:var(--el);margin-bottom:18px}
.sl{font-family:'Saira',sans-serif;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;display:flex;align-items:center;gap:7px}
.sl::before{content:'';width:9px;height:9px;border-radius:50%;flex-shrink:0}
.sl.p{color:#b7640f}.sl.p::before{background:#e67e22}
.sl.z{color:var(--p)}.sl.z::before{background:var(--p)}
.sl.d{color:var(--g)}.sl.d::before{background:var(--g)}

.help-btn{width:18px;height:18px;border-radius:999px;border:1px solid currentColor;background:#fff;color:inherit;font-family:'Saira',sans-serif;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.82}
.help-btn:hover{opacity:1;background:#f8faf7}
.help-note{display:none;margin:-7px 0 13px;padding:10px 12px;border-radius:8px;background:#f8faf7;border:1px solid #e2e8df;border-left:3px solid currentColor;font-size:12px;line-height:1.6;color:#626c68;text-transform:none;letter-spacing:0;font-family:'Open Sans',Arial,sans-serif;font-weight:400}
.help-note.open{display:block}

.pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.pill{font-family:'Open Sans',sans-serif;font-size:12px;font-weight:500;padding:5px 13px;border-radius:4px;text-decoration:none;display:inline-block;transition:opacity .15s;line-height:1.4}
.pill:hover{opacity:.75;text-decoration:none}
.pill.p{background:rgba(230,126,34,.12);color:#8a4a0b;border:1px solid rgba(230,126,34,.30)}
.pill.z{background:rgba(0,103,120,.1);color:var(--p);border:1px solid rgba(0,103,120,.2)}
.pill.d{background:rgba(120,190,32,.12);color:#3d6b0a;border:1px solid rgba(120,190,32,.28)}
.mt{font-size:13px;color:#bbb;font-style:italic;margin-bottom:16px}
.ml{font-size:13px;color:#bbb;padding:2px 0 14px}
.cft{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:16px;border-top:1px solid var(--el);margin-top:2px}
.bmore{font-family:'Saira',sans-serif;font-size:13px;font-weight:600;color:#fff;background:var(--g);border:none;border-radius:999px;padding:9px 22px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;letter-spacing:.02em;transition:background .15s}
.bmore:hover{background:#5fa018;text-decoration:none;color:#fff}
.ftnote{font-size:12px;color:#697872}
.cnote{font-size:12px;color:#888;margin-bottom:12px;padding:10px 14px;background:#f9faf8;border-radius:6px;border-left:3px solid var(--el);line-height:1.6}

.external-diseases{margin:26px 0 20px;padding:20px;border:1px solid rgba(202,0,93,.18);border-radius:18px;background:linear-gradient(135deg,rgba(202,0,93,.035),rgba(0,103,120,.035))}
.external-diseases-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:7px}
.external-kicker{margin:0 0 2px;font-family:'Saira',sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9d0048}
.external-diseases h3{margin:0;font-family:'Saira',sans-serif;font-size:19px;line-height:1.3;color:var(--oc-blue)}
.external-count{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid rgba(202,0,93,.18);font-family:'Saira',sans-serif;font-size:10px;font-weight:700;color:#9d0048}
.external-intro{margin:0 0 14px;font-size:12px;line-height:1.6;color:#5d6c67}
.external-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.external-card{min-width:0;padding:14px;border-radius:14px;background:#fff;border:1px solid rgba(0,103,120,.12);box-shadow:0 6px 18px rgba(0,0,0,.025)}
.external-name{font-family:'Saira',sans-serif;font-size:14px;font-weight:700;color:var(--oc-blue);text-decoration:none}
.external-name:hover{text-decoration:underline}
.external-card p{margin:7px 0 10px;font-size:11.5px;line-height:1.55;color:#5d6c67}
.external-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:10px;line-height:1.45;color:#82908a}
.external-meta a{color:#526c65;text-decoration:underline;text-underline-offset:2px}
.consult-note{display:flex;gap:12px;align-items:flex-start;margin:12px 0 18px;padding:14px 16px;border-radius:14px;background:rgba(202,0,93,.065);border:1px solid rgba(202,0,93,.20);border-left:4px solid var(--oc-pink);color:#4f3d45}
.consult-note strong{flex:0 0 210px;font-family:'Saira',sans-serif;font-size:13px;color:#9c0048}
.consult-note span{font-size:12px;line-height:1.6}



/* FILTER RESULTS */
.filter-results{display:none;background:#fff;border:1px solid var(--el);border-radius:14px;margin:12px 0 0;padding:15px 16px;box-shadow:0 3px 14px rgba(0,0,0,.04)}
.filter-results.open{display:block}
.fr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.fr-title{font-family:'Saira',sans-serif;font-size:16px;font-weight:600;color:var(--gr);line-height:1.25}
.fr-sub{font-size:12px;color:#8a958f;margin-top:3px;line-height:1.5}
.fr-source-note{font-size:12px;line-height:1.6;color:#4f5f59;background:#f5f9f2;border:1px solid #dfe9d8;border-left:4px solid var(--g);border-radius:10px;padding:9px 11px;margin:-1px 0 11px}
.fr-source-note strong{color:var(--gr)}
.fr-source-note a{color:var(--p);font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.fr-source-note span{color:#77847f;white-space:nowrap}
.fr-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fr-link{font-family:'Saira',sans-serif;font-size:11px;font-weight:600;border-radius:999px;border:1px solid rgba(0,103,120,.22);background:#fff;color:var(--p);padding:7px 12px;text-decoration:none;white-space:nowrap}
.fr-link:hover{background:rgba(0,103,120,.06);text-decoration:none;color:var(--p)}
.fr-grid{display:flex;flex-wrap:wrap;gap:7px;max-height:178px;overflow:auto;padding-right:3px}
.fr-chip{font-family:'Saira',sans-serif;font-size:12px;font-weight:600;background:#f8faf7;border:1px solid #e2e9df;border-radius:999px;color:#4e5c57;padding:6px 11px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.fr-chip:hover{background:#fff;border-color:rgba(120,190,32,.42);transform:translateY(-1px)}
.fr-facet-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0 0 11px;padding:9px 11px;border-radius:10px;background:#f8faf7;border:1px solid #e5ebe2;font-size:11px;color:#596761}
.fr-facet-legend span{display:inline-flex;align-items:center;gap:6px}
.fr-facet-legend i{width:11px;height:11px;border-radius:999px;display:inline-block;flex:0 0 auto}
.fr-facet-legend i.yf-risk{background:#78BE20}
.fr-facet-legend i.yf-entry{background:#F2B705}
.fr-facet-legend i.yf-both{background:#CA005D}
.fr-facet-legend i.dg-endemic{background:#CA005D}
.fr-facet-legend i.dg-general{background:#78BE20}
.fr-chip.yf-risk{background:rgba(120,190,32,.11);border-color:rgba(120,190,32,.38);color:#355f09}
.fr-chip.yf-entry{background:rgba(242,183,5,.13);border-color:rgba(242,183,5,.46);color:#725400}
.fr-chip.yf-both{background:rgba(202,0,93,.09);border-color:rgba(202,0,93,.30);color:#8b0040}
.fr-chip.dg-endemic{background:rgba(202,0,93,.09);border-color:rgba(202,0,93,.30);color:#8b0040}
.fr-chip.dg-general{background:rgba(120,190,32,.11);border-color:rgba(120,190,32,.38);color:#355f09}
.fr-chip.yf-risk:hover,.fr-chip.yf-entry:hover,.fr-chip.yf-both:hover{background:#fff}
.fr-chip.dg-endemic:hover,.fr-chip.dg-general:hover{background:#fff}
.fr-empty{font-size:13px;color:#999;line-height:1.6;background:#f8faf7;border-radius:8px;padding:10px 12px}
.more-diseases{width:100%;border-top:1px solid #edf1ea;margin-top:2px;padding-top:8px}
.more-diseases summary{font-family:'Saira',sans-serif;font-size:12px;font-weight:600;color:#66736d;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px}
.more-diseases summary::-webkit-details-marker{display:none}
.more-diseases summary::after{content:'';width:18px;height:18px;border-radius:999px;border:1px solid #dfe6dc;display:inline-flex;align-items:center;justify-content:center;color:#7b8781;background:linear-gradient(currentColor,currentColor) center/8px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 8px no-repeat}
.more-diseases[open] summary::after{content:'';background:linear-gradient(currentColor,currentColor) center/8px 1.5px no-repeat}
.more-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}

/* MAP SELECTED DESTINATION OVERLAY */
.map-info{display:none;position:absolute;top:14px;right:14px;z-index:12;width:min(360px,calc(100% - 28px));background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.75);border-top:3px solid var(--g);border-radius:16px;padding:14px 15px 13px;box-shadow:0 12px 34px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.map-info.open{display:block}
.mi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.mi-label{font-family:'Saira',sans-serif;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#9aa4a0;margin-bottom:2px}
.mi-title{font-family:'Saira',sans-serif;font-size:20px;font-weight:600;color:var(--gr);line-height:1.18}
.mi-close{width:28px;height:28px;flex:0 0 auto;border:1px solid var(--el);border-radius:999px;background:#fff;color:#7d8782;font-family:'Saira',sans-serif;font-size:16px;line-height:1;cursor:pointer}
.mi-close:hover{border-color:#c6d0c3;color:var(--gr)}
.mi-text{font-size:12px;color:#6c7772;line-height:1.55;margin:6px 0 10px}
.mi-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.mi-badge{font-family:'Saira',sans-serif;font-size:10px;font-weight:600;border-radius:999px;padding:4px 9px;background:#f3f7f1;color:#5e6b5a;border:1px solid #e4ecdf}
.mi-badge.p{background:rgba(230,126,34,.13);color:#8a4a0b;border-color:rgba(230,126,34,.34)}
.mi-badge.z{background:rgba(0,103,120,.1);color:var(--p);border-color:rgba(0,103,120,.22)}
.mi-badge.d{background:rgba(120,190,32,.13);color:#3d6b0a;border-color:rgba(120,190,32,.30)}
.mi-badge.filter{background:rgba(242,183,5,.16);color:#735400;border-color:rgba(242,183,5,.42)}
.mi-mini{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.mi-pill{font-size:11px;line-height:1.35;border-radius:6px;padding:4px 7px;background:#f6f8f5;color:#65716d;border:1px solid #e4e9e2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mi-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.mi-btn{font-family:'Saira',sans-serif;font-size:11px;font-weight:600;border-radius:999px;border:1px solid rgba(120,190,32,.38);background:var(--g);color:#fff;padding:7px 12px;text-decoration:none;cursor:pointer}
.mi-btn:hover{text-decoration:none;background:#5fa018;color:#fff}
.mi-btn.secondary{background:#fff;color:var(--p);border-color:rgba(0,103,120,.25)}
.mi-btn.secondary:hover{background:rgba(0,103,120,.06);color:var(--p)}
.mi-btn.ghost{background:transparent;color:#5a6964;border:1px dashed rgba(0,103,120,.24)}
.mi-btn.ghost:hover{background:rgba(0,103,120,.05);color:var(--p)}
.mi-loading{font-size:11px;color:#909a95;margin-top:6px}
/* LEGEND */
.leg{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#888}
.dbg{display:none;margin-top:12px;background:#fff;border:1px dashed #cfd8cf;border-radius:10px;padding:12px 14px;font-size:12px;color:#666;line-height:1.55}
.dbg.open{display:block}
.dbg strong{font-family:'Saira',sans-serif;color:var(--gr)}
.dbg code{background:#f5f7f4;border-radius:4px;padding:1px 4px}
.dbg-list{margin-top:7px;display:flex;flex-wrap:wrap;gap:6px}
.dbg-chip{background:#f7f9f6;border:1px solid #e2e8df;border-radius:999px;padding:3px 8px}
.li{display:flex;align-items:center;gap:7px}
.ld{width:16px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}
.lh{margin-left:auto;font-size:11px;color:#bbb}



@media(max-width:640px){
  .hd,.main,.sw,.filters,.quick,.info-hub{padding-left:14px;padding-right:14px}
  .fbox{align-items:flex-start}
  .fstatus{margin-left:0;width:100%}
  .quick{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .qchip{white-space:nowrap}
  #mw,#av-map{height:300px}
  .dname{font-size:20px}
  .card{padding:18px 14px 16px}
  .lh{display:none}
  .map-info{top:auto;right:10px;left:10px;bottom:52px;width:auto;border-radius:14px;padding:12px}
  .mi-title{font-size:18px}
  .fr-head{flex-direction:column}
  .fr-actions{justify-content:flex-start}
  .fr-grid{max-height:220px}
}




/* ==== Article-inspired redesign v11 ==== */
:root{
  --oc-green:#78be20;
  --oc-blue:#006778;
  --oc-pink:#ca005D;
  --oc-pink-soft:#ffe7ef;
  --oc-pink-border:#f2bfd2;
  --oc-pink-text:#6c2941;
  --oc-text:#243238;
  --oc-muted:#66757b;
  --oc-bg-soft:#f4f9f7;
  --oc-bg-green:rgba(120,190,32,.10);
  --oc-border:rgba(0,103,120,.16);
  --oc-shadow:0 18px 40px rgba(0,103,120,.12);
  --container-max:1430px;
  --space-page:24px;
  --space-page-mobile:12px;
}
body.oc-map-page{color:var(--oc-text);background:linear-gradient(180deg,#f4f9f7 0%,#eef5f1 100%);padding:0 0 38px}
a{color:var(--oc-blue)}
a:hover{color:var(--oc-green)}
.hd{
  max-width:var(--container-max);margin:18px auto 0;padding:24px 28px;border:none;border-radius:24px;
  background:radial-gradient(circle at top right, rgba(120,190,32,.24), transparent 34%), linear-gradient(135deg, rgba(0,103,120,.98), rgba(0,103,120,.84));
  color:#fff;overflow:hidden;position:relative;box-shadow:var(--oc-shadow)
}
.hd::after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;border:34px solid rgba(255,255,255,.09)}
.hd-logo,.hd-title,#av-status{position:relative;z-index:1}
.hd-logo{font-size:22px;font-weight:700;color:#fff;letter-spacing:.10em}
.hd-title{font-size:29px;font-weight:600;color:#fff;line-height:1.08;letter-spacing:-.03em}
.hd-sub{position:relative;z-index:1;font-size:13px;color:rgba(255,255,255,.82);margin-top:7px}
.hd-sub a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.hd-sub a:hover{color:#dff3b8}
#av-status{margin-left:auto;align-self:flex-start;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);font-size:11px;color:#fff;border:1px solid rgba(255,255,255,.15)}
.sw,.filters,.quick,.main{max-width:var(--container-max)}
.sw{margin-top:16px}
.si{background:#fff;border:1px solid var(--oc-border);border-radius:20px;box-shadow:0 10px 26px rgba(0,0,0,.045)}
.si:focus-within{border-color:rgba(120,190,32,.42);box-shadow:0 12px 30px rgba(0,103,120,.10)}
.sico{padding-left:18px;color:#91a19d}
#av-search{font-size:16px;padding:14px 0;color:var(--oc-text)}
#av-dd{border:1px solid var(--oc-border);border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.fbox,.filter-results,.card,.dbg{
  border-radius:24px;border:1px solid var(--oc-border);background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.05)
}
.fbox{padding:14px 16px 14px}
.fbox{position:relative;padding-right:66px}
.flbl-row{display:flex;flex-direction:column;gap:2px;min-width:210px}
.flbl{color:var(--oc-blue);font-size:14px;font-weight:700;letter-spacing:.01em;text-transform:none}
.flbl-hint{font-size:11px;color:#7f8d87;line-height:1.35}
.fbtn{padding:9px 16px;border-radius:999px;background:#f8fbf9;border:1px solid rgba(0,103,120,.12);color:#4a5a55;font-weight:600}
.fbtn:hover{background:#fff;border-color:rgba(0,103,120,.22)}
.fbtn.active{background:rgba(242,183,5,.14);border-color:rgba(242,183,5,.55);color:#735400;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.fbtn.reset.active{background:rgba(120,190,32,.12);border-color:rgba(120,190,32,.40);color:#3d6b0a}
.finfo{position:absolute;top:10px;right:12px;z-index:3}
.finfo summary{list-style:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid rgba(0,103,120,.20);background:#fff;color:#5e6d68;font-family:'Saira',sans-serif;font-size:16px;font-weight:700;cursor:pointer;line-height:1}
.finfo summary::-webkit-details-marker{display:none}
.finfo[open] summary{background:rgba(0,103,120,.06);color:var(--oc-blue);border-color:rgba(0,103,120,.26)}
.finfo summary:focus-visible{outline:3px solid rgba(0,103,120,.28);outline-offset:2px}
.finfo-pop{position:absolute;top:30px;right:0;width:min(420px,calc(100vw - 42px));padding:11px 12px 11px 15px;border-radius:12px;background:var(--oc-bg-soft);border:1px solid var(--oc-border);color:var(--oc-muted);font-size:12px;line-height:1.6;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.finfo-pop::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,var(--oc-green),var(--oc-blue))}
.dctrl{display:inline-flex;align-items:center}
.dctrl .fbtn{border-radius:999px}
.dlink{display:none !important}
.faux-note{display:block;width:100%;margin:8px 0 0;padding:12px 14px 12px 17px;border-radius:16px;background:var(--oc-bg-soft);border:1px solid var(--oc-border);color:var(--oc-muted);font-size:12px;line-height:1.6;position:relative}
.faux-note::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,var(--oc-green),var(--oc-blue))}
.more-diseases{border-top:1px solid rgba(0,103,120,.10);margin-top:6px;padding-top:9px}
.more-diseases summary{
  font-size:15px;
  font-weight:700;
  color:var(--oc-blue);
  padding:2px 0;
  border:none;
  border-radius:0;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  line-height:1.35;
  gap:10px;
}
.more-diseases summary::after{
  width:25px;
  height:25px;
  font-size:17px;
  font-weight:600;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  color:var(--oc-blue);
  border-color:rgba(0,103,120,.25);
  background:rgba(0,103,120,.05);
  flex:0 0 auto;
}
.more-diseases summary::after{background-color:rgba(0,103,120,.05);background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:center,center;background-size:10px 1.6px,1.6px 10px;background-repeat:no-repeat}
.more-diseases[open] summary::after{background-image:linear-gradient(currentColor,currentColor);background-size:10px 1.6px}
.more-grid{gap:8px}
.quick{margin-top:12px}
.qchip{background:#fff;border:1px solid rgba(0,103,120,.10);padding:8px 14px;box-shadow:0 5px 16px rgba(0,0,0,.03)}
.qchip:hover{border-color:rgba(120,190,32,.35)}
#mw{height:540px;border-radius:22px;border:1px solid rgba(0,103,120,.16);box-shadow:0 18px 42px rgba(0,0,0,.08);overflow:hidden}
#av-map{height:540px}
#hlbl{bottom:16px;left:50%;transform:translateX(-50%);background:rgba(10,25,55,.70);padding:8px 16px;border-radius:999px;max-width:75%;text-align:center;backdrop-filter:blur(6px)}
.map-info{border-radius:20px;border:1px solid rgba(0,103,120,.16);border-top:4px solid var(--oc-green);padding:16px 16px 14px;background:rgba(255,255,255,.97);box-shadow:0 18px 44px rgba(0,0,0,.18)}
.mi-label{font-size:10px;letter-spacing:.12em;color:#7a8882}
.mi-title{font-family:'Saira',sans-serif;font-size:24px;font-weight:600;color:var(--oc-blue);line-height:1.12;letter-spacing:-.03em}
.mi-close{width:28px;height:28px;border-radius:999px}
.mi-badges{gap:7px}
.mi-badge,.vcb,.pill,.fr-chip,.mi-pill,.mi-link-pill,.mi-more{border-radius:999px}
.mi-badge{font-size:11px;padding:5px 10px}
.mi-mini{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.mi-link-pill,.mi-pill{font-size:11px;line-height:1.35;padding:6px 10px;display:inline-flex;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;border:1px solid rgba(0,103,120,.12);background:#fff;color:#556560}
.mi-link-pill:hover{background:#f8fbf9;color:var(--oc-blue);text-decoration:none;border-color:rgba(120,190,32,.35)}
.mi-link-pill.p{background:rgba(230,126,34,.12);color:#8a4a0b;border-color:rgba(230,126,34,.28)}
.mi-link-pill.z{background:rgba(0,103,120,.09);color:var(--oc-blue);border-color:rgba(0,103,120,.16)}
.mi-link-pill.d{background:rgba(120,190,32,.12);color:#3d6b0a;border-color:rgba(120,190,32,.25)}
.mi-more{font-size:11px;padding:6px 10px;background:linear-gradient(90deg,rgba(120,190,32,.10),rgba(0,103,120,.08));color:#5d6d67;border:1px solid rgba(0,103,120,.12)}
.mi-text{color:var(--oc-muted);line-height:1.6;margin-top:2px}
.mi-actions{margin-top:10px}
.mi-btn{padding:8px 14px;border-radius:999px}
.mi-btn.secondary{background:#fff}
.card{padding:28px 30px 24px;border-top:none;overflow:hidden;background:radial-gradient(circle at right top, rgba(120,190,32,.14), transparent 30%), linear-gradient(135deg,#fff,#fbfefd)}
.card::after{top:-58px;right:-58px;width:210px;height:210px;background:rgba(120,190,32,.07);border-radius:50%;transform:none}
.dlbl{font-size:10px;color:#7f8d87;letter-spacing:.12em}
.dname{font-size:34px;color:var(--oc-blue);letter-spacing:-.03em}
.bclose{border:1px solid rgba(0,103,120,.14);padding:8px 16px}
.vcnts{margin-top:10px;gap:10px}
#vcc:empty{display:none;margin:0;padding:0}
.vcb{font-size:12px;padding:7px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.03)}
.div{background:rgba(0,103,120,.10);margin-bottom:20px}
.intro,.cnote{position:relative;padding:18px 18px 18px 22px;border-radius:18px;background:var(--oc-bg-soft);border:1px solid var(--oc-border);box-shadow:0 10px 26px rgba(0,0,0,.035)}
.intro::before,.cnote::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:5px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,var(--oc-green),var(--oc-blue))}
.cnote{margin-bottom:12px}
.sl{position:relative;margin:24px 0 10px;padding:0 0 10px 18px;font-size:20px;font-weight:600;letter-spacing:-.02em;text-transform:none;color:var(--oc-blue)}
.sl::before{content:"";position:absolute;left:0;top:3px;width:6px;height:calc(100% - 12px);border-radius:99px;background:linear-gradient(180deg,var(--oc-green),var(--oc-blue))}
.sl::after{content:"";position:absolute;left:18px;bottom:0;width:72px;height:3px;border-radius:99px;background:var(--oc-green)}
.sl.p,.sl.z,.sl.d{color:var(--oc-blue)}
.sl.p::before,.sl.z::before,.sl.d::before{background:linear-gradient(180deg,var(--oc-green),var(--oc-blue))}
.sl.p::after,.sl.z::after,.sl.d::after{background:var(--oc-green)}
.sl .help-btn{margin-left:6px;transform:translateY(-1px)}
.help-btn{width:16px;height:16px;font-size:10px;opacity:.9}
.help-note{margin:-2px 0 14px 18px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg, rgba(244,249,247,1), rgba(255,255,255,1));border:1px solid rgba(120,190,32,.22);box-shadow:0 10px 24px rgba(0,0,0,.03)}
.pills{gap:8px;margin-bottom:18px}
.pill{padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.02)}
.mt,.ml,.ftnote,.fr-sub{color:var(--oc-muted)}
.cft{padding-top:18px;border-top:1px solid rgba(0,103,120,.10)}
.bmore{background:var(--oc-green);box-shadow:0 10px 22px rgba(120,190,32,.18)}
.bmore.secondary{background:#fff;border:1px solid rgba(0,103,120,.16);box-shadow:none}
.filter-results{margin-top:14px;padding:18px 18px 16px;background:linear-gradient(135deg,#fff,#fbfefd)}
.fr-title{font-size:18px;color:var(--oc-blue);letter-spacing:-.02em}
.fr-chip{padding:8px 13px;background:#fff;border:1px solid rgba(0,103,120,.12);color:#42524d}
.fr-chip:hover{border-color:rgba(120,190,32,.38);background:#f8fbf9}
.fr-link,.fr-actions{display:none !important}
.leg{margin-top:14px;color:#697872}
.dbg{border-style:solid}
@media(max-width:640px){
  body.oc-map-page{padding-bottom:24px}
  .hd,.main,.sw,.filters,.quick,.info-hub{padding-left:14px;padding-right:14px}
  .hd{margin-top:12px;padding:22px 18px;border-radius:20px}
  .hd-title{font-size:25px}
  #av-status{margin-left:0;align-self:stretch}
  .si{border-radius:18px}
  .fbox,.filter-results,.card{border-radius:20px}
  #mw,#av-map{height:320px;border-radius:18px}
  .map-info{right:10px;left:10px;top:10px;width:auto;border-radius:18px}
  .dname{font-size:30px}
  .sl{font-size:18px}
  .quick{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .qchip{white-space:nowrap}
  .fbox{padding-right:56px}
  .flbl-row{min-width:0;width:100%}
  .flbl{font-size:13px}
  .flbl-hint{font-size:11px}
  .finfo{top:9px;right:10px}
  .finfo summary{width:36px;height:36px}
  .finfo-pop{right:-2px;width:min(340px,calc(100vw - 32px))}
}


/* ==== v12 UX + brand refinements ==== */
.test-badge{
  position:relative;z-index:1;margin-left:auto;
  font-family:'Saira',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#003f49;background:#dff3b8;border:1px solid rgba(255,255,255,.45);
  border-radius:999px;padding:9px 14px;box-shadow:0 10px 26px rgba(0,0,0,.12);white-space:nowrap
}
#av-status{margin-left:0}
.si{border:2px solid rgba(120,190,32,.55)!important;box-shadow:0 12px 30px rgba(0,103,120,.12),0 0 0 5px rgba(120,190,32,.08)}
.si:focus-within{border-color:var(--oc-blue)!important;box-shadow:0 16px 36px rgba(0,103,120,.16),0 0 0 5px rgba(0,103,120,.10)}
.fbtn.active{background:linear-gradient(135deg,var(--oc-green),#64a91a)!important;border-color:rgba(120,190,32,.72)!important;color:#fff!important;box-shadow:0 10px 22px rgba(120,190,32,.20)}
.fbtn.active:hover{color:#fff}
.fbtn.reset.active{background:linear-gradient(135deg,var(--oc-blue),#005564)!important;border-color:rgba(0,103,120,.72)!important;color:#fff!important;box-shadow:0 10px 22px rgba(0,103,120,.18)}
.qchip.active{background:var(--oc-green)!important;border-color:var(--oc-green)!important;color:#fff!important;box-shadow:0 10px 22px rgba(120,190,32,.18)}
.map-info .mi-badges{padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid rgba(0,103,120,.12)}
.mi-more{cursor:pointer}
.mi-more:hover{background:rgba(0,103,120,.08);border-color:rgba(0,103,120,.22);color:var(--oc-blue)}
.mi-badge.filter{display:none}
.vcbp,.pill.p,.mi-badge.p{background:rgba(0,103,120,.10)!important;color:var(--oc-blue)!important;border-color:rgba(0,103,120,.22)!important}
.vcbz,.pill.z,.mi-badge.z{background:rgba(120,190,32,.13)!important;color:#3d6b0a!important;border-color:rgba(120,190,32,.30)!important}
.vcbd,.pill.d,.mi-badge.d{background:#fff!important;color:#52625d!important;border-color:rgba(0,103,120,.14)!important}
.mi-link-pill.p{background:rgba(0,103,120,.10)!important;color:var(--oc-blue)!important;border-color:rgba(0,103,120,.20)!important}
.mi-link-pill.z{background:rgba(120,190,32,.13)!important;color:#3d6b0a!important;border-color:rgba(120,190,32,.28)!important}
.mi-link-pill.d{background:#fff!important;color:#52625d!important;border-color:rgba(0,103,120,.14)!important}
@keyframes ocFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes ocSoftPop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.hd,.sw,.filters,.quick,.main{animation:ocFadeUp .55s ease both}
.sw{animation-delay:.04s}.filters{animation-delay:.08s}.quick{animation-delay:.12s}.main{animation-delay:.16s}
.card,.filter-results.open,.map-info.open{animation:ocSoftPop .32s ease both}
.fbtn,.qchip,.pill,.mi-link-pill,.fr-chip,.bmore,.mi-btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.fbtn:hover,.qchip:hover,.pill:hover,.mi-link-pill:hover,.fr-chip:hover,.bmore:hover,.mi-btn:hover{transform:translateY(-1px)}
.country{transition:fill .18s ease,stroke .18s ease}
.mi-more{font-size:11px;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(120,190,32,.10),rgba(0,103,120,.08));color:#5d6d67;border:1px solid rgba(0,103,120,.12)}
@media(prefers-reduced-motion:reduce){
  .hd,.sw,.filters,.quick,.main,.card,.filter-results.open,.map-info.open{animation:none!important}
  .fbtn,.qchip,.pill,.mi-link-pill,.fr-chip,.bmore,.mi-btn,.country{transition:none!important}
}
@media(max-width:640px){
  .test-badge{margin-left:0;font-size:10px;padding:8px 12px}
  .external-diseases{padding:15px}
  .external-diseases-head{display:block}
  .external-count{display:inline-flex;margin-top:8px}
  .external-grid{grid-template-columns:1fr}
  .consult-note{display:block}
  .consult-note strong{display:block;margin-bottom:5px}
}


/* ==== v13 layout, mobile and width refinements ==== */
:root{--oc-magenta:#ca005D}
.hd,.sw,.filters,.quick,.main{max-width:var(--container-max)}
.hd{align-items:center}
.test-badge,#av-status{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  align-self:center;
}
.test-badge{
  background:var(--oc-magenta)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.35)!important;
  box-shadow:0 12px 28px rgba(202,0,93,.22)!important;
}
#av-status{
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  backdrop-filter:blur(6px);
}
#mw{height:620px}
#av-map{height:620px}
.map-info{width:min(390px,calc(100% - 28px))}
@media(min-width:1500px){
  .hd,.sw,.filters,.quick,.main{max-width:var(--container-max)}
  #mw,#av-map{height:660px}
}
@media(max-width:900px){
  .hd{gap:12px}
  .hd-logo{width:100%}
  .hd-title{font-size:26px}
  .test-badge{margin-left:0}
  #av-status{margin-left:0}
  #mw,#av-map{height:440px}
  .map-info{top:10px;right:10px;left:10px;width:auto}
}
@media(max-width:640px){
  body.oc-map-page{padding-bottom:20px}
  .hd,.main,.sw,.filters,.quick,.info-hub{padding-left:12px!important;padding-right:12px!important}
  .hd{margin-top:10px;padding:20px 16px;border-radius:20px;display:grid;grid-template-columns:1fr;gap:10px}
  .hd-logo{font-size:18px;width:auto}
  .hd-title{font-size:24px;line-height:1.12}
  .hd-sub{font-size:12px;line-height:1.45}
  .test-badge,#av-status{
    width:fit-content;
    max-width:100%;
    min-height:32px;
    font-size:10px;
    padding:8px 12px;
  }
  .sw{margin-top:12px}
  #av-search{font-size:15px;padding:13px 0}
  .sico{padding-left:14px}
  .fbox{padding:12px;gap:8px;border-radius:18px}
  .flbl{width:100%;font-size:13px}
  .fbtn{font-size:11px;padding:8px 12px}
  .more-diseases{margin-top:4px}
  .more-diseases summary{font-size:14px}
  .more-grid{gap:7px}
  .faux-note{font-size:11px;padding:11px 12px 11px 16px}
  .fstatus{width:100%;margin-left:0}
  .quick{gap:7px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .qchip{white-space:nowrap;padding:7px 12px}
  .info-hub{margin-top:10px;gap:8px}
  .legal-alert{font-size:12px;padding:11px 12px}
  .info-box summary{font-size:12px;padding:10px 1px}
  .info-steps li,.info-list li,.faq-item p{font-size:12px}
  .main{margin-top:12px}
  #mw,#av-map{height:360px!important;border-radius:18px}
  .map-info{top:8px;right:8px;left:8px;bottom:auto;width:auto;max-height:calc(100% - 16px);overflow:auto;padding:12px;border-radius:16px}
  .mi-title{font-size:20px}
  .mi-badges{gap:5px}
  .mi-badge{font-size:11px;padding:4px 8px}
  .mi-mini{gap:5px}
  .mi-link-pill,.mi-pill,.mi-more{font-size:11px;padding:5px 8px}
  .mi-text{font-size:11px;line-height:1.5}
  .mi-actions{gap:6px}
  .mi-btn{font-size:11px;padding:7px 10px}
  #zc{right:10px;bottom:10px}
  .zbtn{width:32px;height:32px}
  .filter-results{padding:14px 13px;border-radius:18px}
  .fr-title{font-size:16px}
  .fr-grid{max-height:180px}
  .card{padding:22px 16px 18px;border-radius:20px}
  .chd{flex-direction:column}
  .hdr{align-items:flex-start;width:100%}
  .dname{font-size:28px}
  .vcnts{justify-content:flex-start}
  .sl{font-size:18px;margin-top:22px}
  .pills{gap:7px}
  .pill{font-size:11px;padding:7px 11px}
  .actionrow{width:100%}
  .bmore{width:100%;justify-content:center}
}

.info-hub.info-hub-full{
  width:auto;
  max-width:var(--container-max)!important;
  padding:0 var(--space-page)!important;
  margin:10px auto 0;
}
.info-hub.info-hub-full .legal-alert{
  background:var(--oc-pink-soft);
  border-color:var(--oc-pink-border);
  color:var(--oc-pink-text);
  border-left-color:var(--oc-pink);
  border-radius:16px;
  border-left-width:4px;
  border-right-width:1px;
}
.info-hub.info-hub-full .legal-alert strong{color:var(--oc-pink)}
.info-hub.info-hub-full .legal-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;align-items:start;padding:15px 17px}
.info-hub.info-hub-full .legal-alert strong{font-size:14px;white-space:nowrap}
.info-hub.info-hub-full .legal-alert span{font-size:13px;line-height:1.65}
@media(max-width:640px){
  .info-hub.info-hub-full{
    margin-top:8px;
    padding:0 var(--space-page-mobile)!important;
  }
  .info-hub.info-hub-full .legal-alert{grid-template-columns:1fr;padding:14px}
  .info-hub.info-hub-full .legal-alert strong{white-space:normal}
}
@media(max-width:420px){
  #mw,#av-map{height:330px!important}
  .hd-title{font-size:22px}
  .fbtn{font-size:10.5px;padding:7px 10px}
  .test-badge,#av-status{font-size:9.5px}
}


/* ==== v14 admin + detail hover ==== */
.pill:hover{
  opacity:1!important;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,103,120,.10);
}
.pill.p:hover{
  background:rgba(0,103,120,.18)!important;
  color:var(--oc-blue)!important;
  border-color:var(--oc-blue)!important;
}
.pill.z:hover{
  background:rgba(120,190,32,.20)!important;
  color:#2f5f09!important;
  border-color:var(--oc-green)!important;
}
.pill.d:hover{
  background:linear-gradient(90deg,rgba(120,190,32,.18),rgba(0,103,120,.08))!important;
  color:#2f5f09!important;
  border-color:var(--oc-green)!important;
}
.admin-panel{
  display:none;
  margin-top:18px;
  border-radius:24px;
  border:1px solid rgba(202,0,93,.22);
  background:
    radial-gradient(circle at right top, rgba(202,0,93,.10), transparent 30%),
    linear-gradient(135deg,#fff,#fbfefd);
  box-shadow:0 18px 40px rgba(0,0,0,.055);
  padding:22px 24px;
}
.admin-panel.open{display:block}
.adm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.adm-kicker{
  font-family:'Saira',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ca005D;
  margin-bottom:4px;
}
.adm-title{
  font-family:'Saira',sans-serif;
  font-size:24px;
  font-weight:600;
  line-height:1.15;
  color:var(--oc-blue);
  letter-spacing:-.03em;
}
.adm-note{font-size:13px;color:var(--oc-muted);line-height:1.65;max-width:760px;margin-top:6px}
.adm-badge{
  font-family:'Saira',sans-serif;
  font-size:11px;
  font-weight:700;
  color:#fff;
  background:#ca005D;
  border-radius:999px;
  padding:8px 12px;
  white-space:nowrap;
}
.adm-grid{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:18px}
.adm-card{
  background:#fff;
  border:1px solid rgba(0,103,120,.13);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 26px rgba(0,0,0,.035);
}
.adm-card h3{
  font-family:'Saira',sans-serif;
  font-size:16px;
  color:var(--oc-blue);
  margin:0 0 10px;
}
.adm-search{
  width:100%;
  border:1px solid rgba(0,103,120,.18);
  border-radius:999px;
  padding:10px 13px;
  font-size:13px;
  outline:none;
  margin-bottom:10px;
}
.adm-search:focus{border-color:var(--oc-green);box-shadow:0 0 0 4px rgba(120,190,32,.10)}
.adm-list{display:grid;gap:7px;max-height:330px;overflow:auto;padding-right:3px}
.adm-item{
  text-align:left;
  border:1px solid rgba(0,103,120,.11);
  background:#f8fbf9;
  border-radius:13px;
  padding:9px 10px;
  cursor:pointer;
  transition:background .15s,border-color .15s,transform .15s;
}
.adm-item:hover,.adm-item.active{background:#fff;border-color:rgba(120,190,32,.38);transform:translateY(-1px)}
.adm-item strong{display:block;font-family:'Saira',sans-serif;font-size:13px;color:var(--oc-text)}
.adm-item code{font-size:11px;color:#7b8781;word-break:break-all}
.adm-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.adm-field.full{grid-column:1/-1}
.adm-field label{
  display:block;
  font-family:'Saira',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a8782;
  margin-bottom:5px;
}
.adm-field input,.adm-field textarea{
  width:100%;
  border:1px solid rgba(0,103,120,.16);
  border-radius:12px;
  padding:10px 11px;
  font-size:13px;
  color:var(--oc-text);
  outline:none;
}
.adm-field textarea{min-height:84px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}
.adm-field input:focus,.adm-field textarea:focus{border-color:var(--oc-green);box-shadow:0 0 0 4px rgba(120,190,32,.10)}
.adm-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.adm-btn{
  font-family:'Saira',sans-serif;
  font-size:12px;
  font-weight:700;
  border-radius:999px;
  border:1px solid rgba(0,103,120,.18);
  background:#fff;
  color:var(--oc-blue);
  padding:9px 14px;
  cursor:pointer;
}
.adm-btn.primary{background:var(--oc-green);border-color:var(--oc-green);color:#fff}
.adm-btn.danger{background:#fff;color:#ca005D;border-color:rgba(202,0,93,.25)}
.adm-btn:hover{transform:translateY(-1px)}
.adm-help{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--oc-bg-soft);
  border:1px solid var(--oc-border);
  color:var(--oc-muted);
  font-size:12px;
  line-height:1.6;
}
.adm-export{margin-top:12px}
.adm-empty{font-size:13px;color:var(--oc-muted);padding:12px;border-radius:14px;background:#f8fbf9}
@media(max-width:760px){
  .adm-grid{grid-template-columns:1fr}
  .adm-form{grid-template-columns:1fr}
  .admin-panel{padding:18px 14px;border-radius:20px}
  .adm-head{flex-direction:column}
}


/* ==== v15 interaction refinements ==== */
.mi-vax-groups{display:grid;gap:9px;margin:0 0 12px;padding-top:2px}
.mi-vax-row{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:8px;
  align-items:start;
  padding:7px 0;
  border-top:1px solid rgba(0,103,120,.09);
}
.mi-vax-row:first-child{border-top:none}
.mi-row-label{
  font-family:'Saira',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#72817b;
  padding-top:6px;
}
.mi-row-pills{display:flex;flex-wrap:wrap;gap:6px}
.fr-count{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  margin:7px 0 6px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(120,190,32,.13);
  border:1px solid rgba(120,190,32,.30);
  color:#3d6b0a;
  font-family:'Saira',sans-serif;
  font-size:12px;
  font-weight:600;
}
.fr-count strong{font-size:15px;color:#2f5f09}
.card::after{
  top:auto!important;
  right:auto!important;
  left:-72px!important;
  bottom:-82px!important;
  width:240px!important;
  height:240px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(120,190,32,.18),rgba(0,103,120,.08) 54%,transparent 68%)!important;
  border:28px solid rgba(0,103,120,.055);
  transform:none!important;
}
@media(max-width:640px){
  .mi-vax-row{grid-template-columns:1fr;gap:5px}
  .mi-row-label{padding-top:0}
}


/* ==== v16 admin disease filters + destination pattern ==== */
.card::after{
  top:-86px!important;
  left:-86px!important;
  right:auto!important;
  bottom:auto!important;
  width:260px!important;
  height:260px!important;
  border:none!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at center,
      rgba(120,190,32,.26) 0%,
      rgba(0,103,120,.14) 42%,
      rgba(255,255,255,.78) 67%,
      rgba(255,255,255,0) 72%)!important;
  opacity:.95;
}
.adm-disease-card{grid-column:1/-1}
.adm-disease-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.adm-mini-note{font-size:12px;color:var(--oc-muted);line-height:1.6;max-width:760px}
.adm-disease-select{min-width:240px}
.adm-field select{
  width:100%;
  border:1px solid rgba(0,103,120,.16);
  border-radius:12px;
  padding:10px 11px;
  font-size:13px;
  color:var(--oc-text);
  background:#fff;
  outline:none;
}
.adm-field select:focus{border-color:var(--oc-green);box-shadow:0 0 0 4px rgba(120,190,32,.10)}
.adm-disease-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:3px}
.adm-disease-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:14px;
  align-items:center;
  padding:10px 11px;
  border-radius:14px;
  background:#f8fbf9;
  border:1px solid rgba(0,103,120,.11);
}
.adm-disease-row strong{display:block;font-family:'Saira',sans-serif;font-size:13px;color:var(--oc-text)}
.adm-disease-row code{font-size:11px;color:#7b8781;word-break:break-all}
.adm-disease-state{
  display:inline-flex;
  margin-top:5px;
  padding:3px 8px;
  border-radius:999px;
  font-family:'Saira',sans-serif;
  font-size:10px;
  font-weight:700;
}
.adm-disease-state.on{background:rgba(120,190,32,.14);color:#3d6b0a}
.adm-disease-state.off{background:rgba(202,0,93,.08);color:#9d0048}
.adm-toggle{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.adm-toggle button{
  border:1px solid rgba(0,103,120,.14);
  background:#fff;
  color:#53645f;
  border-radius:999px;
  padding:6px 9px;
  font-family:'Saira',sans-serif;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.adm-toggle button.active{
  background:var(--oc-green);
  border-color:var(--oc-green);
  color:#fff;
}
.adm-toggle button[data-mode="exclude"].active{
  background:#ca005D;
  border-color:#ca005D;
}
@media(max-width:760px){
  .adm-disease-head{flex-direction:column}
  .adm-disease-select{min-width:0;width:100%}
  .adm-disease-row{grid-template-columns:1fr}
  .adm-toggle{justify-content:flex-start}
}


/* ==== v17 destination card pattern correction ==== */
.card::after{
  top:-58px!important;
  right:-58px!important;
  left:auto!important;
  bottom:auto!important;
  width:210px!important;
  height:210px!important;
  border:none!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at center,
      rgba(120,190,32,.15) 0%,
      rgba(0,103,120,.07) 44%,
      rgba(255,255,255,.75) 68%,
      rgba(255,255,255,0) 74%)!important;
  opacity:1!important;
  transform:none!important;
}


/* ==== v18 destination card green underlay only ==== */
.card::after{
  top:-70px!important;
  right:-70px!important;
  left:auto!important;
  bottom:auto!important;
  width:260px!important;
  height:260px!important;
  border:none!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at center,
      rgba(120,190,32,.22) 0%,
      rgba(120,190,32,.14) 34%,
      rgba(0,103,120,.08) 58%,
      rgba(120,190,32,0) 74%)!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:none!important;
}


/* ==== v19 destination card subtle article-style underlay ==== */
.card{
  background:
    radial-gradient(circle at right top,
      rgba(120,190,32,.18) 0%,
      rgba(120,190,32,.11) 26%,
      rgba(120,190,32,.045) 44%,
      rgba(255,255,255,0) 66%),
    linear-gradient(135deg, rgba(255,255,255,1), rgba(250,254,252,1))!important;
  border-color:rgba(120,190,32,.26)!important;
  box-shadow:0 18px 40px rgba(0,103,120,.08)!important;
}
.card::after{
  display:none!important;
  content:none!important;
}


/* ==== v22.6 yellow fever result groups ==== */
.fr-yf-overview{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.85fr);
  gap:12px;
  align-items:stretch;
  margin:0 0 14px;
}
.fr-yf-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(0,103,120,.14);
  border-left:4px solid var(--oc-green);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(120,190,32,.09),rgba(255,255,255,.96));
  color:#52625d;
  font-size:12px;
  line-height:1.55;
}
.fr-yf-copy strong{font-family:'Saira',sans-serif;color:var(--oc-blue);font-size:13px}
.fr-yf-links{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:2px}
.fr-yf-links a{color:var(--oc-blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.fr-yf-links small{color:#7b8781}
.fr-yf-overview .fr-facet-legend{
  margin:0;
  padding:11px 13px;
  align-content:center;
  background:#fff;
  border-radius:14px;
}
.fr-yf-overview .yf-facet-btn{min-height:38px;padding:8px 12px;font-size:11.5px;gap:7px}
.fr-yf-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.fr-yf-column{
  min-width:0;
  border:1px solid rgba(0,103,120,.11);
  border-top:4px solid var(--yf-color);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,103,120,.045);
}
.fr-yf-column.yf-risk{--yf-color:#78BE20;--yf-soft:rgba(120,190,32,.09)}
.fr-yf-column.yf-entry{--yf-color:#F2B705;--yf-soft:rgba(242,183,5,.10)}
.fr-yf-column.yf-both{--yf-color:#CA005D;--yf-soft:rgba(202,0,93,.07)}
.fr-yf-column-head{
  display:grid;
  grid-template-columns:12px minmax(0,1fr) auto;
  gap:9px;
  align-items:start;
  min-height:92px;
  padding:12px;
  background:var(--yf-soft);
  border-bottom:1px solid rgba(0,103,120,.08);
}
.fr-yf-dot{width:11px;height:11px;margin-top:4px;border-radius:50%;background:var(--yf-color)}
.fr-yf-column h3{margin:0;font-family:'Saira',sans-serif;font-size:14px;line-height:1.25;color:var(--oc-blue)}
.fr-yf-column-head p{margin:3px 0 0;font-size:11px;line-height:1.45;color:#6d7b76}
.fr-yf-column-head>strong{
  display:inline-flex;
  min-width:29px;
  height:29px;
  align-items:center;
  justify-content:center;
  padding:0 7px;
  border-radius:999px;
  background:#fff;
  color:var(--oc-blue);
  font-family:'Saira',sans-serif;
  font-size:12px;
  box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.fr-yf-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;max-height:300px;overflow:auto;padding:12px}
.fr-yf-none{font-size:12px;color:#87938e}
@media(max-width:900px){
  .fr-yf-overview{grid-template-columns:1fr}
  .fr-yf-columns{grid-template-columns:1fr}
  .fr-yf-column-head{min-height:0}
  .fr-yf-list{max-height:220px}
}


/* ==== v22.7 destination coverage + map filter legend ==== */
.destination-summary{
  width:auto;
  max-width:var(--container-max);
  margin:10px auto 0;
  padding:0 var(--space-page);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  color:#52625d;
  font-size:12px;
}
.destination-summary strong,.destination-summary span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(0,103,120,.12);
  background:#fff;
}
.destination-summary strong{
  font-family:'Saira',sans-serif;
  color:var(--oc-blue);
  background:rgba(120,190,32,.12);
  border-color:rgba(120,190,32,.28);
}
.map-filter-legend{
  position:absolute;
  z-index:11;
  top:14px;
  left:14px;
  width:min(280px,calc(100% - 28px));
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.42);
  border-left:4px solid #78BE20;
  border-radius:14px;
  color:#263831;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  backdrop-filter:blur(8px);
}
.map-filter-legend[hidden]{display:none!important}
.map-filter-legend>strong{font-family:'Saira',sans-serif;font-size:13px;color:var(--oc-blue)}
.mfl-note{font-size:10.5px;line-height:1.4;color:#61716b}
.mfl-source{font-size:10.5px;line-height:1.35;font-weight:700;color:var(--oc-blue);text-decoration:underline;text-underline-offset:2px}
.mfl-source:hover{color:#004f5d}
.mfl-reviewed{font-size:9.5px;line-height:1.3;color:#73817c}
.mfl-items{display:flex;flex-wrap:wrap;gap:5px;font-size:10.5px;font-weight:700}
.mfl-items i{width:9px;height:9px;border-radius:50%;display:inline-block}
.mfl-items i.yf-risk{background:#78BE20}
.mfl-items i.yf-entry{background:#F2B705}
.mfl-items i.yf-both{background:#CA005D}
.mfl-items i.dg-endemic{background:#CA005D}
.mfl-items i.dg-general{background:#78BE20}
.mfl-btn,.yf-facet-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(0,103,120,.14);
  border-radius:999px;
  background:#fff;
  color:#4f5f59;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
}
.mfl-btn{padding:4px 7px}
.yf-facet-btn{padding:6px 9px}
.mfl-btn:hover,.yf-facet-btn:hover{transform:translateY(-1px);border-color:rgba(0,103,120,.35)}
.mfl-btn.active,.yf-facet-btn.active{color:var(--oc-blue);border-color:rgba(0,103,120,.42);background:rgba(120,190,32,.12);box-shadow:0 0 0 2px rgba(120,190,32,.10)}
.mfl-btn strong,.yf-facet-btn strong{font-family:'Saira',sans-serif;color:var(--oc-blue)}
.fr-facet-legend .yf-facet-btn span{display:inline}
.fr-yf-columns:has(.fr-yf-column:only-child){grid-template-columns:minmax(0,1fr)}
@media(max-width:640px){
  .destination-summary{justify-content:flex-start;padding-left:12px!important;padding-right:12px!important;gap:6px}
  .destination-summary strong,.destination-summary span{min-height:29px;padding:5px 9px;font-size:10.5px}
  .map-filter-legend{top:8px;left:8px;width:min(255px,calc(100% - 72px));padding:9px 10px;border-radius:12px}
  .mfl-note{display:none}
}


/* ==== v22.9 hero width + search icon ==== */
.hd{
  width:calc(100% - 48px);
  max-width:calc(var(--container-max) - 48px);
}
.sico svg{
  display:block;
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:640px){
  .hd{width:calc(100% - 24px)}
}

/* ==== v23.2 coverage dialog + clearer map controls ==== */
#av-status{cursor:pointer;font:600 11px 'Saira',sans-serif}
#av-status:disabled{cursor:default;opacity:.72}
#hlbl{bottom:54px;background:rgba(10,25,55,.82)}
.zbtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.coverage-dialog{
  width:min(520px,calc(100% - 28px));
  max-width:none;
  margin:auto;
  padding:0;
  border:0;
  border-radius:22px;
  color:var(--gr);
  background:transparent;
  box-shadow:0 28px 80px rgba(4,25,51,.34);
}
.coverage-dialog::backdrop{background:rgba(4,20,43,.58);backdrop-filter:blur(4px)}
.coverage-dialog-card{position:relative;padding:28px;background:#fff;border-top:5px solid var(--g);border-radius:22px}
.coverage-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid var(--el);border-radius:999px;background:#fff;color:#68766f;font-size:19px;line-height:1;cursor:pointer}
.coverage-close:hover{border-color:#bfcbb9;color:var(--gr)}
.coverage-eyebrow{font-family:'Saira',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#82908a;margin-bottom:5px}
.coverage-dialog h2{font-family:'Saira',sans-serif;font-size:25px;line-height:1.2;color:var(--p);margin:0 44px 18px 0}
.coverage-total{display:block;font-family:'Saira',sans-serif;font-size:17px;color:#35433e;margin-bottom:9px}
.coverage-breakdown{font-size:14px;line-height:1.65;color:#4f5e58;padding:13px 15px;border-radius:14px;background:rgba(120,190,32,.10);border:1px solid rgba(120,190,32,.24)}
.coverage-breakdown b{font-family:'Saira',sans-serif;font-size:17px;color:var(--p)}
.coverage-breakdown span{display:inline-block;margin:0 4px;color:#8b9993}
.coverage-note{font-size:12px;line-height:1.6;color:#74817c;margin:12px 2px 0}
.coverage-confirm{margin-top:18px;padding:9px 18px;border:0;border-radius:999px;background:var(--g);color:#fff;font-family:'Saira',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
.coverage-confirm:hover{background:#67a81b}
@media(max-width:640px){
  .coverage-dialog-card{padding:23px 19px}
  .coverage-dialog h2{font-size:22px}
}

/* ==== v23.4 čitelnost legendy a mobilní překryv ==== */

/* Legenda pod mapou je teď hlavní klíč k barvám, musí být čitelná. */
.leg{color:#4f5f59;gap:14px 18px}
.leg .li{font-size:12px}
.leg .ld{border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 3px rgba(0,0,0,.18)}
.lh{color:#77857f}

.fr-yf-totals{color:#5d6c66}
.fr-yf-totals b{font-family:'Saira',sans-serif;color:var(--oc-blue)}

@media(max-width:900px){
  /* Detail destinace dřív zabíral ~95 % plochy mapy a překrýval legendu
     filtru. Teď sedí u spodní hrany, legenda zůstává nahoře a mezi nimi
     zbývá souvislý pruh mapy. */
  .map-info{
    top:auto!important;
    bottom:8px!important;
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-height:42%!important;
    overflow:auto!important;
  }
  /* Seznam očkování je hned pod mapou v plném detailu, v překryvu jen zabírá. */
  .map-info .mi-vax-groups,.map-info .mi-text{display:none}
  .map-info .mi-badges{margin-bottom:8px;padding-bottom:8px}
  /* Detail je na mobilu hned pod mapou, extra tlačítko jen ořezávalo kartu. */
  .map-info .mi-btn.ghost{display:none}
  /* Akce v jedné posuvné řadě, ať se karta neořezává na spodní hraně. */
  .map-info .mi-actions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .map-info .mi-actions .mi-btn{flex:0 0 auto}

  /* Podfiltry na úzkém displeji v jedné posuvné řadě místo čtyř řádků. */
  .map-filter-legend{max-height:34%;width:min(300px,calc(100% - 16px))}
  .map-filter-legend .mfl-items{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  .map-filter-legend .mfl-btn{flex:0 0 auto}
}

@media(max-width:640px){
  /* Mapa je hlavní obsah stránky, na mobilu jí patří víc místa. */
  #mw,#av-map{height:440px!important}
}
@media(max-width:420px){
  #mw,#av-map{height:400px!important}
}


/* ==== v23.5 vysvětlivky kategorií ==== */
.facet-defs{margin:6px 0 0;display:grid;gap:7px}
.facet-def dt{
  display:flex;
  align-items:center;
  gap:6px;
  font-family:'Saira',sans-serif;
  font-size:12px;
  font-weight:600;
  color:var(--oc-blue);
}
.facet-def dd{margin:2px 0 0 15px;font-size:11.5px;line-height:1.5;color:#5b6a64}
.facet-def-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#9fb0aa}
.facet-def-risk .facet-def-dot,.facet-def-general .facet-def-dot{background:#78BE20}
.facet-def-entry .facet-def-dot{background:#F2B705}
.facet-def-both .facet-def-dot,.facet-def-endemic .facet-def-dot{background:#CA005D}
.facet-caveat{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:#6c7b75;font-style:italic}

/* Rozbalovací vysvětlivka přímo v mapě – náhrada bubliny na dotykovém displeji. */
.mfl-help{margin-top:2px}
.mfl-help summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:10.5px;
  font-weight:700;
  color:var(--oc-blue);
  cursor:pointer;
  padding:3px 0;
}
.mfl-help summary::-webkit-details-marker{display:none}
.mfl-help summary::after{
  content:'+';
  width:15px;height:15px;
  border-radius:999px;
  border:1px solid rgba(0,103,120,.24);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;line-height:1;
}
.mfl-help[open] summary::after{content:'−'}
.mfl-help summary:focus-visible{outline:2px solid rgba(0,103,120,.45);outline-offset:2px;border-radius:6px}
.mfl-help-body{
  margin-top:5px;
  padding:8px 9px;
  max-height:200px;
  overflow:auto;
  border-radius:10px;
  background:rgba(244,249,247,.9);
  border:1px solid rgba(0,103,120,.12);
}
.mfl-help-body .facet-def dt{font-size:11px}
.mfl-help-body .facet-def dd{font-size:10.5px;line-height:1.45}
.mfl-help-body .facet-caveat{font-size:10.5px}

/* Sdílení odkazu na aktuální pohled. */
.mi-btn.share{background:#fff;color:var(--oc-blue);border:1px solid rgba(0,103,120,.25)}
.mi-btn.share:hover{background:rgba(0,103,120,.06);color:var(--oc-blue)}

/* ==== v23.6 export mapy do PNG ==== */
.map-export-btn{color:var(--oc-blue);border-color:rgba(0,103,120,.34);box-shadow:0 5px 14px rgba(4,20,43,.13)}
.map-export-btn svg{width:17px;height:17px}
.map-export-btn:hover:not(:disabled){background:#fff;color:#004f5d;box-shadow:0 7px 18px rgba(4,20,43,.18)}
.map-export-btn:focus-visible{outline:3px solid rgba(120,190,32,.36);outline-offset:2px}
.map-export-btn:disabled{cursor:default;opacity:.58;box-shadow:none}
.map-export-btn[aria-busy="true"] svg{animation:exportPulse .85s ease-in-out infinite alternate}
@keyframes exportPulse{to{opacity:.35;transform:translateY(2px)}}

/* ==== v23.7 volby exportu a dominantní mapa ==== */
.map-export-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;color:var(--oc-text)}
.map-export-dialog[open]{position:fixed;inset:0;width:100vw;height:100vh;margin:0;display:grid;place-items:center}
.map-export-dialog::backdrop{background:rgba(4,20,43,.62);backdrop-filter:blur(5px)}
.map-export-dialog-card{
  position:relative;
  width:min(620px,calc(100vw - 28px));
  max-height:min(760px,calc(100vh - 28px));
  overflow:auto;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(0,103,120,.16);
  box-shadow:0 28px 80px rgba(4,20,43,.30);
  padding:26px 28px 24px;
}
.map-export-close{position:absolute;top:13px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:#edf5f2;color:var(--oc-blue);font-size:23px;line-height:1;cursor:pointer}
.map-export-eyebrow{font:700 10px 'Saira',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--oc-green);margin:0 42px 5px 0}
.map-export-dialog h2{margin:0 42px 4px 0;font:700 25px/1.18 'Saira',sans-serif;color:var(--oc-blue)}
.map-export-current{margin:0 0 18px;font-size:12px;color:#687872}
.map-export-current strong{color:#314a43}
.map-export-fieldset{border:0;border-top:1px solid rgba(0,103,120,.12);padding:17px 0 0;margin:0 0 18px}
.map-export-fieldset legend{padding:0 10px 0 0;font:700 13px 'Saira',sans-serif;color:var(--oc-blue)}
.map-export-choices{display:grid;gap:8px;margin-top:9px}
.map-export-choice{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid rgba(0,103,120,.14);border-radius:13px;background:#fbfefd;cursor:pointer}
.map-export-choice:has(input:checked){border-color:rgba(120,190,32,.7);background:rgba(120,190,32,.075);box-shadow:0 0 0 2px rgba(120,190,32,.10)}
.map-export-choice input{margin:3px 0 0;accent-color:var(--oc-green);flex:0 0 auto}
.map-export-choice span{display:grid;gap:2px}
.map-export-choice strong{font:600 12.5px 'Saira',sans-serif;color:#284941}
.map-export-choice small{font-size:11px;line-height:1.45;color:#687872}
.map-export-help{margin:8px 2px 0;font-size:10.5px;line-height:1.45;color:#74827d}
.map-export-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:3px}
.map-export-cancel,.map-export-create{min-height:39px;border-radius:999px;padding:9px 16px;font:600 12px 'Saira',sans-serif;cursor:pointer}
.map-export-cancel{background:#fff;color:#61716b;border:1px solid #d7e1dd}
.map-export-create{background:var(--oc-green);color:#173a35;border:1px solid var(--oc-green);box-shadow:0 8px 22px rgba(120,190,32,.22)}
.map-export-create:disabled{cursor:default;opacity:.62;box-shadow:none}

@media(max-width:640px){
  .map-export-dialog-card{padding:22px 17px 18px;border-radius:20px}
  .map-export-dialog h2{font-size:21px}
  .map-export-choice{padding:10px}
  .map-export-dialog-actions{position:sticky;bottom:-18px;margin:0 -17px -18px;padding:12px 17px 18px;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 24%)}
  .map-export-create{flex:1}
}

/* ==== v24.1 informační hierarchie, přístupnější legenda a mobilní detail ==== */
.quick{display:block}
.quick[hidden]{display:none!important}
.quick-label{display:none;font-family:'Saira',sans-serif;font-size:11px;font-weight:700;color:#60716b;margin:0 0 7px 2px}
.quick-list{display:flex;gap:7px;flex-wrap:wrap}

.more-diseases.has-active>summary{color:var(--oc-blue)}
.more-diseases.has-active>summary::before{content:'Aktivní filtr';padding:3px 7px;border-radius:999px;background:rgba(120,190,32,.14);color:#3d6b0a;font-size:9px;letter-spacing:.04em;text-transform:uppercase}

.fr-mismatch{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:13px 14px;border-radius:14px;background:#fff5dd;border:1px solid rgba(181,130,0,.28);border-left:4px solid #b58200;color:#5e4b1c}
.fr-mismatch div{display:grid;gap:3px}
.fr-mismatch strong{font-family:'Saira',sans-serif;font-size:13px;color:#6d4d00}
.fr-mismatch span{font-size:12px;line-height:1.5}
.fr-mismatch button{flex:0 0 auto;border:0;border-radius:999px;padding:9px 13px;background:#806000;color:#fff;font:700 11px 'Saira',sans-serif;cursor:pointer}
.fr-mismatch button:hover{background:#684d00}
.destination-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:9px 11px;border-radius:11px;background:#fff5dd;border-left:4px solid #b58200;color:#6d4d00;font-size:11px;line-height:1.45}
.destination-filter-notice button{flex:0 0 auto;border:1px solid rgba(128,96,0,.28);border-radius:999px;padding:6px 9px;background:#fff;color:#6d4d00;font:700 10px 'Saira',sans-serif;cursor:pointer}

.external-card{padding:0;overflow:hidden}
.external-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;list-style:none}
.external-card summary::-webkit-details-marker{display:none}
.external-copy{display:grid;gap:2px;min-width:0}
.external-name{font-family:'Saira',sans-serif;font-size:14px;font-weight:700;color:var(--oc-blue)}
.external-summary{font-size:11px;line-height:1.4;color:#66756f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.external-source-chip{padding:3px 7px;border-radius:999px;background:rgba(0,103,120,.08);border:1px solid rgba(0,103,120,.15);font:700 9px 'Saira',sans-serif;color:var(--oc-blue)}
.external-toggle{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f3f7f5;border:1px solid rgba(0,103,120,.15);font:700 14px 'Saira',sans-serif;color:var(--oc-blue)}
.external-card[open] .external-toggle{font-size:0}
.external-card[open] .external-toggle::after{content:'−';font-size:14px}
.external-body{padding:0 14px 14px;border-top:1px solid rgba(0,103,120,.09)}
.external-body>p{margin:11px 0 10px;font-size:12px;line-height:1.6}
.external-meta{font-size:11px;gap:5px}

.help-btn{width:24px!important;height:24px!important;font-size:12px!important;flex:0 0 24px}
.mfl-note,.mfl-source{font-size:12px;line-height:1.5}
.mfl-reviewed{font-size:11px;line-height:1.4}
.mfl-items{font-size:11.5px}
.mfl-items i{width:auto;min-width:20px;height:20px;padding:0 4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle;color:#fff;font:700 8px/1 'Saira',sans-serif;box-sizing:border-box}
.yf-facet-btn i{
  width:auto!important;
  min-width:20px;
  height:20px!important;
  padding:0 4px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#fff;
  font:700 8px/1 'Saira',sans-serif;
  box-sizing:border-box;
}
.leg .li{font-size:13px}
.leg .ld{width:auto;min-width:22px;height:20px;padding:0 4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle;color:#fff;font:700 8px/1 'Saira',sans-serif;box-sizing:border-box}
.lh{font-size:12px}

@media(max-width:900px){
  .map-info{max-height:none!important;overflow:visible!important}
  .map-info .mi-actions{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding-bottom:0}
  .map-info .mi-actions .mi-btn{min-width:0;justify-content:center;text-align:center;white-space:normal}
  .map-info .mi-btn.share{display:none}
  .map-info .mi-btn.ghost{display:inline-flex;grid-column:1/-1;background:var(--oc-blue);color:#fff;border-color:var(--oc-blue)}
}

@media(max-width:640px){
  .quick{overflow:visible!important;padding-bottom:0!important}
  .quick-label{display:block}
  .quick-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
  .quick-list::-webkit-scrollbar{display:none}
  .fr-mismatch{display:grid}
  .fr-mismatch button{width:100%}
  .external-grid{grid-template-columns:1fr}
  .external-diseases{padding:14px}
  .map-info{padding:12px!important}
  .map-info .mi-actions{gap:6px}
  .map-info .mi-actions .mi-btn{padding:8px 7px;font-size:10px}
  .map-info .mi-btn.center{display:none}
  .map-info .mi-btn.ghost{grid-column:auto}
  .map-info .mi-badges{border-bottom:0;margin-bottom:5px;padding-bottom:2px}
  .zbtn{width:42px!important;height:42px!important}
  .mfl-help summary{min-height:28px;font-size:11.5px}
  .mfl-help summary::after{width:20px;height:20px;font-size:12px}
}

/* ==== v24.2 mobilní karta destinace a navigační odznaky ==== */
.mi-badge[data-mi-section],.vcb[data-detail-section]{
  appearance:none;
  cursor:pointer;
  line-height:1.35;
  text-align:left;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.mi-badge[data-mi-section]:hover,.vcb[data-detail-section]:hover{
  transform:translateY(-1px);
  filter:brightness(.98);
  box-shadow:0 5px 13px rgba(0,103,120,.10);
}
.mi-badge[data-mi-section]:focus-visible,.vcb[data-detail-section]:focus-visible{
  outline:3px solid rgba(0,103,120,.24);
  outline-offset:2px;
}
.sl:focus{outline:none}
.sl:focus-visible,.external-diseases:focus-visible{
  outline:3px solid rgba(0,103,120,.22);
  outline-offset:5px;
  border-radius:6px;
}

/* Zavření plného detailu patří vždy do pravého horního rohu karty. */
.card>.bclose{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  width:38px;
  height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,103,120,.18);
  color:var(--oc-blue);
  font-size:22px;
  line-height:1;
}
.card>.chd{padding-right:52px}
.vcnts-note{max-width:720px;margin:-7px 0 14px;font-size:11.5px;line-height:1.55;color:#6c7974}

@media(max-width:640px){
  /* Vyšší mapa dává kartě dost prostoru bez ořezu mapového objektu. */
  #mw,#av-map{height:500px!important}
  .map-info{
    bottom:10px!important;
    padding:18px 14px 14px!important;
    border-top-color:var(--oc-blue)!important;
    background:linear-gradient(145deg,rgba(235,248,250,.98),rgba(255,255,255,.98))!important;
    box-shadow:0 14px 36px rgba(0,45,56,.28)!important;
  }
  .map-info .mi-head{position:relative;margin-bottom:10px;padding:5px 46px 0 2px}
  .map-info .mi-title{font-size:25px;line-height:1.16;margin-top:4px;color:var(--oc-blue)}
  .map-info .mi-label{font-size:10px;color:#718984}
  .map-info .mi-close{
    position:absolute;
    top:8px;
    right:0;
    width:38px;
    height:38px;
    border-color:rgba(0,103,120,.18);
    color:var(--oc-blue);
    font-size:20px;
  }
  .map-info .mi-badges{gap:7px;margin:6px 0 10px;padding:0 0 9px}
  .map-info .mi-badge{font-size:11px;padding:6px 9px}
  .map-info .mi-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
  .map-info .mi-actions .mi-btn{
    min-height:42px;
    padding:8px 9px;
    font-size:10.5px;
    line-height:1.3;
    display:inline-flex;
    align-items:center;
  }
  .map-info .mi-btn.center,.map-info .mi-btn.share,.map-info .mi-btn.ghost{
    display:inline-flex;
    grid-column:auto;
  }
  .card{padding-top:27px}
  .card>.bclose{top:16px;right:14px;width:40px;height:40px}
  .card>.chd{padding-right:48px}
}


/* ==== v24.4 kombinace filtrů ==== */
.fbtn.combine{
  flex:0 0 auto;margin:0;
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,rgba(0,103,120,.10),rgba(120,190,32,.12));
  border:1px solid rgba(0,103,120,.30);
  color:var(--oc-blue);
  box-shadow:0 5px 14px rgba(0,103,120,.08);
}
.fbtn.combine[hidden]{display:none!important}
.fbtn.combine:hover{border-color:rgba(0,103,120,.52);box-shadow:0 7px 18px rgba(0,103,120,.13)}
.combine-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--oc-blue);color:#fff;font-size:0;line-height:1;flex:0 0 auto}
.combine-icon:not(.done)::before,.combine-icon:not(.done)::after{content:'';position:absolute;left:50%;top:50%;width:9px;height:1.6px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.combine-icon:not(.done)::after{width:1.6px;height:9px}
.combine-icon.done{font-size:13px}
.fbtn.combine.on{
  background:linear-gradient(135deg,var(--oc-blue),#005564)!important;
  border-color:var(--oc-blue)!important;
  border-style:solid!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,103,120,.18);
}
.fbtn.combine.on .combine-icon{background:#fff;color:var(--oc-blue)}
/* Nemoci vybrané do kombinace se odliší od jednoduchého filtru. */
.fbtn.combo-active{
  background:linear-gradient(135deg,var(--oc-magenta),#a9004e)!important;
  border-color:var(--oc-magenta)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(202,0,93,.20);
}

.fcombo{
  width:100%;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
  margin-top:2px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(202,0,93,.05);
  border:1px solid rgba(202,0,93,.18);
}
.fcombo[hidden]{display:none!important}
.fcombo-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.fcombo-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 6px 5px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(202,0,93,.28);
  font-family:'Saira',sans-serif;
  font-size:12px;
  font-weight:600;
  color:#8b0040;
}
.fcombo-chip:not(:has(button)){padding-right:11px}
.fcombo-chip i{font-style:normal;color:#b07;opacity:.6;margin-left:-4px;margin-right:2px}
.fcombo-chip button{
  /* 24×24 je minimum pro dotykový cíl podle WCAG 2.5.8. */
  width:24px;height:24px;
  display:inline-flex;align-items:center;justify-content:center;
  border:none;border-radius:999px;
  background:rgba(202,0,93,.10);
  color:#8b0040;
  font-size:13px;line-height:1;
  cursor:pointer;
}
.fcombo-chip button:hover{background:rgba(202,0,93,.20)}
.fcombo-count{
  font-family:'Saira',sans-serif;
  font-size:12px;
  font-weight:700;
  color:#8b0040;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(202,0,93,.12);
}
.fcombo-hint{font-size:11.5px;line-height:1.45;color:#6c7b75;flex:1 1 200px}
.fcombo-clear{
  margin-left:auto;
  border:1px solid rgba(0,103,120,.2);
  background:#fff;
  border-radius:999px;
  padding:6px 12px;
  font-family:'Saira',sans-serif;
  font-size:11.5px;
  font-weight:700;
  color:var(--oc-blue);
  cursor:pointer;
}
.fcombo-clear:hover{background:rgba(0,103,120,.06)}

.fr-chip.combo{
  background:rgba(202,0,93,.08);
  border-color:rgba(202,0,93,.28);
  color:#8b0040;
}
.fr-chip.combo:hover{background:#fff;border-color:rgba(202,0,93,.5)}
.fr-combo-note{border-left-color:var(--oc-magenta);background:rgba(202,0,93,.045);border-color:rgba(202,0,93,.18)}
.fr-combo-sources{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.fr-combo-sources li{font-size:11.5px;line-height:1.5}

.mfl-combo-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.mfl-combo-item{
  padding:3px 8px;
  border-radius:999px;
  background:rgba(202,0,93,.10);
  border:1px solid rgba(202,0,93,.24);
  font-size:10.5px;
  font-weight:700;
  color:#8b0040;
}
.map-filter-legend:has(.mfl-combo-list){border-left-color:var(--oc-magenta)}

@media(max-width:640px){
  .fcombo{padding:9px 10px;gap:7px}
  .fcombo-clear{margin-left:0}
  .fcombo-hint{flex-basis:100%}
}


/* ==== v24.5 trasa přes více destinací + lepší vyhledávání ==== */
.route-bar{
  width:calc(100% - (2 * var(--space-page)));
  max-width:calc(var(--container-max) - (2 * var(--space-page)));
  margin:10px auto 0;
  padding:11px 14px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px 12px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(242,183,5,.13),rgba(255,255,255,.96));
  border:1px solid rgba(242,183,5,.42);
  box-shadow:0 10px 26px rgba(0,0,0,.045);
}
.route-bar[hidden]{display:none!important}
.route-bar-limit{animation:routeShake .45s ease}
@keyframes routeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.route-limit-message{
  flex:1 0 100%;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(202,0,93,.08);
  border:1px solid rgba(202,0,93,.20);
  color:#8f0042;
  font:700 11.5px 'Saira',sans-serif;
}
.route-limit-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;color:var(--oc-text)}
.route-limit-dialog[open]{position:fixed;inset:0;width:100vw;height:100vh;margin:0;display:grid;place-items:center}
.route-limit-dialog::backdrop{background:rgba(4,20,43,.62);backdrop-filter:blur(5px)}
.route-limit-dialog-card{
  position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:15px;
  width:min(520px,calc(100vw - 28px));padding:25px 26px 22px;border-radius:22px;
  background:#fff;border:1px solid rgba(202,0,93,.20);border-top:5px solid var(--oc-pink);
  box-shadow:0 28px 80px rgba(4,20,43,.30);
}
.route-limit-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(202,0,93,.09);color:var(--oc-pink);font:700 20px 'Saira',sans-serif}
.route-limit-eyebrow{margin:1px 38px 4px 0;font:700 10px 'Saira',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--oc-pink)}
.route-limit-dialog h2{margin:0 38px 7px 0;font:700 22px/1.22 'Saira',sans-serif;color:var(--oc-blue)}
.route-limit-dialog p{margin:0;font-size:13px;line-height:1.6;color:#62716c}
.route-limit-close{position:absolute;top:13px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:#f3f7f5;color:var(--oc-blue);font-size:22px;cursor:pointer}
.route-limit-confirm{grid-column:2;justify-self:start;margin-top:3px;min-height:39px;padding:9px 18px;border:0;border-radius:999px;background:var(--oc-blue);color:#fff;font:700 12px 'Saira',sans-serif;cursor:pointer}
.route-label{
  font-family:'Saira',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:#7a5a00;
}
.route-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 260px}
.route-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 6px 5px 8px;border-radius:999px;
  background:#fff;border:1px solid rgba(242,183,5,.5);
  font-family:'Saira',sans-serif;font-size:12px;font-weight:600;color:#4a5a55;
}
.route-chip b{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:999px;
  background:rgba(242,183,5,.28);color:#6d4f00;font-size:10px;
}
.route-chip button{
  width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;
  border:none;border-radius:999px;background:rgba(0,0,0,.05);
  color:#6b5a2a;font-size:14px;line-height:1;cursor:pointer;
}
.route-chip button:hover{background:rgba(0,0,0,.10)}
.route-count{
  font-family:'Saira',sans-serif;font-size:12px;font-weight:700;color:#6d4f00;
  padding:5px 11px;border-radius:999px;background:rgba(242,183,5,.22);
}
.route-clear{
  border:1px solid rgba(0,103,120,.2);background:#fff;border-radius:999px;
  padding:7px 13px;font-family:'Saira',sans-serif;font-size:11.5px;font-weight:700;
  color:var(--oc-blue);cursor:pointer;
}
.route-clear:hover{background:rgba(0,103,120,.06)}

.route-panel{
  margin-top:14px;padding:24px 26px 20px;
  border-radius:24px;
  border:1px solid rgba(242,183,5,.38);
  background:radial-gradient(circle at right top,rgba(242,183,5,.13) 0%,rgba(255,255,255,0) 46%),linear-gradient(135deg,#fff,#fffdf6);
  box-shadow:0 18px 40px rgba(0,103,120,.07);
}
.route-panel[hidden]{display:none!important}
.route-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.route-kicker{
  font-family:'Saira',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#9a7400;margin-bottom:4px;
}
.route-head h2{
  font-family:'Saira',sans-serif;font-size:26px;font-weight:600;
  line-height:1.2;color:var(--oc-blue);letter-spacing:-.02em;
}
.route-badge{
  font-family:'Saira',sans-serif;font-size:12px;font-weight:700;color:#6d4f00;
  background:rgba(242,183,5,.22);border-radius:999px;padding:7px 13px;white-space:nowrap;
}
.route-intro,.route-missing,.route-loading{font-size:13px;line-height:1.65;color:var(--oc-muted);margin:0 0 14px}
.route-missing{
  padding:11px 13px;border-radius:14px;
  background:rgba(202,0,93,.05);border:1px solid rgba(202,0,93,.18);color:#7a3350;
}
.route-destinations{margin:4px 0 18px}
.route-destinations h3{margin:0 0 9px;font:700 14px 'Saira',sans-serif;color:var(--oc-blue)}
.route-destination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.route-destination-card{
  min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;
  padding:10px 11px;border-radius:13px;border:1px solid rgba(0,103,120,.14);background:#fff;
  color:#42534d;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;
}
.route-destination-card:hover{transform:translateY(-1px);border-color:rgba(0,103,120,.34);box-shadow:0 8px 20px rgba(0,103,120,.07)}
.route-destination-order{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(242,183,5,.22);color:#715300;font:700 11px 'Saira',sans-serif}
.route-destination-card>span:nth-child(2){display:grid;gap:2px;min-width:0}
.route-destination-card strong{font:700 12.5px 'Saira',sans-serif;color:var(--oc-blue)}
.route-destination-card small{font-size:9.5px;line-height:1.35;color:#6d7b76}
.route-destination-open{font:700 10px 'Saira',sans-serif;color:var(--oc-blue);white-space:nowrap}

.route-group{margin-bottom:16px}
.route-items{display:flex;flex-wrap:wrap;gap:6px}
.route-item-card{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:7px 8px 7px 11px;border:1px solid rgba(0,103,120,.14);border-radius:999px;background:#fff;font:inherit;text-align:left;cursor:pointer}
.route-item-card[hidden],.route-group[hidden]{display:none!important}
.route-item-card.p{border-color:rgba(0,103,120,.22);background:rgba(0,103,120,.10)}
.route-item-card.z{border-color:rgba(120,190,32,.30);background:rgba(120,190,32,.13)}
.route-item-card.d{border-color:rgba(0,103,120,.14);background:#fff}
.route-item-card:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,103,120,.08)}
.route-item-name{font:700 12px/1.4 'Saira',sans-serif;color:var(--oc-blue)}
.route-item-coverage{flex:0 0 auto;min-width:31px;padding:3px 6px;border-radius:999px;background:rgba(0,103,120,.07);color:#526761;text-align:center;font:700 9px/1.3 'Saira',sans-serif}
.route-comparison{margin:22px 0 18px;padding-top:18px;border-top:1px solid rgba(0,103,120,.12)}
.route-comparison-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.route-comparison h3{margin:0 0 2px;font:700 17px 'Saira',sans-serif;color:var(--oc-blue)}
.route-comparison-head p{margin:0;font-size:11.5px;color:#6d7b76}
.route-matrix-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 12px;font-size:10px;color:#64736d}
.route-matrix-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.route-matrix-legend i,.route-matrix-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-style:normal;font:700 10px 'Saira',sans-serif}
.route-matrix-legend .yes,.route-matrix-mark.yes{background:var(--oc-green);color:#fff}
.route-matrix-legend .no,.route-matrix-mark.no{background:#edf1ef;color:#82908a}
.route-matrix-legend .unknown,.route-matrix-mark.unknown{background:#fff2c7;color:#7a5a00}
.route-matrix-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.route-matrix-filters>span{margin-right:2px;color:#64736d;font:700 10px 'Saira',sans-serif}
.route-matrix-filters button{padding:6px 10px;border:1px solid rgba(0,103,120,.15);border-radius:999px;background:#fff;color:#52645e;font:700 10px 'Saira',sans-serif;cursor:pointer}
.route-matrix-filters button:hover{border-color:rgba(0,103,120,.34);color:var(--oc-blue)}
.route-matrix-filters button[aria-pressed="true"]{border-color:rgba(0,103,120,.42);background:rgba(0,103,120,.09);color:var(--oc-blue);box-shadow:inset 0 0 0 1px rgba(0,103,120,.06)}
.route-table-scroll{max-width:100%;overflow-x:auto;border:1px solid rgba(0,103,120,.15);border-radius:14px;background:#fff;scrollbar-width:thin}
.route-matrix{width:100%;min-width:690px;border-collapse:separate;border-spacing:0;font-size:11px;color:#42534d}
.route-matrix th,.route-matrix td{padding:8px 9px;border-right:1px solid rgba(0,103,120,.08);border-bottom:1px solid rgba(0,103,120,.08);text-align:center}
.route-matrix thead th{position:sticky;top:0;background:#f3f8f6;color:#52645e;font:700 10px 'Saira',sans-serif;z-index:1}
.route-matrix thead th:first-child,.route-matrix tbody th{position:sticky;left:0;text-align:left;z-index:2}
.route-matrix thead th:first-child{z-index:3;background:#f3f8f6;min-width:210px}
.route-matrix tbody th{display:flex;align-items:center;gap:7px;min-width:210px;font-weight:600}
.route-matrix-row.povinne th,.route-matrix-row.povinne td{background:rgba(0,103,120,.055)}
.route-matrix-row.zakladni th,.route-matrix-row.zakladni td{background:rgba(120,190,32,.065)}
.route-matrix-row.doporuceni th,.route-matrix-row.doporuceni td{background:#fff}
.route-matrix tbody th a,.route-matrix tbody th>span:last-child{color:var(--oc-blue);text-decoration:none}
.route-matrix-category{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto;border-radius:6px;font-size:0;outline:none;cursor:help}
.route-matrix-category::after{font:700 9px 'Saira',sans-serif;color:#fff}
.route-matrix-category.povinne{background:var(--oc-blue)}.route-matrix-category.povinne::after{content:'P'}
.route-matrix-category.zakladni{background:var(--oc-green)}.route-matrix-category.zakladni::after{content:'Z'}
.route-matrix-category.doporuceni{background:#8d9b96}.route-matrix-category.doporuceni::after{content:'D'}
.route-category-tooltip{position:fixed;z-index:10000;width:max-content;max-width:min(260px,calc(100vw - 16px));padding:7px 9px;border-radius:8px;background:#0d2d38;color:#fff;font:600 10px/1.4 'Saira',sans-serif;box-shadow:0 8px 24px rgba(4,20,43,.28);pointer-events:none}
.route-summary-sort{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:var(--oc-blue);padding:2px 3px;font:700 10px 'Saira',sans-serif;cursor:pointer}
.route-summary-sort span{font-size:13px;line-height:1}
.route-matrix-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.route-matrix-controls .route-matrix-more{margin:0}
.route-sort-reset{border:1px solid rgba(0,103,120,.16);border-radius:999px;background:#fff;color:var(--oc-blue);padding:6px 10px;font:700 10px 'Saira',sans-serif;cursor:pointer}
.route-sort-reset[hidden]{display:none!important}
.route-matrix-total{white-space:nowrap;color:var(--oc-blue);background:#fbfdfc}
.route-matrix tr:last-child th,.route-matrix tr:last-child td{border-bottom:0}
.route-matrix th:last-child,.route-matrix td:last-child{border-right:0}
.route-matrix-more{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--oc-blue);font:700 11px 'Saira',sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.mi-route-nav{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin:2px 0 9px;padding:5px;border-radius:999px;background:rgba(0,103,120,.055)}
.mi-route-nav button{width:34px;height:30px;border:0;border-radius:999px;background:#fff;color:var(--oc-blue);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 7px rgba(0,103,120,.08)}
.mi-route-nav button:disabled{opacity:.32;cursor:default;box-shadow:none}
.mi-route-nav span{text-align:center;color:#60716b;font:700 10px 'Saira',sans-serif}
.detail-route-switcher{width:max-content;max-width:100%;display:grid;grid-template-columns:auto 30px minmax(90px,auto) 30px;align-items:center;gap:5px;margin:0 8px 8px auto;padding:4px 5px 4px 10px;border-radius:999px;background:#fff;border:1px solid rgba(0,103,120,.15);box-shadow:0 5px 14px rgba(0,103,120,.06)}
.detail-route-label{color:#7b8984;font:700 9px 'Saira',sans-serif;letter-spacing:.10em;text-transform:uppercase}
.detail-route-switcher button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(0,103,120,.06);color:var(--oc-blue);padding:0;cursor:pointer;font-size:20px;line-height:1}
.detail-route-switcher button:disabled{opacity:.36;cursor:default;box-shadow:none}
.detail-route-switcher>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#50625c;font:700 10px 'Saira',sans-serif}

.route-item-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;color:var(--oc-text)}
.route-item-dialog[open]{position:fixed;inset:0;width:100vw;height:100vh;margin:0;display:grid;place-items:center}
.route-item-dialog::backdrop{background:rgba(4,20,43,.62);backdrop-filter:blur(5px)}
.route-item-dialog-card{position:relative;width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:25px 26px 22px;border-radius:22px;background:#fff;border-top:5px solid var(--oc-green);box-shadow:0 28px 80px rgba(4,20,43,.30)}
.route-item-dialog-close{position:absolute;top:13px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#edf5f2;color:var(--oc-blue);font-size:22px;cursor:pointer}
.route-item-dialog-eyebrow{margin:0 42px 4px 0;color:#7a8882;font:700 10px 'Saira',sans-serif;letter-spacing:.13em;text-transform:uppercase}
.route-item-dialog h2{margin:0 42px 5px 0;color:var(--oc-blue);font:700 23px/1.2 'Saira',sans-serif}
.route-item-dialog-summary{margin:0 0 16px;color:#60716b;font-size:12px}
.route-item-dialog-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.route-item-dialog-group{padding:12px;border-radius:14px;border:1px solid rgba(0,103,120,.12)}
.route-item-dialog-group.yes{background:rgba(120,190,32,.09);border-color:rgba(120,190,32,.28)}
.route-item-dialog-group.no{background:#f5f7f6}
.route-item-dialog-group h3{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#42534d;font:700 12px 'Saira',sans-serif}
.route-item-dialog-group h3 span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#77857f}
.route-item-dialog-group.yes h3 span{background:var(--oc-green);color:#fff}
.route-item-dialog-group>div{display:flex;flex-wrap:wrap;gap:6px}
.route-item-dialog-group button{border:1px solid rgba(0,103,120,.14);border-radius:999px;background:#fff;color:#52625d;padding:6px 9px;font:700 10.5px 'Saira',sans-serif;cursor:pointer}
.route-item-dialog-group.yes button{border-color:rgba(120,190,32,.35);color:#3d6b0a}
.route-item-dialog-group p{margin:0;color:#7b8984;font-size:11px}
.route-item-dialog-note{margin:12px 0 0;padding:10px 12px;border-radius:11px;background:#f7faf8;color:#687872;font-size:10.5px;line-height:1.55}
.route-item-dialog-actions{display:flex;justify-content:flex-end;margin-top:12px}
.route-item-dialog-actions:empty{display:none}
.route-item-dialog-actions a{padding:8px 13px;border-radius:999px;background:var(--oc-blue);color:#fff;text-decoration:none;font:700 11px 'Saira',sans-serif}
.route-actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 4px}

.mi-btn.route{background:#fff;color:#6d4f00;border:1px solid rgba(242,183,5,.55)}
.mi-btn.route:hover{background:rgba(242,183,5,.12);color:#6d4f00}
.mi-btn.route.on{background:#F2B705;border-color:#F2B705;color:#3d2c00}

.ddi-action{background:rgba(0,103,120,.045)}
.ddi-action:hover{background:rgba(0,103,120,.09)}
.ddot-action{
  display:inline-flex;align-items:center;justify-content:center;
  width:8px;height:8px;border-radius:50%;
  color:var(--oc-blue);font-size:11px;line-height:1;background:none;
}

@media(max-width:640px){
  .route-bar{width:auto;max-width:none;margin-left:12px;margin-right:12px;padding:10px;border-radius:14px;gap:8px}
  .route-clear{margin-left:auto}
  .route-panel{padding:18px 15px 16px;border-radius:18px}
  .route-head{flex-direction:column;gap:8px}
  .route-head h2{font-size:21px}
  .route-destination-grid{grid-template-columns:1fr}
  .route-items{gap:5px}
  .route-item-card{max-width:100%}
  .route-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .route-comparison-head{align-items:flex-start;flex-direction:column;gap:8px}
  .route-matrix-legend{justify-content:flex-start}
  .route-matrix-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .route-matrix-filters>span,.route-matrix-filters button{flex:0 0 auto}
  .route-table-scroll{border-radius:11px}
  .route-matrix{min-width:640px}
  .route-matrix th,.route-matrix td{padding:7px 8px}
  .route-matrix thead th:first-child,.route-matrix tbody th{min-width:174px;max-width:174px}
  .route-limit-dialog-card{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:21px 18px 18px}
  .route-limit-icon{width:40px;height:40px;font-size:17px}
  .route-limit-dialog h2{font-size:19px}
  .route-limit-confirm{grid-column:1/-1;justify-self:stretch}
  .fbtn.combine{width:100%;justify-content:center}
  .detail-route-switcher{width:max-content;max-width:100%;margin-right:0;grid-template-columns:auto 30px minmax(82px,auto) 30px}
  .route-item-dialog-card{padding:21px 17px 18px}
  .route-item-dialog-groups{grid-template-columns:1fr}
  .route-actions .bmore{width:100%;justify-content:center}
}




/* ==== v24.6 klávesnice ==== */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
#av-map:focus{outline:none}
#av-map:focus-visible{outline:3px solid #9bd344;outline-offset:-3px}
/* Kurzor klávesnice musí být vidět i na tmavém oceánu i na světlém polygonu. */
path.country.kb-focus{
  stroke:#fff!important;
  stroke-width:2.2!important;
  filter:drop-shadow(0 0 4px rgba(155,211,68,.95));
}
circle.dest-marker.kb-focus{
  stroke:#fff!important;
  stroke-width:2.4!important;
  filter:drop-shadow(0 0 4px rgba(155,211,68,.95));
}
@media(prefers-reduced-motion:reduce){
  path.country.kb-focus,circle.dest-marker.kb-focus{filter:none}
}


/* ==== v24.7 kombinace jako sjednocení ==== */
.fr-combo-breakdown{
  font-size:11.5px;line-height:1.5;color:#6c7b75;margin:2px 0 4px;
}
.fr-combo-keys{display:flex;flex-wrap:wrap;gap:6px 14px;margin:9px 0 2px}
.fr-combo-key{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#4f5f59}
.fr-combo-key i{width:13px;height:13px;border-radius:4px;flex:0 0 auto;border:1px solid rgba(0,0,0,.10)}

.fr-combo-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:start}
.fr-combo-group{
  min-width:0;border:1px solid rgba(0,103,120,.11);border-radius:15px;background:#fff;
  overflow:hidden;box-shadow:0 8px 24px rgba(0,103,120,.045);
}
.fr-combo-group.is-all{border-color:rgba(0,103,120,.28);box-shadow:0 10px 28px rgba(0,103,120,.09)}
.fr-combo-group header{
  display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:9px;align-items:start;
  padding:12px;background:rgba(0,103,120,.035);border-bottom:1px solid rgba(0,103,120,.08);
}
.fr-combo-swatch{width:14px;height:14px;margin-top:3px;border-radius:4px;border:1px solid rgba(0,0,0,.12)}
.fr-combo-group h3{margin:0;font-family:'Saira',sans-serif;font-size:13.5px;line-height:1.25;color:var(--oc-blue)}
.fr-combo-group header p{margin:3px 0 0;font-size:11px;line-height:1.45;color:#6d7b76}
.fr-combo-group header>strong{
  display:inline-flex;min-width:29px;height:29px;align-items:center;justify-content:center;
  padding:0 7px;border-radius:999px;background:#fff;color:var(--oc-blue);
  font-family:'Saira',sans-serif;font-size:12px;box-shadow:0 3px 10px rgba(0,0,0,.05);
}
.fr-combo-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;max-height:260px;overflow:auto;padding:12px}
.fr-chip.combo{display:inline-flex;align-items:center;gap:7px;background:#fff;border-color:rgba(0,103,120,.14);color:#42524d}
.fr-chip-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto;border:1px solid rgba(0,0,0,.12)}
.mfl-combo-item{display:inline-flex;align-items:center;gap:5px}
.mfl-combo-item i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}

@media(max-width:640px){
  .fr-combo-groups{grid-template-columns:1fr}
  .fr-combo-list{max-height:200px}
}

/* Tlačítko nemoci v kombinaci nese barvu, kterou má v mapě. */
.fbtn.combo-active{
  background:var(--combo-color,var(--oc-magenta))!important;
  border-color:var(--combo-color,var(--oc-magenta))!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.fbtn.combo-active:hover{background:var(--combo-hover,#a9004e)!important}
.fcombo-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto;border:1px solid rgba(0,0,0,.12)}
.fcombo-plus{font-style:normal;color:#b07;opacity:.6;margin-left:-4px;margin-right:2px}
.fcombo-overlap{font-size:11.5px;color:#6c7b75}

/* ==== v24.9 nenačtený detail v trase ==== */
/* Výpadek načtení se dřív kreslil stejně jako „doporučení neuvedeno“.
   Musí být na první pohled jiný stav, ne slabší varianta „ne“. */
.route-missing-error{
  background:rgba(242,183,5,.10);border-color:rgba(242,183,5,.42);color:#6b5200;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.route-missing-error strong{color:#5a4500}
.route-retry{
  border:1px solid rgba(242,183,5,.55);border-radius:999px;background:#fff;color:#6b5200;
  padding:7px 13px;min-height:32px;font:700 11px 'Saira',sans-serif;cursor:pointer;
}
.route-retry:hover:not(:disabled){background:rgba(242,183,5,.18)}
.route-retry:disabled{opacity:.6;cursor:progress}

.route-destination-card.is-failed{border-color:rgba(242,183,5,.5);background:rgba(242,183,5,.07)}
.route-destination-card.is-failed small{color:#6b5200;font-weight:700}
.route-destination-card.is-nodata{background:#f7f9f8}
.route-destination-card.is-nodata small{color:#7b8984}

.route-item-dialog-group.unknown{background:#fff8e2;border-color:rgba(242,183,5,.42)}
.route-item-dialog-group.unknown h3 span{background:#f2b705;color:#3d2f00}
.route-item-dialog-group.unknown button{border-color:rgba(242,183,5,.45);color:#6b5200}

/* ==== v24.9 výběr destinací v regionu ==== */
/* Region má klidně 29 destinací, trasa unese 5. Dřív se rozdíl tiše zahodil;
   teď je vidět celý seznam a výběr je na uživateli. */
.region-panel{
  margin-top:14px;padding:22px 24px 18px;
  border-radius:24px;
  border:1px solid rgba(0,103,120,.20);
  background:radial-gradient(circle at right top,rgba(0,103,120,.09) 0%,rgba(255,255,255,0) 48%),linear-gradient(135deg,#fff,#f7fcfc);
  box-shadow:0 18px 40px rgba(0,103,120,.07);
}
.region-panel[hidden]{display:none!important}
.region-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.region-kicker{
  font-family:'Saira',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--oc-blue);margin-bottom:4px;
}
.region-head h2{
  font-family:'Saira',sans-serif;font-size:26px;font-weight:600;
  line-height:1.2;color:var(--oc-blue);letter-spacing:-.02em;margin:0;
}
.region-sub{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--oc-muted)}
.region-count{
  font-family:'Saira',sans-serif;font-size:12px;font-weight:700;color:#00525f;
  background:rgba(0,103,120,.12);border-radius:999px;padding:7px 13px;white-space:nowrap;
}
.region-count.is-full{background:rgba(242,183,5,.24);color:#6d4f00}
.region-grid{display:flex;flex-wrap:wrap;gap:7px}
.region-chip{
  display:inline-flex;align-items:center;gap:7px;min-height:34px;
  padding:7px 14px 7px 9px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(0,103,120,.18);background:#fff;color:#42534d;
  font:600 12.5px 'Saira',sans-serif;transition:background .15s,border-color .15s,color .15s;
}
.region-chip:hover:not(:disabled){border-color:rgba(0,103,120,.42);background:rgba(0,103,120,.05)}
.region-chip-mark{
  display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;
  border-radius:50%;background:rgba(0,103,120,.10);color:var(--oc-blue);
  font:700 11px 'Saira',sans-serif;flex:0 0 auto;
}
.region-chip.on{background:rgba(242,183,5,.16);border-color:rgba(242,183,5,.6);color:#6d4f00}
.region-chip.on .region-chip-mark{background:#f2b705;color:#3d2f00}
.region-chip:disabled{opacity:.42;cursor:not-allowed}
.region-note{margin:12px 0 0;font-size:12px;color:#6d4f00}
.region-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.region-actions .bmore.ghost{background:#fff;color:var(--oc-blue);border:1px solid rgba(0,103,120,.16);box-shadow:none}
.region-actions .bmore.ghost:hover{background:rgba(0,103,120,.06)}

@media(max-width:640px){
  .region-panel{padding:18px 16px 16px;border-radius:20px}
  .region-head{flex-direction:column;gap:8px}
  .region-head h2{font-size:21px}
  .region-grid{max-height:280px;overflow-y:auto}
}

/* ==== v24.9 mobilní překryvy mapy ==== */
@media(max-width:640px){
  /* Legenda filtru v mapě zabírala 142 z 500 px výšky mapy a dvě ze čtyř
     tlačítek kategorií byla mimo obrazovku ve skrytém vodorovném scrollu.
     Úplně stejná tlačítka i plné vysvětlivky jsou v přehledu výsledků hned
     pod mapou, takže na mobilu překryv jen bral místo. */
  .map-filter-legend{display:none!important}
}

/* ==== v24.9 dotykové cíle ==== */
/* WCAG 2.2 chce alespoň 24×24 px. Křížek u vyhledávání měl 48×20 a odkazy na
   zdroje 16–18 px na výšku – na dotyku se do nich těžko trefovalo. */
.sclr.on{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0 14px}
.mfl-source,.fr-yf-links a,.external-meta a,.fr-source-note a{
  display:inline-flex;align-items:center;min-height:24px;
}

/* ==== v24.10 responzivní trasa a kompaktní detail mapy ==== */
/* Na desktopu ukáže poměr 2/2 i přesné rozdělení bez nutnosti klikat. */
.route-item-tooltip{
  position:fixed;z-index:10020;width:min(360px,calc(100vw - 20px));padding:12px;
  border-radius:13px;background:#fff;border:1px solid rgba(0,103,120,.18);
  box-shadow:0 16px 38px rgba(4,20,43,.24);color:#42534d;pointer-events:none;
}
.route-item-tooltip-title{margin:0 0 8px;font:700 13px/1.35 'Saira',sans-serif;color:var(--oc-blue)}
.route-item-tooltip-group{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:9px;font-size:11px;line-height:1.45}
.route-item-tooltip-group+.route-item-tooltip-group{margin-top:5px}
.route-item-tooltip-group strong{font:700 10.5px/1.45 'Saira',sans-serif}
.route-item-tooltip-group.yes{background:rgba(120,190,32,.12);color:#356306}
.route-item-tooltip-group.no{background:#f1f4f2;color:#64736d}
.route-item-tooltip-group.unknown{background:#fff3cb;color:#755700}
.route-item-tooltip-hint{margin:8px 2px 0;color:#7a8882;font-size:9.5px}
.route-mobile-scroll-hint{display:none}

@media(max-width:640px){
  /* Jedna kompaktní tabulka jako na desktopu. První sloupec zůstává při
     vodorovném posunu viditelný, značka destinace je ve stejném řádku. */
  .route-table-scroll{
    max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(0,103,120,.18);
    border-radius:12px;background:#fff;scrollbar-width:thin;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .route-matrix{
    display:table;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;
    table-layout:fixed;font-size:10px;
  }
  .route-matrix thead{display:table-header-group}
  .route-matrix tbody{display:table-row-group}
  .route-matrix tbody tr{display:table-row;background:#fff}
  .route-matrix tbody tr[hidden]{display:none!important}
  .route-matrix th,.route-matrix td{height:42px;padding:6px;border-radius:0}
  .route-matrix thead th{font-size:8.5px;line-height:1.25;white-space:normal;vertical-align:middle}
  .route-matrix thead th:first-child{
    width:142px;min-width:142px;max-width:142px;padding-left:9px;
  }
  .route-matrix tbody th{
    position:sticky!important;left:0;z-index:2;display:table-cell!important;
    width:142px!important;min-width:142px!important;max-width:142px!important;
    padding:7px 8px!important;vertical-align:middle;background:#fff;
    box-shadow:5px 0 8px -8px rgba(4,20,43,.55);
  }
  .route-matrix-row.povinne th{background:#f1f8f8!important}
  .route-matrix-row.zakladni th{background:#f5faef!important}
  .route-matrix-row.doporuceni th{background:#fff!important}
  .route-matrix tbody th a,.route-matrix tbody th>span:last-child{
    display:inline;min-width:0;font-size:9.5px;line-height:1.28;overflow-wrap:anywhere;
  }
  .route-matrix-category{width:19px;height:19px;margin-right:5px;vertical-align:middle}
  .route-matrix tbody td{
    display:table-cell;min-width:64px;width:64px;padding:6px;vertical-align:middle;text-align:center;
  }
  .route-matrix tbody td[hidden]{display:none!important}
  .route-matrix tbody td::before{content:none}
  .route-matrix th[data-route-column],.route-matrix td[data-route-column]{min-width:68px;width:68px;max-width:68px}
  .route-matrix thead th:last-child,.route-matrix-total{min-width:54px;width:54px;max-width:54px}
  .route-matrix-mark{width:20px;height:20px;font-size:10px}
  .route-matrix-total{white-space:nowrap;color:var(--oc-blue)}
  .route-matrix-total strong{font-size:10px}

  /* Filtr je samostatný, jasně označený a na úzké obrazovce se posouvá. */
  .route-matrix-filters{
    position:relative;flex-wrap:nowrap;max-width:100%;overflow-x:auto;gap:6px;
    margin:0 0 7px;padding:7px;border:1px solid rgba(0,103,120,.14);border-radius:12px;
    background:#f8fbfa;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .route-matrix-filters::-webkit-scrollbar{display:none}
  .route-matrix-filters>span{
    position:sticky;left:-7px;z-index:2;align-self:stretch;display:inline-flex;align-items:center;
    flex:0 0 auto;margin:-7px 2px -7px -7px;padding:0 9px;background:#f8fbfa;
    box-shadow:7px 0 8px -9px rgba(4,20,43,.65);font-size:9.5px;
  }
  .route-matrix-filters button{flex:0 0 auto;min-height:34px;padding:7px 10px;font-size:9.5px}
  .route-mobile-scroll-hint{display:block;margin:0 2px 7px;color:#75827d;font-size:9.5px;line-height:1.4}

  /* Mapa i náhled destinace jsou na telefonu výrazně nižší. */
  #mw,#av-map{height:400px!important}
  .map-info{
    max-height:calc(100% - 16px)!important;overflow:auto!important;
    padding:12px 12px 11px!important;border-radius:16px!important;
  }
  .map-info .mi-head{margin-bottom:6px;padding:1px 38px 0 1px}
  .map-info .mi-title{font-size:21px;line-height:1.12;margin-top:2px}
  .map-info .mi-label{font-size:9px}
  .map-info .mi-close{top:0;width:34px;height:34px;font-size:18px}
  .map-info .mi-route-nav{grid-template-columns:32px 1fr 32px;margin:0 0 6px;padding:3px}
  .map-info .mi-route-nav button{width:32px;height:28px}
  .map-info .mi-badges{
    flex-wrap:nowrap;overflow-x:auto;gap:5px;margin:4px 0 7px;padding:0 0 5px;
    scrollbar-width:none;
  }
  .map-info .mi-badges::-webkit-scrollbar{display:none}
  .map-info .mi-badge{flex:0 0 auto;font-size:9.5px;padding:5px 7px}
  .map-info .destination-filter-notice{margin:5px 0 8px;padding:7px 8px;font-size:9.5px;line-height:1.35}
  .map-info .destination-filter-notice button{padding:5px 7px;font-size:9px}
  .map-info .mi-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:5px}
  .map-info .mi-actions .mi-btn{min-height:36px;padding:6px 8px;font-size:9.5px;line-height:1.25}
  .map-info .mi-btn.center,.map-info .mi-btn.share{display:none!important}
  .map-info .mi-btn.ghost{display:inline-flex!important;grid-column:1/-1}
}

@media(max-width:420px){
  #mw,#av-map{height:380px!important}
}
