.tt-region__btn{display:inline-flex;gap:.5rem;align-items:center;border:1px solid #ddd;border-radius:999px;padding:8px 12px;background:#fff;cursor:pointer}
.tt-region__btn:hover{border-color:#aaa}
.tt-region__btn-label{opacity:.7}
.tt-region__overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9998}
.tt-region__modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,92vw);max-height:80vh;overflow:auto;background:#fff;border-radius:14px;z-index:9999;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.tt-region__modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}
.tt-region__modal-title{font-size:16px;font-weight:600}
.tt-region__close{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;padding:0 6px}
.tt-region__modal-body{padding:14px 16px}
.tt-region__grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px}
@media (max-width:640px){.tt-region__grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}
.tt-region__item{display:block;appearance:none;background:#fff;cursor:pointer;text-align:left;padding:10px 12px;border:1px solid #e5e5e5;border-radius:12px}
.tt-region__item:hover{border-color:#aaa}
.tt-region__item.is-active{border-color:#111;box-shadow:0 0 0 2px rgba(0,0,0,.08) inset}