:root{--green:#087b61;--ink:#15241f;--muted:#63716c;--line:#dce6e2}*{box-sizing:border-box}body{margin:0;background:#f1f6f4;color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif}header{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100% - 980px)/2))}header>a:first-child{font-size:20px;font-weight:950;color:var(--green);text-decoration:none}.book{background:var(--green);color:#fff;text-decoration:none;border-radius:9px;padding:9px 12px;font-weight:900}.hero{background:linear-gradient(135deg,#06483a,#0c9b77);color:#fff;padding:34px max(16px,calc((100% - 980px)/2))}.hero small{color:#baffea;font-weight:900;letter-spacing:.13em}.hero h1{font-size:clamp(28px,5vw,42px);margin:8px 0}.hero p{color:#d6f5eb;margin:0 0 20px}.search{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:650px}.search input,.search button,.list-head select{border:0;border-radius:11px;padding:13px;font:inherit}.search button{background:#f0b34c;font-weight:900}.filters{display:flex;gap:7px;overflow:auto;margin-top:14px}.filters button{border:1px solid #ffffff80;background:#ffffff17;color:#fff;border-radius:20px;padding:8px 13px;font-weight:900;white-space:nowrap}.filters button.active{background:#fff;color:var(--green)}main{max-width:980px;margin:auto;padding:18px}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.list-tools{display:flex;align-items:center;gap:8px}.list-tools button{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:11px;padding:12px;font-weight:900;cursor:pointer}.list-tools button.active{background:var(--green);color:#fff}.list-head select{border:1px solid var(--line);background:#fff}.location-status{min-height:18px;margin:4px 0 12px;color:var(--muted);font-size:12px}.shop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.shop-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:145px 1fr;min-height:190px;box-shadow:0 8px 26px #163d3012}.shop-card img{width:100%;height:100%;object-fit:cover}.shop-copy{padding:15px;min-width:0}.shop-copy h2{font-size:19px;margin:0 0 5px}.area{color:var(--green);font-weight:900}.distance{display:inline-block;margin-left:5px;padding:3px 7px;border-radius:12px;background:#e8f7f1;color:var(--green);font-size:11px;font-weight:900}.shop-copy p{color:var(--muted);font-size:13px;line-height:1.45;margin:8px 0}.badges{display:flex;flex-wrap:wrap;gap:5px}.badge{background:#e8f7f1;color:#087b61;border-radius:16px;padding:5px 8px;font-size:11px;font-weight:900}.badge.category{background:#fff0d2;color:#865500}.badge.warning{background:#fff1ef;color:#a43126}.price-from{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.price-from strong{font-size:13px;line-height:1.35;max-width:58%;color:#41514b}.price-from a{background:var(--green);color:#fff;border-radius:9px;padding:9px 11px;text-decoration:none;font-weight:900;text-align:center}.empty{grid-column:1/-1;background:#fff;border-radius:16px;padding:50px 20px;text-align:center;color:var(--muted)}@media(max-width:720px){.list-head{align-items:flex-start;gap:8px}.list-tools{display:grid;grid-template-columns:auto auto}.list-tools button{padding:10px}.location-status{margin-top:8px}.shop-list{grid-template-columns:1fr}.shop-card{grid-template-columns:112px 1fr;min-height:175px}.shop-copy{padding:12px}.shop-copy h2{font-size:17px}}@media(max-width:390px){.list-head{display:block}.list-tools{margin-top:9px;grid-template-columns:1fr auto}.shop-card{grid-template-columns:96px 1fr}.price-from{display:block}.price-from strong{display:block;max-width:none}.price-from a{display:block;text-align:center;margin-top:9px}}

header select{max-width:132px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:9px 30px 9px 11px;font:inherit;font-size:13px;font-weight:850}.search button{min-width:96px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#30230b}.search button span{font-size:27px;line-height:.7;transform:rotate(-18deg)}.search button b{font-size:15px}.filters{scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-inline:contain;padding-bottom:1px}.filters::-webkit-scrollbar{display:none}.filters button{scroll-snap-align:start;flex:0 0 auto}.premium-shop{border:2px solid #e3ad43;box-shadow:0 10px 28px #aa711529}.premium-shop .premium-badge{background:#fff0c7;color:#784900}.premium-shop .price-from a{background:#b87908}.premium-shop h2:after{content:" PREMIUM";display:inline-block;margin-left:6px;color:#a56600;font-size:9px;letter-spacing:.08em;vertical-align:middle}@media(max-width:720px){header{padding-inline:16px}.hero{padding-top:28px;padding-bottom:28px}.filters{margin-right:-16px;padding-right:16px}.list-tools{display:flex}.list-tools button{white-space:nowrap}.premium-shop{order:-1}}
.site-brand{display:grid;gap:1px;line-height:1}.site-brand strong{font-size:20px}.site-brand small{color:#51635d;font-size:10px;font-weight:850;letter-spacing:.02em}

.primary-bookings{display:block;max-width:980px;margin:18px auto 6px;padding:18px;text-decoration:none}.primary-bookings-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.primary-bookings-head small{color:var(--green);font-size:11px;font-weight:950;letter-spacing:.14em}.primary-bookings-head h2{margin:4px 0 0;font-size:24px}.primary-bookings-head p{margin:0;color:var(--muted);font-size:13px}.primary-booking-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr 1fr;gap:11px}.primary-booking-card{position:relative;min-width:0;border:1px solid #cfe2db;border-radius:18px;background:#fff;color:var(--ink);padding:18px 18px 16px;text-decoration:none;box-shadow:0 8px 24px #163d3010;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.primary-booking-card:hover,.primary-booking-card:focus{transform:translateY(-2px);border-color:#79b6a4;box-shadow:0 13px 30px #163d3020;outline:none}.primary-booking-card.featured{border:2px solid #d9a43b;background:linear-gradient(145deg,#fff8e7,#fff)}.primary-booking-card.massage-shops-card{border-color:#b9ddd1;background:linear-gradient(145deg,#effbf7,#fff)}.primary-booking-card>small{display:block;margin:0 0 10px;color:#70807a;font-size:10px;font-weight:950;letter-spacing:.12em}.primary-booking-card strong{display:block;padding-right:30px;font-size:20px}.primary-booking-card p{min-height:38px;margin:8px 0 13px;color:var(--muted);font-size:13px;line-height:1.45}.primary-booking-card b{color:var(--green);font-size:13px}.primary-booking-card.featured b{color:#9b6300}.primary-booking-rank,.primary-booking-icon{position:absolute;right:14px;top:14px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e8f5f0;color:var(--green);font-size:12px;font-weight:950}.primary-booking-icon{width:34px;border-radius:10px;font-size:9px;letter-spacing:.04em}.primary-booking-card.featured .primary-booking-rank{background:#f1bd4f;color:#573600}@media(max-width:820px) and (min-width:721px){.primary-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.primary-bookings{margin-top:10px;padding:14px 16px}.primary-bookings-head{display:block}.primary-bookings-head p{margin-top:6px}.primary-booking-grid{grid-template-columns:1fr}.primary-booking-card{padding:16px}.primary-booking-card p{min-height:0;margin-bottom:10px}.primary-booking-card strong{font-size:19px}}
.directory-search{background:linear-gradient(135deg,#043f34,#0b8f70);padding:22px max(16px,calc((100% - 980px)/2));color:#fff;box-shadow:inset 0 1px #ffffff24}.directory-search .hero-controls{margin:0;padding:0;border:0}.directory-search-heading{max-width:720px;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.directory-search-heading small{display:block;color:#aef1dc;font-size:11px;font-weight:900;letter-spacing:.14em}.directory-search-heading h2{margin:3px 0 0;font-size:25px}.directory-search-heading p{margin:0;color:#d5f5eb;font-size:13px}.directory-search .search{max-width:720px}.directory-search .search input{min-width:0;border:2px solid transparent;box-shadow:0 8px 20px #002a2138;font-size:16px}.directory-search .search input:focus{outline:3px solid #ffd986;outline-offset:2px}.search-examples{display:flex;align-items:center;gap:7px;max-width:720px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.search-examples::-webkit-scrollbar{display:none}.search-examples button{flex:0 0 auto;border:1px solid #ffffff66;background:#ffffff18;color:#fff;border-radius:18px;padding:7px 11px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.search-examples button:hover,.search-examples button:focus-visible{background:#fff;color:#076b55;outline:none}.search-examples button:before{content:"#";opacity:.7;margin-right:2px}@media(max-width:720px){.hero-visual{display:none}.hero-inner{gap:0}.primary-bookings{margin-top:6px;padding:12px 16px 14px}.primary-bookings-head{display:block}.primary-bookings-head h2{font-size:21px}.primary-bookings-head p{margin-top:5px}.primary-booking-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(260px,86%);gap:9px;overflow-x:auto;padding:2px 2px 7px;scroll-snap-type:x mandatory;scrollbar-width:none}.primary-booking-grid::-webkit-scrollbar{display:none}.primary-booking-card{scroll-snap-align:start;padding:15px}.primary-booking-card p{min-height:0;margin-bottom:9px}.primary-booking-card strong{font-size:19px}.directory-search{padding:18px 16px}.directory-search-heading{display:block;margin-bottom:10px}.directory-search-heading h2{font-size:22px}.directory-search-heading p{margin-top:4px}.directory-search .filters,.search-examples{margin-right:-16px;padding-right:16px}.search button{min-width:82px;padding-inline:10px}}@media(max-width:350px){.search{grid-template-columns:1fr 62px}.search button{min-width:62px}.search button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}

.join-golf-feature{margin:0 0 18px;padding:16px;border:2px solid #e7c77e;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 8px 22px #8a5d1814}.join-golf-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.join-golf-kicker{display:block;color:#9a6500;font-size:11px;font-weight:950;letter-spacing:.12em}.join-golf-heading h2{margin:3px 0 3px;color:#19221f;font-size:23px}.join-golf-heading p{margin:0;color:#5c6863;font-size:13px}.join-golf-all{flex:0 0 auto;background:#b87908;color:#fff;border-radius:10px;padding:10px 13px;text-decoration:none;font-weight:950;white-space:nowrap}.join-golf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.join-golf-card{display:grid;grid-template-columns:62px 1fr;min-height:76px;overflow:hidden;border:1px solid #eadfbe;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.join-golf-card:hover,.join-golf-card:focus{transform:translateY(-2px);box-shadow:0 8px 18px #8a5d1820;outline:none}.join-golf-card img,.join-golf-placeholder{width:62px;height:100%;min-height:76px;object-fit:cover}.join-golf-placeholder{display:grid;place-items:center;background:linear-gradient(160deg,#0b8064,#12634f);color:#fff;font-size:11px;font-weight:950;letter-spacing:.08em}.join-golf-card-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:8px 9px}.join-golf-card-copy strong{font-size:15px;color:#1d2924}.join-golf-card-copy small{overflow:hidden;color:#68736e;font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.join-golf-card-copy b{margin-top:4px;color:#a56600;font-size:11px}.join-golf-card .venue-media{display:grid;place-items:center;width:62px;height:100%;min-height:76px;background:linear-gradient(160deg,#0b8064,#12634f);color:#fff}.join-golf-card .venue-media span{font-size:11px;font-weight:950;letter-spacing:.06em}@media(max-width:720px){.join-golf-feature{padding:13px;border-radius:15px}.join-golf-heading{align-items:flex-start;flex-direction:column;gap:8px}.join-golf-heading h2{font-size:21px}.join-golf-heading p{font-size:12px}.join-golf-all{padding:8px 11px}.join-golf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.join-golf-card{grid-template-columns:54px 1fr;min-height:70px}.join-golf-card img,.join-golf-placeholder,.join-golf-card .venue-media{width:54px;min-height:70px}.join-golf-card-copy{padding:7px}.join-golf-card-copy strong{font-size:14px}.join-golf-card-copy small{font-size:10px}.join-golf-card-copy b{font-size:10px}}@media(max-width:390px){.join-golf-grid{grid-template-columns:1fr}.join-golf-card{min-height:64px}.join-golf-card img,.join-golf-placeholder,.join-golf-card .venue-media{min-height:64px}}

.primary-taxi-rate{display:flex;flex-wrap:wrap;gap:5px;margin:-4px 0 12px;padding:9px;border-radius:10px;background:#eaf8f3;color:#075c49}.primary-taxi-rate>span{width:100%;font-size:11px;font-weight:950;letter-spacing:.08em}.primary-taxi-rate small{padding:3px 6px;border-radius:999px;background:#fff;font-size:10px!important;font-weight:900;letter-spacing:0!important}

/* Keep the directory search field and action inside narrow phone viewports,
   even when later shared theme styles enlarge form controls. */
.directory-search .hero-controls{width:100%;max-width:980px;min-width:0}
.directory-search .hero-controls .search{width:100%;max-width:720px;grid-template-columns:minmax(0,1fr) 96px}
.directory-search .hero-controls .search input{width:100%;max-width:100%;min-width:0}
@media(max-width:720px){.directory-search .hero-controls .search{position:relative;display:block;width:100%}.directory-search .hero-controls .search input{display:block;width:100%;padding-right:92px}.directory-search .hero-controls .search button{position:absolute;top:0;right:0;bottom:0;display:flex;min-width:0;width:82px}}
@media(max-width:350px){.directory-search .hero-controls .search input{padding-right:70px}.directory-search .hero-controls .search button{width:62px}}

/* Keep the compact home layout while exposing one useful, visible search heading. */
.home-search-intro{max-width:820px}.home-search-intro h1{margin:5px 0 7px;color:var(--ink);font-size:clamp(27px,4vw,40px);line-height:1.14;letter-spacing:-.035em}.service-showcase-head .home-search-intro p{max-width:780px;margin:0;color:var(--muted);font-size:15px;line-height:1.65}
@media(max-width:720px){.home-search-intro h1{font-size:clamp(25px,7vw,32px)}.service-showcase-head .home-search-intro p{font-size:14px;line-height:1.58}}

/* Home is a local guide first. Commercial services stay in a calm partner carousel. */
.service-showcase{max-width:980px;margin:22px auto 8px;padding:0 18px}.service-showcase-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:12px}.service-showcase-head small{display:block;color:var(--green);font-size:11px;font-weight:950;letter-spacing:.14em}.service-showcase-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.025em}.service-showcase-head p{margin:0;color:var(--muted);font-size:13px}.service-slider{position:relative;overflow:hidden;border-radius:24px;background:#163c32;box-shadow:0 14px 35px #163d3024}.service-slides{display:flex;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.service-slide{position:relative;display:block;flex:0 0 100%;height:310px;overflow:hidden;color:#fff;text-decoration:none}.service-slide img{width:100%;height:100%;object-fit:cover;transition:transform 4s ease}.service-slide:hover img,.service-slide:focus img{transform:scale(1.035)}.service-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061d18e8 0%,#09261cb8 42%,#061d1830 78%),linear-gradient(0deg,#061d18a8 0%,transparent 60%)}.service-slide-copy{position:absolute;z-index:1;left:clamp(24px,6vw,64px);bottom:clamp(32px,6vw,58px);display:grid;gap:9px;max-width:min(68%,590px)}.service-slide-copy small{font-weight:950;letter-spacing:.18em}.service-slide-copy strong{font-size:clamp(27px,4.5vw,47px);line-height:1.1;letter-spacing:-.035em;text-shadow:0 2px 18px #0008}.service-slide-copy b{width:max-content;padding:10px 14px;border:1px solid #ffffff8c;border-radius:999px;background:#ffffff1c;font-size:13px;backdrop-filter:blur(10px)}.service-slider-arrow{position:absolute;z-index:2;top:50%;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;background:#09261c8f;color:#fff;font:700 30px/1 Arial;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(8px)}.service-slider-arrow:hover,.service-slider-arrow:focus-visible{background:#fff;color:#075d4b;outline:3px solid #f3c25f}.service-slider-arrow.prev{left:13px}.service-slider-arrow.next{right:13px}.service-slider-dots{position:absolute;z-index:2;right:22px;bottom:18px;display:flex;gap:7px}.service-slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#ffffff80;cursor:pointer;transition:width .2s ease,background .2s ease}.service-slider-dots button.active{width:25px;background:#fff}.category-premium{margin:0 0 16px}.category-premium-card{position:relative;display:grid;grid-template-columns:minmax(180px,34%) 1fr;min-height:180px;overflow:hidden;border:2px solid #d1aa54;border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 28px #73501618}.category-premium-card>img{width:100%;height:100%;min-height:180px;object-fit:cover}.category-premium-card>span{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:22px}.category-premium-card small{color:#9a6500;font-weight:950;letter-spacing:.08em}.category-premium-card strong{margin-top:6px;font-size:25px}.category-premium-card p{margin:8px 0 13px;color:var(--muted);line-height:1.5}.category-premium-card b{color:var(--green)}.category-premium-card:hover,.category-premium-card:focus-visible{border-color:#9c6a0c;box-shadow:0 16px 34px #7350162c;outline:none;transform:translateY(-2px)}
@media(max-width:720px){.service-showcase{margin-top:15px;padding:0 12px}.service-showcase-head{display:block}.service-showcase-head h2{font-size:21px}.service-showcase-head p{margin-top:5px}.service-slider{border-radius:19px}.service-slide{height:235px}.service-slide-copy{left:24px;right:50px;bottom:31px;max-width:none}.service-slide-copy strong{font-size:28px}.service-slider-arrow{width:36px;height:36px;font-size:26px}.service-slider-arrow.prev{left:8px}.service-slider-arrow.next{right:8px}.service-slider-dots{right:16px;bottom:13px}.category-premium-card{grid-template-columns:118px 1fr;min-height:154px;border-radius:16px}.category-premium-card>img{min-height:154px}.category-premium-card>span{padding:15px}.category-premium-card strong{font-size:20px}.category-premium-card p{margin:6px 0 9px;font-size:12px}.category-premium-card b{font-size:12px}}
@media(max-width:390px){.service-slide{height:220px}.service-slide-copy{left:20px;right:42px}.service-slide-copy strong{font-size:25px}.category-premium-card{grid-template-columns:104px 1fr}.category-premium-card>span{padding:13px}.category-premium-card strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.service-slides,.service-slide img,.category-premium-card{transition:none!important}}
.service-slider-dots button{display:block!important;min-width:0!important;min-height:0!important}
@media(max-width:720px){.service-slide-copy{left:24px;right:24px}.service-slider-arrow{top:12px;transform:none}.service-slider-arrow.prev{right:50px;left:auto}.service-slider-arrow.next{right:8px}}

/* Each partner keeps a distinct brand surface instead of sharing one green wash. */
.service-slide.golf .service-slide-shade{background:linear-gradient(90deg,#061d18e8 0%,#09261cb8 42%,#061d1830 78%),linear-gradient(0deg,#061d18a8 0%,transparent 60%)}
.service-slide.taxi{background:#0872e9}
.service-slide.taxi img{object-fit:contain;background:#0872e9;transform:none!important}
.service-slide.taxi .service-slide-shade,.service-slide.taxi .service-slide-copy{display:none}
.service-slide.massage img{object-position:60% center;filter:saturate(1.06) contrast(1.03)}
.service-slide.massage .service-slide-shade{background:linear-gradient(90deg,#fff8e9e8 0%,#fff7e6ad 29%,#fff7e624 58%,transparent 76%),linear-gradient(0deg,#2c160e57 0%,transparent 48%)}
.service-slide.massage .service-slide-copy{color:#173b31;text-shadow:none}
.service-slide.massage .service-slide-copy strong{color:#173b31;text-shadow:0 1px 9px #fff6e7}
.service-slide.massage .service-slide-copy small{color:#087b61}
.service-slide.massage .service-slide-copy b{border-color:#17614e73;background:#fffaf0d9;color:#134c3e}
.service-slider-dots{padding:5px 7px;border-radius:999px;background:#09261c4a;backdrop-filter:blur(8px)}

/* Photo-first directory cards: registered venue photography leads the browse experience. */
#shopList .shop-card.photo-directory-card{display:block;min-height:0;overflow:hidden;border:1px solid #d7e4df;border-radius:22px;background:#fff;box-shadow:0 8px 26px #163d3018}
#shopList .photo-directory-card .shop-card-visual{position:relative;height:250px;overflow:hidden;background:#164e40}
#shopList .photo-directory-card .shop-media,#shopList .photo-directory-card .venue-media{width:100%;height:100%;min-height:100%}
#shopList .photo-directory-card .shop-media{position:relative;overflow:hidden;isolation:isolate}
#shopList .photo-directory-card .shop-media>img{position:absolute;inset:0;display:block;width:100%;height:100%!important;object-fit:cover;object-position:center center;transition:transform .3s ease}
#shopList .photo-directory-card:hover .shop-media>img,#shopList .photo-directory-card:focus-within .shop-media>img{transform:scale(1.025)}
#shopList .photo-directory-card .venue-media{display:grid;place-items:center;color:#fff;font-size:17px;font-weight:950;letter-spacing:.08em}
#shopList .photo-directory-card .shop-card-overlay{position:absolute;z-index:1;inset:auto 0 0;padding:62px 20px 18px;color:#fff;background:linear-gradient(0deg,#061713e6 0%,#071b14a6 55%,transparent 100%);text-shadow:0 2px 10px #0009}
#shopList .photo-directory-card .shop-card-overlay h2{margin:0 0 8px;font-size:24px;line-height:1.15;letter-spacing:-.025em}
#shopList .photo-directory-card .shop-card-overlay>div{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:900}
#shopList .photo-directory-card .shop-card-overlay .distance{margin:0;padding:4px 8px;background:#dff8ed;color:#08664f;text-shadow:none}
#shopList .photo-directory-card .shop-card-summary{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 16px 15px;background:#fff}
#shopList .photo-directory-card .shop-card-summary .badges{grid-column:1/-1;gap:6px}
#shopList .photo-directory-card .shop-card-summary>strong{overflow:hidden;color:#087b61;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
#shopList .photo-directory-card .shop-card-action{position:relative;z-index:3;border-radius:999px;background:#087b61;color:#fff;padding:9px 13px;text-decoration:none;font-size:13px;font-weight:950;white-space:nowrap}
#shopList .photo-directory-card .shop-card-hit{z-index:2}
#shopList .photo-directory-card .badge{padding:6px 9px;font-size:11px}
@media(max-width:720px){main{padding:16px 14px 92px}.shop-list{gap:16px}#shopList .photo-directory-card .shop-card-visual{height:245px}#shopList .photo-directory-card .shop-card-overlay{padding:60px 16px 16px}#shopList .photo-directory-card .shop-card-overlay h2{font-size:23px}#shopList .photo-directory-card .shop-card-summary{padding:12px 14px 14px}}
@media(max-width:390px){#shopList .photo-directory-card .shop-card-visual{height:220px}#shopList .photo-directory-card .shop-card-overlay h2{font-size:21px}#shopList .photo-directory-card .shop-card-summary{grid-template-columns:minmax(0,1fr) auto}#shopList .photo-directory-card .shop-card-action{padding:8px 11px;font-size:12px}}

/* Compact home headings and reduce the search control to roughly 80% of its former size. */
.service-showcase-head{margin-bottom:8px}
.directory-search-heading{margin-bottom:8px}
.directory-search .hero-controls .search{width:80%;max-width:576px;grid-template-columns:minmax(0,1fr) 77px}
.directory-search .hero-controls .search input{min-height:42px;padding:10px 12px;font-size:16px}
.directory-search .hero-controls .search button{min-height:42px;min-width:77px;padding:8px}
.directory-search .hero-controls .search button span{font-size:22px}
.directory-search .hero-controls .search button b{font-size:12px}
@media(max-width:720px){.directory-search .hero-controls .search{width:80%;max-width:576px}.directory-search .hero-controls .search input{padding-right:68px}.directory-search .hero-controls .search button{width:66px;min-height:42px}}
@media(max-width:350px){.directory-search .hero-controls .search input{padding-right:54px}.directory-search .hero-controls .search button{width:50px}}

/* Compact photo directory: clear photos, the essential identity below, and no duplicate actions. */
.list-head{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.list-head #resultCount{font-size:16px;white-space:nowrap}
.list-head .list-tools{display:flex;margin:0}
.list-head .list-tools button{padding:9px 12px}
#locationStatus:empty{display:none}
#shopList.shop-list{gap:12px}
#shopList .shop-card.photo-directory-card{border-radius:18px;box-shadow:0 6px 18px #163d3014}
#shopList .photo-directory-card .shop-card-visual{display:block;height:220px;overflow:hidden;background:#164e40;text-decoration:none}
#shopList .photo-directory-card .shop-card-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px 10px;background:#fff}
#shopList .photo-directory-card .shop-card-summary h2{flex:1 1 auto;min-width:0;overflow:hidden;margin:0;color:#17251f;font-size:19px;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
#shopList .photo-directory-card .shop-card-location{display:flex;flex:0 0 auto;align-items:center;gap:4px;margin-top:0;color:#087b61;font-size:13px;font-weight:850;white-space:nowrap}
#shopList .photo-directory-card .shop-card-location .distance{margin-left:4px;padding:3px 7px}
@media(max-width:720px){main{padding:12px 14px 84px}.list-head{margin-bottom:8px}.shop-list{gap:9px!important}#shopList .photo-directory-card .shop-card-visual{height:180px}#shopList .photo-directory-card .shop-card-summary{gap:8px;padding:8px 11px 9px}#shopList .photo-directory-card .shop-card-summary h2{font-size:18px}#shopList .photo-directory-card .shop-card-location{font-size:12px}}
@media(max-width:390px){#shopList .photo-directory-card .shop-card-visual{height:168px}#shopList .photo-directory-card .shop-card-summary h2{font-size:17px}.list-head #resultCount{font-size:15px}}

/* The Thailand massage entry is a pinned listing, but it uses the exact same
   photo-card proportions as the businesses below it. */
#categoryPremium[data-pinned="true"]{margin:0 0 9px}
#categoryPremium .category-premium-listing{display:block;min-height:0;overflow:hidden;border:1px solid #d7e4df;border-radius:18px;background:#fff;box-shadow:0 6px 18px #163d3014}
#categoryPremium .category-premium-listing .shop-card-visual{display:block;height:220px;overflow:hidden;background:#164e40;text-decoration:none}
#categoryPremium .category-premium-listing .shop-media{position:relative;width:100%;height:100%;min-height:100%;overflow:hidden;isolation:isolate}
#categoryPremium .category-premium-listing .shop-media>img{position:absolute;inset:0;display:block;width:100%;height:100%!important;object-fit:cover;object-position:60% center;transition:transform .3s ease}
#categoryPremium .category-premium-listing:hover .shop-media>img,#categoryPremium .category-premium-listing:focus-within .shop-media>img{transform:scale(1.025)}
#categoryPremium .category-premium-listing .shop-card-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px 10px;background:#fff}
#categoryPremium .category-premium-listing .shop-card-summary h2{flex:1 1 auto;min-width:0;overflow:hidden;margin:0;color:#17251f;font-size:19px;line-height:1.25;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
#categoryPremium .category-premium-listing .shop-card-location{display:flex;flex:0 0 auto;align-items:center;gap:4px;color:#087b61;font-size:13px;font-weight:850;white-space:nowrap}
@media(max-width:720px){#categoryPremium .category-premium-listing .shop-card-visual{height:180px}#categoryPremium .category-premium-listing .shop-card-summary{gap:8px;padding:8px 11px 9px}#categoryPremium .category-premium-listing .shop-card-summary h2{font-size:18px}#categoryPremium .category-premium-listing .shop-card-location{font-size:12px}}
@media(max-width:390px){#categoryPremium .category-premium-listing .shop-card-visual{height:168px}#categoryPremium .category-premium-listing .shop-card-summary h2{font-size:17px}}

/* Premium restaurants stay first in the food browse even after distance sorting. */
#shopList .premium-food-shop{border-color:#d8ad4e;box-shadow:0 8px 22px #8e641b24}
#shopList .premium-food-badge{position:absolute;z-index:2;top:10px;left:10px;padding:7px 10px;border:1px solid #ffe5a4;border-radius:999px;background:#fff7dfeb;color:#7b5000;font-size:11px;font-weight:950;line-height:1;letter-spacing:.03em;box-shadow:0 4px 12px #3523002e;backdrop-filter:blur(8px)}
#shopList .premium-food-shop .shop-media{position:relative;overflow:hidden}
#shopList .premium-food-shop .shop-media>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
#shopList .premium-food-hanok .shop-media>img{object-position:center center}
#shopList .premium-food-terry .shop-media>img{object-position:center 60%}
@media(max-width:720px){#shopList .premium-food-badge{top:8px;left:8px;padding:6px 9px;font-size:10px}}

/* Sharr stays first in the unfiltered barber directory, including distance sort. */
#shopList .premium-barber-shop{border-color:#c69b43;box-shadow:0 8px 22px #72531f24}
#shopList .premium-barber-badge{position:absolute;z-index:2;top:10px;left:10px;padding:7px 10px;border:1px solid #ffe5a4;border-radius:999px;background:#fff7dfeb;color:#694408;font-size:11px;font-weight:950;line-height:1;letter-spacing:.03em;box-shadow:0 4px 12px #3523002e;backdrop-filter:blur(8px)}
#shopList .premium-barber-shop .shop-media{position:relative;overflow:hidden;isolation:isolate}
#shopList .premium-barber-sharr .shop-media:before{content:"";position:absolute;z-index:0;inset:-14px;background:url("/assets/businesses/bbk-sharr-barbershop-pattaya/01.webp?v=20261015-staff") center center/cover no-repeat;filter:blur(12px) brightness(.7);transform:scale(1.08)}
#shopList .premium-barber-shop .shop-media>img{position:absolute;z-index:1;inset:0;width:100%;height:100%!important;object-fit:contain;object-position:center center}
@media(max-width:720px){#shopList .premium-barber-badge{top:8px;left:8px;padding:6px 9px;font-size:10px}}
