/*
Theme Name: ListingPro Child — AttorneysListed
Template: listingpro
Version: 0.1.49
Text Domain: attorneyslisted
*/

:root {
  --al-navy: #0a2342;
  --al-blue: #0d6efd;
  --al-link: #2457a7;
  --al-bg: #f5f7fa;
  --al-border: #d5dde7;
  --al-muted: #536174;
  --al-star: #f5b301;
}

.al-directory, .al-directory * { box-sizing: border-box; }
.al-directory { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.al-directory { background: var(--al-bg); color: #263244; min-height: 70vh; font-size: 16px; }
.al-directory-page .header-container .page-heading.listing-page { display: none !important; }
.al-wrap { width: min(1280px, calc(100% - 32px)); margin-inline: auto; }
.al-breadcrumbs { background: #fff; border-bottom: 1px solid var(--al-border); }
.al-breadcrumbs .al-wrap { display: flex; gap: 8px; align-items: center; min-height: 46px; font-size: 14px; color: #697386; }
.al-breadcrumbs a { color: #697386; text-decoration: none; }
.al-breadcrumbs a:hover { color: var(--al-blue); }
.al-hero { background: linear-gradient(180deg, #fff 0%, #fbfdff 100%); border-bottom: 1px solid var(--al-border); }
.al-hero .al-wrap { padding-block: 30px 34px; }
.al-hero h1 { color: var(--al-navy); font-family: inherit; font-size: clamp(30px, 3.3vw, 36px); font-weight: 750; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 10px; }
.al-hero p { max-width: 780px; color: #46566b; font-size: 16px; line-height: 1.65; margin: 0; }
.al-search-location { margin-top: 20px; max-width: 690px; }
.al-search-location label { display: block; color: var(--al-navy); font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.al-search-row { display: flex; gap: 8px; }
.al-hero-search-field { position: relative; flex: 1; color: #9ca3af; }
.al-hero-search-field svg { position: absolute; z-index: 1; left: 14px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.al-hero-search-field .al-input { min-height: 44px; padding-left: 40px; }
.al-search-location .al-button { min-width: 92px; min-height: 44px; padding-inline: 24px; }
.al-input { width: 100%; min-height: 44px; border: 1px solid #cfd5dd; border-radius: 8px; padding: 9px 13px; color: #1f2937; background: #fff; outline: none; }
.al-input:focus, .al-select:focus { border-color: var(--al-blue); box-shadow: 0 0 0 3px rgba(13,110,253,.1); }
.al-directory .al-filterbar .al-input:focus,
.al-directory .al-filterbar .al-select:focus { border-color: var(--al-blue) !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(13,110,253,.14) !important; }
.al-directory .al-filterbar .al-location-control:focus-within { color: var(--al-blue); }
.al-button { min-height: 42px; border-radius: 7px; border: 1px solid #cfd5dd; padding: 9px 16px; font-size: 14px; font-weight: 650; background: #fff; color: var(--al-navy); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; transition: .18s ease; }
.al-button:hover { border-color: var(--al-blue); color: var(--al-blue); }
.al-button--primary { background: var(--al-blue); border-color: var(--al-blue); color: #fff; }
.al-button--primary:hover { background: #0b5ed7; color: #fff; }
.al-browse-wrap { padding-block: 30px; }
.al-browse { background: #fff; border: 1px solid var(--al-border); border-radius: 12px; padding: 22px 24px 25px; box-shadow: 0 4px 14px rgba(20,31,47,.06); }
.al-browse h2 { color: var(--al-navy); font-size: 21px; font-weight: 700; margin: 0 0 17px; }
.al-tabs { display: flex; border-bottom: 1px solid var(--al-border); margin-bottom: 22px; }
.al-tab { border: 0; border-bottom: 3px solid transparent; background: transparent; color: #4b5d73; padding: 11px 24px; margin-bottom: -1px; font-size: 18px; font-weight: 750; cursor: pointer; }
.al-tab:hover { color: var(--al-blue); background: #f7faff; }
.al-tab.is-active { color: var(--al-blue); border-bottom-color: var(--al-blue); background: #f5f9ff; }
.al-tab-panel[hidden] { display: none; }
.al-tab-panel strong { display: block; color: var(--al-navy); margin: 0 auto 15px; max-width: 1060px; }
.al-link-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px 34px; max-width: 1060px; margin-inline: auto; }
.al-link-grid a { color: var(--al-blue); font-size: 16px; font-weight: 650; line-height: 1.35; text-decoration: none; padding: 5px 6px; border-radius: 5px; }
.al-link-grid a:hover { text-decoration: none; background: #eaf3ff; }
.al-filterbar { position: sticky; top: 0; z-index: 90; height: 52px; border-bottom: 1px solid #e5e7eb; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.admin-bar .al-filterbar { top: 32px; }
.al-filterbar .al-wrap { height: 100%; display: flex; align-items: center; gap: 8px; }
.al-filter-controls { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.al-filter-controls::-webkit-scrollbar { display: none; }
.al-location-control { position: relative; flex: 0 0 176px; color: #9ca3af; }
.al-location-control svg { position: absolute; z-index: 1; left: 11px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.al-filterbar .al-input { width: 100%; min-height: 34px; padding: 6px 11px 6px 32px; border-color: #e5e7eb; font-size: 14px; }
.al-select { min-height: 34px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; color: #374151; padding: 6px 30px 6px 11px; outline: none; font-size: 14px; font-weight: 400; }
.al-check { min-height: 40px; border: 1px solid var(--al-border); border-radius: 8px; padding: 7px 11px; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; color: #344255; font-size: 14px; font-weight: 550; cursor: pointer; }
.al-check input { accent-color: var(--al-blue); }
.al-more-filters { min-height: 40px; white-space: nowrap; color: #344255; font-weight: 600; }
.al-filter-submit { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.al-sort { margin-left: auto; display: flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 13px; color: #697386; }
.al-results-wrap { padding-block: 29px 54px; }
.al-result-count { color: #657184; font-size: 14px; margin: 0 0 20px; }
.al-cards { display: grid; gap: 16px; }
.al-card { background: #fff; border: 1px solid #ced8e4; border-radius: 12px; overflow: hidden; box-shadow: 0 3px 12px rgba(22,47,78,.055); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.al-directory .al-card, .al-directory .al-card * { font-family: "Open Sans", sans-serif; }
.al-card:hover { transform: translateY(-2px); border-color: #b9d3fb; box-shadow: 0 12px 28px rgba(22,47,78,.11); }
.al-card.is-pro { border-color: #ead49a; box-shadow: 0 2px 8px rgba(117,82,9,.06); }
.al-card-inner { display: grid; grid-template-columns: 160px minmax(0,1fr) 200px; gap: 24px; padding: 24px; align-items: start; }
.al-card.is-pro .al-card-inner { grid-template-columns: 192px minmax(0,1fr) 200px; gap: 28px; padding: 28px; }
.al-photo-wrap { position: relative; min-width: 0; }
.al-photo { width: 100%; height: 176px; display: block; object-fit: cover; object-position: center top; border-radius: 8px; background: #eef1f4; }
.al-card.is-pro .al-photo { height: 224px; }
.al-pro { position: absolute; top: 8px; left: 8px; background: var(--al-blue); color: #fff; border-radius: 5px; padding: 4px 9px; font-size: 10px; line-height: 1.2; font-weight: 800; letter-spacing: .12em; box-shadow: 0 2px 7px rgba(0,0,0,.15); }
.al-directory .al-card h3 { margin: 0; font-family: "Open Sans", sans-serif; font-size: 26px; line-height: 1.38; font-weight: 700; }
.al-card h3 a { color: var(--al-link); text-decoration: none; }
.al-card h3 a:hover { text-decoration: underline; }
.al-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.al-verified { display: inline-flex; align-items: center; gap: 4px; color: var(--al-blue); font-size: 12px; font-weight: 650; white-space: nowrap; }
.al-rating-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin-top: 8px; font-size: 16px; }
.al-rating-summary { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border-radius: 7px; background: #f5f9ff; color: var(--al-navy); text-decoration: none; }
.al-rating-summary:hover { background: #f5f9ff; text-decoration: none; }
.al-rating-number { color: var(--al-navy); font-size: 18px; font-weight: 650; }
.al-stars { font-size: 18px; line-height: 1; letter-spacing: 1px; }
.al-stars-base { position: relative; display: inline-block; color: #d7dde5; white-space: nowrap; }
.al-stars-fill { position: absolute; inset: 0 auto 0 0; display: block; overflow: hidden; color: var(--al-star); white-space: nowrap; }
.al-review-count { color: #334155; font-size: 15px; font-weight: 500; }
.al-card-location { color: #536174; font-size: 15px; font-weight: 500; }
.al-rating-badge { display: inline-flex; align-items: center; min-height: 34px; padding: 4px 8px; border-radius: 7px; background: #f5f9ff; color: var(--al-navy); text-decoration: none; }
.al-rating-badge:hover { background: #f5f9ff; text-decoration: none; }
.al-rating-badge .wprevpro_badge { display: inline-flex !important; align-items: center !important; gap: 7px !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.al-rating-badge .wppro_badge1_DIV_stars { display: inline-flex !important; align-items: center !important; line-height: 1 !important; }
.al-rating-badge .svgicons { font-size: 17px !important; }
.al-rating-badge .wppro_badge1_DIV_12 { color: #334155 !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.25 !important; }
.al-rating-badge .wppro_badge1_SPAN_13 { color: var(--al-navy) !important; font-size: 17px !important; font-weight: 600 !important; }
.al-rating-badge .wppro_badge1_SPAN_15 { font-weight: 500 !important; }
.al-muted { color: var(--al-muted); }
.al-card-subtitle { color: var(--al-muted); font-size: 16px; line-height: 1.5; margin: 6px 0 0; }
.al-address-row { display: flex; align-items: flex-start; gap: 8px; margin-top: 8px; padding-bottom: 1px; }
.al-address-icon { flex: 0 0 auto; margin-top: 3px; }
.al-address { color: #29384a; font-size: 15px; font-weight: 600; line-height: 1.5; margin: 8px 0 0; }
.al-address-row .al-address { margin-top: 0; }
.al-contact-line { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; margin-top: 13px; }
.al-phone { color: var(--al-link); font-size: 16px; font-weight: 700; text-decoration: none; }
.al-phone:hover { text-decoration: underline; }
.al-mobile-phone { display: none; }
.al-consult { color: var(--al-navy); font-size: 14px; font-weight: 700; }
.al-summary { color: #27313d; font-size: 16px; font-style: normal; font-weight: 400; line-height: 1.5; margin: 13px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.al-readmore { color: var(--al-link); font-size: 14px; font-weight: 700; text-decoration: none; }
.al-readmore:hover { text-decoration: underline; }
.al-practice-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.al-practice-links a { padding: 6px 10px; border-radius: 6px; color: var(--al-link); font-size: 14px; font-weight: 650; background: #f5f8fc; text-decoration: none; }
.al-practice-links a:hover { background: #e7f1ff; }
.al-card-actions { display: grid; gap: 8px; }
.al-card-actions .al-button { width: 100%; min-height: 48px; padding: 11px 18px; font-size: 16px; font-weight: 700; }
.al-card-actions .al-button--phone { border-color: #b8cee8; color: #174f94; background: #f8fbff; }
.al-card-actions .al-button--phone:hover { border-color: var(--al-blue); color: var(--al-blue); background: #f1f7ff; }
.al-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 28px; }
.al-page { min-width: 42px; min-height: 42px; border: 1px solid var(--al-border); background: #fff; border-radius: 7px; color: var(--al-navy); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.al-page:hover { border-color: var(--al-blue); color: var(--al-blue); text-decoration: none; }
.al-page.is-current { background: var(--al-blue); border-color: var(--al-blue); color: #fff; }
.al-content { max-width: 900px; margin: 50px auto 0; color: #4d5968; font-size: 16px; line-height: 1.75; }
.al-content h2 { color: var(--al-navy); font-size: clamp(25px,3vw,32px); line-height: 1.25; margin-bottom: 17px; }
.al-content h3 { color: var(--al-navy); font-size: 22px; line-height: 1.35; margin: 30px 0 12px; }
.al-editorial-content { margin-top: 48px; }
.al-editorial-content > :first-child { margin-top: 0; }
.al-directory .al-editorial-content p,
.al-directory .al-editorial-content li { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; color: #4b5563 !important; font-size: 16px !important; font-weight: 400 !important; line-height: 28px !important; }
.al-directory .al-editorial-content p { margin: 0 0 20px; }
.al-directory .al-editorial-content ul { color: #4b5563; line-height: 28px; margin: 0 0 24px; padding-left: 24px; }
.al-directory .al-editorial-content li + li { margin-top: 7px; }
.al-editorial-faq { margin-top: 48px; }
.al-editorial-faq h2 { margin-bottom: 20px; }
.al-editorial-faq details { margin: 0 0 12px; padding: 0; overflow: hidden; background: #fff; border: 1px solid #d9e0e8; border-radius: 10px; box-shadow: 0 2px 8px rgba(10,35,66,.04); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.al-editorial-faq details:hover { border-color: #b9c8d9; box-shadow: 0 5px 15px rgba(10,35,66,.07); }
.al-editorial-faq details[open] { border-color: #a9c9ef; background: #fbfdff; box-shadow: 0 7px 20px rgba(13,110,253,.08); }
.al-directory .al-editorial-faq summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 62px; padding: 16px 54px 16px 20px; color: var(--al-navy); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-size: 17px; font-weight: 700 !important; line-height: 26px; cursor: pointer; list-style: none; }
.al-editorial-faq summary::-webkit-details-marker { display: none; }
.al-editorial-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; width: 24px; color: var(--al-blue); font-size: 25px; font-weight: 500; line-height: 24px; text-align: center; transform: translateY(-50%); }
.al-editorial-faq details[open] summary::after { content: "−"; }
.al-directory .al-editorial-faq details p { margin: 0; padding: 0 54px 20px 20px; color: #4b5563 !important; font-size: 16px !important; line-height: 28px !important; }
.al-editorial-meta { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--al-border); color: #687386; font-size: 13px; }
.al-editorial-sources { margin: 9px 0 0; padding-left: 20px; }
.al-national-content { padding-bottom: 58px; }
.al-national-content .al-content { margin-top: 10px; }
.al-empty { padding: 55px 20px; text-align: center; background: #fff; border: 1px solid var(--al-border); border-radius: 12px; }
.al-empty h2 { color: var(--al-navy); margin: 0 0 8px; }
.al-loading { opacity: .55; pointer-events: none; }

.al-drawer[hidden] { display: none; }
.al-drawer { position: fixed; inset: 0; z-index: 9999; }
.al-drawer-backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.52); width: 100%; }
.al-drawer-panel { position: absolute; right: 0; top: 0; bottom: 0; width: min(430px,100%); background: #fff; box-shadow: -12px 0 30px rgba(0,0,0,.18); display: flex; flex-direction: column; }
.al-drawer-head, .al-drawer-foot { display: flex; align-items: center; gap: 10px; padding: 17px 22px; border-bottom: 1px solid var(--al-border); }
.al-drawer-head h2 { margin: 0; color: var(--al-navy); font-size: 20px; flex: 1; }
.al-drawer-close { width: 42px; height: 42px; border: 0; background: #f3f5f7; border-radius: 7px; cursor: pointer; }
.al-drawer-body { padding: 22px; overflow-y: auto; flex: 1; }
.al-filter-group { margin-bottom: 25px; }
.al-filter-group { padding: 0; border: 0; }
.al-filter-group legend { width: 100%; color: var(--al-navy); font-size: 15px; font-weight: 750; margin: 0 0 11px; }
.al-filter-group label { min-height: 42px; display: flex; align-items: center; gap: 9px; font-size: 14px; }
.al-filter-group input { accent-color: var(--al-blue); }
.al-drawer-foot { border: 0; border-top: 1px solid var(--al-border); }
.al-drawer-foot .al-button { flex: 1; }
@media (min-width: 992px) {
  .al-directory-page.tax-location .al-directory,
  .al-directory-page.tax-listing-category .al-directory { padding-top: 71px; }
  .al-browse-head { display: flex; align-items: center; gap: 18px; border-bottom: 1px solid var(--al-border); margin-bottom: 22px; }
  .al-browse-head h2 { flex: 0 1 auto; margin: 0; padding-bottom: 10px; white-space: nowrap; }
  .al-browse-head .al-tabs { flex: 1 1 auto; border-bottom: 0; margin: 0; }
}

@media (max-width: 900px) {
  .al-link-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .al-card-inner, .al-card.is-pro .al-card-inner { grid-template-columns: 140px minmax(0,1fr) 138px; gap: 17px; padding: 20px; }
  .al-photo, .al-card.is-pro .al-photo { height: 174px; }
  .al-card-actions .al-button { padding-inline: 8px; font-size: 14px; }
}
@media (max-width: 700px) {
  .admin-bar .al-filterbar { top: 0; }
  .al-wrap { width: min(100% - 24px,1280px); }
  .al-hero .al-wrap { padding-block: 24px; }
  .al-browse { padding: 18px 15px; }
  .al-tab { padding-inline: 16px; }
  .al-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 14px; }
  .al-link-grid a { font-size: 15px; }
  .al-filterbar { height: 60px; }
  .al-filterbar .al-wrap { display: flex; gap: 6px; height: 100%; padding-block: 8px; }
  .al-filter-controls { display: flex; flex: 1 1 auto; gap: 6px; overflow: visible; }
  .al-filter-controls .al-check { display: none; }
  .al-location-control { flex: 1 1 130px; width: auto; min-width: 100px; }
  .al-filterbar .al-input { min-height: 42px; }
  .al-directory .al-filter-controls .al-rating-desktop { display: block !important; flex: 0 0 94px; width: 94px; min-height: 42px; padding: 7px 21px 7px 7px; font-size: 12px; }
  .al-sort { flex: 0 0 108px; width: 108px; margin: 0; }
  .al-sort span { display: none; }
  .al-sort .al-select { width: 100%; min-height: 42px; padding: 7px 20px 7px 7px; font-size: 12px; }
  .al-card-inner, .al-card.is-pro .al-card-inner { grid-template-columns: 104px minmax(0,1fr); gap: 0 14px; padding: 15px; }
  .al-photo-wrap { grid-column: 1; grid-row: 1 / span 3; }
  .al-photo, .al-card.is-pro .al-photo { height: 128px; }
  .al-card-copy { display: contents; }
  .al-title-row { grid-column: 2; grid-row: 1; align-self: start; gap: 5px; }
  .al-rating-row { grid-column: 2; grid-row: 2; align-self: end; margin-top: 6px; }
  .al-directory .al-card h3 { font-size: 19px; }
  .al-card-location, .al-summary, .al-readmore { display: none !important; }
  .al-directory .al-card .al-verified { display: inline-flex !important; align-items: center; color: var(--al-blue); font-size: 11px; font-weight: 700; line-height: 1.2; }
  .al-card-subtitle { grid-column: 2; grid-row: 3; align-self: end; display: -webkit-box; margin: 6px 0 0; overflow: hidden; color: #536174; font-size: 13px; font-weight: 600; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .al-rating-summary, .al-rating-badge { min-height: 0; padding: 0; border-radius: 0; background: transparent; }
  .al-rating-summary:hover, .al-rating-badge:hover { background: transparent; }
  .al-address-row { grid-column: 1 / -1; grid-row: 4; display: flex; margin-top: 15px; padding: 13px 0 1px; border-top: 1px solid #e5e9ef; background: transparent; }
  .al-address { min-width: 0; margin: 0; color: #334155; font-size: 14px; font-weight: 600; line-height: 1.5; }
  .al-contact-line { display: none; }
  .al-mobile-phone { grid-column: 1 / -1; grid-row: 5; display: flex; margin-top: 11px; }
  .al-phone { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 9px 14px; border: 1px solid #b8cee8; border-radius: 8px; background: #fff; text-align: center; }
  .al-card-actions { grid-column: 1 / -1; grid-row: 6; grid-template-columns: repeat(3,1fr); margin-top: 10px; }
  .al-card-actions .al-button--phone { display: none; }
  .al-card-actions .al-button { min-height: 42px; padding-inline: 5px; font-size: 12px; }
  .al-rating-row { font-size: 12px; }
  .al-phone { color: #174f94; font-size: 17px; }
  .al-practice-links { display: none; }
  .al-search-row { align-items: stretch; }
  .al-search-location .al-button { min-width: 82px; padding-inline: 15px; }
}
@media (max-width: 380px) {
  .al-filterbar .al-wrap, .al-filter-controls { gap: 5px; }
  .al-location-control { flex-basis: 96px; min-width: 82px; }
  .al-directory .al-filter-controls .al-rating-desktop { flex-basis: 88px; width: 88px; padding-left: 6px; font-size: 11px; }
  .al-sort { flex-basis: 96px; width: 96px; }
  .al-sort .al-select { padding-left: 6px; font-size: 11px; }
}
