/* UK regional directories only; native header, locator and singles remain theme-owned. */
.ep-alba{--ep-blue:#0073aa;--ep-ink:#2c3e50;--ep-muted:#526474;--ep-line:#dce4e9;color:var(--ep-ink);font-family:Helvetica,Arial,sans-serif;margin:24px auto 60px;max-width:1180px}
.ep-alba *{box-sizing:border-box}
.ep-alba [hidden]{display:none!important}
.ep-alba h1,.ep-alba h2,.ep-alba h3,.ep-alba p,.ep-alba a,.ep-alba input,.ep-alba button{font-family:inherit}
.ep-alba a{color:var(--ep-blue)}
.ep-alba a:focus-visible,.ep-alba button:focus-visible,.ep-alba summary:focus-visible,.ep-alba input:focus-visible{outline:3px solid var(--ep-blue);outline-offset:3px}
.ep-alba-intro{margin:0 0 34px}
.ep-alba .ep-alba-eyebrow{color:var(--ep-blue);font-size:12px;font-weight:700;letter-spacing:1.3px;margin:0 0 12px}
.ep-alba h1{font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.15;letter-spacing:-.8px;margin:0 0 16px;color:var(--ep-ink)}
.ep-alba-intro>p:last-child{font-size:17px;line-height:1.65;color:var(--ep-muted);margin:0}
.ep-alba-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start}
.ep-alba-tools{padding:22px;background:#f3f7fa;border:1px solid var(--ep-line);border-radius:12px}
.ep-alba-filter label{display:block;font-weight:700;font-size:17px;line-height:1.4}
.ep-alba #ep-alba-hint{font-size:13px;color:var(--ep-muted);margin:7px 0 14px;line-height:1.5}
.ep-alba-field{position:relative}
.ep-alba #ep-alba-search{width:100%;min-width:0;height:48px;padding:10px 55px 10px 12px;border:1px solid #8394a1;border-radius:6px;background:#fff;font-size:15px;line-height:1.4;color:var(--ep-ink);margin:0;box-shadow:none}
.ep-alba #ep-alba-search::-webkit-search-cancel-button{-webkit-appearance:none}
.ep-alba #ep-alba-clear{position:absolute;right:3px;top:2px;min-height:44px;min-width:48px;padding:0 6px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:var(--ep-blue);font-size:12px;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0}
.ep-alba #ep-alba-status{font-size:13px;font-weight:700;margin:20px 0 10px;line-height:1.6}
.ep-alba .ep-alba-help{font-size:14px;line-height:1.6;color:var(--ep-muted);margin:0 0 18px}
.ep-alba-nearby{display:inline-block;font-size:14px;line-height:1.6;padding:4px 0;text-decoration:underline}
.ep-alba-town{border:1px solid var(--ep-line);border-radius:10px;margin:0 0 12px;background:#fff;overflow:visible}
.ep-alba-town>summary{display:flex;align-items:center;gap:12px;padding:20px 22px;min-height:76px;cursor:pointer;list-style:none;border-radius:10px;background:#f8fafc}
.ep-alba-town>summary::-webkit-details-marker{display:none}
.ep-alba-town h2{font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--ep-ink);margin:0;flex:1;overflow-wrap:anywhere}
.ep-alba-count{font-size:13px;color:var(--ep-muted);white-space:nowrap}
.ep-alba-chevron{width:9px;height:9px;border-right:2px solid var(--ep-blue);border-bottom:2px solid var(--ep-blue);transform:rotate(45deg);margin:0 2px 4px 5px;flex-shrink:0}
.ep-alba-town[open] .ep-alba-chevron{transform:rotate(225deg);margin-top:5px}
.ep-alba .ep-alba-points{list-style:none;margin:0;padding:0}
.ep-alba .ep-alba-point{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin:0;border-top:1px solid var(--ep-line);list-style:none}
.ep-alba-address{min-width:0;flex:1;overflow-wrap:anywhere}
.ep-alba h3{font-size:16px;line-height:1.45;font-weight:700;margin:0 0 4px;letter-spacing:0}
.ep-alba .ep-alba-location{color:var(--ep-ink);text-decoration:none}
.ep-alba .ep-alba-location:hover{color:var(--ep-blue);text-decoration:underline}
.ep-alba .ep-alba-venue{font-size:13px;line-height:1.5;margin:0 0 4px;color:var(--ep-muted)}
.ep-alba .ep-alba-postcode{font-size:13px;line-height:1.5;margin:0;color:var(--ep-ink)}
.ep-alba-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;flex-shrink:0}
.ep-alba-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 4px;font-weight:700;line-height:1.4;text-decoration:underline;white-space:normal}
.ep-alba-actions>span{color:#687c8a;line-height:1}
.ep-alba-actions .ep-alba-book{border-radius:6px;background:var(--ep-blue);color:#fff;padding:10px 12px;text-decoration:none}
.ep-alba-actions .ep-alba-book:hover{background:#005b88}
.ep-alba .ep-alba-empty{padding:22px;border:1px solid var(--ep-line);border-radius:10px;font-size:16px;line-height:1.6}
.ep-alba-about{margin-top:48px;padding-top:32px;border-top:1px solid var(--ep-line)}
.ep-alba-about>h2{font-size:25px;line-height:1.35;color:var(--ep-ink);letter-spacing:0}
.ep-alba-about .location-seo-content{font-family:inherit;padding:0;margin:0;background:transparent;border:0;box-shadow:none}
.ep-alba-about .seo-paragraph,.ep-alba-about .seo-intro{font-size:15px;line-height:1.7;color:var(--ep-muted)}
.ep-alba-about .location-seo-bottom{margin-top:30px}
.ep-alba-about .seo-headline{font-size:24px;line-height:1.4;color:var(--ep-ink);letter-spacing:0}
@media(max-width:1100px){.ep-alba-layout{grid-template-columns:230px minmax(0,1fr);gap:24px}.ep-alba .ep-alba-point{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){.ep-alba{margin-top:18px;margin-bottom:36px}.ep-alba-intro{margin-bottom:24px}.ep-alba h1{font-size:30px}.ep-alba-intro>p:last-child{font-size:15px}.ep-alba-layout{grid-template-columns:minmax(0,1fr);gap:22px}.ep-alba-tools{padding:18px}.ep-alba #ep-alba-status{margin-top:14px}.ep-alba .ep-alba-help{margin-bottom:8px}.ep-alba-town>summary{padding:17px 14px;gap:8px}.ep-alba-town h2{font-size:18px}.ep-alba-count{font-size:12px}.ep-alba .ep-alba-point{padding:18px 12px}.ep-alba-actions{gap:4px;font-size:12px}.ep-alba-actions a{padding-left:3px;padding-right:3px}.ep-alba-actions .ep-alba-book{padding-left:10px;padding-right:10px}.ep-alba-about{margin-top:30px;padding-top:24px}}

/* Override the legacy theme's generated heading and border selectors locally. */
#g1-content .ep-alba h1,#g1-content .ep-alba h2,#g1-content .ep-alba h3{font-weight:700!important;text-transform:none!important}
#g1-content .ep-alba .ep-alba-chevron{border-color:var(--ep-blue)}
#g1-content .ep-alba .ep-alba-nearby span{white-space:nowrap}

.ep-alba-layout.ep-alba-no-points{grid-template-columns:minmax(0,1fr)}

/* The theme wrapper must clip without becoming the sticky panel's scroll container. */
@media(min-width:701px) and (min-height:600px){
 body.tax-wpseo_locations_category #page{overflow:clip}
 .ep-alba-tools{position:sticky;top:24px}
 body.admin-bar .ep-alba-tools{top:70px}
}

/* Approved panel/card presentation, scoped to successfully decorated regional output. */
.ep-alba-panels .ep-alba-about-title{font-size:30px;line-height:1.25;letter-spacing:-.5px;margin:0;padding:28px 32px 18px;background:#f0f6fa;border-radius:12px 12px 0 0}
.ep-alba-panels .location-seo-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding:0 32px 26px;margin:0;background:#f0f6fa;border-radius:0 0 12px 12px}
.ep-alba-panels .location-seo-top .seo-paragraph{margin:0;min-width:0}
.ep-alba-panels .location-seo-top p{font-size:16px;line-height:1.8;color:var(--ep-muted);margin:0}
.ep-alba-paragraph-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:10px;margin:0 0 22px;background:#f0f6fa}
.ep-alba-panels .location-seo-bottom{margin:36px 0 0;padding:0;border:0}
.ep-alba-panels .location-seo-bottom .seo-headline{font-size:27px;line-height:1.25;letter-spacing:-.3px;color:var(--ep-ink);margin:0 0 22px;padding:0;border:0}
.ep-alba-panels .seo-services-intro{margin:0}
.ep-alba-panels .seo-services-intro p{font-size:15px;line-height:1.8;color:var(--ep-muted);margin:0 0 22px;font-weight:400}
.ep-alba-panels .seo-services-list{margin:24px 0 0}
.ep-alba-panels .service-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;margin:0;list-style:none}
.ep-alba-panels .service-categories .service-item{min-width:0;padding:21px 24px 24px;margin:0;background:#fff;border:1px solid #d5e3ec;border-radius:9px;box-shadow:0 4px 20px rgba(32,52,65,.035);overflow-wrap:anywhere;list-style:none}
.ep-alba-panels .ep-alba-service-title{display:flex;align-items:center;gap:13px;min-height:50px;margin:0 0 8px;line-height:1.4}
.ep-alba-panels .ep-alba-service-title a{display:flex;align-items:center;flex:1;min-width:0;min-height:44px;padding:8px 0;font-size:17px;line-height:1.4;font-weight:700;color:var(--ep-blue);text-decoration:none}
.ep-alba-panels .ep-alba-service-title a:hover{text-decoration:underline}
.ep-alba-device-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:#e8f3fa;color:var(--ep-blue);line-height:0}
.ep-alba-device-badge svg{width:28px;height:28px;flex:none}
.ep-alba-panels .ep-alba-service-description{margin:0;font-size:15px;line-height:1.8;color:var(--ep-muted);font-weight:400}
.ep-alba-panels .ep-alba-service-description a{color:var(--ep-blue);font-weight:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
 .ep-alba-panels .ep-alba-about-title{font-size:26px;line-height:1.3;padding:20px 20px 18px}
 .ep-alba-panels .location-seo-top{grid-template-columns:minmax(0,1fr);gap:20px;padding:0 20px 23px}
 .ep-alba-panels .location-seo-top p{font-size:15px}
 .ep-alba-paragraph-image{margin-bottom:19px}
 .ep-alba-panels .location-seo-bottom{margin-top:28px}
 .ep-alba-panels .location-seo-bottom .seo-headline{font-size:24px;line-height:1.3}
 .ep-alba-panels .service-categories{grid-template-columns:minmax(0,1fr);gap:14px}
 .ep-alba-panels .service-categories .service-item{padding:16px 18px 21px}
 .ep-alba-panels .ep-alba-service-title{gap:11px}
 .ep-alba-panels .ep-alba-service-title a{font-size:16px}
 .ep-alba-device-badge{flex-basis:44px;width:44px;height:44px;border-radius:11px}
 .ep-alba-device-badge svg{width:26px;height:26px}
 .ep-alba-panels .ep-alba-service-description{font-size:14px}
}
