/* Aspect Local SEO Page Pack v2.1.0 - aligned with Aspect Homepage & Service Page Blocks ahsb design system */

.ahsb-section,.ahsb-section *{box-sizing:border-box}
.ahsb-section{--ahsb-navy:#102a43;--ahsb-charcoal:#1f2933;--ahsb-teal:#1f7a8c;--ahsb-soft-blue:#eaf4f8;--ahsb-light:#f6f8fa;--ahsb-border:#e3e8eb;--ahsb-text:#53616b;font-family:inherit;color:var(--ahsb-charcoal)}
.ahsb-wrap{width:100%;max-width:1120px!important;margin:0 auto;padding:0 18px}
.ahsb-section{padding:64px 0;background:#fff;margin:0!important}
.ahsb-soft{background:var(--ahsb-light);border-top:1px solid var(--ahsb-border);border-bottom:1px solid var(--ahsb-border)}
.ahsb-hero,.ahsb-service-hero{padding:76px 0;background:radial-gradient(circle at 88% 15%,#d7eef2 0,#d7eef2 260px,transparent 261px),var(--ahsb-light)}
.ahsb-hero-grid,.ahsb-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:52px;align-items:center}
.ahsb-kicker{color:var(--ahsb-teal);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}
.ahsb-section h1,.ahsb-section h2,.ahsb-section h3{color:var(--ahsb-navy);font-weight:800;line-height:1.15;margin-top:0}
.ahsb-section h1{font-size:46px;letter-spacing:-.03em;margin-bottom:18px}
.ahsb-section h2{font-size:34px;margin-bottom:16px}
.ahsb-section h3{font-size:22px;margin-bottom:12px}
.ahsb-section p,.ahsb-trust p{color:var(--ahsb-text);font-size:16px;line-height:1.7;margin-top:0}
.ahsb-large{font-size:20px!important}
.ahsb-intro{max-width:860px;margin-bottom:30px}
.ahsb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ahsb-button,.ahsb-button:visited{display:inline-flex;align-items:center;justify-content:center;background:var(--ahsb-teal);color:#fff!important;padding:13px 22px;border-radius:4px;text-decoration:none!important;font-size:15px;font-weight:800;line-height:1;min-height:46px;border:0!important;box-shadow:none!important}
.ahsb-button:hover{background:var(--ahsb-navy);color:#fff!important}
.ahsb-button-dark,.ahsb-button-dark:visited{background:var(--ahsb-navy)}
.ahsb-button-dark:hover{background:var(--ahsb-teal)}
.ahsb-hero-panel,.ahsb-report-card,.ahsb-check-panel{background:#fff;border:1px solid var(--ahsb-border);border-radius:18px;padding:30px;box-shadow:0 12px 28px rgba(16,42,67,.08)}
.ahsb-mini-row{display:grid;grid-template-columns:42px 1fr;gap:16px;margin-top:22px}
.ahsb-mini-row>span,.ahsb-process span{display:inline-flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;background:var(--ahsb-soft-blue);color:var(--ahsb-teal);font-weight:900}
.ahsb-mini-row strong{display:block;color:var(--ahsb-navy);font-size:20px;margin-bottom:4px}
.ahsb-mini-row p{margin:0;font-size:14px}
.ahsb-grid{display:grid;gap:20px}
.ahsb-grid-2{grid-template-columns:repeat(2,1fr)}
.ahsb-grid-3{grid-template-columns:repeat(3,1fr)}
.ahsb-card,.ahsb-small-card{background:#fff;border:1px solid var(--ahsb-border);border-top:5px solid var(--ahsb-teal);border-radius:14px;padding:26px;box-shadow:0 10px 24px rgba(16,42,67,.06)}
.ahsb-card p:last-child,.ahsb-small-card p:last-child{margin-bottom:0}
.ahsb-small-card{border-top:0;padding:22px}
.ahsb-small-card strong{display:block;color:var(--ahsb-navy);font-size:18px;margin-bottom:8px}
.ahsb-tick-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.ahsb-tick-list li{position:relative;padding-left:28px;color:var(--ahsb-text);line-height:1.55}
.ahsb-tick-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--ahsb-teal);font-weight:900}
.ahsb-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ahsb-process{background:#fff;border:1px solid var(--ahsb-border);border-radius:14px;padding:22px}
.ahsb-process h3{font-size:20px;margin:12px 0 8px}
.ahsb-faq-list{display:grid;gap:12px}
.ahsb-faq-list details{background:#fff;border:1px solid var(--ahsb-border);border-radius:12px;padding:18px 20px}
.ahsb-faq-list summary{cursor:pointer;color:var(--ahsb-navy);font-weight:800}
.ahsb-faq-list p{margin:12px 0 0}
.ahsb-final-cta{background:var(--ahsb-navy)!important}
.ahsb-final-cta h2,.ahsb-final-cta p{color:#fff!important}
.ahsb-final-cta p{opacity:.86;max-width:780px}
.ahsb-final-cta .ahsb-button-dark{background:#fff!important;color:var(--ahsb-navy)!important}
.ahsb-final-cta .ahsb-button-dark:hover{background:var(--ahsb-teal)!important;color:#fff!important}

/* Local page additions using the same visual system */
.ahsb-local-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.ahsb-local-main{display:grid;gap:22px}
.ahsb-local-side{position:sticky;top:96px;display:grid;gap:18px}
.ahsb-local-side .ahsb-report-card a{display:block;text-decoration:none;color:var(--ahsb-text);font-size:14px;font-weight:700;padding:8px 0;border-top:1px solid var(--ahsb-border)}
.ahsb-cta-card{background:var(--ahsb-navy);border-radius:18px;padding:26px;color:#fff}
.ahsb-cta-card h3{color:#fff}
.ahsb-cta-card p{color:rgba(255,255,255,.82)}
.ahsb-tags{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}
.ahsb-tag{display:inline-flex;background:var(--ahsb-soft-blue);color:var(--ahsb-navy);border:1px solid #d4e9ef;border-radius:4px;padding:8px 11px;font-size:14px;font-weight:800}
.ahsb-local-disclaimer{background:var(--ahsb-light);border-top:1px solid var(--ahsb-border);padding:22px 0;color:var(--ahsb-text);font-size:13px;line-height:1.6}

@media(max-width:980px){
  .ahsb-hero-grid,.ahsb-split,.ahsb-local-layout{grid-template-columns:1fr}
  .ahsb-grid-3,.ahsb-grid-2,.ahsb-process-grid{grid-template-columns:repeat(2,1fr)}
  .ahsb-local-side{position:static}
}
@media(max-width:680px){
  .ahsb-section h1{font-size:36px}
  .ahsb-section h2{font-size:28px}
  .ahsb-service-hero{padding:52px 0}
  .ahsb-grid-3,.ahsb-grid-2,.ahsb-process-grid{grid-template-columns:1fr}
  .ahsb-button{width:100%}
}


/* v2.2.0 premium local-page refinements */
.ahsb-local-page .ahsb-service-hero{
  background:
    radial-gradient(circle at 88% 14%,#d7eef2 0,#d7eef2 260px,transparent 261px),
    linear-gradient(135deg,#f6f8fa 0%,#ffffff 58%,#f1f6f8 100%);
}

.ahsb-local-page .ahsb-hero-panel{
  border-top:5px solid var(--ahsb-teal);
}

.ahsb-local-page .ahsb-hero-actions{
  align-items:center;
}

.ahsb-local-page .ahsb-button-quote,
.ahsb-local-page .ahsb-button-quote:visited{
  background:var(--ahsb-teal)!important;
  color:#fff!important;
}

.ahsb-local-page .ahsb-button-quote:hover{
  background:var(--ahsb-navy)!important;
  color:#fff!important;
}

.ahsb-local-page .ahsb-text-link,
.ahsb-local-page .ahsb-text-link:visited{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  color:var(--ahsb-navy)!important;
  font-size:15px;
  font-weight:800;
  text-decoration:none!important;
  border-bottom:2px solid var(--ahsb-teal);
}

.ahsb-local-page .ahsb-text-link:hover{
  color:var(--ahsb-teal)!important;
}

/* Fix dark CTA panels so text is always readable, even if theme CSS interferes */
.ahsb-local-page .ahsb-cta-card{
  background:linear-gradient(145deg,#102a43,#153b5b)!important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(16,42,67,.12);
}

.ahsb-local-page .ahsb-cta-card,
.ahsb-local-page .ahsb-cta-card h2,
.ahsb-local-page .ahsb-cta-card h3,
.ahsb-local-page .ahsb-cta-card strong{
  color:#fff!important;
}

.ahsb-local-page .ahsb-cta-card p,
.ahsb-local-page .ahsb-cta-card li,
.ahsb-local-page .ahsb-cta-card span{
  color:rgba(255,255,255,.88)!important;
}

.ahsb-local-page .ahsb-cta-card .ahsb-button,
.ahsb-local-page .ahsb-cta-card .ahsb-button:visited{
  background:#1f7a8c!important;
  color:#fff!important;
}

.ahsb-local-page .ahsb-cta-card .ahsb-button:hover{
  background:#fff!important;
  color:#102a43!important;
}

/* Make final dark CTA readable and premium */
.ahsb-local-page .ahsb-final-cta{
  background:
    radial-gradient(circle at 18% 0%,rgba(31,122,140,.34),transparent 34%),
    linear-gradient(135deg,#102a43,#102f4b 55%,#153b5b)!important;
}

.ahsb-local-page .ahsb-final-cta h2,
.ahsb-local-page .ahsb-final-cta h3,
.ahsb-local-page .ahsb-final-cta p{
  color:#fff!important;
}

.ahsb-local-page .ahsb-final-cta p{
  opacity:.9!important;
}

.ahsb-local-page .ahsb-final-cta .ahsb-button,
.ahsb-local-page .ahsb-final-cta .ahsb-button:visited{
  background:#1f7a8c!important;
  color:#fff!important;
}

.ahsb-local-page .ahsb-final-cta .ahsb-button:hover{
  background:#fff!important;
  color:#102a43!important;
}

.ahsb-local-page .ahsb-final-cta .ahsb-button-dark,
.ahsb-local-page .ahsb-final-cta .ahsb-button-dark:visited{
  background:#fff!important;
  color:#102a43!important;
}

.ahsb-local-page .ahsb-final-cta .ahsb-button-dark:hover{
  background:#1f7a8c!important;
  color:#fff!important;
}

/* Tick-list spacing fix */
.ahsb-local-page .ahsb-tick-list{
  gap:12px!important;
}

.ahsb-local-page .ahsb-tick-list li{
  padding-left:34px!important;
  line-height:1.6!important;
}

.ahsb-local-page .ahsb-tick-list li:before{
  left:0!important;
  top:.08em!important;
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ahsb-soft-blue);
  color:var(--ahsb-teal);
  font-size:13px;
  font-weight:900;
}

/* Restore premium card depth without drifting from the main service pack */
.ahsb-local-page .ahsb-card,
.ahsb-local-page .ahsb-small-card,
.ahsb-local-page .ahsb-hero-panel,
.ahsb-local-page .ahsb-report-card{
  box-shadow:0 12px 28px rgba(16,42,67,.08)!important;
}

.ahsb-local-page .ahsb-check-panel{
  border-left:5px solid var(--ahsb-teal);
  padding:22px 24px!important;
}

/* Keep sidebar links calm and readable */
.ahsb-local-page .ahsb-local-side .ahsb-report-card a{
  color:var(--ahsb-text)!important;
}

.ahsb-local-page .ahsb-local-side .ahsb-report-card a:hover{
  color:var(--ahsb-teal)!important;
}

@media(max-width:680px){
  .ahsb-local-page .ahsb-text-link{
    justify-content:center;
    width:100%;
  }
}


/* v2.3.0 robust WordPress/theme override fixes */

/* Ensure the page can behave like the preview even inside a constrained theme page container */
body .ahsb-local-page{
  overflow:visible!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}

body .ahsb-local-page > .ahsb-service-hero,
body .ahsb-local-page > .ahsb-section,
body .ahsb-local-page > .ahsb-local-disclaimer{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Keep inner content at the same width as the main Aspect service pages */
body .ahsb-local-page .ahsb-wrap{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:18px!important;
  padding-right:18px!important;
}

/* Hero survey option number badges: force the 2 / 3 / £ blocks to display correctly */
body .ahsb-local-page .ahsb-mini-row{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:flex-start!important;
  margin-top:22px!important;
}

body .ahsb-local-page .ahsb-mini-row > span{
  display:inline-flex!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--ahsb-soft-blue)!important;
  color:var(--ahsb-teal)!important;
  font-weight:900!important;
  font-size:18px!important;
  line-height:1!important;
  text-align:center!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}

body .ahsb-local-page .ahsb-mini-row strong{
  display:block!important;
  color:var(--ahsb-navy)!important;
  font-size:20px!important;
  line-height:1.25!important;
  margin:0 0 4px!important;
}

body .ahsb-local-page .ahsb-mini-row p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* On-page sidebar: keep sticky and stop theme/layout rules from disabling it */
body .ahsb-local-page .ahsb-local-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:28px!important;
  align-items:start!important;
  overflow:visible!important;
}

body .ahsb-local-page .ahsb-local-main{
  display:grid!important;
  gap:22px!important;
  min-width:0!important;
}

body .ahsb-local-page .ahsb-local-side{
  position:sticky!important;
  top:110px!important;
  align-self:start!important;
  display:grid!important;
  gap:18px!important;
  width:300px!important;
  max-width:300px!important;
  min-width:0!important;
  overflow:visible!important;
}

/* Ensure sidebar and dark quote box text remains readable */
body .ahsb-local-page .ahsb-report-card,
body .ahsb-local-page .ahsb-cta-card{
  width:100%!important;
}

body .ahsb-local-page .ahsb-cta-card,
body .ahsb-local-page .ahsb-cta-card *{
  text-shadow:none!important;
}

body .ahsb-local-page .ahsb-cta-card h3{
  color:#fff!important;
}

body .ahsb-local-page .ahsb-cta-card p{
  color:rgba(255,255,255,.9)!important;
}

/* Main service cards: remove native bullets and keep only the custom tick */
body .ahsb-local-page .ahsb-tick-list,
body .ahsb-local-page .ahsb-tick-list ul{
  list-style:none!important;
  margin:16px 0 0!important;
  padding:0!important;
}

body .ahsb-local-page .ahsb-tick-list li{
  list-style:none!important;
  position:relative!important;
  padding-left:36px!important;
  margin:0!important;
  line-height:1.6!important;
  color:var(--ahsb-text)!important;
}

body .ahsb-local-page .ahsb-tick-list li::marker{
  content:""!important;
  display:none!important;
}

body .ahsb-local-page .ahsb-tick-list li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:.08em!important;
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  border-radius:50%!important;
  background:var(--ahsb-soft-blue)!important;
  color:var(--ahsb-teal)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:21px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Process boxes: force the attractive card layout and prevent text squeezing beside the number */
body .ahsb-local-page .ahsb-process-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}

body .ahsb-local-page .ahsb-process{
  display:block!important;
  background:#fff!important;
  border:1px solid var(--ahsb-border)!important;
  border-radius:14px!important;
  padding:22px!important;
  box-shadow:0 10px 24px rgba(16,42,67,.06)!important;
  min-width:0!important;
  text-align:left!important;
}

body .ahsb-local-page .ahsb-process span{
  display:inline-flex!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--ahsb-soft-blue)!important;
  color:var(--ahsb-teal)!important;
  font-weight:900!important;
  font-size:18px!important;
  line-height:1!important;
  margin:0 0 14px!important;
  padding:0!important;
  float:none!important;
  text-align:center!important;
}

body .ahsb-local-page .ahsb-process h3{
  display:block!important;
  clear:both!important;
  font-size:20px!important;
  margin:0 0 8px!important;
  color:var(--ahsb-navy)!important;
  line-height:1.2!important;
}

body .ahsb-local-page .ahsb-process p{
  display:block!important;
  clear:both!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:var(--ahsb-text)!important;
}

/* Keep lower sections wide, not squeezed by theme content widths */
body .ahsb-local-page .ahsb-final-cta .ahsb-wrap,
body .ahsb-local-page .ahsb-local-disclaimer .ahsb-wrap{
  max-width:1120px!important;
}

/* Improve top quote area */
body .ahsb-local-page .ahsb-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
  margin-top:24px!important;
}

/* Mobile */
@media(max-width:980px){
  body .ahsb-local-page .ahsb-local-layout{
    grid-template-columns:1fr!important;
  }
  body .ahsb-local-page .ahsb-local-side{
    position:static!important;
    width:100%!important;
    max-width:none!important;
  }
  body .ahsb-local-page .ahsb-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:680px){
  body .ahsb-local-page .ahsb-process-grid{
    grid-template-columns:1fr!important;
  }
  body .ahsb-local-page .ahsb-button,
  body .ahsb-local-page .ahsb-text-link{
    width:100%!important;
    justify-content:center!important;
  }
}
