/* DCC clean directory/location pages. Keep all changes inside these templates. */
.dcc-directory-landing,.dcc-location-page{background:#fff;color:#34445f;font-size:16px}
:is(.dcc-directory-landing,.dcc-location-page) .wrap{max-width:1520px;width:100%;margin-inline:auto;padding-inline:28px;box-sizing:border-box}
:is(.dcc-directory-landing,.dcc-location-page) :is(section,article,aside,div){min-width:0}
:is(.dcc-directory-landing,.dcc-location-page) :is(p,li,label,input,select,textarea,button,summary,td,th,small){font-size:16px}
:is(.dcc-directory-landing,.dcc-location-page) :is(p,li){line-height:1.7}
:is(.dcc-directory-landing,.dcc-location-page) :is(input,select,textarea,button){font-family:inherit}
.dcc-directory-landing h2,.dcc-location-page h2{font-size:30px;line-height:1.2;letter-spacing:-.02em;color:#001238}
.dcc-directory-landing h3,.dcc-location-page h3{font-size:21px;line-height:1.3;color:#001238}
:is(.dcc-directory-landing,.dcc-location-page) :is(section,article)[id]{scroll-margin-top:32px}

/* Existing navy/teal service-page shell, with an actual WordPress image. */
.dcc-dir-hero,.dcc-location-page .dcc-loc-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#001238,#0a315d 75%,#075f63);color:#fff;padding:0}
.dcc-dir-hero-image{position:absolute;inset:0;z-index:-2}
.dcc-dir-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.dcc-dir-hero:has(.dcc-dir-hero-image)::before,.dcc-location-page .dcc-loc-hero:has(.dcc-dir-hero-image)::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,18,56,.94),rgba(0,18,56,.78) 58%,rgba(0,18,56,.52))}
.dcc-location-page .dcc-loc-hero::after{display:none}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:60px;align-items:center;padding-top:56px;padding-bottom:56px;position:relative;z-index:1}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-grid.is-hub{grid-template-columns:minmax(0,1fr)}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-copy h1{max-width:880px;margin:0 0 20px;color:#fff;font-size:clamp(36px,4vw,58px);font-weight:800;line-height:1.06;letter-spacing:-.035em}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-copy>p{max-width:820px;margin:0;color:#e6edf6;font-size:18px;line-height:1.65}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-loc-crumbs{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:0 0 24px;font-size:16px;line-height:1.5;color:#d5e1ee}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-loc-crumbs a{color:#fff;text-decoration:none}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-loc-crumbs a:hover{text-decoration:underline}
.dcc-dir-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.dcc-dir-primary,.dcc-dir-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:9px;font-size:16px;line-height:1.4;font-weight:800;text-decoration:none}
.dcc-dir-primary{background:#00c9a7;color:#001238}.dcc-dir-primary:hover{background:#25dfbb;color:#001238}
.dcc-dir-secondary{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}.dcc-dir-secondary:hover{border-color:#00c9a7;color:#fff}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form{background:#fff;border:1px solid #dfe6ef;border-top:4px solid #00c9a7;border-radius:12px;padding:28px;color:#34445f;box-shadow:0 12px 36px rgba(0,18,56,.16)}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-form-kicker{display:block;margin-bottom:9px;color:#007468;font-size:16px;font-weight:800}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form h2{font-size:25px;margin:0 0 22px;color:#001238}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form label{display:block;color:#34445f;margin:0 0 8px;font-weight:600;line-height:1.4}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form textarea{display:block;box-sizing:border-box;width:100%;min-height:110px;padding:13px;border:1px solid #c7d2e3;border-radius:7px;background:#f8fafc;color:#20314f;line-height:1.5;resize:vertical;margin-bottom:16px}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:13px 16px;border:0;border-radius:8px;background:#00c9a7;color:#001238;font-weight:800;cursor:pointer}
:is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form button:hover{background:#25dfbb}
:is(.dcc-directory-landing,.dcc-location-page) :is(input,select,textarea,button,a):focus-visible{outline:3px solid #007f70;outline-offset:3px}

.dcc-dir-tabs{background:#fff;border-bottom:1px solid #dfe6ef}
.dcc-dir-tabs .wrap{display:flex;gap:30px;overflow-x:auto;scrollbar-width:thin}
.dcc-dir-tabs a{display:inline-flex;align-items:center;flex:none;min-height:64px;padding:12px 0;color:#001238;font-size:16px;line-height:1.4;font-weight:700;text-decoration:none}
.dcc-dir-tabs a:hover{color:#007f70}
.dcc-directory-landing .dcc-dir-main{padding-top:42px;padding-bottom:64px}
.dcc-dir-card{width:100%;max-width:none;margin:0}
.dcc-dir-card>p,.dcc-dir-card>ul,.dcc-dir-card>ol{max-width:980px;margin:0 0 24px;color:#34445f}
.dcc-dir-card>h2{max-width:1050px;margin:38px 0 16px}
.dcc-dir-card>h3{max-width:1050px;margin:28px 0 12px}
.dcc-dir-card>ul,.dcc-dir-card>ol{padding-left:22px}
.dcc-dir-card>ul li,.dcc-dir-card>ol li{margin-bottom:9px}
.dcc-dir-card>p a,.dcc-dir-card>ul a,.dcc-dir-card>ol a{color:#006b5c;text-decoration:underline;text-underline-offset:3px}
.dcc-dir-card> :first-child{margin-top:0}
.dcc-dir-card>div:not(#results){max-width:1050px}
.dcc-dir-card :is(.dcc-key-fact,.dcc-source-note,.dcc-key-takeaway,.dcc-warning-box,.dcc-service-card p,.dcc-service-table th,.dcc-service-table td){font-size:16px}
.dcc-dir-card .dcc-service-table td::before{font-size:16px}
.dcc-dir-card :is(.dcc-key-takeaway,.dcc-warning-box){padding:20px 22px;margin:24px 0;border:1px solid #c4e9e0;border-left:4px solid #00a98f;border-radius:8px;background:#f0faf7;line-height:1.7}
.dcc-dir-card .dcc-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.dcc-dir-card .dcc-info-card{padding:22px;border:1px solid #dfe6ef;border-radius:12px;background:#f8fafc}
.dcc-dir-card :is(.dcc-info-card,.dcc-service-card) h3{margin:0 0 12px}
.dcc-dir-card :is(.dcc-info-card,.dcc-service-card) p{margin:0}
.dcc-dir-card .table-scroll{overflow-x:auto;margin:24px 0}
.dcc-dir-card .table-scroll table{width:100%;border-collapse:collapse;line-height:1.6}
.dcc-dir-card .table-scroll :is(th,td){padding:14px;text-align:left;vertical-align:top;border:1px solid #dfe6ef}
.dcc-dir-card .table-scroll th{background:#f0f4f9;color:#001238}

/* The working search-results design gets the whole page width, outside prose. */
.dcc-dir-card #results,.dcc-location-page .dcc-loc-results{margin:28px 0 40px;padding:28px;background:#f6f8fc;border:1px solid #e3e8f1;border-radius:14px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2.etm-dir2-embedded{width:100%;max-width:none;margin:0;padding:0!important;background:transparent}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-layout{grid-template-columns:300px minmax(0,1fr);gap:28px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-results{width:100%;max-width:none;min-width:0}
:is(.dcc-directory-landing,.dcc-location-page) .etm-rcard{width:100%;box-sizing:border-box;margin:0;text-align:left}
:is(.dcc-directory-landing,.dcc-location-page) .etm-rcard :is(h3,p){max-width:none}
:is(.dcc-directory-landing,.dcc-location-page) .etm-rcard h3{font-size:20px;line-height:1.3}
:is(.dcc-directory-landing,.dcc-location-page) .etm-rcard a{text-decoration:none}
:is(.dcc-directory-landing,.dcc-location-page) .etm-rcard-main{min-width:0}
:is(.dcc-directory-landing,.dcc-location-page) :is(.etm-rcard-meta,.etm-rcard-meta span,.etm-rcard-bio,.etm-rcard-badges,.etm-rcard-badges span,.etm-rcard-areas,.etm-rcard-areas span,.etm-rcard-location,.etm-rcard-location span,.etm-vbadge,.etm-pill,.etm-pill span,.etm-filter-label,.etm-dir2-clear,.etm-dir2-count,.etm-btn,.etm-rcard-svc,.etm-dir2-sidecta p,.etm-page-btn){font-size:16px!important}
:is(.dcc-directory-landing,.dcc-location-page) .etm-pill{position:relative;letter-spacing:0;text-transform:none;padding:8px 10px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search :is(select,input,button,a){font-size:16px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search :is(select,button,a){min-height:46px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search input{min-height:46px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-filters{position:sticky;top:24px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-filters>form{position:relative;max-height:680px;overflow:auto;overscroll-behavior:contain;border-radius:14px;scrollbar-width:thin;scrollbar-color:#9cabbf #f1f4f8}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-fcard{border-radius:14px;padding:20px 16px}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-fcard .etm-btn-block{position:sticky;bottom:0;z-index:1;box-shadow:0 0 0 7px #fff}
:is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-sidecta{border-radius:14px}

.dcc-dir-faqs{margin:48px 0;padding-top:38px;border-top:1px solid #dfe6ef}
.dcc-dir-faqs>h2{margin:0 0 22px}
.dcc-dir-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dcc-dir-faq-grid details{height:max-content;border:1px solid #dfe6ef;border-radius:10px;background:#fff}
.dcc-dir-faq-grid summary{cursor:pointer;padding:18px;color:#001238;font-weight:700;line-height:1.5}
.dcc-dir-faq-grid details>div{padding:0 18px 18px;line-height:1.7}
.dcc-dir-faq-grid details p{margin:0 0 12px}.dcc-dir-faq-grid details p:last-child{margin-bottom:0}
.dcc-dir-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:48px;padding:36px;background:linear-gradient(125deg,#001238,#073b5c);color:#fff;border-radius:14px}
.dcc-dir-bottom-cta span{font-size:16px;font-weight:700;color:#a3f4e4}
.dcc-dir-bottom-cta h2{color:#fff;margin:10px 0 12px}.dcc-dir-bottom-cta p{max-width:800px;margin:0;color:#e0e8f2}
.dcc-dir-bottom-cta>a{flex:none;background:#00c9a7;color:#001238;border-radius:8px;min-height:48px;padding:13px 20px;font-size:16px;font-weight:800;text-decoration:none}

/* Existing location content and direct enquiry form remain functional. */
.dcc-location-page .dcc-loc-main{padding-top:42px}
.dcc-location-page .dcc-loc-layout{gap:38px}
.dcc-location-page .dcc-loc-panel :is(label,.etm-consent,.etm-consent span,.etm-consent-text){color:#e2eaf4;font-size:16px}
.dcc-location-page .dcc-loc-panel .etm-field label{display:block;margin-bottom:7px;color:#e2eaf4}
.dcc-location-page .dcc-loc-panel .etm-field{margin-bottom:16px}
.dcc-location-page .dcc-loc-panel input:not([type="checkbox"]),.dcc-location-page .dcc-loc-panel textarea{width:100%;box-sizing:border-box;padding:11px 12px;font-size:16px;border:1px solid #c7d2e3;border-radius:7px;background:#fff;color:#20314f;line-height:1.5}
.dcc-location-page .dcc-loc-panel :is(p,.etm-consent label){font-size:16px;color:#e2eaf4}
.dcc-location-page .dcc-loc-panel .dcc-loc-text-link{font-size:16px;color:#75ebd5}
.dcc-location-page .dcc-loc-panel-light :is(h2,p,.dcc-loc-text-link){color:#001238}
.dcc-location-page .dcc-loc-panel h2{font-size:23px}
.dcc-location-page .dcc-loc-panel:not(.dcc-loc-panel-light) h2,.dcc-location-page .dcc-loc-bottom-cta h2{color:#fff}
.dcc-location-page .dcc-loc-panel .dcc-loc-primary{border:0;min-height:48px;cursor:pointer;font-size:16px}
.dcc-location-page .dcc-loc-content :is(.dcc-fact-card p,.dcc-state-card p,.dcc-check-table td,.dcc-check-table th,.dcc-source-note),.dcc-location-page .dcc-loc-faq-grid details div{font-size:16px}
.dcc-location-page .dcc-loc-results .dcc-loc-section-head{margin-bottom:24px}
.dcc-location-page .dcc-loc-faq-grid summary{font-size:16px;line-height:1.5}
.dcc-location-page .dcc-loc-bottom-cta :is(a,p,span){font-size:16px}
.dcc-location-page :is(.dcc-learning-actions a,.dcc-learning-link,.dcc-learning-link span){font-size:16px!important}

@media(max-width:1100px){
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-grid{grid-template-columns:minmax(0,1fr) 360px;gap:32px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-layout{grid-template-columns:270px minmax(0,1fr);gap:22px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard{grid-template-columns:64px minmax(0,1fr)}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard-aside{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;width:100%}
}
@media(max-width:900px){
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-grid{grid-template-columns:1fr;gap:30px;padding-block:38px}
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form{max-width:620px;width:100%;box-sizing:border-box}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-layout{grid-template-columns:minmax(0,1fr);gap:22px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-filters{position:static}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-filters>form{max-height:70vh}
 .dcc-dir-bottom-cta{align-items:flex-start;flex-direction:column;gap:24px}
 .dcc-dir-faq-grid{grid-template-columns:1fr}
 .dcc-dir-card .dcc-card-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 :is(.dcc-directory-landing,.dcc-location-page) .wrap{padding-inline:16px}
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-copy h1{font-size:34px}
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-copy>p{font-size:17px}
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form{padding:22px}
 :is(.dcc-directory-landing,.dcc-location-page) .dcc-dir-hero-form h2{font-size:23px}
 .dcc-dir-tabs .wrap{gap:22px}.dcc-dir-tabs a{min-height:56px}
 .dcc-directory-landing h2,.dcc-location-page h2{font-size:26px}
 .dcc-directory-landing .dcc-dir-main{padding-top:30px;padding-bottom:42px}
 .dcc-dir-card #results,.dcc-location-page .dcc-loc-results{padding:16px 10px;margin-inline:-6px;border-radius:10px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard h3{font-size:19px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard-aside{grid-column:1/-1}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard-aside .etm-btn{flex:1;justify-content:center}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-rcard-meta{flex-wrap:wrap}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search{gap:8px;padding:10px}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search input[type="search"]{flex-basis:calc(100% - 40px);order:0}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search select{flex-basis:100%;width:100%}
 :is(.dcc-directory-landing,.dcc-location-page) .etm-dir2-search .etm-btn{padding-inline:14px}
 .dcc-dir-bottom-cta{padding:26px}.dcc-dir-bottom-cta>a{box-sizing:border-box;width:100%;text-align:center}
 .dcc-location-page .dcc-loc-panel{padding:24px}
}
