/*
 * JaBizHub client mobile reference alignment
 * Source: client-supplied Google Drive mobile comps (390 CSS px @ 3x DPR).
 * This file is intentionally loaded after runtime.css and before dark-mode.css.
 * It is the canonical mobile layout layer; desktop visual rules remain untouched.
 */

.jbh-mobile-search-meta{display:none}

@media (max-width:767px){
  :root{--jbh-mobile-gutter:14px;--jbh-mobile-radius:10px}

  /* ---------- Shared public mobile shell ---------- */
  .pubhead{background:var(--surface-1,#fff)!important;border-bottom:1px solid var(--border-default,#d7dce4)}
  .pubhead-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px var(--jbh-mobile-gutter)!important;
    background:var(--surface-1,#fff)!important;
  }
  .head-logo{grid-column:1!important;grid-row:1!important;min-width:0!important;width:auto!important}
  .jabiz-brand-img{width:132px!important;height:32px!important}
  .head-burger{
    grid-column:2!important;grid-row:1!important;
    display:flex!important;width:40px!important;height:40px!important;min-width:40px!important;
    margin:0!important;border-radius:8px!important;
  }
  .head-burger svg{width:22px!important;height:22px!important}

  /* Non-discovery pages use the compact logo + hamburger header shown in the
     Get Listed and Registration references. */
  .pubhead-top > .headsearch{display:none!important}

  /* Discovery pages use the client search-first green band. */
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .pubhead-top{
    padding-bottom:0!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .pubhead-top > .headsearch{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-rows:44px 42px auto!important;
    gap:7px 7px!important;
    width:calc(100% + (var(--jbh-mobile-gutter) * 2))!important;
    height:auto!important;
    margin:8px calc(var(--jbh-mobile-gutter) * -1) 0!important;
    padding:10px var(--jbh-mobile-gutter) 8px!important;
    border:0!important;border-radius:0!important;
    background:#087f68!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-q{
    grid-column:1!important;grid-row:1!important;
    width:100%!important;height:44px!important;min-height:44px!important;
    padding:0 10px 0 38px!important;
    border:1px solid rgba(23,35,59,.18)!important;border-radius:7px!important;
    background:#fff!important;color:#17233b!important;
    font-size:13px!important;line-height:18px!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-q::placeholder{color:#718096!important;opacity:1}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-ic{
    grid-column:1!important;grid-row:1!important;
    position:relative!important;z-index:2!important;left:auto!important;top:auto!important;
    width:38px!important;height:44px!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    pointer-events:none!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-ic svg{width:18px!important;height:18px!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-div{display:none!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-go{
    grid-column:2!important;grid-row:1!important;
    width:42px!important;height:44px!important;min-height:44px!important;
    padding:0!important;border:0!important;border-radius:7px!important;
    background:#f1b31c!important;color:#17233b!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-go::after{content:none!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-go svg{width:19px!important;height:19px!important;stroke:#17233b!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-loc-wrap{
    grid-column:1 / -1!important;grid-row:2!important;
    width:100%!important;height:42px!important;min-width:0!important;position:relative!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-loc{
    width:100%!important;height:42px!important;min-height:42px!important;
    margin:0!important;padding:0 10px!important;
    border:1px solid rgba(255,255,255,.74)!important;border-radius:7px!important;
    background:#f7fbf9!important;color:#17233b!important;
    font-size:11px!important;line-height:15px!important;gap:7px!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-loc span{
    font-size:11px!important;line-height:15px!important;font-weight:650!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-loc svg:first-child{width:16px!important;height:16px!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .hs-loc svg:last-child{width:14px!important;height:14px!important;margin-left:auto!important}
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .location-dropdown{
    top:48px!important;left:0!important;right:0!important;width:100%!important;min-width:0!important;
  }
  :is(#page-home,#page-search-results,#page-categories,#page-places,#page-locations) .headsearch .jbh-mobile-search-meta{
    grid-column:1 / -1!important;grid-row:3!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    min-width:0!important;color:#fff!important;
    font-size:9px!important;line-height:13px!important;
  }
  .jbh-mobile-search-meta span{opacity:.92}
  .jbh-mobile-search-meta button{
    border:0!important;background:transparent!important;color:#fff!important;padding:0!important;
    font:inherit!important;font-weight:700!important;white-space:nowrap!important;cursor:pointer!important;
  }
  .pubhead-nav{display:none!important}
  .pubhead.nav-open .pubhead-nav{display:block!important}

  /* Remove duplicate in-page search blocks on mobile. The client references use
     one search system in the header, then move directly into page content. */
  #page-search-results :is(.biz-searchbar,.biz-helper),
  #page-categories :is(.cat-search,.cat-helper),
  #page-places :is(.places-search-safe,.places-help-safe),
  #page-locations :is(.loc-search,.loc-search-meta){display:none!important}

  /* Shared mobile content rhythm */
  :is(#page-search-results .biz-ref-wrap,#page-categories .cat-ref-wrap,#page-places .places-wrap-safe){
    padding-left:var(--jbh-mobile-gutter)!important;padding-right:var(--jbh-mobile-gutter)!important;
  }
  #page-locations .loc-rail{width:calc(100% - (var(--jbh-mobile-gutter) * 2))!important}

  /* ---------- Homepage: client mobile reference ---------- */
  #page-home .home-ref{padding-left:var(--jbh-mobile-gutter)!important;padding-right:var(--jbh-mobile-gutter)!important}
  #page-home .hero-ref{padding:28px 0 32px!important}
  #page-home .hero-ref-grid{grid-template-columns:1fr!important;gap:20px!important}
  #page-home .hero-ref h1{font-size:29px!important;line-height:35px!important;letter-spacing:-.015em!important}
  #page-home .hero-copy{font-size:12px!important;line-height:19px!important}
  #page-home .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  #page-home .hero-actions :is(.explore-btn,.listed-link){min-height:42px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
  #page-home .hero-ref-img{margin-top:2px!important}
  #page-home .hero-ref-img img{width:100%!important;height:190px!important;object-fit:cover!important;border-radius:9px!important}
  #page-home .section-head{display:flex!important;align-items:flex-start!important;gap:12px!important;margin-bottom:14px!important}
  #page-home .section-head>div:first-child{flex:1 1 auto!important}
  #page-home .section-head h2{font-size:22px!important;line-height:28px!important}
  #page-home .section-head p{font-size:10px!important;line-height:15px!important}
  #page-home .section-link{font-size:9px!important;line-height:14px!important;white-space:nowrap!important;margin-top:4px!important}
  #page-home .cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  #page-home .cat-ref{min-height:82px!important;padding:9px 6px!important;text-align:center!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
  #page-home .cat-top{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important}
  #page-home .cat-icon{width:28px!important;height:28px!important;flex:0 0 28px!important}
  #page-home .cat-ref h3{font-size:9px!important;line-height:12px!important;text-align:center!important}
  #page-home .cat-ref p,#page-home .cat-arrow{display:none!important}
  #page-home .place-grid,#page-home .biz-grid{grid-template-columns:1fr!important;gap:14px!important}
  #page-home .place-ref,#page-home .biz-ref{border-radius:10px!important;overflow:hidden!important}
  #page-home .place-image{height:168px!important}
  #page-home .biz-image{height:178px!important;padding:0!important}
  #page-home .biz-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  #page-home .biz-body{padding:12px!important}
  #page-home .biz-name{font-size:15px!important;line-height:20px!important}
  #page-home .biz-meta{font-size:11px!important;line-height:16px!important}
  #page-home .biz-foot{margin-top:10px!important;gap:10px!important}
  #page-home .biz-verified{font-size:11px!important;line-height:16px!important}
  #page-home .biz-btn{min-height:40px!important;height:auto!important;padding:0 14px!important;font-size:12px!important}

  /* Sun City card — exact structural hierarchy from client mobile comp. */
  #page-home .partner-ref{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    column-gap:14px!important;row-gap:5px!important;
    align-items:center!important;
    padding:18px!important;margin-top:16px!important;
    min-height:0!important;height:auto!important;
    border-radius:10px!important;overflow:hidden!important;
  }
  #page-home .partner-logo{
    grid-column:1!important;grid-row:1 / span 2!important;
    width:72px!important;height:72px!important;align-self:start!important;
  }
  #page-home .partner-content{display:contents!important}
  #page-home .partner-kicker{
    grid-column:2!important;grid-row:1!important;
    margin:2px 0 0!important;width:auto!important;text-align:left!important;
    font-size:10px!important;line-height:14px!important;letter-spacing:.08em!important;
  }
  #page-home .partner-name{
    grid-column:2!important;grid-row:2!important;
    margin:0!important;font-size:20px!important;line-height:25px!important;
  }
  #page-home .partner-copy{
    grid-column:1 / -1!important;grid-row:3!important;
    margin:14px 0 0!important;font-size:13px!important;line-height:20px!important;
  }
  #page-home .partner-link{
    grid-column:1 / -1!important;grid-row:4!important;
    justify-self:start!important;width:auto!important;min-width:150px!important;min-height:44px!important;
    margin:12px 0 0!important;padding:0 18px!important;
    font-size:13px!important;line-height:18px!important;
  }
  #page-home .value-ref{grid-template-columns:1fr!important;gap:0!important;padding:0!important;overflow:hidden!important}
  #page-home .value-ref-item{padding:14px!important;border-bottom:1px solid var(--border-default,#d7dce4)!important}
  #page-home .value-ref-item:last-child{border-bottom:0!important}
  #page-home .cta-ref{display:block!important;padding:20px 18px!important}
  #page-home .cta-right{min-width:0!important;margin-top:16px!important}
  #page-home .cta-main{width:100%!important;min-height:44px!important}

  /* ---------- Businesses directory ---------- */
  #page-search-results .biz-ref-main{padding-top:22px!important}
  #page-search-results .biz-title-row h1{font-size:26px!important;line-height:31px!important}
  #page-search-results .biz-title-row p{font-size:12px!important;line-height:19px!important}
  #page-search-results .biz-category-section{padding-top:24px!important;padding-bottom:28px!important}
  #page-search-results .biz-section-head{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;gap:7px!important;margin-bottom:14px!important;
  }
  #page-search-results .biz-section-head h2{font-size:21px!important;line-height:27px!important}
  #page-search-results .biz-section-head p{max-width:31ch!important}
  #page-search-results .biz-explore-link{
    display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;
    margin:0!important;font-size:11px!important;line-height:16px!important;white-space:nowrap!important;
  }
  #page-search-results .biz-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #page-search-results .biz-cat-card{
    min-height:118px!important;padding:12px 12px 38px!important;position:relative!important;
    gap:8px!important;align-content:start!important;box-sizing:border-box!important;
  }
  #page-search-results .biz-cat-card>div{width:100%!important;min-width:0!important}
  #page-search-results .biz-cat-icon{width:31px!important;height:31px!important;flex:0 0 31px!important}
  #page-search-results .biz-cat-name{
    font-size:12.5px!important;line-height:16px!important;overflow-wrap:anywhere!important;
  }
  #page-search-results .biz-cat-count{
    display:block!important;margin-top:3px!important;font-size:9px!important;line-height:13px!important;
  }
  #page-search-results .biz-cat-card:not(.biz-cat-clickable)::after{
    left:12px!important;bottom:10px!important;font-size:10px!important;line-height:14px!important;
  }
  #page-search-results .biz-listing-section{padding-top:26px!important}
  #page-search-results .biz-listing-top{display:block!important}
  #page-search-results .biz-market{margin-top:8px!important}
  #page-search-results .biz-filters{display:flex!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding:4px 0 7px!important;scrollbar-width:none!important}
  #page-search-results .biz-filters::-webkit-scrollbar{display:none!important}
  #page-search-results .biz-filter{flex:0 0 auto!important;min-height:38px!important;white-space:nowrap!important}
  #page-search-results .biz-content-grid{grid-template-columns:1fr!important}
  #page-search-results .biz-result{grid-template-columns:1fr!important;gap:0!important;padding:0!important;overflow:hidden!important;border-radius:10px!important}
  #page-search-results .biz-result-image{height:205px!important;border-radius:0!important}
  #page-search-results .biz-result-copy{padding:12px 12px 0!important}
  #page-search-results .biz-result-name{display:block!important;font-size:16px!important;line-height:21px!important;margin-top:4px!important}
  #page-search-results .biz-result-meta{font-size:11px!important;line-height:16px!important}
  #page-search-results .biz-result-action{grid-column:1!important;justify-self:stretch!important;padding:12px!important;margin:0!important}
  #page-search-results .biz-result-action .btn{width:100%!important;min-height:42px!important}
  #page-search-results .biz-cta{display:block!important;padding:20px 18px!important}
  #page-search-results .biz-cta-right{min-width:0!important;margin-top:15px!important}

  /* ---------- Categories ---------- */
  #page-categories .cat-top-section{padding:22px 0 24px!important}
  #page-categories .cat-intro h1{font-size:26px!important;line-height:31px!important}
  #page-categories .cat-intro p{font-size:12px!important;line-height:19px!important}
  #page-categories .cat-list-section{padding:26px 0 44px!important}
  #page-categories .cat-list-head{display:block!important;margin-bottom:16px!important}
  #page-categories .cat-total{margin-top:8px!important}
  #page-categories .cat-grid-ref{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  #page-categories .cat-card-ref{min-height:134px!important;padding:12px!important;border-radius:9px!important}
  #page-categories .cat-card-head{display:block!important}
  #page-categories .cat-icon-ref{width:30px!important;height:30px!important;flex-basis:30px!important;margin-bottom:7px!important;border-radius:7px!important;font-size:9px!important}
  #page-categories .cat-card-ref h3{font-size:12px!important;line-height:16px!important;margin:0!important}
  #page-categories .cat-desc{font-size:9px!important;line-height:13px!important;margin-top:5px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  #page-categories .cat-card-foot{margin-top:10px!important;gap:5px!important;align-items:flex-end!important}
  #page-categories .cat-explore,#page-categories .cat-count{font-size:8.5px!important;line-height:12px!important;white-space:normal!important}

  /* ---------- Places ---------- */
  #page-places .places-hero-safe{padding:22px 0 24px!important}
  #page-places .places-hero-safe h1{font-size:26px!important;line-height:31px!important}
  #page-places .places-hero-copy-safe{font-size:12px!important;line-height:19px!important}
  #page-places .iconic-grid-safe,#page-places .safe-place-grid{grid-template-columns:1fr!important;gap:12px!important}
  #page-places .iconic-card-img-safe,#page-places .safe-place-img{height:165px!important}
  #page-places .iconic-card-body-safe,#page-places .safe-place-body{padding:12px!important}
  #page-places .safe-place-name{font-size:15px!important;line-height:20px!important}
  #page-places .safe-filters{display:flex!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:5px!important;scrollbar-width:none!important}
  #page-places .safe-filters::-webkit-scrollbar{display:none!important}
  #page-places .safe-filter{flex:0 0 auto!important;white-space:nowrap!important;min-height:38px!important}
  #page-places .places-cta-box-safe{display:block!important;padding:20px 18px!important}
  #page-places .places-cta-right-safe{min-width:0!important;margin-top:15px!important}

  /* ---------- Locations ---------- */
  #page-locations .loc-hero{padding:20px 0 24px!important}
  #page-locations .loc-hero h1{font-size:26px!important;line-height:31px!important}
  #page-locations .loc-sub{font-size:12px!important;line-height:19px!important}
  #page-locations .choice-grid{grid-template-columns:1fr!important;gap:9px!important}
  #page-locations .choice-card{min-height:58px!important}
  #page-locations .popular-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #page-locations .type-tabs.three{grid-template-columns:1fr!important;gap:7px!important}
  #page-locations .parish-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #page-locations .parish-card{min-height:88px!important;padding:11px!important}
  #page-locations .diaspora-grid{grid-template-columns:1fr!important;gap:12px!important}
  #page-locations .loc-cta{display:block!important;padding:20px 18px!important}
  #page-locations .loc-cta-actions{margin-top:15px!important;min-width:0!important}
  #page-locations .loc-gold-btn{width:100%!important;min-height:44px!important}

  /* ---------- Get Listed landing ---------- */
  #page-register .pubhead-top{border-bottom:3px solid #087f68!important}
  #page-register .gl-landing-wrap{padding-left:var(--jbh-mobile-gutter)!important;padding-right:var(--jbh-mobile-gutter)!important}
  #page-register .gl-landing-head{display:block!important;padding:26px 0 30px!important}
  #page-register .gl-h1{font-size:29px!important;line-height:35px!important}
  #page-register .gl-sub{font-size:12px!important;line-height:19px!important}
  #page-register .gl-already{margin-top:22px!important;padding:0!important;font-size:12px!important}
  #page-register .gl-band{padding:28px 0 32px!important}
  #page-register .gl-band>.container,#page-register .gl-notsure{padding-left:var(--jbh-mobile-gutter)!important;padding-right:var(--jbh-mobile-gutter)!important}
  #page-register .gl-band h2,#page-register .gl-notsure h2{font-size:22px!important;line-height:28px!important}
  #page-register .gl-type-grid{grid-template-columns:1fr!important;gap:18px!important}
  #page-register .gl-type-card{padding:18px!important;border-radius:9px!important}
  #page-register .gl-type-label{margin-bottom:12px!important}
  #page-register .gl-type-card h3{font-size:18px!important;line-height:23px!important}
  #page-register .gl-type-desc{font-size:12px!important;line-height:18px!important}
  #page-register .gl-type-ex{font-size:11px!important;line-height:16px!important}
  #page-register .gl-feats{gap:9px!important;margin-bottom:18px!important}
  #page-register .gl-feats li{font-size:11px!important;line-height:16px!important}
  #page-register .gl-btn{min-height:44px!important}
  #page-register .gl-choose-grid{
    grid-template-columns:1fr!important;gap:0!important;
    border:1px solid var(--gl-line)!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important;
  }
  #page-register .gl-choose-card{border:0!important;border-radius:0!important;padding:15px!important;border-bottom:1px solid var(--gl-line)!important}
  #page-register .gl-choose-card:last-child{border-bottom:0!important}
  #page-register .gl-choose-card h4{font-size:13px!important;line-height:18px!important;margin-bottom:4px!important}
  #page-register .gl-choose-card p{font-size:10.5px!important;line-height:16px!important}
  #page-register .gl-assure-strip{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding:16px!important}
  #page-register .gl-assure-strip span{font-size:11px!important;line-height:16px!important}

  /* ---------- Registration/details ---------- */
  #page-register .gl-reg{padding-left:var(--jbh-mobile-gutter)!important;padding-right:var(--jbh-mobile-gutter)!important}
  #page-register .gl-page-h1{font-size:26px!important;line-height:31px!important}
  #page-register .gl-typebar{margin:18px 0!important;padding:11px 12px!important}
  #page-register .gl-reg-grid{grid-template-columns:1fr!important;gap:16px!important}
  #page-register .gl-card{padding:16px!important;margin-bottom:14px!important;border-radius:9px!important}
  #page-register .gl-card-head{margin-bottom:16px!important;gap:10px!important}
  #page-register .gl-card-head h2{font-size:16px!important;line-height:21px!important}
  #page-register .gl-card-head p{font-size:10px!important;line-height:15px!important}
  #page-register .gl-f2{grid-template-columns:1fr!important;gap:0!important}
  #page-register .gl-chips{gap:8px!important}
  #page-register .gl-chip{height:36px!important;padding:0 12px!important;font-size:11px!important}
  #page-register .gl-hours-row{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}
  #page-register .gl-uploads{grid-template-columns:1fr 1fr!important;gap:10px!important}
  #page-register .gl-upload{min-height:110px!important;padding:12px!important}
  #page-register .gl-reg-cta .gl-btn,#page-register .gl-card>.gl-btn{width:100%!important;min-height:44px!important}
}

