/* Place2Smoke Core search suggestions: neutral high-contrast UI.
   Strong scoped selectors override legacy button/gold styles. */
.p2s-suggest-host{position:relative;min-width:0;flex:1 1 auto}
.p2s-suggest-host>input{width:100%;max-width:100%;box-sizing:border-box}
body .p2s-suggest-menu{position:absolute!important;z-index:99999!important;top:calc(100% + 6px);left:0;right:0;max-height:min(380px,60vh);overflow:auto;background:#fff!important;color:#171717!important;border:1px solid #dadada!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(0,0,0,.12)!important;padding:6px!important;text-align:left!important;box-sizing:border-box}
body .p2s-suggest-menu[hidden]{display:none!important}
body .p2s-suggest-menu .p2s-suggest-heading{display:block!important;margin:0!important;padding:10px 12px 5px!important;color:#666!important;background:#fff!important;border:0!important;font-size:11px!important;letter-spacing:.055em!important;text-transform:uppercase!important;font-weight:600!important}
body .p2s-suggest-menu button.p2s-suggest-option,
body .p2s-suggest-menu button.p2s-suggest-option:link,
body .p2s-suggest-menu button.p2s-suggest-option:visited{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;padding:11px 12px!important;margin:0!important;border:0!important;border-radius:5px!important;background:#fff!important;background-image:none!important;color:#181818!important;text-align:left!important;font:inherit!important;font-size:14px!important;font-weight:400!important;cursor:pointer!important;line-height:1.35!important;box-shadow:none!important;text-shadow:none!important;letter-spacing:normal!important;transform:none!important;appearance:none!important;-webkit-appearance:none!important}
body .p2s-suggest-menu button.p2s-suggest-option:hover,
body .p2s-suggest-menu button.p2s-suggest-option:focus-visible,
body .p2s-suggest-menu button.p2s-suggest-option.is-active{background:#eeeeee!important;background-image:none!important;color:#111!important;border:0!important;box-shadow:none!important;outline:1px solid #dedede!important;outline-offset:-1px!important}
body .p2s-suggest-menu button.p2s-suggest-option .p2s-suggest-label{display:block!important;white-space:normal!important;font-size:14px!important;font-weight:600!important;color:#171717!important;line-height:1.35!important;text-align:left!important}
body .p2s-suggest-menu button.p2s-suggest-option .p2s-suggest-detail{display:block!important;margin:0!important;white-space:normal!important;font-size:12px!important;font-weight:400!important;color:#666!important;line-height:1.3!important;text-align:left!important}
/* Old static popular sections are temporarily hidden, not replaced by guesses. */
body.home .p2s-popular,body.home .popular-searches,body.home .search-popular,body.home .popular-links,
body.page-slug-places .p2s-popular,body.page-slug-places .popular-searches,body.page-slug-places .search-popular,body.page-slug-places .popular-links{display:none!important}
/* Geolocation is a deliberate visitor action with a browser permission prompt. */
@media (max-width:600px){body .p2s-suggest-menu{max-height:45vh}body .p2s-suggest-menu button.p2s-suggest-option{padding:12px!important}}

/* Near Me shortcut inside both public Places search bars. Explicitly reset
   global gold button styling, including pseudo elements and hover states. */
button.p2s-inline-near-me,button.p2s-inline-near-me:hover,
button.p2s-inline-near-me:focus-visible,button.p2s-inline-near-me:active{
  box-sizing:border-box!important;position:relative!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;flex:0 0 40px!important;
  width:40px!important;min-width:40px!important;max-width:40px!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;
  margin:0 8px 0 0!important;padding:0!important;
  border:0!important;border-radius:6px!important;
  background:#fff!important;background-image:none!important;color:#292929!important;
  font-size:inherit!important;line-height:1!important;box-shadow:none!important;
  text-shadow:none!important;transform:none!important;opacity:1!important;
  cursor:pointer!important;vertical-align:middle!important;appearance:none!important;
  -webkit-appearance:none!important;
}
button.p2s-inline-near-me::before,button.p2s-inline-near-me::after{content:none!important;display:none!important}
button.p2s-inline-near-me svg{display:block!important;width:20px!important;height:20px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important}
button.p2s-inline-near-me:hover,button.p2s-inline-near-me:focus-visible{background:#f3f3f3!important}
button.p2s-inline-near-me:focus-visible{outline:2px solid #555!important;outline-offset:2px!important}
@media(max-width:600px){button.p2s-inline-near-me{flex-basis:38px!important;width:38px!important;min-width:38px!important;margin-right:4px!important}}

/* Near Me: visible at rest and same ink as search placeholder; black while typing. */
button.p2s-inline-near-me{color:#6b7280!important;opacity:1!important}
button.p2s-inline-near-me.p2s-near-has-query{color:#111!important}
button.p2s-inline-near-me svg{opacity:1!important;visibility:visible!important;stroke:currentColor!important}

/* 5.4.44: One responsive row made from the REAL input, Near Me and submit.
   The old 5.4.43 direct-child rules never applied because controls were wrapped.
   Desktop display:contents keeps existing header layout; mobile controls are
   placed in a single explicit grid, regardless of legacy theme wrappers. */
.p2s-search-inline-row{display:contents}
@media(max-width:700px){
  form.p2s-responsive-search-form{
    display:block!important;box-sizing:border-box!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:6px!important;margin-left:auto!important;margin-right:auto!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px clamp(76px,22vw,108px)!important;
    grid-template-rows:minmax(44px,auto)!important;
    align-items:center!important;column-gap:4px!important;row-gap:0!important;
    box-sizing:border-box!important;width:100%!important;max-width:100%!important;
    min-width:0!important;flex-wrap:nowrap!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row>.p2s-suggest-host{
    grid-column:1!important;grid-row:1!important;min-width:0!important;
    width:100%!important;max-width:100%!important;margin:0!important;
    padding:0!important;align-self:center!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row>.p2s-suggest-host>input{
    display:block!important;box-sizing:border-box!important;width:100%!important;
    min-width:0!important;max-width:100%!important;height:46px!important;
    min-height:0!important;margin:0!important;padding:0 5px!important;
    font-size:clamp(12px,3.3vw,16px)!important;
    white-space:nowrap!important;text-overflow:ellipsis!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row>button.p2s-inline-near-me{
    grid-column:2!important;grid-row:1!important;display:inline-flex!important;
    width:36px!important;min-width:36px!important;max-width:36px!important;
    height:42px!important;min-height:42px!important;max-height:42px!important;
    margin:0!important;padding:0!important;align-self:center!important;
    justify-self:center!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row>button[type=submit],
  form.p2s-responsive-search-form .p2s-search-inline-row>input[type=submit],
  form.p2s-responsive-search-form .p2s-search-inline-row>button:not([type]):not(.p2s-inline-near-me){
    grid-column:3!important;grid-row:1!important;display:flex!important;
    align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;width:100%!important;max-width:100%!important;
    min-width:0!important;height:44px!important;min-height:44px!important;
    margin:0!important;padding:0 3px!important;
    font-size:clamp(11px,3.4vw,15px)!important;line-height:1.1!important;
    white-space:nowrap!important;align-self:center!important;justify-self:stretch!important;
  }
}
@media(max-width:360px){
  form.p2s-responsive-search-form .p2s-search-inline-row{
    grid-template-columns:minmax(0,1fr) 32px 74px!important;column-gap:2px!important;
  }
  form.p2s-responsive-search-form .p2s-search-inline-row>button.p2s-inline-near-me{
    width:32px!important;min-width:32px!important;max-width:32px!important;
  }
}

/* 5.4.46: One description for all viewports. Balanced to approximately two lines. */
body .p2s-home-hero-unified-copy{
  display:block!important;
  box-sizing:border-box!important;
  width:min(100%,47ch)!important;
  max-width:47ch!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  text-wrap:balance;
  line-height:1.45!important;
  font-size:clamp(16px,1.25vw,19px)!important;
}
body .p2s-home-hero-mobile-copy{display:none!important}
@media(max-width:700px){
  body .p2s-home-hero-unified-copy{
    width:min(100%,47ch)!important;
    max-width:47ch!important;
    font-size:clamp(13px,3.55vw,16px)!important;
    line-height:1.4!important;
    padding:0 2px!important;
  }
}
