/* A to Z Driving Guides - Frontend v1.5.9 SVG icon flash fix */
.adg-page,
.adg-guide,
.adg-archive {
  --adg-primary:#D92827;
  --adg-primary-dark:#a91f1f;
  --adg-primary-soft:#fff1f1;
  --adg-button:#D92827;
  --adg-button-hover:#a91f1f;
  --adg-heading:#111827;
  --adg-text:#4b5563;
  --adg-muted:#64748b;
  --adg-border:#e5e7eb;
  --adg-border-strong:#d8dee7;
  --adg-bg-soft:#f9fafb;
  --adg-panel:#ffffff;
  --adg-shadow:0 16px 42px rgba(15,23,42,.055);
  --adg-shadow-soft:0 10px 28px rgba(15,23,42,.045);
  width:100%;
  max-width:none;
  margin:0;
  color:var(--adg-text);
  background:var(--adg-bg-soft);
  font-family:var(--adg-body, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.adg-page *, .adg-page *:before, .adg-page *:after { box-sizing:border-box; }
.adg-page :where(h1,h2,h3,h4,.adg-btn,.adg-chip,.adg-guide-card-title,.adg-card-topic,.adg-card-badge,.adg-section-kicker,.adg-hero-kicker,.adg-toc-title,.adg-cta-title,.adg-block-title,.adg-breadcrumbs) {
  font-family:var(--adg-display, Outfit, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}
.adg-svg-icon { display:inline-block; width:1em; height:1em; vertical-align:-.125em; flex-shrink:0; overflow:visible; }
.adg-page svg { width:1em; height:1em; }
.adg-container { width:min(100% - 32px, 1200px); margin-inline:auto; padding-left:0; padding-right:0; }
.adg-full-bleed { position:relative; left:50%; right:50%; width:100vw; margin-left:-50vw; margin-right:-50vw; overflow-x:clip; }

/* Hero */
.adg-hero {
  position:relative;
  padding:36px 0 48px;
  color:#fff;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.09), transparent 28%),
    linear-gradient(180deg, var(--adg-primary) 0%, var(--adg-primary-dark) 100%);
  border-bottom:0;
  overflow:hidden;
}
.adg-hero:after {
  content:"";
  position:absolute;
  inset:auto -160px -220px auto;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}
.adg-hero .adg-container { position:relative; z-index:1; }
.adg-guide-hero { padding-top:36px; padding-bottom:48px; }
.adg-archive-hero, .adg-topic-hero { padding-bottom:50px; }
.adg-breadcrumbs { margin:0 0 16px; }
.adg-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; list-style:none; color:rgba(255,255,255,.78); font-size:13px; line-height:1.5; }
.adg-breadcrumbs li { display:inline-flex; align-items:center; gap:8px; color:inherit; }
.adg-breadcrumbs a { color:inherit; text-decoration:none; font-weight:500; }
.adg-breadcrumbs a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.adg-breadcrumbs li[aria-current="page"], .adg-breadcrumbs li:last-child { color:#fff; font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.35); }
.adg-sep { color:rgba(255,255,255,.38); margin-left:0; font-size:11px; }
.adg-hero-kicker,
.adg-section-kicker {
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:28px;
  min-height:28px;
  max-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.038em;
  line-height:1;
  text-transform:uppercase;
}
.adg-section-kicker { color:var(--adg-primary); background:var(--adg-primary-soft); border-color:rgba(217,40,39,.14); }
.adg-hero-kicker svg, .adg-chip svg { width:14px; height:14px; flex:0 0 14px; display:block; }
.adg-hero h1 {
  max-width:820px;
  margin:0;
  color:#fff;
  font-size:clamp(32px,3.75vw,42px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.034em;
}
.adg-guide-title { max-width:850px; }
.adg-hero p,
.adg-guide-intro {
  max-width:740px;
  margin:12px 0 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(15.5px,1.45vw,17px);
  line-height:1.66;
  font-weight:400;
}
.adg-hero-chips { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; }
.adg-chip {
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:28px;
  min-height:28px;
  max-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  color:#fff;
  text-decoration:none;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.038em;
  text-transform:uppercase;
}
.adg-chip:hover { background:rgba(255,255,255,.16); color:#fff; }
.adg-chip-solid { background:rgba(255,255,255,.22); color:#fff; border-color:rgba(255,255,255,.40); }
.adg-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.adg-hero-btn { margin-top:0; }

/* Search - under hero, Irish Calculators style */
.adg-search-wrap { display:flex; justify-content:center; align-items:center; position:relative; z-index:5; margin:0 auto; padding-top:28px; padding-bottom:6px; background:var(--adg-bg-soft); }
.adg-hero .adg-search { margin-top:18px; }
.adg-search {
  display:flex;
  align-items:center;
  gap:8px;
  width:min(100%,760px);
  margin-left:auto;
  margin-right:auto;
  background:#fff;
  border:1px solid var(--adg-border);
  border-radius:16px;
  padding:7px;
  box-shadow:var(--adg-shadow);
}
.adg-search input[type=search] {
  flex:1;
  min-width:0;
  height:44px;
  border:0;
  box-shadow:none;
  background:transparent;
  padding:0 13px;
  color:#111827;
  font-size:15px;
  line-height:44px;
  outline:none;
}
.adg-search input::placeholder { color:#94a3b8; }
.adg-search button,
.adg-btn,
.adg-hero-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  border:1px solid var(--adg-button);
  border-radius:999px;
  background:var(--adg-button);
  color:#fff;
  padding:10px 16px;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  line-height:1;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.adg-search button:hover,
.adg-btn:hover,
.adg-hero-btn:hover { background:var(--adg-button-hover); border-color:var(--adg-button-hover); color:#fff; transform:translateY(-1px); box-shadow:0 12px 24px rgba(217,40,39,.18); }
.adg-btn-ghost { background:#fff; color:var(--adg-primary-dark); border-color:rgba(217,40,39,.24); }
.adg-btn-ghost:hover { background:var(--adg-primary-soft); color:var(--adg-primary-dark); border-color:rgba(217,40,39,.35); box-shadow:none; }

.adg-page a:focus-visible,
.adg-page button:focus-visible,
.adg-page summary:focus-visible {
  outline:2px solid var(--adg-primary);
  outline-offset:3px;
  border-radius:4px;
}
.adg-hero-chips + .adg-guide-title,
.adg-hero-chips + h1 { margin-top:4px; }
.adg-chip span { display:inline-block; line-height:1; }

/* Archive */
.adg-archive-body { padding-top:36px; padding-bottom:70px; }
.adg-topic-pills { display:flex; gap:9px; overflow-x:auto; padding:0 0 12px; margin:0 0 26px; scrollbar-width:thin; }
.adg-topic-pill {
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:8px 13px;
  border:1px solid var(--adg-border);
  border-radius:999px;
  background:#fff;
  color:#263244;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
  transition:.18s ease;
}
.adg-topic-pill span { display:inline-flex; align-items:center; justify-content:center; min-width:23px; height:23px; border-radius:999px; background:#f1f5f9; color:#64748b; font-size:12px; font-weight:600; }
.adg-topic-pill:hover,
.adg-topic-pill.is-active { border-color:rgba(217,40,39,.30); background:var(--adg-primary); color:#fff; }
.adg-topic-pill:hover span,
.adg-topic-pill.is-active span { background:rgba(255,255,255,.18); color:#fff; }
.adg-section { margin:34px 0 52px; }
.adg-section-head { margin:0 0 18px; }
.adg-section-head h2,
.adg-block-title { margin:0; color:var(--adg-heading); font-size:clamp(25px,2.8vw,34px); font-weight:600; line-height:1.14; letter-spacing:-.035em; }
.adg-guide-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.adg-guide-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:214px;
  padding:20px;
  border:1px solid var(--adg-border);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:var(--adg-shadow-soft);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.adg-guide-card:hover { transform:translateY(-2px); border-color:rgba(217,40,39,.30); box-shadow:0 16px 34px rgba(15,23,42,.07); }
.adg-guide-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.adg-guide-card-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:34px; border-radius:11px; color:var(--adg-primary); background:var(--adg-primary-soft); }
.adg-guide-card-icon svg { width:17px; height:17px; }
.adg-guide-card-meta { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.adg-card-topic,
.adg-card-badge { display:inline-flex; align-items:center; min-height:23px; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:600; letter-spacing:.055em; line-height:1; text-transform:uppercase; }
.adg-card-topic { color:var(--adg-primary); background:var(--adg-primary-soft); }
.adg-card-badge { color:#fff; background:var(--adg-primary); }
.adg-guide-card-title { display:block; margin:0 0 8px; color:var(--adg-heading); font-size:17px; font-weight:600; line-height:1.32; letter-spacing:-.02em; }
.adg-guide-card-excerpt { display:block; color:var(--adg-muted); font-size:14px; line-height:1.58; }
.adg-guide-card-link { margin-top:auto; padding-top:16px; color:var(--adg-primary); font-size:13px; font-weight:600; }
.adg-empty-state { padding:24px; border:1px dashed var(--adg-border); border-radius:16px; background:#fff; color:var(--adg-muted); }

/* Single guide layout */
.adg-guide-layout { display:grid; grid-template-columns:minmax(0,720px) 240px; gap:52px; align-items:start; padding-top:34px; padding-bottom:68px; }
.adg-guide-layout.no-sidebar { display:block; }
.adg-guide-layout.no-sidebar .adg-guide-content { max-width:860px; margin-inline:auto; }
.adg-guide-content { min-width:0; }
.adg-prose { color:var(--adg-muted); font-size:16px; line-height:1.72; }
.adg-prose h2,
.adg-prose h3 { color:var(--adg-heading); font-family:var(--adg-display, Outfit, Inter, sans-serif); font-weight:600; letter-spacing:-.035em; }
.adg-prose h2 { margin:42px 0 13px; font-size:clamp(26px,2.7vw,32px); line-height:1.15; letter-spacing:-.040em; scroll-margin-top:var(--adg-scroll-offset, 108px); }
.adg-prose h3 { margin:28px 0 10px; font-size:22px; line-height:1.24; font-weight:500; }
.adg-prose p { margin:0 0 16px; }
.adg-prose strong { color:#111827; font-weight:600; }
.adg-prose a { color:var(--adg-primary); font-weight:600; text-decoration-thickness:1px; text-underline-offset:3px; }
.adg-prose ul, .adg-prose ol { margin:0 0 20px; padding-left:22px; }
.adg-prose li { margin:7px 0; }
.adg-prose table,
.adg-comparison-table { width:100%; margin:24px 0; border:1px solid var(--adg-border); border-radius:14px; border-spacing:0; border-collapse:separate; overflow:hidden; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.035); }
.adg-prose th,.adg-prose td,.adg-comparison-table th,.adg-comparison-table td { padding:13px 15px; border-bottom:1px solid var(--adg-border); text-align:left; vertical-align:top; }
.adg-prose th,.adg-comparison-table th { color:#111827; background:#f8fafc; font-weight:600; }
.adg-prose tr:last-child td { border-bottom:0; }

/* Content blocks */
.adg-quick-answer,
.adg-info-box,
.adg-warning-box,
.adg-success-box,
.adg-key-facts,
.adg-sources,
.adg-faq,
.adg-takeaways {
  margin:0 0 30px;
  padding:23px 24px;
  border:1px solid var(--adg-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--adg-shadow);
}
.adg-quick-answer { border-top:3px solid var(--adg-primary); border-left:1px solid var(--adg-border); background:#fff; border-color:var(--adg-border); border-top-color:var(--adg-primary); }
.adg-qa-label { display:flex; align-items:center; gap:10px; margin-bottom:10px; color:var(--adg-primary); font-size:13px; font-weight:600; letter-spacing:.075em; line-height:1.2; text-transform:uppercase; }
.adg-qa-label svg { width:28px; height:28px; padding:7px; border-radius:999px; background:var(--adg-primary-soft); }
.adg-quick-answer p { margin:0; color:#111827; font-size:16px; line-height:1.68; font-weight:500; }
.adg-key-facts ul { display:grid; gap:9px; margin:16px 0 0; padding:0; list-style:none; }
.adg-key-facts li,.adg-checklist li { position:relative; padding-left:26px; }
.adg-key-facts li:before,.adg-checklist li:before { content:"✓"; position:absolute; left:0; top:0; color:var(--adg-primary); font-weight:700; }
.adg-block-title { margin-bottom:14px; font-size:20px; letter-spacing:-.025em; }
.adg-faq-item { margin:10px 0; border:1px solid var(--adg-border); border-radius:10px; background:#fff; overflow:hidden; }
.adg-faq-item summary { position:relative; cursor:pointer; list-style:none; padding:16px 50px 16px 16px; color:var(--adg-heading); font-size:15px; font-weight:600; }
.adg-faq-item summary::-webkit-details-marker { display:none; }
.adg-faq-icon { position:absolute; right:16px; top:17px; display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; color:var(--adg-primary); background:transparent; transition:transform .18s ease; }
.adg-faq-icon svg { width:16px; height:16px; }
.adg-faq-item[open] .adg-faq-icon { transform:rotate(180deg); }
.adg-faq-answer { padding:0 16px 16px; color:var(--adg-muted); line-height:1.7; }
.adg-sources ul { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.adg-sources li { margin:0; }
.adg-sources a { display:flex; align-items:center; gap:8px; color:var(--adg-primary); font-weight:600; text-decoration:none; }
.adg-sources a:before { content:""; width:6px; height:6px; border-radius:999px; background:var(--adg-primary); opacity:.72; }
.adg-sources a:hover { text-decoration:underline; text-underline-offset:3px; }

/* CTA */
.adg-cta { margin:30px 0; }
.adg-cta-inner { position:relative; overflow:hidden; padding:26px; border-radius:16px; background:linear-gradient(135deg,var(--adg-primary),var(--adg-primary-dark)); color:#fff; box-shadow:0 12px 28px rgba(217,40,39,.12); }
.adg-cta-inner:after { content:""; position:absolute; right:-80px; bottom:-90px; width:210px; height:210px; border-radius:50%; background:rgba(255,255,255,.08); }
.adg-cta-title { position:relative; z-index:1; margin:0 0 7px; color:#fff; font-size:24px; font-weight:600; line-height:1.18; letter-spacing:-.025em; }
.adg-cta-text { position:relative; z-index:1; margin:0 0 17px; color:rgba(255,255,255,.90); font-size:15px; line-height:1.62; font-weight:400; }
.adg-cta-actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:9px; }
.adg-cta .adg-btn-primary { background:#fff; color:var(--adg-primary-dark); border-color:#fff; }
.adg-cta .adg-btn-ghost { background:rgba(255,255,255,.10); color:#fff; border-color:rgba(255,255,255,.28); }
.adg-cta-sidebar { margin:18px 0 0; }
.adg-cta-sidebar .adg-cta-inner { padding:20px; border-radius:18px; background:#fff; border:1px solid rgba(217,40,39,.18); border-top:3px solid var(--adg-primary); color:var(--adg-text); text-align:center; box-shadow:0 8px 20px rgba(15,23,42,.055); }
.adg-cta-sidebar .adg-cta-inner:after { display:none; }
.adg-cta-sidebar .adg-cta-title { margin-bottom:9px; color:var(--adg-heading); font-size:19px; font-weight:600; line-height:1.28; }
.adg-cta-sidebar .adg-cta-text { margin-bottom:16px; color:var(--adg-muted); font-size:14px; line-height:1.58; font-weight:400; }
.adg-cta-sidebar .adg-cta-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.adg-cta-sidebar .adg-btn { width:100%; margin-top:0; padding:12px 14px; background:var(--adg-primary); color:#fff; border-color:var(--adg-primary); font-size:14px; font-weight:600; line-height:1.2; }
.adg-cta-sidebar .adg-btn-primary,
.adg-cta-sidebar .adg-btn-primary:visited { background:var(--adg-primary); color:#fff; border-color:var(--adg-primary); }
.adg-cta-sidebar .adg-btn-primary:hover,
.adg-cta-sidebar .adg-btn-primary:focus { background:var(--adg-primary-dark); color:#fff; border-color:var(--adg-primary-dark); box-shadow:0 12px 24px rgba(217,40,39,.16); }

/* TOC */
.adg-toc-desktop { display:block; position:sticky; top:96px; }
.adg-toc-sticky { padding:16px 0 16px 20px; border-left:2px solid var(--adg-border); background:transparent; box-shadow:none; border-radius:0; }
.adg-toc-title { display:flex; align-items:center; gap:8px; margin-bottom:12px; color:#111827; font-size:13px; font-weight:600; letter-spacing:.055em; text-transform:uppercase; }
.adg-toc-title:before { content:""; width:6px; height:6px; border-radius:999px; background:var(--adg-primary); }
.adg-toc ol { margin:0; padding:0; list-style:none; }
.adg-toc li + li { margin-top:8px; }
.adg-toc a { display:block; padding:0; border:0; color:#64748b; font-size:14px; line-height:1.45; font-weight:400; text-decoration:none; }
.adg-toc a:hover, .adg-toc li.is-active > a, .adg-toc a.is-active { color:var(--adg-primary); font-weight:600; }
.adg-toc-mobile { display:none; margin:0 0 28px; border:1px solid var(--adg-border); border-radius:16px; background:#fff; }
.adg-toc-mobile summary { display:flex; align-items:center; gap:9px; padding:15px 16px; color:#111827; cursor:pointer; font-weight:600; list-style:none; }
.adg-toc-mobile summary::-webkit-details-marker { display:none; }
.adg-toc-mobile ol { padding:0 16px 16px 42px; }

/* Navigation and reusable editor blocks */
.adg-prevnext { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:34px; }
.adg-prevnext a { display:block; padding:16px; border:1px solid var(--adg-border); border-radius:16px; background:#fff; color:var(--adg-heading); text-decoration:none; box-shadow:var(--adg-shadow-soft); }
.adg-prevnext span { display:block; margin-bottom:5px; color:#64748b; font-size:12px; font-weight:600; }
.adg-prevnext strong { display:block; color:#111827; font-size:15px; font-weight:600; line-height:1.35; }
.adg-prevnext a:last-child { text-align:right; }
.adg-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.adg-three-col,.adg-mistake-grid,.adg-scenario-grid,.adg-road-sign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.adg-example-card,.adg-test-day-card,.adg-local-area-card,.adg-price-box { padding:18px; border:1px solid var(--adg-border); border-radius:16px; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.035); }
.adg-warning-box { background:#fff7ed; border-color:#fed7aa; }
.adg-success-box { background:#f0fdf4; border-color:#bbf7d0; }
.adg-info-box { background:#fff; border-left:4px solid var(--adg-primary); }
.adg-step-list { counter-reset:adgstep; list-style:none; padding:0; }
.adg-step-list li { counter-increment:adgstep; position:relative; margin:12px 0; padding:16px 16px 16px 56px; border:1px solid var(--adg-border); border-radius:16px; background:#fff; }
.adg-step-list li:before { content:counter(adgstep); position:absolute; left:16px; top:16px; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; background:var(--adg-primary); color:#fff; font-weight:600; }
.adg-ad { margin:26px 0; text-align:center; }
.adg-related { margin-top:40px; }
.adg-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.adg-related-grid .adg-guide-card { min-height:190px; }

@media (max-width:1024px) {
  .adg-guide-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adg-guide-layout { grid-template-columns:minmax(0,1fr); gap:26px; }
  .adg-guide-layout.no-sidebar .adg-guide-content { max-width:860px; }
  .adg-toc-desktop { display:none; }
  .adg-toc-mobile { display:block; }
  .adg-two-col,.adg-three-col,.adg-mistake-grid,.adg-scenario-grid,.adg-road-sign-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .adg-container { width:min(100% - 32px, 1200px); }
  .adg-hero { padding:28px 0 42px; }
  .adg-archive-hero, .adg-topic-hero { padding-bottom:54px; }
  .adg-hero h1 { font-size:clamp(32px,10vw,40px); }
  .adg-hero p, .adg-guide-intro { font-size:16px; }
  .adg-search { display:block; width:100%; padding:10px; border-radius:14px; }
  .adg-search input[type=search] { width:100%; border-bottom:1px solid var(--adg-border); border-radius:0; margin-bottom:4px; }
  .adg-search button { width:100%; margin-top:10px; border-radius:10px; }
  .adg-archive-body { padding-top:28px; }
  .adg-topic-pills { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; }
  .adg-guide-card-grid, .adg-related-grid { grid-template-columns:1fr; }
  .adg-guide-card { min-height:auto; padding:18px; }
  .adg-guide-layout { padding-top:30px; padding-bottom:52px; }
  .adg-prose { font-size:16px; }
  .adg-prose h2 { font-size:26px; }
  .adg-quick-answer,.adg-key-facts,.adg-sources,.adg-faq,.adg-takeaways { padding:18px; }
  .adg-cta-inner { padding:22px; border-radius:16px; }
  .adg-cta-title { font-size:22px; }
  .adg-prevnext { grid-template-columns:1fr; }
  .adg-prevnext a:last-child { text-align:left; }
  .adg-two-col,.adg-three-col,.adg-mistake-grid,.adg-scenario-grid,.adg-road-sign-grid { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .adg-hero-chips { gap:6px; margin-bottom:12px; }
  .adg-chip,
  .adg-hero-kicker {
    height:32px;
    min-height:32px;
    max-height:32px;
    padding:0 11px;
    font-size:10px;
  }
  .adg-toc-mobile { margin-bottom:24px; }
}

/* ------------------------------------------------------------
   A to Z shortcode pages: homepage
   Scoped, Elementor-free page sections.
------------------------------------------------------------ */
/* Shortcode wrapper must break out of Astra/page containers once, then every
   homepage section can be full-width without double full-bleed clipping. */
.adg-home {
  font-family:var(--adg-body);
  color:var(--adg-text);
  background:#fff;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:visible;
}
.adg-home > .adg-home-section,
.adg-home .adg-full-bleed {
  width:100%;
  left:auto;
  right:auto;
  margin-left:0;
  margin-right:0;
}
.adg-home :where(h1,h2,h3,.adg-home-kicker,.adg-home-icon-card h3,.adg-home-price-card h3) { font-family:var(--adg-display); color:var(--adg-heading); letter-spacing:-.035em; }
.adg-home .adg-container { max-width:1180px; margin:0 auto; padding-left:24px; padding-right:24px; }
.adg-home-section { padding:82px 0; }
.adg-home-soft { background:var(--adg-bg-soft); }

.adg-home-hero { position:relative; min-height:620px; background:linear-gradient(135deg,#fff 0%,#fff7f7 47%,#ffe1e1 100%); display:flex; align-items:center; }
.adg-home-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.78) 45%,rgba(217,40,39,.12)), var(--adg-home-hero-img, none); background-size:cover; background-position:center; opacity:1; }
.adg-home-hero:after { content:""; position:absolute; right:-120px; bottom:-180px; width:520px; height:520px; border-radius:999px; background:rgba(217,40,39,.10); }
.adg-home-hero-inner { position:relative; z-index:1; display:grid; gap:34px; }
.adg-home-hero-copy { max-width:720px; }
.adg-home-kicker { display:inline-flex; align-items:center; gap:8px; min-height:30px; padding:0 13px; border-radius:999px; background:#fff; border:1px solid rgba(217,40,39,.18); color:var(--adg-primary); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.adg-home-kicker svg { width:15px; height:15px; }
.adg-home-hero h1 { margin:22px 0 16px; font-size:clamp(44px,6vw,78px); line-height:.96; font-weight:700; max-width:780px; }
.adg-home-hero p { max-width:720px; margin:0; font-size:clamp(17px,2vw,21px); line-height:1.65; color:#334155; }
.adg-home-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.adg-home-actions .adg-btn { min-height:46px; padding:0 21px; font-size:14px; }
.adg-home-actions .adg-btn svg { width:16px; height:16px; }
.adg-home-trustbar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:980px; }
.adg-home-trustbar span { display:flex; align-items:center; gap:9px; min-height:54px; padding:12px 16px; background:rgba(255,255,255,.88); border:1px solid rgba(217,40,39,.14); border-radius:16px; box-shadow:0 12px 34px rgba(15,23,42,.06); color:#111827; font-weight:650; font-size:14px; }
.adg-home-trustbar svg { width:20px; height:20px; color:var(--adg-primary); flex:0 0 auto; }

.adg-home-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; align-items:center; }
.adg-home-split-reverse { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); }
.adg-home-copy h2,
.adg-home-section-head h2,
.adg-home-contact-card h2 { margin:8px 0 18px; font-size:clamp(30px,4vw,48px); line-height:1.05; font-weight:650; }
.adg-home-copy p,
.adg-home-section-head p,
.adg-home-contact-card p { font-size:16px; line-height:1.78; color:var(--adg-text); margin:0 0 18px; }
.adg-home .adg-section-kicker { display:inline-flex; align-items:center; min-height:28px; padding:0 13px; border-radius:999px; background:var(--adg-primary-soft); border:1px solid rgba(217,40,39,.16); color:var(--adg-primary); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.045em; }
.adg-home .adg-section-kicker:after { content:none; }
.adg-home-image-card { position:relative; min-height:360px; border-radius:38px; overflow:hidden; background:linear-gradient(135deg,var(--adg-primary-soft),#fff); border:1px solid rgba(217,40,39,.12); box-shadow:0 18px 52px rgba(15,23,42,.08); display:flex; align-items:center; justify-content:center; }
.adg-home-image-card img { width:100%; height:100%; min-height:360px; object-fit:cover; display:block; }
.adg-home-image-placeholder svg { width:94px; height:94px; color:var(--adg-primary); opacity:.9; }
.adg-home-checklist { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:10px; }
.adg-home-checklist li { position:relative; padding-left:28px; font-size:15px; color:#334155; }
.adg-home-checklist li:before { content:"✓"; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:999px; background:var(--adg-primary-soft); color:var(--adg-primary); display:grid; place-items:center; font-size:12px; font-weight:800; }

.adg-home-section-head { max-width:760px; margin:0 auto 34px; text-align:center; }
.adg-home-section-head-left { margin-left:0; text-align:left; }
.adg-home-card-grid { display:grid; gap:18px; }
.adg-home-card-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adg-home-icon-card { background:#fff; border:1px solid var(--adg-border); border-radius:18px; padding:26px; box-shadow:0 12px 34px rgba(15,23,42,.045); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.adg-home-icon-card:hover { transform:translateY(-3px); border-color:rgba(217,40,39,.32); box-shadow:0 18px 45px rgba(15,23,42,.08); }
.adg-home-icon { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px; background:var(--adg-primary-soft); color:var(--adg-primary); margin-bottom:18px; }
.adg-home-icon svg { width:24px; height:24px; }
.adg-home-icon-card h3 { margin:0 0 10px; font-size:21px; font-weight:650; line-height:1.15; }
.adg-home-icon-card p { margin:0; color:var(--adg-text); line-height:1.68; font-size:15px; }

.adg-home-mini-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.adg-home-mini-grid span { display:flex; align-items:center; gap:8px; padding:12px 14px; border-radius:14px; background:var(--adg-bg-soft); border:1px solid var(--adg-border); font-size:14px; font-weight:600; color:#334155; }
.adg-home-mini-grid svg { width:18px; height:18px; color:var(--adg-primary); }

.adg-home-areas { background:linear-gradient(135deg,#111827 0%,#202b3b 100%); color:#fff; padding:76px 0; }
.adg-home-areas .adg-section-kicker { color:#fff; background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.18); }
.adg-home-areas h2,
.adg-home-areas p { color:#fff; }
.adg-home-pill-grid { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.adg-home-pill-grid span { display:inline-flex; align-items:center; gap:8px; padding:11px 15px; border-radius:999px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); color:#fff; font-size:14px; font-weight:650; }
.adg-home-pill-grid svg { width:17px; height:17px; color:#fff; opacity:.9; }

.adg-home-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.adg-home-price-card { background:#fff; border:1px solid var(--adg-border); border-radius:20px; padding:32px 26px; text-align:center; box-shadow:0 14px 42px rgba(15,23,42,.055); }
.adg-home-price-card-featured { border-color:rgba(217,40,39,.26); box-shadow:0 18px 52px rgba(217,40,39,.10); }
.adg-home-price-card h3 { margin:0 0 8px; font-size:24px; font-weight:650; }
.adg-home-price-card p { min-height:48px; margin:0 0 16px; color:var(--adg-text); }
.adg-home-price-card strong { display:block; margin:16px 0 24px; color:var(--adg-primary); font-size:34px; line-height:1; font-family:var(--adg-display); }
.adg-home-price-card small { font-size:12px; color:var(--adg-muted); text-transform:uppercase; }
.adg-home-price-card .adg-btn { width:100%; justify-content:center; }

.adg-home-faq-wrap { max-width:920px; }
.adg-home-faq { background:#fff; }
.adg-home-contact-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:22px; align-items:stretch; }
.adg-home-contact-card { background:linear-gradient(135deg,var(--adg-primary),var(--adg-primary-dark)); color:#fff; border-radius:22px; padding:42px; box-shadow:0 18px 52px rgba(217,40,39,.16); }
.adg-home-contact-card h2,
.adg-home-contact-card p { color:#fff; }
.adg-home-contact-card .adg-section-kicker { color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); }
.adg-home-contact-card .adg-btn-primary { background:#fff; color:var(--adg-primary-dark); border-color:#fff; }
.adg-home-contact-card .adg-btn-ghost { background:rgba(255,255,255,.10); color:#fff; border-color:rgba(255,255,255,.28); }
.adg-home-location { display:flex; align-items:center; gap:8px; margin-top:22px !important; font-weight:650; }
.adg-home-location svg { width:18px; height:18px; }
.adg-home-map { min-height:390px; border-radius:22px; overflow:hidden; border:1px solid var(--adg-border); box-shadow:0 14px 42px rgba(15,23,42,.06); }
.adg-home-map iframe { width:100%; height:100%; min-height:390px; border:0; display:block; }

@media (max-width:1024px) {
  .adg-home-hero { min-height:560px; }
  .adg-home-trustbar,
  .adg-home-card-grid-3,
  .adg-home-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adg-home-split,
  .adg-home-split-reverse,
  .adg-home-contact-grid { grid-template-columns:1fr; gap:34px; }
  .adg-home-image-card { min-height:300px; }
  .adg-home-image-card img { min-height:300px; }
}
@media (max-width:720px) {
  .adg-home .adg-container { padding-left:18px; padding-right:18px; }
  .adg-home-section { padding:56px 0; }
  .adg-home-hero { min-height:auto; padding:88px 0 44px; align-items:flex-start; }
  .adg-home-hero h1 { font-size:42px; }
  .adg-home-hero p { font-size:16px; }
  .adg-home-trustbar,
  .adg-home-card-grid-3,
  .adg-home-price-grid,
  .adg-home-mini-grid { grid-template-columns:1fr; }
  .adg-home-actions .adg-btn { width:100%; justify-content:center; }
  .adg-home-copy h2,
  .adg-home-section-head h2,
  .adg-home-contact-card h2 { font-size:32px; }
  .adg-home-section-head { text-align:left; margin-left:0; }
  .adg-home-image-card { border-radius:24px; }
  .adg-home-contact-card { padding:28px; border-radius:18px; }
  .adg-home-map,
  .adg-home-map iframe { min-height:320px; }
}

/* v1.3.3 Homepage authority, guides, service areas and reviews */
.adg-home-guides { background:#fff; }
.adg-home-guide-grid,
.adg-home-area-grid,
.adg-home-review-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.adg-home-guide-card,
.adg-home-area-card,
.adg-home-review-card { display:block; text-decoration:none; background:#fff; border:1px solid var(--adg-border); border-radius:18px; padding:24px; box-shadow:0 12px 34px rgba(15,23,42,.045); color:var(--adg-heading); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.adg-home-guide-card:hover,
.adg-home-area-card:hover { transform:translateY(-3px); border-color:rgba(217,40,39,.34); box-shadow:0 18px 48px rgba(15,23,42,.075); color:var(--adg-heading); }
.adg-home-guide-label { display:inline-flex; margin:0 0 12px; padding:4px 9px; border-radius:999px; background:var(--adg-primary-soft); color:var(--adg-primary); font-size:10px; line-height:1; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.adg-home-guide-card h3,
.adg-home-area-card h3 { margin:0 0 10px; font-size:20px; line-height:1.18; font-weight:650; color:var(--adg-heading); }
.adg-home-guide-card p,
.adg-home-area-card p,
.adg-home-review-card p { margin:0; color:var(--adg-text); line-height:1.65; font-size:14px; }
.adg-home-guide-card strong { display:inline-flex; margin-top:16px; color:var(--adg-primary); font-size:13px; }
.adg-home-center-link { text-align:center; margin:26px 0 0; }
.adg-home-center-link a,
.adg-review-link a { color:var(--adg-primary); font-weight:700; text-decoration:none; }
.adg-home-areas .adg-home-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adg-home-area-card { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); color:#fff; box-shadow:none; }
.adg-home-area-card:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.32); color:#fff; }
.adg-home-area-card span { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:13px; background:rgba(255,255,255,.10); margin-bottom:16px; }
.adg-home-area-card svg { width:22px; height:22px; color:#fff; }
.adg-home-area-card h3,
.adg-home-area-card p { color:#fff; }

/* v1.5.19 service-area chips */
.adg-service-area-strip {
	margin-top: 22px;
	padding: 18px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 18px;
	background: rgba(255,255,255,.07);
	color: #fff;
}
.adg-service-area-strip strong {
	display: block;
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 650;
	color: #fff;
}
.adg-service-area-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.adg-service-area-pills span {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: 7px 11px;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.14);
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 600;
}
.adg-home-review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adg-review-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.adg-review-head strong { color:var(--adg-heading); font-size:16px; line-height:1.2; }
.adg-stars { color:#f59e0b; letter-spacing:.02em; white-space:nowrap; font-size:15px; }
.adg-review-link { text-align:center; margin:24px 0 0; }
.adg-popular-badge { display:inline-flex; align-items:center; justify-content:center; margin:-8px auto 14px; min-height:26px; padding:0 12px; border-radius:999px; background:var(--adg-primary); color:#fff; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.adg-home-explore { background:#fff; }
.adg-home-explore-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:34px; align-items:center; padding:36px 24px; border-radius:22px; border:1px solid var(--adg-border); box-shadow:0 14px 42px rgba(15,23,42,.05); background:linear-gradient(135deg,#fff 0%,var(--adg-bg-soft) 100%); }
.adg-home-explore h2 { margin:10px 0 12px; font-size:clamp(28px,3vw,40px); line-height:1.08; font-weight:650; }
.adg-home-explore p { color:var(--adg-text); margin:0; line-height:1.7; }
.adg-home-link-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.adg-home-link-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:13px 15px; border-radius:14px; border:1px solid var(--adg-border); background:#fff; color:var(--adg-heading); text-decoration:none; font-weight:650; box-shadow:0 8px 22px rgba(15,23,42,.035); }
.adg-home-link-list a:after { content:'→'; color:var(--adg-primary); }
.adg-home-link-list a:hover { border-color:rgba(217,40,39,.28); color:var(--adg-primary); }
@media (max-width:1024px) {
  .adg-home-guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adg-home-areas .adg-home-area-grid,
  .adg-home-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .adg-home-guide-grid,
  .adg-home-areas .adg-home-area-grid,
  .adg-home-review-grid,
  .adg-home-explore-grid,
  .adg-home-link-list { grid-template-columns:1fr; }
  .adg-home-guide-card,
  .adg-home-area-card,
  .adg-home-review-card { padding:20px; }
  .adg-home-explore-grid { padding:24px 18px; }
}


/* v1.3.4 Homepage brand polish: restore stronger A to Z red identity after authority/reviews additions */
.adg-home .adg-home-guides {
  background:
    radial-gradient(circle at 8% 0%, rgba(217,40,39,.075), transparent 30%),
    linear-gradient(180deg, #fff7f7 0%, #ffffff 100%);
}
.adg-home .adg-home-guides .adg-home-section-head h2,
.adg-home .adg-home-reviews .adg-home-section-head h2,
.adg-home .adg-home-pricing .adg-home-section-head h2,
.adg-home .adg-home-explore h2 {
  color: var(--adg-heading);
}
.adg-home .adg-section-kicker {
  font-weight: 680;
  letter-spacing: .032em;
  box-shadow: 0 7px 18px rgba(217,40,39,.055);
}
.adg-home-guide-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.adg-home-guide-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 0;
  align-items: start;
  position: relative;
  padding: 22px;
  border-color: rgba(217,40,39,.13);
  border-top: 3px solid rgba(217,40,39,.32);
  background:
    linear-gradient(180deg, rgba(255,241,241,.58) 0%, #fff 42%),
    #fff;
  box-shadow: 0 14px 38px rgba(15,23,42,.055);
}
.adg-home-guide-card:after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(217,40,39,.045);
  pointer-events: none;
}
.adg-home-guide-card .adg-home-icon {
  grid-column: 1;
  grid-row: 1;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  margin: 0;
  background: var(--adg-primary-soft);
  border: 1px solid rgba(217,40,39,.12);
  color: var(--adg-primary);
}
.adg-home-guide-card .adg-home-icon svg {
  width: 21px;
  height: 21px;
}
.adg-home-guide-label {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  min-height: 24px;
  margin: 0;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(217,40,39,.12);
  background: rgba(255,241,241,.92);
  color: var(--adg-primary);
  font-size: 10.5px;
  line-height: 1;
  font-weight: 650;
  letter-spacing: .025em;
}
.adg-home-guide-card h3,
.adg-home-guide-card p,
.adg-home-guide-card strong {
  grid-column: 1 / -1;
}
.adg-home-guide-card h3 {
  margin: 18px 0 10px;
  font-size: 19px;
  line-height: 1.18;
  font-weight: 650;
  letter-spacing: -.03em;
}
.adg-home-guide-card p {
  font-size: 14px;
  line-height: 1.68;
}
.adg-home-guide-card strong {
  margin-top: 16px;
  color: var(--adg-primary);
  font-weight: 700;
}
.adg-home-guide-card:hover {
  border-color: rgba(217,40,39,.42);
  box-shadow: 0 20px 52px rgba(217,40,39,.105);
}
.adg-home-areas {
  background:
    radial-gradient(circle at 90% 12%, rgba(217,40,39,.20), transparent 34%),
    linear-gradient(135deg,#111827 0%,#1f2937 100%);
}
.adg-home-area-card {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.075);
}
.adg-home-area-card span {
  background: rgba(217,40,39,.30);
  border: 1px solid rgba(255,255,255,.16);
}
.adg-home-reviews {
  background:
    linear-gradient(180deg, #ffffff 0%, #fff7f7 100%);
}
.adg-home-review-card {
  border-color: rgba(217,40,39,.12);
  box-shadow: 0 14px 38px rgba(15,23,42,.055);
}
.adg-home-review-card:before {
  content: "“";
  display: block;
  color: var(--adg-primary);
  font-family: Georgia, serif;
  font-size: 36px;
  line-height: .7;
  margin-bottom: 4px;
}
.adg-home-price-card {
  position: relative;
}
.adg-home-price-card .adg-home-icon {
  border: 1px solid rgba(217,40,39,.12);
}
.adg-home-price-card-featured {
  background: linear-gradient(180deg, #fff 0%, #fff7f7 100%);
}
.adg-home-explore-grid {
  border-color: rgba(217,40,39,.12);
  background:
    radial-gradient(circle at 100% 0%, rgba(217,40,39,.08), transparent 35%),
    linear-gradient(135deg,#fff 0%,#fff7f7 100%);
}
.adg-home-contact-card {
  background:
    radial-gradient(circle at 100% 100%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg,var(--adg-primary),var(--adg-primary-dark));
}
@media (max-width:1024px) {
  .adg-home-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width:720px) {
  .adg-home-guide-grid { grid-template-columns: 1fr; }
  .adg-home-guide-card { padding: 20px; }
  .adg-home-guide-card .adg-home-icon { width: 40px; height: 40px; }
  .adg-home-guide-card .adg-home-icon svg { width: 20px; height: 20px; }
  .adg-home-guide-label { min-height: 23px; font-size: 10px; }
}


/* v1.3.5 Homepage pricing badge + service area copy/icon polish */
.adg-home-price-card-featured {
  padding-top: 52px;
}
.adg-home-price-card-featured .adg-popular-badge {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  min-height: 24px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
  box-shadow: 0 10px 22px rgba(217,40,39,.18);
  z-index: 2;
}
.adg-home-price-card-featured > .adg-home-icon {
  margin-top: 8px;
}
.adg-home-area-card span {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(217,40,39,.28);
}
.adg-home-area-card svg {
  width: 21px;
  height: 21px;
}
.adg-home-area-card h3 {
  font-weight: 650;
  letter-spacing: -.025em;
}
.adg-home-area-card p {
  opacity: .88;
}
@media (max-width:720px) {
  .adg-home-price-card-featured { padding-top: 50px; }
  .adg-home-price-card-featured .adg-popular-badge { top: 16px; }
}

/* v1.3.6 Homepage conversion completion: hero proof, reviews summary, pricing badge, floating contact */
.adg-home-hero-proof {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
  max-width:780px;
}
.adg-home-hero-proof span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(217,40,39,.14);
  color:#1f2937;
  font-size:13px;
  font-weight:620;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.adg-home-hero-proof svg {
  width:15px;
  height:15px;
  color:var(--adg-primary);
  flex:0 0 auto;
}
.adg-home-credentials span {
  min-height:50px;
  background:rgba(255,255,255,.92);
}
.adg-review-summary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:12px auto 0;
  padding:10px 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(217,40,39,.14);
  box-shadow:0 10px 28px rgba(15,23,42,.055);
  color:var(--adg-heading);
}
.adg-review-summary strong {
  font-family:var(--adg-display);
  color:var(--adg-primary);
  font-size:20px;
  line-height:1;
  letter-spacing:-.02em;
}
.adg-review-summary .adg-stars {
  font-size:16px;
}
.adg-review-summary span:last-child {
  color:var(--adg-text);
  font-size:13px;
  font-weight:620;
}
.adg-home-price-card-featured {
  padding-top:34px;
}
.adg-home-price-card-featured .adg-popular-badge {
  position:static;
  transform:none;
  margin:0 auto 18px;
  min-height:28px;
  padding:0 16px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:720;
  letter-spacing:.035em;
  box-shadow:0 10px 22px rgba(217,40,39,.16);
}
.adg-home-price-card-featured > .adg-home-icon {
  margin-top:0;
}
.adg-floating-contact {
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
}
.adg-floating-contact a {
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:720;
  box-shadow:0 14px 34px rgba(15,23,42,.20);
  transition:transform .18s ease, box-shadow .18s ease;
}
.adg-floating-contact a:hover {
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(15,23,42,.24);
}
.adg-floating-contact svg {
  width:18px;
  height:18px;
  flex:0 0 auto;
}
.adg-floating-call {
  background:linear-gradient(135deg,var(--adg-primary),var(--adg-primary-dark));
}
.adg-floating-whatsapp {
  background:linear-gradient(135deg,#25D366,#128C7E);
}
@media (max-width:720px) {
  .adg-home-hero-proof {
    gap:8px;
    margin-top:18px;
  }
  .adg-home-hero-proof span {
    min-height:30px;
    padding:0 10px;
    font-size:12px;
  }
  .adg-review-summary {
    flex-wrap:wrap;
    border-radius:18px;
    padding:12px 14px;
  }
  .adg-floating-contact {
    left:12px;
    right:12px;
    bottom:12px;
    flex-direction:row;
  }
  .adg-floating-contact a {
    flex:1 1 0;
    justify-content:center;
    padding:0 10px;
  }
}

/* v1.3.7 Homepage hero cleanup: remove duplicate proof row, fix floating contacts and WhatsApp icon */
.adg-home-hero-inner {
  gap: 26px;
}
.adg-home-credentials {
  display: none;
}
.adg-floating-contact svg[viewBox="0 0 32 32"] {
  fill: currentColor;
  stroke: none;
}
.adg-floating-whatsapp svg {
  color: #fff;
}
/* Keep common theme scroll-to-top buttons above the floating contact actions. */
#ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right,
.ast-scroll-to-top-left,
.ast-scroll-to-top,
.scroll-to-top,
#scroll-top,
.back-to-top {
  bottom: 124px;
}
@media (max-width: 720px) {
  .adg-home-hero-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #ast-scroll-top,
  .ast-scroll-top-icon,
  .ast-scroll-to-top-right,
  .ast-scroll-to-top-left,
  .ast-scroll-to-top,
  .scroll-to-top,
  #scroll-top,
  .back-to-top {
    bottom: 76px;
  }
  body:has(.adg-floating-contact) {
    padding-bottom: 74px;
  }
}

/* v1.4.0 Pricing shortcode page */
.adg-pricing-page {
  font-family: var(--adg-body);
  color: var(--adg-text);
  background: #fff;
}
.adg-pricing-hero {
  position: relative;
  padding: 112px 0 90px;
  overflow: hidden;
  background: linear-gradient(135deg,#fff 0%,#fff7f7 47%,#ffe1e1 100%);
}
.adg-pricing-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.84) 46%,rgba(217,40,39,.10)), var(--adg-home-hero-img, none);
  background-size: cover;
  background-position: center;
  opacity: 1;
}
.adg-pricing-hero:after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -210px;
  width: 520px;
  height: 520px;
  border-radius: 999px;
  background: rgba(217,40,39,.10);
}
.adg-pricing-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 820px;
}
.adg-pricing-hero h1 {
  margin: 22px 0 16px;
  font-size: clamp(44px,6vw,76px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
  color: var(--adg-heading);
  font-family: var(--adg-display);
}
.adg-pricing-hero p {
  max-width: 720px;
  margin: 0;
  font-size: clamp(17px,2vw,21px);
  line-height: 1.65;
  color: #334155;
}
.adg-pricing-price-grid .adg-home-price-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.adg-pricing-price-grid .adg-home-price-card .adg-btn {
  margin-top: auto;
}
.adg-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: grid;
  gap: 10px;
  text-align: left;
}
.adg-pricing-features li {
  position: relative;
  padding-left: 26px;
  color: #334155;
  font-size: 14px;
  line-height: 1.45;
}
.adg-pricing-features li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--adg-primary-soft);
  color: var(--adg-primary);
  font-weight: 800;
  font-size: 11px;
}
.adg-pricing-compare-wrap {
  max-width: 1120px;
}
.adg-pricing-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(217,40,39,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(15,23,42,.055);
}
.adg-pricing-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
  font-size: 15px;
}
.adg-pricing-table th,
.adg-pricing-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid var(--adg-border);
  vertical-align: top;
}
.adg-pricing-table th {
  background: linear-gradient(180deg,#fff7f7,#fff);
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-weight: 650;
}
.adg-pricing-table tr:last-child td {
  border-bottom: 0;
}
.adg-pricing-table td:first-child {
  font-weight: 700;
  color: var(--adg-heading);
}
.adg-pricing-table a {
  color: var(--adg-primary);
  font-weight: 700;
  text-decoration: none;
}
.adg-pricing-contact-panel {
  background: #fff;
  border: 1px solid rgba(217,40,39,.14);
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 14px 42px rgba(15,23,42,.06);
}
.adg-pricing-contact-panel h3 {
  margin: 0 0 18px;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.adg-pricing-contact-panel a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 13px 15px;
  border-radius: 14px;
  border: 1px solid var(--adg-border);
  background: #fff;
  color: var(--adg-heading);
  text-decoration: none;
  font-weight: 650;
  margin-top: 10px;
  box-shadow: 0 8px 22px rgba(15,23,42,.035);
}
.adg-pricing-contact-panel a:after {
  content: "→";
  color: var(--adg-primary);
}
.adg-pricing-contact-panel a:hover {
  border-color: rgba(217,40,39,.28);
  color: var(--adg-primary);
}
@media (max-width: 720px) {
  .adg-pricing-hero {
    padding: 88px 0 56px;
  }
  .adg-pricing-hero h1 {
    font-size: 42px;
  }
  .adg-pricing-hero p {
    font-size: 16px;
  }
  .adg-pricing-contact-panel {
    padding: 24px 18px;
    border-radius: 18px;
  }
}

/* Contact page shortcode */
.adg-contact-methods-section {
  padding-top: 64px;
}

.adg-contact-method-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.adg-contact-method-card {
  background: #fff;
  border: 1px solid rgba(217, 40, 39, .14);
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .055);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.adg-contact-method-card:hover {
  transform: translateY(-3px);
  border-color: rgba(217, 40, 39, .34);
  box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

.adg-contact-method-card h3 {
  margin: 14px 0 8px;
  color: var(--adg-heading);
  font: 600 21px/1.22 var(--adg-display);
  letter-spacing: -.025em;
}

.adg-contact-method-card p {
  margin: 0 0 14px;
  color: var(--adg-text);
  font: 400 15px/1.65 var(--adg-body);
}

.adg-contact-method-card a {
  color: var(--adg-primary);
  font: 650 13px/1.2 var(--adg-body);
  text-decoration: none;
}

.adg-contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 28px;
  align-items: start;
}

.adg-contact-form-card,
.adg-contact-info-panel {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .055);
  padding: 32px;
}

.adg-contact-form-card h2,
.adg-contact-info-panel h3 {
  margin: 12px 0 10px;
  color: var(--adg-heading);
  font: 600 32px/1.1 var(--adg-display);
  letter-spacing: -.04em;
}

.adg-contact-form-card p,
.adg-contact-info-panel p {
  color: var(--adg-text);
  font: 400 16px/1.7 var(--adg-body);
}

.adg-fluent-form-wrap {
  margin-top: 22px;
}

.adg-fluent-form-wrap input,
.adg-fluent-form-wrap textarea,
.adg-fluent-form-wrap select {
  border-radius: 12px;
  border-color: var(--adg-border);
}

/* Fluent Forms phone selector must stay neutral.
   Do not target .iti__flag with background shorthand — flags use sprite backgrounds. */
.adg-fluent-form-wrap .iti {
  width: 100%;
}

.adg-fluent-form-wrap .iti__selected-country,
.adg-fluent-form-wrap .iti__selected-country:hover,
.adg-fluent-form-wrap .iti__selected-country:focus,
.adg-fluent-form-wrap .iti__selected-country:active,
.adg-fluent-form-wrap .iti__selected-country-primary {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

.adg-fluent-form-wrap .iti__selected-country {
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 48px !important;
  padding: 0 10px !important;
}

.adg-fluent-form-wrap .iti__selected-country-primary {
  gap: 8px;
}

/* Preserve International Telephone Input flag sprites. */
.adg-fluent-form-wrap .iti__flag {
  flex: 0 0 auto;
  margin-right: 6px;
}

/* Improve the country dropdown without breaking plugin flag CSS. */
.adg-fluent-form-wrap .iti__dropdown-content {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .14);
  margin-top: 8px;
  overflow: hidden;
  padding: 10px;
  z-index: 99999;
}

.adg-fluent-form-wrap .iti__search-input {
  width: 100% !important;
  min-height: 46px;
  box-sizing: border-box;
  border: 1px solid var(--adg-border) !important;
  border-radius: 12px !important;
  margin: 0 0 8px !important;
  padding: 11px 14px !important;
  color: var(--adg-heading);
  background: #fff;
  box-shadow: none !important;
}

.adg-fluent-form-wrap .iti__search-input:focus {
  border-color: var(--adg-primary) !important;
  box-shadow: 0 0 0 3px rgba(217, 40, 39, .10) !important;
  outline: none !important;
}

.adg-fluent-form-wrap .iti__country-list {
  margin: 0 !important;
  padding: 4px 0 !important;
  max-height: 280px;
  overflow-y: auto;
}

.adg-fluent-form-wrap .iti__country {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  border-radius: 10px;
  padding: 8px 10px !important;
  color: var(--adg-text);
}

.adg-fluent-form-wrap .iti__country:hover,
.adg-fluent-form-wrap .iti__country.iti__highlight {
  background: #f9fafb !important;
}

.adg-fluent-form-wrap .iti__country-name {
  color: var(--adg-text);
  font-weight: 500;
}

.adg-fluent-form-wrap .iti__dial-code {
  color: #8b95a1;
}

.adg-fluent-form-wrap .iti__arrow {
  border-top-color: #6b7280 !important;
}

/* Style only the real Fluent Forms submit button. */
.adg-fluent-form-wrap .fluentform .ff-btn-submit,
.adg-fluent-form-wrap .ff-btn.ff-btn-submit,
.adg-fluent-form-wrap button.ff-btn-submit,
.adg-fluent-form-wrap input[type=submit].ff-btn-submit {
  background: var(--adg-primary) !important;
  border: 1px solid var(--adg-primary) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 650 !important;
  box-shadow: 0 12px 26px rgba(217, 40, 39, .20);
  transition: background .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}

.adg-fluent-form-wrap .fluentform .ff-btn-submit:hover,
.adg-fluent-form-wrap .fluentform .ff-btn-submit:focus,
.adg-fluent-form-wrap .ff-btn.ff-btn-submit:hover,
.adg-fluent-form-wrap .ff-btn.ff-btn-submit:focus,
.adg-fluent-form-wrap button.ff-btn-submit:hover,
.adg-fluent-form-wrap button.ff-btn-submit:focus,
.adg-fluent-form-wrap input[type=submit].ff-btn-submit:hover,
.adg-fluent-form-wrap input[type=submit].ff-btn-submit:focus {
  background: var(--adg-primary-dark) !important;
  border-color: var(--adg-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(217, 40, 39, .26);
}

.adg-form-placeholder {
  margin-top: 22px;
  padding: 24px;
  border-radius: 16px;
  background: var(--adg-primary-soft);
  border: 1px solid rgba(217, 40, 39, .18);
}

.adg-form-placeholder code {
  background: #fff;
  border: 1px solid rgba(217, 40, 39, .16);
  border-radius: 6px;
  padding: 2px 6px;
}

.adg-contact-info-panel {
  position: sticky;
  top: 110px;
}

.adg-contact-info-panel .adg-home-checklist {
  margin: 18px 0 24px;
}

.adg-contact-mini-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px;
  margin-top: 12px;
  border-radius: 14px;
  background: #fff7f7;
  border: 1px solid rgba(217, 40, 39, .14);
}

.adg-contact-mini-card svg {
  width: 20px;
  height: 20px;
  color: var(--adg-primary);
  flex: 0 0 auto;
  margin-top: 2px;
}

.adg-contact-mini-card strong {
  display: block;
  color: var(--adg-heading);
  font: 650 14px/1.25 var(--adg-body);
}

.adg-contact-mini-card span {
  display: block;
  margin-top: 3px;
  color: var(--adg-text);
  font: 400 14px/1.5 var(--adg-body);
}

.adg-contact-map-section .adg-home-contact-card {
  min-height: 420px;
}

.adg-contact-map-section .adg-home-map,
.adg-contact-map-section .adg-home-map iframe {
  min-height: 420px;
}

@media (max-width: 980px) {
  .adg-contact-method-grid,
  .adg-contact-main-grid {
    grid-template-columns: 1fr;
  }
  .adg-contact-info-panel {
    position: static;
  }
}

@media (max-width: 640px) {
  .adg-contact-method-card,
  .adg-contact-form-card,
  .adg-contact-info-panel {
    padding: 22px;
    border-radius: 16px;
  }
  .adg-contact-form-card h2,
  .adg-contact-info-panel h3 {
    font-size: 26px;
  }
}



/* v1.5.0 About page shortcode + global page image support */
.adg-about-page .adg-about-intro .adg-home-image-card img,
.adg-about-page .adg-about-final-cta .adg-home-image-card img { object-position:center; }
.adg-about-page .adg-home-contact-card .adg-btn-primary:hover { background:#fff; color:var(--adg-primary-dark); }


/* v1.5.1 About page instructor profile completion */
.adg-about-instructors {
  background: #fff;
}
.adg-about-profile-stack {
  display: grid;
  gap: 28px;
}
.adg-about-profile-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 4vw, 44px);
  align-items: center;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 30px;
  background: linear-gradient(135deg, #fff, #fff7f7);
  box-shadow: 0 20px 58px rgba(15, 23, 42, .08);
}
.adg-about-profile-card-reverse .adg-about-profile-media {
  order: 2;
}
.adg-about-profile-media {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--adg-primary-soft), #fff);
  display: flex;
  align-items: center;
  justify-content: center;
}
.adg-about-profile-media img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
}
.adg-about-profile-placeholder svg {
  width: 78px;
  height: 78px;
  color: var(--adg-primary);
}
.adg-about-profile-copy h2 {
  margin: 8px 0 14px;
  font-family: var(--adg-display);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.06;
  letter-spacing: -.045em;
  color: var(--adg-heading);
  font-weight: 650;
}
.adg-about-profile-copy p {
  margin: 0 0 18px;
  color: var(--adg-text);
  font-size: 17px;
  line-height: 1.7;
}
.adg-about-profile-list {
  margin-bottom: 18px;
}
.adg-about-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.adg-about-trust-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(217, 40, 39, .14);
  color: var(--adg-primary-dark);
  font-size: 13px;
  font-weight: 720;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.adg-about-trust-row svg {
  width: 16px;
  height: 16px;
}
@media (max-width: 900px) {
  .adg-about-profile-card {
    grid-template-columns: 1fr;
  }
  .adg-about-profile-card-reverse .adg-about-profile-media {
    order: 0;
  }
  .adg-about-profile-media,
  .adg-about-profile-media img {
    min-height: 280px;
  }
}
@media (max-width: 560px) {
  .adg-about-profile-card {
    padding: 14px;
    border-radius: 24px;
  }
  .adg-about-profile-media {
    border-radius: 20px;
  }
  .adg-about-profile-copy h2 {
    font-size: 30px;
  }
  .adg-about-profile-copy p {
    font-size: 16px;
  }
  .adg-about-trust-row span {
    width: 100%;
    justify-content: center;
  }
}


/* FAQ page shortcode */
.adg-faq-categories-section { background:#fff; }
.adg-faq-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.adg-faq-category-card {
  display:flex;
  flex-direction:column;
  min-height:190px;
  padding:22px;
  border:1px solid var(--adg-border);
  border-radius:20px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 12px 34px rgba(15,23,42,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.adg-faq-category-card:hover { transform:translateY(-3px); border-color:rgba(217,40,39,.32); box-shadow:0 18px 45px rgba(15,23,42,.08); color:inherit; }
.adg-faq-category-card .adg-home-icon { margin-bottom:16px; }
.adg-faq-category-card h3 { margin:0 0 9px; color:var(--adg-heading); font-size:18px; font-weight:650; line-height:1.18; }
.adg-faq-category-card p { margin:0; color:var(--adg-text); font-size:14px; line-height:1.55; }
.adg-faq-group-section { background:var(--adg-bg-soft); scroll-margin-top:100px; }
.adg-faq-group-section:nth-of-type(odd) { background:#fff; }
.adg-faq-group-grid { display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:34px; align-items:start; }
.adg-faq-group-intro { position:sticky; top:96px; padding:30px; border:1px solid var(--adg-border); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(15,23,42,.045); }
.adg-faq-group-intro h2 { margin:12px 0 14px; color:var(--adg-heading); font-size:clamp(28px,3.2vw,42px); line-height:1.06; font-weight:650; letter-spacing:-.035em; }
.adg-faq-group-intro p { margin:0; color:var(--adg-text); font-size:15px; line-height:1.75; }
.adg-faq-page-list { margin:0; padding:14px; border-radius:22px; }
.adg-faq-page-list .adg-faq-page-item { margin:0 0 10px; border-radius:14px; }
.adg-faq-page-list .adg-faq-page-item:last-child { margin-bottom:0; }
.adg-faq-page-list .adg-faq-item summary { padding:18px 54px 18px 18px; }
.adg-faq-page-list .adg-faq-answer { padding:0 18px 18px; }
.adg-faq-page-help-panel { background:#fff; }
@media (max-width:1100px) {
  .adg-faq-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .adg-faq-group-grid { grid-template-columns:1fr; gap:18px; }
  .adg-faq-group-intro { position:relative; top:auto; }
}
@media (max-width:720px) {
  .adg-faq-category-grid { grid-template-columns:1fr; }
  .adg-faq-category-card { min-height:auto; }
  .adg-faq-group-intro { padding:22px; }
  .adg-faq-page-list { padding:10px; }
}

/* v1.5.4 Road Signs Ireland shortcode page */
.adg-road-signs-page {
  font-family: var(--adg-body);
  color: var(--adg-text);
  background:#fff;
}
.adg-road-signs-intro-section,
.adg-road-signs-category-section,
.adg-road-signs-chart-section,
.adg-road-signs-faq-section {
  background:#fff;
}
.adg-road-signs-images-section,
.adg-road-signs-lesson-section {
  background:var(--adg-bg-soft);
}
.adg-road-signs-intro-media,
.adg-road-signs-cta-media,
.adg-road-signs-chart-media {
  min-height: 390px;
  border-radius: 28px;
  overflow:hidden;
  border:1px solid rgba(217,40,39,.14);
  background:linear-gradient(135deg,#fff7f7,#ffffff);
  box-shadow:0 20px 60px rgba(15,23,42,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}
.adg-road-signs-intro-media img,
.adg-road-signs-cta-media img,
.adg-road-signs-chart-media img,
.adg-road-signs-image-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.adg-road-signs-image-placeholder span {
  width:92px;
  height:92px;
  border-radius:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(217,40,39,.10);
  color:var(--adg-primary);
}
.adg-road-signs-image-placeholder svg {
  width:44px;
  height:44px;
}
.adg-road-signs-study-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.adg-road-signs-study-card {
  padding:24px;
  border:1px solid var(--adg-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.adg-road-signs-study-card:hover {
  transform:translateY(-3px);
  border-color:rgba(217,40,39,.28);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.adg-road-signs-study-card .adg-home-icon { margin-bottom:16px; }
.adg-road-signs-study-card h3 {
  margin:0 0 10px;
  color:var(--adg-heading);
  font-size:20px;
  line-height:1.15;
  font-weight:650;
}
.adg-road-signs-study-card p {
  margin:0;
  color:var(--adg-text);
  font-size:15px;
  line-height:1.65;
}
.adg-road-signs-image-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.adg-road-signs-image-panel {
  overflow:hidden;
  border:1px solid var(--adg-border);
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 42px rgba(15,23,42,.055);
}
.adg-road-signs-image-frame {
  height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#fff7f7,#ffffff);
  border-bottom:1px solid var(--adg-border);
}
.adg-road-signs-image-copy {
  padding:22px 24px 24px;
}
.adg-road-signs-image-copy h3 {
  margin:0 0 8px;
  color:var(--adg-heading);
  font-size:22px;
  line-height:1.16;
  font-weight:650;
  letter-spacing:-.02em;
}
.adg-road-signs-image-copy p {
  margin:0;
  color:var(--adg-text);
  font-size:15px;
  line-height:1.65;
}
.adg-road-signs-meaning-grid {
  display:grid;
  grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
  gap:34px;
  align-items:start;
}
.adg-road-signs-meaning-copy {
  position:sticky;
  top:96px;
  padding:30px;
  border:1px solid var(--adg-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.045);
}
.adg-road-signs-meaning-copy h2 {
  margin:12px 0 14px;
  color:var(--adg-heading);
  font-size:clamp(30px,3.2vw,44px);
  line-height:1.05;
  font-weight:650;
  letter-spacing:-.04em;
}
.adg-road-signs-meaning-copy p {
  margin:0;
  color:var(--adg-text);
  font-size:16px;
  line-height:1.75;
}
.adg-road-signs-meaning-list {
  display:grid;
  gap:14px;
}
.adg-road-signs-meaning-list div {
  padding:20px 22px;
  border:1px solid var(--adg-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.04);
}
.adg-road-signs-meaning-list strong {
  display:block;
  margin-bottom:6px;
  color:var(--adg-heading);
  font-size:17px;
  line-height:1.25;
}
.adg-road-signs-meaning-list span {
  display:block;
  color:var(--adg-text);
  font-size:15px;
  line-height:1.6;
}
.adg-road-signs-chart-card,
.adg-road-signs-cta-card {
  display:grid;
  grid-template-columns:minmax(0,.48fr) minmax(0,.52fr);
  gap:28px;
  align-items:center;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(217,40,39,.14);
  background:linear-gradient(135deg,#fff,#fff7f7);
  box-shadow:0 22px 70px rgba(15,23,42,.08);
}
.adg-road-signs-chart-copy h2,
.adg-road-signs-cta-copy h2 {
  margin:12px 0 14px;
  color:var(--adg-heading);
  font-size:clamp(32px,3.4vw,48px);
  line-height:1.04;
  font-weight:650;
  letter-spacing:-.045em;
}
.adg-road-signs-chart-copy p,
.adg-road-signs-cta-copy p {
  margin:0 0 20px;
  color:var(--adg-text);
  font-size:16px;
  line-height:1.75;
}
.adg-road-signs-chart-media {
  min-height:520px;
  background:#fff;
}
.adg-road-signs-chart-media img {
  object-fit:contain;
  padding:18px;
  background:#fff;
}
.adg-road-signs-cta-section {
  background:linear-gradient(135deg,var(--adg-primary-dark),var(--adg-primary));
}
.adg-road-signs-cta-card {
  background:rgba(255,255,255,.96);
}
.adg-road-signs-cta-media {
  min-height:340px;
}
.adg-road-signs-faq-section .adg-faq-wrap { max-width:920px; }
@media (max-width:1100px) {
  .adg-road-signs-study-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adg-road-signs-image-frame { height:320px; }
}
@media (max-width:900px) {
  .adg-road-signs-image-grid,
  .adg-road-signs-meaning-grid,
  .adg-road-signs-chart-card,
  .adg-road-signs-cta-card {
    grid-template-columns:1fr;
  }
  .adg-road-signs-meaning-copy { position:relative; top:auto; }
  .adg-road-signs-chart-media { min-height:420px; }
}
@media (max-width:720px) {
  .adg-road-signs-study-grid { grid-template-columns:1fr; }
  .adg-road-signs-image-frame { height:280px; }
  .adg-road-signs-chart-card,
  .adg-road-signs-cta-card { padding:18px; border-radius:24px; }
  .adg-road-signs-intro-media,
  .adg-road-signs-cta-media { min-height:280px; }
  .adg-road-signs-chart-media { min-height:360px; }
}

/* v1.5.7 Pricing page completion */
.adg-pricing-value-section .adg-home-icon-card {
  min-height: 100%;
}
.adg-pricing-manual-note {
  margin: 28px auto 0;
  max-width: 900px;
  padding: 18px 20px;
  border: 1px solid rgba(217,40,39,.16);
  border-radius: 18px;
  background: linear-gradient(135deg,#fff,#fff7f7);
  color: var(--adg-heading);
  font-size: 15px;
  line-height: 1.6;
  box-shadow: 0 12px 28px rgba(15,23,42,.045);
}
.adg-pricing-manual-note strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--adg-primary);
  margin-right: 4px;
}
.adg-pricing-manual-note svg {
  width: 18px;
  height: 18px;
}
.adg-pricing-cta-image {
  width: 100%;
  max-height: 210px;
  object-fit: cover;
  border-radius: 18px;
  margin: 0 0 22px;
  box-shadow: 0 12px 26px rgba(15,23,42,.08);
}
@media (max-width: 720px) {
  .adg-pricing-manual-note {
    padding: 16px;
    font-size: 14px;
  }
  .adg-pricing-manual-note strong {
    display: flex;
    margin: 0 0 6px;
  }
}

/* v1.5.8 Road Signs image viewer and flexible image handling */
.adg-road-signs-image-panel {
  display:flex;
  flex-direction:column;
}
.adg-road-signs-image-frame {
  height:auto;
  min-height:300px;
  max-height:460px;
  padding:18px;
  background:#fff;
}
.adg-road-signs-image-frame--contain img,
.adg-road-signs-intro-media img,
.adg-road-signs-cta-media img {
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
}
.adg-road-signs-image-link {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:260px;
  text-decoration:none;
  background:#fff;
  border-radius:18px;
}
.adg-road-signs-image-link img {
  display:block;
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
}
.adg-road-signs-view-badge {
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(17,24,39,.86);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:700;
  box-shadow:0 10px 24px rgba(15,23,42,.22);
  opacity:0;
  transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease;
}
.adg-road-signs-image-link:hover .adg-road-signs-view-badge,
.adg-road-signs-image-link:focus .adg-road-signs-view-badge {
  opacity:1;
  transform:translateY(0);
}
.adg-road-signs-open-link {
  display:inline-flex;
  margin-top:14px;
  font-weight:700;
  font-size:14px;
  color:var(--adg-primary);
  text-decoration:none;
}
.adg-road-signs-open-link:hover { text-decoration:underline; }
.adg-road-signs-mini-gallery,
.adg-road-signs-chart-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.adg-road-signs-mini-thumb {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:120px;
  padding:8px;
  overflow:hidden;
  border:1px solid var(--adg-border);
  border-radius:16px;
  background:#fff;
  text-decoration:none;
}
.adg-road-signs-mini-thumb img {
  width:100%;
  height:auto;
  max-height:150px;
  object-fit:contain;
  display:block;
}
.adg-road-signs-mini-thumb span {
  position:absolute;
  right:8px;
  bottom:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(17,24,39,.82);
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:700;
  opacity:0;
  transition:opacity .18s ease;
}
.adg-road-signs-mini-thumb:hover span,
.adg-road-signs-mini-thumb:focus span { opacity:1; }
.adg-road-signs-chart-card { align-items:start; }
.adg-road-signs-chart-media { min-height:520px; padding:14px; }
.adg-road-signs-chart-media .adg-road-signs-image-link { min-height:490px; }
.adg-road-signs-chart-media img { max-height:760px; object-fit:contain; padding:0; }
.adg-road-signs-chart-gallery {
  grid-column:1 / -1;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
@media (max-width:900px) {
  .adg-road-signs-image-frame { min-height:260px; max-height:420px; }
  .adg-road-signs-mini-gallery,
  .adg-road-signs-chart-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .adg-road-signs-chart-media .adg-road-signs-image-link { min-height:360px; }
}
@media (max-width:560px) {
  .adg-road-signs-image-grid { gap:16px; }
  .adg-road-signs-image-frame { min-height:220px; padding:12px; }
  .adg-road-signs-image-link { min-height:210px; }
  .adg-road-signs-view-badge { opacity:1; transform:none; }
  .adg-road-signs-mini-gallery,
  .adg-road-signs-chart-gallery { grid-template-columns:1fr 1fr; }
  .adg-road-signs-mini-thumb { min-height:100px; }
}


/* v1.5.12 Universal shortcode hero alignment — Home hero is the baseline (about/pricing/contact/faq/road-signs match). */
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) {
  position: relative;
  min-height: 560px;
  padding: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg,#fff 0%,#fff7f7 47%,#ffe1e1 100%);
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero)::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.78) 45%,rgba(217,40,39,.12)), var(--adg-home-hero-img, none);
  background-size: cover;
  background-position: center;
  opacity: 1;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero)::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -180px;
  width: 520px;
  height: 520px;
  border-radius: 999px;
  background: rgba(217,40,39,.10);
}
.adg-page.adg-home :where(.adg-home-hero-inner,.adg-pricing-hero-inner) {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  display: grid;
  gap: 26px;
}
.adg-page.adg-home :where(.adg-home-hero-copy) {
  max-width: 720px;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 0 13px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(217,40,39,.18);
  color: var(--adg-primary);
  font-family: var(--adg-display);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-kicker svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) h1 {
  max-width: 780px;
  margin: 22px 0 16px;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: clamp(44px,6vw,78px);
  font-weight: 700;
  line-height: .96;
  letter-spacing: -.05em;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) p {
  max-width: 720px;
  margin: 0;
  color: #334155;
  font-family: var(--adg-body);
  font-size: clamp(17px,2vw,21px);
  font-weight: 400;
  line-height: 1.65;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-hero-proof {
  max-width: 780px;
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-hero-proof span {
  min-height: 32px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(217,40,39,.14);
  box-shadow: 0 8px 22px rgba(15,23,42,.05);
  color: #1f2937;
  font-family: var(--adg-body);
  font-size: 13px;
  font-weight: 620;
  line-height: 1.2;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-hero-proof svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  color: var(--adg-primary);
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-actions .adg-btn {
  min-height: 46px;
  padding: 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--adg-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  border-radius: 999px;
}
.adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-actions .adg-btn svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.adg-page.adg-home .adg-contact-hero .adg-home-hero-copy,
.adg-page.adg-home .adg-pricing-hero .adg-home-hero-copy,
.adg-page.adg-home .adg-faq-hero .adg-home-hero-copy,
.adg-page.adg-home .adg-road-signs-hero .adg-home-hero-copy,
.adg-page.adg-home .adg-about-hero .adg-home-hero-copy {
  max-width: 720px;
}
@media (max-width: 1024px) {
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) {
    min-height: 560px;
  }
}
@media (max-width: 720px) {
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) {
    min-height: auto;
    padding: 88px 0 44px;
    align-items: flex-start;
  }
  .adg-page.adg-home :where(.adg-home-hero-inner,.adg-pricing-hero-inner) {
    padding-left: 18px;
    padding-right: 18px;
  }
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) h1 {
    margin-top: 18px;
    margin-bottom: 14px;
    font-size: 42px;
    line-height: 1;
  }
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) p {
    font-size: 16px;
    line-height: 1.65;
  }
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-hero-proof {
    margin-top: 18px;
    gap: 8px;
  }
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-hero-proof span {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px;
  }
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) .adg-home-actions .adg-btn {
    width: 100%;
    min-height: 46px;
  }
}
@media (max-width: 480px) {
  .adg-page.adg-home :where(.adg-home-hero,.adg-pricing-hero,.adg-contact-hero,.adg-about-hero,.adg-faq-hero,.adg-road-signs-hero) h1 {
    font-size: clamp(34px,10vw,42px);
  }
}


/* v1.5.13 Testimonials page */
.adg-testimonials-page .adg-testimonials-stat-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}
.adg-testimonials-page .adg-testimonials-stat-grid > div {
	background:#fff;
	border:1px solid rgba(17,24,39,.07);
	border-radius:18px;
	padding:18px 20px;
	box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.adg-testimonials-page .adg-testimonials-stat-grid strong {
	display:block;
	font-family:var(--adg-display);
	font-size:clamp(22px,2.2vw,32px);
	line-height:1.1;
	letter-spacing:-.02em;
	color:var(--adg-heading);
	margin-bottom:6px;
}
.adg-testimonials-page .adg-testimonials-stat-grid span {
	font-size:13px;
	font-weight:600;
	color:#6b7280;
}
.adg-testimonials-featured-grid,
.adg-testimonials-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.adg-testimonial-card {
	position:relative;
	display:flex;
	flex-direction:column;
	gap:12px;
	background:#fff;
	border:1px solid rgba(17,24,39,.07);
	border-radius:18px;
	padding:20px;
	box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.adg-testimonial-card-featured {
	border-color:rgba(217,40,39,.22);
	background:linear-gradient(180deg,#fff,#fff8f8);
}
.adg-testimonial-card-top {
	display:flex;
	align-items:center;
	gap:12px;
}
.adg-testimonial-avatar {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	border-radius:12px;
	background:var(--adg-primary-soft);
	color:var(--adg-primary);
	font-size:14px;
	font-weight:700;
	font-family:var(--adg-display);
	flex:0 0 auto;
}
.adg-testimonial-card h3 {
	margin:0;
	font-family:var(--adg-display);
	font-size:16px;
	line-height:1.2;
	font-weight:600;
	letter-spacing:-.01em;
	color:var(--adg-heading);
}
.adg-testimonial-card time {
	display:block;
	font-size:12px;
	font-weight:500;
	color:#7a8294;
	letter-spacing:.02em;
	margin-top:3px;
}
.adg-testimonial-text {
	margin:0;
	color:#3f4654;
	font-size:14.5px;
	line-height:1.6;
	display:-webkit-box;
	-webkit-line-clamp:6;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.adg-testimonial-text.is-open {
	display:block;
	-webkit-line-clamp:unset;
	overflow:visible;
}
.adg-testimonial-more {
	align-self:flex-start;
	background:none;
	border:0;
	padding:0;
	margin-top:-2px;
	font-size:13px;
	font-weight:600;
	color:var(--adg-primary);
	cursor:pointer;
}
.adg-testimonial-more:hover { text-decoration:underline; }
.adg-testimonial-label {
	margin-top:auto;
	align-self:flex-start;
	display:inline-flex;
	align-items:center;
	border-radius:999px;
	background:var(--adg-primary-soft);
	color:var(--adg-primary-dark);
	font-size:11px;
	font-weight:600;
	letter-spacing:.02em;
	padding:5px 9px;
}
.adg-testimonials-themes {
	background:linear-gradient(135deg,#fff7f7,#ffffff);
}
.adg-testimonials-year-nav {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 22px;
	padding:10px 0;
	position:sticky;
	top:72px;
	z-index:5;
	background:linear-gradient(180deg,#fff 80%,rgba(255,255,255,0));
}
.adg-testimonials-year-nav button,
.adg-testimonials-year-nav a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:32px;
	padding:6px 12px;
	border-radius:999px;
	background:#fff;
	border:1px solid rgba(17,24,39,.1);
	color:var(--adg-heading);
	text-decoration:none;
	font-size:13px;
	font-weight:600;
	font-family:inherit;
	cursor:pointer;
}
.adg-testimonials-year-nav button:hover,
.adg-testimonials-year-nav a:hover {
	border-color:var(--adg-primary);
	color:var(--adg-primary);
}
.adg-testimonials-year-nav button.is-active,
.adg-testimonials-year-nav a.is-active {
	background:var(--adg-primary);
	border-color:var(--adg-primary);
	color:#fff;
}
.adg-testimonials-year-stack {
	display:grid;
	gap:36px;
}
.adg-testimonials-year-group {
	scroll-margin-top:120px;
}
.adg-testimonials-year-group.is-hidden {
	display:none;
}
.adg-testimonials-year-head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	margin:0 0 16px;
	padding-bottom:10px;
	border-bottom:1px solid rgba(17,24,39,.08);
}
.adg-testimonials-year-head h3 {
	margin:0;
	font-family:var(--adg-display);
	font-size:clamp(20px,2vw,26px);
	line-height:1.1;
	letter-spacing:-.01em;
	font-weight:700;
	color:var(--adg-heading);
}
.adg-testimonials-year-head span {
	display:inline-flex;
	border-radius:999px;
	padding:5px 10px;
	font-size:12px;
	font-weight:600;
	background:var(--adg-primary-soft);
	color:var(--adg-primary-dark);
	white-space:nowrap;
}
@media (max-width: 1024px) {
	.adg-testimonials-page .adg-testimonials-stat-grid,
	.adg-testimonials-featured-grid,
	.adg-testimonials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
	.adg-testimonials-page .adg-testimonials-stat-grid,
	.adg-testimonials-featured-grid,
	.adg-testimonials-grid { grid-template-columns:1fr; }
	.adg-testimonial-card { padding:18px; border-radius:16px; }
	.adg-testimonials-year-head { align-items:flex-start; flex-direction:column; gap:6px; }
	.adg-testimonials-year-nav { top:0; }
}

/* v1.5.16 money service pages */
.adg-service-link-card {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.adg-service-link-card:hover,
.adg-service-link-card:focus-visible {
  color: inherit;
  text-decoration: none;
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--adg-primary) 36%, var(--adg-border));
  box-shadow: 0 18px 40px rgba(15, 23, 42, .10);
}
.adg-service-card-link {
  display: inline-flex;
  align-items: center;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--adg-primary);
}
.adg-service-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: start;
}
.adg-service-copy-stack {
  display: grid;
  gap: 18px;
}
.adg-service-text-card,
.adg-service-side-card {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
}
.adg-service-text-card h2 {
  margin: 0 0 10px;
  font-family: var(--adg-display);
  font-weight: 600;
  color: var(--adg-heading);
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.18;
}
.adg-service-text-card p,
.adg-service-side-card p {
  margin: 0;
  color: var(--adg-text);
  line-height: 1.75;
}
.adg-service-side-card {
  position: sticky;
  top: 110px;
  background: linear-gradient(145deg, #fff, var(--adg-primary-soft));
}
.adg-service-side-card h3 {
  margin: 8px 0 10px;
  font-family: var(--adg-display);
  font-weight: 600;
  color: var(--adg-heading);
  font-size: 22px;
}
.adg-service-side-card .adg-btn {
  margin-top: 18px;
  width: 100%;
  justify-content: center;
}
.adg-service-side-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-weight: 600;
  color: var(--adg-primary);
  text-decoration: none;
}
.adg-service-side-phone:hover {
  color: var(--adg-primary-dark);
}
.adg-service-page .adg-home-contact-details {
  align-content: start;
}
@media (max-width: 920px) {
  .adg-service-content-grid {
    grid-template-columns: 1fr;
  }
  .adg-service-side-card {
    position: static;
  }
}
@media (max-width: 640px) {
  .adg-service-text-card,
  .adg-service-side-card {
    border-radius: 20px;
    padding: 20px;
  }
  .adg-service-card-link {
    margin-top: 10px;
  }
}
.adg-service-page .adg-home-contact-details {
  display: grid;
  gap: 14px;
}
.adg-service-page .adg-home-contact-details .adg-contact-mini-card {
  background: #fff;
}

/* v1.5.17 money page internal-link polish */
.adg-service-nav-section {
  background: #fff;
  border-bottom: 1px solid var(--adg-border);
  box-shadow: 0 12px 26px rgba(15, 23, 42, .04);
}
.adg-service-nav-section .adg-container {
  padding-top: 16px;
  padding-bottom: 16px;
}
.adg-service-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.adg-service-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 74px;
  padding: 12px 14px;
  border: 1px solid var(--adg-border);
  border-radius: 18px;
  background: #fff;
  color: var(--adg-heading);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.adg-service-nav-item:hover,
.adg-service-nav-item:focus-visible,
.adg-service-nav-item.is-active {
  color: var(--adg-heading);
  text-decoration: none;
  border-color: color-mix(in srgb, var(--adg-primary) 34%, var(--adg-border));
  background: linear-gradient(135deg, #fff, var(--adg-primary-soft));
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
  transform: translateY(-2px);
}
.adg-service-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 12px;
  color: var(--adg-primary);
  background: var(--adg-primary-soft);
}
.adg-service-nav-icon svg {
  width: 18px;
  height: 18px;
}
.adg-service-nav-item strong,
.adg-service-nav-item small {
  display: block;
}
.adg-service-nav-item strong {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}
.adg-service-nav-item small {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--adg-text);
}
.adg-service-price-strip-section {
  padding-top: 0;
}
.adg-service-price-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
  gap: 24px;
  align-items: center;
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--adg-primary) 20%, var(--adg-border));
  border-radius: 26px;
  background: linear-gradient(135deg, var(--adg-primary-soft), #fff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .07);
}
.adg-service-price-strip h2 {
  margin: 8px 0 8px;
  font-family: var(--adg-display);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.15;
  font-weight: 600;
  color: var(--adg-heading);
}
.adg-service-price-strip p {
  margin: 0;
  color: var(--adg-text);
  line-height: 1.7;
}
.adg-service-price-main-link {
  display: inline-flex;
  margin-top: 12px;
  font-weight: 600;
  color: var(--adg-primary);
  text-decoration: none;
}
.adg-service-price-main-link:hover { color: var(--adg-primary-dark); }
.adg-service-price-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.adg-service-price-mini-grid a {
  display: flex;
  min-height: 118px;
  flex-direction: column;
  justify-content: center;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--adg-border);
  background: #fff;
  color: var(--adg-heading);
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.adg-service-price-mini-grid a:hover,
.adg-service-price-mini-grid a:focus-visible {
  border-color: color-mix(in srgb, var(--adg-primary) 34%, var(--adg-border));
  box-shadow: 0 16px 34px rgba(15, 23, 42, .09);
  transform: translateY(-2px);
}
.adg-service-price-mini-grid strong {
  display: block;
  font-family: var(--adg-display);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  color: var(--adg-primary);
}
.adg-service-price-mini-grid span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--adg-text);
}
@media (max-width: 1100px) {
  .adg-service-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adg-service-price-strip { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .adg-service-nav { grid-template-columns: 1fr; }
  .adg-service-nav-item { min-height: auto; }
  .adg-service-price-strip { padding: 20px; border-radius: 22px; }
  .adg-service-price-mini-grid { grid-template-columns: 1fr; }
  .adg-service-price-mini-grid a { min-height: 92px; }
}

/* v1.5.24 Google-style review cards: inline G SVG, lighter typography, wider review cards */
.adg-home-reviews .adg-home-review-grid {
  align-items: stretch;
}
.adg-home-review-card.adg-google-review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 238px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(17,24,39,.07);
  box-shadow: 0 12px 32px rgba(15,23,42,.055);
  color: var(--adg-heading);
}
.adg-home-review-card.adg-google-review-card:before {
  content: none;
  display: none;
}
.adg-google-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.adg-google-reviewer {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 1 1 auto;
  gap: 12px;
}
.adg-google-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #eef2f7;
  color: #64748b;
  font-family: var(--adg-display);
  font-size: 17px;
  font-weight: 600;
  overflow: hidden;
}
.adg-google-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.adg-google-reviewer-meta {
  display: block;
  min-width: 0;
}
.adg-google-reviewer-meta strong {
  display: block;
  margin: 0 0 3px;
  max-width: none;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.adg-google-reviewer-meta time {
  display: block;
  color: #7a8294;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.3;
}
.adg-google-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #eef2f7;
  box-shadow: 0 4px 12px rgba(15,23,42,.06);
  line-height: 1;
}
.adg-google-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.adg-google-rating-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}
.adg-google-review-card .adg-stars {
  color: #fbbc04;
  font-size: 18px;
  letter-spacing: .5px;
  line-height: 1;
}
.adg-google-verified {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #4285f4;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(66,133,244,.28);
}
.adg-google-review-card p {
  margin: 0;
  color: #263244;
  font-size: 14.5px;
  line-height: 1.6;
}
.adg-google-read-more {
  display: inline-flex;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 14px;
  color: #7a8294;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}
.adg-google-read-more:hover {
  color: var(--adg-primary);
  text-decoration: underline;
}
.adg-testimonials-google-reviews {
  background: #fff;
}
.adg-testimonials-google-reviews .adg-home-section-head {
  margin-bottom: 28px;
}
.adg-testimonials-google-reviews .adg-home-review-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .adg-testimonials-google-reviews .adg-home-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .adg-home-review-card.adg-google-review-card {
    min-height: auto;
    padding: 20px;
  }
  .adg-google-reviewer-meta strong {
    max-width: none;
  }
  .adg-testimonials-google-reviews .adg-home-review-grid {
    grid-template-columns: 1fr;
  }
}

/* v1.5.25 Universal Google-style review UX: summary icon, 4-column reviews and inline Read more expansion */
.adg-review-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.adg-review-summary .adg-google-icon {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
  box-shadow: 0 3px 10px rgba(15,23,42,.055);
}
.adg-review-summary .adg-google-icon svg {
  width: 16px;
  height: 16px;
}
.adg-page .adg-home-reviews .adg-home-review-grid,
.adg-testimonials-page .adg-home-review-grid,
.adg-testimonials-page .adg-testimonials-grid,
.adg-testimonials-page .adg-testimonials-featured-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  min-height: 252px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(17,24,39,.07);
  box-shadow: 0 12px 32px rgba(15,23,42,.055);
}
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  font-size: 15px;
  font-weight: 560;
  letter-spacing: -.01em;
  max-width: 150px;
}
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta time,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta time {
  font-size: 12.5px;
  font-weight: 400;
  color: #7a8294;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  margin: 0;
  color: #263244;
  font-size: 14.5px;
  line-height: 1.58;
  display: block;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text:not(.is-open).is-collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.adg-google-review-card .adg-review-text.is-open,
.adg-archive-review-card .adg-testimonial-text.is-open {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more {
  align-self: flex-start;
  margin-top: auto;
  padding: 14px 0 0;
  border: 0;
  background: transparent;
  color: #8a8f99;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
}
.adg-google-read-more:hover,
.adg-testimonial-more.adg-review-more:hover {
  color: var(--adg-primary);
  text-decoration: underline;
}
.adg-google-source-link {
  align-self: flex-start;
  margin-top: 8px;
  color: #9aa1ad;
  font-size: 12px;
  font-weight: 500;
  text-decoration: none;
}
.adg-google-source-link:hover { color: var(--adg-primary); text-decoration: underline; }
.adg-archive-platform-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #e5e7eb;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  font-family: var(--adg-display);
  line-height: 1;
  box-shadow: 0 4px 12px rgba(15,23,42,.04);
}
.adg-archive-rating-row .adg-stars {
  color: #fbbc04;
  font-size: 18px;
  letter-spacing: .5px;
  line-height: 1;
}
.adg-testimonial-card.adg-archive-review-card .adg-testimonial-label {
  margin-top: 12px;
}
.adg-testimonials-year-head h3 {
  font-weight: 600;
}
@media (max-width: 1180px) {
  .adg-page .adg-home-reviews .adg-home-review-grid,
  .adg-testimonials-page .adg-home-review-grid,
  .adg-testimonials-page .adg-testimonials-grid,
  .adg-testimonials-page .adg-testimonials-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .adg-page .adg-home-reviews .adg-home-review-grid,
  .adg-testimonials-page .adg-home-review-grid,
  .adg-testimonials-page .adg-testimonials-grid,
  .adg-testimonials-page .adg-testimonials-featured-grid {
    grid-template-columns: 1fr;
  }
  .adg-review-summary {
    gap: 8px;
    text-align: center;
  }
  .adg-home-review-card.adg-google-review-card,
  .adg-testimonial-card.adg-archive-review-card {
    min-height: auto;
  }
}

/* v1.5.26 TrustIndex-style review carousel polish */
.adg-review-carousel {
  position: relative;
  width: 100%;
  margin-top: 4px;
}
.adg-review-viewport {
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0 2px 6px;
}
.adg-review-viewport::-webkit-scrollbar { display: none; }
.adg-review-track,
.adg-page .adg-home-reviews .adg-review-track,
.adg-testimonials-page .adg-review-track,
.adg-testimonials-page .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 18px !important;
  align-items: stretch;
}
.adg-review-track > .adg-home-review-card,
.adg-review-track > .adg-testimonial-card {
  flex: 0 0 calc((100% - 54px) / 4);
  min-width: calc((100% - 54px) / 4);
  scroll-snap-align: start;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  display: flex;
  flex-direction: column;
  min-height: 218px !important;
  padding: 18px !important;
  border-radius: 16px !important;
  background: #f7f7f7 !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
.adg-home-review-card.adg-google-review-card:hover,
.adg-testimonial-card.adg-archive-review-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
.adg-google-card-top,
.adg-testimonial-card-top.adg-google-card-top {
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.adg-google-avatar,
.adg-testimonial-avatar.adg-google-avatar {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  background: #e9eef5 !important;
  color: #6f7f91 !important;
}
.adg-google-reviewer-meta strong,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  font-size: 15px !important;
  font-weight: 550 !important;
  line-height: 1.18 !important;
  color: #111827 !important;
  max-width: 150px !important;
}
.adg-google-reviewer-meta time,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta time,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta time {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #777f8e !important;
  line-height: 1.25 !important;
}
.adg-google-rating-row,
.adg-archive-rating-row {
  margin: 7px 0 12px !important;
  gap: 7px !important;
}
.adg-stars {
  display: inline-flex;
  align-items: center;
  gap: 1.5px;
  color: #fbbc04 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
.adg-star-icon {
  width: 16px;
  height: 16px;
  display: block;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.04));
}
.adg-archive-rating-row .adg-stars { font-size: inherit !important; }
.adg-google-verified {
  width: 17px !important;
  height: 17px !important;
  font-size: 11px !important;
  box-shadow: 0 2px 6px rgba(66,133,244,.22) !important;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  font-size: 14px !important;
  line-height: 1.48 !important;
  color: #111827 !important;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text:not(.is-open).is-collapsed {
  -webkit-line-clamp: 4 !important;
  max-height: 84px;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more,
.adg-google-read-more:hover,
.adg-google-read-more:focus,
.adg-google-read-more:active,
.adg-testimonial-more.adg-review-more:hover,
.adg-testimonial-more.adg-review-more:focus,
.adg-testimonial-more.adg-review-more:active {
  align-self: flex-start;
  margin-top: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #8c8f95 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.adg-google-source-link,
.adg-review-link { display: none !important; }
.adg-review-nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.08) !important;
  background: #fff !important;
  color: #64748b !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.1) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 31px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  background: #fff !important;
  color: #334155 !important;
  border-color: rgba(15,23,42,.12) !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.1) !important;
  outline: none !important;
}
.adg-review-prev { left: -22px; }
.adg-review-next { right: -22px; }
.adg-review-carousel:not(.has-overflow) .adg-review-nav { display: none !important; }
@media (max-width: 1180px) {
  .adg-review-track > .adg-home-review-card,
  .adg-review-track > .adg-testimonial-card {
    flex-basis: calc((100% - 18px) / 2);
    min-width: calc((100% - 18px) / 2);
  }
}
@media (max-width: 720px) {
  .adg-review-track > .adg-home-review-card,
  .adg-review-track > .adg-testimonial-card {
    flex-basis: 100%;
    min-width: 100%;
  }
  .adg-review-prev { left: -10px; }
  .adg-review-next { right: -10px; }
  .adg-review-nav {
    width: 38px;
    height: 38px;
    font-size: 28px;
  }
  .adg-home-review-card.adg-google-review-card,
  .adg-testimonial-card.adg-archive-review-card {
    min-height: 210px !important;
  }
}

/* v1.5.27 Review slider repair + TrustIndex-style archive stability */
.adg-review-carousel {
  position: relative !important;
  max-width: 1480px;
  margin: 0 auto !important;
  padding: 0 44px !important;
  box-sizing: border-box !important;
}
.adg-review-viewport {
  width: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.adg-review-track,
.adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 20px !important;
  align-items: stretch !important;
  will-change: transform;
  transition: transform .34s ease !important;
}
.adg-review-track > .adg-home-review-card,
.adg-review-track > .adg-testimonial-card {
  flex: 0 0 auto;
  min-width: auto;
  scroll-snap-align: none !important;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 248px !important;
  height: auto !important;
  padding: 22px 22px 20px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f6f6f6 !important;
  box-shadow: none !important;
  color: #111827 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  transition: none !important;
}
.adg-home-review-card.adg-google-review-card:hover,
.adg-testimonial-card.adg-archive-review-card:hover {
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.adg-google-card-top,
.adg-testimonial-card-top.adg-google-card-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
}
.adg-google-reviewer {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.adg-google-avatar,
.adg-testimonial-avatar.adg-google-avatar {
  width: 45px !important;
  height: 45px !important;
  flex: 0 0 45px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #e9eef4 !important;
  color: #69788a !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 45px !important;
  text-align: center !important;
}
.adg-google-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.adg-google-reviewer-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.adg-google-reviewer-meta strong,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  display: block !important;
  max-width: 190px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #111827 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
.adg-google-reviewer-meta time,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta time,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta time {
  display: block !important;
  color: #798292 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}
.adg-google-icon,
.adg-review-summary .adg-google-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.08) !important;
}
.adg-google-icon svg,
.adg-review-summary .adg-google-icon svg {
  width: 16px !important;
  height: 16px !important;
}
.adg-google-rating-row,
.adg-archive-rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 12px !important;
}
.adg-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 1px !important;
  color: #fbbc04 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
.adg-star-icon {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  color: #fbbc04 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  filter: none !important;
}
.adg-google-verified {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  border-radius: 999px !important;
  background: #4285f4 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  margin: 0 !important;
  color: #111827 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text:not(.is-open).is-collapsed {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: none !important;
}
.adg-google-review-card .adg-review-text.is-open,
.adg-archive-review-card .adg-testimonial-text.is-open {
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more,
.adg-google-read-more:hover,
.adg-google-read-more:focus,
.adg-google-read-more:active,
.adg-testimonial-more.adg-review-more:hover,
.adg-testimonial-more.adg-review-more:focus,
.adg-testimonial-more.adg-review-more:active {
  appearance: none !important;
  align-self: flex-start !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #909090 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
}
.adg-google-source-link,
.adg-review-link,
.adg-google-review-card a.adg-google-source-link,
.adg-home-review-card a.adg-review-link { display: none !important; }
.adg-review-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  border: 1px solid #e6e9ee !important;
  background: #fff !important;
  color: transparent !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.08) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.adg-review-nav::before {
  content: '' !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2px solid #64748b !important;
  border-right: 2px solid #64748b !important;
}
.adg-review-prev::before { transform: rotate(-135deg) translate(-1px, -1px) !important; }
.adg-review-next::before { transform: rotate(45deg) translate(-1px, 1px) !important; }
.adg-review-prev { left: 6px !important; }
.adg-review-next { right: 6px !important; }
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  background: #fff !important;
  color: transparent !important;
  border-color: #d9dee7 !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.08) !important;
  outline: none !important;
}
.adg-review-carousel:not(.has-overflow) .adg-review-nav { display: none !important; }
.adg-testimonials-page .adg-testimonials-year-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.adg-testimonials-page .adg-testimonials-year-grid > .adg-home-review-card,
.adg-testimonials-page .adg-testimonials-year-grid > .adg-testimonial-card {
  flex: none !important;
  min-width: 0 !important;
  width: 100% !important;
}
.adg-testimonials-year-stack {
  display: grid !important;
  gap: 34px !important;
}
.adg-testimonials-year-group {
  display: block !important;
  overflow: visible !important;
}
.adg-testimonials-year-group.is-hidden { display: none !important; }
.adg-testimonials-year-head {
  margin-bottom: 18px !important;
  align-items: center !important;
}
.adg-testimonials-year-head span {
  background: #fff1f1 !important;
  color: var(--adg-primary) !important;
  border: 0 !important;
}
@media (max-width: 1180px) {
  .adg-review-carousel { padding: 0 38px !important; }
  .adg-testimonials-page .adg-testimonials-year-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .adg-google-reviewer-meta strong { max-width: 230px !important; }
}
@media (max-width: 720px) {
  .adg-review-carousel { padding: 0 30px !important; }
  .adg-review-track { gap: 16px !important; }
  .adg-review-nav { width: 34px !important; height: 34px !important; }
  .adg-review-prev { left: 0 !important; }
  .adg-review-next { right: 0 !important; }
  .adg-testimonials-page .adg-testimonials-year-grid { grid-template-columns: 1fr !important; }
  .adg-home-review-card.adg-google-review-card,
  .adg-testimonial-card.adg-archive-review-card {
    min-height: 230px !important;
    padding: 20px !important;
  }
}

/* v1.5.28 Review alignment + compact TrustIndex-style card polish
   Goal: review rows align with the same content container as the hero/sections,
   no extra inner offset, tighter name/date rhythm, and stable 4-card rows. */
.adg-page .adg-home-reviews .adg-container,
.adg-testimonials-page .adg-container {
  max-width: 1180px !important;
}
.adg-review-carousel,
.adg-testimonials-page .adg-review-carousel,
.adg-page .adg-home-reviews .adg-review-carousel {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.adg-review-viewport {
  width: 100% !important;
  overflow: hidden !important;
}
.adg-review-track,
.adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
  gap: 16px !important;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  min-height: 220px !important;
  padding: 18px 18px 17px !important;
  border-radius: 12px !important;
  background: #f7f7f7 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
.adg-home-review-card.adg-google-review-card:hover,
.adg-testimonial-card.adg-archive-review-card:hover {
  background: #f7f7f7 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
.adg-google-card-top,
.adg-testimonial-card-top.adg-google-card-top {
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.adg-google-reviewer {
  gap: 10px !important;
  align-items: center !important;
}
.adg-google-avatar,
.adg-testimonial-avatar.adg-google-avatar {
  width: 40px !important;
  height: 40px !important;
  flex-basis: 40px !important;
  line-height: 40px !important;
  font-size: 16px !important;
}
.adg-google-reviewer-meta {
  gap: 0 !important;
  line-height: 1.1 !important;
}
.adg-google-reviewer-meta strong,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  max-width: 156px !important;
  margin: 0 0 1px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}
.adg-google-reviewer-meta time,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta time,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta time {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  color: #7b8494 !important;
  letter-spacing: 0 !important;
}
.adg-google-icon,
.adg-review-summary .adg-google-icon,
.adg-archive-platform-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  border-radius: 999px !important;
}
.adg-google-icon svg,
.adg-review-summary .adg-google-icon svg {
  width: 16px !important;
  height: 16px !important;
}
.adg-google-rating-row,
.adg-archive-rating-row {
  gap: 6px !important;
  margin-bottom: 10px !important;
}
.adg-star-icon {
  font-size: 15.5px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}
.adg-stars {
  gap: 0 !important;
  letter-spacing: 0 !important;
}
.adg-google-verified {
  width: 15px !important;
  height: 15px !important;
  flex-basis: 15px !important;
  font-size: 9px !important;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text:not(.is-open).is-collapsed {
  -webkit-line-clamp: 4 !important;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more,
.adg-google-read-more:hover,
.adg-google-read-more:focus,
.adg-google-read-more:active,
.adg-testimonial-more.adg-review-more:hover,
.adg-testimonial-more.adg-review-more:focus,
.adg-testimonial-more.adg-review-more:active {
  margin-top: 10px !important;
  padding: 0 !important;
  color: #929292 !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  outline: none !important;
}
.adg-review-nav {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #eceff3 !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(15,23,42,.08) !important;
}
.adg-review-nav::before {
  width: 8px !important;
  height: 8px !important;
  border-top-width: 2px !important;
  border-right-width: 2px !important;
  border-color: #64748b !important;
}
.adg-review-prev { left: -17px !important; }
.adg-review-next { right: -17px !important; }
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  background: #fff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 3px 12px rgba(15,23,42,.08) !important;
}
.adg-testimonials-page .adg-testimonials-year-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.adg-testimonials-page .adg-testimonials-year-grid > .adg-home-review-card,
.adg-testimonials-page .adg-testimonials-year-grid > .adg-testimonial-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.adg-testimonials-year-stack {
  gap: 36px !important;
}
.adg-testimonials-year-head {
  margin-bottom: 16px !important;
}
@media (max-width: 1180px) {
  .adg-review-track,
  .adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
  .adg-testimonials-page .adg-home-review-grid.adg-review-track,
  .adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
    gap: 16px !important;
  }
  .adg-testimonials-page .adg-testimonials-year-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .adg-google-reviewer-meta strong,
  .adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
  .adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
    max-width: 220px !important;
  }
  .adg-review-prev { left: -12px !important; }
  .adg-review-next { right: -12px !important; }
}
@media (max-width: 720px) {
  .adg-review-carousel,
  .adg-testimonials-page .adg-review-carousel,
  .adg-page .adg-home-reviews .adg-review-carousel {
    padding: 0 !important;
  }
  .adg-review-prev { left: -8px !important; }
  .adg-review-next { right: -8px !important; }
  .adg-testimonials-page .adg-testimonials-year-grid {
    grid-template-columns: 1fr !important;
  }
  .adg-home-review-card.adg-google-review-card,
  .adg-testimonial-card.adg-archive-review-card {
    min-height: 210px !important;
    padding: 18px !important;
  }
}


/* v1.5.29 Review carousel arrow repair
   Fixes the diagonal/slash arrow issue and removes the wrap-around glitch when Google only returns 5 reviews. */
.adg-review-carousel {
  overflow: visible !important;
}
.adg-review-viewport {
  overflow: hidden !important;
}
.adg-review-track,
.adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
  transition: transform .38s cubic-bezier(.22,.61,.36,1) !important;
}
.adg-review-nav,
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(229,232,238,.95) !important;
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(15,23,42,.10) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
}
.adg-review-nav::before {
  content: '' !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 20px 20px !important;
  border: 0 !important;
  transform: none !important;
}
.adg-review-prev::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M12.5 4.5L7 10l5.5 5.5' stroke='%2364758B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.adg-review-next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7.5 4.5L13 10l-5.5 5.5' stroke='%2364758B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.adg-review-prev { left: -22px !important; }
.adg-review-next { right: -22px !important; }
.adg-review-nav[disabled],
.adg-review-nav[aria-disabled="true"] {
  opacity: .42 !important;
  cursor: default !important;
  pointer-events: none !important;
}
.adg-review-carousel:not(.has-overflow) .adg-review-nav {
  display: none !important;
}
.adg-google-reviewer-meta {
  gap: 1px !important;
}
.adg-google-reviewer-meta strong,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  margin-bottom: 0 !important;
}
@media (max-width: 1180px) {
  .adg-review-prev { left: -18px !important; }
  .adg-review-next { right: -18px !important; }
}
@media (max-width: 720px) {
  .adg-review-nav,
  .adg-review-nav:hover,
  .adg-review-nav:focus,
  .adg-review-nav:active {
    width: 38px !important;
    height: 38px !important;
  }
  .adg-review-prev { left: -10px !important; }
  .adg-review-next { right: -10px !important; }
}


/* v1.5.30 TrustIndex match pass — Claude review recommendations applied.
   Final review/card system source of truth: compact cards, hidden disabled arrows,
   1180px alignment, and stable year archive grids. */
.adg-page .adg-home-reviews .adg-container,
.adg-testimonials-page .adg-container,
.adg-reviews-carousel-wrapper {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.adg-home-reviews,
.adg-testimonials-google-reviews,
.adg-testimonials-archive-section {
  overflow-x: clip !important;
}
.adg-review-carousel,
.adg-testimonials-page .adg-review-carousel,
.adg-page .adg-home-reviews .adg-review-carousel {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.adg-review-viewport {
  width: 100% !important;
  overflow: hidden !important;
  padding: 0 0 14px !important;
  box-sizing: border-box !important;
}
.adg-review-track,
.adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-home-review-grid.adg-review-track,
.adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  align-items: stretch !important;
  transition: transform .35s cubic-bezier(.4,0,.2,1) !important;
  will-change: transform !important;
}
.adg-review-track > .adg-home-review-card,
.adg-review-track > .adg-testimonial-card {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: none !important;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 232px !important;
  height: auto !important;
  padding: 18px !important;
  border-radius: 14px !important;
  background: #f7f8fa !important;
  border: 1px solid #e8eaed !important;
  box-shadow: none !important;
  color: #4a4a4a !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.adg-home-review-card.adg-google-review-card:hover,
.adg-testimonial-card.adg-archive-review-card:hover {
  background: #f7f8fa !important;
  border-color: #dfe3e8 !important;
  box-shadow: 0 4px 16px rgba(15,23,42,.07) !important;
  transform: none !important;
}
.adg-google-card-top,
.adg-testimonial-card-top.adg-google-card-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}
.adg-google-reviewer {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.adg-google-avatar,
.adg-testimonial-avatar.adg-google-avatar {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #e9eef4 !important;
  color: #6f7f91 !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 44px !important;
  text-align: center !important;
}
.adg-google-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.adg-google-reviewer-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.adg-google-reviewer-meta strong,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
  display: block !important;
  max-width: 122px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #1a1a2e !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
.adg-google-reviewer-meta time,
.adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta time,
.adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta time {
  display: block !important;
  color: #9aa0ab !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}
.adg-google-icon,
.adg-review-summary .adg-google-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.07) !important;
}
.adg-google-icon svg,
.adg-review-summary .adg-google-icon svg {
  width: 16px !important;
  height: 16px !important;
}
.adg-archive-platform-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid #e8eaed !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.05) !important;
  color: #7b8494 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.adg-google-rating-row,
.adg-archive-rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 0 10px !important;
}
.adg-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  color: #fbbc04 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
.adg-star-icon {
  display: inline-flex !important;
  width: 16px !important;
  height: 16px !important;
  color: #fbbc04 !important;
  line-height: 1 !important;
  filter: none !important;
}
.adg-star-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}
.adg-google-verified {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  border-radius: 999px !important;
  background: #4285f4 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  margin: 0 !important;
  color: #4a4a4a !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text:not(.is-open).is-collapsed {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: none !important;
}
.adg-google-review-card .adg-review-text.is-open,
.adg-archive-review-card .adg-testimonial-text.is-open {
  display: block !important;
  overflow: visible !important;
  max-height: none !important;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more,
.adg-google-read-more:hover,
.adg-google-read-more:focus,
.adg-google-read-more:active,
.adg-testimonial-more.adg-review-more:hover,
.adg-testimonial-more.adg-review-more:focus,
.adg-testimonial-more.adg-review-more:active {
  appearance: none !important;
  align-self: flex-start !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #9aa0ab !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
}
.adg-review-nav,
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  position: absolute !important;
  top: 50% !important;
  z-index: 10 !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid #e8eaed !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  cursor: pointer !important;
  opacity: 1 !important;
  transition: opacity .2s ease, box-shadow .2s ease !important;
}
.adg-review-nav::before {
  content: '' !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 18px 18px !important;
  border: 0 !important;
  transform: none !important;
}
.adg-review-prev::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") !important;
}
.adg-review-next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") !important;
}
.adg-review-prev { left: -20px !important; }
.adg-review-next { right: -20px !important; }
.adg-review-nav.is-disabled,
.adg-review-nav[disabled],
.adg-review-nav[aria-disabled="true"] {
  opacity: 0 !important;
  pointer-events: none !important;
  cursor: default !important;
}
.adg-review-carousel:not(.has-overflow) .adg-review-nav {
  display: none !important;
}
.adg-testimonials-archive-section .adg-testimonials-year-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.adg-testimonials-archive-section .adg-testimonials-year-grid > .adg-home-review-card,
.adg-testimonials-archive-section .adg-testimonials-year-grid > .adg-testimonial-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}
.adg-testimonials-year-stack {
  display: grid !important;
  gap: 48px !important;
}
.adg-testimonials-year-head {
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #e8eaed !important;
}
.adg-testimonials-year-head h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
}
@media (max-width: 1180px) {
  .adg-google-reviewer-meta strong,
  .adg-home-review-card.adg-google-review-card .adg-google-reviewer-meta strong,
  .adg-testimonial-card.adg-archive-review-card .adg-google-reviewer-meta strong {
    max-width: 180px !important;
  }
  .adg-testimonials-archive-section .adg-testimonials-year-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .adg-review-prev { left: -12px !important; }
  .adg-review-next { right: -12px !important; }
}
@media (max-width: 720px) {
  .adg-review-track,
  .adg-page .adg-home-reviews .adg-home-review-grid.adg-review-track,
  .adg-testimonials-page .adg-home-review-grid.adg-review-track,
  .adg-testimonials-page .adg-testimonials-featured-grid.adg-review-track {
    gap: 14px !important;
  }
  .adg-review-nav,
  .adg-review-nav:hover,
  .adg-review-nav:focus,
  .adg-review-nav:active {
    width: 36px !important;
    height: 36px !important;
  }
  .adg-review-prev { left: -8px !important; }
  .adg-review-next { right: -8px !important; }
  .adg-testimonials-archive-section .adg-testimonials-year-grid {
    grid-template-columns: 1fr !important;
  }
  .adg-home-review-card.adg-google-review-card,
  .adg-testimonial-card.adg-archive-review-card {
    min-height: 220px !important;
    padding: 18px !important;
  }
}

/* v1.5.31 Review system hard repair.
   Top testimonial slider now includes all reviews/all years; year archive remains a grid. */
.adg-testimonials-all-reviews .adg-container,
.adg-page .adg-home-reviews .adg-container,
.adg-testimonials-page .adg-container {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.adg-testimonials-all-reviews,
.adg-home-reviews {
  overflow-x: clip !important;
}
.adg-testimonials-all-reviews .adg-home-section-head p {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.adg-review-carousel,
.adg-testimonials-all-reviews .adg-review-carousel,
.adg-page .adg-home-reviews .adg-review-carousel {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.adg-review-viewport,
.adg-testimonials-all-reviews .adg-review-viewport,
.adg-page .adg-home-reviews .adg-review-viewport {
  width: 100% !important;
  overflow: hidden !important;
  padding: 0 0 14px !important;
  box-sizing: border-box !important;
}
.adg-review-track,
.adg-testimonials-all-reviews .adg-review-track,
.adg-page .adg-home-reviews .adg-review-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  align-items: stretch !important;
  transition: transform .35s cubic-bezier(.4,0,.2,1) !important;
  will-change: transform !important;
  width: max-content !important;
  max-width: none !important;
}
/* CSS fallback before JS sizes the cards. */
.adg-review-track > .adg-home-review-card,
.adg-review-track > .adg-testimonial-card {
  flex: 0 0 calc((1180px - 48px) / 4) !important;
  width: calc((1180px - 48px) / 4) !important;
  min-width: calc((1180px - 48px) / 4) !important;
  max-width: calc((1180px - 48px) / 4) !important;
  box-sizing: border-box !important;
  scroll-snap-align: none !important;
}
.adg-home-review-card.adg-google-review-card,
.adg-testimonial-card.adg-archive-review-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 232px !important;
  height: auto !important;
  padding: 18px !important;
  border-radius: 14px !important;
  background: #f7f8fa !important;
  border: 1px solid #e8eaed !important;
  box-shadow: none !important;
  color: #4a4a4a !important;
  font-family: var(--adg-body, Inter, Arial, sans-serif) !important;
  overflow: hidden !important;
  transform: none !important;
}
.adg-google-card-top,
.adg-testimonial-card-top.adg-google-card-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}
.adg-google-reviewer {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.adg-google-avatar,
.adg-testimonial-avatar.adg-google-avatar {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #e9eef4 !important;
  color: #6f7f91 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 44px !important;
  text-align: center !important;
}
.adg-google-reviewer-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.adg-google-reviewer-meta strong {
  display: block !important;
  max-width: 122px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #1a1a2e !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.adg-google-reviewer-meta time {
  display: block !important;
  color: #9aa0ab !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.adg-google-rating-row,
.adg-archive-rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 0 10px !important;
}
.adg-google-review-card .adg-review-text,
.adg-archive-review-card .adg-testimonial-text {
  margin: 0 !important;
  color: #4a4a4a !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
.adg-google-review-card .adg-review-text.is-collapsed,
.adg-archive-review-card .adg-testimonial-text.is-collapsed {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: none !important;
}
.adg-google-read-more,
.adg-testimonial-more.adg-review-more,
.adg-google-read-more:hover,
.adg-google-read-more:focus,
.adg-google-read-more:active,
.adg-testimonial-more.adg-review-more:hover,
.adg-testimonial-more.adg-review-more:focus,
.adg-testimonial-more.adg-review-more:active {
  appearance: none !important;
  align-self: flex-start !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #9aa0ab !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
}
.adg-review-nav,
.adg-review-nav:hover,
.adg-review-nav:focus,
.adg-review-nav:active {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid #e8eaed !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  color: #64748b !important;
  font-size: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
.adg-review-nav::before { content: none !important; display: none !important; background-image: none !important; }
.adg-review-nav svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  color: #64748b !important;
  stroke: currentColor !important;
}
.adg-review-prev { left: -20px !important; }
.adg-review-next { right: -20px !important; }
.adg-review-nav.is-disabled,
.adg-review-nav[hidden],
.adg-review-nav[disabled],
.adg-review-nav[aria-disabled="true"] {
  display: none !important;
}
.adg-review-carousel:not(.has-overflow) .adg-review-nav { display: none !important; }
.adg-testimonials-archive-section .adg-testimonials-year-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.adg-testimonials-archive-section .adg-testimonials-year-grid > .adg-home-review-card,
.adg-testimonials-archive-section .adg-testimonials-year-grid > .adg-testimonial-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
}
@media (max-width: 1180px) {
  .adg-review-track > .adg-home-review-card,
  .adg-review-track > .adg-testimonial-card {
    flex-basis: calc((100vw - 88px) / 4) !important;
    width: calc((100vw - 88px) / 4) !important;
    min-width: calc((100vw - 88px) / 4) !important;
    max-width: calc((100vw - 88px) / 4) !important;
  }
  .adg-testimonials-archive-section .adg-testimonials-year-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .adg-review-prev { left: -12px !important; }
  .adg-review-next { right: -12px !important; }
}
@media (max-width: 720px) {
  .adg-review-track > .adg-home-review-card,
  .adg-review-track > .adg-testimonial-card {
    flex-basis: calc(100vw - 56px) !important;
    width: calc(100vw - 56px) !important;
    min-width: calc(100vw - 56px) !important;
    max-width: calc(100vw - 56px) !important;
  }
  .adg-review-track { gap: 14px !important; }
  .adg-review-nav,
  .adg-review-nav:hover,
  .adg-review-nav:focus,
  .adg-review-nav:active {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
  }
  .adg-review-prev { left: -8px !important; }
  .adg-review-next { right: -8px !important; }
  .adg-testimonials-archive-section .adg-testimonials-year-grid { grid-template-columns: 1fr !important; }
}

/* v1.5.32 Pricing card UI/UX polish.
   Applies Claude's spacing/alignment recommendations without changing package content. */
.adg-pricing-page #adg-pricing-packages .adg-container {
  max-width: 1180px;
}
.adg-pricing-page .adg-pricing-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.adg-pricing-page .adg-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: auto;
  background: #fff;
  border: 1.5px solid #e8eaed;
  border-radius: 16px;
  padding: 28px 24px 24px;
  text-align: left;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .045);
  transition: box-shadow .2s ease, border-color .2s ease, transform .16s ease;
}
.adg-pricing-page .adg-pricing-card:hover {
  transform: translateY(-2px);
  border-color: #d5d8dc;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .075);
}
.adg-pricing-page .adg-pricing-card-featured,
.adg-pricing-page .adg-pricing-card-popular {
  border-color: rgba(217, 40, 39, .34);
  border-width: 2px;
  background: linear-gradient(180deg, #fff 0%, #fff9f9 100%);
  box-shadow: 0 18px 42px rgba(217, 40, 39, .085);
}
.adg-pricing-page .adg-pricing-card .adg-popular-badge {
  position: absolute !important;
  top: -2px !important;
  right: 22px !important;
  left: auto !important;
  transform: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  margin: 0;
  padding: 7px 13px;
  border-radius: 0 0 9px 9px;
  background: var(--adg-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(217, 40, 39, .16);
  z-index: 2;
}
.adg-pricing-page .adg-pricing-card:not(.adg-pricing-card-featured) .adg-popular-badge {
  display: none;
}
.adg-pricing-page .adg-pricing-icon,
.adg-pricing-page .adg-pricing-card > .adg-home-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 12px;
  margin: 0 0 16px;
  background: var(--adg-primary-soft);
  border: 1px solid rgba(217, 40, 39, .12);
  color: var(--adg-primary);
}
.adg-pricing-page .adg-pricing-card-featured > .adg-pricing-icon,
.adg-pricing-page .adg-pricing-card-featured > .adg-home-icon {
  margin-top: 14px;
}
.adg-pricing-page .adg-pricing-icon svg,
.adg-pricing-page .adg-pricing-card > .adg-home-icon svg {
  width: 22px;
  height: 22px;
}
.adg-pricing-page .adg-pricing-title,
.adg-pricing-page .adg-pricing-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--adg-heading);
}
.adg-pricing-page .adg-pricing-desc,
.adg-pricing-page .adg-pricing-card > p {
  min-height: 42px;
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}
.adg-pricing-page .adg-pricing-price,
.adg-pricing-page .adg-pricing-card > strong {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0 0 16px;
  color: var(--adg-primary);
  font-family: var(--adg-display);
  line-height: 1;
}
.adg-pricing-page .adg-price-amount {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
}
.adg-pricing-page .adg-price-unit,
.adg-pricing-page .adg-pricing-card small {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: #8b95a5;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.adg-pricing-page .adg-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  text-align: left;
}
.adg-pricing-page .adg-pricing-features li {
  position: relative;
  padding-left: 22px;
  font-size: 13.5px;
  line-height: 1.42;
  color: #374151;
}
.adg-pricing-page .adg-pricing-features li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 14px;
  height: 14px;
  border-radius: 0;
  background: transparent;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 7l3.25 3.25L12 3.5' stroke='%23D92827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.adg-pricing-page .adg-pricing-btn,
.adg-pricing-page .adg-pricing-card .adg-btn {
  margin-top: auto;
  width: 100%;
  min-height: 46px;
  justify-content: center;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: .01em;
}
.adg-pricing-page .adg-pricing-btn:hover,
.adg-pricing-page .adg-pricing-card .adg-btn:hover {
  transform: translateY(-1px);
}
@media (min-width: 901px) {
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .adg-pricing-page .adg-pricing-card-featured {
    grid-column: 1 / -1;
    width: min(100%, 480px);
    margin: 0 auto;
  }
}
@media (max-width: 599px) {
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .adg-pricing-page .adg-pricing-card {
    padding: 24px 20px 22px;
  }
  .adg-pricing-page .adg-pricing-card-featured > .adg-pricing-icon,
  .adg-pricing-page .adg-pricing-card-featured > .adg-home-icon {
    margin-top: 18px;
  }
  .adg-pricing-page .adg-price-amount {
    font-size: 34px;
  }
}

/* v1.5.33 Global pricing-card UI/UX pass.
   Reuses the polished pricing page card design anywhere the plugin outputs lesson package cards. */
.adg-home-pricing .adg-container,
.adg-pricing-page #adg-pricing-packages .adg-container {
  max-width: 1180px;
}
.adg-home-pricing .adg-pricing-price-grid,
.adg-pricing-page .adg-pricing-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.adg-home-pricing .adg-pricing-card,
.adg-pricing-page .adg-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: auto;
  background: #fff;
  border: 1.5px solid #e8eaed;
  border-radius: 16px;
  padding: 28px 24px 24px;
  text-align: left;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .045);
  transition: box-shadow .2s ease, border-color .2s ease, transform .16s ease;
}
.adg-home-pricing .adg-pricing-card:hover,
.adg-pricing-page .adg-pricing-card:hover {
  transform: translateY(-2px);
  border-color: #d5d8dc;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .075);
}
.adg-home-pricing .adg-pricing-card-featured,
.adg-home-pricing .adg-pricing-card-popular,
.adg-pricing-page .adg-pricing-card-featured,
.adg-pricing-page .adg-pricing-card-popular {
  border-color: rgba(217, 40, 39, .34);
  border-width: 2px;
  background: linear-gradient(180deg, #fff 0%, #fff9f9 100%);
  box-shadow: 0 18px 42px rgba(217, 40, 39, .085);
}
.adg-home-pricing .adg-pricing-card .adg-popular-badge,
.adg-pricing-page .adg-pricing-card .adg-popular-badge {
  position: absolute !important;
  top: -2px !important;
  right: 22px !important;
  left: auto !important;
  transform: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  margin: 0;
  padding: 7px 13px;
  border-radius: 0 0 9px 9px;
  background: var(--adg-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(217, 40, 39, .16);
  z-index: 2;
}
.adg-home-pricing .adg-pricing-card:not(.adg-pricing-card-featured) .adg-popular-badge,
.adg-pricing-page .adg-pricing-card:not(.adg-pricing-card-featured) .adg-popular-badge {
  display: none !important;
}
.adg-home-pricing .adg-pricing-icon,
.adg-home-pricing .adg-pricing-card > .adg-home-icon,
.adg-pricing-page .adg-pricing-icon,
.adg-pricing-page .adg-pricing-card > .adg-home-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 12px;
  margin: 0 0 16px;
  background: var(--adg-primary-soft);
  border: 1px solid rgba(217, 40, 39, .12);
  color: var(--adg-primary);
}
.adg-home-pricing .adg-pricing-card-featured > .adg-pricing-icon,
.adg-home-pricing .adg-pricing-card-featured > .adg-home-icon,
.adg-pricing-page .adg-pricing-card-featured > .adg-pricing-icon,
.adg-pricing-page .adg-pricing-card-featured > .adg-home-icon {
  margin-top: 14px;
}
.adg-home-pricing .adg-pricing-icon svg,
.adg-home-pricing .adg-pricing-card > .adg-home-icon svg,
.adg-pricing-page .adg-pricing-icon svg,
.adg-pricing-page .adg-pricing-card > .adg-home-icon svg {
  width: 22px;
  height: 22px;
}
.adg-home-pricing .adg-pricing-title,
.adg-home-pricing .adg-pricing-card h3,
.adg-pricing-page .adg-pricing-title,
.adg-pricing-page .adg-pricing-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--adg-heading);
}
.adg-home-pricing .adg-pricing-desc,
.adg-home-pricing .adg-pricing-card > p,
.adg-pricing-page .adg-pricing-desc,
.adg-pricing-page .adg-pricing-card > p {
  min-height: 42px;
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7280;
}
.adg-home-pricing .adg-pricing-price,
.adg-home-pricing .adg-pricing-card > strong,
.adg-pricing-page .adg-pricing-price,
.adg-pricing-page .adg-pricing-card > strong {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0 0 16px;
  color: var(--adg-primary);
  font-family: var(--adg-display);
  line-height: 1;
}
.adg-home-pricing .adg-price-amount,
.adg-pricing-page .adg-price-amount {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
}
.adg-home-pricing .adg-price-unit,
.adg-home-pricing .adg-pricing-card small,
.adg-pricing-page .adg-price-unit,
.adg-pricing-page .adg-pricing-card small {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: #8b95a5;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.adg-home-pricing .adg-pricing-features,
.adg-pricing-page .adg-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  text-align: left;
}
.adg-home-pricing .adg-pricing-features li,
.adg-pricing-page .adg-pricing-features li {
  position: relative;
  padding-left: 22px;
  font-size: 13.5px;
  line-height: 1.42;
  color: #374151;
}
.adg-home-pricing .adg-pricing-features li:before,
.adg-pricing-page .adg-pricing-features li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 14px;
  height: 14px;
  border-radius: 0;
  background: transparent;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 7l3.25 3.25L12 3.5' stroke='%23D92827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.adg-home-pricing .adg-pricing-btn,
.adg-home-pricing .adg-pricing-card .adg-btn,
.adg-pricing-page .adg-pricing-btn,
.adg-pricing-page .adg-pricing-card .adg-btn {
  margin-top: auto;
  width: 100%;
  min-height: 46px;
  justify-content: center;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 720;
  letter-spacing: .01em;
}
.adg-home-pricing .adg-pricing-btn:hover,
.adg-home-pricing .adg-pricing-card .adg-btn:hover,
.adg-pricing-page .adg-pricing-btn:hover,
.adg-pricing-page .adg-pricing-card .adg-btn:hover {
  transform: translateY(-1px);
}
@media (min-width: 901px) {
  .adg-home-pricing .adg-pricing-price-grid,
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 600px) and (max-width: 900px) {
  .adg-home-pricing .adg-pricing-price-grid,
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .adg-home-pricing .adg-pricing-card-featured,
  .adg-pricing-page .adg-pricing-card-featured {
    grid-column: 1 / -1;
    width: min(100%, 480px);
    margin: 0 auto;
  }
}
@media (max-width: 599px) {
  .adg-home-pricing .adg-pricing-price-grid,
  .adg-pricing-page .adg-pricing-price-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .adg-home-pricing .adg-pricing-card,
  .adg-pricing-page .adg-pricing-card {
    padding: 24px 20px 22px;
  }
  .adg-home-pricing .adg-pricing-card-featured > .adg-pricing-icon,
  .adg-home-pricing .adg-pricing-card-featured > .adg-home-icon,
  .adg-pricing-page .adg-pricing-card-featured > .adg-pricing-icon,
  .adg-pricing-page .adg-pricing-card-featured > .adg-home-icon {
    margin-top: 18px;
  }
  .adg-home-pricing .adg-price-amount,
  .adg-pricing-page .adg-price-amount {
    font-size: 34px;
  }
}

/* =========================================================
   v1.5.34 Privacy Policy shortcode page
   Shortcodes: [adg_privacy_policy_page], [adg_privacy_policy]
   ========================================================= */
.adg-privacy-page {
  color: var(--adg-text);
}

.adg-privacy-page .adg-privacy-hero .adg-home-hero-copy {
  max-width: 760px;
}

.adg-privacy-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.adg-privacy-intro-card {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.07);
}

.adg-privacy-intro-card h2 {
  margin: 6px 0 10px;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.adg-privacy-intro-card p {
  margin: 0;
  color: var(--adg-text);
  font-size: 16px;
  line-height: 1.7;
}

.adg-privacy-intro-card a {
  color: var(--adg-primary);
  font-weight: 700;
  text-decoration: none;
}

.adg-privacy-intro-card-dark {
  background: linear-gradient(135deg, #071222 0%, #111827 100%);
  color: #fff;
  border-color: rgba(255,255,255,0.1);
  box-shadow: 0 18px 50px rgba(7, 18, 34, 0.18);
}

.adg-privacy-intro-card-dark h2,
.adg-privacy-intro-card-dark p {
  color: #fff;
}

/* Legal-page dark intro card: keep the kicker readable on pale chip backgrounds. */
.adg-privacy-intro-card-dark .adg-section-kicker {
  color: var(--adg-primary, #d92827) !important;
  background: #fff5f5;
  border-color: rgba(217, 40, 39, 0.18);
}

.adg-privacy-intro-card-dark a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #fff;
  background: var(--adg-primary);
  padding: 12px 18px;
  border-radius: 999px;
}

.adg-privacy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.adg-privacy-card {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.055);
}

.adg-privacy-card-icon {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--adg-primary);
  background: var(--adg-primary-soft);
  margin-bottom: 16px;
}

.adg-privacy-card-icon svg {
  width: 22px;
  height: 22px;
}

.adg-privacy-card h3 {
  margin: 0 0 10px;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.adg-privacy-card p {
  color: var(--adg-text);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 12px;
}

.adg-privacy-card p:last-child {
  margin-bottom: 0;
}

.adg-privacy-rights-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 1px solid #fee2e2;
  border-left: 5px solid var(--adg-primary);
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.adg-privacy-rights-box h2 {
  margin: 6px 0 10px;
  color: var(--adg-heading);
  font-family: var(--adg-display);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.14;
  letter-spacing: -0.03em;
}

.adg-privacy-rights-box p {
  margin: 0;
  color: var(--adg-text);
  font-size: 16px;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .adg-privacy-intro-grid,
  .adg-privacy-grid,
  .adg-privacy-rights-box {
    grid-template-columns: 1fr;
  }

  .adg-privacy-rights-box .adg-btn {
    width: fit-content;
  }
}

@media (max-width: 600px) {
  .adg-privacy-intro-card,
  .adg-privacy-card,
  .adg-privacy-rights-box {
    padding: 20px;
    border-radius: 18px;
  }

  .adg-privacy-card h3 {
    font-size: 19px;
  }

  .adg-privacy-card p,
  .adg-privacy-intro-card p,
  .adg-privacy-rights-box p {
    font-size: 14.5px;
  }
}


/* =========================================================
   Terms & Conditions Page
   Shortcodes: [adg_terms_conditions_page], [adg_terms_conditions], [adg_terms]
   Reuses the Privacy Policy card system for consistent legal-page styling.
   ========================================================= */
.adg-terms-page .adg-terms-grid {
  align-items: stretch;
}

.adg-terms-page .adg-terms-card {
  border-top: 3px solid rgba(217, 40, 39, 0.16);
}

.adg-terms-page .adg-privacy-intro-card-dark .adg-home-actions,
.adg-terms-page .adg-privacy-rights-box .adg-home-actions {
  margin-top: 0;
  justify-content: flex-end;
}

@media (max-width: 760px) {
  .adg-terms-page .adg-privacy-rights-box .adg-home-actions {
    justify-content: stretch;
    width: 100%;
  }
}


/* =========================================================
   v1.5.43 Money Page Layout Redesign
   Compact conversion-led service pages
   ========================================================= */

.adg-money-service-page .adg-home-section {
  padding-top: 52px;
  padding-bottom: 52px;
}

.adg-money-hero {
  background:
    radial-gradient(circle at 12% 12%, rgba(217, 40, 39, .08), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  border-bottom: 1px solid rgba(229, 231, 235, .9);
  padding: 54px 0 18px;
}

.adg-money-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .86fr);
  gap: 44px;
  align-items: center;
}

.adg-money-hero-copy {
  max-width: 650px;
}

.adg-money-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  border: 1px solid rgba(217, 40, 39, .14);
  background: #fff5f5;
  color: var(--adg-primary);
  border-radius: 999px;
  padding: 7px 13px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(217, 40, 39, .06);
}

.adg-money-hero-label svg {
  width: 15px;
  height: 15px;
}

.adg-money-hero h1 {
  margin: 18px 0 16px;
  color: var(--adg-heading);
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 800;
  max-width: 720px;
}

.adg-money-hero-copy > p {
  max-width: 600px;
  margin: 0;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.7;
}

.adg-money-hero-trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 22px 0 0;
}

.adg-money-hero-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e8edf3;
  background: #fff;
  color: #475569;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 650;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.adg-money-hero-trust svg {
  width: 15px;
  height: 15px;
  color: var(--adg-primary);
}

.adg-money-hero-actions {
  margin-top: 24px;
}

.adg-money-whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #166534;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  padding: 13px 2px;
}

.adg-money-whatsapp-link:hover {
  color: #14532d;
}

.adg-money-whatsapp-link svg {
  width: 18px;
  height: 18px;
}

.adg-money-hero-media {
  position: relative;
  min-height: 385px;
  border-radius: 28px 28px 10px 28px;
  overflow: visible;
}

.adg-money-hero-media img {
  width: 100%;
  height: 385px;
  object-fit: cover;
  border-radius: 28px 28px 10px 28px;
  display: block;
  box-shadow: 0 26px 60px rgba(15, 23, 42, .16);
}

.adg-money-hero-media::before {
  content: "";
  position: absolute;
  inset: -14px -14px auto auto;
  width: 52%;
  height: 44%;
  border: 1px solid rgba(217, 40, 39, .15);
  border-radius: 24px;
  z-index: 0;
  pointer-events: none;
}

.adg-money-hero-media img,
.adg-money-review-float {
  position: relative;
  z-index: 1;
}

.adg-money-hero-media-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff5f5;
  border: 1px solid #fee2e2;
  box-shadow: 0 20px 44px rgba(15, 23, 42, .08);
}

.adg-money-hero-media-placeholder > svg {
  width: 92px;
  height: 92px;
  color: var(--adg-primary);
}

.adg-money-review-float {
  position: absolute;
  left: -22px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: calc(100% - 22px);
  border: 1px solid rgba(229, 231, 235, .95);
  background: #fff;
  color: #475569;
  border-radius: 16px;
  padding: 12px 15px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
  white-space: nowrap;
}

.adg-money-review-float strong {
  color: var(--adg-primary);
  font-size: 18px;
  font-weight: 800;
}

.adg-money-review-float .adg-google-icon,
.adg-money-review-float > svg {
  width: 22px;
  height: 22px;
}

.adg-money-service-nav-section {
  background: #fff;
  border-bottom: 1px solid #eef2f6;
  padding: 0;
}

.adg-service-nav-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 13px 0;
}

.adg-service-nav-label {
  color: #8b95a1;
  font-size: 13px;
  font-weight: 650;
  margin-right: 2px;
}

.adg-service-nav-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #4b5563;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  transition: border-color .16s ease, color .16s ease, background .16s ease;
}

.adg-service-nav-chip:hover,
.adg-service-nav-chip.is-active {
  border-color: rgba(217, 40, 39, .22);
  background: #fff5f5;
  color: var(--adg-primary);
}

.adg-money-trust-strip {
  background: #fff;
  padding: 18px 0 4px;
}

.adg-money-proof-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.adg-money-proof-row span {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  border: 1px solid #eef2f6;
  background: #fff;
  border-radius: 16px;
  padding: 12px 14px;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .035);
}

.adg-money-proof-row svg {
  width: 18px;
  height: 18px;
  color: var(--adg-primary);
}

.adg-money-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: 32px;
  align-items: stretch;
}

.adg-money-intro-copy {
  border: 1px solid #edf0f4;
  background: #fff;
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 14px 42px rgba(15, 23, 42, .04);
}

.adg-money-intro-copy h2 {
  margin: 10px 0 12px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.adg-money-intro-copy p {
  margin: 0;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.72;
}

.adg-money-check-panel {
  list-style: none;
  padding: 24px;
  margin: 0;
  border: 1px solid #fee2e2;
  background: linear-gradient(180deg, #fffafa, #fff);
  border-radius: 24px;
  box-shadow: 0 14px 42px rgba(217, 40, 39, .045);
}

.adg-money-check-panel li {
  position: relative;
  margin: 0;
  padding: 14px 0 14px 34px;
  color: #374151;
  font-size: 15px;
  line-height: 1.48;
  font-weight: 600;
  border-bottom: 1px solid rgba(254, 226, 226, .85);
}

.adg-money-check-panel li:last-child {
  border-bottom: 0;
}

.adg-money-check-panel li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 13px;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background: #fff1f2;
  color: var(--adg-primary);
  font-size: 13px;
  font-weight: 850;
}

.adg-money-practice-section .adg-home-section-head {
  margin-bottom: 28px;
}

.adg-money-feature-grid .adg-home-card {
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .045);
}

.adg-money-page-reviews {
  padding-top: 52px;
  padding-bottom: 52px;
  background: #fff;
}

.adg-money-content-section {
  background: #fff;
}

.adg-money-content-grid {
  align-items: start;
}

.adg-money-copy-stack {
  gap: 16px;
}

.adg-money-text-card {
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .035);
}

.adg-money-text-card h2 {
  font-size: 22px;
  line-height: 1.22;
  letter-spacing: -.02em;
}

.adg-money-side-card {
  top: 96px;
  border-color: rgba(217, 40, 39, .16);
  background: linear-gradient(180deg, #fffafa, #fff);
}

.adg-money-related-section .adg-home-section-head {
  margin-bottom: 24px;
}

.adg-money-areas-section {
  margin-top: 0;
}

.adg-money-faq-section {
  padding-top: 56px;
}

.adg-money-final-cta {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(135deg, var(--adg-primary) 0%, var(--adg-primary-dark) 100%);
  padding: 64px 0;
  color: #fff;
}

.adg-money-final-cta-inner {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.adg-money-final-cta .adg-section-kicker {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.22);
  color: #fff;
}

.adg-money-final-cta h2 {
  color: #fff;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 12px;
}

.adg-money-final-cta p {
  color: rgba(255,255,255,.88);
  max-width: 620px;
  margin: 0 auto 26px;
  font-size: 16px;
  line-height: 1.65;
}

.adg-money-final-actions {
  justify-content: center;
}

.adg-btn-white {
  background: #fff !important;
  color: var(--adg-primary) !important;
  border-color: #fff !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, .18);
}

.adg-btn-white:hover {
  background: #fff !important;
  color: var(--adg-primary-dark) !important;
  transform: translateY(-2px);
}

.adg-btn-ghost-white {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  box-shadow: none !important;
}

.adg-btn-ghost-white:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

@media (max-width: 980px) {
  .adg-money-hero-grid,
  .adg-money-intro-grid,
  .adg-money-content-grid {
    grid-template-columns: 1fr;
  }

  .adg-money-hero {
    padding-top: 34px;
  }

  .adg-money-hero-media {
    min-height: 320px;
    order: -1;
  }

  .adg-money-hero-media img {
    height: 320px;
  }

  .adg-money-review-float {
    left: 16px;
    bottom: 16px;
  }

  .adg-money-proof-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .adg-money-side-card {
    position: static;
  }
}

@media (max-width: 640px) {
  .adg-money-service-page .adg-home-section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .adg-money-hero-grid {
    gap: 24px;
  }

  .adg-money-hero h1 {
    font-size: clamp(32px, 12vw, 44px);
  }

  .adg-money-hero-copy > p {
    font-size: 15.5px;
  }

  .adg-money-hero-media,
  .adg-money-hero-media img {
    min-height: 255px;
    height: 255px;
    border-radius: 22px;
  }

  .adg-money-review-float {
    max-width: calc(100% - 32px);
    padding: 10px 12px;
    font-size: 12px;
    white-space: normal;
  }

  .adg-money-proof-row {
    grid-template-columns: 1fr;
  }

  .adg-service-nav-chips {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 14px;
  }

  .adg-service-nav-label,
  .adg-service-nav-chip {
    flex: 0 0 auto;
  }

  .adg-money-intro-copy,
  .adg-money-check-panel,
  .adg-money-text-card {
    padding: 22px;
    border-radius: 20px;
  }

  .adg-money-final-cta {
    padding: 52px 0;
  }

  .adg-money-final-actions .adg-btn {
    width: 100%;
    justify-content: center;
  }
}


/* =========================================================
   v1.5.47 Lesson Packages CPT + Simple Booking Page
   ========================================================= */

.adg-package-hero {
  padding: 72px 0 42px;
  background:
    radial-gradient(circle at 12% 10%, rgba(217, 40, 39, .08), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
  border-bottom: 1px solid rgba(229, 231, 235, .85);
}

.adg-package-hero-grid {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1fr);
  gap: 52px;
  align-items: center;
}

.adg-package-hero-media {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .13);
  background: #071222;
  aspect-ratio: 1 / .78;
}

.adg-package-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.adg-package-hero-placeholder {
  display: grid;
  place-items: center;
  color: #fff;
}

.adg-package-hero-placeholder svg {
  width: 96px;
  height: 96px;
  color: rgba(255,255,255,.76);
}

.adg-package-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--adg-primary);
  color: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(217, 40, 39, .25);
}

.adg-package-breadcrumb {
  color: #94a3b8;
  font-size: 13px;
  margin-bottom: 12px;
}

.adg-package-breadcrumb a {
  color: #64748b;
  text-decoration: none;
  font-weight: 650;
}

.adg-package-hero-copy h1 {
  margin: 12px 0 10px;
  color: var(--adg-heading);
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.adg-package-price {
  color: var(--adg-primary);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 850;
  line-height: 1;
  margin: 14px 0 18px;
}

.adg-package-price span {
  color: #64748b;
  font-size: 15px;
  font-weight: 700;
  margin-left: 8px;
}

.adg-package-excerpt {
  max-width: 620px;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 22px;
}

.adg-package-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0 0;
}

.adg-package-payment-note {
  position: relative;
  margin: 18px 0 0;
  padding: 13px 16px 13px 42px;
  border: 1px solid #dcfce7;
  background: #f0fdf4;
  color: #166534;
  border-radius: 16px;
  line-height: 1.55;
  font-size: 14px;
}

.adg-package-payment-note::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 13px;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-weight: 900;
  font-size: 12px;
}

.adg-package-trust {
  background: #fff;
  border-bottom: 1px solid #eef2f6;
}

.adg-package-trust-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 0;
}

.adg-package-trust-row span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid #eef2f6;
  border-radius: 999px;
  padding: 9px 13px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.adg-package-trust-row svg {
  width: 16px;
  height: 16px;
  color: var(--adg-primary);
}

.adg-package-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.adg-package-detail-card {
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, .06);
}

.adg-package-detail-card h2 {
  margin: 10px 0 18px;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.15;
  letter-spacing: -.03em;
}

.adg-package-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 11px;
}

.adg-package-checklist li {
  position: relative;
  padding-left: 30px;
  color: #374151;
  line-height: 1.55;
  font-weight: 600;
}

.adg-package-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 999px;
  background: #fff1f2;
  color: var(--adg-primary);
  font-size: 12px;
  font-weight: 900;
}

.adg-package-content {
  max-width: 920px;
}

.adg-package-content h2,
.adg-package-content h3 {
  color: var(--adg-heading);
  letter-spacing: -.02em;
}

.adg-package-content p,
.adg-package-content li {
  color: var(--adg-text);
  font-size: 16px;
  line-height: 1.75;
}

.adg-package-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.adg-package-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 20px;
  overflow: hidden;
  color: var(--adg-heading);
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  transition: transform .16s ease, box-shadow .16s ease;
}

.adg-package-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .1);
}

.adg-package-card img {
  width: 100%;
  aspect-ratio: 1.35 / 1;
  object-fit: cover;
  background: #071222;
}

.adg-package-card span {
  margin: 16px 18px 4px;
  color: var(--adg-primary);
  font-size: 12px;
  font-weight: 750;
}

.adg-package-card h2,
.adg-package-card h3 {
  margin: 0 18px 8px;
  font-size: 20px;
  line-height: 1.2;
}

.adg-package-card strong {
  margin: 0 18px 8px;
  color: var(--adg-primary);
  font-size: 20px;
}

.adg-package-card strong small {
  color: #64748b;
  font-size: 13px;
  margin-left: 4px;
}

.adg-package-card p {
  margin: 0 18px 16px;
  color: var(--adg-text);
  line-height: 1.6;
  font-size: 14px;
}

.adg-package-card em {
  margin: auto 18px 18px;
  display: inline-flex;
  color: var(--adg-primary);
  font-style: normal;
  font-weight: 750;
}

.adg-package-final-cta {
  background: linear-gradient(135deg, var(--adg-primary), var(--adg-primary-dark));
  color: #fff;
  padding: 64px 0;
  text-align: center;
}

.adg-package-final-card {
  max-width: 760px;
  margin: 0 auto;
}

.adg-package-final-card h2 {
  color: #fff;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin: 14px 0 12px;
}

.adg-package-final-card p {
  color: rgba(255,255,255,.88);
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 26px;
}

.adg-package-final-card .adg-home-actions {
  justify-content: center;
}

.adg-package-archive-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Simple booking page: deliberately light and focused */
.adg-book-simple-hero {
  padding: 70px 0 26px;
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.adg-book-simple-hero h1 {
  max-width: 720px;
  margin: 12px auto;
  color: var(--adg-heading);
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.adg-book-simple-hero p {
  max-width: 660px;
  margin: 0 auto;
  color: var(--adg-text);
  font-size: 16px;
  line-height: 1.75;
}

.adg-book-simple-form-section {
  padding: 34px 0 72px;
  background: #f8fafc;
}

.adg-book-simple-card {
  max-width: 680px;
  margin: 0 auto;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

.adg-book-simple-card input,
.adg-book-simple-card select,
.adg-book-simple-card textarea {
  border-radius: 14px !important;
}

.adg-book-simple-help {
  max-width: 680px;
  margin: 16px auto 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.adg-book-simple-help span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #fff;
  border: 1px solid var(--adg-border);
  border-radius: 999px;
  padding: 8px 12px;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

.adg-book-simple-help svg {
  width: 15px;
  height: 15px;
  color: var(--adg-primary);
}

.adg-book-simple-contact {
  max-width: 680px;
  margin: 22px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 14px;
}

.adg-book-simple-contact p {
  margin: 0 8px 0 0;
  font-weight: 700;
}

.adg-book-simple-contact a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--adg-primary);
  font-weight: 750;
  text-decoration: none;
}

.adg-book-simple-contact svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 980px) {
  .adg-package-hero-grid,
  .adg-package-details-grid,
  .adg-package-card-grid,
  .adg-package-archive-grid {
    grid-template-columns: 1fr;
  }

  .adg-package-trust-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .adg-package-hero {
    padding: 42px 0 28px;
  }

  .adg-package-hero-grid {
    gap: 28px;
  }

  .adg-package-trust-row {
    grid-template-columns: 1fr;
  }

  .adg-package-detail-card,
  .adg-book-simple-card {
    padding: 20px;
    border-radius: 20px;
  }

  .adg-book-simple-hero {
    padding-top: 48px;
  }
}

/* =========================================================
   v1.5.56 Fluent Forms Booking Form Fix
   Protect radio/checkbox controls + round submit button
   ========================================================= */

/* Only style real text-like fields on the booking form. Do not touch radio/checkbox. */
.adg-book-simple-card .ff-default input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.adg-book-simple-card .ff-default select,
.adg-book-simple-card .ff-default textarea,
.adg-book-simple-card input[type="text"],
.adg-book-simple-card input[type="email"],
.adg-book-simple-card input[type="tel"],
.adg-book-simple-card input[type="url"],
.adg-book-simple-card input[type="number"],
.adg-book-simple-card select,
.adg-book-simple-card textarea {
  width: 100%;
  min-height: 50px;
  border: 1px solid #d9dee7 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-size: 15px;
}

/* Reset Fluent Forms radio/checkbox controls so they do not become text boxes. */
.adg-book-simple-card input[type="radio"],
.adg-book-simple-card input[type="checkbox"],
.adg-booking-form input[type="radio"],
.adg-booking-form input[type="checkbox"],
.adg-book-simple-page input[type="radio"],
.adg-book-simple-page input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 8px 0 0 !important;
  border: initial !important;
  border-radius: 50% !important;
  background: initial !important;
  box-shadow: none !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Radio option rows should sit cleanly. */
.adg-book-simple-card .ff-el-form-check,
.adg-booking-form .ff-el-form-check,
.adg-book-simple-page .ff-el-form-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 8px 0 !important;
  padding: 0 !important;
}

.adg-book-simple-card .ff-el-form-check label,
.adg-booking-form .ff-el-form-check label,
.adg-book-simple-page .ff-el-form-check label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #334155 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Some Fluent Forms versions put the input inside the label. Keep it compact. */
.adg-book-simple-card .ff-el-form-check label input[type="radio"],
.adg-book-simple-card .ff-el-form-check label input[type="checkbox"],
.adg-booking-form .ff-el-form-check label input[type="radio"],
.adg-booking-form .ff-el-form-check label input[type="checkbox"] {
  flex: 0 0 auto !important;
}

/* Booking form submit button — match rounded A TO Z buttons. */
.adg-book-simple-card .ff-btn-submit,
.adg-book-simple-card button[type="submit"].ff-btn-submit,
.adg-booking-form .ff-btn-submit,
.adg-booking-form button[type="submit"],
.adg-book-simple-page .ff-btn-submit,
.adg-book-simple-page button[type="submit"] {
  min-height: 48px !important;
  padding: 13px 24px !important;
  border-radius: 999px !important;
  background: var(--adg-primary, #d92827) !important;
  border: 1px solid var(--adg-primary, #d92827) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  box-shadow: 0 12px 26px rgba(217, 40, 39, .18) !important;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease !important;
}

.adg-book-simple-card .ff-btn-submit:hover,
.adg-book-simple-card button[type="submit"].ff-btn-submit:hover,
.adg-booking-form .ff-btn-submit:hover,
.adg-booking-form button[type="submit"]:hover,
.adg-book-simple-page .ff-btn-submit:hover,
.adg-book-simple-page button[type="submit"]:hover {
  background: var(--adg-primary-dark, #b91c1c) !important;
  border-color: var(--adg-primary-dark, #b91c1c) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Payment note: keep it clean but not too heavy. */
.adg-book-simple-card .adg-form-note,
.adg-booking-form .adg-form-note {
  border-radius: 14px;
  padding: 14px 16px;
  line-height: 1.6;
}

/* =========================================================
   v1.5.58 Service-area cleanup: Dublin 15 and nearby areas only
   Replaces older temporary override blocks
   ========================================================= */

/* Package images: show full Canva/package artwork without cropping. */
.adg-package-hero-media {
  aspect-ratio: 1 / .78;
  background: #071222;
}

.adg-package-hero-media img,
.adg-package-card img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center;
  background: #071222;
}

/* Package page typography: calmer title/price and product-style description. */
.adg-package-hero-copy h1 {
  max-width: 680px;
  font-size: clamp(34px, 3.7vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  font-weight: 650 !important;
}

.adg-package-price {
  font-size: clamp(28px, 3vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  margin: 12px 0 18px !important;
}

.adg-package-price span {
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.adg-package-excerpt {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: #475569 !important;
}

.adg-package-content-section {
  padding-top: 48px !important;
  padding-bottom: 52px !important;
  background: #fff !important;
}

.adg-package-content-simple,
.adg-package-content {
  max-width: 920px !important;
  margin: 0 auto !important;
  color: #334155 !important;
}

.adg-package-content p {
  max-width: 920px !important;
  margin: 0 0 18px !important;
  color: #334155 !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
  font-weight: 400 !important;
}

.adg-package-content p:first-child {
  font-size: 16px !important;
  line-height: 1.78 !important;
  font-weight: 400 !important;
}

.adg-package-content strong {
  color: #0f172a !important;
  font-weight: 650 !important;
}

.adg-package-content ul,
.adg-package-content ol {
  max-width: 880px !important;
  margin: 10px 0 22px 24px !important;
  padding: 0 !important;
  display: block !important;
  list-style: disc !important;
}

.adg-package-content li {
  position: static !important;
  display: list-item !important;
  padding: 0 !important;
  margin: 0 0 7px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

.adg-package-content li::before {
  display: none !important;
  content: none !important;
}

.adg-package-content h2,
.adg-package-content h3,
.adg-package-detail-card h2,
.adg-package-related-section .adg-home-section-head h2,
.adg-package-faq-section .adg-home-section-head h2 {
  font-weight: 650 !important;
}

.adg-package-checklist li {
  font-weight: 500 !important;
}

/* Pricing page: 3 normal cards plus simple full-width gift card. */
.adg-home-price-grid.adg-pricing-price-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.adg-service-price-mini-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.adg-gift-pricing-banner.adg-gift-pricing-banner-simple {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) !important;
  gap: 28px !important;
  align-items: center !important;
  margin-top: 26px !important;
  padding: 32px 28px !important;
  background: #fff !important;
  border: 1px solid var(--adg-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 42px rgba(15, 23, 42, .055) !important;
  text-align: left !important;
}

.adg-gift-pricing-banner-simple .adg-home-icon {
  display: inline-flex !important;
  margin: 0 0 18px 0 !important;
}

.adg-gift-pricing-banner-simple .adg-section-kicker {
  display: none !important;
}

.adg-gift-pricing-banner-simple .adg-pricing-title {
  margin: 0 0 8px !important;
  font-size: 24px !important;
  line-height: 1.18 !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
}

.adg-gift-pricing-banner-simple .adg-pricing-desc {
  max-width: 660px !important;
  min-height: 0 !important;
  margin: 0 0 22px !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #64748b !important;
  font-weight: 400 !important;
}

.adg-gift-pricing-banner-simple .adg-gift-pricing-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 18px !important;
}

.adg-gift-pricing-banner-simple .adg-pricing-price {
  display: block !important;
  margin: 0 !important;
  text-align: left !important;
}

.adg-gift-pricing-banner-simple .adg-pricing-btn {
  width: 100% !important;
  justify-content: center !important;
  margin: 0 !important;
}

.adg-gift-pricing-banner-simple .adg-gift-pricing-features {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.adg-gift-pricing-banner-simple .adg-gift-pricing-features li {
  position: relative !important;
  margin: 0 !important;
  padding-left: 26px !important;
  color: #334155 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.adg-gift-pricing-banner-simple .adg-gift-pricing-features li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: -1px !important;
  color: var(--adg-primary) !important;
  font-weight: 900 !important;
  font-size: 17px !important;
  background: transparent !important;
}

/* Get Started page full-width hero/form section. */
.adg-book-simple-page {
  overflow-x: clip;
}

.adg-book-simple-page .adg-book-simple-hero,
.adg-book-simple-page .adg-book-simple-form-section {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.adg-book-simple-page .adg-book-simple-hero {
  padding: 72px 0 34px;
  background:
    radial-gradient(circle at 88% 15%, rgba(217, 40, 39, .10), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-bottom: 1px solid rgba(229, 231, 235, .85);
}

.adg-book-simple-page .adg-book-simple-hero .adg-container {
  max-width: 1180px;
}

@media (max-width: 980px) {
  .adg-gift-pricing-banner.adg-gift-pricing-banner-simple {
    grid-template-columns: 1fr !important;
  }

  .adg-gift-pricing-banner-simple .adg-gift-pricing-right {
    max-width: 360px !important;
  }
}

@media (max-width: 760px) {
  .adg-home-price-grid.adg-pricing-price-grid,
  .adg-service-price-mini-grid,
  .adg-gift-pricing-banner-simple .adg-gift-pricing-features {
    grid-template-columns: 1fr !important;
  }

  .adg-gift-pricing-banner.adg-gift-pricing-banner-simple {
    padding: 24px 22px !important;
  }

  .adg-gift-pricing-banner-simple .adg-gift-pricing-right {
    max-width: none !important;
  }

  .adg-book-simple-page .adg-book-simple-hero {
    padding-top: 50px;
    padding-bottom: 28px;
  }

  .adg-package-hero-copy h1 {
    font-size: clamp(32px, 10vw, 42px) !important;
  }
}