/* Very small phones: one category card per row prevents cramped labels. */
@media (max-width:360px){
  #page-search-results .biz-cat-grid{grid-template-columns:1fr!important}
  #page-search-results .biz-cat-card{min-height:104px!important}
}

/* 320–359px: preserve usability without forcing the client 390px composition. */
@media (max-width:359px){
  :root{--jbh-mobile-gutter:12px}
  .jabiz-brand-img{width:122px!important}
  #page-home .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-categories .cat-grid-ref,#page-locations .popular-grid,#page-locations .parish-grid{grid-template-columns:1fr!important}
  #page-home .partner-ref{grid-template-columns:60px minmax(0,1fr)!important;padding:15px!important}
  #page-home .partner-logo{width:60px!important;height:60px!important}
  #page-home .partner-name{font-size:17px!important;line-height:22px!important}
  #page-register .gl-uploads{grid-template-columns:1fr!important}
}

/* Client tablet bridge: keep mobile density while taking advantage of room. */
@media (min-width:768px) and (max-width:1024px){
  #page-categories .cat-grid-ref{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-places .iconic-grid-safe,#page-places .safe-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-locations .parish-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #page-register .gl-type-grid{grid-template-columns:1fr!important;max-width:760px;margin-left:auto;margin-right:auto}
}


