/* ==========================================================================
   Professional directory / listing page  (.pn-dir)
   Loaded after homepage.css so it wins. Self-contained palette (no token
   dependency) matching the dashboard/profile redesigns.
   ========================================================================== */
.pn-dir {
   --d-green: #00875a;
   --d-green-deep: #045c3f;
   --d-ink: #14211d;
   --d-muted: #667085;
   --d-line: #e6e8eb;
   --d-soft: #e9f6f0;
   color: #1f2933;
   background: #f7f9f8;
   padding-bottom: 48px;
}

/* ---- hero band ---- */
.pn-dir-hero {
   position: relative;
   overflow: hidden;
   padding: 30px 0 34px;
   color: #fff;
   background:
      radial-gradient(560px 220px at 85% 0%, rgba(61, 220, 151, .22), transparent 62%),
      linear-gradient(120deg, #14211d 0%, #0e3527 100%);
}
.pn-dir-hero__inner {
   max-width: 1180px;
   margin: 0 auto;
   padding: 0 20px;
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 20px;
   flex-wrap: wrap;
}
.pn-dir-hero__eyebrow {
   margin: 0 0 6px;
   font-size: 13px;
   font-weight: 700;
   letter-spacing: .05em;
   text-transform: uppercase;
   color: #8ff0c6;
}
.pn-dir-hero h1 {
   margin: 0;
   font-size: clamp(26px, 4vw, 38px);
   font-weight: 800;
   line-height: 1.12;
}
.pn-dir-hero__lead {
   margin: 10px 0 0;
   max-width: 60ch;
   color: rgba(255, 255, 255, .8);
   font-size: 15px;
}
.pn-dir-hero__count {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 10px 18px;
   border-radius: 999px;
   background: rgba(61, 220, 151, .16);
   border: 1px solid rgba(61, 220, 151, .4);
   color: #8ff0c6;
   font-size: 14px;
   font-weight: 700;
   white-space: nowrap;
}
.pn-dir-hero__count .fa { font-size: 11px; }

/* ---- shell ---- */
.pn-dir-shell {
   max-width: 1180px;
   margin: -18px auto 0;
   padding: 0 20px;
   position: relative;
   z-index: 2;
}

/* breadcrumb */
.pn-dir-crumb ol {
   display: flex;
   flex-wrap: wrap;
   gap: 6px;
   margin: 0 0 14px;
   padding: 10px 16px;
   list-style: none;
   background: #fff;
   border: 1px solid var(--d-line);
   border-radius: 12px;
   box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
   font-size: 13px;
   color: var(--d-muted);
}
.pn-dir-crumb li + li::before { content: "/"; margin-right: 6px; color: #c3ccc8; }
.pn-dir-crumb a { color: var(--d-green); font-weight: 600; text-decoration: none; }
.pn-dir-crumb a:hover { text-decoration: underline; }
.pn-dir-crumb [aria-current="page"] { color: var(--d-ink); font-weight: 700; }

/* toolbar heading + actions */
.pn-dir-bar {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 14px;
   flex-wrap: wrap;
   margin-bottom: 14px;
}
.pn-dir-bar__eyebrow {
   margin: 0 0 2px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .05em;
   text-transform: uppercase;
   color: var(--d-green);
}
.pn-dir-bar h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--d-ink); }
.pn-dir-bar__count { margin: 4px 0 0; color: var(--d-muted); font-size: 14px; font-weight: 600; }
.pn-dir-bar__actions { display: flex; gap: 8px; flex-wrap: wrap; }

.pn-dir-chip-btn {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 9px 15px;
   border: 1px solid var(--d-line);
   border-radius: 10px;
   background: #fff;
   color: #344054;
   font-size: 13px;
   font-weight: 700;
   cursor: pointer;
}
.pn-dir-chip-btn:hover { border-color: var(--d-green); color: var(--d-green); }

