/* Homepage catalogue: a quiet, compact data row on the page grid. */
.business-refresh > .business-catalog-stats {
  width: calc(100% - 64px); max-width: 1276px;
  margin: 0 auto 36px; padding: 24px 0;
  background: #fff; border-block: 1px solid #e1e9e4; border-radius: 0;
}
.business-catalog-stats > div { gap: 14px; justify-content: center; border-color:#e1e9e4; }
.business-catalog-stats .business-number {
  font-size: 40px; font-weight: 700; letter-spacing: -1.6px; color:#153e33;
}
.business-catalog-stats > div > span:last-child { font-size:13px; font-weight:500; color:#687b73; }
/* FAQ is an editorial list rather than a bank of large grey cards. */
.business-refresh > .faq-section {
  width:calc(100% - 64px); max-width:1276px;
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);
  align-items:start; gap:80px; margin:54px auto; padding:24px 0;
  background:#fff; border:0; border-radius:0;
}
.business-refresh .faq-section h2 { font-size:clamp(26px,2.5vw,34px); line-height:1.5; font-weight:700; letter-spacing:-.8px; max-width:390px; margin:4px 0 14px; }
.business-refresh .faq-section > div > p { max-width:360px; font-size:14px; line-height:1.85; margin:0 0 24px; }
.business-refresh .faq-section .text-link { display:inline-flex; gap:12px; color:#176549!important; font-weight:600; border-bottom:1px solid #b9cec1; padding-bottom:7px; }
.business-refresh .faq-section > div + div { counter-reset:home-faq; border-top:1px solid #dce6df; margin-top:0; }
.business-refresh .faq-section .faq-item { background:transparent; border:0; border-bottom:1px solid #dce6df; border-radius:0; margin:0; padding:0; box-shadow:none; }
.business-refresh .faq-section summary { display:grid; grid-template-columns:28px minmax(0,1fr) 30px; align-items:center; column-gap:14px; padding:22px 0; font-size:16px; font-weight:600; line-height:1.6; list-style:none; }
.business-refresh .faq-section summary::-webkit-details-marker { display:none; }
.business-refresh .faq-section summary:before { counter-increment:home-faq; content:counter(home-faq,decimal-leading-zero); color:#779181; font-size:12px; font-weight:500; }
.business-refresh .faq-section summary:after { position:static; display:grid; place-items:center; content:'+'; width:30px; height:30px; border:1px solid #d6e4da; border-radius:50%; font-size:21px; line-height:1; color:#176549; background:#f6f9f6; }
.business-refresh .faq-section details[open] summary:after { content:'−'; color:white; background:#246c50; border-color:#246c50; }
.business-refresh .faq-section details p { margin:0 44px 12px; font-size:14px; line-height:1.9; }
.business-refresh .faq-section details > a { display:inline-block; margin:0 44px 22px; font-size:13px; color:#176549; }
.business-refresh .faq-section summary:focus-visible { outline:2px solid #246c50; outline-offset:4px; }
/* Six categories, two consistent rows. */
.business-refresh .home-category-articles .blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.direct-contact-dialog { width:min(460px,calc(100vw - 32px))!important; max-width:calc(100vw - 32px); padding:32px!important; border:1px solid #e2e9e3!important; border-radius:18px!important; color:#173d31; }
.direct-contact-dialog .contact-body h2 { font-size:26px; margin:0 0 10px; }
.direct-contact-dialog .direct-contact-hint { color:#718077; font-size:14px; line-height:1.8; margin:0 0 20px; }
.direct-contact-dialog .direct-contact-qr { display:block; width:190px; height:190px; margin:12px auto 20px; }
.direct-contact-value { display:flex; align-items:center; gap:10px; background:#f2f7f3; border:1px solid #dfe9e1; border-radius:10px; padding:12px 14px; }
.direct-contact-value > span { flex:1; min-width:0; overflow-wrap:anywhere; font-size:16px; user-select:all; }
.direct-contact-copy { flex-shrink:0; color:#176549; font-size:13px; font-weight:600; background:#fff; border:1px solid #c7d9cd; border-radius:6px; padding:7px 10px; }
.direct-contact-dialog .direct-contact-action { display:block; text-align:center; background:#246c50; color:white!important; border-radius:8px; padding:12px; margin-top:14px; font-size:14px; font-weight:600; }
.direct-contact-dialog .direct-contact-status { min-height:20px; margin:10px 0 0; color:#246c50; font-size:13px; text-align:center; }
@media(max-width:1000px) { .business-refresh > .faq-section {gap:36px;} .business-refresh .home-category-articles .blog-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:767px) {
 .business-refresh > .business-catalog-stats {width:calc(100% - 40px); margin-bottom:24px; padding:22px 0;}
 .business-catalog-stats > div {flex-direction:column;gap:8px;padding:0 7px;text-align:center;}
 .business-catalog-stats .business-number {font-size:32px;}
 .business-catalog-stats > div > span:last-child {font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
 .business-refresh > .faq-section {width:calc(100% - 40px);display:grid;grid-template-columns:minmax(0,1fr);gap:26px;margin:30px auto;padding:12px 0;}
 .business-refresh .faq-section h2 {font-size:28px;}
 .business-refresh .faq-section summary {font-size:15px;padding:19px 0;column-gap:9px;}
 .business-refresh .home-category-articles .blog-grid {grid-template-columns:minmax(0,1fr);}
 .direct-contact-dialog {padding:26px 22px!important;}
}
/* Closed category menus must not contribute an off-screen layout box. */
.business-refresh .explorer-more:not([open]) > div { display:none!important; }
@media(max-width:767px) {
 .business-refresh .explorer-more > div { inset-inline-start:auto; inset-inline-end:0; max-width:calc(100vw - 40px); }
}
@media(max-width:767px) {
 .business-refresh .section-head, .business-refresh .explorer-results-heading { flex-wrap:wrap; gap:14px; }
 .business-refresh .section-head > div { flex:1 1 220px; min-width:0; }
 .business-refresh .explorer-results-heading > * { min-width:0; max-width:100%; }
 .business-refresh .explorer-card-info { min-width:0; }
 .business-refresh .explorer-card-info a { white-space:normal; overflow-wrap:anywhere; }
}
/* Accessible labels stay clipped in place, including in RTL documents. */
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; left:auto!important; top:auto!important; }