/* v0.30.1 — isolated Sun City component; desktop/tablet base. */
#page-home .jbh-suncity-card{
  display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-rows:auto auto;
  column-gap:16px;row-gap:3px;align-items:center;width:100%;min-width:0;
  margin-top:16px;padding:15px 18px;border:1px solid #d5dfdc;border-radius:10px;
  background:#eaf4f0;color:#17233b;box-sizing:border-box;
}
#page-home .jbh-suncity-head{display:contents;}
#page-home .jbh-suncity-logo{
  grid-column:1;grid-row:1 / span 2;width:60px;height:60px;border:1px solid #d7dce4;
  border-radius:8px;background:#fff;padding:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;
}
#page-home .jbh-suncity-logo img{display:block;width:100%;height:100%;object-fit:contain;}
#page-home .jbh-suncity-heading{grid-column:2;grid-row:1;min-width:0;}
#page-home .jbh-suncity-kicker{color:#087f68;font-size:10px;line-height:14px;font-weight:800;letter-spacing:.075em;}
#page-home .jbh-suncity-name{margin-top:2px;color:#17233b;font-size:17px;line-height:21px;font-weight:800;}
#page-home .jbh-suncity-name br{display:none;}
#page-home .jbh-suncity-copy{grid-column:2;grid-row:2;margin:1px 0 0;color:#667085;font-size:12px;line-height:17px;}
#page-home .jbh-suncity-live{
  grid-column:3;grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-width:128px;min-height:40px;padding:0 15px;border:1.5px solid #087f68;border-radius:8px;
  background:transparent;color:#087f68;text-decoration:none;font-size:12px;line-height:18px;font-weight:800;
}
#page-home .jbh-suncity-live:hover{background:#087f68;color:#fff;}

