/* SalamLoc UX / responsive overrides */
:root{
  --sl-blue:#1e73be;
  --sl-blue-dark:#13558f;
  --sl-teal:#287d84;
  --sl-teal-dark:#1e646a;
  --sl-ink:#16293a;
  --sl-muted:#607283;
  --sl-bg:#f7fafc;
  --sl-surface:#ffffff;
  --sl-border:#dfe7ee;
  --sl-radius:16px;
  --sl-radius-sm:12px;
  --sl-shadow:0 12px 36px rgba(24,54,83,.10);
  --sl-shadow-hover:0 18px 46px rgba(24,54,83,.16);
}

html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{color:var(--sl-ink);line-height:1.58}
img{max-width:100%;height:auto}
.site-content{min-height:58vh}

:where(a,button,input,select,textarea,.button):focus-visible{
  outline:3px solid rgba(30,115,190,.30);
  outline-offset:2px;
}

.skip-link:focus{
  position:fixed;
  left:12px;
  top:12px;
  z-index:100000;
  padding:12px 16px;
  border-radius:10px;
  background:#fff;
  color:var(--sl-blue-dark);
  box-shadow:var(--sl-shadow);
}

/* Header */
.header-navbar__menu .menu-item--first.menu-item--user-login,
.header-navbar__burger .menu-item--first.menu-item--user-login{
  display:none!important;
}
.header-navbar{
  min-height:72px;
}
.header-logo .custom-logo{
  width:auto;
  max-width:210px;
  max-height:58px;
  object-fit:contain;
}
.header-navbar__burger>a{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:var(--sl-ink);
}
.header-navbar__actions .button,
.header-navbar__actions button{
  min-height:46px;
  border-radius:999px;
  padding-inline:18px;
  font-weight:600;
}

/* Hero / title bands */
.header-hero__content{
  padding-top:54px;
  padding-bottom:54px;
}
.header-hero--title .header-hero__content{
  background:linear-gradient(90deg,rgba(16,73,111,.78),rgba(32,119,126,.70));
}
.header-hero .page__title,
.header-hero h1{
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}

/* Global forms */
.hp-field input:not([type=checkbox]):not([type=radio]),
.hp-field select,
.hp-field textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection{
  min-height:48px;
  border:1px solid #cad6df;
  border-radius:var(--sl-radius-sm);
  background:#fff;
  box-shadow:none;
}
.hp-field input:not([type=checkbox]):not([type=radio]):focus,
.hp-field select:focus,
.hp-field textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color:var(--sl-blue);
  box-shadow:0 0 0 3px rgba(30,115,190,.10);
}
.button,
button,
input[type=submit],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  min-height:46px;
  border-radius:var(--sl-radius-sm);
  font-weight:600;
  touch-action:manipulation;
}
.button--primary,
button[type=submit],
input[type=submit],
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  box-shadow:0 8px 20px rgba(30,115,190,.18);
}
.button--secondary,
.wp-block-file .wp-block-file__button,
.woocommerce a.button--secondary,
.woocommerce button.button--secondary,
.woocommerce input.button--secondary{
  background:var(--sl-teal)!important;
  color:#fff!important;
}

