/* VN2KR CONNECT reference layout, adapted to the live PHP directory. */
.connect-account-tools,.language-switch{display:flex;align-items:center;gap:6px}.language-switch{padding:3px;background:#eef1f5;border-radius:10px}.public-page .language-switch button{font-size:11px;background:transparent;color:#75829b;padding:7px 8px}.public-page .language-switch button.active{background:#fff;color:#1746cf;box-shadow:0 1px 4px #0001}.public-page .connect-account-tools>a{font-size:12px;white-space:nowrap;padding:10px}.public-page .focused-browse{background:none;box-shadow:none;padding:0}.public-page .focused-browse>small,.public-page .focused-browse>p,.public-page .focused-browse>.tag,.public-page .focused-browse>.browse-options{display:none}.public-page .focused-browse .browse-map{margin-top:0;background:#fff}.nearby-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nearby-controls label{margin:0;font-size:12px}.nearby-controls input{flex:1;min-width:100px;width:auto;accent-color:#1746cf}.nearby-controls output{min-width:45px;font-weight:bold}.nearby-ticks{display:flex;justify-content:space-between;color:#7383a0;font-size:11px;margin:10px 0}.nearby-person{width:44px;height:44px;background:#1746cf;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 6px #1746cf30}.nearby-results{display:flex;gap:8px;flex-wrap:wrap}.nearby-results a{background:#edf2ff;border-radius:8px;padding:7px 10px;font-size:12px}.public-page .public-header{gap:12px}.public-page .public-header>span{margin-right:auto}.public-page .connect-top-favorites{margin-left:auto!important}@media(max-width:600px){.public-page .public-header{padding:10px 12px;gap:7px}.public-page .site-logo{width:104px;height:auto}.public-page .connect-top-favorites{gap:3px!important}.public-page .connect-account-tools{gap:5px}.public-page .language-switch button{padding:7px 5px;font-size:10px}.public-page .connect-account-tools>a{font-size:10px;padding:9px 7px}.public-page .connect-top-favorites b{display:none}}
.public-page{background:#f7f8fc;background-image:radial-gradient(ellipse at 90% 0,#eaf0ff,transparent 45%);padding-left:238px}
.connect-sidebar{position:fixed;inset:0 auto 0 0;width:238px;padding:30px 18px 20px;background:#fff;border-right:1px solid #e2e8f4;z-index:30;display:flex;flex-direction:column;overflow-y:auto}
.connect-brand{display:flex;flex-direction:column;gap:9px;padding:0 12px;margin-bottom:38px}.connect-brand img{object-fit:contain;object-position:left}.connect-brand>span{color:#173477;font-size:16px;letter-spacing:-.5px}.connect-brand b{color:#e62642}.connect-brand small{color:#7c88a1;font-size:10px;line-height:1.7}.connect-nav-kicker{margin:0 12px 14px;font-size:10px;letter-spacing:1.8px;color:#8895ae;font-weight:700}.connect-sidebar nav{display:grid;gap:6px}.connect-nav-item{display:flex;align-items:center;gap:12px;padding:14px 13px;border-radius:12px;font-size:13px;font-weight:600;color:#6e7d99}.connect-nav-item .shop-icon{color:#7c8ead;width:22px;height:22px}.connect-nav-item:hover{background:#f4f7ff}.connect-nav-item.is-active{background:#eaf0ff;color:#1746cf}.connect-nav-item.is-active .shop-icon{color:#1746cf}.connect-side-note{margin-top:auto;padding:22px 18px;border-radius:18px;background:linear-gradient(145deg,#173888,#1746cf);color:#fff;position:relative;overflow:hidden}.connect-side-note:after{content:'';position:absolute;right:-30px;top:-35px;width:110px;height:110px;border:1px solid #ffffff30;border-radius:50%;pointer-events:none}.connect-side-note>span{display:block;color:#ffbbc6;font-size:10px;letter-spacing:2px;margin-bottom:12px}.connect-side-note strong{font-size:19px;line-height:1.6;letter-spacing:-.6px}.connect-side-note p{color:#d3dfff;font-size:11px;line-height:1.8}.connect-side-note a{display:inline-block;color:#fff;font-size:11px;border-bottom:1px solid #829de7;padding-bottom:4px}.connect-side-footer{font-size:8px;color:#98a3b7;letter-spacing:1px;text-align:center;margin-top:20px}
.public-page .public-header{height:78px;padding:15px 32px;border-top:3px solid #e62642;justify-content:space-between;background:#ffffffed}.public-header>.brand{display:none}.public-header>span{display:block;border:0;padding:0;font-size:12px}.connect-top-favorites{display:flex;align-items:center;gap:8px!important;margin:0!important;font-size:12px;color:#536b99}.connect-top-favorites .shop-icon{color:#e62642;width:19px;height:19px}.connect-top-favorites b{font-size:10px;background:#eef2fe;color:#1746cf;padding:1px 6px;border-radius:20px}.public-page .public-main{max-width:1240px;padding:0 32px;margin-top:30px}.public-page .directory-hero{background:linear-gradient(120deg,#153a86,#1746cf 68%,#3660d6);color:#fff;border:0;border-radius:22px;box-shadow:0 12px 30px #1746cf15;padding:30px}.public-page .directory-hero>small{color:#c6d8ff}.public-page .directory-hero>small:before{background:#ff718c;box-shadow:0 0 0 4px #ff718c20}.public-page .directory-hero>p{color:#eef3ff;font-size:15px}.public-page .directory-hero>.tag{color:#fff;background:#ffffff15;border:1px solid #ffffff35}.public-page .directory-hero>.tag:before{background:#ff8da3}.public-page .directory-hero .browse-option{box-shadow:none;border-color:#ffffff55}.public-page .directory-hero .browse-option.is-active{background:#eef3ff;color:#1746cf;box-shadow:inset 0 -3px #e62642}.public-page .directory-hero .browse-option.is-active .shop-icon{color:#1746cf}.public-page .directory-hero .browse-option:nth-child(2).is-active{color:#d81f40;background:#fff0f3;border-color:#ffd0d9}.public-page .directory-hero .browse-option:nth-child(2).is-active .shop-icon{color:#d81f40}.public-page .directory-hero .category-browser{color:#172442}.public-page .directory-hero .browse-map{color:#172442}.public-page .directory-search{margin-top:24px;flex-wrap:nowrap}.public-page .directory-search select{width:155px;max-width:32%;padding:10px 9px;border:0;border-left:1px solid #e2e8f4;border-radius:0;background:#fff;font-size:12px}.connect-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 8px}.connect-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.public-page .connect-toolbar button{font-size:11px;padding:9px 12px;display:inline-flex;align-items:center;gap:6px}.connect-toolbar .shop-icon{width:16px;height:16px}.connect-sort-label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;color:#7383a0;margin:0}.connect-sort-label select{width:100px;padding:8px 10px;font-size:12px}.connect-location-note{font-size:10px;color:#8693aa;margin:0 0 25px}.public-page .connect-toolbar [hidden],.public-page [hidden]{display:none!important}.public-page #connect-status:empty{display:none}
.public-page .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.connect-card{position:relative}.connect-card .card-link{display:block;color:inherit;height:100%}.public-page .connect-card .card-link>img{display:block;width:100%;height:205px;object-fit:cover;background:#eef2fa}.public-page .connect-card .connect-favorite{position:absolute;z-index:2;right:12px;top:12px;width:34px;height:34px;padding:8px;border:1px solid #ffffffc0;border-radius:50%;background:#ffffffef;color:#7a89a2;display:grid;place-items:center;box-shadow:0 3px 10px #00000010}.connect-favorite .shop-icon{width:18px;height:18px;color:inherit}.public-page .connect-card .connect-favorite.is-saved{color:#e62642;background:#fff}.connect-favorite.is-saved .shop-icon{fill:#e62642}.public-page .connect-distance{font-size:10px;color:#637eac;font-weight:600}.public-page .card-more{margin-left:auto}.connect-mobile-nav{display:none}.public-page .public-footer{margin-left:32px;margin-right:32px}
@media(min-width:761px) and (max-width:1200px){.public-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-page .public-main{padding:0 24px}.public-page .shop-gallery{grid-template-columns:minmax(0,2fr) minmax(160px,1fr);gap:20px}.public-page .shop-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,80px));grid-auto-rows:115px}}
@media(max-width:1000px){.public-page{padding-left:0}.connect-sidebar{display:none}.public-header>.brand{display:inline-flex}.public-header>span{display:none}.public-page .public-header{padding:14px 24px}.connect-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;justify-content:space-around;gap:4px;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #e0e6f2;padding:9px 10px calc(10px + env(safe-area-inset-bottom))}.connect-mobile-nav>a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#8a97ae;font-size:10px;flex:1;min-height:43px}.connect-mobile-nav .shop-icon{width:21px;height:21px;color:inherit}.connect-mobile-nav .is-active{color:#1746cf;font-weight:700}.connect-mobile-nav .is-active:before{content:'';width:20px;height:3px;background:#e62642;border-radius:5px;position:absolute;top:0}.public-page{padding-bottom:90px}.public-page .public-footer{margin-bottom:10px}}
@media(max-width:760px){.public-page .public-main{padding:0 16px;margin-top:18px}.public-page .public-header{height:72px;padding:12px 20px}.public-page .directory-hero{padding:23px 18px}.public-page .directory-hero>p{font-size:13px}.public-page .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-page .connect-card .card-link>img{height:auto;aspect-ratio:4/3}.public-page .connect-card .connect-favorite{width:29px;height:29px;padding:6px;right:8px;top:8px}.connect-favorite .shop-icon{width:16px;height:16px}.public-page .directory-search{flex-wrap:wrap;gap:8px;padding:12px}.public-page .directory-search input:not([type=hidden]){flex:1;min-width:160px}.public-page .directory-search select{width:auto;max-width:none;flex:1;border:1px solid #e0e6f2;border-radius:8px}.public-page .directory-search button{min-width:78px}.connect-toolbar{gap:8px}.connect-sort-label{font-size:0}.connect-sort-label select{font-size:11px;width:86px}.public-page .connect-toolbar button{padding:8px;font-size:10px}.connect-top-favorites>span{display:none}.public-page .public-footer{margin-left:16px;margin-right:16px}.public-page .connect-location-note{margin-bottom:20px;line-height:1.7}.public-page .connect-distance{width:100%}}

.nearby-legend{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0;font-size:12px}.nearby-legend span{display:flex;align-items:center;gap:6px}.nearby-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.language-switch button{white-space:nowrap;flex-shrink:0}.connect-account-tools{flex-shrink:0}@media(max-width:380px){.public-page .site-logo{width:74px}.public-page .language-switch button{font-size:0;padding:7px 5px}.language-switch button:after{font-size:10px;content:'KR'}.language-switch button[data-language=vi]:after{content:'VI'}.public-page .connect-account-tools>a{font-size:0}.connect-account-tools>a:after{font-size:10px;content:'+ 업체 등록'}html[lang=vi] .connect-account-tools>a:after{content:'+ Đăng ký'}.public-page .public-header{gap:6px}}

/* Nearby view fills the viewport below the header and above mobile navigation. */
.public-page.nearby-page{background:#fff;padding-bottom:0;--nearby-header:78px;--nearby-bottom:0px}
.nearby-page .public-main{max-width:none;width:100%;margin:0;padding:0;min-height:0;height:calc(100vh - var(--nearby-header) - var(--nearby-bottom));height:calc(100dvh - var(--nearby-header) - var(--nearby-bottom));display:flex;flex-direction:column}
.public-page.nearby-page .directory-hero.focused-browse{background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}
.public-page.nearby-page .browse-map{background:#fff;border:0;border-radius:0;padding:0;margin:0;flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
.nearby-page .browse-map>div:not(.map),.nearby-page .browse-map>p{margin-left:16px;margin-right:16px;flex-shrink:0}
.nearby-page .browse-map>.row{padding-top:10px}.nearby-page .nearby-results,.nearby-page .nearby-legend{max-height:70px;overflow:auto}
.public-page.nearby-page #map{flex:1;min-height:180px;height:auto;width:100%;margin:10px 0 0;border:0;border-radius:0}
.nearby-page .public-footer{display:none}
@media(max-width:1000px){.public-page.nearby-page{--nearby-bottom:calc(74px + env(safe-area-inset-bottom))}.nearby-page .connect-mobile-nav{height:var(--nearby-bottom)}}
@media(max-width:760px){.public-page.nearby-page{--nearby-header:72px}}
