/*
Theme Name: Angela Zarrabi Legal Services v3.15
Theme URI: https://zarrabilegal.co.uk/
Author: Angela Zarrabi Legal Services
Description: A refined cream, charcoal and gold WordPress block theme for a personal will-writing and estate-planning practice.
Version: 3.15.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: azls
*/

:root {
  --az-charcoal: #202427;
  --az-charcoal-soft: #292d30;
  --az-cream: #f8f4ed;
  --az-cream-deep: #f1e9df;
  --az-paper: #fffdf9;
  --az-gold: #b58231;
  --az-gold-soft: #c79a52;
  --az-text: #25282a;
  --az-muted: #66635f;
  --az-line: #d9c8ad;
  --az-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; }

/* Header */
.az-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(181,130,49,.14);
  background: var(--az-paper);
}
.az-header-inner { min-height: 118px; gap: 26px; }
.az-logo-stack { min-width: 280px; gap: 0 !important; }
/* The header uses the theme-rendered wordmark so it stays legible on the cream background.
   Any uploaded Site Logo is intentionally hidden here; it remains available in WordPress for other uses. */
.az-logo-stack .wp-block-site-logo { display: none !important; }
.az-wordmark { display:block !important; }
.az-wordmark { width: 260px; text-align: center; }
.az-wordmark-name {
  margin: 0;
  font-family: Cormorant, Georgia, serif;
  font-size: 2.05rem;
  line-height: 1;
  color: var(--az-charcoal);
  font-weight: 600;
}
.az-wordmark-rule { display:flex; align-items:center; gap:8px; margin:10px 0 8px; }
.az-wordmark-rule::before, .az-wordmark-rule::after { content:""; height:1px; background:var(--az-gold); flex:1; }
.az-wordmark-rule span { width:9px; height:9px; border:1.5px solid var(--az-gold); transform:rotate(45deg); display:block; }
.az-wordmark-sub { margin:0; letter-spacing:.34em; text-indent:.34em; font-size:.69rem; font-weight:600; color:var(--az-charcoal); }
.az-wordmark-tagline { margin:6px 0 0; font-size:.70rem; line-height:1.25; font-weight:500; color:var(--az-gold); letter-spacing:.02em; }
.az-header-nav { flex: 1 1 auto; }
.az-header-nav .wp-block-navigation-item__content { text-decoration:none; color:var(--az-charcoal); padding:8px 0; }
.az-header-nav .wp-block-navigation-item__content:hover { color:var(--az-gold); }
.az-header-nav .current-menu-item > .wp-block-navigation-item__content,
.az-header-nav .current-menu-ancestor > .wp-block-navigation-item__content { color:var(--az-charcoal); position:relative; }
.az-header-nav .current-menu-item > .wp-block-navigation-item__content::after {
  content:""; position:absolute; left:0; right:0; bottom:1px; height:2px; background:var(--az-gold);
}
.az-header-cta .wp-block-button__link { background:var(--az-gold) !important; color:#fff !important; border:1px solid var(--az-gold); white-space:nowrap; }
.az-header-cta .wp-block-button__link:hover { background:var(--az-charcoal) !important; border-color:var(--az-charcoal); }

/* Home hero */
.az-home-hero { overflow:hidden; background:var(--az-cream); }
.az-hero-columns { min-height: 540px; gap:0 !important; }
.az-hero-copy-col { display:flex; align-items:center; }
.az-hero-copy-wrap { max-width: 560px; padding:74px 42px 74px 4px; }
.az-home-hero h1 { font-size:clamp(3.3rem,5.25vw,5.35rem); line-height:.96; margin:0 0 30px; letter-spacing:-.02em; }
.az-hero-ornament { display:flex; align-items:center; gap:12px; max-width:330px; margin:0 0 30px; }
.az-hero-ornament::before, .az-hero-ornament::after { content:""; height:1px; background:var(--az-gold); flex:1; }
.az-hero-ornament span { width:10px; height:10px; border:2px solid var(--az-gold); transform:rotate(45deg); }
.az-hero-copy { font-size:1.14rem; line-height:1.72; max-width:530px; margin-bottom:34px; }
.az-hero-buttons { gap:18px; }
.az-hero-buttons .wp-block-button__link { min-width:168px; text-align:center; }
.az-button-outline .wp-block-button__link { background:transparent !important; color:var(--az-charcoal) !important; border:1px solid var(--az-gold) !important; }
.az-button-outline .wp-block-button__link:hover { background:var(--az-gold) !important; color:#fff !important; }
.az-hero-photo-col { min-height:540px; }
.az-hero-photo { width:100%; min-height:540px; height:100%; background-image:url('assets/images/home-consultation.jpg'); background-size:cover; background-position:center center; }

/* Service strip */
.az-service-strip { background:var(--az-charcoal); color:#fff; }
.az-service-columns { gap:0 !important; }
.az-service-item { min-height:310px; display:flex; align-items:center; justify-content:center; text-align:center; padding:40px 54px; position:relative; }
.az-service-item + .az-service-item::before { content:""; position:absolute; left:0; top:42px; bottom:42px; width:1px; background:rgba(199,154,82,.72); }
.az-service-icon { width:56px; height:56px; margin:0 auto 12px; color:var(--az-gold-soft); }
.az-service-icon svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.az-service-item h3 { color:#fff !important; font-size:1.75rem; margin:0 0 10px; }
.az-service-item p { color:#f7f4ef; max-width:250px; margin:0 auto; line-height:1.65; font-size:.98rem; }
.az-service-item a { color:inherit; text-decoration:none; }
.az-service-item a:hover h3 { color:var(--az-gold-soft) !important; }

/* About teaser — intentionally text-led: only one photo of Angela on the homepage */
.az-home-about { padding:74px 24px 72px !important; background:var(--az-paper); }
.az-home-about-inner { max-width:700px; text-align:center; margin:auto; }
.az-home-about h2 { font-size:clamp(2.35rem,4vw,3.45rem); margin:0; }
.az-about-ornament { display:flex; align-items:center; gap:12px; max-width:360px; margin:18px auto 22px; }
.az-about-ornament::before, .az-about-ornament::after { content:""; height:1px; background:var(--az-gold); flex:1; }
.az-about-ornament span { width:9px; height:9px; border:1.6px solid var(--az-gold); transform:rotate(45deg); }
.az-home-about p { max-width:610px; margin-left:auto; margin-right:auto; color:#44413d; }

/* Appointment strip */
.az-appointment-strip { background:var(--az-cream-deep); border-top:1px solid rgba(181,130,49,.12); border-bottom:1px solid rgba(181,130,49,.12); }
.az-appointment-inner { min-height:94px; gap:26px; }
.az-appointment-icon { width:48px; height:48px; color:var(--az-gold); flex:0 0 48px; }
.az-appointment-icon svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.45; }
.az-appointment-copy p { margin:.08rem 0; }
.az-appointment-copy .az-gold-copy { color:#9b6c24; font-family:Cormorant, Georgia, serif; font-size:1.35rem; font-weight:600; }

/* General pages */
.az-section { padding-top:82px !important; padding-bottom:82px !important; }
.az-eyebrow { letter-spacing:.16em; text-transform:uppercase; font-size:.75rem; font-weight:600; color:var(--az-gold); }
.az-card { height:100%; border:1px solid #e1d5c4; background:var(--az-paper); box-shadow:0 14px 40px rgba(32,36,39,.045); }
.az-feature-image img, .az-about-portrait img { width:100%; height:auto; display:block; }
.az-faq .wp-block-details { border-top:1px solid #ddd1c1; padding:22px 0; margin:0; }
.az-faq .wp-block-details:last-child { border-bottom:1px solid #ddd1c1; }
.az-faq summary { cursor:pointer; font-family:Cormorant, Georgia, serif; font-size:1.45rem; font-weight:600; color:var(--az-charcoal); }
.az-faq details[open] summary { color:#8d6428; }
.az-fee-row { border-bottom:1px solid #ddd1c1; padding:16px 0; }
.az-fees-page .az-fee-row { margin-bottom:0; align-items:center; }
.az-fees-page .az-fee-row p { margin:.25rem 0; }
.az-fees-page .az-fee-row .wp-block-column:last-child { text-align:right; }
.az-fee-note { margin:30px 0 54px; padding:22px 24px; background:var(--az-cream-deep); border-left:3px solid var(--az-gold); }
.az-fee-note p:first-child { margin-top:0; color:var(--az-charcoal); }
.az-fee-note p:last-child { margin-bottom:0; }
/* Keep scheme descriptions aligned with the rest of the fee-page content. */
.az-scheme-intro {
  width: 100%;
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 24px;
}
.az-fees-page h2 { margin-top:58px; }
.az-fees-page h2:first-of-type { margin-top:0; }
.az-fees-smallprint { margin-top:34px; color:var(--az-muted); line-height:1.65; }

/* Contact form */
.az-contact-page { background:var(--az-cream); }
.az-contact-grid { gap:64px !important; }
.az-contact-card { background:var(--az-paper); border:1px solid #e0d4c2; padding:36px; }
.az-contact-form { display:grid; gap:20px; }
.az-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.az-form-field { display:flex; flex-direction:column; gap:7px; }
.az-form-field label { font-weight:600; font-size:.9rem; color:var(--az-charcoal); }
.az-form-field input, .az-form-field select, .az-form-field textarea {
  width:100%; border:1px solid #cfc3b2; background:#fff; padding:13px 14px; font:inherit; color:var(--az-text); border-radius:0;
}
.az-form-field textarea { min-height:160px; resize:vertical; }
.az-form-field input:focus, .az-form-field select:focus, .az-form-field textarea:focus { outline:2px solid rgba(181,130,49,.35); outline-offset:1px; border-color:var(--az-gold); }
.az-form-note { font-size:.82rem; color:var(--az-muted); line-height:1.55; }
.az-form-submit { justify-self:start; background:var(--az-charcoal); color:#fff; border:0; padding:14px 25px; cursor:pointer; font:600 .95rem Inter, sans-serif; }
.az-form-submit:hover { background:var(--az-gold); }
.az-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.az-form-alert { border-left:3px solid var(--az-gold); background:#f3eadb; padding:14px 16px; margin-bottom:20px; }
.az-form-alert.az-error { border-left-color:#9f4d3e; background:#f7ebe8; }

/* Footer */
.az-site-footer { background:var(--az-charcoal); color:#fff; }
.az-footer-main { padding:52px 24px 32px !important; }
.az-footer-columns { align-items:flex-start !important; gap:52px !important; }
.az-footer-brand .az-wordmark-name { color:#fff; font-size:2rem; }
.az-footer-brand .az-wordmark-sub { color:#fff; opacity:.9; }
.az-footer-brand .az-wordmark { width:270px; }
.az-footer-contact { padding-left:52px; border-left:1px solid rgba(199,154,82,.62); }
.az-footer-contact h3 { color:var(--az-gold-soft) !important; margin-top:0; }
.az-footer-contact p, .az-footer-contact a { color:#fff; text-decoration:none; }
.az-footer-contact a:hover { color:var(--az-gold-soft); }
.az-footer-links { padding-left:52px; border-left:1px solid rgba(199,154,82,.62); }
.az-footer-links h3, .az-footer-links .wp-block-heading, .az-footer-links .has-gold-color { color: var(--az-gold-soft) !important; }
.az-footer-links a { color:#fff; text-decoration:none; }
.az-footer-links a:hover { color:var(--az-gold-soft); }
.az-footer-regulatory { border-top:1px solid rgba(199,154,82,.35); padding:20px 24px 28px !important; }
.az-footer-regulatory p { color:#d7d5d0; font-size:.76rem; line-height:1.55; margin:.3rem 0; }
.az-footer-regulatory a { color:#e9d6b2; }

.wp-block-button__link { transition:background .18s ease, color .18s ease, border-color .18s ease; }
.wp-block-button:not(.az-header-cta):not(.az-button-outline) .wp-block-button__link:hover { background:var(--az-gold) !important; color:#fff !important; }

@media (max-width: 980px) {
  .az-header-inner { min-height:auto; padding-top:20px !important; padding-bottom:20px !important; }
  .az-header-nav { order:3; flex-basis:100%; }
  .az-header-nav .wp-block-navigation { justify-content:center !important; }
  .az-hero-columns { min-height:0; }
  .az-hero-copy-wrap { padding:60px 28px 60px 0; }
  .az-hero-photo-col, .az-hero-photo { min-height:500px; }
  .az-service-item { padding:36px 28px; }
  .az-footer-contact, .az-footer-links { padding-left:30px; }
}

@media (max-width: 781px) {
  .az-header-inner { justify-content:center !important; }
  .az-logo-stack { min-width:0; width:100%; justify-content:center !important; }
  .az-header-cta { display:none; }
  .az-header-nav { width:100%; }
  .az-header-nav .wp-block-navigation { justify-content:center !important; }
  .az-home-hero h1 { font-size:3.4rem; }
  .az-hero-copy-wrap { max-width:none; padding:54px 24px; }
  .az-hero-photo-col, .az-hero-photo { min-height:420px; }
  .az-service-item { min-height:auto; padding:42px 24px; }
  .az-service-item + .az-service-item::before { top:0; bottom:auto; left:12%; right:12%; width:auto; height:1px; }
  .az-home-about { padding-top:58px !important; padding-bottom:58px !important; }
  .az-appointment-inner { padding:22px 16px; align-items:flex-start !important; }
  .az-form-grid { grid-template-columns:1fr; }
  .az-fees-page .az-fee-row { gap:4px !important; }
  .az-fees-page .az-fee-row .wp-block-column:last-child { text-align:left; }
  .az-fee-note { padding:20px; margin-bottom:44px; }
  .az-contact-grid { gap:32px !important; }
  .az-footer-contact, .az-footer-links { padding-left:0; padding-top:28px; border-left:0; border-top:1px solid rgba(199,154,82,.45); }
}


/* Contact form submission feedback */
.az-form-status:empty { display:none; }
.az-form-status { margin-bottom:18px; }
.az-form-alert { border-left:3px solid var(--az-gold); background:#f4ecdf; padding:14px 16px; line-height:1.55; }
.az-form-alert.az-error { border-left-color:#8c3c36; background:#f8e9e6; }
.az-form-submit[disabled] { opacity:.65; cursor:wait; }
.az-contact-form.is-sending { opacity:.92; }

/* Privacy and cookie notice pages */
.az-policy-intro { max-width: 820px; }
.az-policy-section { max-width: 880px; margin-left: 0; }
.az-policy-section h2 { margin-top: 2.3rem; }
.az-policy-section h3 { margin-top: 1.6rem; }
.az-policy-section ul { padding-left: 1.35rem; }
.az-policy-section li { margin-bottom: .5rem; }
.az-policy-note { border-left: 3px solid var(--az-gold); background: var(--az-cream-deep); padding: 16px 18px; }
.az-form-privacy-link { font-weight: 600; }


/* Native FAQ anchor target */
.az-lpa-anchor { display:block; height:0; overflow:hidden; visibility:hidden; scroll-margin-top:150px; }

/* ------------------------------------------------------------
   Accessibility controls and mobile readability — v3.4
   ------------------------------------------------------------ */
.wp-block-column { min-width: 0; }
main p, main li, main h1, main h2, main h3, main h4, main a,
.az-footer-main p, .az-footer-main a { overflow-wrap: break-word; }

.az-accessibility-tools {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9998;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.az-accessibility-toggle {
  border: 2px solid var(--az-charcoal);
  border-radius: 999px;
  background: var(--az-paper);
  color: var(--az-charcoal);
  padding: 11px 16px;
  min-height: 46px;
  font: 600 .9rem/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: 0 5px 24px rgba(32,36,39,.18);
  cursor: pointer;
}
.az-accessibility-toggle:hover,
.az-accessibility-toggle:focus-visible {
  background: var(--az-charcoal);
  color: #fff;
}
.az-accessibility-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: min(340px, calc(100vw - 36px));
  padding: 20px;
  border: 1px solid #cfc3b2;
  background: #fffdf9;
  color: #202427;
  box-shadow: 0 12px 40px rgba(32,36,39,.22);
}
.az-accessibility-panel[hidden] { display: none !important; }
.az-accessibility-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}
.az-accessibility-panel h2 {
  margin: 0;
  font-family: Cormorant, Georgia, serif;
  font-size: 1.55rem;
  color: #202427;
}
.az-accessibility-close {
  width: 38px;
  height: 38px;
  border: 1px solid #a9a39a;
  background: #fff;
  color: #202427;
  cursor: pointer;
  font: 600 1.25rem/1 sans-serif;
}
.az-accessibility-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 9px 0;
}
.az-accessibility-row.az-text-row {
  grid-template-columns: 46px 1fr 46px;
  align-items: center;
}
.az-accessibility-control {
  min-height: 44px;
  border: 1px solid #7f7a72;
  background: #fff;
  color: #202427;
  padding: 9px 11px;
  cursor: pointer;
  font: 600 .88rem/1.25 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.az-accessibility-control:hover,
.az-accessibility-control:focus-visible,
.az-accessibility-control[aria-pressed="true"] {
  border-color: #202427;
  background: #202427;
  color: #fff;
}
.az-accessibility-size-status {
  text-align: center;
  font-size: .88rem;
  font-weight: 600;
}
.az-accessibility-help {
  margin: 13px 0 0;
  font-size: .78rem;
  line-height: 1.5;
  color: #55514c;
}
.az-accessibility-live {
  margin-top: 9px;
  min-height: 1.3em;
  font-size: .78rem;
  line-height: 1.4;
  color: #55514c;
}

/* A simpler reading mode: sans-serif throughout, with extra spacing. */
body.az-readable-font main,
body.az-readable-font main h1,
body.az-readable-font main h2,
body.az-readable-font main h3,
body.az-readable-font main h4,
body.az-readable-font main h5,
body.az-readable-font main h6,
body.az-readable-font main summary,
body.az-readable-font .az-site-header,
body.az-readable-font .az-site-footer {
  font-family: Arial, Helvetica, sans-serif !important;
}
body.az-readable-font main p,
body.az-readable-font main li,
body.az-readable-font main summary {
  letter-spacing: .018em;
  word-spacing: .075em;
  line-height: 1.78;
}

/* High-contrast mode. */
body.az-high-contrast,
body.az-high-contrast .wp-site-blocks,
body.az-high-contrast main,
body.az-high-contrast .az-home-hero,
body.az-high-contrast .az-home-about,
body.az-high-contrast .az-appointment-strip,
body.az-high-contrast .az-contact-page,
body.az-high-contrast .az-contact-card,
body.az-high-contrast .az-card,
body.az-high-contrast .has-cream-background-color,
body.az-high-contrast .has-cream-deep-background-color,
body.az-high-contrast .has-paper-background-color {
  background: #fff !important;
  color: #000 !important;
}
body.az-high-contrast main h1,
body.az-high-contrast main h2,
body.az-high-contrast main h3,
body.az-high-contrast main h4,
body.az-high-contrast main h5,
body.az-high-contrast main h6,
body.az-high-contrast main summary,
body.az-high-contrast main p,
body.az-high-contrast main li { color: #000 !important; }
body.az-high-contrast main a {
  color: #003f8f !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
}
body.az-high-contrast .az-service-strip,
body.az-high-contrast .az-site-footer {
  background: #000 !important;
  color: #fff !important;
}
body.az-high-contrast .az-service-strip h3,
body.az-high-contrast .az-service-strip p,
body.az-high-contrast .az-service-strip a,
body.az-high-contrast .az-site-footer h1,
body.az-high-contrast .az-site-footer h2,
body.az-high-contrast .az-site-footer h3,
body.az-high-contrast .az-site-footer p,
body.az-high-contrast .az-site-footer a { color: #fff !important; }
body.az-high-contrast .az-site-header {
  background: #fff !important;
  border-bottom-color: #000 !important;
}
body.az-high-contrast .az-wordmark-name,
body.az-high-contrast .az-wordmark-sub,
body.az-high-contrast .az-header-nav .wp-block-navigation-item__content { color: #000 !important; }
body.az-high-contrast .wp-block-button__link,
body.az-high-contrast .az-form-submit {
  background: #000 !important;
  color: #fff !important;
  border: 2px solid #000 !important;
}
body.az-high-contrast input,
body.az-high-contrast select,
body.az-high-contrast textarea {
  background: #fff !important;
  color: #000 !important;
  border: 2px solid #000 !important;
}
body.az-high-contrast .az-eyebrow,
body.az-high-contrast .az-gold-copy { color: #000 !important; }

/* Reflow the header earlier when visitors choose very large text. */
body.az-large-text .az-header-inner { flex-wrap: wrap !important; }
body.az-large-text .az-header-nav { order: 3; flex-basis: 100%; }
body.az-large-text .az-header-nav .wp-block-navigation { justify-content: center !important; }
body.az-large-text .az-header-cta { display: none; }

@media (max-width: 781px) {
  /* Extra breathing room so text does not appear clipped against phone edges. */
  .wp-site-blocks main .az-section {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .wp-site-blocks main .az-hero-copy-wrap,
  .wp-site-blocks main .az-home-about,
  .wp-site-blocks main .az-service-item,
  .wp-site-blocks main .az-appointment-inner {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
  .az-contact-card { padding: 28px 22px; }
  .az-faq summary { line-height: 1.28; }
  .az-accessibility-tools { right: 12px; bottom: 12px; }
}

@media (max-width: 420px) {
  .wp-site-blocks main .az-section,
  .wp-site-blocks main .az-hero-copy-wrap,
  .wp-site-blocks main .az-home-about,
  .wp-site-blocks main .az-service-item,
  .wp-site-blocks main .az-appointment-inner {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .az-contact-card { padding: 24px 18px; }
  .az-accessibility-toggle { padding: 10px 13px; }
}



/* ------------------------------------------------------------
   Guides & Information — v3.8
   ------------------------------------------------------------ */
.az-guide-index-intro,
.az-guide-article { max-width: 900px; margin-left: 0; }
.az-guide-card,
.az-guide-promo,
.az-guide-toc,
.az-guide-note {
  border: 1px solid var(--az-line);
  background: var(--az-paper);
  padding: 28px 30px;
}
.az-guide-card { margin-top: 30px; }
.az-guide-card h2,
.az-guide-promo h2 { margin-top: .25rem; }
.az-guide-card p:last-child,
.az-guide-promo p:last-child { margin-bottom: 0; }
.az-guide-promo {
  margin-top: 48px;
  border-left: 4px solid var(--az-gold);
}
.az-guide-promo .az-eyebrow { margin-bottom: .35rem; }
.az-guide-kicker {
  margin-top: -12px;
  margin-bottom: 32px;
  font-size: 1.18rem;
  color: var(--az-muted);
  font-style: italic;
}
.az-guide-toc { margin: 34px 0 46px; }
.az-guide-toc h2 { margin-top: 0; }
.az-guide-toc ul { margin-bottom: 0; padding-left: 1.25rem; }
.az-guide-toc li { margin: .45rem 0; }
.az-guide-section { scroll-margin-top: 150px; }
.az-guide-section h2 { margin-top: 2.4rem; }
.az-guide-note { margin: 30px 0; background: var(--az-cream-deep); }
.az-guide-note strong { color: var(--az-charcoal); }
.az-guide-disclaimer {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--az-line);
  font-size: .92rem;
  color: var(--az-muted);
}
.az-guide-meta { font-size: .86rem; color: var(--az-muted); }
body.az-high-contrast .az-guide-card,
body.az-high-contrast .az-guide-promo,
body.az-high-contrast .az-guide-toc,
body.az-high-contrast .az-guide-note {
  background: #fff !important;
  border: 2px solid #000 !important;
  color: #000 !important;
}
@media (max-width: 600px) {
  .az-guide-card,
  .az-guide-promo,
  .az-guide-toc,
  .az-guide-note { padding: 22px 20px; }
}

/* ------------------------------------------------------------
   Mobile navigation spacing — v3.9
   Keep the WordPress responsive menu comfortably inside phone edges.
   ------------------------------------------------------------ */
@media (max-width: 781px) {
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 24px 28px !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100%;
    padding-top: 48px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    max-width: 100%;
    padding-left: 12px !important;
    padding-right: 12px !important;
    align-items: flex-end !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
    max-width: 100%;
    justify-content: flex-end !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block;
    max-width: 100%;
    padding: 10px 8px !important;
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .az-header-nav .wp-block-navigation__responsive-container-close {
    right: 28px !important;
    top: 24px !important;
  }
}

@media (max-width: 420px) {
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .az-header-nav .wp-block-navigation__responsive-container-close {
    right: 22px !important;
  }
}



/* ------------------------------------------------------------
   FAQ mobile spacing — v3.10
   Keep FAQ questions and answers comfortably inside phone edges.
   ------------------------------------------------------------ */
@media (max-width: 781px) {
  .wp-site-blocks main .az-faq {
    width: calc(100% - 24px) !important;
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .wp-site-blocks main .az-faq .wp-block-details {
    padding-left: 4px;
    padding-right: 4px;
  }
  .wp-site-blocks main .az-faq .wp-block-details > p {
    max-width: 100%;
    overflow-wrap: break-word;
  }
}

@media (max-width: 420px) {
  .wp-site-blocks main .az-faq {
    width: calc(100% - 20px) !important;
  }
}

/* ------------------------------------------------------------
   FAQ mobile page inset — v3.11
   Apply the inset to the FAQ page's outer content group itself. This is
   deliberately stronger than the v3.10 align-wide rule because WordPress can
   preserve older block markup and apply its own alignwide sizing on phones.
   ------------------------------------------------------------ */
@media (max-width: 781px) {
  body.az-faq-page main .wp-block-post-content {
    overflow-x: clip;
  }

  body.az-faq-page main .wp-block-post-content > .wp-block-group:first-child {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box;
  }

  body.az-faq-page main .az-faq,
  body.az-faq-page main .az-faq.alignwide,
  body.az-faq-page main .wp-block-post-content > .wp-block-group:first-child .alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }

  body.az-faq-page main .az-faq .wp-block-details {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  body.az-faq-page main .az-faq summary,
  body.az-faq-page main .az-faq .wp-block-details > p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  body.az-faq-page main .wp-block-post-content > .wp-block-group:first-child {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }
}

/* ------------------------------------------------------------
   FAQ mobile inset — v3.13
   WordPress can preserve older FAQ block markup and full/wide alignment
   rules. Apply the breathing room at multiple levels so the live mobile
   page is inset even when an older saved page does not match one selector.
   ------------------------------------------------------------ */
@media (max-width: 781px) {
  /* Primary page-level treatment when the FAQ body class is present. */
  body.az-faq-page main .wp-block-post-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden;
  }

  /* Neutralise WordPress full/wide offsets inside the FAQ page. */
  body.az-faq-page main .wp-block-post-content > .alignfull,
  body.az-faq-page main .wp-block-post-content > .alignwide,
  body.az-faq-page main .wp-block-post-content > .wp-block-group {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Fallback that works even if the live FAQ page has an unexpected slug. */
  main .wp-block-post-content .az-faq,
  main .wp-block-post-content .az-faq.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  /* Final safety net: inset the actual question/answer blocks themselves. */
  main .wp-block-post-content .az-faq .wp-block-details,
  body.az-faq-page main .wp-block-post-content .wp-block-details {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 420px) {
  body.az-faq-page main .wp-block-post-content {
    padding-left: 26px !important;
    padding-right: 26px !important;
  }
  main .wp-block-post-content .az-faq,
  main .wp-block-post-content .az-faq.alignwide {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  main .wp-block-post-content .az-faq .wp-block-details,
  body.az-faq-page main .wp-block-post-content .wp-block-details {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* v3.15 — local service-area cue used on core service pages. */
.az-local-service-note {
  margin-top: 38px;
  padding: 20px 22px;
  border-left: 3px solid var(--az-gold);
  background: rgba(241, 233, 223, .62);
}
.az-local-service-note p { margin: 0; line-height: 1.7; }
@media (max-width: 700px) {
  .az-local-service-note { margin-top: 30px; padding: 18px 18px; }
}
