/*
Theme Name: Lawyer Recruitment Pro
Theme URI: https://lawyer-recruitment.co.uk/
Author: Ten Percent Group
Description: A modern, accessible directory theme built for the Lawyer Recruitment Business Directory installation.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: lawyer-recruitment-pro
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --lr-navy: #102a43;
  --lr-navy-dark: #081c2c;
  --lr-teal: #2f6f68;
  --lr-teal-dark: #245750;
  --lr-gold: #c49a4a;
  --lr-gold-soft: #ead8b7;
  --lr-ink: #20313f;
  --lr-muted: #5d6b76;
  --lr-line: #d9e1e5;
  --lr-paper: #f8f6f1;
  --lr-white: #ffffff;
  --lr-shadow: 0 18px 50px rgba(16, 42, 67, 0.11);
  --lr-radius: 14px;
  --lr-width: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lr-ink);
  background: var(--lr-white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--lr-teal-dark); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { color: var(--lr-navy); }
button, input, select, textarea { font: inherit; }
input, select, textarea { max-width: 100%; }
h1, h2, h3, h4, h5, h6 {
  color: var(--lr-navy);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.18;
  margin: 0 0 0.65em;
}
h1 { font-size: clamp(2.35rem, 5vw, 4.6rem); letter-spacing: -0.035em; }
h2 { font-size: clamp(1.9rem, 3.5vw, 3.1rem); letter-spacing: -0.025em; }
h3 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
p, ul, ol { margin-top: 0; }
blockquote {
  border-left: 4px solid var(--lr-gold);
  color: var(--lr-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  margin: 2rem 0;
  padding: 0.35rem 0 0.35rem 1.5rem;
}
.lr-wrap { width: min(calc(100% - 40px), var(--lr-width)); margin-inline: auto; }
.lr-narrow { width: min(calc(100% - 40px), 820px); margin-inline: auto; }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}
.screen-reader-text:focus, .skip-link:focus {
  clip: auto !important; clip-path: none; height: auto; width: auto;
  background: var(--lr-white); color: var(--lr-navy); left: 1rem; top: 1rem;
  padding: 0.75rem 1rem; z-index: 99999;
}

/* Header */
.lr-group-bar { background: var(--lr-navy-dark); color: #d9e6ed; font-size: 0.79rem; letter-spacing: 0.01em; }
.lr-group-bar .lr-wrap { display: flex; justify-content: flex-end; align-items: center; gap: 0.85rem; min-height: 38px; }
.lr-group-bar span { opacity: 0.78; }
.lr-group-bar a { color: var(--lr-white); font-weight: 700; text-decoration: none; }
.lr-group-bar a:hover { color: var(--lr-gold-soft); }
.lr-group-divider { opacity: 0.35; }
.site-header { background: rgba(255,255,255,0.98); border-bottom: 1px solid var(--lr-line); position: sticky; top: 0; z-index: 1000; }
.lr-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 92px; }
.custom-logo-link, .lr-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.custom-logo, .lr-brand img { display: block; height: auto; max-height: 64px; width: auto; max-width: min(360px, 48vw); }
.lr-nav-toggle { display: none; border: 1px solid var(--lr-line); border-radius: 8px; background: var(--lr-white); color: var(--lr-navy); padding: 0.6rem 0.75rem; }
.lr-nav-toggle-lines, .lr-nav-toggle-lines::before, .lr-nav-toggle-lines::after {
  background: currentColor; display: block; height: 2px; position: relative; width: 22px;
}
.lr-nav-toggle-lines::before, .lr-nav-toggle-lines::after { content: ""; position: absolute; left: 0; }
.lr-nav-toggle-lines::before { top: -7px; }
.lr-nav-toggle-lines::after { top: 7px; }
.lr-nav ul { display: flex; align-items: center; gap: 1.55rem; list-style: none; margin: 0; padding: 0; }
.lr-nav a { color: var(--lr-navy); font-size: 0.94rem; font-weight: 700; text-decoration: none; }
.lr-nav a:hover, .lr-nav .current-menu-item > a, .lr-nav .current_page_item > a { color: var(--lr-teal); }
.lr-nav li:last-child > a { background: var(--lr-teal); border-radius: 7px; color: var(--lr-white); padding: 0.7rem 1rem; }
.lr-nav li:last-child > a:hover { background: var(--lr-teal-dark); color: var(--lr-white); }