/* v0.30.1 — homepage mobile media fixes based on live 360px QA. */
@media (max-width:767px){
  /* Iconic-place photography must always occupy the complete card width.
     Explicit max-width/aspect resets protect against legacy/reference rules. */
  #page-home .place-grid{width:100%!important;}
  #page-home .place-ref{width:100%!important;min-width:0!important;}
  #page-home .place-ref .place-image{
    width:100%!important;max-width:none!important;height:190px!important;
    aspect-ratio:auto!important;margin:0!important;padding:0!important;
    overflow:hidden!important;display:block!important;background:#eef2f0!important;
  }
  #page-home .place-ref .place-image img{
    display:block!important;width:100%!important;max-width:none!important;min-width:100%!important;
    height:100%!important;margin:0!important;padding:0!important;
    object-fit:cover!important;object-position:center!important;
  }

  /* Sun City — rebuilt as one simple card instead of the historical partner grid. */
  #page-home .jbh-suncity-card{
    display:block!important;width:100%!important;min-width:0!important;
    margin:16px 0 0!important;padding:18px!important;
    border:1px solid #d5dfdc!important;border-radius:11px!important;
    background:#eaf4f0!important;color:#17233b!important;
    box-sizing:border-box!important;overflow:hidden!important;
  }
  #page-home .jbh-suncity-head{
    display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;
    gap:14px!important;align-items:center!important;
  }
  #page-home .jbh-suncity-logo{
    width:72px!important;height:72px!important;border:1px solid #d7dce4!important;
    border-radius:9px!important;background:#fff!important;padding:5px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box!important;overflow:hidden!important;
  }
  #page-home .jbh-suncity-logo img{
    display:block!important;width:100%!important;height:100%!important;max-width:none!important;
    padding:0!important;margin:0!important;object-fit:contain!important;
  }
  #page-home .jbh-suncity-heading{min-width:0!important;}
  #page-home .jbh-suncity-kicker{
    margin:0 0 5px!important;color:#087f68!important;font-size:9.5px!important;
    line-height:14px!important;font-weight:800!important;letter-spacing:.075em!important;
  }
  #page-home .jbh-suncity-name{
    margin:0!important;color:#17233b!important;font-size:19px!important;line-height:23px!important;
    font-weight:800!important;letter-spacing:-.01em!important;
  }
  #page-home .jbh-suncity-copy{
    margin:16px 0 0!important;color:#667085!important;font-size:12.5px!important;
    line-height:19px!important;max-width:31ch!important;
  }
  #page-home .jbh-suncity-live{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
    width:auto!important;min-width:154px!important;min-height:42px!important;
    margin:15px 0 0!important;padding:0 17px!important;
    border:1.5px solid #087f68!important;border-radius:8px!important;
    background:transparent!important;color:#087f68!important;text-decoration:none!important;
    font-size:13px!important;line-height:18px!important;font-weight:800!important;
  }
  #page-home .jbh-suncity-live:hover{background:#087f68!important;color:#fff!important;}
}

@media (max-width:359px){
  #page-home .jbh-suncity-card{padding:15px!important;}
  #page-home .jbh-suncity-head{grid-template-columns:64px minmax(0,1fr)!important;gap:11px!important;}
  #page-home .jbh-suncity-logo{width:64px!important;height:64px!important;}
  #page-home .jbh-suncity-name{font-size:17px!important;line-height:21px!important;}
  #page-home .place-ref .place-image{height:176px!important;}
}
