/* Hopscotch: town pages and the service-area page (section layouts added 2026-10-02). */

/* ---------- Slim CTA band (cta_strip) ---------- */
.ctastrip-sec{padding-block:clamp(16px,2.6vw,30px)}
.ctastrip{position:relative;display:flex;align-items:center;gap:18px 26px;flex-wrap:wrap;background:#fff;border:2px solid var(--line);border-radius:30px;padding:20px clamp(20px,3vw,36px);box-shadow:var(--shadow);overflow:hidden;isolation:isolate}
.ctastrip__ic{flex:none;display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:var(--sun);color:var(--ink);transform:rotate(-6deg);box-shadow:0 5px 0 #d9a312;transition:transform .4s var(--bounce)}
.ctastrip:hover .ctastrip__ic{transform:rotate(4deg) scale(1.06)}
.ctastrip__ic .ic{width:28px;height:28px}
.ctastrip__txt{flex:1 1 340px;min-width:0}
.ctastrip__title{font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,2.1vw,1.5rem);line-height:1.25;color:var(--ink);text-wrap:balance}
.ctastrip__title .hl{background:linear-gradient(transparent 58%,rgba(255,201,60,.75) 58%);border-radius:4px;padding:0 .08em}
.ctastrip__sub{color:var(--muted);margin-top:4px}
.ctastrip__btns{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap}
.ctastrip__tel{display:inline-flex;align-items:center;gap:.45em;font-family:var(--display);font-weight:600;color:var(--ink);white-space:nowrap;transition:color .2s}
.ctastrip__tel .ic{color:var(--green)}
.ctastrip__tel:hover{color:var(--blue-d)}
.ctastrip .btn--sun{background:var(--sun);color:var(--ink);box-shadow:0 6px 0 #d9a312}
.ctastrip .btn--sun:hover{transform:translateY(-3px);box-shadow:0 9px 0 #d9a312}
/* the bold band: Hopscotch blue with sunny accents */
.ctastrip--bold{background:var(--blue);border-color:var(--blue);box-shadow:0 8px 0 var(--blue-d),var(--shadow-lg)}
.ctastrip--bold::after{content:"";position:absolute;z-index:-1;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.1)}
.ctastrip--bold .ctastrip__title,.ctastrip--bold .ctastrip__tel{color:#fff}
.ctastrip--bold .ctastrip__title .hl{background:none;color:var(--sun);padding:0}
.ctastrip--bold .ctastrip__sub{color:#dcecff}
.ctastrip--bold .ctastrip__tel .ic{color:var(--sun)}
.ctastrip--bold .ctastrip__tel:hover{color:var(--sun)}
.ctastrip--bold .ctastrip__ic{background:#fff;color:var(--blue);box-shadow:0 5px 0 rgba(15,95,180,.55)}
@media (max-width:640px){
  .ctastrip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px 16px;border-radius:26px;padding:22px 20px}
  .ctastrip__ic{width:48px;height:48px;border-radius:16px}
  .ctastrip__ic .ic{width:24px;height:24px}
  .ctastrip__btns{grid-column:1/-1}
  .ctastrip__btns{width:100%;flex-direction:column;align-items:stretch}
  .ctastrip__btns .btn{width:100%}
  .ctastrip__tel{justify-content:center}
}

/* ---------- Service area: towns beside a map (areas_map) ---------- */
.amap{background:linear-gradient(180deg,#e9f7ff,#cfeaff);border-radius:48px;overflow:hidden}
.amap>.wrap{width:calc(100% - clamp(40px,8vw,112px))}
.amap__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:stretch}
.amap--nomap .amap__in{grid-template-columns:1fr}
.amap .eyebrow{background:#fff}
.amap h2{font-size:clamp(2rem,4vw,3rem);margin:16px 0 10px}
.amap__intro{font-size:1.15rem;font-weight:700;color:#2c4563;margin-bottom:20px}
.amap__list{list-style:none;margin:0;padding:0;columns:3 165px;column-gap:14px}
.amap__list li{break-inside:avoid;margin-bottom:6px}
.amap__list a,.amap__town{display:inline-flex;align-items:center;gap:.5em;padding:.4em .85em .4em .5em;border-radius:999px;font-weight:800;color:var(--ink);transition:transform .3s var(--bounce),background .2s,color .2s,box-shadow .2s}
.amap__list .ic{width:1.25em;height:1.25em;color:var(--coral);transition:transform .4s var(--bounce)}
.amap__list a:hover{background:#fff;transform:translateX(4px);box-shadow:0 4px 0 #b9d8f2}
.amap__list a:hover .ic{transform:translateY(-3px) scale(1.15)}
.amap__list a[aria-current]{background:var(--ink);color:#fff;box-shadow:0 4px 0 #0a1829}
.amap__list a[aria-current] .ic{color:var(--sun)}
.amap__list .is-more .amap__town{color:var(--blue-d)}
.amap__list .is-more .ic{color:var(--blue)}
.amap__note{margin-top:18px;font-weight:700;color:#2c4563;display:flex;flex-wrap:wrap;gap:.4em;align-items:center}
.amap__note a{display:inline-flex;align-items:center;gap:.35em;color:var(--blue-d);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.amap__map{position:relative;min-height:440px}
.amap__map::before{content:"";position:absolute;inset:22px -12px -12px 22px;border-radius:34px;background:var(--green);opacity:.9}
.amap__frame{position:absolute;inset:0 10px 10px 0;border-radius:34px;overflow:hidden;border:8px solid #fff;box-shadow:var(--shadow-lg);background:linear-gradient(160deg,#e3f6e7,#cfeaff)}
.amap__frame iframe{display:block;width:100%;height:100%;border:0}
.amap__badge{position:absolute;right:26px;top:-16px;display:inline-flex;align-items:center;gap:.45em;background:var(--sun);color:var(--ink);font-family:var(--display);font-weight:600;padding:.55em 1.1em;border-radius:999px;box-shadow:0 5px 0 #d9a312;rotate:-4deg;animation:float 5s ease-in-out infinite}
.amap__badge .ic{color:var(--coral)}
@media (max-width:900px){
  .amap__in{grid-template-columns:1fr}
  .amap__map{min-height:340px}
  .amap{border-radius:32px}
}
@media (max-width:480px){
  .amap>.wrap{width:calc(100% - 32px)}
  .amap__list{columns:2;column-gap:6px}
  .amap__list a,.amap__town{padding-inline:.35em .5em;font-size:.97rem}
  .amap__map{min-height:300px}
  .amap__badge{right:14px;top:-14px}
}

/* ---------- Town pages: hero and intro details ---------- */
.pagehead--sec.has-img .crumbs :is(li,span,[aria-current]){color:#fff}
.pagehead--sec.has-img .crumbs a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.pagehead--sec.has-img .eyebrow{background:#fff}
.sec--text .entry-content p+p{margin-top:1em}
