/* Toura Passport STAGING 010N — Explorer country selector + map-control formalization.
   Presentation/UI only. Explorer feed governance and map data remain canonical. */
@media (max-width:760px){
  .map-control-stack{
    gap:10px!important;
    align-items:end!important;
  }
  .map-control-stack .map-fab{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    border-radius:50%!important;
    border:1px solid rgba(16,43,61,.17)!important;
    background:rgba(255,255,255,.985)!important;
    color:#173d50!important;
    box-shadow:0 9px 26px rgba(18,52,67,.20),0 1px 0 rgba(255,255,255,.9) inset!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent;
    transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
  }
  .map-control-stack .map-fab:active{
    transform:scale(.94)!important;
    background:#f7faf8!important;
    border-color:rgba(35,120,79,.32)!important;
    box-shadow:0 5px 16px rgba(18,52,67,.17)!important;
  }
  .map-control-stack .map-fab:focus-visible{
    outline:3px solid rgba(48,151,96,.22)!important;
    outline-offset:2px!important;
    border-color:#6fa98a!important;
  }
  .map-control-stack .tp010n-control-icon{
    width:22px!important;
    height:22px!important;
    display:block!important;
    border:0!important;
    border-radius:0!important;
    position:static!important;
    color:inherit!important;
  }
  .map-control-stack .tp010n-control-icon:after{display:none!important;content:none!important}
  .map-control-stack svg{
    width:22px;height:22px;display:block;
    fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;
  }
  #searchMapButton{color:#183f55!important}
  #locateButton{color:#23784f!important}

  .explorer-country-control{position:relative!important;display:grid!important;place-items:center!important}
  #countryMapButton.explorer-country-fab{font-size:0!important}
  #countryMapButton .explorer-country-flag{
    display:grid!important;place-items:center!important;
    width:30px!important;height:30px!important;border-radius:50%!important;
    font-size:22px!important;line-height:1!important;
    filter:saturate(1.06);
  }
  #countryMapButton[aria-expanded="true"]{
    border-color:rgba(35,120,79,.38)!important;
    box-shadow:0 9px 26px rgba(18,52,67,.18),0 0 0 3px rgba(48,151,96,.10)!important;
  }
  .explorer-country-menu{
    position:absolute!important;
    right:calc(100% + 11px)!important;
    top:0!important;
    width:min(236px,calc(100vw - 86px))!important;
    padding:10px!important;
    border:1px solid rgba(20,55,71,.13)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 18px 44px rgba(15,47,62,.22)!important;
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    color:#183746!important;
  }
  .explorer-country-menu[hidden]{display:none!important}
  .explorer-country-head{padding:4px 5px 9px!important;border-bottom:1px solid #e7eeea!important}
  .explorer-country-head small{
    display:block!important;color:#71847a!important;font-size:8px!important;font-weight:900!important;letter-spacing:.13em!important;
  }
  .explorer-country-head b{display:block!important;margin-top:3px!important;font-size:13px!important;line-height:1.2!important;color:#173b4b!important}
  .explorer-country-option{
    width:100%!important;margin-top:8px!important;padding:10px!important;border:0!important;border-radius:13px!important;
    background:#f5f9f6!important;color:#173b4b!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;
    align-items:center!important;gap:9px!important;text-align:left!important;font:inherit!important;cursor:pointer!important;
  }
  .explorer-country-option:hover,.explorer-country-option:focus-visible{background:#edf6f0!important;outline:none!important}
  .explorer-country-option .flag{font-size:23px!important;line-height:1!important}
  .explorer-country-option span:nth-child(2){display:grid!important;gap:2px!important}
  .explorer-country-option b{font-size:12px!important;line-height:1.1!important}
  .explorer-country-option small{font-size:9px!important;color:#75877e!important;line-height:1.1!important}
  .explorer-country-option i{font-style:normal!important;color:#278252!important;font-size:13px!important;font-weight:900!important}
  .explorer-country-future{display:block!important;padding:8px 6px 2px!important;color:#819089!important;font-size:8px!important;line-height:1.25!important}
}

/* Keep the replacement SVG controls correctly sized on non-mobile layouts too.
   Country selection is part of the mobile finish pass, so desktop remains unchanged. */
.tp010n-control-icon{width:22px;height:22px;display:block}
.tp010n-control-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:761px){.explorer-country-control{display:none!important}}
