/* Named passports and touch-friendly map controls. */
.compare-picker{display:flex;gap:7px;align-items:center;margin:8px 0 12px;min-width:0}.compare-picker label{font-size:10px;flex-shrink:0;color:#677b62}.compare-picker select{min-width:0;flex:1;border:1px solid #d5dfce;border-radius:7px;background:#fffef8;padding:8px;font-size:12px}.compare-picker button{width:38px;height:38px;flex-shrink:0;border:1px solid #cad7c2;border-radius:8px;background:#edf2e5}.traveler-tabs button{min-width:0}.traveler-tabs span{white-space:normal;overflow-wrap:anywhere}.status-tabs{gap:4px 10px}.status-tabs button{min-height:38px;font-size:10px}.form-error{color:#9f4634!important}.mobile-filter-close{display:none}.map-heading #mapRegion{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.passport-cover h2{color:#ddce9e;letter-spacing:3px}.passport-cover-kicker{font-size:9px;letter-spacing:1.3px}.passport-cover .passport-identity{font:28px var(--serif);color:#eee2bb;overflow-wrap:anywhere}.passport-progress{height:4px;background:#c7bc8b35;border-radius:10px;overflow:hidden}.passport-progress span{height:100%;display:block;background:#cfbc83}.passport-toolbar .icon-button{flex-shrink:0}.passport-controls input{min-width:0}.passport-stats{color:#e8d9ae}.passport-stats strong{font:38px var(--serif)}.passport-stats span{font-size:12px;margin-left:10px}#linkFallback textarea{width:100%;font:12px monospace;border:1px solid #bcccaf;border-radius:6px;margin-top:6px}#manageDialog>select,#importDialog>select{display:block;width:100%;padding:11px;border:1px solid #cbd8bf;border-radius:7px;margin:7px 0 18px;background:#fffdf6}#manageDialog>label,#importDialog>label{font-size:12px}.share-summary>div{display:flex;flex-direction:column;align-items:flex-start}.country-map-legend>span{max-width:145px;overflow:hidden;text-overflow:ellipsis}.country-map-legend>span>span{overflow:hidden;text-overflow:ellipsis;max-width:95px;display:block}.passport-actions button{min-height:44px}.passport-dialog .passport-toolbar{position:sticky;top:-25px;z-index:5;background:#f8f6eb;padding:8px 0}.identity-dialog input{width:100%}
@media(max-width:760px){
  :root{--mobile-nav:calc(64px + env(safe-area-inset-bottom,0px));--mobile-header:calc(66px + env(safe-area-inset-top,0px))}
  html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
  button,a,input,select,textarea{touch-action:manipulation}
  input,select,textarea,.geo-field select,.country-visit-filter select,.searchbox input{font-size:16px!important}
  button,.primary,.secondary,.icon-button,.visit-checkbox,.profile-context button,.category{min-height:44px}
  .topbar{height:var(--mobile-header);padding:5px 12px;padding-top:max(5px,env(safe-area-inset-top,0px));gap:8px}
  .header-right>.passport,.header-right>.local-tag{display:none}
  .header-right .share-top,.header-right .help{width:44px;height:44px;min-width:44px;padding:8px;border-radius:50%;display:grid;place-items:center}
  .topbar .header-right{gap:5px}.brand{min-width:0}.brand-mascot{width:38px;height:47px}.brand .brand-wordmark{width:124px}.brand small{font-size:4.6px}
  .workspace{height:calc(100dvh - var(--mobile-header) - var(--mobile-nav));min-height:0}
  .sidebar{padding-bottom:0;min-height:0;overflow:hidden}
  .explore-head{padding:12px 16px 8px;flex-shrink:0}.explore-head h1,.explore-head>.eyebrow,.explore-head>.intro{display:none}
  .traveler-tabs{gap:6px;margin-bottom:4px}.traveler-tabs button{padding:7px;min-height:53px}.traveler-tabs i{display:none}.traveler-tabs span{font-size:11px}.traveler-tabs strong{font-size:15px}
  .profile-context{margin:0;font-size:10px;min-height:38px}.profile-context button{padding:6px;font-size:11px}.compare-picker{margin:0 0 8px}.compare-picker label{font-size:11px}.compare-picker select{min-height:44px;font-size:16px!important}.compare-picker button{width:44px;height:44px}
  .searchbox{padding:0 12px;min-height:46px}.searchbox input{height:44px}.searchbox kbd{display:none}
  body.list-mode:not(.filters-mode) .geo-filters,body.list-mode:not(.filters-mode) .country-visit-filter,body.list-mode:not(.filters-mode) .categories,body.list-mode:not(.filters-mode) .unesco-select{display:none!important}
  .results-head{padding:0 16px 8px;flex-shrink:0}.status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border:0}.status-tabs button{min-height:44px;border:1px solid #dbe2d2;border-radius:6px;background:#f4f6ef;font-size:11px;padding:7px 3px!important;text-align:center!important;white-space:normal}.status-tabs button.active{background:#345641;color:#fff;border-color:#345641}.status-tabs button[data-status=neither]{grid-column:auto}.results-line{margin-top:7px;height:19px}.results-line button{min-height:36px;padding:6px;font-size:11px}
  .place-list{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:0 8px 10px}.place-row{padding:4px 6px 4px 8px;min-height:84px;gap:7px}.place-open{padding:8px 0;gap:9px}.place-name{font-size:13px}.place-locality,.place-country{font-size:11px}.place-name-en{font-size:11px}.place-symbol{width:31px;height:35px}.visit-checkbox{width:44px;height:44px;min-width:44px;border-radius:50%;font-size:18px}.row-travelers{font-size:10px;flex-wrap:wrap}.sidebar-foot{padding:9px 16px 6px;flex-shrink:0}.save-note{font-size:9px}.save-note button{height:34px;min-height:34px}.catalog-search-notice{margin:0 16px 8px}.catalog-search-notice button{min-height:40px}
  .filters-mode .sidebar{display:block;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px}.filters-mode .place-list,.filters-mode .sidebar-foot,.filters-mode .catalog-search-notice{display:none}.filters-mode .explore-head{padding-bottom:12px}.filters-mode .mobile-filter-close{display:block;width:100%;margin:10px 0;border:1px solid #b5c5ab;background:#eaf0e1;border-radius:8px;font-size:14px}.filters-mode .geo-filters{grid-template-columns:1fr;margin:14px 0;gap:12px}.geo-field label,.country-visit-filter label{font-size:12px}.geo-field select,.country-visit-filter select{min-height:46px;padding:10px}.country-visit-filter p{font-size:11px}.categories{gap:7px}.category{font-size:12px!important;padding:9px 11px!important}.unesco-select select{min-height:44px}.filters-mode .profile-context,.filters-mode .traveler-tabs,.filters-mode .compare-picker{display:none}
  .mobile-switch{inset:auto 0 0;transform:none;width:100%;height:var(--mobile-nav);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;border-radius:0;border:0;border-top:1px solid #ced9c6;padding:6px 6px max(6px,env(safe-area-inset-bottom,0px));background:#fafaf4;box-shadow:0 -5px 22px #233e3010;z-index:1200}.mobile-switch button{height:49px;min-width:0;padding:7px 3px;font-size:11px;border-radius:10px}.mobile-switch span{display:none}.filters-mode #mobileFilters{background:#345641;color:white}.filters-mode #showList{background:transparent;color:#6b7c61}
  .map-heading{left:16px;top:16px;max-width:calc(100% - 32px)}.map-heading #mapRegion{font-size:23px;max-width:calc(100vw - 130px)}.map-heading>div{gap:8px}.map-count{font-size:9px;padding:5px}.map-heading .eyebrow{font-size:7px}.map-actions{top:82px;right:12px}.map-actions button{min-height:44px;padding:10px;font-size:11px}.leaflet-top.leaflet-right{top:135px;right:2px}.leaflet-bar a{width:42px!important;height:42px!important;line-height:42px!important}.map-bottom{left:12px;right:12px;bottom:12px;gap:6px}.country-map-legend{max-width:calc(100% - 95px);padding:8px;gap:5px 8px}.country-map-legend>strong{font-size:7px}.country-map-legend span{font-size:9px}.country-map-legend>span{max-width:95px}.country-map-legend>span>span{max-width:55px}.map-hint{bottom:87px;font-size:10px}.leaflet-control-attribution{max-width:80vw;font-size:7px!important}
  .detail-card{position:absolute;left:8px;right:8px;bottom:8px;width:auto;max-height:min(58dvh,510px);border-radius:17px;overscroll-behavior:contain;scroll-padding:48px}.detail-close{position:sticky;top:6px;float:right;margin:6px 8px -50px 0;width:44px;height:44px;z-index:3;background:#fffef5;box-shadow:0 2px 9px #263f3520}.detail-illustration{height:52px}.detail-content{padding:15px 18px}.detail-content h2{font-size:25px}.detail-content .country,.detail-content .description{font-size:12px}.detail-location strong{font-size:13px}.detail-visit{min-height:48px;width:100%;font-size:13px!important;line-height:1.4}.detail-links a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.detail-coords{font-size:9px}
  dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px));padding:24px 20px;margin:auto;border-radius:18px;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}dialog h2{font-size:29px;margin-right:28px}dialog .modal-close{width:44px;height:44px;right:8px;top:8px;z-index:5;background:#faf9f1}.passport-dialog{padding:12px!important}.passport-toolbar{top:-12px!important}.passport-toolbar .eyebrow{font-size:8px;letter-spacing:1px}.passport-toolbar button{width:44px;height:44px}.passport-cover .passport-cover-emblem{width:60px;height:60px;margin:18px auto}.passport-cover .passport-identity{font-size:24px}.passport-cover .passport-cover-kicker{font-size:8px}.passport-cover h2{font-size:24px;margin-right:0}.passport-cover .passport-stats{margin:12px 0}.passport-pages{padding:16px 9px!important}.passport-controls{gap:8px!important}.passport-controls select,.passport-controls input{width:100%;min-width:0;min-height:44px}.passport-controls label{font-size:11px}.stamp-caption{font-size:11px}.passport-page-note{font-size:11px!important;line-height:1.6}.passport-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0}.passport-actions button{font-size:12px;line-height:1.4;white-space:normal;min-width:0;padding:10px 7px}.profile-form input{height:48px}.profile-form button{min-height:48px}.identity-dialog .secondary{width:100%;margin-top:12px}#confirmImport{width:100%;min-height:48px}.backup-actions{flex-wrap:wrap}.toast{bottom:calc(var(--mobile-nav) + 12px);font-size:12px;line-height:1.4;width:max-content;max-width:calc(100vw - 24px);border-radius:12px;padding:12px 17px}.share-summary{margin:15px 0}.share-summary>div{min-width:0}.share-summary span{overflow-wrap:anywhere}
}
@media(max-width:360px){.brand .brand-wordmark{width:112px}.brand-mascot{width:32px}.topbar{padding-left:8px;padding-right:8px}.mobile-switch button{font-size:10px}.traveler-tabs span{font-size:10px}.explore-head{padding-top:8px}.compare-picker{margin-bottom:5px}.status-tabs button{font-size:10px}}
@media(max-height:650px) and (max-width:760px){.list-mode:not(.filters-mode) .compare-picker{display:none}.sidebar-foot{display:none}.explore-head{padding-top:8px;padding-bottom:5px}.traveler-tabs button{min-height:44px}.profile-context{min-height:30px}.profile-context button{min-height:44px}.status-tabs button{min-height:44px}.passport-cover .passport-cover-emblem{display:none}}
.passport-cover .passport-stats{display:flex;align-items:baseline;justify-content:center;border-color:#cdbb8744;padding:10px 0;margin:8px 0 14px}.passport-cover .passport-stats strong{color:#eee0b6;font-size:42px}.passport-cover .passport-stats span{color:#d2c49a;font-size:12px}.passport-cover .passport-identity{justify-content:center}.passport-cover .passport-progress{background:#cfbc8333}.passport-cover .passport-progress span{background:#dcc995}

.passport-dialog>.passport-actions{margin:0 0 20px}.dialog-notice{padding:10px 12px;background:#eaf0df;border-radius:8px;color:#365441!important}@media(max-width:760px){.traveler-tabs span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-context{flex-wrap:wrap}.share-summary>div{padding:12px}.native-share{width:100%;margin-top:10px;min-height:44px}.passport-dialog>.passport-actions{margin:0 0 14px}.country-visit-filter select{width:100%;max-width:100%}.map-pin{padding:10px;margin-left:-22px!important;margin-top:-37px!important;width:44px!important;height:50px!important}}
.compare-hint{font-size:10px;line-height:1.5;color:#72806b;margin:0 0 12px}.whatsapp-share{display:block;width:100%;text-align:center;text-decoration:none;margin-top:10px;min-height:44px;padding:13px}
body[data-has-peer=false] .traveler-tabs{grid-template-columns:1fr}
body[data-has-peer=false] .detail-travelers .person-vivi{display:none}
body[data-has-peer=false] .share-summary{grid-template-columns:1fr}
