.pxab-trades-directory,
.pxab-trades-profile,
.pxab-trades-template {
    --pxab-trades-border: #dce4e9;
    --pxab-trades-border-strong: #c9d5dc;
    --pxab-trades-heading: var(--pxab-trades-public-heading, #17232c);
    --pxab-trades-ink: var(--pxab-trades-public-text, #17232c);
    --pxab-trades-text: var(--pxab-trades-ink);
    --pxab-trades-muted: var(--pxab-trades-public-muted, #61717c);
    --pxab-trades-link: var(--pxab-trades-public-link, var(--pxab-trades-accent, #1f6f8b));
    --pxab-trades-link-hover: var(--pxab-trades-public-link-hover, var(--pxab-trades-link));
    --pxab-trades-surface: #fff;
    --pxab-trades-soft: #f4f7f8;
    --pxab-trades-soft-strong: #eaf1f3;
    --pxab-trades-danger: #a9382d;
    --pxab-trades-success: #176a49;
    --pxab-trades-shadow: 0 18px 48px rgba(20, 39, 51, .08);
    color: var(--pxab-trades-ink);
}
.pxab-trades-template__inner { width: min(1240px, calc(100% - 32px)); margin: 0 auto; padding: 40px 0 72px; }
:where(.pxab-trades-directory, .pxab-trades-template) :is(h1, h2, h3, h4, h5, h6) { color: var(--pxab-trades-heading); }
.pxab-trades-directory-shell { display: grid; gap: 34px; }
.pxab-trades-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--pxab-trades-accent); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pxab-trades-eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 999px; background: currentColor; }

/* Search-led directory composition. */
.pxab-trades-discovery-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, .72fr) minmax(540px, 1.28fr); gap: 34px; align-items: center; padding: clamp(28px, 5vw, 62px); border: 1px solid color-mix(in srgb, var(--pxab-trades-accent) 20%, var(--pxab-trades-border)); border-radius: calc(var(--pxab-trades-radius) + 10px); background: linear-gradient(135deg, color-mix(in srgb, var(--pxab-trades-accent) 9%, #fff) 0%, #fff 52%, color-mix(in srgb, var(--pxab-trades-accent) 5%, #eef4f5) 100%); box-shadow: var(--pxab-trades-shadow); }
.pxab-trades-discovery-hero::after { content: ""; position: absolute; width: 260px; height: 260px; right: -90px; bottom: -130px; border: 46px solid color-mix(in srgb, var(--pxab-trades-accent) 12%, transparent); border-radius: 48% 52% 58% 42%; transform: rotate(24deg); pointer-events: none; }
.pxab-trades-discovery-hero__copy { position: relative; z-index: 1; max-width: 560px; }
.pxab-trades-discovery-hero__copy h1,
.pxab-trades-discovery-hero__copy h2 { margin: 10px 0 14px; font-size: clamp(2.15rem, 4.5vw, 4.35rem); line-height: .98; letter-spacing: -.045em; }
.pxab-trades-discovery-hero__copy p { margin: 0; max-width: 54ch; color: var(--pxab-trades-muted); font-size: clamp(1rem, 1.7vw, 1.18rem); line-height: 1.65; }
.pxab-trades-search { position: relative; z-index: 2; margin: 0; border: 1px solid var(--pxab-trades-border); border-radius: var(--pxab-trades-radius); background: rgba(255,255,255,.96); box-shadow: 0 12px 34px rgba(20, 39, 51, .08); }
.pxab-trades-search--hero { padding: 22px; }
.pxab-trades-search--compact { padding: 18px; }
.pxab-trades-search__primary { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, .9fr); gap: 12px; align-items: end; }
.pxab-trades-search__field { min-width: 0; }
.pxab-trades-search__field label,
.pxab-trades-enquiry__form label { display: grid; gap: 6px; font-weight: 700; }
.pxab-trades-search__field > label { color: var(--pxab-trades-ink); font-size: .82rem; }
.pxab-trades-search input,
.pxab-trades-search select,
.pxab-trades-enquiry__form input,
.pxab-trades-enquiry__form select,
.pxab-trades-enquiry__form textarea { box-sizing: border-box; width: 100%; min-height: 46px; border: 1px solid var(--pxab-trades-border-strong); border-radius: 10px; padding: 10px 12px; background: #fff; color: inherit; font: inherit; }
.pxab-trades-search input:focus,
.pxab-trades-search select:focus,
.pxab-trades-enquiry__form input:focus,
.pxab-trades-enquiry__form select:focus,
.pxab-trades-enquiry__form textarea:focus { border-color: var(--pxab-trades-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pxab-trades-accent) 16%, transparent); outline: 0; }
.pxab-trades-search__submit { grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 48px; margin-top: 2px; }
.pxab-trades-search__more { margin-top: 14px; border-top: 1px solid #edf1f3; padding-top: 12px; }
.pxab-trades-search__more summary { width: fit-content; cursor: pointer; color: var(--pxab-trades-link); font-size: .84rem; font-weight: 750; }
.pxab-trades-search__more summary:hover,
.pxab-trades-search__more summary:focus-visible { color: var(--pxab-trades-link-hover); }
.pxab-trades-search__checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 18px; align-items: center; padding-top: 12px; }
.pxab-trades-search__check { display: flex; gap: 8px; align-items: center; min-height: 34px; font-size: .88rem; font-weight: 650; }
.pxab-trades-search__check input,
.pxab-trades-enquiry__consent input { width: 20px; height: 20px; min-height: 0; margin: 0; flex: 0 0 auto; accent-color: var(--pxab-trades-accent); }

/* Buttons are deliberately distinct from the reference site's block-button language. */
.pxab-trades-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; padding: 10px 16px; border: 1px solid var(--pxab-trades-btn-primary-bg) !important; border-radius: 999px; background: var(--pxab-trades-btn-primary-bg) !important; color: var(--pxab-trades-btn-primary-text) !important; text-decoration: none !important; font-weight: 760; line-height: 1.2; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease; }
.pxab-trades-button .pxab-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pxab-trades-button:hover,
.pxab-trades-button:focus-visible { border-color: var(--pxab-trades-btn-primary-hover-bg) !important; background: var(--pxab-trades-btn-primary-hover-bg) !important; color: var(--pxab-trades-btn-primary-hover-text) !important; transform: translateY(-1px); box-shadow: 0 8px 20px color-mix(in srgb, var(--pxab-trades-btn-primary-hover-bg) 18%, transparent); }
.pxab-trades-button--secondary { border-color: var(--pxab-trades-btn-secondary-text) !important; background: var(--pxab-trades-btn-secondary-bg) !important; color: var(--pxab-trades-btn-secondary-text) !important; }
.pxab-trades-button--secondary:hover, .pxab-trades-button--secondary:focus-visible { border-color: var(--pxab-trades-btn-secondary-hover-bg) !important; background: var(--pxab-trades-btn-secondary-hover-bg) !important; color: var(--pxab-trades-btn-secondary-hover-text) !important; box-shadow: 0 8px 20px color-mix(in srgb, var(--pxab-trades-btn-secondary-hover-bg) 30%, transparent); }
.pxab-trades-button--soft { border-color: var(--pxab-trades-btn-soft-text) !important; background: var(--pxab-trades-btn-soft-bg) !important; color: var(--pxab-trades-btn-soft-text) !important; }
.pxab-trades-button--soft:hover, .pxab-trades-button--soft:focus-visible { border-color: var(--pxab-trades-btn-soft-hover-bg) !important; background: var(--pxab-trades-btn-soft-hover-bg) !important; color: var(--pxab-trades-btn-soft-hover-text) !important; box-shadow: 0 8px 20px color-mix(in srgb, var(--pxab-trades-btn-soft-hover-bg) 30%, transparent); }
.pxab-trades-location-back { display: flex; margin: 0 0 16px; }
.pxab-trades-location-back .pxab-trades-button { min-height: 38px; padding: 8px 13px; }

/* Keep mouse-restored focus inside the configured Trade palette. Some themes
 * style button:focus independently of :focus-visible; the filter modal restores
 * focus to its opener after close, so that broad theme state must not leak in. */
.pxab-trades-button:focus:not(:focus-visible) {
    outline: 0;
    border-color: var(--pxab-trades-btn-primary-bg) !important;
    background: var(--pxab-trades-btn-primary-bg) !important;
    color: var(--pxab-trades-btn-primary-text) !important;
    transform: none;
    box-shadow: none;
}
.pxab-trades-button--secondary:focus:not(:focus-visible) {
    border-color: var(--pxab-trades-btn-secondary-text) !important;
    background: var(--pxab-trades-btn-secondary-bg) !important;
    color: var(--pxab-trades-btn-secondary-text) !important;
}
.pxab-trades-button--soft:focus:not(:focus-visible) {
    border-color: var(--pxab-trades-btn-soft-text) !important;
    background: var(--pxab-trades-btn-soft-bg) !important;
    color: var(--pxab-trades-btn-soft-text) !important;
}
.pxab-trades-button:active {
    border-color: var(--pxab-trades-btn-primary-hover-bg) !important;
    background: var(--pxab-trades-btn-primary-hover-bg) !important;
    color: var(--pxab-trades-btn-primary-hover-text) !important;
}
.pxab-trades-button--secondary:active {
    border-color: var(--pxab-trades-btn-secondary-hover-bg) !important;
    background: var(--pxab-trades-btn-secondary-hover-bg) !important;
    color: var(--pxab-trades-btn-secondary-hover-text) !important;
}
.pxab-trades-button--soft:active {
    border-color: var(--pxab-trades-btn-soft-hover-bg) !important;
    background: var(--pxab-trades-btn-soft-hover-bg) !important;
    color: var(--pxab-trades-btn-soft-hover-text) !important;
}

/* Result heading / active query context. */
.pxab-trades-results-section { display: grid; gap: 18px; }
.pxab-trades-results-head { display: flex; gap: 18px; align-items: end; justify-content: space-between; }
.pxab-trades-results-head h2 { margin: 6px 0 0; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.08; letter-spacing: -.025em; }
.pxab-trades-active-filters { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.pxab-trades-active-filters span,
.pxab-trades-active-filters a { display: inline-flex; min-height: 32px; align-items: center; padding: 5px 10px; border: 1px solid var(--pxab-trades-border); border-radius: 999px; background: var(--pxab-trades-soft); color: var(--pxab-trades-muted); font-size: .8rem; font-weight: 700; text-decoration: none; }
.pxab-trades-active-filters a { background: #fff; color: var(--pxab-trades-link); }
.pxab-trades-active-filters a:hover,
.pxab-trades-active-filters a:focus-visible { color: var(--pxab-trades-link-hover); }
.pxab-trades-results-workspace { display: grid; gap: 20px; align-items: start; }
.pxab-trades-results-workspace.has-map { grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); }
.pxab-trades-results-workspace__list { min-width: 0; }
.pxab-trades-results-workspace__map { position: sticky; top: 32px; min-width: 0; }

/* Reusable result cards. Grid remains available as a standalone builder widget. */
.pxab-trades-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.pxab-trades-grid--list { grid-template-columns: 1fr; }
.pxab-trades-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--pxab-trades-border); border-radius: var(--pxab-trades-radius); background: var(--pxab-trades-surface); box-shadow: 0 10px 28px rgba(20,35,50,.055); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.pxab-trades-card:hover { border-color: color-mix(in srgb, var(--pxab-trades-accent) 30%, var(--pxab-trades-border)); box-shadow: 0 16px 38px rgba(20,35,50,.08); }
.pxab-trades-card.is-featured { box-shadow: inset 4px 0 0 var(--pxab-trades-accent), 0 10px 28px rgba(20,35,50,.06); }
.pxab-trades-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--pxab-trades-soft); }
.pxab-trades-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.pxab-trades-card__media:hover .pxab-trades-card__image { transform: scale(1.025); }
.pxab-trades-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--pxab-trades-ink); font-size: .94rem; font-weight: 760; }
.pxab-trades-card__body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 18px; }
.pxab-trades-card h2 { margin: 8px 0 5px; color: var(--pxab-trades-heading); font-size: 1.25rem; line-height: 1.18; word-break: normal; overflow-wrap: break-word; }
.pxab-trades-card h2 a { color: var(--pxab-trades-link); text-decoration: none; }
.pxab-trades-card h2 a:hover,
.pxab-trades-card h2 a:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-card__types,
.pxab-trades-card__location { margin: 0 0 7px; color: var(--pxab-trades-muted); }
.pxab-trades-card__location { display: flex; align-items: center; gap: 5px; }

