/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.fixed{
  position: fixed;
}
.inline-flex{
  display: inline-flex;
}
.min-h-screen{
  min-height: 100vh;
}
.border{
  border-width: 1px;
}
.bg-\[\#f7f7f3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 243 / var(--tw-bg-opacity, 1));
}
.text-\[\#15251f\]{
  --tw-text-opacity: 1;
  color: rgb(21 37 31 / var(--tw-text-opacity, 1));
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

:root{--ink:#153129;--green:#174d3c;--coral:#f36f56;--cream:#f7f7f3;--line:#dedfd8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:80px;background:#fff;display:flex;align-items:center;padding:0 max(5vw,28px);border-bottom:1px solid #e9e9e4;position:relative;z-index:10}.brand{font:800 25px 'Manrope';letter-spacing:-1.5px;display:flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50% 50% 46% 54%;background:var(--coral);color:#fff;font-size:20px;transform:rotate(-5deg)}.brand-dot{color:var(--coral)}.location-pill{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--ink);text-align:left}.location-pill span:nth-child(2){display:flex;flex-direction:column}.location-pill small{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#829089}.location-pill strong{font-size:14px}.location-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eaf2ee;color:var(--green)}.header-actions{margin-left:auto;display:flex;gap:10px}.header-actions select,.round-btn{height:40px;border:1px solid #dfe3df;background:#fff;border-radius:20px;color:var(--ink)}.header-actions select{padding:0 11px}.round-btn{width:40px;display:grid;place-items:center}.hero{background:var(--green);color:#fff;padding:62px max(9vw,32px) 30px;position:relative;overflow:hidden}.hero:after{content:'สวัสดี';position:absolute;right:6%;top:-20px;font:800 150px 'Manrope';color:#fff;opacity:.025;transform:rotate(-8deg)}.hero-copy{max-width:650px}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:1.7px}.eyebrow{color:#bcd0c7}.eyebrow span{display:inline-block;width:20px;height:2px;background:var(--coral);vertical-align:middle;margin-right:8px}.hero h1{font:700 clamp(36px,5vw,61px)/1.04 'Manrope';letter-spacing:-2.5px;margin:14px 0}.hero-sub{color:#bfd0c9;font-size:17px}.search-wrap{height:68px;max-width:880px;background:#fff;border-radius:12px;margin-top:35px;display:flex;align-items:center;padding:8px 9px 8px 21px;color:#6c7974;box-shadow:0 15px 30px #0d302669}.search-wrap input{border:0;outline:0;flex:1;height:100%;padding:0 14px;color:var(--ink);min-width:0}.search-wrap button{border:0;border-radius:9px;background:var(--coral);height:50px;color:#fff;padding:0 19px;display:flex;align-items:center;gap:8px;font-weight:600}.search-wrap button b{background:#fff;color:var(--coral);width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px}.quick-stats{display:flex;gap:18px;margin-top:22px;color:#a9c0b7;font-size:12px}.quick-stats b{color:#fff}.quick-stats i{height:14px;width:1px;background:#527266}.content-shell{max-width:1220px;margin:auto;padding:30px 28px 55px}.category-row{display:flex;gap:9px;overflow:auto;padding-bottom:10px;scrollbar-width:none}.category-row button{white-space:nowrap;border:1px solid #dde0db;background:#fff;border-radius:10px;padding:11px 16px;color:#52625c;font-weight:600;font-size:13px}.category-row button span{margin-right:8px}.category-row button.active{background:var(--ink);border-color:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:36px 0 20px}.section-kicker{color:var(--coral);margin:0 0 8px;display:flex;align-items:center;gap:5px}.section-head h2{font:700 27px 'Manrope';margin:0;letter-spacing:-.8px}.section-head p:last-child{margin:4px 0 0;color:#7b8782;font-size:13px}.view-switch{background:#e8e9e4;border-radius:9px;padding:4px;display:flex}.view-switch button{border:0;background:transparent;padding:8px 13px;border-radius:6px;display:flex;gap:6px;align-items:center;color:#697670;font-size:12px;font-weight:600}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #12251e12}.place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.place-card{background:#fff;border:1px solid #e3e4df;border-radius:14px;overflow:hidden;transition:.2s}.place-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #173b2f12}.image-wrap{height:187px;position:relative;background:#ddd;overflow:hidden}.image-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:.4s}.place-card:hover img{transform:scale(1.03)}.image-wrap>button{position:absolute;right:12px;top:12px;border:0;width:36px;height:36px;border-radius:50%;background:#fffffff0;color:#3c4a45;display:grid;place-items:center}.image-wrap>button.liked{color:var(--coral)}.image-wrap>button.liked svg{fill:currentColor}.badge{position:absolute;left:12px;top:13px;background:#fff;color:var(--ink);border-radius:5px;padding:5px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge.urgent{background:var(--coral);color:#fff}.card-body{padding:16px}.kind{color:#77847f;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.kind span,.meta span{padding:0 6px}.card-body h3{font:700 17px 'Manrope';letter-spacing:-.4px;margin:6px 0}.rating{display:flex;align-items:center;gap:4px;font-size:12px}.rating .filled{fill:#f3a444;color:#f3a444}.rating span{color:#8b948f}.meta,.open{display:flex;align-items:center;gap:4px;color:#697771;font-size:12px;margin:10px 0 0}.open{color:#34745e;margin-top:5px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.tags span{background:#f1f4f1;color:#53615b;padding:4px 6px;border-radius:4px;font-size:10px;display:flex;gap:3px;align-items:center}.card-actions{border-top:1px solid #ecece8;margin:15px -16px -16px;padding:11px;display:flex;gap:6px}.card-actions button{border:0;border-radius:7px;height:36px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700}.details{background:var(--ink);color:#fff;flex:1}.directions{background:#edf3f0;color:var(--green);padding:0 10px}.empty{grid-column:1/-1;text-align:center;padding:70px}.empty span{font-size:44px}.empty h3{font:700 20px 'Manrope';margin-bottom:4px}.empty p{color:#7b8782}.map-view{height:480px;border-radius:16px;position:relative;overflow:hidden;background-color:#dce9e3;background-image:linear-gradient(35deg,transparent 46%,#c6d6cf 47%,#c6d6cf 50%,transparent 51%),linear-gradient(-55deg,transparent 48%,#fff 49%,#fff 53%,transparent 54%),radial-gradient(circle at 65% 35%,#b7d9e4 0 12%,transparent 13%)}.map-label{position:absolute;left:20px;top:20px;background:#fff;padding:10px 14px;border-radius:8px;display:flex;gap:7px;align-items:center;font-weight:700;font-size:12px;box-shadow:0 5px 15px #1a382d20}.map-pin{position:absolute;border:0;background:#fff;border-radius:25px;padding:5px 10px 5px 5px;display:flex;align-items:center;gap:5px;color:var(--ink);box-shadow:0 5px 15px #1a382d38}.map-pin span{background:#ffe1d9;width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.pin-1{left:31%;top:30%}.pin-2{left:57%;top:56%}.pin-3{left:72%;top:24%}.pin-4{left:20%;top:70%}.recenter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);border:0;background:var(--ink);color:white;border-radius:22px;padding:11px 17px;display:flex;gap:7px;align-items:center;font-size:12px}.safety-banner{max-width:1165px;margin:0 auto 90px;background:#e6f0ec;border-radius:14px;padding:25px 28px;display:flex;align-items:center;gap:19px}.safety-icon{width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green)}.safety-banner small{color:#3b7763;font-size:9px;letter-spacing:1.4px;font-weight:700}.safety-banner h3{font:700 18px 'Manrope';margin:3px 0}.safety-banner p{margin:0;color:#63756e;font-size:12px}.safety-banner button{margin-left:auto;border:1px solid #b9cec5;background:transparent;color:var(--green);padding:11px 15px;border-radius:8px;display:flex;align-items:center;font-weight:700;font-size:11px}.mobile-nav{display:none}.modal-backdrop{position:fixed;inset:0;background:#0b1f19aa;z-index:100;display:flex;justify-content:flex-end}.filter-sheet{width:min(430px,100%);height:100%;background:#fff;padding:27px;overflow:auto;animation:slide .25s ease-out}.sheet-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8eae6;padding-bottom:20px}.sheet-head small{color:var(--coral);letter-spacing:1.5px;font-weight:700}.sheet-head h2{font:700 28px 'Manrope';margin:2px 0}.sheet-head button{border:0;background:#f0f2ef;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.filter-group{padding:22px 0;border-bottom:1px solid #e8eae6}.filter-group h3{font:700 14px 'Manrope';margin:0 0 13px}.choice-row{display:flex;gap:7px}.choice-row button{flex:1;height:40px;border:1px solid #dce0dc;background:#fff;border-radius:7px;color:#5f6e68}.choice-row button.selected{background:var(--ink);border-color:var(--ink);color:#fff}.toggle-row{display:flex;align-items:center;padding:22px 0;border-bottom:1px solid #e8eae6;position:relative}.toggle-row span{display:flex;flex-direction:column}.toggle-row small{color:#89938f}.toggle-row input{opacity:0;position:absolute}.toggle-row i{margin-left:auto;width:44px;height:25px;background:#d6dbd8;border-radius:20px;position:relative}.toggle-row i:after{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.toggle-row input:checked+i{background:var(--coral)}.toggle-row input:checked+i:after{left:22px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-options button{height:44px;border:1px solid #dce0dc;background:#fff;border-radius:7px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px;font-size:12px}.service-options button span{font-size:11px;font-weight:800}.sheet-footer{display:flex;gap:10px;padding-top:25px}.sheet-footer button{height:48px;border:0;border-radius:8px;font-weight:700}.sheet-footer button:first-child{width:35%;background:#eef0ed;color:var(--ink)}.sheet-footer button:last-child{flex:1;background:var(--coral);color:#fff}@keyframes slide{from{transform:translateX(100%)}to{transform:none}}

@media(max-width:1000px){.place-grid{grid-template-columns:repeat(2,1fr)}.safety-banner{margin-left:28px;margin-right:28px}.hero{padding-left:6vw}.image-wrap{height:225px}}
@media(max-width:640px){.topbar{height:68px;padding:0 18px}.brand{font-size:21px}.brand-mark{width:32px;height:32px}.location-pill{position:static;transform:none;margin-left:20px}.location-pill small,.location-pill svg:last-child{display:none}.location-pill strong{font-size:11px}.location-icon{display:none}.header-actions{gap:5px}.header-actions select{width:44px;padding:0 5px}.round-btn{display:none}.hero{padding:35px 18px 25px}.hero h1{font-size:37px;letter-spacing:-1.6px}.hero-sub{font-size:14px;line-height:1.5}.search-wrap{height:58px;margin-top:25px;padding-left:15px}.search-wrap button{width:46px;height:44px;padding:0;justify-content:center}.search-wrap button span,.search-wrap button b{display:none}.quick-stats{font-size:10px;gap:9px;justify-content:space-between}.content-shell{padding:20px 16px 35px}.category-row{margin-right:-16px}.category-row button{padding:9px 13px}.section-head{margin-top:26px}.section-head h2{font-size:23px}.section-head p:last-child{font-size:11px}.view-switch button{padding:8px}.view-switch button svg{margin:0}.view-switch button{font-size:0}.place-grid{display:flex;overflow-x:auto;margin-right:-16px;padding-right:16px;scroll-snap-type:x mandatory}.place-card{min-width:85vw;scroll-snap-align:start}.image-wrap{height:220px}.safety-banner{margin:0 16px 95px;padding:20px;align-items:flex-start}.safety-banner p{line-height:1.5}.safety-banner button{display:none}.safety-icon{min-width:45px;width:45px;height:45px}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;height:69px;background:#fff;border-top:1px solid #e2e5e1;z-index:50;padding:7px 10px max(7px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:#83908a;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px}.mobile-nav button.active{color:var(--coral)}.mobile-nav button.active span{font-weight:700}.map-view{height:540px}.map-pin b{display:none}.filter-sheet{padding:22px}.service-options{grid-template-columns:1fr}}