/* Search / filters */
.hp-form--listing-search,
.hp-form--listing-filter{
  border-radius:var(--sl-radius);
}
.hp-form--listing-search .hp-form__fields,
.hp-form--listing-filter .hp-form__fields{
  gap:10px;
}
.hp-form--listing-search .hp-form__button,
.hp-form--listing-filter .hp-form__button{
  min-height:48px;
}
.hp-template--listings-view-page .hp-page__topbar,
.hp-template--listing-category-view-page .hp-page__topbar{
  gap:12px;
  align-items:center;
}
.hp-link[href*="map"],
.hp-listings__view--map{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

/* Listing cards */
.hp-listing--view-block{
  height:100%;
  overflow:hidden;
  border:1px solid var(--sl-border);
  border-radius:var(--sl-radius);
  background:var(--sl-surface);
  box-shadow:var(--sl-shadow);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.hp-listing--view-block:hover{
  transform:translateY(-2px);
  box-shadow:var(--sl-shadow-hover);
  border-color:#cbdbe6;
}
.hp-listing--view-block .hp-listing__image{
  overflow:hidden;
  background:#edf3f6;
  aspect-ratio:4/3;
}
.hp-listing--view-block .hp-listing__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hp-listing--view-block .hp-listing__content,
.hp-listing--view-block .hp-listing__footer{
  padding-left:18px;
  padding-right:18px;
}
.hp-listing--view-block .hp-listing__title{
  line-height:1.25;
}
.hp-listing--view-block .hp-listing__location,
.hp-listing--view-block .hp-listing__details{
  color:var(--sl-muted);
}

/* Listing detail */
.hp-listing--view-page .hp-listing__title{
  font-size:clamp(1.7rem,3vw,2.45rem);
  line-height:1.15;
  letter-spacing:-.02em;
}
.hp-template--listing-view-page .hp-listing__images{
  overflow:hidden;
  border-radius:20px;
  background:#eef3f6;
  box-shadow:var(--sl-shadow);
}
.hp-template--listing-view-page .hp-listing__images img{
  width:100%;
  max-height:620px;
  object-fit:cover;
}
.hp-listing--view-page .hp-listing__details--primary{
  color:var(--sl-muted);
}
.hp-listing--view-page .hp-menu--tabbed{
  overflow-x:auto;
  scrollbar-width:none;
}
.hp-listing--view-page .hp-menu--tabbed::-webkit-scrollbar{display:none}
.hp-listing--view-page .hp-menu--tabbed ul{
  min-width:max-content;
}
.hp-page__sidebar .hp-widget,
.hp-template--listing-view-page .hp-form{
  border:1px solid var(--sl-border);
  border-radius:var(--sl-radius);
  background:#fff;
  box-shadow:var(--sl-shadow);
}
.hp-template--listing-view-page .hp-form{
  padding:20px;
}
.hp-template--listing-view-page .hp-form__button,
.hp-template--listing-view-page button[type=submit]{
  width:100%;
  min-height:50px;
}

/* Better contrast on theme accent surfaces */
.hp-listing--view-page .hp-listing__categories a,
.hp-section__title::before,
.hp-page__title::before,
.content-title::before{
  background-color:var(--sl-teal)!important;
}
.hp-listing__location i,
.hp-listing--view-block .hp-listing__location i,
.hp-listing--view-page .hp-listing__location i{
  color:var(--sl-teal-dark)!important;
}

/* WooCommerce cart / checkout */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error{
  border-radius:var(--sl-radius-sm);
}
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout-review-order{
  border:1px solid var(--sl-border);
  border-radius:var(--sl-radius);
  background:#fff;
  box-shadow:var(--sl-shadow);
}
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields{
  padding:20px;
}
.woocommerce-checkout-review-order{
  padding:18px;
}
.woocommerce table.shop_table{
  border-radius:var(--sl-radius-sm);
  overflow:hidden;
}
.woocommerce-checkout #payment{
  border-radius:var(--sl-radius);
  background:#f4f8fb;
}
.woocommerce-checkout #payment #place_order{
  width:100%;
  min-height:52px;
  font-size:1rem;
}
.wc-empty-cart-message,
.return-to-shop{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}
.wc-empty-cart-message .cart-empty{
  padding:18px 20px;
}
.return-to-shop .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Footer */
.site-footer{
  border-top:1px solid var(--sl-border);
}
.site-footer .widget__title{
  color:var(--sl-ink);
}
.site-footer a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
}
.site-footer img{
  max-width:220px;
  height:auto;
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  .container{padding-left:24px;padding-right:24px}
  .hp-listings .hp-grid__item{margin-bottom:22px}
  .hp-template--listing-view-page .hp-page__sidebar{
    position:static!important;
    margin-top:24px;
  }
}

/* Mobile first refinements */
@media (max-width:767px){
  body{font-size:16px}
  .container{
    width:100%;
    padding-left:16px;
    padding-right:16px;
  }
  .header-navbar{
    min-height:64px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .header-logo .custom-logo{
    max-width:160px;
    max-height:46px;
  }
  .header-navbar__actions .button,
  .header-navbar__actions button{
    min-height:44px;
    padding-inline:14px;
  }
  .header-hero__content{
    padding-top:34px;
    padding-bottom:34px;
  }
  .header-hero h1,
  .header-hero .page__title{
    font-size:clamp(1.75rem,8vw,2.25rem);
    line-height:1.12;
  }

  .hp-form--listing-search .hp-form__fields,
  .hp-form--listing-filter .hp-form__fields,
  .hp-form--listing-search .hp-row,
  .hp-form--listing-filter .hp-row{
    display:block!important;
  }
  .hp-form--listing-search .hp-form__field,
  .hp-form--listing-filter .hp-form__field,
  .hp-form--listing-search .hp-grid__item,
  .hp-form--listing-filter .hp-grid__item{
    width:100%!important;
    max-width:none!important;
    margin-bottom:10px;
  }
  .hp-form--listing-search .hp-form__button,
  .hp-form--listing-filter .hp-form__button,
  .hp-form--listing-search button[type=submit],
  .hp-form--listing-filter button[type=submit]{
    width:100%;
  }

  .hp-template--listing-view-page .hp-listing__images{
    margin-left:0!important;
    margin-right:0!important;
    border-radius:16px;
  }
  .hp-template--listing-view-page .hp-listing__images img{
    max-height:460px;
  }
  .hp-listing--view-page .hp-page__topbar{
    display:flex;
    gap:10px;
    align-items:center;
  }
  .hp-listing--view-page .hp-listing__actions--secondary{
    margin-left:auto;
  }
  .hp-listing--view-page .hp-listing__details--primary{
    display:grid;
    gap:6px;
  }
  .hp-template--listing-view-page .hp-page__sidebar{
    position:static!important;
    margin-top:20px;
  }
  .hp-template--listing-view-page .hp-form{
    padding:16px;
  }

  .hp-listing--view-block{
    margin-bottom:16px;
  }
  .hp-listing--view-block .hp-listing__content,
  .hp-listing--view-block .hp-listing__footer{
    padding-left:16px;
    padding-right:16px;
  }

  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce-checkout-review-order{
    padding:14px;
    border-radius:14px;
    box-shadow:none;
  }
  .woocommerce form .form-row{
    width:100%!important;
    float:none!important;
  }
  .woocommerce table.shop_table_responsive tr td::before{
    font-weight:600;
  }
  .return-to-shop .button{
    width:100%;
  }

  .site-footer{
    padding-top:36px;
  }
  .site-footer .footer-widgets .col-xs-12{
    margin-bottom:22px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
