.hub-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.hub-layout{--hub-open:color-mix(in srgb,#178a3a 90%,var(--color-text));--hub-closed:color-mix(in srgb,#c62828 90%,var(--color-text));overflow-x:hidden} /* hub-only open/closed; CMS theme unchanged */
.hub-layout .saas-header{position:relative;z-index:6;background:var(--color-header-footer)}
.hub-layout .saas-masthead{overflow:visible;background:var(--color-header-footer)}
.hub-layout .saas-nav.main-nav{background:var(--color-card-bg)}
.hub-layout .hub-product-nav{flex-wrap:wrap;gap:0 .35rem;align-items:center}
.hub-layout .hub-product-nav .nav-item a{font-weight:650}
.hub-layout .hub-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 2rem}
.hub-layout .hub-footer-grid ul{list-style:none;margin:0;padding:0}
.hub-layout .hub-footer-grid li{margin:0 0 .45rem}
.hub-layout .hub-footer-copy{margin-top:1.6rem}
.hub-layout .hub-footer-disc{margin:.45rem 0 0;font-size:.88rem;opacity:.78;max-width:62ch}
.hub-layout section#faqs,.hub-layout .categories-cluster-widget,.hub-layout .recommended-posts-widget,.hub-layout .recommended-widget,.hub-layout .widget-container.after-content,.hub-layout .widget-container.sidebar-content,.hub-layout .listing-back-home-wrap{display:none!important}
.hub-layout .phone-call-container{display:none!important}
.hub-layout .listing-split>.listing-split__col:nth-of-type(2):not(:has(img)):not(:has(iframe)):not(:has(#hours li)):not(:has(#hours h2)):not(:has(.listing-hours-today)){display:none}
.hub-layout .listing-split:has(> .listing-split__col:nth-of-type(2):not(:has(img)):not(:has(iframe)):not(:has(#hours li)):not(:has(#hours h2)):not(:has(.listing-hours-today))){grid-template-columns:1fr}
.hub-layout .listing-facts a[href^="tel:"]{color:inherit}
.hub-layout .listing-hours-today,.hub-layout .hub-guides .listing-hours-today{display:none!important}
.hub-layout section#hours,.hub-layout section#location{--hub-hours-line:color-mix(in srgb,var(--color-primary) 18%,#e6eef0);--hub-hours-today-bg:color-mix(in srgb,var(--color-primary) 11%,#fff);--hub-hours-badge:color-mix(in srgb,var(--color-primary) 78%,#2a7a6e);--hub-hours-muted:color-mix(in srgb,var(--color-text) 52%,#8b93a0);--hub-hours-ink:#2d3648;--hub-hours-closed:#e55b64;margin:0 0 1.25rem;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:calc(14px * var(--variation-border-radius, 1));padding:1.45rem 1.55rem 1.65rem;box-shadow:0 1px 2px var(--color-card-shadow);box-sizing:border-box}
.hub-layout .hub-listing-boxes{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0 0 1.25rem;width:100%;max-width:100%;box-sizing:border-box;align-items:start}
.hub-layout .hub-listing-boxes>section{margin-bottom:0;min-width:0;height:auto;box-sizing:border-box}
.hub-layout .hub-listing-boxes>section:has(iframe){height:100%;align-self:stretch}
.hub-layout .hub-listing-boxes>#reviews,.hub-layout .hub-listing-boxes>.hub-guides{grid-column:1/-1;width:100%}
.hub-layout .single-post .hub-nearby,.hub-layout .hub-nearby,.hub-layout .single-post .hub-guides{width:100%;max-width:100%;box-sizing:border-box}
.hub-layout .hub-nearby .hub-card-list{grid-template-columns:1fr}
@media (min-width:900px){.hub-layout .hub-nearby .hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hub-layout .hub-nearby__anchors{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.hub-layout .hub-nearby__anchors li{margin:0;padding:0}
.hub-layout .hub-nearby__anchors a{display:block;padding:.7rem .95rem;border:1px solid var(--color-border);border-radius:calc(10px * var(--variation-border-radius, 1));background:var(--color-card-bg);color:var(--color-text);text-decoration:none;font-weight:600;line-height:1.35}
.hub-layout .hub-nearby__anchors a:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}
.hub-layout .hub-nearby .hub-card.hub-card--nearby{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%;min-width:0;overflow:hidden;text-align:left;padding:.95rem 1.05rem 1rem;box-sizing:border-box}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__main{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.85rem 1rem;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__body{flex:1 1 auto;min-width:0;text-align:left}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__title{margin:0 0 .28rem;font-size:1.02rem}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__addr,.hub-layout .hub-nearby .hub-card--nearby .hub-card__dist{margin:0}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__footer{flex:0 1 auto;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:.45rem;min-width:min(9.2rem,100%);max-width:100%;margin:0;padding:0;border:0;box-sizing:border-box}
.hub-layout .hub-nearby .hub-card--nearby .hub-card__link{width:100%;max-width:100%;flex:0 0 auto;white-space:nowrap;justify-content:center;box-sizing:border-box}
@media (max-width:700px){.hub-layout .hub-nearby .hub-card--nearby .hub-card__main{flex-direction:column;align-items:stretch}.hub-layout .hub-nearby .hub-card--nearby .hub-card__footer{width:100%;flex-direction:row;flex-wrap:wrap;padding-top:.7rem;border-top:1px solid var(--color-border)}.hub-layout .hub-nearby .hub-card--nearby .hub-card__link{width:auto;flex:1 1 7rem}}
@media (min-width:900px){
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"],.hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"],.hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"]>#hours{grid-column:1;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"]>#location{grid-column:2;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"]>#information{grid-column:1/-1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"]:not(:has(#hours))>#location,.hub-layout .hub-listing-boxes[data-hub-grid="pair-hl"]:not(:has(#location))>#hours{grid-column:1/-1;grid-row:auto}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"]>#information{grid-column:1;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"]>#hours{grid-column:2;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"]>#location{grid-column:1/-1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"]:not(:has(#information))>#hours,.hub-layout .hub-listing-boxes[data-hub-grid="pair-ih"]:not(:has(#hours))>#information{grid-column:1/-1;grid-row:auto}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]>#location{grid-column:1;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]>#information{grid-column:2;grid-row:1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]>#hours{grid-column:1/-1}
  .hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]:not(:has(#location))>#information,.hub-layout .hub-listing-boxes[data-hub-grid="pair-li"]:not(:has(#information))>#location{grid-column:1/-1;grid-row:auto}
}
.hub-layout section#hours h2{margin:0 0 .75rem!important}
.hub-layout section#hours ul,.hub-layout section#hours ul.hub-hours-list{list-style:none;margin:0;padding:0;background:transparent;border:0;border-radius:0;overflow:visible}
.hub-layout section#hours li,.hub-layout section#hours li.hub-hours-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.82rem 1.15rem;border-bottom:1px solid var(--hub-hours-line);color:var(--hub-hours-muted);font-size:.95rem;line-height:1.35;background:transparent;font-weight:500}
.hub-layout section#hours li:last-child{border-bottom:0;padding-bottom:.82rem}
.hub-layout section#hours .hub-hours-day{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.4rem;flex:0 1 auto;white-space:nowrap}
.hub-layout section#hours .hub-hours-time{text-align:right;font-variant-numeric:tabular-nums;white-space:normal}
.hub-layout section#hours li.is-today{background:var(--hub-hours-today-bg);color:var(--hub-hours-ink);font-weight:750}
.hub-layout section#hours li.is-today .hub-hours-day::after{content:attr(data-hub-today);display:inline-flex;align-items:center;padding:.14rem .5rem;border-radius:999px;background:var(--hub-hours-badge);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.15}
.hub-layout section#hours li.is-closed .hub-hours-time{color:var(--hub-hours-closed);text-transform:capitalize}
.hub-layout .saas-header .saas-search{display:none!important}
.hub-layout .main-content{margin-top:0;overflow-x:hidden}
.hub-layout .main-content>.container{overflow:visible}
body.hub-layout:has(.hub-listing-hero) .sidebar,
body.hub-layout:has(.hub-listing-hero) .sidebar-wrapper,
body.hub-layout:has(.hub-listing-hero) .post-container>.sidebar{display:none!important}
body.hub-layout:has(.hub-listing-hero) .post-container.with-sidebar{display:block}
body.hub-layout:has(.hub-listing-hero) .main-content>.container{max-width:none!important;width:100%;padding-left:0;padding-right:0}
body.hub-layout:has(.hub-listing-hero) .main-content>.container>:not(.hub-listing-hero){max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;box-sizing:border-box}
body.hub-layout:has(.hub-listing-hero) article.single-post,body.hub-layout:has(.hub-listing-hero) .post-container article.single-post,body.hub-layout:has(.hub-listing-hero) .post-container .single-post{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.hub-layout:has(.hub-family-index) .main-content>.container,body.hub-layout:has(.hub-facet-index) .main-content>.container,body.hub-layout:has(.hub-brand-index) .main-content>.container,body.hub-layout:has(.hub-brand-page) .main-content>.container{max-width:none!important;width:100%;padding-left:0;padding-right:0;margin-left:0;margin-right:0}
body.hub-layout:has(.hub-family-index) .main-content>.container>:not(.hub-band),body.hub-layout:has(.hub-facet-index) .main-content>.container>:not(.hub-band),body.hub-layout:has(.hub-brand-index) .main-content>.container>:not(.hub-band),body.hub-layout:has(.hub-brand-page) .main-content>.container>:not(.hub-band){width:min(100%,1200px);max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;box-sizing:border-box}
.hub-layout .search-page{max-width:none;margin:0}
.hub-index,.hub-search,.hub-index__split,.hub-card,.hub-band-card{max-width:100%;box-sizing:border-box}
.hub-index{margin:0 0 1.5rem;padding:0 20px .85rem;box-sizing:border-box}
.hub-index>.hub-band+.hub-band-card{margin-top:-1.4rem}
.hub-index>.hub-band+:not(.hub-band-card){margin-top:1.35rem}
.hub-band{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);box-sizing:border-box;background:color-mix(in srgb,var(--color-header-footer) 88%,var(--color-primary));color:#fff;padding:1.85rem 0 2.7rem}
.hub-band__inner{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.hub-band h1{margin:0 0 .45rem;font-size:clamp(1.7rem,3.4vw,2.35rem);line-height:1.15;color:#fff;font-weight:800}
.hub-band__sub{margin:0;max-width:40rem;color:color-mix(in srgb,#fff 82%,transparent);font-size:1.02rem;font-weight:400}
.hub-band__crumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.4rem;margin:0 0 1rem;width:100%;text-align:left;font-size:.86rem;color:color-mix(in srgb,#fff 72%,transparent)}
.hub-band__crumbs a{color:color-mix(in srgb,#fff 78%,transparent);text-decoration:none}
.hub-band__crumbs a:hover{color:#fff}
.hub-band__crumbs span:last-child{color:#fff;font-weight:600}
.hub-band-card{position:relative;z-index:1;margin:0 0 1.4rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.35rem 1.45rem 1.5rem;box-shadow:0 8px 24px color-mix(in srgb,var(--color-text) 10%,transparent);overflow:hidden}
.hub-band-card .hub-search{box-shadow:none;border:0;padding:0;margin:0 0 .9rem;background:transparent;overflow:visible}
.hub-band-card .hub-search:last-child{margin-bottom:0}
.hub-pills-block{margin:.55rem 0 0}
.hub-pills__label{margin:0 0 .55rem;font-size:.72rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text)}
.hub-pills-block--fold{margin:.35rem 0 0}
.hub-pills-block--fold summary.hub-pills__toggle{cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:750;color:var(--color-primary);list-style:none}
.hub-pills-block--fold summary.hub-pills__toggle::-webkit-details-marker{display:none}
.hub-pills-block--fold summary.hub-pills__toggle::after{content:"▾";font-size:.75rem;opacity:.7}
.hub-pills-block--fold[open] summary.hub-pills__toggle::after{content:"▴"}
.hub-pills-block--fold .hub-pills{margin-top:.55rem}
.hub-index--region .hub-band-card{overflow:visible}
.hub-index--region .hub-pills-block{margin:.35rem 0 0}
.hub-index--region .hub-region-thin{margin:0 0 1.25rem;padding:1.05rem 1.15rem 1.15rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 6%,transparent)}
.hub-region-thin__list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.hub-region-thin__list li{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.2rem .65rem .2rem .75rem;border-radius:999px;background:var(--color-background);color:var(--color-text-muted);font-size:.88rem;font-weight:550}
.hub-index--region .hub-index__split{align-items:start}
.hub-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;list-style:none;margin:0;padding:0}
.hub-layout .main-content ul.hub-pills li,.hub-layout .hub-pills li{margin:0;padding:0;display:flex;list-style:none}
.hub-pills a{display:inline-flex;align-items:center;gap:.45rem;min-height:2.15rem;padding:.25rem .7rem .25rem .85rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card-bg);color:var(--color-text);text-decoration:none;font-weight:650}
.hub-pills a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.hub-subcats{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.35rem 1.45rem 1.5rem;margin:0 0 1.4rem}
.hub-subcats h2{margin:0 0 .7rem;font-size:1.05rem}
.hub-subcats__chip.is-active{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-card-bg))}
.hub-family-index,.hub-facet-index,.hub-brand-index{width:100%;max-width:100%;margin:0 0 1.5rem;box-sizing:border-box}
.hub-family-index,.hub-family-index.hub-facet-index,.hub-family-index.hub-brand-index{margin-top:0;padding-top:2.4rem}
.hub-layout .main-content .hub-family-index__list,.hub-family-index__list{list-style:none;margin:0;padding:0;width:100%;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-items:stretch;box-sizing:border-box}
.hub-layout .main-content .hub-family-index__item,.hub-family-index__item{width:100%;max-width:none;min-width:0;margin:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card-bg);padding:.85rem 1.05rem 1rem;box-sizing:border-box}
.hub-family-index__row{display:flex;flex-direction:column;gap:.2rem;width:100%;text-decoration:none;color:inherit;box-sizing:border-box}
.hub-family-index__row:hover .hub-family-index__name{color:var(--color-primary)}
.hub-family-index__name{font-weight:750;font-size:1.08rem}
.hub-family-index__meta{color:var(--color-text-muted);font-size:.9rem}
.hub-layout .main-content .hub-family-index__cities,.hub-family-index__cities{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.65rem 0 0;padding:0;width:100%}
.hub-layout .main-content .hub-family-index__cities li{margin:0;width:auto;max-width:none}
.hub-family-index__cities a{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.2rem .7rem;border:1px solid var(--color-border);border-radius:999px;text-decoration:none;color:var(--color-text);font-weight:650;font-size:.88rem}
.hub-family-index__cities a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.hub-pills__n{min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--color-background);color:var(--color-text-muted);font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}
.hub-listing-hero .hub-listing-facets{gap:.6rem .7rem;margin:1.15rem 0 0;max-width:100%}
.hub-listing-hero .hub-listing-facets a{min-height:2.4rem;padding:.48rem 1.15rem;background:color-mix(in srgb,#fff 20%,transparent);color:#fff;border:1.5px solid color-mix(in srgb,#fff 32%,transparent);font-size:.88rem;font-weight:650;letter-spacing:.01em;line-height:1.2;text-decoration:none;box-sizing:border-box;max-width:100%}
.hub-listing-hero .hub-listing-facets a:hover{background:color-mix(in srgb,#fff 30%,transparent);border-color:color-mix(in srgb,#fff 48%,transparent);color:#fff;filter:none}
.hub-listing-hero .hub-listing-facets a.hub-listing-brand__chip{background:color-mix(in srgb,#fff 26%,transparent);border-color:color-mix(in srgb,#fff 42%,transparent)}
.hub-brand-page{width:100%;max-width:100%;margin:0 0 1.5rem;box-sizing:border-box}
.hub-brand-branches h2,.hub-brand-cities h2,.hub-brand-listings h2{margin:0 0 .7rem;font-size:1.15rem}
.hub-brand-listings{margin:0 0 1.5rem;min-width:0;width:100%}
.hub-layout .hub-brand-cards,.hub-brand-cards{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:100%;margin:0;padding:0;box-sizing:border-box}
.hub-layout a.hub-brand-card,.hub-brand-card{display:flex;flex-direction:column;gap:.22rem;width:100%;max-width:100%;min-width:0;margin:0;padding:.7rem .95rem .75rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-card-bg);box-shadow:0 2px 8px color-mix(in srgb,var(--color-text) 5%,transparent);text-decoration:none;color:inherit;box-sizing:border-box}
.hub-layout a.hub-brand-card:hover,.hub-brand-card:hover,.hub-layout a.hub-brand-card:focus-visible{border-color:var(--color-primary);box-shadow:0 4px 14px color-mix(in srgb,var(--color-text) 8%,transparent)}
.hub-brand-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;min-width:0}
.hub-brand-card__name{font-weight:750;font-size:1.02rem;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.hub-brand-card__score{flex:0 0 auto;font-size:.82rem;font-weight:750;color:var(--color-text-muted);white-space:nowrap}
.hub-brand-card__city{color:var(--color-text-muted);font-size:.88rem;font-weight:600;overflow-wrap:anywhere}
.hub-brand-card__addr,.hub-brand-card__phone{display:flex;align-items:flex-start;gap:.4rem;color:var(--color-text-muted);font-size:.86rem;line-height:1.35;min-width:0}
.hub-brand-card__addr span,.hub-brand-card__phone span{min-width:0;overflow-wrap:anywhere}
.hub-brand-card .hub-ico{flex:0 0 auto;margin-top:.12rem;opacity:.7}
.hub-layout form.hub-search,.hub-layout .main-content form.hub-search,.hub-search{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.65rem;width:100%;max-width:none!important;min-width:0;box-sizing:border-box;overflow:visible;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:.65rem;margin:0;box-shadow:0 4px 14px color-mix(in srgb,var(--color-text) 8%,transparent)}
.hub-layout .main-content form.hub-filters__form{max-width:none!important;padding:0;margin:0;border-radius:0}
.hub-layout .hub-search label.hub-search__q,.hub-layout .hub-search label.hub-search__city,.hub-search__q,.hub-search__city{display:flex!important;align-items:center;gap:.45rem;position:relative;z-index:0;min-height:2.85rem;margin:0;padding:0 .8rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-background);color:var(--color-text-muted);font-weight:inherit;box-sizing:border-box;overflow:hidden}
.hub-search__q{flex:1 1 12rem;min-width:12rem}
.hub-search__city{flex:0 1 16rem;min-width:14rem;max-width:18rem;z-index:1}
.hub-search .hub-ico{position:relative;z-index:0;flex:0 0 auto;pointer-events:none}
.hub-search input,.hub-search select{position:relative;z-index:1;flex:1 1 auto;width:100%;min-width:0;max-width:100%;min-height:2.4rem;border:0;background:transparent;color:var(--color-text);font-size:1rem;padding:0;box-sizing:border-box}
.hub-search select{overflow:hidden;text-overflow:ellipsis}
.hub-search input:focus,.hub-search select:focus{outline:none}
.hub-search button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto;min-height:2.85rem;padding:.55rem 1.15rem;border:0;border-radius:10px;background:var(--color-button);color:#fff;font-weight:650;white-space:nowrap}
.hub-search button:hover{filter:brightness(1.06)}
.hub-layout a.hub-btn,.hub-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.4rem;padding:.55rem 1.05rem;border:0;border-radius:10px;background:var(--color-button);color:#fff;font-weight:650;text-decoration:none}
.hub-layout a.hub-btn{text-decoration:none!important}
.hub-layout a.hub-btn--view{background:var(--color-button);color:#fff!important;border:1.5px solid transparent}
.hub-layout a.hub-btn--call,.hub-layout a.hub-btn--maps{background:var(--color-card-bg);color:var(--color-text)!important;border:1.5px solid var(--color-border)}
.hub-layout a.hub-btn:hover{filter:brightness(1.06)}
.hub-btn__icon,.hub-btn__arrow,.hub-ico{flex:0 0 auto;line-height:1}
.hub-btn__arrow{font-weight:700}
.hub-ico--star{color:var(--color-button)}
.hub-explore{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.05rem 1.2rem;margin:0 0 1rem;text-decoration:none;color:inherit;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 6%,transparent)}
.hub-explore__label{margin:0 0 .2rem;font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.hub-explore__title{margin:0;font-weight:750;color:var(--color-text)}
.hub-explore__link{flex:0 0 auto;color:var(--color-link);font-weight:650;white-space:nowrap}
.hub-explore + #hub-localities{display:none}
.hub-explore + #hub-localities:target{display:block}
.hub-index__split{display:grid;grid-template-columns:minmax(15rem,17.5rem) minmax(0,1fr);gap:1.25rem;align-items:start;margin:0 0 2rem}
.hub-index__split>.hub-filters{margin:0;position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}
.hub-index__split>.hub-index__results{min-width:0}
.hub-index>.hub-band-card,.hub-index>.hub-search{margin-bottom:var(--hub-block-gap,1.45rem)}
.hub-index>.hub-index__split{margin-bottom:var(--hub-block-gap,1.7rem)}
.hub-index>.hub-faq,.hub-index>.hub-guides{margin-bottom:var(--hub-block-gap,1.45rem)}
.hub-index__results,.hub-index>.hub-card-list{margin:0 0 2rem}
.hub-index__split .hub-index__results{margin-bottom:0}
.hub-filters{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.05rem 1.1rem 1.2rem;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 6%,transparent)}
.hub-filters__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .85rem}
.hub-filters h2,.hub-filters__title{display:flex;align-items:center;gap:.4rem;margin:0;font-size:1.05rem;color:var(--color-text);font-weight:700}
.hub-filters__title .hub-ico{color:var(--color-text-muted)}
.hub-filters__clear,.hub-active__clear{color:var(--color-link);font-weight:650;font-size:.9rem;text-decoration:none;white-space:nowrap}
.hub-filters__clear:hover,.hub-active__clear:hover{color:var(--color-link-hover);text-decoration:underline}
.hub-filters__field{display:block;margin:0 0 .85rem}
.hub-filters__field span{display:block;margin:0 0 .35rem;font-size:.82rem;font-weight:700;color:var(--color-text-muted)}
.hub-filters select{width:100%;min-height:2.4rem;border:1px solid var(--color-border);border-radius:10px;padding:0 .7rem;background:var(--color-background);color:var(--color-text)}
.hub-filters__opts{border:0;margin:0 0 .35rem;padding:.2rem 0 0;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.hub-filters__legend{margin:0 0 .15rem;padding:0;font-size:.82rem;font-weight:700;color:var(--color-text-muted)}
.hub-layout .main-content form.hub-filters__form label.hub-check,.hub-filters__opts label.hub-check{display:flex!important;align-items:center;gap:.6rem;min-height:2rem;margin:0;padding:.1rem 0;font-size:.92rem;font-weight:550;color:var(--color-text);cursor:pointer}
.hub-check input[type=checkbox]{-webkit-appearance:none;appearance:none;width:1.15rem;height:1.15rem;margin:0;flex:0 0 auto;border:1.5px solid var(--color-border);border-radius:4px;background-color:var(--color-card-bg);background-repeat:no-repeat;background-position:center;background-size:.72rem;cursor:pointer}
.hub-check input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E")}
.hub-check input[type=checkbox]:focus-visible{outline:2px solid var(--color-button);outline-offset:2px}
.hub-filters__apply{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.4rem;margin-top:.55rem;padding:.5rem .9rem;border:0;border-radius:10px;background:var(--color-button);color:#fff;font-weight:750;cursor:pointer}
.hub-filters__apply:hover{filter:brightness(1.06)}
.hub-index__count{margin:0 0 .5rem;font-weight:650;color:var(--color-text-muted)}
.hub-active{margin:0 0 .9rem}
.hub-active__label{margin:0 0 .45rem;font-size:.82rem;font-weight:650;color:var(--color-text-muted)}
.hub-active__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}
.hub-active__pills{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0;flex:1 1 12rem}
.hub-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.2rem .55rem .2rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--color-text) 6%,var(--color-card-bg));color:var(--color-text);text-decoration:none;font-size:.88rem;font-weight:650}
.hub-chip:hover{background:color-mix(in srgb,var(--color-text) 10%,var(--color-card-bg))}
.hub-chip .hub-ico{width:14px;height:14px;color:var(--color-text-muted)}
.hub-chip__x{margin-left:.05rem;color:var(--color-text-muted);font-weight:700;line-height:1}
.hub-active__clear{margin-left:auto}
.hub-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;list-style:none;margin:.15rem 0 0;padding:0;color:var(--color-text-muted)}
.hub-stats strong{color:var(--color-text);margin-right:.25rem}
.hub-cities,.hub-cats,.hub-faq,.hub-nearby{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--hub-section-radius,12px);padding:1.45rem 1.4rem 1.55rem;margin:0 0 var(--hub-block-gap,1.45rem)}
.hub-cities h2,.hub-cats h2,.hub-faq h2,.hub-nearby h2{margin:0 0 1rem;font-size:1.15rem;color:var(--color-text)}
.hub-layout--v0{--hub-block-gap:1.45rem;--hub-section-radius:12px;--hub-band-pad-y:1.35rem}
.hub-layout--v1{--hub-block-gap:1.7rem;--hub-section-radius:8px;--hub-band-pad-y:1.55rem}
.hub-layout--health{--hub-block-gap:1.35rem}
.hub-layout--lodging{--hub-block-gap:1.6rem;--hub-section-radius:10px}
.hub-layout--food{--hub-block-gap:1.5rem;--hub-section-radius:14px}
.hub-layout--legal{--hub-block-gap:1.4rem;--hub-section-radius:6px}
.hub-layout--trades,.hub-layout--auto{--hub-block-gap:1.3rem}
.hub-layout--beauty{--hub-block-gap:1.55rem;--hub-section-radius:16px}
.hub-layout .hub-band--home .hub-band__inner{padding-top:var(--hub-band-pad-y,1.35rem);padding-bottom:var(--hub-band-pad-y,1.35rem)}
.hub-city-grid,.hub-cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;list-style:none;margin:0;padding:0}
/* Home cities A–Z compacto (hub): filas por letra, texto corrido sin li/a-cards. */
.hub-az-row{display:flex;align-items:flex-start;gap:.85rem}
.hub-az-letter{flex:0 0 1.6rem;min-width:1.6rem;font-weight:800;font-size:1.02rem;line-height:1.55;color:var(--color-text);text-align:left}
.hub-az-cities{flex:1 1 auto;min-width:0;line-height:1.55;font-size:.95rem;color:var(--color-text-muted);word-break:break-word;overflow-wrap:anywhere}
.hub-az-cities a{color:var(--color-text);text-decoration:none;font-weight:600}
.hub-az-cities a:hover{color:var(--color-primary);text-decoration:underline}
.hub-az-row + .hub-az-row{margin-top:.2rem}
.hub-index{padding-bottom:.85rem}
.hub-index .hub-card{margin-bottom:0}
.hub-city-grid a,.hub-cat-tiles a{display:flex;justify-content:space-between;gap:.4rem;align-items:center;min-height:2.6rem;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:10px;text-decoration:none;color:var(--color-text);background:var(--color-background);font-weight:650}
.hub-city-grid a:hover,.hub-cat-tiles a:hover{border-color:var(--color-primary);color:var(--color-primary)}
.hub-city-grid__n,.hub-cat-tiles__n{color:var(--color-text-muted);font-size:.85rem}
.hub-faq details{border-top:1px solid var(--color-border);padding:.7rem 0}
.hub-faq details:first-of-type{border-top:0}
.hub-faq summary{cursor:pointer;font-weight:700}
.hub-disclaimer{margin:.9rem 0 0;color:var(--color-text-muted);font-size:.9rem}
.hub-card{display:flex;flex-direction:column;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.15rem 1.25rem 1.2rem;margin:0;min-width:0;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 5%,transparent);box-sizing:border-box}
.hub-card__main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.hub-card__body{min-width:0}
.hub-card__body>:last-child{margin-bottom:0}
.hub-card.is-hub-out,.hub-card[hidden]{display:none!important}
.hub-layout .hub-card__media,.hub-card__media{display:block;flex:0 0 auto;margin:-1.15rem -1.25rem .9rem;height:128px;max-height:128px;border-radius:12px 12px 0 0;overflow:hidden;background:var(--color-background);line-height:0}
.hub-layout .hub-card__media img,.hub-layout.saas-body .single-post .hub-card__media img,.hub-layout .single-post .hub-card img,.hub-card__media img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center;color:transparent;font-size:0}
.hub-card__media:not(:has(img)),.hub-card__media img[src=""]{display:none}
.hub-featured{margin:var(--hub-block-gap,1.75rem) 0 2rem;display:grid;grid-template-columns:1fr;gap:1.15rem;align-items:stretch}
.hub-featured h2{margin:0;font-size:1.25rem;grid-column:1/-1}
.hub-layout .hub-featured .hub-card--compact .hub-card__main,.hub-layout .hub-featured .hub-card-list--home .hub-card__main{flex-direction:column!important;align-items:stretch!important}
.hub-layout .hub-featured>.hub-card-list{grid-column:1/-1}
.hub-card-list--home{display:grid;grid-template-columns:1fr;gap:1.15rem}
.hub-layout .hub-card,.hub-card{overflow:visible}
.hub-layout .hub-card__top,.hub-card__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.35rem .55rem;margin:0 0 .4rem;min-height:1.2rem;min-width:0;max-width:100%;overflow:visible}
.hub-card__status{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:750;flex:0 0 auto;white-space:nowrap}
.hub-card__dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor}
.hub-card__status--open{color:var(--hub-open)}
.hub-card__status--closed{color:var(--hub-closed)}
.hub-card__title{margin:0 0 .4rem;font-size:1.15rem;line-height:1.25;font-weight:800}
.hub-card__title a{color:var(--color-text);text-decoration:none}
.hub-layout .hub-card__rating,.hub-card__rating{margin:0;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.35rem;margin-left:0;flex:0 0 auto;white-space:nowrap;overflow:visible}
.hub-card__score{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-height:1.35rem;padding:.18rem .55rem .18rem .4rem;border-radius:999px;background:var(--color-button);color:#fff;font-size:.78rem;font-weight:750;line-height:1;white-space:nowrap;flex:0 0 auto}
.hub-card__score .hub-ico--star{color:#fff;width:12px;height:12px}
.hub-card__score-n{display:inline-block}
.hub-layout .hub-card__reviews,.hub-card__reviews{color:var(--color-text-muted);font-size:.85rem;font-weight:500;padding:0;flex:1 0 100%;white-space:nowrap;overflow:visible;text-overflow:unset}
.hub-card__addr{margin:0 0 .7rem;display:flex;align-items:flex-start;gap:.4rem;color:var(--color-text-muted);font-size:.92rem;line-height:1.35}
.hub-card__addr .hub-ico{margin-top:.15rem}
.hub-card__dist{margin:0 0 .7rem;display:flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.3;font-weight:500}
.hub-card__addr + .hub-card__dist{margin-top:-.4rem}
.hub-card__dist .hub-ico{flex-shrink:0}
.hub-card__cat{display:inline-block;background:var(--color-background);color:var(--color-text);font-size:.75rem;font-weight:650;padding:.2rem .55rem;border-radius:999px;margin-bottom:.55rem}
.hub-card__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:auto;padding-top:.85rem;border-top:1px solid var(--color-border)}
.hub-card[data-hub-cta="side"] .hub-card__main{flex-direction:row;align-items:flex-start;gap:1rem}
.hub-card[data-hub-cta="side"] .hub-card__body{flex:1 1 auto;min-width:0}
.hub-card[data-hub-cta="side"] .hub-card__footer{flex:0 0 auto;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:.5rem;margin-top:0;padding-top:0;padding-left:1rem;border-top:0;border-left:1px solid var(--color-border);min-width:8.2rem;width:max-content;max-width:11.5rem}
.hub-card[data-hub-cta="side"] .hub-card__link{width:100%;justify-content:center;white-space:nowrap}
.hub-layout .hub-index__split .hub-card-list:has([data-hub-cta="side"]),.hub-layout .hub-index__results .hub-card-list:has([data-hub-cta="side"]){grid-template-columns:1fr}
.hub-layout a.hub-card__link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.4rem;padding:.4rem .95rem;border-radius:10px;font-weight:750;text-decoration:none!important;box-sizing:border-box}
.hub-layout a.hub-card__link--view{background:var(--color-button)!important;color:#fff!important;border:1.5px solid transparent}
.hub-layout a.hub-card__link--call{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-card-bg))!important;color:var(--color-text)!important;border:1.5px solid var(--color-border)}
.hub-layout a.hub-card__link:hover{filter:brightness(1.05)}
.hub-badge{display:inline-block;font-size:.75rem;font-weight:750;padding:.18rem .5rem;border-radius:999px}
.hub-badge--open{background:color-mix(in srgb,var(--hub-open) 16%,var(--color-card-bg));color:var(--hub-open)}
.hub-badge--closed{background:color-mix(in srgb,var(--hub-closed) 12%,var(--color-card-bg));color:var(--hub-closed)}
.hub-layout .hub-band.hub-listing-hero,.hub-listing-hero{width:100%;max-width:none;margin:0 0 1.25rem;margin-left:0;margin-right:0;padding:2.75rem 0 3.1rem;background:radial-gradient(ellipse 70% 90% at 92% 6%,color-mix(in srgb,var(--color-primary) 26%,transparent),transparent 58%),color-mix(in srgb,var(--color-header-footer) 88%,var(--color-primary))}
.hub-listing-hero__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(15.5rem,.72fr);gap:1.4rem 2rem;align-items:center;direction:ltr}
html[lang=he] .hub-listing-hero__info,html[lang=ar] .hub-listing-hero__info,html[lang=ur] .hub-listing-hero__info{direction:rtl;text-align:right}
.hub-listing-hero__grid:not(:has(.hub-listing-hero__cta-col)){grid-template-columns:1fr}
.hub-listing-hero__info{min-width:0}
.hub-listing-hero .hub-band__crumbs{margin:0 0 1.1rem;justify-content:flex-start}
.hub-listing-hero h1{margin:0 0 .7rem;font-size:clamp(1.7rem,3.4vw,2.35rem);color:#fff}
.hub-listing-hero__meta,.hub-listing-hero__rating,.hub-listing-hero__hours,.hub-listing-hero__addr{margin:0 0 .55rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;color:color-mix(in srgb,#fff 82%,transparent)}
.hub-listing-hero__cat{color:color-mix(in srgb,var(--color-primary) 40%,#fff);font-weight:650}
.hub-listing-hero__sep{opacity:.45}
.hub-listing-hero__rating strong{color:#fff}
.hub-listing-hero .hub-ico--star{color:var(--color-button)}
.hub-listing-hero__reviews{color:color-mix(in srgb,#fff 68%,transparent)}
.hub-listing-hero__addr{align-items:flex-start}
.hub-listing-hero__addr strong{display:block;color:#fff;font-weight:650}
.hub-listing-hero .hub-card__status{padding:.18rem .7rem;border-radius:999px;background:color-mix(in srgb,#fff 8%,transparent);border:1px solid color-mix(in srgb,#fff 14%,transparent)}
.hub-listing-hero .hub-card__status--open{color:color-mix(in srgb,var(--hub-open) 30%,#fff)}
.hub-listing-hero .hub-card__status--closed{color:color-mix(in srgb,var(--hub-closed) 35%,#fff)}
.hub-listing-hero__cta-col{display:flex;flex-direction:column;gap:.65rem;padding-left:1.4rem;border-left:1px solid color-mix(in srgb,#fff 16%,transparent)}
.hub-layout a.hub-listing-cta{display:flex;align-items:center;gap:.75rem;min-height:3.35rem;padding:.7rem 1rem;border-radius:12px;text-decoration:none!important;box-sizing:border-box}
.hub-layout a.hub-listing-cta--call{background:var(--color-button);color:#fff!important;border:1.5px solid transparent}
.hub-layout a.hub-listing-cta--maps{background:color-mix(in srgb,#fff 10%,transparent);color:#fff!important;border:1.5px solid color-mix(in srgb,#fff 22%,transparent)}
.hub-listing-cta--maps .hub-btn__arrow{color:color-mix(in srgb,var(--color-primary) 45%,#fff)}
.hub-listing-cta span{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}
.hub-listing-cta__kicker{font-size:.78rem;font-weight:550;opacity:.86}
.hub-listing-cta strong{font-size:1.02rem;font-weight:750}
.hub-listing-cta .hub-btn__arrow{flex:0 0 auto;font-weight:700}
.hub-listing-cta .hub-btn__icon,.hub-listing-cta .hub-ico{flex:0 0 auto}
.hub-layout .post-grid.hub-card-list,.hub-layout .hub-card-list,.hub-layout .hub-card-list--home,.hub-layout .hub-featured .hub-card-list,.hub-layout .hub-nearby .hub-card-list,.hub-layout .hub-index .hub-card-list,.hub-layout .hub-index__results .hub-card-list,.hub-layout .search-results-list.hub-card-list{display:grid;grid-template-columns:1fr;gap:1.15rem;align-items:stretch}
.hub-layout .hub-nearby .hub-card-list{grid-template-columns:1fr}
.hub-layout .post-grid-compact,.hub-layout .directory-empty{display:none}
.hub-layout .hub-index + .post-grid-container,.hub-layout .category-header:has(+ .hub-index){display:none}
.hub-layout .hub-review-stars{--hub-star:color-mix(in srgb,var(--color-button) 40%,gold);display:inline-block;float:right;margin:0 0 .15rem .5em;letter-spacing:.06em;font-size:1rem;line-height:1;font-family:system-ui,sans-serif}
.hub-layout .hub-review-stars::before{content:"★★★★★";background:linear-gradient(90deg,var(--hub-star) calc(var(--p,0)*20%),color-mix(in srgb,var(--hub-star) 28%,transparent) calc(var(--p,0)*20%));-webkit-background-clip:text;background-clip:text;color:transparent}
.hub-layout .review-title-ratings .ratings{display:none}
.hub-layout .hub-review-lang{display:inline-block;margin-left:.4em;padding:.08em .42em;font-size:.65rem;font-weight:750;letter-spacing:.05em;line-height:1.2;border-radius:4px;border:1px solid var(--color-border);color:var(--color-text-muted);vertical-align:middle;text-transform:uppercase}
.hub-layout .hub-review-quote{margin:0;padding:0;border:0;font:inherit;color:inherit}
.hub-layout section#reviews .hub-review-empty,.hub-review-empty{margin:.15rem 0 .85rem;text-align:center;color:var(--color-text-muted);font-size:.95rem;line-height:1.45}
.hub-layout section#reviews .hub-review-form,.hub-review-form{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:1rem 0 0;padding:.25rem 0 0;background:transparent;border:0;box-shadow:none}
.hub-layout .hub-review-form__cta,.hub-review-form__cta{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:min(22rem,100%);min-height:2.5rem;padding:.55rem 1.25rem;border:0;border-radius:10px;background:var(--color-button);color:#fff;font:inherit;font-weight:650;cursor:pointer;box-sizing:border-box}
.hub-review-form__cta:hover{background:var(--color-button-hover,var(--color-button))}
.hub-review-form__ok{margin:0;font-weight:650;color:var(--color-text);text-align:center;max-width:36rem}
.hub-review-form__dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:.75rem;border:0;background:transparent;z-index:80}
.hub-review-form__dialog[open],.hub-review-form__dialog.is-open{display:flex;align-items:center;justify-content:center}
.hub-review-form__dialog::backdrop{background:rgba(15,23,42,.48)}
.hub-review-form__dialog.is-open{background:rgba(15,23,42,.48)}
.hub-review-form__panel{width:min(32rem,100%);max-height:calc(100dvh - 1.5rem);overflow:auto;padding:1.25rem 1.3rem 1.4rem;background:var(--color-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 24px 64px color-mix(in srgb,var(--color-text) 22%,transparent);box-sizing:border-box}
.hub-review-form__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 .65rem}
.hub-review-form__head h2{margin:0;font-size:1.15rem;font-weight:800;color:var(--color-text);line-height:1.25}
.hub-review-form__x{appearance:none;flex:0 0 auto;margin:-.15rem -.15rem 0 0;padding:.15rem .4rem;border:0;background:transparent;color:var(--color-text-muted);font-size:1.7rem;line-height:1;cursor:pointer}
.hub-review-form__lead{margin:0 0 1rem;font-size:.95rem;line-height:1.5;color:var(--color-text-muted)}
.hub-review-form__form{display:flex;flex-direction:column;gap:.85rem}
.hub-review-form__field{display:flex;flex-direction:column;gap:.35rem;font-weight:650;font-size:.9rem}
.hub-review-form__field input,.hub-review-form__field textarea{font:inherit;font-weight:450;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-background);color:var(--color-text);box-sizing:border-box;width:100%}
.hub-review-form__field input:focus,.hub-review-form__field textarea:focus{outline:2px solid var(--color-button);outline-offset:1px}
.hub-review-form__stars{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .9rem}
.hub-review-form__stars legend{padding:0;margin:0 .4rem 0 0;font-weight:650;font-size:.9rem}
.hub-review-form__stars label{font-weight:550}
.hub-review-form__form button[type=submit]{align-self:flex-start;min-height:2.4rem;padding:.55rem 1.1rem;border:0;border-radius:10px;background:var(--color-button);color:#fff;font-weight:650;cursor:pointer}
@media (max-width:700px){
  .hub-review-form__dialog{padding:.5rem}
  .hub-review-form__panel{width:100%;max-height:calc(100dvh - 1rem)}
  .hub-layout .hub-review-form__cta,.hub-review-form__cta{width:auto;max-width:min(20rem,calc(100% - .5rem))}
}
@media (min-width:700px){
  .hub-layout .post-grid.hub-card-list,.hub-layout .hub-card-list,.hub-layout .hub-card-list--home,.hub-layout .hub-featured .hub-card-list,.hub-layout .hub-index .hub-card-list,.hub-layout .hub-index__results .hub-card-list,.hub-layout .search-results-list.hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-nearby .hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-featured:not(:has(.hub-card-list)){grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-featured>h2,.hub-layout .hub-featured>.hub-card-list{grid-column:1/-1}
  .hub-layout .hub-card__media,.hub-card__media{height:160px;max-height:160px}
  .hub-layout .hub-facet-index .hub-family-index__list,.hub-layout .hub-brand-index .hub-family-index__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-index__split .hub-card-list:has([data-hub-cta="side"]),.hub-layout .hub-index__results .hub-card-list:has([data-hub-cta="side"]){grid-template-columns:1fr}
}
@media (min-width:1100px){
  .hub-layout .post-grid.hub-card-list,.hub-layout .hub-card-list,.hub-layout .hub-card-list--home,.hub-layout .hub-featured .hub-card-list,.hub-layout .hub-index .hub-card-list,.hub-layout .hub-index__results .hub-card-list,.hub-layout .search-results-list.hub-card-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hub-layout .hub-nearby .hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-featured:not(:has(.hub-card-list)){grid-template-columns:repeat(3,minmax(0,1fr))}
  .hub-layout .hub-card-list:has([data-hub-cta="side"]),.hub-layout .hub-featured:has(>.hub-card[data-hub-cta="side"]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-layout .hub-index__split .hub-card-list:has([data-hub-cta="side"]),.hub-layout .hub-index__results .hub-card-list:has([data-hub-cta="side"]){grid-template-columns:1fr}
}
.hub-layout .hub-nearby .hub-card-list,.hub-layout .hub-nearby .hub-card-list:has([data-hub-cta="side"]){grid-template-columns:1fr}
@media (min-width:900px){.hub-layout .hub-nearby .hub-card-list,.hub-layout .hub-nearby .hub-card-list:has([data-hub-cta="side"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .hub-card[data-hub-cta="side"] .hub-card__main{flex-direction:column;align-items:stretch;gap:0}
  .hub-card[data-hub-cta="side"] .hub-card__footer{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;width:100%;max-width:none;margin-top:.75rem;padding-top:.8rem;padding-left:0;border-left:0;border-top:1px solid var(--color-border)}
  .hub-card[data-hub-cta="side"] .hub-card__link{width:auto;flex:1 1 7rem;white-space:normal}
}
@media (max-width:768px){
  .hub-layout a.hub-brand-card,.hub-brand-card{padding:.65rem .8rem .7rem}
  .hub-brand-card__name{font-size:.98rem}
  .hub-index__split{grid-template-columns:1fr}
  .hub-index__split>.hub-filters{position:static;max-height:none;overflow:visible}
  .hub-layout form.hub-search,.hub-layout .main-content form.hub-search,.hub-search{flex-direction:column;flex-wrap:nowrap}
  .hub-search__q,.hub-search__city,.hub-search button{flex:1 1 auto;min-width:0;max-width:none;width:100%}
  .hub-listing-hero__grid{grid-template-columns:1fr}
  .hub-listing-hero__cta-col{padding-left:0;border-left:0}
  .hub-listing-hero .hub-listing-facets{margin:1.2rem 0 .35rem;gap:.55rem .65rem}
  .hub-listing-hero .hub-listing-facets a{min-height:2.25rem;padding:.42rem 1rem}
  .hub-layout section#hours li,.hub-layout section#hours li.hub-hours-row{padding:.72rem .95rem}
  .hub-layout .saas-nav.main-nav{background:var(--color-card-bg);border-bottom:3px solid var(--color-primary)}
  .hub-layout .saas-header .saas-search{display:none!important}
  .hub-layout .saas-masthead-inner{grid-template-areas:"logo actions";grid-template-rows:auto}
  .hub-layout .hub-footer-grid{grid-template-columns:1fr;gap:1.25rem}
  .hub-layout .saas-nav .nav-list.hub-product-nav{display:none;flex-direction:column;align-items:stretch;gap:0}
  .hub-layout .saas-nav .nav-list.hub-product-nav.open{display:flex}
}
.hub-layout .hub-extras{margin:1.4rem 0 1.8rem;display:grid;gap:1.1rem}
.hub-layout .hub-extras__block{padding:1rem 1.1rem 1.1rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:12px}
.hub-layout .hub-extras__block h2{margin:0 0 .65rem;font-size:1.05rem;font-weight:750}
.hub-layout .hub-extras__map{overflow:hidden;padding:0}
.hub-layout .hub-extras__map h2{margin:1rem 1.1rem .55rem}
.hub-layout .hub-extras__map iframe{display:block;width:100%;height:220px;border:0}
.hub-layout .hub-extras__chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.hub-layout .hub-extras__chips li{padding:.28rem .65rem;border-radius:999px;border:1px solid var(--color-border);font-size:.88rem}
.hub-layout .hub-extras__links{display:flex;flex-wrap:wrap;gap:.55rem .85rem;margin:0;padding:0;list-style:none}
.hub-layout .hub-extras__links a{font-weight:650}
.hub-layout .hub-extras__price{margin:0;font-weight:650}
.hub-layout .hub-extras__hours{list-style:none;margin:0;padding:0;display:grid;gap:.28rem}
.hub-layout .hub-extras__hours li{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem}
.hub-layout .static-page .page-content:has(.hub-contact),
.hub-layout .static-page .page-content:has([data-trust-chrome]){background:transparent;box-shadow:none;border-radius:0;padding:1.25rem 0 2rem;margin-top:1rem}
.hub-layout .static-page .page-content h2,
.hub-layout .static-page .page-content h3{border-bottom:0;padding-bottom:0}
.hub-layout .hub-contact{max-width:42rem;margin:0 auto;display:grid;gap:1.15rem}
.hub-layout .hub-contact__lead{margin:0;font-size:1.05rem;line-height:1.65;color:var(--color-text)}
.hub-layout .hub-contact__block{margin:0}
.hub-layout .hub-contact__block h2{margin:0 0 .55rem;font-size:1.15rem;font-weight:750;border:0;padding:0}
.hub-layout .hub-contact__block p{margin:0;line-height:1.65}
.hub-layout .hub-contact__email a{font-weight:650;word-break:break-word}
.hub-layout .hub-contact[data-hub-contact="split"]{max-width:52rem;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:720px){
  .hub-layout .hub-contact[data-hub-contact="split"]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
  .hub-layout .hub-contact[data-hub-contact="split"] .hub-contact__lead{grid-column:1/-1}
}
.hub-layout .hub-contact[data-hub-contact="band"] .hub-contact__email{padding:1rem 1.15rem;border-left:3px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}
.hub-layout .hub-contact[data-hub-contact="cards"] .hub-contact__block{padding:1.05rem 1.15rem;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:calc(12px * var(--variation-border-radius,1));box-shadow:0 1px 2px var(--color-card-shadow)}
.hub-layout .hub-contact[data-hub-contact="cards"] .hub-contact__lead{padding:0 .15rem}
.hub-layout .hub-contact[data-hub-contact="stack"] .hub-contact__hours p{opacity:.92}
.hub-layout .cms-contact{max-width:36rem;display:grid;gap:.85rem;margin:1rem 0 0}
.hub-layout .cms-contact__row{margin:0;display:grid;gap:.35rem}
.hub-layout .cms-contact__row label{font-weight:600}
.hub-layout .cms-contact__row input,.hub-layout .cms-contact__row textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border,#c9d0d8);border-radius:6px;font:inherit;box-sizing:border-box;background:var(--color-card-bg,#fff);color:var(--color-text)}
.hub-layout .cms-contact__actions{margin:.25rem 0 0}
.hub-layout .cms-contact__actions button{cursor:pointer;padding:.7rem 1.15rem;border:0;border-radius:6px;background:var(--color-primary,#1a5f7a);color:#fff;font:inherit;font-weight:650}
.hub-layout .cms-contact__hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;margin:-1px!important;padding:0!important;border:0!important}
.hub-layout .cms-contact__ok{padding:.75rem 1rem;background:#e8f7ee;border:1px solid #b7e0c4;border-radius:6px}
.hub-layout .cms-contact__err{padding:.75rem 1rem;background:#fdeeee;border:1px solid #f0c2c2;border-radius:6px}
.hub-layout .cms-contact-wrap{margin:1.25rem 0 0}
.hub-layout .cms-contact__h{margin:0 0 .5rem;font-size:1.2rem;border:0;padding:0}
.hub-layout .cms-contact__lead{margin:0 0 .75rem;line-height:1.55}

/* ===================== hub home variants (anti-fingerprint HOME) =====================
 * Prefijo html .hub-layout: supera los empates de especificidad del <style> inline
 * de layout.php (mismos !important, orden de documento posterior). Solo HOME:
 * el wrapper .hub-home--vN solo existe en templates/directory/home.php. */
/* ---- v1: featured como filas compactas (nombre+dirección+CTA en línea, sin foto) ----
 * PISO DE VISIBILIDAD (fix 2026-09): la card debe LEERSE como tarjeta. Fondo de card,
 * borde visible, gap de fila ≥ .65rem y CTA alineado a la derecha; se oculta solo
 * foto/rating. Antes: bg transparent + borde hairline + gap .45rem = filas de texto
 * plano que «perdían las tarjetas» (zahnaerzteschweiz v1). */
html .hub-layout .hub-home--v1 .hub-featured>.hub-card-list{display:block!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card{display:block!important;margin:0 0 .65rem!important;padding:.7rem .9rem!important;border:1px solid var(--color-border)!important;border-radius:10px!important;box-shadow:none!important;background:var(--color-card-bg)!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card:hover{border-color:var(--color-primary)!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__media{display:none!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__top{display:none!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:.9rem!important;row-gap:.2rem!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__body{display:contents!important}
/* display:contents: title+addr en col 1 (apilados), footer en col 2. Evita título largo en la misma línea que la dirección. */
html .hub-layout .hub-home--v1 .hub-featured .hub-card__title{grid-column:1!important;margin:0!important;font-size:1.02rem!important;font-weight:750!important;min-width:0!important;max-width:100%!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__title a{color:var(--color-primary)!important;text-decoration:none!important;overflow-wrap:anywhere;word-break:break-word}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__title a:hover{text-decoration:underline!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__addr{grid-column:1!important;margin:0!important;font-size:.92rem!important;color:var(--color-text-muted)!important;min-width:0!important;max-width:100%!important}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__addr span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
html .hub-layout .hub-home--v1 .hub-featured .hub-card__dist,html .hub-layout .hub-home--v1 .hub-featured .hub-card__cat{display:none!important}
/* data-hub-cta=side impone width:max-content + max-width:11.5rem (columna vertical).
   v1 fuerza fila Appeler|Voir → ~228px > 184px y los botones se salen de la card (grandbio). */
html .hub-layout .hub-home--v1 .hub-featured .hub-card__footer{grid-column:2!important;grid-row:1 / span 2!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:.5rem!important;margin:0!important;padding:0!important;border:0!important;border-left:0!important;align-self:center!important;justify-content:flex-end!important;width:auto!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important}
/* Outline genérico para call; view recupera filled (si no: bg claro + color:#fff del --view = ilegible). */
html .hub-layout .hub-home--v1 .hub-featured .hub-card__link{min-height:1.9rem!important;padding:.25rem .65rem!important;font-size:.85rem!important;border:1px solid var(--color-border)!important;border-radius:8px!important;background:var(--color-background)!important;width:auto!important;max-width:none!important;flex:0 0 auto!important;white-space:nowrap!important;box-sizing:border-box!important}
html .hub-layout .hub-home--v1 .hub-featured a.hub-card__link--call{background:var(--color-background)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important}
html .hub-layout .hub-home--v1 .hub-featured a.hub-card__link--call:hover{border-color:var(--color-primary)!important;color:var(--color-primary)!important}
html .hub-layout .hub-home--v1 .hub-featured a.hub-card__link--view{background:var(--color-button)!important;color:#fff!important;border-color:transparent!important}
html .hub-layout .hub-home--v1 .hub-featured a.hub-card__link--view:hover{color:#fff!important;border-color:transparent!important;filter:brightness(1.06)}
/* ---- v2: featured en 2 columnas compactas; A–Z de ciudades a 2 columnas ---- */
html .hub-layout .hub-home--v2 .hub-featured .hub-card{padding:.8rem .9rem!important;box-shadow:none!important}
html .hub-layout .hub-home--v2 .hub-featured .hub-card__top{min-height:0!important;margin-bottom:.15rem!important}
html .hub-layout .hub-home--v2 .hub-cities{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 2.25rem!important;align-items:start!important}
html .hub-layout .hub-home--v2 .hub-cities>h2{grid-column:1/-1}
html .hub-layout .hub-home--v2 .hub-az-row{break-inside:avoid}
@media (max-width:699px){html .hub-layout .hub-home--v2 .hub-cities{grid-template-columns:minmax(0,1fr)!important}}
@media (min-width:700px){html .hub-layout .hub-home--v2 .hub-featured>.hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (min-width:1000px){html .hub-layout .hub-home--v2 .hub-featured>.hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* ---- v3: primera card featured como mixed-card (foto 2 col + datos); band neutro; A–Z con separadores ---- */
html .hub-layout .hub-home--v3 .hub-band--home{background:var(--color-header-footer)}
html .hub-layout .hub-home--v3 .hub-az-row{border-bottom:1px solid var(--color-border)}
html .hub-layout .hub-home--v3 .hub-az-row:last-child{border-bottom:0}
@media (min-width:700px){
html .hub-layout .hub-home--v3 .hub-featured>.hub-card-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html .hub-layout .hub-home--v3 .hub-featured .hub-card:first-child{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:.4rem 1.25rem!important;align-items:start!important}
html .hub-layout .hub-home--v3 .hub-featured .hub-card:first-child .hub-card__media{grid-column:1;height:190px!important;max-height:190px!important;margin:0!important;border-radius:10px!important}
html .hub-layout .hub-home--v3 .hub-featured .hub-card:first-child .hub-card__main{grid-column:2}
}
/* fin hub home variants */