/* Shared components */
.lr-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.lr-section--paper { background: var(--lr-paper); }
.lr-section--navy { background: var(--lr-navy); color: #eaf0f3; }
.lr-section--navy h2, .lr-section--navy h3 { color: var(--lr-white); }
.lr-section-head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.4rem; }
.lr-section-head > div { max-width: 760px; }
.lr-eyebrow { color: var(--lr-teal); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.13em; margin-bottom: 0.85rem; text-transform: uppercase; }
.lr-section--navy .lr-eyebrow { color: var(--lr-gold-soft); }
.lr-lead { color: var(--lr-muted); font-size: clamp(1.08rem, 2vw, 1.3rem); max-width: 760px; }
.lr-section--navy .lr-lead { color: #cbd8de; }
.lr-button, input[type="submit"].lr-button, .wpbdp-button, .wpbdp-submit, .ninja-forms-field[type="submit"] {
  align-items: center; background: var(--lr-teal); border: 1px solid var(--lr-teal); border-radius: 7px;
  color: var(--lr-white) !important; cursor: pointer; display: inline-flex; font-size: 0.92rem;
  font-weight: 800; justify-content: center; min-height: 48px; padding: 0.72rem 1.15rem;
  text-decoration: none !important; transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.lr-button:hover, .wpbdp-button:hover, .wpbdp-submit:hover { background: var(--lr-teal-dark); border-color: var(--lr-teal-dark); color: var(--lr-white) !important; transform: translateY(-1px); }
.lr-button--gold { background: var(--lr-gold); border-color: var(--lr-gold); color: var(--lr-navy-dark) !important; }
.lr-button--gold:hover { background: #d2ab61; border-color: #d2ab61; color: var(--lr-navy-dark) !important; }
.lr-button--outline { background: transparent; border-color: rgba(255,255,255,.45); color: var(--lr-white) !important; }
.lr-button--outline:hover { background: var(--lr-white); border-color: var(--lr-white); color: var(--lr-navy) !important; }
.lr-text-link { font-size: .92rem; font-weight: 800; text-decoration: none; }
.lr-text-link::after { content: " →"; }
.lr-badge { background: #e1efec; border-radius: 999px; color: var(--lr-teal-dark); display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .06em; padding: .28rem .62rem; text-transform: uppercase; }

/* Home */
.lr-hero { background: var(--lr-navy); color: var(--lr-white); overflow: hidden; padding: clamp(4.2rem, 9vw, 8rem) 0; position: relative; }
.lr-hero::before { background: radial-gradient(circle, rgba(196,154,74,.18), transparent 64%); content: ""; height: 520px; position: absolute; right: -120px; top: -190px; width: 520px; }
.lr-hero::after { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; height: 420px; position: absolute; right: 5%; bottom: -300px; width: 420px; }
.lr-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.75fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; position: relative; z-index: 1; }
.lr-hero h1 { color: var(--lr-white); max-width: 830px; }
.lr-hero .lr-eyebrow { color: var(--lr-gold-soft); }
.lr-hero-copy > p { color: #d8e2e7; font-size: clamp(1.08rem, 2vw, 1.28rem); max-width: 760px; }
.lr-hero-points { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; list-style: none; margin: 1.6rem 0 0; padding: 0; }
.lr-hero-points li { color: #e8eff2; font-size: .88rem; font-weight: 700; }
.lr-hero-points li::before { color: var(--lr-gold); content: "✓"; margin-right: .45rem; }
.lr-search-panel { background: var(--lr-white); border-top: 4px solid var(--lr-gold); border-radius: var(--lr-radius); box-shadow: 0 30px 75px rgba(0,0,0,.24); color: var(--lr-ink); padding: clamp(1.5rem, 4vw, 2.4rem); }
.lr-search-panel h2 { font-size: 1.6rem; }
.lr-search-panel p { color: var(--lr-muted); font-size: .92rem; }
.lr-search-panel .wpbdp-search-form, .lr-search-panel form { display: grid; gap: .75rem; }
.lr-search-panel input[type="text"], .lr-search-panel input[type="search"], .lr-search-panel select {
  background: #fbfcfc; border: 1px solid #c9d4da; border-radius: 7px; color: var(--lr-ink); min-height: 52px; padding: .7rem .9rem; width: 100%;
}
.lr-search-panel input[type="submit"] { width: 100%; }
.lr-search-panel .wpbdp-search-form-wrapper, .lr-search-panel #wpbdp-search-form-wrapper { margin: 0; }
.lr-search-panel .wpbdp-main-box { background: transparent; border: 0; padding: 0; }
.lr-search-panel .wpbdp-main-box .box-row { display: block; }
.lr-search-panel .wpbdp-main-box .box-col { margin: 0 0 .75rem; width: 100%; }
.lr-stats { border-bottom: 1px solid var(--lr-line); }
.lr-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.lr-stat { border-right: 1px solid var(--lr-line); padding: 1.5rem 2rem; text-align: center; }
.lr-stat:last-child { border-right: 0; }
.lr-stat strong { color: var(--lr-navy); display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.8rem; }
.lr-stat span { color: var(--lr-muted); font-size: .82rem; font-weight: 700; }
.lr-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.lr-category-card { background: var(--lr-white); border: 1px solid var(--lr-line); border-radius: 10px; color: var(--lr-navy); display: flex; flex-direction: column; min-height: 150px; padding: 1.35rem; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.lr-category-card:hover { border-color: var(--lr-teal); box-shadow: var(--lr-shadow); color: var(--lr-navy); transform: translateY(-3px); }
.lr-category-icon { align-items: center; background: #e7f0ee; border-radius: 8px; color: var(--lr-teal); display: inline-flex; height: 38px; justify-content: center; margin-bottom: 1rem; width: 38px; }
.lr-category-card strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.25; }
.lr-category-card small { color: var(--lr-muted); margin-top: auto; padding-top: .75rem; }
.lr-featured-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
.lr-featured-card { background: var(--lr-white); border-radius: var(--lr-radius); box-shadow: var(--lr-shadow); color: var(--lr-ink); display: flex; flex-direction: column; padding: clamp(1.5rem, 4vw, 2.35rem); position: relative; }
.lr-featured-card::before { background: var(--lr-gold); border-radius: var(--lr-radius) var(--lr-radius) 0 0; content: ""; height: 4px; left: 0; position: absolute; right: 0; top: 0; }
.lr-featured-card .lr-badge { align-self: flex-start; margin-bottom: 1rem; }
.lr-featured-card p { color: var(--lr-muted); }
.lr-featured-card-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: auto; padding-top: .7rem; }
.lr-featured-card .lr-button--outline { border-color: var(--lr-teal); color: var(--lr-teal-dark) !important; }
.lr-featured-card .lr-button--outline:hover { background: var(--lr-teal); color: var(--lr-white) !important; }
.lr-featured-disclosure { color: #b8c9d1; font-size: .8rem; margin-top: 1.4rem; }
.lr-steps { counter-reset: steps; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; }
.lr-step { background: var(--lr-white); border: 1px solid var(--lr-line); border-radius: 10px; padding: 1.6rem; }
.lr-step::before { align-items: center; background: var(--lr-navy); border-radius: 50%; color: var(--lr-white); content: counter(steps); counter-increment: steps; display: flex; font-weight: 800; height: 38px; justify-content: center; margin-bottom: 1rem; width: 38px; }
.lr-step p { color: var(--lr-muted); font-size: .94rem; margin-bottom: 0; }
.lr-editorial { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 5.5rem); align-items: center; }
.lr-editorial-panel { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: var(--lr-radius); padding: 2rem; }
.lr-editorial-panel ul { list-style: none; margin: 0; padding: 0; }
.lr-editorial-panel li { border-bottom: 1px solid rgba(255,255,255,.12); padding: .85rem 0 .85rem 1.7rem; position: relative; }
.lr-editorial-panel li:last-child { border-bottom: 0; }
.lr-editorial-panel li::before { color: var(--lr-gold); content: "✓"; left: 0; position: absolute; }
.lr-cta { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: var(--lr-radius); display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: clamp(1.6rem, 4vw, 2.6rem); }
.lr-cta h2 { font-size: clamp(1.55rem, 3vw, 2.3rem); margin-bottom: .25rem; }
.lr-cta p { color: var(--lr-muted); margin-bottom: 0; }

/* Interior pages */
.lr-page-hero { background: var(--lr-paper); border-bottom: 1px solid var(--lr-line); padding: clamp(3.4rem, 7vw, 5.5rem) 0; }
.lr-page-hero h1 { font-size: clamp(2.25rem, 4.6vw, 3.9rem); max-width: 900px; }
.lr-page-hero p { color: var(--lr-muted); font-size: 1.1rem; max-width: 760px; }
.lr-content { padding: clamp(3rem, 7vw, 6rem) 0; }
.lr-content::after { clear: both; content: ""; display: table; }
.lr-content > *:first-child { margin-top: 0; }
.lr-content h2 { margin-top: 1.6em; }
.lr-content h3 { margin-top: 1.5em; }
.lr-content table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; width: 100%; }
.lr-content th, .lr-content td { border: 1px solid var(--lr-line); padding: .75rem; text-align: left; }
.lr-content th { background: var(--lr-paper); color: var(--lr-navy); }
.lr-post-meta { color: var(--lr-muted); font-size: .85rem; }
.lr-directory-toolbar { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: 12px; margin-bottom: 2rem; padding: 1.25rem; }
.lr-directory-form { display: grid; grid-template-columns: minmax(220px,1.4fr) minmax(190px,.8fr) auto; gap: .75rem; align-items: end; }
.lr-directory-field label { color: var(--lr-navy); display: block; font-size: .78rem; font-weight: 800; letter-spacing: .03em; margin-bottom: .35rem; text-transform: uppercase; }
.lr-directory-field input, .lr-directory-field select { background: var(--lr-white); border: 1px solid #bdcbd2; border-radius: 7px; min-height: 50px; padding: .65rem .8rem; width: 100%; }
.lr-directory-summary { color: var(--lr-muted); display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; }
.lr-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.15rem; }
.lr-agency-card { background: var(--lr-white); border: 1px solid var(--lr-line); border-radius: 12px; box-shadow: 0 8px 28px rgba(16,42,67,.07); display: flex; flex-direction: column; min-width: 0; padding: 1.4rem; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.lr-agency-card:hover { border-color: #a9c1bd; box-shadow: var(--lr-shadow); transform: translateY(-2px); }
.lr-agency-card h2 { font-size: 1.35rem; margin-bottom: .55rem; }
.lr-agency-card h2 a { color: var(--lr-navy); text-decoration: none; }
.lr-agency-card p { color: var(--lr-muted); font-size: .92rem; }
.lr-agency-card .lr-text-link { margin-top: auto; }
.lr-agency-terms { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.lr-agency-terms li { background: #e7f0ee; border-radius: 999px; color: var(--lr-teal-dark); font-size: .68rem; font-weight: 750; padding: .26rem .5rem; }
.lr-agency-details { border-top: 1px solid var(--lr-line); margin: .15rem 0 1rem; padding-top: .85rem; }
.lr-agency-details:empty { display: none; }
.lr-agency-details .wpbdp-field-display { display: grid; gap: .15rem; grid-template-columns: minmax(78px,.38fr) minmax(0,1fr); margin: 0 0 .55rem !important; }
.lr-agency-details .field-label { color: var(--lr-navy); font-size: .68rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.lr-agency-details .value, .lr-agency-details .field-value { color: var(--lr-muted); font-size: .78rem; min-width: 0; overflow-wrap: anywhere; }
.lr-agency-details a { font-weight: 700; }
.lr-post-list { display: grid; gap: 1.2rem; }
.lr-post-card { border: 1px solid var(--lr-line); border-radius: 10px; padding: 1.5rem; }
.lr-pagination { margin-top: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.page-numbers { border: 1px solid var(--lr-line); border-radius: 5px; display: inline-flex; min-width: 38px; padding: .4rem .65rem; justify-content: center; text-decoration: none; }
.page-numbers.current { background: var(--lr-navy); border-color: var(--lr-navy); color: var(--lr-white); }

/* Business Directory plugin */
.wpbdp-page { color: var(--lr-ink); }
.wpbdp-page .wpbdp-bar, .wpbdp-page .wpbdp-main-box { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: 10px; box-shadow: none; margin-bottom: 1.5rem; padding: 1rem; }
.wpbdp-page .wpbdp-bar .wpbdp-button, .wpbdp-page .wpbdp-bar a { margin: .25rem; }
.wpbdp-listing, .wpbdp-listing-excerpt {
  background: var(--lr-white) !important; border: 1px solid var(--lr-line) !important; border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(16,42,67,.07); margin: 0 0 1.25rem !important; overflow: hidden; padding: 1.5rem !important;
}
.wpbdp-listing-excerpt:hover { border-color: #a9c1bd !important; box-shadow: var(--lr-shadow); }
.wpbdp-listing .listing-title, .wpbdp-listing .listing-title h2, .wpbdp-listing .listing-title h3,
.wpbdp-listing-excerpt .listing-title, .wpbdp-listing-excerpt .listing-title h2, .wpbdp-listing-excerpt .listing-title h3 { color: var(--lr-navy) !important; font-family: Georgia, "Times New Roman", serif; }
.wpbdp-listing .listing-title a, .wpbdp-listing-excerpt .listing-title a { color: var(--lr-navy) !important; text-decoration: none; }
.wpbdp-listing-excerpt .wpbdp-field-full-description .value, .wpbdp-listing-excerpt .field-value:has(.wpbdp-field-full-description) {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
}
.wpbdp-field-display { margin-bottom: .65rem !important; }
.wpbdp-field-display .field-label { color: var(--lr-navy); font-size: .78rem; font-weight: 800 !important; letter-spacing: .03em; text-transform: uppercase; }
.wpbdp-listing .listing-thumbnail { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: 8px; padding: .5rem; }
.wpbdp-listing .listing-actions { border-top: 1px solid var(--lr-line); margin-top: 1rem; padding-top: 1rem; }
/* Keep public agency profiles content-led: owners still manage listings in WordPress. */
.wpbdp-view-show_listing .wpbdp-listing .listing-actions,
.single-wpbdp_listing .wpbdp-listing .listing-actions,
.wpbdp-listing-single .listing-actions,
.lr-agency-card .listing-actions {
  display: none !important;
}
.wpbdp-view-show_listing .wpbdp-field-types-of-work > .field-label,
.wpbdp-view-show_listing .wpbdp-field-full-description > .field-label,
.single-wpbdp_listing .wpbdp-field-types-of-work > .field-label,
.single-wpbdp_listing .wpbdp-field-full-description > .field-label,
.wpbdp-listing-single .wpbdp-field-types-of-work > .field-label,
.wpbdp-listing-single .wpbdp-field-full-description > .field-label {
  display: none !important;
}
.wpbdp-categories { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; list-style: none !important; margin: 0 0 2rem !important; padding: 0 !important; }
.wpbdp-categories > li { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: 8px; margin: 0 !important; padding: .8rem 1rem !important; }
.wpbdp-categories a { color: var(--lr-navy); font-weight: 750; text-decoration: none; }
#wpbdp-search-form-wrapper { background: var(--lr-paper); border: 1px solid var(--lr-line); border-radius: 12px; padding: 1.4rem; }
#wpbdp-search-form .wpbdp-form-field { margin-bottom: 1rem; }
#wpbdp-search-form label { color: var(--lr-navy); display: block; font-size: .86rem; font-weight: 800; margin-bottom: .35rem; }
#wpbdp-search-form input[type="text"], #wpbdp-search-form input[type="email"], #wpbdp-search-form select, #wpbdp-search-form textarea {
  background: var(--lr-white); border: 1px solid #bdcbd2; border-radius: 7px; min-height: 48px; padding: .65rem .8rem; width: 100%;
}
.wpbdp-pagination { margin: 2rem 0; }
.wpbdp-msg { border-radius: 8px; padding: 1rem !important; }

/* Forms */
.nf-form-content input:not([type="button"]):not([type="submit"]), .nf-form-content textarea, .nf-form-content select,
.wpforms-container input:not([type="submit"]), .wpforms-container textarea, .wpforms-container select {
  background: var(--lr-white) !important; border: 1px solid #bdcbd2 !important; border-radius: 7px !important; color: var(--lr-ink) !important; min-height: 48px; padding: .65rem .8rem !important;
}
.nf-form-content label, .wpforms-container label { color: var(--lr-navy); font-weight: 800 !important; }

/* Footer */
.site-footer { background: var(--lr-navy-dark); color: #c9d6dc; }
.lr-footer-main { display: grid; grid-template-columns: 1.3fr repeat(3, .8fr); gap: 3rem; padding: 4.2rem 0 3rem; }
.lr-footer-brand img { filter: brightness(0) invert(1); height: auto; max-width: 290px; opacity: .96; }
.lr-footer-brand p { font-size: .9rem; margin-top: 1.2rem; max-width: 410px; }
.site-footer h2 { color: var(--lr-white); font-family: inherit; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: .55rem; }
.site-footer a { color: #dce6ea; font-size: .9rem; text-decoration: none; }
.site-footer a:hover { color: var(--lr-gold-soft); }
.lr-footer-disclosure { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; font-size: .79rem; margin-top: 1.25rem; padding: .9rem; }
.lr-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 1rem; padding: 1.35rem 0 2rem; }
.lr-footer-bottom p { font-size: .78rem; margin: 0; }

@media (max-width: 980px) {
  .lr-nav-toggle { display: inline-flex; }
  .lr-nav { background: var(--lr-white); border-top: 1px solid var(--lr-line); display: none; left: 0; max-height: calc(100vh - 92px); overflow-y: auto; padding: 1.25rem 20px 2rem; position: absolute; right: 0; top: 100%; }
  .lr-nav.is-open { display: block; }
  .lr-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .lr-nav li { border-bottom: 1px solid var(--lr-line); }
  .lr-nav a { display: block; padding: .8rem 0; }
  .lr-nav li:last-child { border-bottom: 0; padding-top: .7rem; }
  .lr-nav li:last-child > a { text-align: center; }
  .lr-hero-grid, .lr-editorial { grid-template-columns: 1fr; }
  .lr-directory-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lr-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .lr-footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
  .lr-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  .lr-wrap, .lr-narrow { width: min(calc(100% - 28px), var(--lr-width)); }
  .lr-group-bar .lr-wrap { justify-content: center; min-height: 44px; }
  .lr-group-bar span, .lr-group-divider { display: none; }
  .lr-header-inner { min-height: 78px; }
  .custom-logo, .lr-brand img { max-height: 48px; max-width: min(270px, 70vw); }
  .lr-hero { padding-top: 3.5rem; }
  .lr-hero-grid { gap: 2.2rem; }
  .lr-search-panel { padding: 1.25rem; }
  .lr-stats-grid { grid-template-columns: 1fr; }
  .lr-stat { border-bottom: 1px solid var(--lr-line); border-right: 0; }
  .lr-stat:last-child { border-bottom: 0; }
  .lr-category-grid, .wpbdp-categories { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .lr-featured-grid, .lr-steps { grid-template-columns: 1fr; }
  .lr-directory-form { grid-template-columns: 1fr; }
  .lr-directory-form .lr-button { width: 100%; }
  .lr-section-head, .lr-cta, .lr-footer-bottom { align-items: flex-start; flex-direction: column; }
  .lr-footer-main { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 440px) {
  .lr-category-grid, .wpbdp-categories { grid-template-columns: 1fr !important; }
  .lr-directory-grid { grid-template-columns: 1fr; }
  .lr-footer-main { grid-template-columns: 1fr; }
  .lr-featured-card-actions { flex-direction: column; }
  .lr-featured-card-actions .lr-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