/* Shared Name / Address / Phone identity block. The surrounding h1/h2 is the Name. */
.pxab-trades-nap { display: grid; gap: 5px; min-width: 0; margin: 0 0 10px; color: var(--pxab-trades-muted); }
.pxab-trades-nap__address { display: grid; gap: 1px; margin: 0; color: inherit; font: inherit; font-style: normal; line-height: 1.4; }
.pxab-trades-nap__address > span { display: block; min-width: 0; overflow-wrap: anywhere; }
.pxab-trades-nap__phone { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 6px; color: var(--pxab-trades-link); font-weight: 760; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.pxab-trades-nap__phone:hover,
.pxab-trades-nap__phone:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-nap__phone:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 3px; }
.pxab-trades-nap__phone .pxab-icon { flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.pxab-trades-nap--card { margin-bottom: 8px; font-size: .86rem; }
.pxab-trades-nap--profile { margin: 0 0 12px; font-size: .98rem; }

.pxab-trades-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; margin-top: auto; }
.pxab-trades-card__actions .pxab-trades-button { width: 100%; min-width: 0; }
.pxab-trades-card__actions .pxab-trades-button:last-child:nth-child(odd) { grid-column: 1 / -1; }
.pxab-trades-grid--list .pxab-trades-card { display: grid; grid-template-columns: 180px minmax(0,1fr); }
.pxab-trades-grid--list .pxab-trades-card__media { height: 100%; min-height: 228px; aspect-ratio: auto; }
.pxab-trades-grid--list .pxab-trades-card__body { padding: 20px; }
.pxab-trades-grid--list .pxab-trades-card__actions .pxab-trades-button { min-height: 38px; padding: 8px 13px; font-size: .84rem; }
.pxab-trades-badge { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 9px; margin: 0 5px 5px 0; border-radius: 999px; background: #eef2f5; color: #344454; font-size: .74rem; font-weight: 760; }
.pxab-trades-badge--verified,
.pxab-trades-badge--checked,
.pxab-trades-badge--insured { background: #e8f5ee; color: #12613c; }
.pxab-trades-badge--emergency { background: #fff0ed; color: #9f3328; }
.pxab-trades-badge--estimate { background: #eef4ff; color: #254d9d; }
.pxab-trades-empty { grid-column: 1/-1; padding: 30px; border: 1px dashed var(--pxab-trades-border-strong); border-radius: var(--pxab-trades-radius); background: var(--pxab-trades-soft); text-align: center; }
.pxab-trades-empty p { margin-bottom: 0; color: var(--pxab-trades-muted); }
.pxab-trades-pagination { margin-top: 20px; }
.pxab-trades-pagination ul { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.pxab-trades-pagination a,
.pxab-trades-pagination span { display: grid; min-width: 40px; height: 40px; place-items: center; border: 1px solid var(--pxab-trades-border); border-radius: 999px; text-decoration: none; }
.pxab-trades-pagination a { color: var(--pxab-trades-link); }
.pxab-trades-pagination a:hover,
.pxab-trades-pagination a:focus-visible { color: var(--pxab-trades-link-hover); }
.pxab-trades-pagination .current { border-color: var(--pxab-trades-accent); background: var(--pxab-trades-accent); color: var(--pxab-trades-accent-text); }

/* Multi-result and single-profile maps use the neutral shared map runtime. */
.pxab-trades-results-map { overflow: hidden; border: 1px solid var(--pxab-trades-border); border-radius: var(--pxab-trades-radius); background: #fff; box-shadow: 0 10px 28px rgba(20,35,50,.055); }
.pxab-trades-results-map__head { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--pxab-trades-border); }
.pxab-trades-results-map__head span { color: var(--pxab-trades-muted); font-size: .82rem; }
.pxab-trades-map { min-height: 360px; overflow: hidden; border-radius: calc(var(--pxab-trades-radius) - 6px); }
.pxab-trades-map--results { min-height: 620px; border-radius: 0; }
.pxab-trades-map-empty { padding: 24px; border: 1px dashed var(--pxab-trades-border-strong); border-radius: var(--pxab-trades-radius); background: var(--pxab-trades-soft); text-align: center; }
.pxab-trades-map-empty p { margin-bottom: 0; color: var(--pxab-trades-muted); }
.pxab-trades-map-popup { display: grid; gap: 5px; min-width: 170px; color: var(--pxab-trades-ink); }
.pxab-trades-map-popup strong { display: block; color: var(--pxab-trades-heading); font-size: .95rem; line-height: 1.3; }
.pxab-trades-map-popup address { display: grid; gap: 1px; margin: 0; color: var(--pxab-trades-muted); font-size: .84rem; font-style: normal; line-height: 1.45; }
.pxab-trades-map-popup address span { display: block; overflow-wrap: anywhere; }
.pxab-trades-map-popup__phone { color: var(--pxab-trades-link); font-weight: 700; text-decoration: none; }
.pxab-trades-map-popup__phone:hover,
.pxab-trades-map-popup__phone:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-map__leaflet-popup .leaflet-popup-content-wrapper { border-radius: 16px; box-shadow: 0 18px 46px rgba(15,23,42,.2); }

/* Original trust / education band, reusable on generated directory pages. */
.pxab-trades-trust { display: grid; grid-template-columns: minmax(230px,.8fr) minmax(0,1.7fr); gap: 28px; padding: clamp(24px,4vw,40px); border-radius: calc(var(--pxab-trades-radius) + 8px); background: #182a34; color: #fff; }
.pxab-trades-trust .pxab-trades-eyebrow { color: color-mix(in srgb, var(--pxab-trades-accent) 55%, #fff); }
.pxab-trades-trust__intro h2 { margin: 8px 0 0; color: #fff; font-size: clamp(1.6rem,3vw,2.4rem); line-height: 1.08; }
.pxab-trades-trust__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.pxab-trades-trust__grid > div { padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.055); }
.pxab-trades-trust__grid strong { display: block; margin-bottom: 5px; }
.pxab-trades-trust__grid p { margin: 0; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.55; }

/* Profile pages keep a distinct, content-rich layout. */
.pxab-trades-profile { width: 100%; color: var(--pxab-trades-profile-text, var(--pxab-trades-ink)); }
.pxab-trades-profile__hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 24px; align-items: stretch; margin-bottom: 16px; padding: 26px; border: 1px solid var(--pxab-trades-border); border-radius: calc(var(--pxab-trades-radius) + 6px); background: linear-gradient(135deg,var(--pxab-trades-surface),color-mix(in srgb,var(--pxab-trades-accent) 5%,var(--pxab-trades-surface))); box-shadow: var(--pxab-trades-shadow); }
.pxab-trades-profile__hero-copy { align-self: center; }
.pxab-trades-profile__title-row { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.pxab-trades-profile__title-row h1,
.pxab-trades-profile__title-row h2 { min-width: 0; }
.pxab-trades-profile__hero h1,
.pxab-trades-profile__hero h2 { margin: 8px 0; font-size: clamp(2rem,4vw,3.35rem); line-height: 1.02; letter-spacing: -.035em; }
.pxab-trades-profile__hero-copy > p { margin: 0 0 10px; color: var(--pxab-trades-muted); font-size: 1.08rem; }
.pxab-trades-profile__hero-image { overflow: hidden; min-height: 240px; border-radius: var(--pxab-trades-radius); }
.pxab-trades-profile__hero-image img { width: 100%; height: 100%; object-fit: cover; }
.pxab-trades-profile__actions {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
}
.pxab-trades-profile__actions .pxab-trades-button {
    flex: 1 1 138px;
    width: auto;
    min-width: 0;
    justify-content: center;
}
.pxab-trades-profile__layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(320px,.9fr); gap: 20px; align-items: start; }
.pxab-trades-profile__main,
.pxab-trades-profile__aside { display: grid; gap: 16px; }
.pxab-trades-profile__aside { position: sticky; top: 32px; }
.pxab-trades-section,
.pxab-trades-side-card { padding: 20px; border-radius: var(--pxab-trades-radius); box-shadow: 0 8px 24px rgba(20,35,50,.045); }
.pxab-trades-profile .pxab-trades-section { border: 1px solid var(--pxab-trades-border); background: var(--pxab-trades-surface); color: var(--pxab-trades-text); }
.pxab-trades-profile .pxab-trades-side-card { border: 1px solid var(--pxab-trades-border); background: var(--pxab-trades-surface); color: var(--pxab-trades-text); }
.pxab-trades-section__heading { margin-bottom: 14px; }
.pxab-trades-section__heading h2,
.pxab-trades-side-card h2 { margin: 0 0 6px; font-size: 1.18rem; line-height: 1.25; }
.pxab-trades-section__heading p { margin: 0; color: var(--pxab-trades-muted); }
.pxab-trades-profile :is(.pxab-trades-section__heading h2, .pxab-trades-side-card h2, .pxab-trades-side-card h3) { color: var(--pxab-trades-heading); }
.pxab-trades-profile :is(.pxab-trades-section__heading p, .pxab-trades-profile__tagline, .pxab-trades-opening-hours__notes, .pxab-trades-area-summary, .pxab-trades-side-card__meta, .pxab-trades-review-card__meta) { color: var(--pxab-trades-muted); }
.pxab-trades-detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.pxab-trades-detail-list li { display: flex; align-items: flex-start; gap: 7px; }
.pxab-trades-detail-list__icon { display: block; flex: 0 0 auto; width: 17px; height: 17px; margin-top: .18em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; color: var(--pxab-trades-accent); }
.pxab-trades-detail-list__icon--specialism,
.pxab-trades-detail-list__icon--brand-system { color: var(--pxab-trades-accent); }
.pxab-trades-detail-list__icon--accreditation { color: var(--pxab-trades-success); }
.pxab-trades-side-card dl { margin: 0; }
.pxab-trades-side-card dl > div { display: grid; grid-template-columns: minmax(108px,.78fr) minmax(0,1.22fr); gap: 10px 14px; align-items: start; padding: 14px 2px; border-bottom: 1px solid #edf0f2; }
.pxab-trades-side-card dl > div:last-child { border-bottom: 0; }
.pxab-trades-side-card dt { color: var(--pxab-trades-muted); font-size: .88rem; line-height: 1.45; }
.pxab-trades-side-card dd { min-width: 0; margin: 0; font-weight: 700; line-height: 1.45; text-align: right; overflow-wrap: anywhere; }
.pxab-trades-side-card--business-details { overflow: hidden; padding: 0; }
.pxab-trades-side-card--business-details > h2 { margin: 0; padding: 18px 18px 14px; border-bottom: 1px solid #edf0f2; }
.pxab-trades-side-card--business-details dl > .pxab-trades-fact-row { padding-right: 18px; padding-left: 18px; }
.pxab-trades-side-card--business-details .pxab-trades-fact-row--badges { grid-template-columns: 1fr; gap: 7px; padding-top: 12px; padding-bottom: 12px; }
.pxab-trades-side-card--business-details .pxab-trades-fact-row--badges dd { text-align: left; }
.pxab-trades-side-card--business-details .pxab-trades-fact-row--link a { font-weight: 800; text-underline-offset: 2px; }
.pxab-trades-fact-badges { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px; }
.pxab-trades-fact-badge { display: inline-flex; align-items: center; min-height: 28px; max-width: 100%; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--pxab-trades-accent) 22%, var(--pxab-trades-border)); border-radius: 999px; background: color-mix(in srgb, var(--pxab-trades-accent) 7%, #fff); color: color-mix(in srgb, var(--pxab-trades-accent) 84%, var(--pxab-trades-ink)); font-size: .78rem; font-weight: 750; line-height: 1.2; text-align: left; white-space: normal; }

.pxab-trades-side-card ul { margin: 0; padding-left: 20px; }

/* Enquiries. */
.pxab-trades-enquiry__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.pxab-trades-enquiry__form { display: grid; gap: 14px; }
.pxab-trades-enquiry__consent { display: flex !important; grid-template-columns: none !important; flex-direction: row; align-items: flex-start; gap: 9px !important; font-weight: 500 !important; }
.pxab-trades-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.pxab-trades-notice { margin-bottom: 14px; padding: 12px 14px; border-radius: 10px; font-weight: 700; }
.pxab-trades-notice--success { background: #eaf7ef; color: #12613c; }
.pxab-trades-notice--error { background: #fff0ed; color: var(--pxab-trades-danger); }

@media (max-width: 1120px) {
    .pxab-trades-discovery-hero { grid-template-columns: 1fr; }
    .pxab-trades-search__primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pxab-trades-search__submit { width: 100%; }
    .pxab-trades-results-workspace.has-map { grid-template-columns: 1fr; }
    .pxab-trades-grid:not(.pxab-trades-grid--list) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1040px) {
    .pxab-trades-profile__layout { grid-template-columns: minmax(0,1.55fr) minmax(300px,.85fr); }
}
@media (max-width: 900px) {
    .pxab-trades-profile__layout { grid-template-columns: 1fr; }
    .pxab-trades-profile__aside { position: static; }
    .pxab-trades-trust { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .pxab-trades-template__inner { width: min(100% - 20px,1240px); padding-top: 24px; }
    .pxab-trades-discovery-hero { padding: 22px; border-radius: var(--pxab-trades-radius); }
    .pxab-trades-search__primary,
    .pxab-trades-grid,
    .pxab-trades-profile__hero,
    .pxab-trades-enquiry__grid,
    .pxab-trades-detail-list { grid-template-columns: 1fr; }
    .pxab-trades-search--hero,
    .pxab-trades-search--compact { padding: 14px; }
    .pxab-trades-search__checks { grid-template-columns: 1fr; gap: 2px; }
    .pxab-trades-results-head { align-items: flex-start; flex-direction: column; }
    .pxab-trades-active-filters { justify-content: flex-start; }
    .pxab-trades-grid--list .pxab-trades-card { grid-template-columns: 1fr; }
    .pxab-trades-grid--list .pxab-trades-card__media { min-height: 180px; aspect-ratio: 16/8; }
    .pxab-trades-profile__hero-image { min-height: 190px; }
    .pxab-trades-side-card dl > div { grid-template-columns: minmax(98px,.75fr) minmax(0,1.25fr); gap: 8px 12px; }
    .pxab-trades-side-card--business-details .pxab-trades-fact-row--badges { grid-template-columns: 1fr; }
    .pxab-trades-trust__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .pxab-trades-card,
    .pxab-trades-card__image,
    .pxab-trades-button { transition: none; }
}
@media (forced-colors: active) {
    .pxab-trades-card,
    .pxab-trades-section,
    .pxab-trades-side-card,
    .pxab-trades-search,
    .pxab-trades-discovery-hero,
    .pxab-trades-results-map { border: 1px solid CanvasText; }
}

.pxab-trades-search-again { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); gap: 22px; align-items: center; padding: 22px; border: 1px solid var(--pxab-trades-border); border-radius: var(--pxab-trades-radius); background: var(--pxab-trades-soft); }
.pxab-trades-search-again h2 { margin: 6px 0 5px; font-size: 1.45rem; line-height: 1.1; }
.pxab-trades-search-again p { margin: 0; color: var(--pxab-trades-muted); }
.pxab-trades-search-again .pxab-trades-search { box-shadow: none; }
@media (max-width: 900px) { .pxab-trades-search-again { grid-template-columns: 1fr; } }

/* Complete public profile presentation for explicitly publishable Trade data. */
.pxab-trades-profile-summary > p { margin: 0; color: var(--pxab-trades-muted); font-size: 1rem; line-height: 1.7; }
.pxab-trades-profile-verification > strong { display: block; margin: 0 0 7px; color: var(--pxab-trades-success); }
.pxab-trades-profile-verification > p { margin: 0; color: var(--pxab-trades-muted); line-height: 1.6; }
.pxab-trades-profile-address address { display: grid; gap: 3px; margin: 0; color: var(--pxab-trades-ink); font-style: normal; line-height: 1.5; }
.pxab-trades-profile-address address span { display: block; overflow-wrap: anywhere; }
.pxab-trades-side-card__meta { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #edf0f2; color: var(--pxab-trades-muted); }
.pxab-trades-profile-links__list { display: flex; flex-wrap: wrap; gap: 8px; }
.pxab-trades-profile-links__list a { box-sizing: border-box; display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--pxab-trades-border); border-radius: 999px; background: var(--pxab-trades-soft); color: var(--pxab-trades-link); text-decoration: none; }
.pxab-trades-profile-links__list a .pxab-icon { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pxab-trades-profile-links__list a:hover,
.pxab-trades-profile-links__list a:focus-visible { border-color: var(--pxab-trades-accent); background: color-mix(in srgb, var(--pxab-trades-accent) 10%, #fff); color: var(--pxab-trades-link-hover); transform: translateY(-1px); }
.pxab-trades-search__security-notice { grid-column: 1 / -1; margin: 0 0 12px; }
.pxab-trades-search .pxab-field-error:not([hidden]),
.pxab-trades-enquiry__form .pxab-field-error:not([hidden]) { display: block; margin-top: 2px; }

@media (max-width: 720px) { .pxab-trades-profile__title-row { align-items: flex-start; } .pxab-trades-profile__title-row .pxab-header-qr { margin-top: 8px; } }

/* Trade Batch 1: accuracy, structured hours, rich services and correction reports. */
.pxab-trades-breadcrumbs { margin: 0 0 16px; color: var(--pxab-trades-muted); font-size: .9rem; }
.pxab-trades-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 5px 8px; margin: 0; padding: 0; list-style: none; }
.pxab-trades-breadcrumbs li { display: inline-flex; align-items: center; gap: 8px; }
.pxab-trades-breadcrumbs li:not(:last-child)::after { content: "/"; color: var(--pxab-trades-muted); }
.pxab-trades-breadcrumbs a { color: var(--pxab-trades-link); text-decoration: none; }
.pxab-trades-breadcrumbs a:hover,
.pxab-trades-breadcrumbs a:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-card__open-status { margin-top: 0 !important; font-weight: 800; }
.pxab-trades-card__open-status.is-open { color: var(--pxab-trades-success); }
.pxab-trades-card__open-status.is-closed { color: var(--pxab-trades-danger); }
.pxab-trades-opening-status { --pxab-trades-opening-state: var(--pxab-trades-muted, #61717c); width: fit-content; max-width: 100%; margin: 0 0 12px; }
.pxab-trades-opening-status.is-open { --pxab-trades-opening-state: var(--pxab-trades-success, #176a49); }
.pxab-trades-opening-status.is-closed { --pxab-trades-opening-state: var(--pxab-trades-danger, #a9382d); }
.pxab-trades-opening-status:not(.pxab-trades-opening-status--identity) {
    box-sizing: border-box;
    display: inline-flex;
    min-width: 0;
    padding: 6px 9px;
    border: 1px solid color-mix(in srgb,var(--pxab-trades-opening-state) 24%,var(--pxab-trades-border, #dce4e9));
    border-left: 3px solid var(--pxab-trades-opening-state);
    border-radius: 9px;
    background: color-mix(in srgb,var(--pxab-trades-opening-state) 7%,#fff);
    color: var(--pxab-trades-opening-icon);
    font-size: .78rem;
    line-height: 1.3;
}
.pxab-trades-opening-hours__list { display: grid; margin: 0; }
.pxab-trades-opening-hours__list > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; padding: 8px 0; border-bottom: 1px solid #edf0f2; }
.pxab-trades-opening-hours__list > div:last-child { border-bottom: 0; }
.pxab-trades-opening-hours__list dd { margin: 0; font-weight: 700; text-align: right; }
.pxab-trades-opening-hours__notes { margin: 12px 0 0; color: var(--pxab-trades-muted); line-height: 1.55; }
.pxab-trades-service-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pxab-trades-service-item { padding: 14px 16px; border: 1px solid var(--pxab-trades-service-border); border-radius: 10px; background: var(--pxab-trades-service-bg); color: var(--pxab-trades-service-text); }
.pxab-trades-service-item strong { display: block; color: inherit; }
.pxab-trades-service-item p { margin: 6px 0 0; color: inherit; opacity: .82; line-height: 1.6; }
.pxab-trades-area-list { display: grid; gap: 9px; padding-left: 0 !important; list-style: none; }
.pxab-trades-area-list > li { min-width: 0; }
.pxab-trades-area-list__label { display: flex; align-items: center; gap: 8px; min-width: 0; font-weight: 700; }
.pxab-trades-area-list__marker { display: inline-grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 999px; background: color-mix(in srgb, var(--pxab-trades-accent) 9%, #fff); color: var(--pxab-trades-accent); }
.pxab-trades-area-list__marker .pxab-icon { display: block; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pxab-trades-area-list details { margin: 6px 0 0 36px; }
.pxab-trades-area-list details summary { cursor: pointer; color: var(--pxab-trades-link); font-weight: 700; }
.pxab-trades-area-list details summary:hover,
.pxab-trades-area-list details summary:focus-visible { color: var(--pxab-trades-link-hover); }
.pxab-trades-area-list details p { margin: 6px 0 0; color: var(--pxab-trades-muted); line-height: 1.5; }
.pxab-trades-profile-report details { border: 1px solid var(--pxab-trades-border-strong); border-radius: 10px; background: var(--pxab-trades-soft); }
.pxab-trades-profile-report summary { cursor: pointer; padding: 13px 14px; font-weight: 800; }
.pxab-trades-profile-report__body { padding: 0 14px 14px; }
.pxab-trades-profile-report__body > p { margin-top: 0; color: var(--pxab-trades-muted); }
.pxab-trades-profile-report__form { display: grid; gap: 14px; }
.pxab-trades-profile-report__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.pxab-trades-profile-report__form .pxab-field-error:not([hidden]) { display: block; margin-top: 2px; }
@media (max-width: 680px) { .pxab-trades-profile-report__grid { grid-template-columns: 1fr; } }


/* Trade Batch 2: reputation, verified credentials and structured case studies. */
.pxab-trades-reputation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.pxab-trades-review-card { display: grid; gap: 8px; padding: 15px; border: 1px solid var(--pxab-trades-border-strong); border-radius: 12px; background: var(--pxab-trades-soft); }
.pxab-trades-review-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pxab-trades-review-card__provider { font-weight: 800; }
.pxab-trades-review-card__rating { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.pxab-trades-review-card__rating strong { font-size: 1.25rem; }
.pxab-trades-review-card__rating .pxab-icon { width: 17px; height: 17px; fill: currentColor; stroke: currentColor; }
.pxab-trades-review-card__meta { margin: 0; color: var(--pxab-trades-muted); font-size: .86rem; }
.pxab-trades-review-card__link { justify-self: start; font-weight: 750; }
.pxab-trades-credential-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.pxab-trades-credential-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 15px 2px; border-bottom: 1px solid #edf0f2; line-height: 1.5; }
.pxab-trades-credential-list li:last-child { border-bottom: 0; }
.pxab-trades-credential-list__verified { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border-radius: 999px; background: #e8f5ee; color: #12613c; font-size: .76rem; font-weight: 760; }
.pxab-trades-project-list { display: grid; gap: 16px; }
.pxab-trades-project { overflow: hidden; padding: 18px; border: 1px solid var(--pxab-trades-border-strong); border-radius: 14px; background: var(--pxab-trades-soft); }
.pxab-trades-project__header { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 18px; margin-bottom: 10px; }
.pxab-trades-project__header h3 { margin: 0; font-size: 1.12rem; }
.pxab-trades-project__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.pxab-trades-project__meta span { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid var(--pxab-trades-border); border-radius: 999px; background: #fff; color: var(--pxab-trades-muted); font-size: .76rem; font-weight: 700; }
.pxab-trades-project__description { margin: 0 0 14px; line-height: 1.65; }
.pxab-trades-project__gallery { margin-top: 12px; }
/* v1.0.740 — case-study galleries inherit the exact Previous work gallery presentation; only the project-card arrangement is Trade-configurable. */
.pxab-trades-projects__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px 18px; }
.pxab-trades-projects__heading > div { min-width: 0; }
.pxab-trades-project__gallery.pxab-public-media-gallery-wrap { margin-top: 12px; }
.pxab-trades-projects.is-description-compact .pxab-trades-project__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.pxab-trades-projects--grid .pxab-trades-project-list { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.pxab-trades-projects--grid .pxab-trades-project { min-width: 0; }
.pxab-trades-projects--carousel .pxab-trades-project-list {
    display: flex;
    gap: 16px;
    overflow-x: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.pxab-trades-projects--carousel .pxab-trades-project-list::-webkit-scrollbar { display: none; }
.pxab-trades-projects--carousel .pxab-trades-project {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.pxab-trades-projects__carousel-controls { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.pxab-trades-projects__carousel-button {
    display: inline-flex;
    width: 36px;
    height: 36px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid color-mix(in srgb,var(--pxab-trades-accent) 28%,var(--pxab-trades-border-strong));
    border-radius: 999px;
    background: #fff;
    color: var(--pxab-trades-accent);
    box-shadow: none;
    cursor: pointer;
}
.pxab-trades-projects__carousel-button:hover,
.pxab-trades-projects__carousel-button:focus-visible { border-color: var(--pxab-trades-accent); background: color-mix(in srgb,var(--pxab-trades-accent) 8%,#fff); }
.pxab-trades-projects__carousel-button:focus-visible { outline: 3px solid color-mix(in srgb,var(--pxab-trades-accent) 24%,transparent); outline-offset: 2px; }
.pxab-trades-projects__carousel-button:disabled { opacity: .38; cursor: default; }
.pxab-trades-projects__carousel-button .pxab-icon { width: 17px; height: 17px; }
.pxab-trades-projects__carousel-count { min-width: 42px; color: var(--pxab-trades-muted); font-size: .78rem; font-weight: 750; text-align: center; }
.pxab-trades-projects--accordion .pxab-trades-project-list { gap: 10px; }
.pxab-trades-project--accordion { padding: 0; }
.pxab-trades-project__summary {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 15px;
    cursor: pointer;
    list-style: none;
}
.pxab-trades-project__summary::-webkit-details-marker { display: none; }
.pxab-trades-project__summary-copy { display: grid; min-width: 0; gap: 6px; }
.pxab-trades-project__summary-copy > strong { color: var(--pxab-trades-heading); font-size: 1rem; line-height: 1.35; }
.pxab-trades-project__summary-icon { display: inline-flex; flex: 0 0 28px; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 999px; background: #fff; color: var(--pxab-trades-accent); transition: transform .16s ease; }
.pxab-trades-project__summary-icon .pxab-icon { width: 16px; height: 16px; }
.pxab-trades-project--accordion[open] .pxab-trades-project__summary-icon { transform: rotate(180deg); }
.pxab-trades-project__accordion-body { padding: 0 15px 15px; border-top: 1px solid color-mix(in srgb,var(--pxab-trades-border-strong) 74%,transparent); }
.pxab-trades-project__accordion-body > .pxab-trades-project__description:first-child { margin-top: 14px; }
@media (max-width: 760px) {
    .pxab-trades-projects--grid .pxab-trades-project-list { grid-template-columns: 1fr; }
    .pxab-trades-projects__heading { align-items: flex-start; }
}
@media (max-width: 680px) {
    .pxab-trades-reputation-grid { grid-template-columns: 1fr; }
    .pxab-trades-review-card__head { align-items: flex-start; flex-direction: column; }
    .pxab-trades-projects__heading { gap: 10px; }
    .pxab-trades-projects__carousel-controls { width: 100%; justify-content: flex-end; }
    .pxab-trades-project { padding: 14px; }
    .pxab-trades-project--accordion { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .pxab-trades-projects--carousel .pxab-trades-project-list { scroll-behavior: auto; }
    .pxab-trades-project__summary-icon { transition: none; }
}

/* Trade Batch 3: qualified enquiries and relevance-first directory discovery. */
.pxab-trades-search__advanced { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 16px; align-items: start; padding-top: 14px; }
.pxab-trades-search__advanced-field { display: grid; gap: 6px; min-width: 0; color: var(--pxab-trades-ink); font-size: .82rem; font-weight: 700; }
.pxab-trades-search__advanced-field input,
.pxab-trades-search__advanced-field select { width: 100%; }
.pxab-trades-search__geo { display: grid; gap: 6px; min-width: 0; }
.pxab-trades-search__geo > span { color: var(--pxab-trades-ink); font-size: .82rem; font-weight: 700; }
.pxab-trades-search__geo small { min-height: 0; color: var(--pxab-trades-muted); font-size: .74rem; line-height: 1.4; }
/* v1.0.674 — keep geolocation as a compact field action, not a full-width CTA. */
.pxab-trades-search__locate { width: fit-content; max-width: 100%; min-height: 44px; justify-self: start; justify-content: center; padding: 9px 14px; font-size: .84rem; }
.pxab-trades-search__locate .pxab-icon { width: 17px; height: 17px; }
.pxab-trades-card__location .pxab-icon { flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.pxab-trades-card__discovery-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.pxab-trades-card__discovery-meta > span { display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 3px 8px; border: 1px solid var(--pxab-trades-border); border-radius: 999px; background: #fff; color: var(--pxab-trades-muted); font-size: .76rem; font-weight: 750; }
.pxab-trades-card__discovery-meta > span.is-positive { border-color: color-mix(in srgb, var(--pxab-trades-success) 24%, #d9e5df); background: color-mix(in srgb, var(--pxab-trades-success) 8%, #fff); color: var(--pxab-trades-success); }
.pxab-trades-card__discovery-meta .pxab-icon { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.pxab-trades-enquiry__timing-toggle { display: flex !important; flex-direction: row; align-items: center; gap: 9px !important; width: fit-content; font-weight: 650 !important; }
.pxab-trades-enquiry__timing-toggle input { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--pxab-trades-accent); }
.pxab-trades-enquiry__photos { border: 1px solid var(--pxab-trades-border-strong); border-radius: 11px; background: var(--pxab-trades-soft); }
.pxab-trades-enquiry__photos summary { cursor: pointer; padding: 12px 14px; font-weight: 750; }
.pxab-trades-enquiry__photos > div { padding: 0 14px 14px; }
.pxab-trades-enquiry__photos input[type="file"] { min-height: 44px; padding: 8px; background: #fff; }
.pxab-trades-enquiry__photos small { color: var(--pxab-trades-muted); font-weight: 500; line-height: 1.45; }
.pxab-trades-enquiry__photo-status { min-height: 1.2em; margin: 7px 0 0; color: var(--pxab-trades-muted); font-size: .8rem; }
.pxab-trades-enquiry [hidden],
.pxab-trades-search [hidden] { display: none !important; }
.pxab-trades-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 12px; }
.pxab-trades-related-card { display: grid; grid-template-rows: auto minmax(0,1fr); height: 100%; overflow: hidden; min-width: 0; border: 1px solid var(--pxab-trades-border); border-radius: 13px; background: #fff; }
.pxab-trades-related-card__media { display: grid; height: 126px; place-items: center; overflow: hidden; background: var(--pxab-trades-soft); color: var(--pxab-trades-muted); text-decoration: none; }
.pxab-trades-related-card__media img { width: 100%; height: 100%; object-fit: cover; }
.pxab-trades-related-card__placeholder.pxab-trades-card__placeholder { width: 100%; height: 100%; min-height: 100%; padding: 14px; color: var(--pxab-trades-card-placeholder-text, var(--pxab-trades-ink)); }
.pxab-trades-related-card__placeholder strong { display: block; max-width: 150px; text-align: center; }
.pxab-trades-related-card__media:hover .pxab-trades-related-card__placeholder strong,
.pxab-trades-related-card__media:focus-visible .pxab-trades-related-card__placeholder strong { text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-related-card__media:focus-visible { outline: 2px solid var(--pxab-trades-accent); outline-offset: -3px; }
.pxab-trades-inline-labels { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; max-width: 100%; }
.pxab-trades-inline-separator { flex: 0 0 auto; width: 8px; height: 8px; color: var(--pxab-trades-muted); fill: currentColor; }
.pxab-trades-opening-status strong,
.pxab-trades-card-tabs__hours-status strong { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.pxab-trades-opening-status__separator { color: currentColor; opacity: .65; }
.pxab-trades-related-card__body { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 13px; }
.pxab-trades-related-card__body .pxab-trades-badge { width: fit-content; }
.pxab-trades-related-card h3 { margin: 0; font-size: 1rem; line-height: 1.25; }
.pxab-trades-related-card h3 a { color: var(--pxab-trades-link); text-decoration: none; }
.pxab-trades-related-card h3 a:hover,
.pxab-trades-related-card h3 a:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-related-card p { margin: 0; color: var(--pxab-trades-muted); font-size: .84rem; }
.pxab-trades-related-card__location { display: inline-flex; align-items: center; gap: 5px; color: var(--pxab-trades-muted); font-size: .8rem; }
.pxab-trades-related-card__location .pxab-icon { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.pxab-trades-related-card__link { width: 100%; min-height: 40px; margin-top: auto; padding: 8px 13px; font-size: .84rem; }
.pxab-trades-related-card__link .pxab-icon { width: 16px; height: 16px; flex-basis: 16px; }
@media (max-width: 1000px) {
    .pxab-trades-search__advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pxab-trades-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .pxab-trades-search__advanced,
    .pxab-trades-related__grid { grid-template-columns: 1fr; }
    .pxab-trades-related-card { grid-template-columns: 105px minmax(0,1fr); grid-template-rows: minmax(130px,1fr); }
    .pxab-trades-related-card__media { height: 100%; min-height: 130px; }
}

.pxab-trades-search__sort-note { display: block; margin-top: 2px; color: var(--pxab-trades-muted); font-size: .72rem; font-weight: 550; line-height: 1.4; }
.pxab-trades-results-map__head > div { display: grid; gap: 2px; }
.pxab-trades-results-map__head small { color: var(--pxab-trades-muted); font-size: .72rem; font-weight: 550; line-height: 1.35; }

/* v1.0.727 — Recently viewed cards use the same compact profile-card hierarchy without changing session/runtime behaviour. */
.pxab-trades-recent__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 12px; }
.pxab-trades-recent__card { min-width: 0; }
.pxab-trades-recent__card > a {
    display: flex;
    min-width: 0;
    min-height: 132px;
    height: 100%;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid var(--pxab-trades-border-strong,var(--pxab-trades-border));
    border-radius: 13px;
    background: var(--pxab-trades-soft,#fff);
    color: var(--pxab-trades-text,#1f2937);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.pxab-trades-recent__card > a:hover {
    border-color: color-mix(in srgb,var(--pxab-trades-accent) 38%,var(--pxab-trades-border-strong,var(--pxab-trades-border)));
    box-shadow: 0 8px 22px color-mix(in srgb,var(--pxab-trades-accent) 8%,transparent);
}
.pxab-trades-recent__card > a:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--pxab-trades-accent) 24%,transparent);
    outline-offset: 2px;
}
.pxab-trades-recent__card strong {
    display: block;
    color: var(--pxab-trades-heading,var(--pxab-trades-text));
    font-size: .98rem;
    line-height: 1.35;
}
.pxab-trades-recent__card > a > span:not(.pxab-trades-recent__types) {
    margin-top: auto;
    padding-top: 8px;
    border-top: 1px solid color-mix(in srgb,var(--pxab-trades-border-strong,var(--pxab-trades-border)) 72%,transparent);
    color: var(--pxab-trades-muted);
    font-size: .82rem;
    line-height: 1.4;
}
@media (max-width: 900px) { .pxab-trades-recent__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .pxab-trades-recent__grid { grid-template-columns: 1fr; } }


/* v1.0.672 — Trade results marker grouping, adapted from the proven PieX Dealer Locator screen-distance cluster model. */
.pxab-trades-map-cluster-wrap { background: transparent !important; border: 0 !important; }
.pxab-trades-map-cluster {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    box-sizing: border-box;
    border: 3px solid #fff;
    border-radius: 999px;
    background: var(--pxab-trades-accent);
    color: var(--pxab-trades-accent-text);
    box-shadow: 0 10px 24px rgba(15,23,42,.24);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, outline-color .18s ease;
}
.pxab-trades-map-cluster::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid color-mix(in srgb, var(--pxab-trades-accent) 34%, transparent);
    border-radius: inherit;
    pointer-events: none;
}
.pxab-trades-map-cluster-wrap.is-scroll-active .pxab-trades-map-cluster,
.leaflet-marker-icon.is-scroll-active .pxab-trades-map-cluster {
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-accent) 60%, #fff);
    outline-offset: 3px;
}
.pxab-trades-map-cluster-popup { display: grid; gap: 8px; min-width: 190px; color: var(--pxab-trades-ink); }
.pxab-trades-map-cluster-popup > strong { font-size: .92rem; line-height: 1.25; }
.pxab-trades-map-cluster-popup ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.pxab-trades-map-cluster-popup a { color: var(--pxab-trades-link); font-size: .84rem; font-weight: 750; text-decoration: none; }
.pxab-trades-map-cluster-popup a:hover,
.pxab-trades-map-cluster-popup a:focus-visible { color: var(--pxab-trades-link-hover); text-decoration: underline; text-underline-offset: 2px; }
.pxab-trades-map-cluster-popup__more { margin: 0; color: var(--pxab-trades-muted); font-size: .78rem; font-weight: 700; }

/* Trade map/list synchronisation intentionally does not alter card chrome.
 * The active state remains a behavioural hook for map-marker synchronisation;
 * cards retain the same border, shadow, position and hover treatment everywhere. */
/* v1.0.759 — generated Location landing results intentionally mirror the
 * established Find a Trade result-card chrome. Find a Trade historically sits
 * directly under .pxab-trades-directory-shell, while generated Location pages
 * have the extra .pxab-trades-directory wrapper that resolves legacy border
 * variables. Keep the Location wrapper for its page-level design tokens, but
 * neutralise only result-card shell borders/backgrounds that would otherwise
 * make the same card markup look different. */
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-card {
    border: 0;
}
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-company-logo--card {
    border: 0;
}
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-card-tabs {
    border: 0;
    background: transparent;
}
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-card-tabs__list {
    border-bottom: 0;
}
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-card-tabs__hours > div {
    border-bottom: 0;
}
.pxab-trade-landing-results .pxab-trades-results-workspace .pxab-trades-card__discovery-meta > span {
    border: 0;
}

.pxab-trades-card__placeholder {
    position: relative;
    display: grid;
    min-height: 100%;
    place-items: center;
    padding: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--pxab-trades-card-placeholder-text, var(--pxab-trades-accent)) 16%, transparent) 0 1px, transparent 2px) 0 0/18px 18px,
        var(--pxab-trades-card-placeholder-bg, var(--pxab-trades-soft));
    color: var(--pxab-trades-card-placeholder-text, var(--pxab-trades-ink));
    font-size: .94rem;
    font-weight: 760;
    line-height: 1.3;
    text-align: center;
}


.pxab-trades-map-marker__wrap.is-scroll-active,
.leaflet-marker-icon.is-scroll-active { z-index: 1000 !important; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--pxab-trades-accent) 55%, transparent)); }
.leaflet-marker-icon.is-scroll-active .pxab-map-marker { transform: scale(1.12); }

.pxab-trades-results-map__head > div { display: flex; align-items: center; }

@media (max-width: 680px) {
    .pxab-trades-card__placeholder { min-height: 180px; }
}

/* v1.0.677 — direct Trade map interaction; no separate full-screen expansion state. */
/* v1.0.671 — configurable Trade listing/map synchronisation and mobile map modes. */
.pxab-trades-results-workspace[data-pxab-trades-map-animation="none"] .pxab-trades-card,
.pxab-trades-results-workspace[data-pxab-trades-map-animation="none"] .pxab-map-marker {
    transition: none;
}
.pxab-trades-results-workspace[data-pxab-trades-map-animation="simple"] .leaflet-marker-icon.is-scroll-active .pxab-map-marker {
    transform: scale(1.12);
}
.pxab-trades-results-workspace[data-pxab-trades-map-animation="simple"] .leaflet-marker-icon.is-scroll-active .pxab-trades-map-cluster {
    transform: scale(1.08);
}

.pxab-trades-results-map__title { display: grid !important; gap: 2px; min-width: 0; }
.pxab-trades-results-map__title span { color: var(--pxab-trades-muted); font-size: .78rem; font-weight: 600; }
@media (max-width: 1120px) {
    .pxab-trades-results-map__head { min-height: 54px; padding: 9px 13px; }

    .pxab-trades-results-workspace.pxab-trades-mobile-map--sticky .pxab-trades-results-workspace__map {
        position: sticky;
        top: 8px;
        z-index: 45;
        order: -1;
        min-width: 0;
    }
    .pxab-trades-results-workspace.pxab-trades-mobile-map--sticky .pxab-trades-results-map {
        box-shadow: 0 14px 34px rgba(15,23,42,.14);
    }
    .pxab-trades-results-workspace.pxab-trades-mobile-map--sticky .pxab-trades-map--results {
        min-height: var(--pxab-trades-mobile-map-height, 220px);
        height: var(--pxab-trades-mobile-map-height, 220px);
    }

    .pxab-trades-results-workspace.pxab-trades-mobile-map--above .pxab-trades-results-workspace__map {
        position: static;
        top: auto;
        order: -1;
    }
    .pxab-trades-results-workspace.pxab-trades-mobile-map--above .pxab-trades-map--results {
        min-height: 320px;
        height: 320px;
    }
}

@media (max-width: 560px) {
    .pxab-trades-results-workspace.pxab-trades-mobile-map--sticky .pxab-trades-map--results {
        min-height: min(var(--pxab-trades-mobile-map-height, 220px), 42vh);
        height: min(var(--pxab-trades-mobile-map-height, 220px), 42vh);
    }
    .pxab-trades-results-map__title span { font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
    .pxab-trades-results-workspace__map { transition: none !important; }
}

/* v1.0.673 — tablet results must never squeeze list cards beside the map. */
@media (min-width: 681px) and (max-width: 1120px) {
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list { grid-template-columns: 1fr; }
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list .pxab-trades-card { grid-template-columns: minmax(170px, 28%) minmax(0,1fr); }
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list .pxab-trades-card__media { min-height: 220px; }
    .pxab-trades-results-workspace.has-map .pxab-trades-card__body { min-width: 0; }
}


/* v1.0.675 — Trade presentation, legal confirmation and media polish. */
.pxab-trades-profile-verification__date strong { font-weight: 800; color: var(--pxab-trades-ink); }
.pxab-trades-company-logo { display: inline-grid; place-items: center; overflow: hidden; border: 1px solid var(--pxab-trades-border); background: #fff; }
.pxab-trades-company-logo--profile { flex: 0 0 auto; width: clamp(116px,11vw,148px); height: clamp(72px,7.4vw,88px); margin: 0; border-radius: 14px; box-shadow: 0 7px 20px rgba(15,23,42,.08); }
.pxab-trades-company-logo--card { width: min(150px,55%); height: 68px; margin: 7px 0 2px; border-radius: 12px; }
.pxab-trades-company-logo__image { width: 100%; height: 100%; object-fit: contain; padding: 8px; box-sizing: border-box; }
.pxab-trades-profile-report__form :is(input,select,textarea)[aria-invalid="true"],
.pxab-trades-enquiry__form :is(input,select,textarea)[aria-invalid="true"] { border-color: var(--pxab-trades-danger); box-shadow: 0 0 0 1px var(--pxab-trades-danger); }

/* Configurable Trade result navigation. */
.pxab-trades-load-more { display: flex; justify-content: center; margin-top: 20px; }
.pxab-trades-load-more .pxab-trades-button { min-width: min(100%, 220px); justify-content: center; }

/* v1.0.694 — configurable Trade card status presentation and quick-detail tabs. */
.pxab-trades-card__meta {
    min-width: 0;
    margin: 0 0 3px;
}
.pxab-trades-card__meta-track {
    display: flex;
    min-width: 0;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.pxab-trades-card__meta .pxab-trades-badge {
    flex: 0 0 auto;
    margin: 0;
    white-space: nowrap;
}
.pxab-trades-card__meta.is-scroll {
    overflow: hidden;
    max-width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9px, #000 calc(100% - 9px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 9px, #000 calc(100% - 9px), transparent 100%);
}
.pxab-trades-card__meta.is-scroll .pxab-trades-card__meta-track {
    width: max-content;
    max-width: none;
    flex-wrap: nowrap;
    will-change: transform;
}
.pxab-trades-card__meta.is-scroll.is-running .pxab-trades-card__meta-track {
    animation: pxab-trades-card-meta-scroll var(--pxab-trades-meta-duration, 12s) linear infinite;
}
.pxab-trades-card__meta.is-scroll.is-paused .pxab-trades-card__meta-track {
    animation-play-state: paused;
}
@keyframes pxab-trades-card-meta-scroll {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(var(--pxab-trades-meta-distance, 0),0,0); }
}
.pxab-trades-card__meta.is-cycle .pxab-trades-card__meta-track {
    display: grid;
    width: max-content;
    max-width: 100%;
    grid-template-columns: minmax(0,max-content);
    grid-template-rows: auto;
}
.pxab-trades-card__meta.is-cycle .pxab-trades-badge {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transform: none;
    transform-origin: 50% 50%;
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease;
}
.pxab-trades-card__meta.is-cycle.cycle-transition-none .pxab-trades-badge { transition: none; }
.pxab-trades-card__meta.is-cycle.cycle-transition-slide_up .pxab-trades-badge { transform: translateY(6px); }
.pxab-trades-card__meta.is-cycle.cycle-transition-slide_horizontal .pxab-trades-badge { transform: translateX(10px); }
.pxab-trades-card__meta.is-cycle.cycle-transition-scale .pxab-trades-badge { transform: scale(.94); }
.pxab-trades-card__meta.is-cycle.cycle-transition-flip .pxab-trades-badge { transform: perspective(360px) rotateX(-55deg); }
.pxab-trades-card__meta.is-cycle .pxab-trades-badge.is-active,
.pxab-trades-card__meta.is-cycle:not([data-pxab-meta-ready="1"]) .pxab-trades-badge:first-child {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.pxab-trades-card-tabs {
    min-width: 0;
    margin: 8px 0 14px;
    border: 1px solid var(--pxab-trades-border);
    border-radius: 12px;
    background: color-mix(in srgb, var(--pxab-trades-soft) 72%, #fff);
    overflow: hidden;
}
.pxab-trades-card-tabs__list {
    display: flex;
    gap: 3px;
    padding: 4px;
    border-bottom: 1px solid var(--pxab-trades-border);
    background: #fff;
}
.pxab-trades-card-tabs__tab {
    appearance: none;
    min-width: 0;
    min-height: 34px;
    flex: 1 1 0;
    padding: 7px 9px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--pxab-trades-muted) !important;
    font: inherit;
    font-size: .78rem !important;
    font-weight: 760 !important;
    line-height: 1.2 !important;
    text-align: center;
    cursor: pointer;
}
.pxab-trades-card-tabs__tab[aria-selected="true"] {
    background: color-mix(in srgb, var(--pxab-trades-accent) 10%, #fff) !important;
    color: var(--pxab-trades-link) !important;
}
.pxab-trades-card-tabs__tab:hover,
.pxab-trades-card-tabs__tab:focus-visible {
    background: color-mix(in srgb, var(--pxab-trades-accent) 10%, #fff) !important;
    color: var(--pxab-trades-link-hover) !important;
}
.pxab-trades-card-tabs__tab:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--pxab-trades-accent) 52%, transparent) !important;
    outline-offset: 1px;
}
.pxab-trades-card-tabs__panel {
    max-height: 205px;
    padding: 11px 12px 12px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.pxab-trades-card-tabs__panel[hidden] { display: none !important; }
.pxab-trades-card-tabs__services {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pxab-trades-card-tabs__services li {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin: 0;
    color: var(--pxab-trades-ink);
    font-size: .82rem;
    line-height: 1.4;
}
.pxab-trades-card-tabs__service-icon {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin-top: .12em;
    color: var(--pxab-trades-accent, #0f6f85);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.pxab-trades-card-tabs__services [data-pxab-card-service-extra][hidden] { display: none !important; }
.pxab-trades-card-tabs__more {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    min-height: 28px;
    margin: 8px 0 0;
    padding: 2px 3px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--pxab-trades-link) !important;
    font: inherit;
    font-size: .76rem !important;
    font-weight: 760 !important;
    line-height: 1.35 !important;
    text-align: left;
    cursor: pointer;
}
.pxab-trades-card-tabs__more:hover,
.pxab-trades-card-tabs__more:focus-visible { color: var(--pxab-trades-link-hover) !important; text-decoration: underline; }
.pxab-trades-card-tabs__more:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--pxab-trades-accent) 52%, transparent) !important;
    outline-offset: 2px;
}
.pxab-trades-card-tabs__more-icon {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid color-mix(in srgb, var(--pxab-trades-accent) 38%, transparent);
    border-radius: 50%;
    line-height: 1;
    text-decoration: none;
}
.pxab-trades-card-tabs__more-icon > span { display: inline-grid; place-items: center; }
.pxab-trades-card-tabs__more-icon > span[hidden] { display: none !important; }
.pxab-trades-card-tabs__more-icon .pxab-icon {
    display: block;
    width: 12px;
    height: 12px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.pxab-trades-card-tabs__hours-notes {
    margin: 8px 0 0;
    color: var(--pxab-trades-muted);
    font-size: .76rem;
    line-height: 1.45;
}
.pxab-trades-card-tabs__hours { margin: 0; }
.pxab-trades-card-tabs__hours > div {
    display: grid;
    grid-template-columns: minmax(74px,.72fr) minmax(0,1.28fr);
    gap: 8px;
    align-items: baseline;
    padding: 4px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--pxab-trades-border) 70%, transparent);
    font-size: .76rem;
    line-height: 1.35;
}
.pxab-trades-card-tabs__hours > div:last-child { border-bottom: 0; }
.pxab-trades-card-tabs__hours dt { color: var(--pxab-trades-muted); }
.pxab-trades-card-tabs__hours dd { min-width: 0; margin: 0; color: var(--pxab-trades-ink); font-weight: 720; text-align: right; overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
    .pxab-trades-card__meta.is-scroll,
    .pxab-trades-card__meta.is-cycle { overflow: visible; -webkit-mask-image: none; mask-image: none; }
    .pxab-trades-card__meta.is-scroll .pxab-trades-card__meta-track,
    .pxab-trades-card__meta.is-cycle .pxab-trades-card__meta-track,
    .pxab-trades-card__meta.is-reduced-motion .pxab-trades-card__meta-track {
        display: flex;
        width: auto;
        max-width: 100%;
        flex-wrap: wrap;
        animation: none !important;
        transform: none !important;
    }
    .pxab-trades-card__meta.is-cycle .pxab-trades-badge,
    .pxab-trades-card__meta.is-reduced-motion .pxab-trades-badge {
        position: static;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
    }
}
.pxab-trades-location-pages__links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.pxab-trades-location-pages__links a {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 5px 9px;
    border: 1px solid var(--pxab-trades-border);
    border-radius: 999px;
    background: var(--pxab-trades-soft);
    color: var(--pxab-trades-link);
    font-size: .8rem;
    font-weight: 720;
    text-decoration: none;
}
.pxab-trades-location-pages__links a:hover,
.pxab-trades-location-pages__links a:focus-visible {
    border-color: color-mix(in srgb, var(--pxab-trades-accent) 42%, var(--pxab-trades-border));
    background: color-mix(in srgb, var(--pxab-trades-accent) 8%, #fff);
    color: var(--pxab-trades-link-hover);
}

/* v1.0.699 — configurable Trade media placeholders and distinct expanded-card filler. */
/* v1.0.698 — Trade card media column, continuation panel and logo presentation. */
.pxab-trades-card__media-column { min-width: 0; }
.pxab-trades-card__media-continuation { display: none; }
.pxab-trades-grid--list .pxab-trades-card--image-side {
    display: grid;
    grid-template-columns: 180px minmax(0,1fr);
    align-items: stretch;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-column {
    display: flex;
    min-height: 100%;
    align-self: stretch;
    flex-direction: column;
    overflow: hidden;
    background: var(--pxab-trades-soft);
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media {
    align-self: start;
    width: 100%;
    height: clamp(228px, 26vw, var(--pxab-trades-card-side-image-max-height, 300px));
    min-height: 0;
    flex: 0 0 auto;
    aspect-ratio: auto;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media.is-placeholder {
    height: auto;
    min-height: 228px;
    flex: 1 1 auto;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation {
    display: block;
    min-height: 0;
    flex: 1 1 0;
    overflow: hidden;
    background: var(--pxab-trades-card-continuation-bg, #e7f5ec);
    text-decoration: none;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation .pxab-trades-card__placeholder {
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--pxab-trades-card-continuation-text, var(--pxab-trades-success)) 18%, transparent) 0 1px, transparent 2px) 0 0/18px 18px,
        var(--pxab-trades-card-continuation-bg, #e7f5ec);
    color: var(--pxab-trades-card-continuation-text, var(--pxab-trades-success));
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation .pxab-trades-card__placeholder strong {
    display: block;
    max-width: 150px;
    padding: 8px 10px;
    text-align: center;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation:hover .pxab-trades-card__placeholder,
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation:focus-visible .pxab-trades-card__placeholder {
    color: var(--pxab-trades-card-continuation-text, var(--pxab-trades-success));
    text-decoration: underline;
    text-underline-offset: 2px;
}
.pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation:focus-visible {
    outline: 2px solid var(--pxab-trades-accent);
    outline-offset: -3px;
}
.pxab-trades-grid--list .pxab-trades-card--image-header {
    display: flex;
    flex-direction: column;
}
.pxab-trades-grid--list .pxab-trades-card--image-header .pxab-trades-card__media-column {
    width: 100%;
}
.pxab-trades-grid--list .pxab-trades-card--image-header .pxab-trades-card__media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 1;
}
.pxab-trades-grid--list .pxab-trades-card--image-header .pxab-trades-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

@media (min-width: 681px) and (max-width: 1120px) {
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list .pxab-trades-card--image-side {
        grid-template-columns: minmax(170px, 28%) minmax(0,1fr);
    }
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media.has-image {
        height: clamp(228px, 28vw, var(--pxab-trades-card-side-image-max-height, 300px));
        min-height: 0;
    }
    .pxab-trades-results-workspace.has-map .pxab-trades-grid--list .pxab-trades-card--image-header {
        display: flex;
    }
}

@media (max-width: 680px) {
    .pxab-trades-grid--list .pxab-trades-card--image-side,
    .pxab-trades-grid--list .pxab-trades-card--image-header {
        display: flex;
        flex-direction: column;
    }
    .pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-column,
    .pxab-trades-grid--list .pxab-trades-card--image-header .pxab-trades-card__media-column {
        display: block;
        width: 100%;
        min-height: 0;
    }
    .pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media,
    .pxab-trades-grid--list .pxab-trades-card--image-header .pxab-trades-card__media {
        width: 100%;
        height: auto;
        min-height: 180px;
        aspect-ratio: 16 / 8;
    }
    .pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media.is-placeholder { min-height: 180px; }
    .pxab-trades-grid--list .pxab-trades-card--image-side .pxab-trades-card__media-continuation { display: none; }
    .pxab-trades-company-logo--card { width: min(132px,55%); height: 62px; }
}

/* v1.0.705 — Trade landing admin placement, location return navigation, paired card actions. */

/* v1.0.707 — profile logo belongs to the primary identity row, while card logo layout stays unchanged. */
.pxab-trades-profile__identity {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: clamp(14px, 2vw, 20px);
    margin: 0 0 10px;
}
.pxab-trades-profile__identity-copy {
    flex: 1 1 auto;
    min-width: 0;
}
.pxab-trades-profile__identity-copy .pxab-trades-profile__title-row {
    flex-wrap: wrap;
}
.pxab-trades-profile__identity-copy .pxab-trades-profile__title-row :is(h1,h2) {
    flex: 1 1 300px;
    margin: 0;
}
.pxab-trades-profile__identity-copy .pxab-trades-nap--profile {
    margin: 8px 0 0;
}
@media (max-width: 900px) {
    .pxab-trades-company-logo--profile {
        width: 112px;
        height: 72px;
    }
}
@media (max-width: 680px) {
    .pxab-trades-profile__identity {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .pxab-trades-profile__identity-copy { width: 100%; }
    .pxab-trades-company-logo--profile {
        width: min(120px, 48%);
        height: 68px;
    }
    .pxab-trades-profile__identity-copy .pxab-trades-profile__title-row :is(h1,h2) {
        flex-basis: 100%;
    }
}

/* v1.0.708 — profile badges become an independent trust strip; tagline belongs to identity and service summary to coverage. */
.pxab-trades-profile__badges {
    min-width: 0;
    margin: 0 0 14px;
}
.pxab-trades-profile__badges-track {
    display: flex;
    min-width: 0;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}
.pxab-trades-profile__badges .pxab-trades-badge {
    flex: 0 0 auto;
    margin: 0;
    white-space: nowrap;
}
.pxab-trades-profile__badges.is-scroll {
    overflow: hidden;
    max-width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
}
.pxab-trades-profile__badges.is-scroll .pxab-trades-profile__badges-track {
    width: max-content;
    max-width: none;
    flex-wrap: nowrap;
    will-change: transform;
}
.pxab-trades-profile__badges.is-scroll.is-running .pxab-trades-profile__badges-track {
    animation: pxab-trades-profile-badges-scroll var(--pxab-trades-profile-badges-duration, 12s) linear infinite;
}
.pxab-trades-profile__badges.is-scroll.is-paused .pxab-trades-profile__badges-track {
    animation-play-state: paused;
}
@keyframes pxab-trades-profile-badges-scroll {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(var(--pxab-trades-profile-badges-distance, 0),0,0); }
}
.pxab-trades-profile__badges.is-cycle .pxab-trades-profile__badges-track {
    display: grid;
    width: max-content;
    max-width: 100%;
    grid-template-columns: minmax(0,max-content);
    grid-template-rows: auto;
}
.pxab-trades-profile__badges.is-cycle .pxab-trades-badge {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transform: none;
    transform-origin: 50% 50%;
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease;
}
.pxab-trades-profile__badges.is-cycle.cycle-transition-none .pxab-trades-badge { transition: none; }
.pxab-trades-profile__badges.is-cycle.cycle-transition-slide_up .pxab-trades-badge { transform: translateY(6px); }
.pxab-trades-profile__badges.is-cycle.cycle-transition-slide_horizontal .pxab-trades-badge { transform: translateX(10px); }
.pxab-trades-profile__badges.is-cycle.cycle-transition-scale .pxab-trades-badge { transform: scale(.94); }
.pxab-trades-profile__badges.is-cycle.cycle-transition-flip .pxab-trades-badge { transform: perspective(360px) rotateX(-55deg); }
.pxab-trades-profile__badges.is-cycle .pxab-trades-badge.is-active,
.pxab-trades-profile__badges.is-cycle:not([data-pxab-profile-badges-ready="1"]) .pxab-trades-badge:first-child {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.pxab-trades-profile__tagline {
    margin: 5px 0 0;
    color: var(--pxab-trades-muted);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.45;
}
.pxab-trades-profile__tagline + .pxab-trades-nap--profile {
    margin-top: 9px;
}
/* v1.0.709 — profile coverage consolidates summary and managed locations into Areas covered. */
.pxab-trades-side-card--areas > .pxab-trades-area-summary {
    margin: 0 0 14px;
    color: var(--pxab-trades-muted);
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.pxab-trades-area-managed {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--pxab-trades-border) 86%, transparent);
}
.pxab-trades-area-managed h3 {
    margin: 0 0 8px;
    color: var(--pxab-trades-ink);
    font-size: .92rem;
    line-height: 1.3;
}


/* v1.0.710 — mobile profile hierarchy: badges and media sit outside the boxed identity. */
@media (max-width: 680px) {
    .pxab-trades-profile__hero {
        gap: 12px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    .pxab-trades-profile__hero-copy { display: contents; }
    .pxab-trades-profile__badges {
        width: 100%;
        margin: 0;
        padding: 0 2px;
    }
    .pxab-trades-profile__identity {
        width: 100%;
        margin: 0;
        padding: 16px;
        border: 1px solid var(--pxab-trades-border);
        border-radius: calc(var(--pxab-trades-radius) + 2px);
        background: linear-gradient(135deg,var(--pxab-trades-surface),color-mix(in srgb,var(--pxab-trades-accent) 5%,var(--pxab-trades-surface)));
        box-shadow: var(--pxab-trades-shadow);
    }
    .pxab-trades-profile__hero-image {
        width: 100%;
        min-height: 0;
        aspect-ratio: 16 / 10;
        border-radius: var(--pxab-trades-radius);
        box-shadow: 0 8px 24px rgba(20,35,50,.045);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pxab-trades-profile__badges.is-scroll,
    .pxab-trades-profile__badges.is-cycle {
        overflow: visible;
        -webkit-mask-image: none;
        mask-image: none;
    }
    .pxab-trades-profile__badges.is-scroll .pxab-trades-profile__badges-track,
    .pxab-trades-profile__badges.is-cycle .pxab-trades-profile__badges-track,
    .pxab-trades-profile__badges.is-reduced-motion .pxab-trades-profile__badges-track {
        display: flex;
        width: auto;
        max-width: 100%;
        flex-wrap: wrap;
        animation: none !important;
        transform: none !important;
    }
    .pxab-trades-profile__badges.is-cycle .pxab-trades-badge,
    .pxab-trades-profile__badges.is-reduced-motion .pxab-trades-badge {
        position: static;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
    }
}

/* v1.0.714 — profile identity mark hierarchy, subdued live availability and full-width profile actions. */
.pxab-trades-profile__identity-mark {
    display: flex;
    flex: 0 0 clamp(174px, 17vw, 210px);
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.pxab-trades-profile__identity-mark .pxab-trades-company-logo--profile {
    width: 100%;
    max-width: none;
    height: clamp(82px, 8vw, 98px);
}
.pxab-trades-opening-status--identity {
    --pxab-trades-opening-accent: var(--pxab-trades-hero-opening-open-accent, #176a49);
    --pxab-trades-opening-icon: var(--pxab-trades-hero-opening-open-icon, #176a49);
    --pxab-trades-opening-icon-hover: var(--pxab-trades-hero-opening-open-icon-hover, #115239);
    --pxab-trades-opening-state-text: var(--pxab-trades-hero-opening-open-state-text, #176a49);
    --pxab-trades-opening-state-hover-text: var(--pxab-trades-hero-opening-open-state-hover-text, #115239);
    display: grid;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: 16px minmax(0,1fr);
    align-self: flex-start;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 7px 8px;
    border: 1px solid var(--pxab-trades-hero-opening-panel-border, #dce4e9);
    border-left: 3px solid var(--pxab-trades-opening-accent);
    border-radius: 9px;
    background: var(--pxab-trades-hero-opening-panel-background, #ffffff);
    color: var(--pxab-trades-hero-opening-detail-text, #61717c);
    font-size: .74rem;
    line-height: 1.25;
}
.pxab-trades-opening-status--identity.is-open {
    --pxab-trades-opening-accent: var(--pxab-trades-hero-opening-open-accent, #176a49);
    --pxab-trades-opening-icon: var(--pxab-trades-hero-opening-open-icon, #176a49);
    --pxab-trades-opening-icon-hover: var(--pxab-trades-hero-opening-open-icon-hover, #115239);
    --pxab-trades-opening-state-text: var(--pxab-trades-hero-opening-open-state-text, #176a49);
    --pxab-trades-opening-state-hover-text: var(--pxab-trades-hero-opening-open-state-hover-text, #115239);
}
.pxab-trades-opening-status--identity.is-closed {
    --pxab-trades-opening-accent: var(--pxab-trades-hero-opening-closed-accent, #a9382d);
    --pxab-trades-opening-icon: var(--pxab-trades-hero-opening-closed-icon, #a9382d);
    --pxab-trades-opening-icon-hover: var(--pxab-trades-hero-opening-closed-icon-hover, #852c25);
    --pxab-trades-opening-state-text: var(--pxab-trades-hero-opening-closed-state-text, #a9382d);
    --pxab-trades-opening-state-hover-text: var(--pxab-trades-hero-opening-closed-state-hover-text, #852c25);
}
.pxab-trades-opening-status--identity__icon {
    display: inline-flex;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    color: var(--pxab-trades-opening-icon);
}
.pxab-trades-opening-status--identity__icon .pxab-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}
.pxab-trades-opening-status--identity__copy {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 6px;
    row-gap: 1px;
}
.pxab-trades-opening-status--identity__state {
    display: inline;
    flex: 0 0 auto;
    color: var(--pxab-trades-opening-state-text);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.2;
}
.pxab-trades-opening-status--identity__detail {
    display: inline;
    min-width: 0;
    color: var(--pxab-trades-hero-opening-detail-text, #61717c);
    font-size: .7rem;
    font-weight: 620;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.pxab-trades-opening-status--identity :is(
    .pxab-trades-opening-status--identity__icon,
    .pxab-trades-opening-status--identity__state,
    .pxab-trades-opening-status--identity__separator,
    .pxab-trades-opening-status--identity__detail,
    .pxab-trades-opening-status--identity__jump
) { transition: color .16s ease; }

/* Keep every Trade-profile SVG visually centred with its adjacent copy. */
.pxab-trades-profile .pxab-icon { vertical-align: middle; }
.pxab-trades-profile .pxab-trades-detail-list li { align-items: center; }
.pxab-trades-profile .pxab-trades-detail-list__icon {
    align-self: center;
    margin-top: 0;
}
.pxab-trades-profile .pxab-trades-review-card__rating { align-items: center; }
.pxab-trades-profile :is(.pxab-trades-opening-status strong, .pxab-trades-card-tabs__hours-status strong) { align-items: center; }
.pxab-trades-profile :is(.pxab-trades-inline-separator, .pxab-trades-opening-status__separator) { align-self: center; }

@media (max-width: 680px) {
    .pxab-trades-profile__identity-mark {
        width: min(220px,100%);
        flex: 0 0 auto;
        gap: 7px;
    }
    .pxab-trades-profile__identity-mark .pxab-trades-company-logo--profile {
        width: 100%;
        height: 82px;
    }
    .pxab-trades-opening-status--identity {
        width: fit-content;
        max-width: 100%;
    }
}
.pxab-trades-profile__identity-copy > .pxab-trades-opening-status--identity {
    width: fit-content;
    max-width: 100%;
    margin-top: 7px;
}


/* v1.0.722 — per-action profile icon animation. The CTA remains stationary. */
.pxab-trades-profile-action__icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    transform-origin: 50% 55%;
}
.pxab-trades-profile-action__icon .pxab-icon {
    display: block;
    width: 18px;
    height: 18px;
}
/* v1.0.724 — filled WhatsApp profile CTA glyph; wrapper remains the animation target. */
.pxab-trades-profile-action__icon .pxab-icon--whatsapp {
    width: 20px;
    height: 20px;
    max-width: none;
    max-height: none;
    fill: currentColor;
    stroke: none;
}
@media (prefers-reduced-motion: no-preference) {
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-pulse { animation: pxab-trades-profile-action-pulse .62s ease-in-out 1; }
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-bounce { animation: pxab-trades-profile-action-bounce .7s ease-out 1; }
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-nudge { animation: pxab-trades-profile-action-nudge .58s ease-in-out 1; }
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-ring { animation: pxab-trades-profile-action-ring .62s ease-in-out 1; }
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-float { animation: pxab-trades-profile-action-float .62s ease-in-out 1; }
    .pxab-trades-profile-action__icon.is-animation-simple.is-cue-active.is-cue-spin { animation: pxab-trades-profile-action-spin .7s ease-in-out 1; }
}
@keyframes pxab-trades-profile-action-pulse { 0%,100% { transform: scale(1); } 45% { transform: scale(1.16); } }
@keyframes pxab-trades-profile-action-bounce { 0%,100% { transform: translateY(0); } 38% { transform: translateY(-5px); } 64% { transform: translateY(1px); } }
@keyframes pxab-trades-profile-action-nudge { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 50% { transform: translateX(3px); } 75% { transform: translateX(-1.5px); } }
@keyframes pxab-trades-profile-action-ring { 0%,100% { transform: rotate(0); } 20% { transform: rotate(-13deg); } 40% { transform: rotate(13deg); } 60% { transform: rotate(-9deg); } 80% { transform: rotate(9deg); } }
@keyframes pxab-trades-profile-action-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes pxab-trades-profile-action-spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .pxab-trades-profile-action__icon { animation: none !important; transform: none !important; }
}

/* v1.0.715 — centred profile CTAs and an optional mobile Call now bar. */
.pxab-trades-profile__actions .pxab-trades-button {
    flex: 1 1 0;
    min-width: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.pxab-trades-profile__actions .pxab-trades-button > span {
    min-width: 0;
    text-align: center;
}
@media (min-width: 960px) {
    .pxab-trades-profile__actions { flex-wrap: nowrap; }
}
@media (max-width: 680px) {
    .pxab-trades-profile__actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .pxab-trades-profile__actions .pxab-trades-button {
        width: 100%;
        min-height: 48px;
        flex: none;
    }
}

.pxab-trades-mobile-call-bar { display: none; }

@media (max-width: 680px) {
    .pxab-trades-profile.has-mobile-call-bar {
        padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    }
    .pxab-trades-mobile-call-bar {
        position: fixed;
        z-index: 10020;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        padding: 9px max(12px, env(safe-area-inset-right, 0px)) calc(9px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
        border-top: 1px solid color-mix(in srgb, var(--pxab-trades-accent) 18%, var(--pxab-trades-border));
        background: color-mix(in srgb, #fff 96%, var(--pxab-trades-accent));
        box-shadow: 0 -10px 28px rgba(15,23,42,.13);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }
    .pxab-trades-mobile-call-bar.is-footer-near {
        visibility: hidden;
        opacity: 0;
        transform: translateY(110%);
        pointer-events: none;
    }
    .pxab-trades-mobile-call-bar__button {
        width: 100%;
        min-height: 50px;
        justify-content: center;
        text-align: center;
        font-size: 1rem;
    }
    .pxab-trades-mobile-call-bar__icon {
        display: inline-flex;
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
        align-items: center;
        justify-content: center;
        transform-origin: 50% 55%;
    }
    .pxab-trades-mobile-call-bar__icon .pxab-icon {
        display: block;
        width: 20px;
        height: 20px;
    }
    .pxab-trades-mobile-call-bar.is-animation-simple.is-effect-ring .pxab-trades-mobile-call-bar__icon {
        animation: pxab-trades-mobile-call-ring var(--pxab-trades-mobile-call-interval, 6s) ease-in-out infinite;
    }
    .pxab-trades-mobile-call-bar.is-animation-simple.is-effect-pulse .pxab-trades-mobile-call-bar__icon {
        animation: pxab-trades-mobile-call-pulse var(--pxab-trades-mobile-call-interval, 6s) ease-in-out infinite;
    }
    .pxab-trades-mobile-call-bar.is-animation-simple.is-effect-nudge .pxab-trades-mobile-call-bar__icon {
        animation: pxab-trades-mobile-call-nudge var(--pxab-trades-mobile-call-interval, 6s) ease-in-out infinite;
    }
}

@keyframes pxab-trades-mobile-call-ring {
    0%, 7%, 14%, 21%, 100% { transform: rotate(0deg); }
    3.5%, 10.5%, 17.5% { transform: rotate(-13deg); }
    5.25%, 12.25%, 19.25% { transform: rotate(13deg); }
}
@keyframes pxab-trades-mobile-call-pulse {
    0%, 22%, 100% { transform: scale(1); }
    8% { transform: scale(1.16); }
    15% { transform: scale(.98); }
}
@keyframes pxab-trades-mobile-call-nudge {
    0%, 6%, 12%, 18%, 100% { transform: translateX(0); }
    3%, 9%, 15% { transform: translateX(2px); }
}

@media (prefers-reduced-motion: reduce) {
    .pxab-trades-mobile-call-bar,
    .pxab-trades-mobile-call-bar__icon { transition: none !important; animation: none !important; }
}

/* v1.0.716 — denser profile service/qualification grids and consistent live-status separator icon. */
@media (min-width: 760px) {
    .pxab-trades-profile .pxab-trades-service-list,
    .pxab-trades-profile .pxab-trades-credential-list {
        grid-template-columns: repeat(2,minmax(0,1fr));
        align-items: stretch;
    }
    .pxab-trades-profile .pxab-trades-service-item,
    .pxab-trades-profile .pxab-trades-credential-list > li {
        min-width: 0;
    }
    .pxab-trades-profile .pxab-trades-credential-list > li {
        padding: 12px 2px;
        border-bottom: 1px solid #edf0f2;
    }
}
.pxab-trades-opening-status--identity__separator {
    display: inline-block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    align-self: center;
    color: var(--pxab-trades-hero-opening-separator, #61717c);
    fill: currentColor;
    opacity: .75;
}

/* v1.0.717 — trade-type labels precede identity marks; Similar trades badges share the hardened card animator. */
.pxab-trades-card__types--identity-top {
    margin: 2px 0 8px;
    font-size: .82rem;
    font-weight: 720;
    line-height: 1.35;
}
.pxab-trades-profile__types {
    min-width: 0;
    margin: -4px 0 10px;
    color: var(--pxab-trades-muted);
    font-size: .88rem;
    font-weight: 720;
    line-height: 1.4;
}
.pxab-trades-related-card__types {
    min-width: 0;
    color: var(--pxab-trades-muted);
    font-size: .78rem !important;
    font-weight: 720;
    line-height: 1.35;
}
.pxab-trades-related-card__badges {
    width: 100%;
    margin: 0;
}
.pxab-trades-related-card__badges.is-scroll,
.pxab-trades-related-card__badges.is-cycle {
    min-height: 24px;
}
.pxab-trades-recent__types {
    display: block;
    min-width: 0;
    color: var(--pxab-trades-muted);
    font-size: .76rem !important;
    font-weight: 720;
    line-height: 1.35;
}
.pxab-trades-recent__types .pxab-trades-inline-labels__item {
    font-size: inherit;
}
@media (max-width: 680px) {
    .pxab-trades-profile__types {
        width: 100%;
        margin: 0;
        padding: 0 2px;
    }
}



/* v1.0.767 — full-profile palette authority. Hero and light content surfaces are
 * deliberately independent so a high-contrast hero palette cannot make text
 * disappear on main/sidebar cards. Generic Trade aliases are rebound locally so
 * child components also stop inheriting theme colours. */
.pxab-trades-profile {
    --pxab-trades-heading: var(--pxab-trades-profile-heading);
    --pxab-trades-ink: var(--pxab-trades-profile-text);
    --pxab-trades-text: var(--pxab-trades-profile-text);
    --pxab-trades-muted: var(--pxab-trades-profile-muted);
    --pxab-trades-link: var(--pxab-trades-profile-link);
    --pxab-trades-link-hover: var(--pxab-trades-profile-link-hover);
    --pxab-trades-border: var(--pxab-trades-profile-section-border);
    --pxab-trades-border-strong: var(--pxab-trades-profile-inner-border);
    --pxab-trades-surface: var(--pxab-trades-profile-section-bg);
    --pxab-trades-soft: var(--pxab-trades-profile-inner-bg);
}
.pxab-trades-profile__aside {
    --pxab-trades-border: var(--pxab-trades-profile-sidebar-border);
    --pxab-trades-surface: var(--pxab-trades-profile-sidebar-bg);
}
.pxab-trades-profile__hero {
    --pxab-trades-heading: var(--pxab-trades-profile-hero-heading);
    --pxab-trades-ink: var(--pxab-trades-profile-hero-text);
    --pxab-trades-text: var(--pxab-trades-profile-hero-text);
    --pxab-trades-muted: var(--pxab-trades-profile-hero-muted);
    --pxab-trades-link: var(--pxab-trades-profile-hero-link);
    --pxab-trades-link-hover: var(--pxab-trades-profile-hero-link-hover);
    --pxab-trades-border: var(--pxab-trades-profile-hero-border);
    --pxab-trades-surface: var(--pxab-trades-profile-hero-bg);
    color: var(--pxab-trades-profile-hero-text);
}
.pxab-trades-profile .pxab-trades-profile__hero h1,
.pxab-trades-profile .pxab-trades-profile__hero h2 { color: var(--pxab-trades-heading); }
.pxab-trades-profile .pxab-trades-profile__hero-copy > p { color: var(--pxab-trades-muted); }
.pxab-trades-profile .pxab-trades-nap--profile { color: var(--pxab-trades-text); }

/* v1.0.769 — every rendered profile section owns a local palette scope.
 * The inline custom properties are HEX-sanitised server-side and snapshot the
 * section's independent settings. Generic component aliases are rebound here,
 * so p/span/div copy inherits locally while semantic badges/buttons retain their
 * purpose-specific palettes. */
.pxab-trades-profile__main > .pxab-trades-profile__style-scope,
.pxab-trades-profile__aside > .pxab-trades-profile__style-scope {
    display: contents;
}
.pxab-trades-profile__style-scope {
    min-width: 0;
    --pxab-trades-heading: var(--pxab-trades-scope-heading, var(--pxab-trades-profile-heading));
    --pxab-trades-ink: var(--pxab-trades-scope-text, var(--pxab-trades-profile-text));
    --pxab-trades-text: var(--pxab-trades-scope-text, var(--pxab-trades-profile-text));
    --pxab-trades-muted: var(--pxab-trades-scope-muted, var(--pxab-trades-profile-muted));
    --pxab-trades-link: var(--pxab-trades-scope-link, var(--pxab-trades-profile-link));
    --pxab-trades-link-hover: var(--pxab-trades-scope-link-hover, var(--pxab-trades-profile-link-hover));
    --pxab-trades-border: var(--pxab-trades-scope-border, var(--pxab-trades-profile-section-border));
    --pxab-trades-border-strong: var(--pxab-trades-scope-inner-border, var(--pxab-trades-profile-inner-border));
    --pxab-trades-surface: var(--pxab-trades-scope-bg, var(--pxab-trades-profile-section-bg));
    --pxab-trades-soft: var(--pxab-trades-scope-inner-bg, var(--pxab-trades-profile-inner-bg));
    color: var(--pxab-trades-text);
}
.pxab-trades-profile__style-scope :is(h1,h2,h3,h4,h5,h6) { color: var(--pxab-trades-heading); }
.pxab-trades-profile__style-scope:not([data-pxab-profile-style-section="map"]) a:not(.pxab-trades-button):not(.pxab-trades-opening-status--identity) {
    color: var(--pxab-trades-link);
}
.pxab-trades-profile__style-scope:not([data-pxab-profile-style-section="map"]) a:not(.pxab-trades-button):not(.pxab-trades-opening-status--identity):hover,
.pxab-trades-profile__style-scope:not([data-pxab-profile-style-section="map"]) a:not(.pxab-trades-button):not(.pxab-trades-opening-status--identity):focus,
.pxab-trades-profile__style-scope:not([data-pxab-profile-style-section="map"]) a:not(.pxab-trades-button):not(.pxab-trades-opening-status--identity):focus-visible {
    color: var(--pxab-trades-link-hover);
}

.pxab-trades-profile .pxab-trades-related-card {
    border-color: var(--pxab-trades-border-strong);
    background: var(--pxab-trades-soft);
}
.pxab-trades-profile .pxab-trades-profile-links__list a {
    border-color: var(--pxab-trades-border-strong);
    background: var(--pxab-trades-soft);
}
.pxab-trades-profile .pxab-trades-profile-links__list a:hover,
.pxab-trades-profile .pxab-trades-profile-links__list a:focus-visible {
    background: color-mix(in srgb, var(--pxab-trades-accent) 10%, var(--pxab-trades-surface));
}
.pxab-trades-profile :is(
    .pxab-trades-side-card dt,
    .pxab-trades-profile-verification > p,
    .pxab-trades-area-list details p,
    .pxab-trades-profile-report__body > p,
    .pxab-trades-related-card p,
    .pxab-trades-related-card__location
) { color: var(--pxab-trades-muted); }

/* Ordinary profile links must be explicit: inherited text colour loses to a
 * theme's own a{} rule even when the surrounding profile palette is correct. */
.pxab-trades-profile :is(
    .pxab-trades-review-card__link,
    .pxab-trades-side-card--business-details .pxab-trades-fact-row--link a
) { color: var(--pxab-trades-link); }
.pxab-trades-profile :is(
    .pxab-trades-review-card__link,
    .pxab-trades-side-card--business-details .pxab-trades-fact-row--link a
):hover,
.pxab-trades-profile :is(
    .pxab-trades-review-card__link,
    .pxab-trades-side-card--business-details .pxab-trades-fact-row--link a
):focus-visible { color: var(--pxab-trades-link-hover); }

/* Profile form typography and controls stay inside the profile palette instead
 * of inheriting Astra/host-theme label and field colours. */
.pxab-trades-profile :is(.pxab-trades-enquiry__form, .pxab-trades-profile-report__form) :is(label, legend) {
    color: var(--pxab-trades-text);
}
.pxab-trades-profile :is(.pxab-trades-enquiry__form, .pxab-trades-profile-report__form) :is(
    input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
) {
    border-color: var(--pxab-trades-border-strong);
    background: var(--pxab-trades-surface);
    color: var(--pxab-trades-text);
    box-shadow: none;
}
.pxab-trades-profile :is(.pxab-trades-enquiry__form, .pxab-trades-profile-report__form) :is(input, textarea)::placeholder {
    color: var(--pxab-trades-muted);
    opacity: 1;
}
.pxab-trades-profile :is(.pxab-trades-enquiry__form, .pxab-trades-profile-report__form) :is(
    input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
):focus {
    border-color: var(--pxab-trades-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pxab-trades-accent) 16%, transparent);
    color: var(--pxab-trades-text);
    outline: 0;
}

/* Separators and nested controls derive from the configurable profile borders
 * and surfaces rather than fixed light-theme greys/white. */
.pxab-trades-profile :is(
    .pxab-trades-side-card dl > div,
    .pxab-trades-side-card--business-details > h2,
    .pxab-trades-side-card__meta,
    .pxab-trades-opening-hours__list > div
) { border-color: color-mix(in srgb, var(--pxab-trades-border) 78%, transparent); }
.pxab-trades-profile .pxab-trades-credential-list > li {
    border-color: color-mix(in srgb, var(--pxab-trades-border) 78%, transparent);
}
.pxab-trades-profile .pxab-trades-area-managed {
    border-color: color-mix(in srgb, var(--pxab-trades-border) 86%, transparent);
}
.pxab-trades-profile .pxab-trades-area-managed h3 { color: var(--pxab-trades-heading); }
.pxab-trades-profile .pxab-trades-fact-badge {
    border-color: color-mix(in srgb, var(--pxab-trades-accent) 22%, var(--pxab-trades-border-strong));
    background: color-mix(in srgb, var(--pxab-trades-accent) 7%, var(--pxab-trades-soft));
    color: color-mix(in srgb, var(--pxab-trades-accent) 84%, var(--pxab-trades-text));
}
.pxab-trades-profile .pxab-trades-area-list__marker {
    background: color-mix(in srgb, var(--pxab-trades-accent) 9%, var(--pxab-trades-surface));
}
.pxab-trades-profile .pxab-trades-location-pages__links a {
    border-color: var(--pxab-trades-border-strong);
    background: var(--pxab-trades-soft);
}
.pxab-trades-profile .pxab-trades-location-pages__links a:hover,
.pxab-trades-profile .pxab-trades-location-pages__links a:focus-visible {
    border-color: color-mix(in srgb, var(--pxab-trades-accent) 42%, var(--pxab-trades-border-strong));
    background: color-mix(in srgb, var(--pxab-trades-accent) 8%, var(--pxab-trades-surface));
}
.pxab-trades-profile .pxab-trades-project__meta span {
    border-color: var(--pxab-trades-border-strong);
    background: var(--pxab-trades-surface);
    color: var(--pxab-trades-muted);
}
.pxab-trades-profile .pxab-trades-projects__carousel-button,
.pxab-trades-profile .pxab-trades-project__summary-icon {
    background: var(--pxab-trades-surface);
}
.pxab-trades-profile .pxab-trades-projects__carousel-button:hover,
.pxab-trades-profile .pxab-trades-projects__carousel-button:focus-visible {
    background: color-mix(in srgb, var(--pxab-trades-accent) 8%, var(--pxab-trades-surface));
}

/* v1.0.725 — clickable full-profile opening status and opening-hours focus cues. */
a.pxab-trades-opening-status--identity.is-clickable {
    grid-template-columns: 16px minmax(0,1fr) 13px;
    appearance: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
a.pxab-trades-opening-status--identity.is-clickable:hover,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible {
    border-color: var(--pxab-trades-hero-opening-panel-hover-border, #b9c7cf);
    border-left-color: var(--pxab-trades-opening-accent);
    background: var(--pxab-trades-hero-opening-panel-hover-background, #f4f7f8);
    box-shadow: 0 5px 16px color-mix(in srgb,var(--pxab-trades-opening-accent) 10%,transparent);
}
a.pxab-trades-opening-status--identity.is-clickable:focus-visible {
    outline: 3px solid var(--pxab-trades-hero-opening-focus-ring, #1f6f8b);
    outline-offset: 2px;
}
.pxab-trades-opening-status--identity__jump {
    display: inline-flex;
    width: 13px;
    height: 13px;
    align-items: center;
    justify-content: center;
    color: var(--pxab-trades-hero-opening-jump-icon, #61717c);
    opacity: .72;
}
.pxab-trades-opening-status--identity__jump .pxab-icon {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
}
a.pxab-trades-opening-status--identity.is-clickable:hover .pxab-trades-opening-status--identity__icon,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible .pxab-trades-opening-status--identity__icon {
    color: var(--pxab-trades-opening-icon-hover);
}
a.pxab-trades-opening-status--identity.is-clickable:hover .pxab-trades-opening-status--identity__state,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible .pxab-trades-opening-status--identity__state {
    color: var(--pxab-trades-opening-state-hover-text);
}
a.pxab-trades-opening-status--identity.is-clickable:hover .pxab-trades-opening-status--identity__separator,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible .pxab-trades-opening-status--identity__separator {
    color: var(--pxab-trades-hero-opening-separator-hover, #17232c);
}
a.pxab-trades-opening-status--identity.is-clickable:hover .pxab-trades-opening-status--identity__detail,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible .pxab-trades-opening-status--identity__detail {
    color: var(--pxab-trades-hero-opening-detail-hover-text, #17232c);
}
a.pxab-trades-opening-status--identity.is-clickable:hover .pxab-trades-opening-status--identity__jump,
a.pxab-trades-opening-status--identity.is-clickable:focus-visible .pxab-trades-opening-status--identity__jump {
    color: var(--pxab-trades-hero-opening-jump-icon-hover, #17232c);
    opacity: 1;
}

.pxab-trades-opening-hours:focus { outline: none; }
.pxab-trades-opening-hours:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--pxab-trades-accent) 24%,transparent);
    outline-offset: 3px;
}
.pxab-trades-opening-hours__list > div.is-today { position: relative; }

.pxab-trades-opening-status--identity.is-pxab-opening-source-cue,
.pxab-trades-opening-hours.is-pxab-opening-card-cue,
.pxab-trades-opening-hours__list > div.is-pxab-opening-today-cue {
    will-change: transform, box-shadow, background-color;
    animation-duration: var(--pxab-trades-opening-focus-duration,700ms);
    animation-fill-mode: both;
}

.pxab-trades-opening-status--identity.is-pxab-opening-source-cue.is-effect-press { animation-name: pxab-trades-opening-source-press; }
.pxab-trades-opening-status--identity.is-pxab-opening-source-cue.is-effect-pulse { animation-name: pxab-trades-opening-source-pulse; }
.pxab-trades-opening-status--identity.is-pxab-opening-source-cue.is-effect-nudge { animation-name: pxab-trades-opening-source-nudge; }
.pxab-trades-opening-hours.is-pxab-opening-card-cue.is-effect-spotlight { animation-name: pxab-trades-opening-card-spotlight; }
.pxab-trades-opening-hours.is-pxab-opening-card-cue.is-effect-lift { animation-name: pxab-trades-opening-card-lift; }
.pxab-trades-opening-hours.is-pxab-opening-card-cue.is-effect-pulse { animation-name: pxab-trades-opening-card-pulse; }
.pxab-trades-opening-hours__list > div.is-pxab-opening-today-cue.is-effect-highlight { animation-name: pxab-trades-opening-today-highlight; }
.pxab-trades-opening-hours__list > div.is-pxab-opening-today-cue.is-effect-pulse { animation-name: pxab-trades-opening-today-pulse; }
.pxab-trades-opening-hours__list > div.is-pxab-opening-today-cue.is-effect-marker { animation-name: pxab-trades-opening-today-marker; }

@keyframes pxab-trades-opening-source-press {
    0%,100% { transform: scale(1); }
    32% { transform: scale(.975); }
}
@keyframes pxab-trades-opening-source-pulse {
    0%,100% { transform: scale(1); }
    44% { transform: scale(1.04); }
}
@keyframes pxab-trades-opening-source-nudge {
    0%,100% { transform: translateX(0); }
    22% { transform: translateX(-3px); }
    45% { transform: translateX(3px); }
    67% { transform: translateX(-1px); }
}
@keyframes pxab-trades-opening-card-spotlight {
    0%,100% { transform: translateY(0) scale(1); box-shadow: 0 8px 24px rgba(20,35,50,.045); }
    46% { transform: translateY(-2px) scale(1.006); box-shadow: 0 12px 28px rgba(20,35,50,.08),0 0 0 4px color-mix(in srgb,var(--pxab-trades-accent) 20%,transparent); }
}
@keyframes pxab-trades-opening-card-lift {
    0%,100% { transform: translateY(0); }
    44% { transform: translateY(-4px); }
}
@keyframes pxab-trades-opening-card-pulse {
    0%,100% { transform: scale(1); }
    44% { transform: scale(1.012); }
}
@keyframes pxab-trades-opening-today-highlight {
    0%,100% { background: transparent; }
    44% { background: color-mix(in srgb,var(--pxab-trades-accent) 12%,transparent); }
}
@keyframes pxab-trades-opening-today-pulse {
    0%,100% { transform: scale(1); background: transparent; }
    44% { transform: scale(1.014); background: color-mix(in srgb,var(--pxab-trades-accent) 7%,transparent); }
}
@keyframes pxab-trades-opening-today-marker {
    0%,100% { box-shadow: inset 0 0 0 transparent; background: transparent; }
    44% { box-shadow: inset 4px 0 0 var(--pxab-trades-accent); background: color-mix(in srgb,var(--pxab-trades-accent) 7%,transparent); }
}

@media (prefers-reduced-motion: reduce) {
    a.pxab-trades-opening-status--identity.is-clickable,
    .pxab-trades-opening-status--identity :is(
        .pxab-trades-opening-status--identity__icon,
        .pxab-trades-opening-status--identity__state,
        .pxab-trades-opening-status--identity__separator,
        .pxab-trades-opening-status--identity__detail,
        .pxab-trades-opening-status--identity__jump
    ) { transition: none; }
    .pxab-trades-opening-status--identity.is-pxab-opening-source-cue,
    .pxab-trades-opening-hours.is-pxab-opening-card-cue,
    .pxab-trades-opening-hours__list > div.is-pxab-opening-today-cue { animation: none !important; transform: none !important; }
}

/* v1.0.741 — profiles with one fully hidden column collapse cleanly to the remaining content. */
.pxab-trades-profile__layout.has-no-sidebar,
.pxab-trades-profile__layout.has-no-main {
    grid-template-columns: minmax(0, 1fr);
}

/* v1.0.771 — element-specific full-profile colour authority.
 * Distinct child elements use their owning section's explicit element variables
 * instead of borrowing the generic muted/text/link aliases. This keeps a colour
 * change local to the intended UI part and prevents low-contrast cross-effects. */
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-profile__types {
    color: var(--pxab-trades-element-trade-type-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-profile__types .pxab-trades-inline-separator {
    color: var(--pxab-trades-element-trade-type-separator);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-profile__tagline {
    color: var(--pxab-trades-element-tagline-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-nap--profile,
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-nap--profile .pxab-trades-nap__address {
    color: var(--pxab-trades-element-address-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-nap--profile .pxab-trades-nap__phone {
    color: var(--pxab-trades-element-phone-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-nap--profile .pxab-trades-nap__phone:hover,
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-nap--profile .pxab-trades-nap__phone:focus-visible {
    color: var(--pxab-trades-element-phone-link-hover-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="summary"] .pxab-trades-profile-summary > p {
    color: var(--pxab-trades-element-summary-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="specialisms"] .pxab-trades-detail-list li {
    color: var(--pxab-trades-element-item-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="specialisms"] .pxab-trades-detail-list__icon--specialism {
    color: var(--pxab-trades-element-icon);
}

.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__provider {
    color: var(--pxab-trades-element-provider-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__rating {
    color: var(--pxab-trades-element-rating-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__rating .pxab-icon {
    color: var(--pxab-trades-element-rating-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__meta {
    color: var(--pxab-trades-element-meta-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__link {
    color: var(--pxab-trades-element-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__link:hover,
.pxab-trades-profile [data-pxab-profile-style-section="reputation"] .pxab-trades-review-card__link:focus-visible {
    color: var(--pxab-trades-element-link-hover-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="qualifications"] .pxab-trades-credential-list li {
    border-color: var(--pxab-trades-element-row-divider);
    color: var(--pxab-trades-element-item-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="qualifications"] .pxab-trades-credential-list__verified {
    background: var(--pxab-trades-element-verified-badge-background);
    color: var(--pxab-trades-element-verified-badge-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="accreditations"] .pxab-trades-detail-list li {
    color: var(--pxab-trades-element-item-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="accreditations"] .pxab-trades-detail-list__icon--accreditation {
    color: var(--pxab-trades-element-icon);
}

.pxab-trades-profile [data-pxab-profile-style-section="brands"] .pxab-trades-detail-list li {
    color: var(--pxab-trades-element-item-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="brands"] .pxab-trades-detail-list__icon--brand-system {
    color: var(--pxab-trades-element-icon);
}

.pxab-trades-profile [data-pxab-profile-style-section="projects"] .pxab-trades-project__header h3 {
    color: var(--pxab-trades-element-title-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="projects"] .pxab-trades-project__description {
    color: var(--pxab-trades-element-description-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="projects"] .pxab-trades-project__meta span {
    border-color: var(--pxab-trades-element-meta-border);
    background: var(--pxab-trades-element-meta-background);
    color: var(--pxab-trades-element-meta-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form :is(label,legend),
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form :is(label,legend) {
    color: var(--pxab-trades-element-label-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form :is(input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),select,textarea),
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form :is(input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),select,textarea) {
    border-color: var(--pxab-trades-element-field-border);
    background: var(--pxab-trades-element-field-background);
    color: var(--pxab-trades-element-field-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form :is(input,textarea)::placeholder,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form :is(input,textarea)::placeholder {
    color: var(--pxab-trades-element-placeholder-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form :is(input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),select,textarea):focus,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form :is(input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),select,textarea):focus {
    border-color: var(--pxab-trades-element-focus-border);
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--pxab-trades-element-focus-ring) 18%,transparent);
}

/* Similar trades: compact discovery cards own a complete local colour palette. */
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related > .pxab-trades-section__heading > p {
    color: var(--pxab-trades-element-summary-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card {
    border-color: var(--pxab-trades-element-card-border);
    background: var(--pxab-trades-element-card-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__media {
    background: var(--pxab-trades-element-media-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__media:focus-visible {
    outline-color: var(--pxab-trades-element-media-focus-ring);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__placeholder {
    --pxab-trades-card-placeholder-bg: var(--pxab-trades-element-placeholder-background);
    --pxab-trades-card-placeholder-text: var(--pxab-trades-element-placeholder-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__media:hover .pxab-trades-related-card__placeholder,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__media:focus-visible .pxab-trades-related-card__placeholder {
    --pxab-trades-card-placeholder-bg: var(--pxab-trades-element-placeholder-hover-background);
    --pxab-trades-card-placeholder-text: var(--pxab-trades-element-placeholder-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__types {
    color: var(--pxab-trades-element-type-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__types .pxab-trades-inline-separator {
    color: var(--pxab-trades-element-type-separator);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__location {
    color: var(--pxab-trades-element-location-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__location .pxab-icon {
    color: var(--pxab-trades-element-location-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card h3 a {
    color: var(--pxab-trades-element-title-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card h3 a:hover,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card h3 a:focus-visible {
    color: var(--pxab-trades-element-title-link-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card h3 a:focus-visible {
    outline: 2px solid var(--pxab-trades-element-title-link-focus-ring);
    outline-offset: 3px;
    border-radius: 3px;
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link {
    border-color: var(--pxab-trades-element-button-border) !important;
    background: var(--pxab-trades-element-button-background) !important;
    color: var(--pxab-trades-element-button-text) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link .pxab-icon {
    color: var(--pxab-trades-element-button-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:hover,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:focus-visible,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:active {
    border-color: var(--pxab-trades-element-button-hover-border) !important;
    background: var(--pxab-trades-element-button-hover-background) !important;
    color: var(--pxab-trades-element-button-hover-text) !important;
    box-shadow: 0 8px 20px color-mix(in srgb,var(--pxab-trades-element-button-hover-shadow) 30%,transparent);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:hover .pxab-icon,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:focus-visible .pxab-icon,
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:active .pxab-icon {
    color: var(--pxab-trades-element-button-hover-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:focus-visible {
    outline: 2px solid var(--pxab-trades-element-button-focus-ring);
    outline-offset: 2px;
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:focus:not(:focus-visible) {
    border-color: var(--pxab-trades-element-button-border) !important;
    background: var(--pxab-trades-element-button-background) !important;
    color: var(--pxab-trades-element-button-text) !important;
    outline: 0;
    transform: none;
    box-shadow: none;
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__link:focus:not(:focus-visible) .pxab-icon {
    color: var(--pxab-trades-element-button-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__badges .pxab-trades-badge--verified {
    background: var(--pxab-trades-element-verified-badge-background);
    color: var(--pxab-trades-element-verified-badge-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__badges .pxab-trades-badge--checked {
    background: var(--pxab-trades-element-checked-badge-background);
    color: var(--pxab-trades-element-checked-badge-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__badges .pxab-trades-badge--emergency {
    background: var(--pxab-trades-element-emergency-badge-background);
    color: var(--pxab-trades-element-emergency-badge-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__badges .pxab-trades-badge--insured {
    background: var(--pxab-trades-element-insured-badge-background);
    color: var(--pxab-trades-element-insured-badge-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="similar_trades"] .pxab-trades-related-card__badges .pxab-trades-badge--estimate {
    background: var(--pxab-trades-element-estimate-badge-background);
    color: var(--pxab-trades-element-estimate-badge-text);
}

/* Recently viewed: the whole card is one link, so normal and interaction-state
 * text colours are scoped to that card rather than leaking from generic links. */
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a {
    border-color: var(--pxab-trades-element-card-border);
    background: var(--pxab-trades-element-card-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:hover,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:active {
    border-color: var(--pxab-trades-element-hover-border);
    background: var(--pxab-trades-element-hover-background);
    box-shadow: 0 8px 22px color-mix(in srgb,var(--pxab-trades-element-hover-shadow) 8%,transparent);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible {
    outline-color: var(--pxab-trades-element-focus-ring);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card strong {
    color: var(--pxab-trades-element-title-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:hover strong,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible strong,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:active strong {
    color: var(--pxab-trades-element-title-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__types {
    color: var(--pxab-trades-element-type-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__types .pxab-trades-inline-separator {
    color: var(--pxab-trades-element-type-separator);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:hover .pxab-trades-recent__types,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible .pxab-trades-recent__types,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:active .pxab-trades-recent__types {
    color: var(--pxab-trades-element-type-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:hover .pxab-trades-recent__types .pxab-trades-inline-separator,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible .pxab-trades-recent__types .pxab-trades-inline-separator,
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:active .pxab-trades-recent__types .pxab-trades-inline-separator {
    color: var(--pxab-trades-element-type-separator-hover);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a > span:not(.pxab-trades-recent__types) {
    border-top-color: var(--pxab-trades-element-supporting-divider);
    color: var(--pxab-trades-element-supporting-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:hover > span:not(.pxab-trades-recent__types),
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:focus-visible > span:not(.pxab-trades-recent__types),
.pxab-trades-profile [data-pxab-profile-style-section="recently_viewed"] .pxab-trades-recent__card > a:active > span:not(.pxab-trades-recent__types) {
    border-top-color: var(--pxab-trades-element-supporting-divider-hover);
    color: var(--pxab-trades-element-supporting-hover-text);
}

/* Opening-hours card: every visible schedule text role is independent. */
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-status.is-open {
    color: var(--pxab-trades-element-open-status-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-status.is-closed {
    color: var(--pxab-trades-element-closed-status-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-status__separator {
    color: var(--pxab-trades-element-status-separator);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-status strong > span:last-child {
    color: var(--pxab-trades-element-status-detail-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-hours__list dt {
    color: var(--pxab-trades-element-day-label-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-hours__list dd {
    color: var(--pxab-trades-element-hours-value-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-hours__list > div {
    border-color: var(--pxab-trades-element-row-divider);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-hours__notes {
    color: var(--pxab-trades-element-notes-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="opening_hours"] .pxab-trades-opening-hours:focus-visible {
    outline-color: var(--pxab-trades-element-focus-ring);
}

.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-summary {
    color: var(--pxab-trades-element-summary-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list__label {
    color: var(--pxab-trades-element-area-label-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list__marker {
    background: var(--pxab-trades-element-marker-background);
    color: var(--pxab-trades-element-marker-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list details summary {
    color: var(--pxab-trades-element-details-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list details summary:hover,
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list details summary:focus-visible {
    color: var(--pxab-trades-element-details-link-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-list details p {
    color: var(--pxab-trades-element-details-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-managed {
    border-color: var(--pxab-trades-element-divider);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-area-managed h3 {
    color: var(--pxab-trades-element-managed-heading-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-side-card__meta {
    color: var(--pxab-trades-element-meta-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-side-card dt {
    color: var(--pxab-trades-element-label-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-side-card dd {
    color: var(--pxab-trades-element-value-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-side-card dl > div,
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-side-card--business-details > h2 {
    border-color: var(--pxab-trades-element-row-divider);
}
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-fact-row--link a {
    color: var(--pxab-trades-element-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-fact-row--link a:hover,
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-fact-row--link a:focus-visible {
    color: var(--pxab-trades-element-link-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="business_details"] .pxab-trades-fact-badge {
    border-color: var(--pxab-trades-element-badge-border);
    background: var(--pxab-trades-element-badge-background);
    color: var(--pxab-trades-element-badge-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="verification"] .pxab-trades-profile-verification > strong {
    color: var(--pxab-trades-element-state-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="verification"] .pxab-trades-profile-verification > p {
    color: var(--pxab-trades-element-body-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="verification"] .pxab-trades-profile-verification__date {
    color: var(--pxab-trades-element-date-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="verification"] .pxab-trades-profile-verification__date strong {
    color: var(--pxab-trades-element-date-value-text);
}

.pxab-trades-profile [data-pxab-profile-style-section="online_links"] .pxab-trades-profile-links__list a {
    border-color: var(--pxab-trades-element-button-border);
    background: var(--pxab-trades-element-button-background);
    color: var(--pxab-trades-element-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="online_links"] .pxab-trades-profile-links__list a:hover,
.pxab-trades-profile [data-pxab-profile-style-section="online_links"] .pxab-trades-profile-links__list a:focus-visible {
    border-color: var(--pxab-trades-element-hover-border);
    background: var(--pxab-trades-element-hover-background);
    color: var(--pxab-trades-element-hover-icon);
}
.pxab-trades-profile [data-pxab-profile-style-section="online_links"] .pxab-trades-profile-links__list a:focus-visible {
    outline: 3px solid var(--pxab-trades-element-focus-ring);
    outline-offset: 2px;
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-location-pages__links a {
    color: var(--pxab-trades-element-location-link-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-location-pages__links a:hover,
.pxab-trades-profile [data-pxab-profile-style-section="service_area"] .pxab-trades-location-pages__links a:focus-visible {
    color: var(--pxab-trades-element-location-link-hover-text);
}

/* v1.0.772 — Trade profile chrome, gallery-control and form-component colour authority. */
.pxab-trades-breadcrumbs {
    color: var(--pxab-trades-element-current-text, var(--pxab-trades-public-muted, #61717c));
}
.pxab-trades-breadcrumbs [aria-current="page"] {
    color: var(--pxab-trades-element-current-text, var(--pxab-trades-public-muted, #61717c));
}
.pxab-trades-breadcrumbs li:not(:last-child)::after {
    color: var(--pxab-trades-element-separator, var(--pxab-trades-public-muted, #61717c));
}
.pxab-trades-breadcrumbs a,
.pxab-trades-breadcrumbs a:visited {
    color: var(--pxab-trades-element-link-text, var(--pxab-trades-public-link, #1f6f8b));
}
.pxab-trades-breadcrumbs a:hover,
.pxab-trades-breadcrumbs a:focus,
.pxab-trades-breadcrumbs a:focus-visible {
    color: var(--pxab-trades-element-link-hover-text, var(--pxab-trades-public-link-hover, #185b71));
}
.pxab-trades-breadcrumbs a:focus-visible {
    outline: 2px solid var(--pxab-trades-element-focus-ring, var(--pxab-trades-accent, #1f6f8b));
    outline-offset: 3px;
    border-radius: 3px;
}

/* Shared gallery runtime remains shared; each Trade gallery section supplies its
 * own inherited show-all variables and separate icon/interaction colours. */
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) {
    --pxab-gallery-show-all-bg: var(--pxab-trades-element-show-all-background);
    --pxab-gallery-show-all-border: var(--pxab-trades-element-show-all-border);
    --pxab-gallery-show-all-text: var(--pxab-trades-element-show-all-text);
    --pxab-gallery-show-all-hover-bg: var(--pxab-trades-element-show-all-hover-background);
    --pxab-gallery-show-all-hover-text: var(--pxab-trades-element-show-all-hover-text);
}
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all .pxab-icon {
    color: var(--pxab-trades-element-show-all-icon) !important;
}
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all:hover,
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all:focus-visible {
    border-color: var(--pxab-trades-element-show-all-hover-border) !important;
}
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all:hover .pxab-icon,
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all:focus-visible .pxab-icon {
    color: var(--pxab-trades-element-show-all-hover-icon) !important;
}
.pxab-trades-profile :is(
    [data-pxab-profile-style-section="projects"],
    [data-pxab-profile-style-section="gallery"]
) .pxab-gallery__show-all:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pxab-trades-element-show-all-focus-ring) 24%, transparent), 0 8px 24px rgba(15,23,42,.16) !important;
}

/* Form-level controls override only the owning enquiry/report scope. Validation
 * errors and success/error notices deliberately keep their semantic palettes. */
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-field-help {
    color: var(--pxab-trades-element-helper-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__timing-toggle > span {
    color: var(--pxab-trades-element-timing-toggle-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] :is(
    .pxab-trades-enquiry__timing-toggle,
    .pxab-trades-enquiry__consent
) > input[type="checkbox"] {
    accent-color: var(--pxab-trades-element-checkbox-accent);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__consent > span:not(.pxab-field-error) {
    color: var(--pxab-trades-element-consent-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos {
    border-color: var(--pxab-trades-element-photo-panel-border);
    background: var(--pxab-trades-element-photo-panel-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos > summary {
    color: var(--pxab-trades-element-photo-summary-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos > summary:hover,
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos > summary:focus-visible {
    color: var(--pxab-trades-element-photo-summary-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos small {
    color: var(--pxab-trades-element-photo-help-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photo-status {
    color: var(--pxab-trades-element-photo-status-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"] {
    border-color: var(--pxab-trades-element-file-field-border);
    background: var(--pxab-trades-element-file-field-background);
    color: var(--pxab-trades-element-file-field-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"]::file-selector-button {
    border: 1px solid var(--pxab-trades-element-file-button-text);
    border-radius: 8px;
    background: var(--pxab-trades-element-file-button-background);
    color: var(--pxab-trades-element-file-button-text);
    cursor: pointer;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"]::file-selector-button:hover {
    background: var(--pxab-trades-element-file-button-hover-background);
    color: var(--pxab-trades-element-file-button-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-phone-field__apply {
    border-color: var(--pxab-trades-element-phone-apply-border) !important;
    background: var(--pxab-trades-element-phone-apply-background) !important;
    color: var(--pxab-trades-element-phone-apply-text) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-phone-field__apply:hover,
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-phone-field__apply:focus-visible {
    border-color: var(--pxab-trades-element-phone-apply-hover-border) !important;
    background: var(--pxab-trades-element-phone-apply-hover-background) !important;
    color: var(--pxab-trades-element-phone-apply-hover-text) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-phone-field__apply:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-element-phone-apply-focus-ring) 34%, transparent) !important;
    outline-offset: 2px;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form > .pxab-submit,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form > .pxab-submit {
    border-color: var(--pxab-trades-element-submit-border) !important;
    background: var(--pxab-trades-element-submit-background) !important;
    color: var(--pxab-trades-element-submit-text) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form > .pxab-submit:hover,
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form > .pxab-submit:focus-visible,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form > .pxab-submit:hover,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form > .pxab-submit:focus-visible {
    border-color: var(--pxab-trades-element-submit-hover-border) !important;
    background: var(--pxab-trades-element-submit-hover-background) !important;
    color: var(--pxab-trades-element-submit-hover-text) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__form > .pxab-submit:focus-visible,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report__form > .pxab-submit:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-element-submit-focus-ring) 34%, transparent) !important;
    outline-offset: 2px;
}

/* v1.0.772 — interaction states for expandable form summaries/file picker. */
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report > details > summary {
    color: var(--pxab-trades-element-summary-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report > details > summary:hover,
.pxab-trades-profile [data-pxab-profile-style-section="profile_report"] .pxab-trades-profile-report > details > summary:focus-visible {
    color: var(--pxab-trades-element-summary-hover-text);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"]:focus-visible {
    border-color: var(--pxab-trades-element-focus-border);
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-element-focus-ring) 18%, transparent);
    outline-offset: 2px;
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"]::file-selector-button {
    border-color: var(--pxab-trades-element-file-button-border);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] .pxab-trades-enquiry__photos input[type="file"]::file-selector-button:hover {
    border-color: var(--pxab-trades-element-file-button-hover-border);
}
.pxab-trades-profile [data-pxab-profile-style-section="enquiry"] :is(
    .pxab-trades-enquiry__timing-toggle,
    .pxab-trades-enquiry__consent
) > input[type="checkbox"]:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-element-focus-ring) 24%, transparent);
    outline-offset: 2px;
}

/* v1.0.772 — remaining hero shared controls receive Trade-owned colours. */
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-trades-company-logo--profile {
    border-color: var(--pxab-trades-element-company-logo-border);
    background: var(--pxab-trades-element-company-logo-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action {
    border-color: var(--pxab-trades-element-header-action-border) !important;
    background: var(--pxab-trades-element-header-action-background) !important;
    color: var(--pxab-trades-element-header-action-icon) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action .pxab-icon {
    color: var(--pxab-trades-element-header-action-icon) !important;
    stroke: currentColor !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action:hover,
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action:focus-visible {
    border-color: var(--pxab-trades-element-header-action-hover-border) !important;
    background: var(--pxab-trades-element-header-action-hover-background) !important;
    color: var(--pxab-trades-element-header-action-hover-icon) !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action:hover .pxab-icon,
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action:focus-visible .pxab-icon {
    color: var(--pxab-trades-element-header-action-hover-icon) !important;
    stroke: currentColor !important;
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--pxab-trades-element-header-action-focus-ring) 28%, transparent) !important;
    outline-offset: 2px;
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-qr__panel {
    border-color: var(--pxab-trades-element-qr-panel-border);
    background: var(--pxab-trades-element-qr-panel-background);
}
.pxab-trades-profile [data-pxab-profile-style-section="hero"] .pxab-header-qr__panel::before {
    border-left-color: var(--pxab-trades-element-qr-panel-border);
    border-top-color: var(--pxab-trades-element-qr-panel-border);
    background: var(--pxab-trades-element-qr-panel-background);
}