/* controls row */
.pn-dir-controls {
   display: grid;
   grid-template-columns: 1fr auto auto auto;
   gap: 12px;
   align-items: end;
   padding: 16px;
   background: #fff;
   border: 1px solid var(--d-line);
   border-radius: 14px;
   box-shadow: 0 6px 18px rgba(15, 23, 42, .04);
   margin-bottom: 16px;
}
.pn-dir-controls label,
.pn-dir-controls .pn-dir-ctl-label {
   display: block;
   margin-bottom: 5px;
   font-size: 12px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .03em;
   color: var(--d-muted);
}
.pn-dir-controls .form-control {
   min-height: 46px;
   border: 1px solid #d0d5dd;
   border-radius: 10px;
   font-size: 15px;
}
.pn-dir-controls .form-control:focus {
   border-color: var(--d-green);
   box-shadow: 0 0 0 3px rgba(0, 135, 90, .14);
}
.pn-dir-view {
   display: inline-flex;
   border: 1px solid #d0d5dd;
   border-radius: 10px;
   overflow: hidden;
}
.pn-dir-view button {
   width: 46px;
   height: 46px;
   border: 0;
   background: #fff;
   color: #667085;
   cursor: pointer;
}
.pn-dir-view button.active { background: var(--d-green); color: #fff; }
.pn-dir-clear {
   align-self: end;
   height: 46px;
   padding: 0 6px;
   border: 0;
   background: none;
   color: var(--d-green);
   font-weight: 700;
   font-size: 14px;
   cursor: pointer;
}

/* active filter chips */
.pn-dir-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pn-dir-chips:empty { display: none; }

/* layout */
.pn-dir-layout {
   display: grid;
   grid-template-columns: 268px minmax(0, 1fr);
   gap: 20px;
   align-items: start;
}

/* filter sidebar — markup in homepage/components/filter.blade.php (.pnf-*) */
.pn-dir-side .listing-filter-panel,
.pn-dir-side #filters {
   display: block !important;   /* always visible on desktop; collapsible on mobile (see media query) */
   position: sticky;
   top: 16px;
   padding: 0;
   background: #fff;
   border: 1px solid var(--d-line);
   border-radius: 16px;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05);
   overflow: hidden;
}
.pnf-head {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 16px 18px;
   border-bottom: 1px solid #eef0f2;
   background: linear-gradient(180deg, #fbfdfc 0%, #fff 100%);
}
.pnf-head__icon {
   flex: 0 0 34px;
   height: 34px;
   display: grid;
   place-items: center;
   border-radius: 10px;
   background: var(--d-soft);
   color: var(--d-green);
   font-size: 15px;
}
.pnf-head__text { flex: 1; min-width: 0; }
.pnf-head__text h3 { margin: 0; font-size: 15px; font-weight: 800; color: var(--d-ink); line-height: 1.2; }
.pnf-head__text p { margin: 2px 0 0; font-size: 12px; color: var(--d-muted); line-height: 1.3; }
.pnf-reset {
   flex: 0 0 auto;
   display: inline-flex;
   align-items: center;
   gap: 5px;
   padding: 6px 10px;
   border: 0;
   border-radius: 8px;
   background: transparent;
   color: var(--d-green);
   font-size: 12.5px;
   font-weight: 700;
   cursor: pointer;
   transition: background .15s ease;
}
.pnf-reset .fa { font-size: 11px; }
.pnf-reset:hover { background: var(--d-soft); }
.pnf-reset:focus-visible { outline: 2px solid var(--d-green); outline-offset: 2px; }

.pnf-group {
   margin: 0;
   padding: 16px 18px;
   border: 0;
   border-bottom: 1px solid #f1f3f4;
   min-width: 0;
}
.pnf-group:last-child { border-bottom: 0; }
.pn-dir-side .pnf-label,
.pn-dir-side .listing-rating-filter legend.pnf-label {
   display: block;
   width: auto;
   margin: 0 0 10px;
   padding: 0;
   float: none;
   font-size: 11.5px;
   font-weight: 800;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--d-muted);
}
.pnf-hint { margin: 8px 0 0; font-size: 12px; line-height: 1.45; color: #8a94a3; }

/* service select */
.pnf-select { position: relative; }
.pn-dir-side .pnf-select .form-control {
   height: 44px;
   min-height: 44px;
   padding: 0 36px 0 38px;
   border: 1px solid var(--d-line);
   border-radius: 10px;
   background: #fff;
   color: var(--d-ink);
   font-size: 14px;
   font-weight: 600;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   box-shadow: none;
   cursor: pointer;
   transition: border-color .15s ease, box-shadow .15s ease;
}
.pn-dir-side .pnf-select .form-control:hover { border-color: #c9d2cd; }
.pn-dir-side .pnf-select .form-control:focus {
   border-color: var(--d-green);
   box-shadow: 0 0 0 3px rgba(0, 135, 90, .14);
   outline: none;
}
.pnf-select__icon,
.pnf-select__caret {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   pointer-events: none;
}
.pnf-select__icon { left: 13px; font-size: 13px; color: var(--d-green); }
.pnf-select__caret { right: 14px; font-size: 16px; color: var(--d-muted); }

/* availability switch */
.pnf-switch {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 0;
   padding: 11px 12px;
   border: 1px solid var(--d-line);
   border-radius: 12px;
   cursor: pointer;
   transition: border-color .15s ease, background .15s ease;
}
.pnf-switch:hover { border-color: #c9d2cd; }
.pnf-switch__text { flex: 1; min-width: 0; }
.pnf-switch__text strong { display: block; font-size: 14px; font-weight: 700; color: var(--d-ink); }
.pnf-switch__text small { display: block; margin-top: 1px; font-size: 12px; color: var(--d-muted); }
.pnf-switch__input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pnf-switch__track {
   position: relative;
   flex: 0 0 40px;
   height: 22px;
   border-radius: 999px;
   background: #d0d5dd;
   transition: background .18s ease;
}
.pnf-switch__thumb {
   position: absolute;
   top: 3px;
   left: 3px;
   width: 16px;
   height: 16px;
   border-radius: 50%;
   background: #fff;
   box-shadow: 0 1px 3px rgba(16, 24, 40, .25);
   transition: transform .18s ease;
}
.pnf-switch__input:checked ~ .pnf-switch__track { background: var(--d-green); }
.pnf-switch__input:checked ~ .pnf-switch__track .pnf-switch__thumb { transform: translateX(18px); }
.pnf-switch:has(.pnf-switch__input:checked) { border-color: rgba(0, 135, 90, .45); background: #f4fbf8; }
.pnf-switch__input:focus-visible ~ .pnf-switch__track { box-shadow: 0 0 0 3px rgba(0, 135, 90, .25); }

/* rating bands */
.pnf-ratings { display: grid; gap: 4px; }
.pnf-rating {
   display: flex;
   align-items: center;
   gap: 10px;
   margin: 0;
   padding: 8px 10px;
   border: 1px solid transparent;
   border-radius: 10px;
   cursor: pointer;
   transition: background .15s ease, border-color .15s ease;
}
.pnf-rating:hover { background: #f6f8f7; }
.pnf-rating__input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pnf-rating__box {
   flex: 0 0 18px;
   height: 18px;
   display: grid;
   place-items: center;
   border: 1.5px solid #c4cbd4;
   border-radius: 5px;
   background: #fff;
   color: #fff;
   font-size: 10px;
   transition: background .15s ease, border-color .15s ease;
}
.pnf-rating__box .fa { opacity: 0; transform: scale(.6); transition: opacity .15s ease, transform .15s ease; }
.pnf-rating__stars { display: inline-flex; gap: 2px; font-size: 13px; color: #e4e7ec; }
.pnf-rating__stars .is-on { color: #f59e0b; }
.pnf-rating__band { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--d-muted); font-variant-numeric: tabular-nums; }
.pnf-rating__input:checked ~ .pnf-rating__box { background: var(--d-green); border-color: var(--d-green); }
.pnf-rating__input:checked ~ .pnf-rating__box .fa { opacity: 1; transform: scale(1); }
.pnf-rating__input:checked ~ .pnf-rating__band { color: var(--d-green); }
.pnf-rating:has(.pnf-rating__input:checked) { background: #f4fbf8; border-color: rgba(0, 135, 90, .3); }
.pnf-rating__input:focus-visible ~ .pnf-rating__box { box-shadow: 0 0 0 3px rgba(0, 135, 90, .25); }

/* homepage.css styles every `.listing-filter-panel label` as a block uppercase caption
   and gives .form-control a heavy bottom border; undo that for the .pnf controls. */
.pn-dir-side #filters .pnf-switch,
.pn-dir-side #filters .pnf-rating {
   display: flex;
   margin: 0;
   color: inherit;
   font-size: inherit;
   font-weight: 400;
   letter-spacing: normal;
   text-transform: none;
}
/* booking-area.css sets `select { border-width … !important }` globally — only !important beats it. */
.pn-dir-side #filters .pnf-select .form-control {
   border: 1px solid var(--d-line) !important;
}
.pn-dir-side #filters .pnf-select .form-control:focus { border-color: var(--d-green) !important; }
.pn-dir-side #filters .listing-rating-filter legend.pnf-label { margin-bottom: 4px; }

/* results grid */
.pn-dir-main { min-width: 0; }
#showProfessionalDetails.professional-results-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
   gap: 16px;
}

/* ---- the card ---- */
.professional-result { display: block; }
.pn-dir-card {
   display: flex;
   flex-direction: column;
   height: 100%;
   background: #fff;
   border: 1px solid var(--d-line);
   border-radius: 16px;
   padding: 18px;
   box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
   transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pn-dir-card:hover {
   transform: translateY(-3px);
   box-shadow: 0 16px 34px rgba(15, 23, 42, .1);
   border-color: #cfe5db;
}
.pn-dir-card__top { display: flex; gap: 13px; align-items: center; }
.pn-dir-card__avatar {
   width: 60px; height: 60px; flex: none;
   border-radius: 50%; object-fit: cover;
   border: 2px solid var(--d-soft); background: #fff;
}
.pn-dir-card__id { min-width: 0; }
.pn-dir-card__name {
   margin: 0; font-size: 17px; font-weight: 800; color: var(--d-ink);
   white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pn-dir-card__name a { color: inherit; text-decoration: none; }
.pn-dir-card__name a:hover { color: var(--d-green); }
.pn-dir-card__prof {
   display: inline-block; margin-top: 4px; padding: 3px 10px;
   border-radius: 999px; background: var(--d-soft); color: var(--d-green-deep);
   font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
}
.pn-dir-card__rating { display: flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 13px; color: var(--d-muted); font-weight: 600; }
.pn-dir-card__rating .fa-star { font-size: 13px; }
.pn-dir-card__rating .orange { color: #f5b301; }
.pn-dir-card__rating .gray { color: #d7dcda; }

.pn-dir-card__stats {
   display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
   margin: 14px 0; padding: 12px 0; border-top: 1px dashed #eef0f2; border-bottom: 1px dashed #eef0f2;
}
.pn-dir-card__stat span { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #98a2b3; }
.pn-dir-card__stat strong { font-size: 15px; font-weight: 800; color: var(--d-ink); }
.pn-dir-card__stat--price strong { color: var(--d-green); }

.pn-dir-card__avail {
   display: inline-flex; align-items: center; gap: 6px;
   padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 700;
}
.pn-dir-card__avail--on { background: var(--d-soft); color: var(--d-green-deep); }
.pn-dir-card__avail--off { background: #fdecec; color: #b42318; }
.pn-dir-card__avail .dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

.pn-dir-card__actions { display: grid; grid-template-columns: 1fr 1.3fr; gap: 8px; margin-top: auto; }
.pn-dir-card__btn {
   display: inline-flex; align-items: center; justify-content: center; gap: 7px;
   min-height: 44px; border-radius: 10px; font-size: 14px; font-weight: 700;
   text-decoration: none; border: 1px solid transparent; cursor: pointer;
}
.pn-dir-card__btn--ghost { background: #fff; border-color: #d0d5dd; color: #344054; }
.pn-dir-card__btn--ghost:hover { border-color: var(--d-green); color: var(--d-green); text-decoration: none; }
.pn-dir-card__btn--primary { background: var(--d-green); color: #fff; box-shadow: 0 6px 14px rgba(0, 135, 90, .22); }
.pn-dir-card__btn--primary:hover { background: var(--d-green-deep); color: #fff; text-decoration: none; }

/* list view */
#showProfessionalDetails.professional-results-list { display: flex; flex-direction: column; gap: 14px; grid-template-columns: none; }
.professional-results-list .pn-dir-card { flex-direction: row; align-items: center; flex-wrap: wrap; }
.professional-results-list .pn-dir-card__top { flex: 1 1 260px; }
.professional-results-list .pn-dir-card__stats { flex: 1 1 200px; margin: 0 16px; border: 0; padding: 0; }
.professional-results-list .pn-dir-card__actions { flex: 0 0 240px; margin: 0; grid-template-columns: 1fr 1fr; }

/* empty state */
.listing-empty-state {
   text-align: center; padding: 48px 20px; background: #fff;
   border: 1px dashed #d0d5dd; border-radius: 16px;
}
.listing-empty-state h3 { margin: 0 0 6px; font-size: 20px; font-weight: 800; color: var(--d-ink); }
.listing-empty-state p { margin: 0; color: var(--d-muted); }

/* pagination + load more */
.pn-dir-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 22px; }
.pn-dir-pager button {
   min-height: 42px; padding: 0 18px; border: 1px solid #d0d5dd; border-radius: 10px;
   background: #fff; color: #344054; font-weight: 700; cursor: pointer;
}
.pn-dir-pager button:hover:not(:disabled) { border-color: var(--d-green); color: var(--d-green); }
.pn-dir-pager span { color: var(--d-muted); font-weight: 600; }
.listing-load-more { text-align: center; margin-top: 14px; }
.listing-load-more .btn { border-radius: 10px; min-height: 44px; padding: 0 22px; }

/* related links ("Explore more local services") */
.pn-dir-related { max-width: 1180px; margin: 44px auto 0; padding: 0 20px; }
.pn-dir-related__head { margin-bottom: 18px; }
.pn-dir-related__eyebrow {
   margin: 0 0 4px;
   font-size: 12px;
   font-weight: 800;
   letter-spacing: .08em;
   text-transform: uppercase;
   color: var(--d-green);
}
.pn-dir-related__head h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--d-ink); letter-spacing: -.01em; }
.pn-dir-related__sub { margin: 6px 0 0; font-size: 14px; color: var(--d-muted); }
.pn-dir-related__grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 20px;
   align-items: start;
}
.pn-dir-related__card {
   background: #fff;
   border: 1px solid var(--d-line);
   border-radius: 16px;
   box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05);
   overflow: hidden;
}
.pn-dir-related__card-head {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 16px 18px;
   border-bottom: 1px solid #eef0f2;
   background: linear-gradient(180deg, #fbfdfc 0%, #fff 100%);
}
.pn-dir-related__icon {
   flex: 0 0 36px;
   height: 36px;
   display: grid;
   place-items: center;
   border-radius: 10px;
   background: var(--d-soft);
   color: var(--d-green);
   font-size: 15px;
}
.pn-dir-related__card-head h3 { margin: 0; font-size: 15px; font-weight: 800; color: var(--d-ink); text-transform: none; letter-spacing: 0; }
.pn-dir-related__card-head p { margin: 2px 0 0; font-size: 12.5px; color: var(--d-muted); }

.pn-dir-related__services,
.pn-dir-related__cities { list-style: none; margin: 0; padding: 10px; }
.pn-dir-related__services { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.pn-dir-related__services a,
.pn-dir-related__cities a {
   display: flex;
   align-items: center;
   gap: 12px;
   min-width: 0;
   border-radius: 12px;
   color: var(--d-ink);
   text-decoration: none;
   transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.pn-dir-related__services a {
   padding: 10px 12px;
   border: 1px solid var(--d-line);
}
.pn-dir-related__services a:hover { border-color: rgba(0, 135, 90, .45); background: #f4fbf8; transform: translateY(-1px); }
.pn-dir-related__tile-icon {
   flex: 0 0 30px;
   height: 30px;
   display: grid;
   place-items: center;
   border-radius: 8px;
   background: #f2f4f7;
   color: #475467;
   font-size: 13px;
   transition: background .15s ease, color .15s ease;
}
.pn-dir-related__services a:hover .pn-dir-related__tile-icon { background: var(--d-soft); color: var(--d-green); }
.pn-dir-related__tile-name {
   flex: 1;
   min-width: 0;
   font-size: 14px;
   font-weight: 700;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}
.pn-dir-related__chev { flex: 0 0 auto; color: #98a2b3; font-size: 16px; transition: color .15s ease, transform .15s ease; }
.pn-dir-related a:hover .pn-dir-related__chev { color: var(--d-green); transform: translateX(2px); }

.pn-dir-related__cities li + li { border-top: 1px solid #f1f3f4; }
.pn-dir-related__cities a { padding: 11px 10px; }
.pn-dir-related__cities a:hover { background: #f6f8f7; }
.pn-dir-related__pin {
   flex: 0 0 32px;
   height: 32px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   background: #fff4ec;
   color: #e8590c;
   font-size: 14px;
}
.pn-dir-related__city { flex: 1; min-width: 0; }
.pn-dir-related__city strong { display: block; font-size: 14px; font-weight: 700; color: var(--d-ink); }
.pn-dir-related__city small { display: block; margin-top: 1px; font-size: 12.5px; color: var(--d-muted); }
.pn-dir-related a:focus-visible { outline: 2px solid var(--d-green); outline-offset: 2px; }

.pn-dir-loading { opacity: .55; pointer-events: none; }

/* responsive */
@media (max-width: 900px) {
   .pn-dir-layout { grid-template-columns: 1fr; }
   .pn-dir-side .listing-filter-panel,
   .pn-dir-side #filters { position: static; }
   /* mobile: the toolbar "Filters" button toggles the panel (Bootstrap collapse) */
   .pn-dir-side #filters.collapse:not(.show) { display: none !important; }
   .pn-dir-side #filters.collapsing { display: block !important; }
   .pn-dir-controls { grid-template-columns: 1fr 1fr; }
   .pn-dir-controls .pn-dir-ctl-search { grid-column: 1 / -1; }
   .professional-results-list .pn-dir-card { flex-direction: column; align-items: stretch; }
   .professional-results-list .pn-dir-card__stats { margin: 14px 0; border-top: 1px dashed #eef0f2; border-bottom: 1px dashed #eef0f2; padding: 12px 0; }
   .professional-results-list .pn-dir-card__actions { flex-basis: auto; }
   .pn-dir-related__grid { grid-template-columns: 1fr; }
   .pn-dir-related__head h2 { font-size: 19px; }
}
@media (max-width: 560px) {
   .pn-dir-controls { grid-template-columns: 1fr; }
   .pn-dir-hero__inner { align-items: flex-start; }
}

/* Hide the mobile-only inline "Filters" toggle on desktop (sidebar is always shown) */
@media (min-width: 901px) { .pn-dir-filter-toggle { display: none !important; } }
