/*
Theme Name:     wpnm
Theme URI:      https://www.wpnearme.com/
Description:    WP Near Me WP-Theme
Version:        2.0
Author:         CHRS Interactive
Author URI:	    https://www.chrsinteractive.com/
Text Domain:    wpnm
Requires at least: 6.3
Requires PHP:   7.4
*/


/* ---------------------------- */

/* -- @MASTERHEAD/NAVIGATION -- */
body.overflow-hidden {overflow:hidden;}

.site-header {width:100%; position:sticky; top:0; left:0; padding:20px 0; z-index:99; background:var(--color-white); border-bottom:1px solid var(--color-line); transition:box-shadow .2s ease;}
.site-header.sticky {box-shadow:var(--shadow-sm);}
.header-row {display:flex; align-items:center; justify-content:space-between; gap:20px; height:30px;}
.header-left {display:flex; align-items:center; gap:40px;}

.logo {display:block; flex:none;}
.logo img {display:block; width:auto; height:30px;}

.header-actions {display:none; align-items:center; gap:15px;}
.header-link {color:var(--color-muted);}
.header-link:hover {color:var(--color-accent);}

/* Main Menu */
.mainNav-wrap {display:none;}
.mainNav {display:flex; align-items:center; gap:30px;}
.mainNav > li {position:relative; display:flex; align-items:center;}
.mainNav li a {color:var(--color-muted);}
.mainNav li a:hover,
.mainNav > li.current-menu-item > a,
.mainNav > li.current-menu-parent > a,
.mainNav > li.current-menu-ancestor > a,
.mainNav > li.current-page-ancestor > a {color:var(--color-accent);}
.mainNav .submenu-toggle {width:20px; height:20px; margin-left:0; color:var(--color-subtle);}

/* Level 2 */
.mainNav li ul {display:none; position:absolute; top:100%; left:-15px; min-width:240px; margin-top:10px; padding:10px; z-index:99; background:var(--color-white); border:1px solid var(--color-line); border-radius:var(--radius-md); box-shadow:var(--shadow);}
.mainNav li ul::before {content:''; position:absolute; top:-15px; left:0; width:100%; height:15px;}
.mainNav li:hover > ul,
.mainNav li.submenu-open > ul {display:block;}
.mainNav li ul li {display:block; position:relative;}
.mainNav li ul li a {display:block; padding:10px; border-radius:var(--radius-sm); color:var(--color-text);}
.mainNav li ul li a:hover,
.mainNav li ul li.current-menu-item > a {color:var(--color-primary); background:var(--color-accent-wash);}

/* Responsive Menu */
.mobile-nav-trigger-outter {width:30px; height:30px; z-index:99;}
.mobile-nav-trigger {display:block; position:relative; width:30px; height:30px; padding:0; border:0; background:none; cursor:pointer;}
.mobile-nav-trigger .cd-menu-icon {display:block; position:relative; margin-top:15px; margin-left:15px; width:25px; height:2px; transform:translateX(-50%) translateY(-50%); transition:background-color 0.3s;}
.mobile-nav-trigger .cd-menu-icon::before,
.mobile-nav-trigger .cd-menu-icon::after {content:''; position:absolute; top:0; left:0; width:100%; height:100%; z-index:9; transition:transform 0.3s, top 0.3s, background-color 0s;}
.mobile-nav-trigger .cd-menu-icon::before {top:-8px;}
.mobile-nav-trigger .cd-menu-icon::after {top:8px;}
.mobile-nav-trigger .cd-menu-icon.is-clicked::before {top:0; transform:rotate(135deg);}
.mobile-nav-trigger .cd-menu-icon.is-clicked::after {top:0; transform:rotate(225deg);}
.mobile-nav-trigger .cd-menu-icon.is-clicked {background:none !important;}
.mobile-nav-trigger .cd-menu-icon,
.mobile-nav-trigger .cd-menu-icon::before,
.mobile-nav-trigger .cd-menu-icon::after,
.mobile-nav-trigger .cd-menu-icon.is-clicked::before,
.mobile-nav-trigger .cd-menu-icon.is-clicked::after {background:var(--color-primary);}

.mobile-nav {position:fixed; visibility:hidden; opacity:0; left:0; top:71px; height:calc(100% - 71px); width:100%; background:var(--color-white); z-index:98; transition:all 0.3s ease; overflow-y:auto;}
.mobile-nav.is-visible {visibility:visible; opacity:1;}
.mobile-nav-inner {padding-top:20px; padding-bottom:40px;}

.mobileNav > li {display:block; border-bottom:1px solid var(--color-line);}
.mobileNav li a {display:inline-block; padding:15px 0; color:var(--color-ink);}
.mobileNav li a:hover,
.mobileNav li.current-menu-item > a {color:var(--color-accent);}
.mobileNav li ul {display:none; padding:0 0 15px 15px;}
.mobileNav li ul li a {padding:10px 0; color:var(--color-muted);}
.mobileNav li.submenu-open > ul {display:block;}
.mobileNav .submenu-toggle {float:right; width:30px; height:30px; margin:15px 0 0; color:var(--color-subtle);}
.mobile-nav-actions {display:flex; flex-direction:column; gap:10px; margin-top:30px;}

/* Submenu toggles (injected by mobilenav.js) */
.submenu-toggle {display:inline-block; position:relative; width:25px; height:25px; margin-left:5px; padding:0; border:0; background:none; color:inherit; cursor:pointer; vertical-align:middle;}
.submenu-toggle::before {content:''; position:absolute; top:50%; left:50%; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translate(-50%, -75%) rotate(45deg); transition:transform 0.3s;}
.submenu-toggle[aria-expanded="true"]::before {transform:translate(-50%, -25%) rotate(225deg);}

.post-edit-link {display:block; position:fixed; top:50%; right:0; padding:10px; z-index:99999999; background:rgba(139,16,6,0.8); color:#fff; font:16px/1 Helvetica, Arial, serif; text-transform:uppercase; font-weight:600;}
.post-edit-link:hover {background:rgba(139,16,6,1); color:#fff;}

/* -- @CONTENT ---------------- */
.button-row {display:flex; flex-wrap:wrap; gap:10px;}


/* Shared components */
.section-head {display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:0 20px; margin-bottom:10px;}
.section-head p {margin:0;}

.tint-panel {display:flex; flex-direction:column; align-items:flex-start; padding:35px; border-radius:var(--radius-lg); background:var(--color-accent-tint);}
.tint-panel p {max-width:440px;}

.chip {display:inline-block; padding:5px 10px; border:1px solid var(--color-line); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-muted);}
.chip:hover {border-color:var(--color-accent); color:var(--color-accent);}
.chip-list {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px;}
.chip-link {padding:5px 10px;}
.chip-verified {display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:var(--radius-xs); background:var(--color-accent-tint); color:var(--color-accent); vertical-align:middle; white-space:nowrap;}
.chip-verified .icon {flex:none; width:15px; height:15px;}

/* Badge tooltips: hover or keyboard focus; text stays in the DOM for screen readers */
.has-tip {position:relative; cursor:help;}
a.has-tip {cursor:pointer;}
.has-tip .tip {position:absolute; bottom:calc(100% + 10px); left:50%; z-index:30; width:max-content; max-width:260px; padding:10px 12px; border-radius:var(--radius-sm); background:var(--color-ink); color:var(--color-white); box-shadow:var(--shadow-sm); font-size:1.1rem; font-weight:400; line-height:1.45; letter-spacing:normal; text-align:left; text-transform:none; white-space:normal; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,5px); transition:opacity .15s ease, transform .15s ease, visibility .15s;}
.has-tip .tip::after {content:''; position:absolute; top:100%; left:50%; border:6px solid transparent; border-top-color:var(--color-ink); transform:translateX(-50%);}
.has-tip:hover .tip,
.has-tip:focus .tip,
.has-tip:focus-visible .tip {opacity:1; visibility:visible; transform:translate(-50%,0);}
/* Spotlight clips overflow (rounded logo panel), so its name chips open the tooltip below */
.spotlight .has-tip .tip {top:calc(100% + 10px); bottom:auto; transform:translate(-50%,-5px);}
.spotlight .has-tip .tip::after {top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:var(--color-ink);}
.spotlight .has-tip:hover .tip,
.spotlight .has-tip:focus .tip,
.spotlight .has-tip:focus-visible .tip {transform:translate(-50%,0);}
.chip-vetted {background:var(--color-primary); color:var(--color-white);}
.chip-vetted:hover {background:var(--color-primary-hover); color:var(--color-white);}
.chip-spotlight {display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:var(--radius-pill); background:var(--color-coral); color:var(--color-white);}
.chip-spotlight .icon {width:15px; height:15px;}

.tag-list {display:flex; flex-wrap:wrap; gap:10px;}
.tag-list li {padding:5px 10px; border:1px solid var(--color-line-strong); border-radius:var(--radius-xs); color:var(--color-text);}

.check-list {display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; color:var(--color-muted);}
.check-list li {display:flex; align-items:center; gap:5px;}
.check-list .icon {color:var(--color-available);}

.meta-list {display:flex; flex-wrap:wrap; gap:5px 15px; color:var(--color-muted);}
.meta-list li {display:flex; align-items:center; gap:5px;}
.meta-list .icon {color:var(--color-subtle);}
.meta-list .star,
.stars {color:var(--color-star);}
.meta-list .available {color:var(--color-available);}
.meta-list .available::before {content:'●';}

.arrow-links {display:grid; grid-template-columns:minmax(0,1fr); gap:0 30px; align-content:center;}
.arrow-links a {display:flex; justify-content:space-between; gap:10px; padding:15px 0; border-bottom:1px solid var(--color-accent-line); color:var(--color-ink);}
.arrow-links a:hover {color:var(--color-primary);}
.arrow-links a span {color:var(--color-accent); transition:var(--transition);}
.arrow-links a:hover span {transform:translateX(5px);}

/* Search form */
.search-form-main {display:flex; flex-direction:column; width:100%; max-width:760px; margin:0 auto; padding:5px; border:1px solid var(--color-line-strong); border-radius:var(--radius-md); background:var(--color-white); box-shadow:var(--shadow-sm); text-align:left;}
.search-field {position:relative; display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:10px; align-items:center; padding:10px 15px; border-bottom:1px solid var(--color-line);}
.search-field .icon {width:20px; height:20px; color:var(--color-subtle);}
.search-field select,
.search-field input[type="text"] {height:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;}
.search-field select:focus,
.search-field input[type="text"]:focus {box-shadow:none;}
.search-submit {margin-top:5px;}
.search-suggestions {position:absolute; top:calc(100% + 10px); left:0; right:0; z-index:20; padding:5px; background:var(--color-white); border:1px solid var(--color-line); border-radius:var(--radius-md); box-shadow:var(--shadow);}
.search-suggestions li {padding:10px 15px; border-radius:var(--radius); color:var(--color-ink); cursor:pointer;}
.search-suggestions li:hover,
.search-suggestions li.is-active {background:var(--color-accent-wash); color:var(--color-primary);}
.address-autocomplete {position:relative;}
.search-suggestions li[role="option"] {display:flex; align-items:center; gap:12px;}
.suggestion-pin {display:flex; flex:0 0 32px; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:var(--color-accent-wash); color:var(--color-primary);}
.suggestion-text {display:flex; flex-direction:column; gap:2px; min-width:0; line-height:1.3;}
.suggestion-main {font-size:1.5rem;}
.suggestion-secondary {color:var(--color-muted);}
.search-suggestions li.suggestion-footer {padding:8px 15px 5px; border-top:1px solid var(--color-line); border-radius:0; text-align:right; color:var(--color-muted); cursor:default;}
.search-suggestions li.suggestion-footer:hover {background:none; color:var(--color-muted);}
.address-autocomplete .search-suggestions {top:auto; margin-top:5px; position:absolute; left:0; right:0;}
.search-error {margin:10px 0 0; color:var(--color-error);}

/* Business card */
.business-card {display:flex; flex-wrap:wrap; align-items:flex-start; gap:15px 20px; padding:15px; scroll-margin:95px 0 20px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white); transition:var(--transition);}
.business-card:hover {border-color:var(--color-accent-line);}
.business-card.is-active {border-color:var(--color-accent); background:var(--color-accent-wash); box-shadow:var(--shadow-focus);}
.business-card-logo {position:relative; flex:none; width:70px; height:70px;}
.business-card-logo img {display:block; width:100%; height:100%; object-fit:contain; border:1px solid var(--color-line); border-radius:var(--radius);}
.pin-number {position:absolute; top:-5px; left:-5px; display:none; align-items:center; justify-content:center; width:20px; height:20px; border-radius:var(--radius-pill); background:var(--color-primary); color:var(--color-white);}
.business-card-body {display:flex; flex:1; flex-direction:column; gap:5px; min-width:0;}
.business-card-title {margin:0;}
.business-card-title a {color:var(--color-ink);}
.business-card-title a:hover {color:var(--color-accent);}
.business-card-chips {display:flex; flex-wrap:wrap; gap:5px;}
.business-card-excerpt {display:-webkit-box; margin:5px 0 0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3;}
.business-card-initial {display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-accent-wash); color:var(--color-primary);}
.business-card-badges {margin-top:10px;}
.business-card-tags {display:none; margin-top:10px;}
.business-card-tags a {color:inherit;}
.business-card-tags a:hover {color:var(--color-accent);}
.is-list .business-card-excerpt {display:block; overflow:visible;}
.is-list .business-card-tags {display:flex;}
.business-card-link {flex:none;}

/* Listing map */
.listing-map {display:none; overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.listing-map-canvas {width:100%; height:100%;}
.map-pin {display:flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; cursor:pointer; border:2px solid var(--color-white); border-radius:var(--radius-pill) var(--radius-pill) var(--radius-pill) 0; background:var(--color-primary); box-shadow:0 2px 5px rgba(0,0,0,.25); transform:rotate(-45deg);}
.map-pin span {transform:rotate(45deg); color:var(--color-white);}
.map-pin.is-highlight {background:var(--color-star);}
.map-pin:hover,
.map-pin.is-active {background:var(--color-accent);}

/* Breadcrumbs */
.breadcrumbs ol {display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:0; list-style:none; color:var(--color-subtle);}
.breadcrumbs li {display:flex; align-items:center; gap:5px; margin:0;}
.breadcrumbs .icon {width:15px; height:15px; color:var(--color-subtle);}
.breadcrumbs a {color:var(--color-muted);}
.breadcrumbs a:hover {color:var(--color-accent);}
.breadcrumbs [aria-current] {color:var(--color-ink);}

/* Badges */
.badge-list {display:flex; flex-wrap:wrap; gap:5px;}
.badge {display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:var(--radius-pill); background:var(--color-surface); color:var(--color-text);}
.badge .icon {width:15px; height:15px; color:var(--color-accent);}

/* Split section: heading left, content right (FAQs, SEO copy) */
.split-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:20px;}
.split-layout > h2 {margin:0;}

.faq-list {border-top:1px solid var(--color-line);}
.faq-item {border-bottom:1px solid var(--color-line);}
.faq-item summary {display:flex; align-items:center; justify-content:space-between; gap:25px; padding:20px 0; color:var(--color-ink); cursor:pointer; list-style:none;}
.faq-item summary::-webkit-details-marker {display:none;}
.faq-item summary:hover {color:var(--color-primary);}
.faq-toggle {display:flex; flex:none; align-items:center; justify-content:center; width:30px; height:30px; border-radius:var(--radius-pill); background:var(--color-accent-tint); color:var(--color-primary); transition:var(--transition);}
.faq-toggle .icon {width:15px; height:15px;}
.faq-toggle .faq-close,
.faq-item[open] .faq-open {display:none;}
.faq-item[open] .faq-close {display:block;}
.faq-item[open] .faq-toggle {background:var(--color-primary); color:var(--color-white);}
.faq-answer {max-width:680px; padding-bottom:20px;}
.faq-answer p:last-child {margin-bottom:0;}

.read-more-content {position:relative;}
.read-more.is-collapsed .read-more-content {max-height:300px; overflow:hidden; -webkit-mask-image:linear-gradient(to bottom, #000 60%, transparent); mask-image:linear-gradient(to bottom, #000 60%, transparent);}
.read-more-toggle {display:inline-flex; align-items:center; gap:5px; margin-top:15px; padding:0; border:0; background:none; color:var(--color-accent); cursor:pointer;}
.read-more-toggle:hover {color:var(--color-primary);}
.read-more-toggle .icon {width:15px; height:15px; transition:var(--transition);}
.read-more-toggle span:nth-child(2),
.read-more-toggle[aria-expanded="true"] span:first-child {display:none;}
.read-more-toggle[aria-expanded="true"] span:nth-child(2) {display:inline;}
.read-more-toggle[aria-expanded="true"] .icon {transform:rotate(180deg);}

/* Empty state */
.empty-state {display:flex; flex-direction:column; align-items:center; gap:10px; padding:50px 20px; border:1px dashed var(--color-line-strong); border-radius:var(--radius-lg); text-align:center;}
.empty-state > .icon {width:40px; height:40px; color:var(--color-subtle);}
.empty-state h2,
.empty-state p {margin:0;}
.empty-state .button-row {justify-content:center; margin-top:10px;}

/* -- @DIRECTORY (search results, service + location archives) -- */
.archive-hero {position:relative; overflow-x:clip; padding:30px 0 40px; border-bottom:1px solid var(--color-line); text-align:center;}
.archive-hero .container {z-index:1;}
.archive-hero .breadcrumbs ol {justify-content:center;}
.archive-hero-content {display:flex; flex-direction:column; align-items:center; gap:20px; min-width:0;}
.archive-hero-content h1 {margin:10px 0 0;}
.archive-hero-search {display:flex; flex-direction:column; gap:10px; width:100%; max-width:960px;}
.archive-hero-label {margin:0; color:var(--color-ink);}
.archive-hero-label-row {display:flex; align-items:baseline; justify-content:space-between; gap:10px;}
.archive-hero-label-row a {color:var(--color-muted);}
.archive-hero-label-row a:hover,
.archive-hero-label-row a.is-active {color:var(--color-primary);}
.search-form-main.is-location-only {max-width:620px;}

.city-tiles {display:grid; grid-template-columns:repeat(auto-fit, minmax(110px,1fr)); gap:10px; width:100%; max-width:960px;}
.city-tile {display:flex; flex-direction:column; gap:0; padding:10px 15px; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-white); color:var(--color-ink);}
.city-tile:hover {border-color:var(--color-accent); background:var(--color-accent-wash); color:var(--color-ink);}

.service-picks {display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); gap:10px;}
.service-pick {display:flex; align-items:center; gap:10px; height:100%; padding:10px 15px; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-white); color:var(--color-ink); box-sizing:border-box;}
.service-pick:hover {border-color:var(--color-accent); color:var(--color-ink);}
.service-pick.is-active {border-color:var(--color-accent); background:var(--color-accent-tint);}
.service-pick-icon img {display:block; width:35px; height:35px;}
.service-pick-text {display:flex; flex-direction:column; min-width:0; line-height:1.3; text-align:left;}
.nearby-list {justify-content:center; margin-top:5px;}
.nearby-label {display:flex; align-items:center; gap:5px; color:var(--color-subtle);}
.nearby-label .icon {width:15px; height:15px;}

.search-hero {padding:30px 0 40px; border-bottom:1px solid var(--color-line); text-align:center;}
.search-hero .breadcrumbs ol {justify-content:center;}
.search-hero h1 {margin:20px 0 15px;}
.search-hero .lead {margin:0 auto;}
.search-hero-form {margin-top:30px;}

.directory-bar {padding:15px 0; border-bottom:1px solid var(--color-line); background:rgba(255,255,255,.96);}
.directory-filters {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px;}
.filter-group {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.filter-group-end {gap:15px;}
.filter-clear {color:var(--color-muted);}
.directory-filters.is-live .filter-apply {display:none;}
.result-count {margin:0; color:var(--color-muted);}
.result-count strong {color:var(--color-ink);}

.pill-select {position:relative; display:inline-flex; align-items:center; margin:0; font-size:inherit; font-weight:inherit;}
.pill-select select {width:auto; height:40px; padding:0 35px 0 15px; font-size:inherit; border:1px solid var(--color-line-strong); border-radius:var(--radius-pill); color:var(--color-ink); -webkit-appearance:none; appearance:none; cursor:pointer;}
.pill-select select:hover {border-color:var(--color-accent);}
.pill-select .icon {position:absolute; right:12px; width:15px; height:15px; color:var(--color-muted); pointer-events:none;}
.pill-select.is-on select {border-color:var(--color-accent); background-color:var(--color-accent-tint); color:var(--color-primary);}
.sort-select {display:flex; align-items:center; gap:10px; margin:0; font-size:inherit; font-weight:inherit;}
.sort-select select {border-radius:var(--radius);}

.pill-toggle {position:relative; margin:0; font-size:inherit; font-weight:inherit;}
.pill-toggle input {position:absolute; opacity:0; width:1px; height:1px;}
.pill-toggle span {display:inline-flex; align-items:center; gap:5px; height:40px; padding:0 15px; border:1px solid var(--color-line-strong); border-radius:var(--radius-pill); color:var(--color-ink); cursor:pointer; box-sizing:border-box; transition:var(--transition);}
.pill-toggle .icon {width:15px; height:15px;}
.pill-toggle span:hover {border-color:var(--color-accent); color:var(--color-accent);}
.pill-toggle input:checked + span {border-color:var(--color-accent); background:var(--color-accent-tint); color:var(--color-primary);}
.pill-toggle input:focus-visible + span {box-shadow:var(--shadow-focus);}

.view-toggle {display:none; padding:3px; border:1px solid var(--color-line-strong); border-radius:var(--radius);}
.view-toggle button {display:flex; align-items:center; gap:5px; padding:5px 10px; border:0; border-radius:var(--radius-xs); background:transparent; color:var(--color-muted); font:inherit; cursor:pointer;}
.view-toggle .icon {width:15px; height:15px;}
.view-toggle button[aria-pressed="true"] {background:var(--color-primary); color:var(--color-white);}

.directory-results {padding-top:30px;}
.directory-results .spotlight {margin-bottom:30px;}
.directory-intro {margin-bottom:30px;}
.directory-intro p:last-child {margin-bottom:0;}
.directory-title {margin:0 0 15px;}
.directory-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:25px; align-items:start;}
.directory-list {display:flex; flex-direction:column; gap:10px;}
.directory-more {display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:25px;}
.directory-more p {margin:0;}
.directory-more-link .icon {width:15px; height:15px;}
.directory-more-link.is-loading {opacity:.6; pointer-events:none;}
.map-pin.is-hover {background:var(--color-coral); transform:rotate(-45deg) scale(1.2);}

/* Shared: icon buttons, dialogs, toast */
.icon-button {display:inline-flex; flex:none; align-items:center; justify-content:center; width:45px; height:45px; padding:0; border:1px solid var(--color-line-strong); border-radius:var(--radius); background:var(--color-white); color:var(--color-ink); cursor:pointer; transition:var(--transition);}
.icon-button:hover {border-color:var(--color-accent); color:var(--color-accent);}
.icon-button .icon {width:20px; height:20px;}
.shortlist-toggle .shortlist-on,
.shortlist-toggle.is-saved .shortlist-off {display:none;}
.shortlist-toggle.is-saved .shortlist-on {display:block;}
.shortlist-toggle.is-saved {border-color:var(--color-accent); background:var(--color-accent-tint); color:var(--color-primary);}

.modal {width:calc(100% - 40px); max-width:600px; max-height:calc(100vh - 40px); padding:30px; border:0; border-radius:var(--radius-lg); box-shadow:var(--shadow); box-sizing:border-box;}
.modal::backdrop,
.lightbox::backdrop {background:rgba(14,15,18,.6);}
.modal-head {display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:20px;}
.modal-head h2 {margin:0;}
.lightbox {max-width:min(1100px, calc(100% - 40px)); padding:0; border:0; background:transparent; overflow:visible;}
.lightbox .icon-button {position:absolute; top:-55px; right:0;}
.lightbox figure {margin:0;}
.lightbox img {display:block; max-width:100%; max-height:80vh; margin:0 auto; border-radius:var(--radius-md);}
.lightbox figcaption {margin-top:10px; color:var(--color-white); text-align:center;}
.lightbox .lightbox-nav {top:50%; transform:translateY(-50%);}
.lightbox .lightbox-nav[hidden] {display:none;}
.lightbox .lightbox-prev {right:auto; left:10px;}
.lightbox .lightbox-next {right:10px;}

.toast {position:fixed; left:50%; bottom:20px; z-index:1000; margin:0; padding:10px 20px; border-radius:var(--radius-pill); background:var(--color-ink); color:var(--color-white); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translate(-50%, 10px); transition:var(--transition);}
.toast.is-visible {opacity:1; visibility:visible; transform:translate(-50%, 0);}

/* -- @PROFILE (single business) -- */
.profile-head {padding-top:30px;}
.profile-head-row {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:25px 30px; margin-top:25px;}
.profile-identity {display:flex; align-items:flex-start; gap:20px; min-width:0;}
.profile-logo {flex:none; width:80px; height:80px;}
.profile-logo img {display:block; width:100%; height:100%; object-fit:contain; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.profile-logo-initial {display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:1px solid var(--color-line-strong); border-radius:var(--radius-md); background:var(--color-white); color:var(--color-ink);}
.profile-identity-text {display:flex; flex-direction:column; gap:10px; min-width:0;}
.profile-title {margin:0;}
.profile-chips {display:flex; flex-wrap:wrap; gap:5px; margin-top:10px;}
.profile-tagline {margin:0;}
.meta-list .rating strong {color:var(--color-ink);}
.profile-actions {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.profile-actions .button .icon,
.contact-card .button .icon {width:15px; height:15px;}
.profile-owner-note {margin:20px 0 0;}

.profile-tabs {margin-top:30px; background:rgba(255,255,255,.96);}
.profile-tabs-row {display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--color-line);}
.profile-tabs ul {display:flex; gap:5px; overflow-x:auto; scrollbar-width:none;}
.profile-tabs a {display:block; padding:15px; border-bottom:2px solid transparent; margin-bottom:-1px; color:var(--color-muted); white-space:nowrap;}
.profile-tabs a:hover {color:var(--color-primary);}
.profile-tabs a[aria-current] {border-bottom-color:var(--color-accent); color:var(--color-primary);}
.profile-tabs-note {display:none; align-items:center; gap:5px; margin:0; color:var(--color-muted);}
.profile-tabs-note .icon {width:15px; height:15px;}

.profile-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:50px; padding-top:40px;}
.profile-main {display:flex; flex-direction:column; gap:60px; min-width:0;}
.profile-section {display:flex; flex-direction:column; gap:20px; scroll-margin-top:150px;}
.profile-section > h2 {margin:0;}
.profile-section .entry > *:last-child {margin-bottom:0;}

.stat-strip {display:grid; grid-template-columns:repeat(auto-fit, minmax(130px,1fr)); overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.stat-strip li {display:flex; flex-direction:column; gap:5px; padding:20px; margin:0 -1px -1px 0; border-right:1px solid var(--color-line); border-bottom:1px solid var(--color-line);}
.stat-strip strong {color:var(--color-primary);}
.stat-strip span {display:flex; align-items:center; gap:5px;}
.stat-strip .icon {width:15px; height:15px; color:var(--color-accent);}

.video-lite {position:relative; overflow:hidden; aspect-ratio:16 / 9; border-radius:var(--radius-md); background:var(--color-primary);}
.video-lite img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.video-lite iframe {position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-lite-play {position:absolute; left:20px; bottom:20px; display:flex; align-items:center; gap:10px; padding:5px 20px 5px 5px; border:0; border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-ink); box-shadow:var(--shadow); cursor:pointer;}
.video-lite-icon {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-pill); background:var(--color-coral); color:var(--color-white);}
.video-lite-icon .icon {width:20px; height:20px;}

.profile-services {display:grid; grid-template-columns:repeat(auto-fill, minmax(190px,1fr)); gap:10px;}
.profile-services .service-tile-name {display:flex; align-items:center; justify-content:space-between; gap:10px;}
.profile-services .service-tile-name .icon {flex:none; width:15px; height:15px; color:var(--color-accent);}

.profile-reviews {display:grid; grid-template-columns:minmax(0,1fr); gap:25px; align-items:start;}
.rating-summary {display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:25px; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.rating-summary strong {line-height:1; color:var(--color-primary);}
.rating-summary .stars {letter-spacing:2px;}
.rating-summary a {display:inline-flex; align-items:center; gap:5px; margin-top:10px;}
.rating-summary a .icon {width:15px; height:15px;}
.review-stack {display:flex; flex-direction:column; gap:10px;}
.review-stack .review-card {padding:20px 25px;}
.review-stack .review-author {order:-1; padding-top:0; border-top:0;}
.review-stack .review-author .stars {margin-left:auto; letter-spacing:1px;}
.review-stack blockquote {margin:0;}
.review-stack .review-photo {display:flex; align-items:center; justify-content:center; color:var(--color-primary);}

.portfolio-grid {display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:15px;}
.portfolio-item {display:flex; flex-direction:column; gap:10px; color:var(--color-ink);}
.portfolio-thumb {display:block; overflow:hidden; aspect-ratio:4 / 3; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.portfolio-thumb img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.portfolio-item:hover {color:var(--color-accent);}
.portfolio-item:hover img {transform:scale(1.03);}

.profile-locations {display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.location-list li {border-bottom:1px solid var(--color-line);}
.location-list a {display:flex; align-items:center; gap:10px; padding:15px 20px; color:var(--color-ink);}
.location-list a:hover {background:var(--color-accent-wash); color:var(--color-ink);}
.location-list .icon {flex:none; width:20px; height:20px; color:var(--color-accent);}
.profile-address {display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:25px;}
.profile-address > .icon {width:24px; height:24px; color:var(--color-accent);}
.profile-address address {display:flex; flex-direction:column; gap:2px; font-style:normal;}
.map-pin-dot {display:block; width:8px; height:8px; border-radius:var(--radius-pill); background:var(--color-white);}
.location-number {display:flex; flex:none; align-items:center; justify-content:center; width:28px; height:28px; border-radius:var(--radius-pill); background:var(--color-primary); color:var(--color-white);}
.location-list a:hover .location-number {background:var(--color-coral);}
.location-list a > span {display:flex; flex-direction:column;}
.listing-map.listing-map-static {display:block; position:relative; top:auto; height:340px; border:0; border-radius:0;}

.profile-aside {display:flex; flex-direction:column; gap:15px;}
.contact-card {display:flex; flex-direction:column; gap:15px; padding:25px; border:1px solid var(--color-line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); scroll-margin-top:150px;}
.contact-card-title {margin:0;}
.contact-card-head {display:flex; align-items:center; justify-content:space-between; gap:10px;}
.open-status {display:flex; align-items:center; gap:5px; color:var(--color-coral);}
.open-status::before {content:''; width:8px; height:8px; border-radius:var(--radius-pill); background:currentColor;}
.open-status.is-open {color:var(--color-available);}
.quick-actions {display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px;}
.quick-actions a {display:flex; flex-direction:column; align-items:center; gap:5px; padding:10px 5px; border:1px solid var(--color-line); border-radius:var(--radius); color:var(--color-ink);}
.quick-actions a:hover {border-color:var(--color-accent); color:var(--color-accent);}
.quick-actions .icon {width:20px; height:20px; color:var(--color-accent);}
.contact-card-block {display:flex; flex-direction:column; gap:10px; padding-top:15px; border-top:1px solid var(--color-line-soft);}
.contact-card-row {flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between;}
.hours-list {display:flex; flex-direction:column; gap:5px; margin:0;}
.hours-list div {display:flex; justify-content:space-between; gap:10px;}
.hours-list dt,
.hours-list dd {margin:0;}
.hours-list dd {color:var(--color-muted); text-align:right;}
.hours-list .is-today dt,
.hours-list .is-today dd {color:var(--color-ink); font-weight:600;}
.claim-panel {gap:10px;}
.claim-panel p {margin:0;}
.claim-panel .button {margin-top:5px;}
.report-link {display:flex; align-items:center; align-self:center; gap:5px; color:var(--color-subtle);}
.report-link .icon {width:15px; height:15px;}

.similar-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.similar-card {display:flex; align-items:center; gap:15px; padding:20px; border:1px solid var(--color-line); border-radius:var(--radius-md); transition:var(--transition);}
.similar-card:hover {border-color:var(--color-accent-line);}
.similar-card-logo {flex:none; width:72px; height:72px;}
.similar-card-logo .business-card-initial {border-color:var(--color-line-strong); background:var(--color-white); color:var(--color-ink);}
.similar-card-logo img {display:block; width:100%; height:100%; object-fit:contain; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-white);}
.similar-card-body {display:flex; flex-direction:column; gap:5px; min-width:0;}
.similar-card-body h3 {margin:0;}
.similar-card-body h3 a {color:var(--color-ink);}
.similar-card-link {margin-top:5px;}

/* -- @PAGES (hero, services, locations) -- */
.page-hero {padding:40px 0 0;}
.page-hero-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:25px 65px; align-items:start;}
.page-hero-main {display:flex; flex-direction:column; gap:25px; min-width:0;}
.page-hero-main h1 {margin:0;}
.page-hero-content > *:last-child {margin-bottom:0;}
.page-hero-content p:last-child:not(:first-child) {color:var(--color-ink);}

.pill-list {display:flex; flex-wrap:wrap; gap:10px;}
.pill-list li {padding:5px 10px; border:1px solid var(--color-line-strong); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-text);}
.chip-icon {display:inline-flex; align-items:center; gap:5px;}
.chip-icon .icon {width:15px; height:15px;}

.task-band {padding-top:50px;}
.task-panel {flex-direction:row; flex-wrap:wrap; align-items:center; gap:15px 25px; padding:20px 25px;}
.task-title {display:flex; align-items:center; gap:10px; margin:0; color:var(--color-primary);}
.task-title .icon {width:20px; height:20px;}
.task-list {display:flex; flex-wrap:wrap; gap:10px;}
.task-chip {display:inline-block; padding:5px 15px; border:1px solid var(--color-accent-line); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-ink);}
.task-chip:hover {border-color:var(--color-accent); color:var(--color-primary);}
.task-chip.is-active {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}

.service-rows-section {padding-top:40px;}
.service-rows {margin:0; list-style:none; border-bottom:1px solid var(--color-line);}
.service-row {display:flex; flex-wrap:wrap; align-items:center; gap:25px 40px; margin:0; padding:35px 0; border-top:1px solid var(--color-line); scroll-margin-top:100px; transition:background .3s ease, padding .3s ease;}
.service-row.is-match {padding-left:25px; padding-right:25px; border-radius:var(--radius-md); background:var(--color-accent-wash);}
.service-row-num {flex:none; align-self:flex-start; width:45px; padding-top:10px; font-family:var(--font-mono); color:var(--color-accent);}
.service-row-body {display:flex; flex:1 1 360px; flex-direction:column; align-items:flex-start; gap:15px; min-width:0;}
.service-row-body p {max-width:540px; margin:0;}
.service-row-body .button {margin-top:5px;}
.service-row-body .button .icon {width:15px; height:15px;}
.service-row-title {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.service-row-title h2 {margin:0;}
.service-row-image {display:none; flex:0 1 340px; overflow:hidden; aspect-ratio:4 / 3; border-radius:var(--radius-md);}
.service-row-image img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.service-row-image:hover img {transform:scale(1.03);}

.city-band {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 25px; padding:25px 30px; border:1px solid var(--color-line); border-radius:var(--radius-lg);}
.city-band p {margin:0;}
.city-band .chip-list {justify-content:flex-start;}

.location-search {display:flex; flex-wrap:wrap; gap:10px; max-width:520px;}
.location-filter {display:flex; flex:1 1 260px; align-items:center; gap:10px; height:50px; margin:0; padding:0 15px; border:1px solid var(--color-line-strong); border-radius:var(--radius); background:var(--color-white); box-shadow:var(--shadow-sm); box-sizing:border-box;}
.location-filter .icon {width:20px; height:20px; color:var(--color-subtle);}
.location-filter input {height:auto; padding:0; border:0; background:transparent; box-shadow:none;}
.location-filter input:focus {box-shadow:none;}
.location-filter:focus-within {border-color:var(--color-accent); box-shadow:var(--shadow-focus);}
.location-search .button .icon {width:15px; height:15px;}

.city-cards {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:15px;}
.city-card {display:flex; flex-direction:column; gap:10px; color:var(--color-ink);}
.city-card-image {display:flex; align-items:center; justify-content:center; overflow:hidden; aspect-ratio:4 / 3; border-radius:var(--radius-md); background:var(--color-accent-tint); color:var(--color-accent);}
.city-card-image img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.city-card-image > .icon {width:40px; height:40px;}
.city-card-text {display:flex; align-items:center; justify-content:space-between; gap:10px;}
.city-card-text > span {display:flex; flex-direction:column;}
.city-card-text .icon {width:20px; height:20px; transition:var(--transition);}
.city-card:hover {color:var(--color-primary);}
.city-card:hover img {transform:scale(1.03);}
.city-card:hover .city-card-text .icon {transform:translateX(5px);}

.city-index {scroll-margin-top:80px;}
.city-index-head {display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:15px 25px; margin-bottom:25px;}
.city-index-head h2 {margin:0;}
.letter-filter {display:flex; flex-wrap:wrap; gap:5px;}
.letter-filter button {min-width:35px; height:35px; padding:0 10px; border:0; border-radius:var(--radius-sm); background:var(--color-surface); color:var(--color-muted); font:inherit; font-weight:600; cursor:pointer;}
.letter-filter button:hover {color:var(--color-primary);}
.letter-filter button[aria-pressed="true"] {background:var(--color-primary); color:var(--color-white);}
.city-index-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:start;}
.state-list {border-bottom:1px solid var(--color-line);}
.state-row {display:flex; flex-wrap:wrap; gap:10px 25px; margin:0; padding:20px 0; border-top:1px solid var(--color-line);}
.state-name {display:flex; flex:0 0 180px; flex-direction:column;}
.state-name a {color:var(--color-ink);}
.state-name a:hover {color:var(--color-accent);}
.state-cities {display:grid; flex:1 1 240px; grid-template-columns:repeat(auto-fill, minmax(140px,1fr)); gap:5px 10px;}
.state-cities li {margin:0;}
.state-cities a {display:inline-block; margin-left:-10px; padding:5px 10px; border-radius:var(--radius-sm);}
.state-cities a:hover {background:var(--color-coral-tint); color:var(--color-coral);}
.city-empty {margin-top:20px;}
.listing-map.city-map {display:block; position:relative; top:auto; height:420px;}

.split-head {display:flex; flex-direction:column; gap:15px;}
.split-head h2 {margin:0;}

/* Notice box (Pricing intro) */
.notice-box {display:flex; align-items:flex-start; gap:15px; margin-top:20px; padding:20px; border-radius:var(--radius-md); background:var(--color-accent-tint);}
.notice-box-icon {display:flex; flex:none; align-items:center; justify-content:center; width:35px; height:35px; border-radius:var(--radius); background:var(--color-white); color:var(--color-accent);}
.notice-box-icon .icon {width:20px; height:20px;}
.notice-box p {margin:0 0 5px;}
.notice-box p:last-child {margin:0;}
.notice-box strong {color:var(--color-primary);}

/* Plans */
.plans {display:flex; flex-direction:column; align-items:center; gap:30px;}
.plans-head {display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;}
.plans-head h2 {margin:0;}
.cycle-switch {display:flex; gap:5px; padding:5px; border-radius:var(--radius-pill); background:var(--color-surface);}
.cycle-switch button {display:flex; align-items:center; gap:5px; padding:5px 15px; border:0; border-radius:var(--radius-pill); background:transparent; color:var(--color-muted); font:inherit; cursor:pointer;}
.cycle-switch button[aria-pressed="true"] {background:var(--color-white); color:var(--color-ink); box-shadow:0 1px 3px rgba(14,15,18,.12);}
.cycle-save {padding:0 5px; border-radius:var(--radius-pill); background:var(--color-coral); color:var(--color-white);}
.plan-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:20px; width:100%; max-width:880px;}
.plan-card {position:relative; display:flex; flex-direction:column; gap:25px; padding:30px; border:1px solid var(--color-line); border-radius:var(--radius-xl);}
.plan-card-featured {border:2px solid var(--color-accent); background:var(--color-accent-wash); box-shadow:var(--shadow);}
.plan-card.is-current {border-color:var(--color-primary);}
.plan-flag {position:absolute; top:-15px; left:30px;}
.plan-price-block {display:flex; flex-direction:column; gap:10px;}
.plan-price-block h3,
.plan-price-block p,
.plan-text {margin:0;}
.plan-price {display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px;}
.plan-price strong {line-height:1; color:var(--color-primary);}
.plans[data-cycle="monthly"] [data-cycle-only="annual"] {display:none;}
.plan-features {display:flex; flex-direction:column; gap:10px; padding-top:20px; border-top:1px solid var(--color-line-soft);}
.plan-card-featured .plan-features {border-top-color:var(--color-accent-line);}
.plan-features li {display:flex; align-items:center; gap:10px; margin:0;}
.plan-features .icon {flex:none; width:15px; height:15px; color:var(--color-accent);}
.plan-features-lead strong {color:var(--color-primary);}
.compare-link {display:inline-flex; align-items:center; gap:5px; margin-top:30px;}
.compare-link .icon {width:15px; height:15px;}

.compare-section {scroll-margin-top:80px;}
.compare-section h2 {margin-bottom:30px;}
.compare-table {max-width:920px; margin:0 auto; overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-lg);}
.compare-table table {width:100%; border-collapse:collapse;}
.compare-table th,
.compare-table td {padding:15px; border-bottom:1px solid var(--color-line-soft); text-align:center; vertical-align:middle;}
.compare-table thead th {padding-top:20px; padding-bottom:20px;}
.compare-table thead th:first-child,
.compare-table tbody th {text-align:left;}
.compare-table tbody th {display:flex; flex-direction:column; gap:5px; padding-left:25px; font-weight:400;}
.compare-table td {width:90px; color:var(--color-primary);}
.compare-table .is-featured {background:var(--color-accent-wash);}
.compare-table thead .is-featured {background:var(--color-accent-tint); color:var(--color-accent);}
.compare-table .icon {width:20px; height:20px; vertical-align:middle;}
.compare-table .is-yes {color:var(--color-accent);}
.compare-table .is-no {color:#C9CACD;}
.compare-cta {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 25px; padding:20px 25px; background:var(--color-primary); color:var(--color-white);}
.compare-cta p {margin:0;}
.compare-cta strong {color:var(--color-white);}
.compare-cta .text-xs {color:var(--color-dark-text);}

/* Verification */
.criteria-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:50px; align-items:start;}
.criteria-nav {display:none; flex-direction:column; gap:15px;}
.criteria-toc {margin:0; list-style:none; border-left:1px solid var(--color-line);}
.criteria-toc li {margin:0;}
.criteria-toc a {display:flex; gap:10px; margin-left:-1px; padding:10px 15px; border-left:2px solid transparent; color:var(--color-muted);}
.criteria-toc a:hover,
.criteria-toc a[aria-current] {border-left-color:var(--color-accent); color:var(--color-primary);}
.criteria-num {padding-top:2px; font-family:var(--font-mono); font-weight:400; color:var(--color-accent);}
.plan-key {display:flex; flex-direction:column; gap:10px; padding:15px; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.plan-key p {margin:0;}
.plan-key ul {display:flex; flex-direction:column; gap:5px;}
.plan-key li {display:flex; align-items:center; gap:10px; margin:0;}
.plan-dot {width:10px; height:10px; border-radius:3px; background:var(--color-subtle);}
.plan-dot.plan-pro {background:var(--color-accent);}
.plan-dot.plan-elite {background:var(--color-coral);}
.criteria-main h2 {margin-bottom:25px;}
.criteria-list {margin:0; list-style:none; border-bottom:1px solid var(--color-line);}
.criterion {display:grid; grid-template-columns:50px minmax(0,1fr); gap:20px; margin:0; padding:30px 0; border-top:1px solid var(--color-line); scroll-margin-top:100px;}
.criterion-icon {display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:var(--radius); background:var(--color-accent-tint); color:var(--color-accent);}
.criterion-icon .icon {width:20px; height:20px;}
.criterion-body {display:flex; flex-direction:column; gap:10px;}
.criterion-body h3 {display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:0; color:var(--color-ink);}
.criterion-body p {max-width:680px; margin:0;}
.tier-list {display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:10px; max-width:680px; margin-top:5px;}
.tier {display:flex; flex-direction:column; gap:5px; margin:0; padding:15px; border:1px solid var(--color-line-strong); border-radius:var(--radius);}
.tier-pro {border-color:var(--color-accent-line); background:var(--color-accent-wash);}
.tier-pro .eyebrow {color:var(--color-accent);}
.tier-elite {border-color:#F0CFC5; background:#FDF5F2;}
.tier-elite .eyebrow {color:var(--color-coral);}
.closing-panel {gap:15px; margin-top:50px; padding:30px;}
.closing-panel h2 {margin:0;}
.closing-panel .entry {width:100%;}
.closing-panel .entry p {max-width:none;}
.closing-panel .entry p:last-child {margin-bottom:0;}
.closing-panel-foot {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 20px; width:100%; padding-top:20px; border-top:1px solid var(--color-accent-line);}
.closing-panel-foot .entry {flex:1 1 300px;}
.closing-panel-foot .button .icon {width:15px; height:15px;}

/* Content pages, HUB pages, blog */
.entry-narrow {max-width:800px;}
.toc-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:start;}
.toc {display:flex; flex-direction:column; gap:10px; padding:20px; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.toc-list {margin:0; list-style:none;}
.toc-list li {margin:0;}
.toc-list a {display:block; padding:5px 0; color:var(--color-muted);}
.toc-list a:hover {color:var(--color-accent);}
.entry h2[id],
.anchor-target {scroll-margin-top:100px;}
.content-cta {margin:0 0 30px; padding:20px 25px; border-radius:var(--radius-md); background:var(--color-accent-tint); color:var(--color-primary);}
.content-cta p:last-child {margin-bottom:0;}
.entry .city-cards {margin:0 0 30px; list-style:none;}
.entry .city-cards li {margin:0;}
.city-cards-content {grid-template-columns:repeat(auto-fill, minmax(180px,1fr));}

.contact-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:start;}
.form-card {padding:30px; border:1px solid var(--color-line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm);}

.post-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:50px 30px;}
.post-card {display:flex; flex-direction:column; gap:20px; min-width:0;}
.post-card-image {display:flex; align-items:center; justify-content:center; overflow:hidden; aspect-ratio:16 / 10; border-radius:var(--radius-md); background:var(--color-accent-wash); color:var(--color-accent);}
.post-card-image img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.post-card:hover .post-card-image img {transform:scale(1.03);}
.post-card-image > .icon {width:40px; height:40px;}
.post-card-body {display:flex; flex-direction:column; align-items:flex-start; gap:10px;}
.post-card-body p,
.post-card-title {margin:0;}
.post-card-title a {color:var(--color-primary);}
.post-card-title a:hover {color:var(--color-accent);}
.post-card-meta {display:flex; align-items:center; gap:8px;}
.post-card-meta .dot {width:3px; height:3px; border-radius:var(--radius-pill); background:var(--color-line-strong);}
.post-category {font-family:var(--font-mono); letter-spacing:.04em; text-transform:uppercase; color:var(--color-accent);}
.post-category:hover {color:var(--color-primary);}
.post-meta a {color:var(--color-accent);}
.pagination {margin-top:50px;}
.pagination .nav-links {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:5px;}
.pagination .page-numbers {display:inline-flex; align-items:center; justify-content:center; gap:5px; min-width:40px; height:40px; padding:0 10px; border:1px solid transparent; border-radius:var(--radius); color:var(--color-text); box-sizing:border-box;}
.pagination .page-numbers .icon {width:15px; height:15px;}
.pagination .prev,
.pagination .next {padding:0 15px; border-color:var(--color-line-strong); color:var(--color-ink);}
.pagination a.page-numbers:hover {border-color:var(--color-accent); background:var(--color-accent-wash); color:var(--color-accent);}
.pagination .page-numbers.current {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}
.pagination .page-numbers.dots {border-color:transparent; color:var(--color-subtle);}

/* Blog archive (design 10) */
.blog-hero {padding-top:40px;}
.blog-hero-inner {display:flex; flex-direction:column; gap:20px; max-width:820px;}
.blog-hero-inner h1,
.blog-hero-inner p {margin:0;}
.blog-cats {display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; padding-bottom:30px; border-bottom:1px solid var(--color-line);}
.blog-cat {display:inline-flex; align-items:center; gap:5px; padding:8px 15px; border:1px solid var(--color-line-strong); border-radius:var(--radius-pill); color:var(--color-ink); transition:var(--transition);}
.blog-cat .mono {opacity:.7;}
.blog-cat:hover {border-color:var(--color-accent); color:var(--color-ink);}
.blog-cat[aria-current] {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}
.blog-featured-band {padding-top:50px;}
.blog-featured {display:grid; grid-template-columns:minmax(0,1fr); gap:30px 55px; align-items:center;}
.blog-featured-image {display:block; overflow:hidden; aspect-ratio:16 / 10; border-radius:var(--radius-lg); background:var(--color-accent-wash);}
.blog-featured-image img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.blog-featured:hover .blog-featured-image img {transform:scale(1.03);}
.blog-featured-body {display:flex; flex-direction:column; align-items:flex-start; gap:15px;}
.blog-featured-body h2,
.blog-featured-body p {margin:0;}
.blog-featured-body h2 a {color:var(--color-primary);}
.blog-featured-body h2 a:hover {color:var(--color-accent);}
.blog-featured-tags {display:flex; flex-wrap:wrap; align-items:center; gap:10px;}
.blog-list-head {display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:15px; margin-bottom:30px;}
.blog-list-head h2 {margin:0; color:var(--color-ink);}
.post-byline {display:flex; align-items:center; gap:12px;}
.post-byline > span {display:flex; flex-direction:column; gap:2px;}
.author-avatar {display:block; flex:none; width:44px; height:44px; border-radius:var(--radius-pill); object-fit:cover;}

/* Blog post (design 11) */
.post-head {padding:40px 0;}
.post-head-inner {display:flex; flex-direction:column; gap:20px; max-width:960px;}
.post-head-inner h1,
.post-head-inner p {margin:0;}
.post-head-inner .lead {max-width:760px;}
.post-image {margin:0;}
.post-image img {display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; border-radius:var(--radius-lg);}
.post-layout {display:grid; grid-template-columns:minmax(0,680px); justify-content:center; gap:50px 70px; align-items:start;}
.post-toc {display:none;}
.post-toc p {margin:0 0 15px;}
.post-toc-list {margin:0; list-style:none; border-left:1px solid var(--color-line);}
.post-toc-list li {margin:0;}
.post-toc-list a {display:block; margin-left:-1px; padding:7px 0 7px 15px; border-left:2px solid transparent; line-height:1.4; color:var(--color-muted);}
.post-toc-list a:hover {color:var(--color-accent);}
.post-toc-list a[aria-current] {border-left-color:var(--color-accent); color:var(--color-primary); font-weight:600;}
.post-body {min-width:0;}
.post-content h2 {margin-top:45px; color:var(--color-primary);}
.post-content h2:first-child {margin-top:0;}
.post-content blockquote {margin:30px 0; padding:5px 0 5px 25px; border-left:3px solid var(--color-coral); color:var(--color-primary);}
.post-content blockquote p:last-child {margin-bottom:0;}
.post-content ul {margin-left:0; list-style:none;}
.post-content ul li {position:relative; padding-left:30px;}
.post-content ul li::before {content:''; position:absolute; top:.45em; left:3px; width:6px; height:11px; border:solid var(--color-accent); border-width:0 2px 2px 0; transform:rotate(45deg);}
.post-content img {height:auto; border-radius:var(--radius-md);}
.entry table {display:block; width:100%; margin:0 0 30px; overflow-x:auto; border-collapse:separate; border-spacing:0; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.entry th,
.entry td {padding:12px 15px; border-bottom:1px solid var(--color-line); text-align:left; vertical-align:top;}
.entry thead th {background:var(--color-accent-tint); color:var(--color-primary); font-weight:600;}
.entry tbody tr:nth-child(even) td {background:var(--color-accent-wash);}
.entry tbody tr:last-child td {border-bottom:0;}
.post-cta {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 25px; margin:30px 0; padding:30px; border-radius:var(--radius-lg); background:var(--color-accent-tint);}
.post-cta > div {max-width:380px;}
.post-cta p {margin:0;}
.post-cta-title {color:var(--color-primary);}
.post-cta .button {flex:none;}
.post-cta .button .icon {width:15px; height:15px;}
.post-tags {display:flex; flex-wrap:wrap; gap:10px; margin:40px 0 0; padding-top:25px; border-top:1px solid var(--color-line); list-style:none;}
.post-tags li {margin:0;}
.post-tags a {display:block; padding:5px 12px; border:1px solid var(--color-line-strong); border-radius:var(--radius-pill); color:var(--color-text);}
.post-tags a:hover {border-color:var(--color-accent); color:var(--color-accent);}
.author-box {display:flex; flex-wrap:wrap; align-items:flex-start; gap:20px; margin-top:40px; padding:30px; border:1px solid var(--color-line); border-radius:var(--radius-lg);}
.author-box p {margin:0;}
.author-box-body {display:flex; flex:1 1 280px; flex-direction:column; align-items:flex-start; gap:5px;}
.author-photo {flex:none; width:64px; height:64px; overflow:hidden; border-radius:var(--radius-pill);}
.author-photo img {display:block; width:100%; height:100%; object-fit:cover;}
.post-related > .container > .blog-list-head {padding-top:50px; border-top:1px solid var(--color-line);}

.not-found {text-align:center;}
.not-found h1 {margin:10px 0 15px;}
.not-found .lead {max-width:600px; margin:0 auto;}
.not-found-search {margin:30px 0 20px;}

/* -- @HOME ------------------- */
.home-hero {position:relative; overflow-x:clip; padding:60px 0 50px; text-align:center;}
.home-hero .container {z-index:1;}
.hero-grid {position:absolute; inset:0; width:100%; height:100%; pointer-events:none; -webkit-mask-image:linear-gradient(to bottom, #000 60%, transparent); mask-image:linear-gradient(to bottom, #000 60%, transparent);}
.home-hero h1 {max-width:860px; margin-left:auto; margin-right:auto;}
.home-hero .lead {max-width:600px; margin-left:auto; margin-right:auto;}
.home-hero-search {margin:30px 0 20px;}
.home-hero .chip-list {margin-top:20px;}

.trust-strip {border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line);}
.trust-list {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); max-width:1600px; margin:0 auto;}
.trust-list li {display:flex; align-items:center; justify-content:center; gap:10px; padding:20px; color:var(--color-ink); transition:var(--transition);}
.trust-list .icon {width:20px; height:20px; color:var(--color-accent); transition:var(--transition);}
.trust-list li:hover {color:var(--color-white); background:var(--color-accent);}
.trust-list li:hover .icon {color:var(--color-white);}

.audience-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.audience-grid .button {margin-top:5px;}

.service-tiles {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;}
.service-tile {display:flex; flex-direction:column; gap:25px; height:100%; padding:20px; border:1px solid var(--color-line); border-radius:var(--radius-md); color:var(--color-ink); box-sizing:border-box; transition:var(--transition);}
.service-tile:hover {border-color:var(--color-accent); background:var(--color-accent-wash); color:var(--color-ink); transform:translateY(-5px);}
.service-tile-icon img {display:block; width:65px; height:65px;}

.spotlight {display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-lg);}
.spotlight-logo {display:flex; align-items:center; justify-content:center; padding:30px; background:var(--color-surface);}
.spotlight-logo img {display:block; width:100%; max-width:200px; height:auto; aspect-ratio:1 / 1; object-fit:contain; border-radius:var(--radius-md);}
.spotlight-body {display:flex; flex-direction:column; gap:20px; padding:30px;}
.spotlight-body > * {margin:0;}
.spotlight-body .chip-spotlight {align-self:flex-start;}
.spotlight-heading {display:flex; flex-wrap:wrap; align-items:baseline; gap:10px;}
.spotlight-heading h3 {margin:0;}
.spotlight-heading a {color:var(--color-ink);}
.spotlight-heading a:hover {color:var(--color-accent);}
.spotlight-actions {margin-top:auto;}

.featured-layout {display:grid; grid-template-columns:minmax(0,1fr); gap:25px; align-items:start;}
.spotlight + .featured-layout {margin-top:25px;}
.card-stack {display:flex; flex-direction:column; gap:10px;}

.review-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.review-card {display:flex; flex-direction:column; gap:20px; margin:0; padding:30px; border:1px solid var(--color-line); border-radius:var(--radius-md);}
.review-card .stars {letter-spacing:2px;}
.review-card blockquote {flex:1;}
.review-card blockquote p {margin:0; color:var(--color-ink);}
.review-author {display:flex; align-items:center; gap:10px; padding-top:20px; border-top:1px solid var(--color-line-soft);}
.review-author > span:last-child {display:flex; flex-direction:column;}
.review-photo {flex:none; width:40px; height:40px; overflow:hidden; border-radius:var(--radius-pill); background:var(--color-accent-tint);}
.review-photo img {display:block; width:100%; height:100%; object-fit:cover;}

.best-panel {display:grid; grid-template-columns:minmax(0,1fr); gap:30px; align-items:stretch; padding:30px;}

.home-seo .entry ul {display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:0 0 30px; list-style:none;}
.home-seo .entry ul li {display:flex; flex-direction:column; gap:5px; margin:0; padding:15px 20px; border:1px solid var(--color-line); border-radius:var(--radius);}

.home-final .lead {margin-bottom:25px;}
.home-final .button-row {justify-content:center;}
.home-final-note {margin:15px 0 0;}

/* -- @FLOW (login, password, claim) -- */
.flow-head {margin:0 0 30px;}
.flow-head .lead {margin:0;}
.flow-card {margin:0 auto; padding:30px; border:1px solid var(--color-line); border-radius:var(--radius-xl); background:var(--color-white); box-shadow:var(--shadow-sm);}
.flow-card-narrow {max-width:440px;}
.flow-card .notice {margin-bottom:20px;}
.flow-foot {margin:25px 0 0; text-align:center;}
.flow-icon {display:inline-flex; align-items:center; justify-content:center; width:55px; height:55px; margin-bottom:20px; border-radius:var(--radius-pill); background:var(--color-accent-tint); color:var(--color-accent);}
.flow-icon .icon {width:25px; height:25px;}
.flow-icon.is-success {background:#E7F4EC; color:var(--color-available);}
.flow-icon.is-error {background:var(--color-coral-tint); color:var(--color-error);}
.flow-card .button .icon {width:15px; height:15px;}
.flow-card > p {margin-bottom:20px;}

.form-stack {display:flex; flex-direction:column; gap:20px;}
.form-row-split {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;}


/* -- @DASHBOARD (templates ported from the old theme; markup from wpnearme-core) -- */
.material-symbols-outlined {font-size:20px; line-height:1; vertical-align:middle;}

.dashboard-layout {display:flex; align-items:stretch; min-height:calc(100vh - 71px);}
.dashboard-sidebar {position:fixed; top:0; bottom:0; left:0; z-index:100; display:flex; flex-direction:column; width:280px; overflow-y:auto; border-right:1px solid var(--color-line); background:var(--color-white); transform:translateX(-100%); transition:transform .3s ease;}
.dashboard-sidebar.open {transform:translateX(0); box-shadow:var(--shadow);}
.dashboard-main {flex:1; min-width:0; padding:40px 20px 60px;}
.dashboard-overlay {display:none; position:fixed; inset:0; z-index:99; background:rgba(14,15,18,.5);}
.dashboard-overlay.open {display:block;}
.dashboard-mobile-toggle {position:fixed; right:20px; bottom:20px; z-index:101; display:flex; align-items:center; justify-content:center; width:55px; height:55px; padding:0; border:0; border-radius:var(--radius-pill); background:var(--color-primary); color:var(--color-white); box-shadow:var(--shadow); cursor:pointer;}

.dashboard-sidebar-header {padding:25px 20px; border-bottom:1px solid var(--color-line);}
.dashboard-business-info {display:flex; align-items:center; gap:10px;}
.dashboard-business-logo {display:flex; flex:none; align-items:center; justify-content:center; width:50px; height:50px; overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-surface); color:var(--color-muted);}
.dashboard-business-logo img {width:100%; height:100%; object-fit:contain;}
.dashboard-business-details {min-width:0;}
.dashboard-business-name {margin:0; overflow:hidden; color:var(--color-ink); white-space:nowrap; text-overflow:ellipsis;}
.dashboard-plan-badge {display:inline-block; margin-top:5px; padding:0 10px; border-radius:var(--radius-pill); text-transform:uppercase; letter-spacing:.04em;}
.dashboard-plan-badge.plan-free {background:var(--color-accent-tint); color:var(--color-muted);}
.dashboard-plan-badge.plan-pro {background:var(--color-coral); color:var(--color-white);}
.dashboard-add-business-link {color:var(--color-coral);}

.dashboard-nav-label {color:var(--color-primary); text-transform:uppercase; letter-spacing:.04em;}
.dashboard-nav-item .material-symbols-outlined {flex:none; width:24px; line-height:1;}
.dashboard-nav-list {flex:1; margin:0; padding:15px 10px; list-style:none;}
.dashboard-nav-item {margin:0 0 5px;}
.dashboard-nav-item a,
.dashboard-nav-item .disabled-link,
.dashboard-nav-item .locked-link,
.dashboard-nav-item .pending-locked-link {display:flex; align-items:center; gap:10px; padding:10px 15px; border-radius:var(--radius); color:var(--color-muted);}
.dashboard-nav-item a:hover {background:var(--color-accent-wash); color:var(--color-primary);}
.dashboard-nav-item .material-symbols-outlined {color:var(--color-subtle);}
.dashboard-nav-item.active a {background:var(--color-accent-tint); color:var(--color-primary);}
.dashboard-nav-item.active .material-symbols-outlined {color:var(--color-accent);}
.dashboard-nav-item.disabled .disabled-link {opacity:.5; cursor:not-allowed;}
.dashboard-nav-item.locked .locked-link {color:var(--color-subtle);}
.dashboard-nav-item.pending-locked .pending-locked-link {opacity:.7; cursor:not-allowed;}
.dashboard-nav-item .lock-icon {margin-left:auto;}
.dashboard-nav-item.pending-locked .lock-icon {color:var(--color-coral);}

.dashboard-sidebar-footer {margin-top:auto; padding:15px; border-top:1px solid var(--color-line);}
.dashboard-view-profile-btn,
.dashboard-logout-btn,
.dashboard-back-btn {display:flex; align-items:center; gap:10px; padding:10px 15px; border-radius:var(--radius);}
.dashboard-view-profile-btn {margin-bottom:5px; background:var(--color-accent-tint); color:var(--color-primary);}
.dashboard-view-profile-btn:hover {background:var(--color-accent-line); color:var(--color-primary);}
.dashboard-logout-btn {color:var(--color-coral);}
.dashboard-logout-btn:hover {background:var(--color-coral-tint); color:var(--color-coral);}

.dashboard-content {max-width:1000px; margin:0 auto;}
.dashboard-content.claim-pending form button[type="submit"],
.dashboard-content.claim-pending form input[type="submit"],
.dashboard-content.claim-pending .dashboard-save-btn {opacity:.5; pointer-events:none; cursor:not-allowed;}
.dashboard-content.claim-pending form input:not([type="hidden"]),
.dashboard-content.claim-pending form select,
.dashboard-content.claim-pending form textarea {opacity:.7; pointer-events:none;}
.dashboard-header,
.dashboard-content-header {margin-bottom:30px;}
.dashboard-greeting {margin:0 0 5px;}
.dashboard-greeting-subtitle {margin:0; color:var(--color-muted);}

.dashboard-alert {display:flex; flex-wrap:wrap; align-items:flex-start; gap:15px; margin-bottom:25px; padding:15px 20px; border-radius:var(--radius-md);}
.dashboard-alert-icon {flex:none;}
.dashboard-alert-content {flex:1 1 240px;}
.dashboard-alert-title {margin:0 0 5px;}
.dashboard-alert-message {margin:0;}
.dashboard-alert-action {flex:none;}
.dashboard-alert-btn {display:inline-flex; align-items:center; gap:5px; padding:10px 15px; border-radius:var(--radius);}
.dashboard-alert-upgrade {background:var(--color-primary); color:var(--color-white);}
.dashboard-alert-upgrade .dashboard-alert-btn {background:var(--color-white); color:var(--color-primary);}
.dashboard-alert-warning,
.dashboard-alert-error {background:var(--color-coral-tint); color:var(--color-ink);}
.dashboard-alert-warning .material-symbols-outlined,
.dashboard-alert-error .material-symbols-outlined {color:var(--color-coral);}
.dashboard-alert-warning .dashboard-alert-btn {background:var(--color-coral); color:var(--color-white);}
.dashboard-alert-success {background:#E7F4EC; color:var(--color-ink);}
.dashboard-alert-success .material-symbols-outlined {color:var(--color-available);}
.dashboard-alert-info {background:var(--color-accent-tint); color:var(--color-primary);}
.dashboard-alert-info .material-symbols-outlined {color:var(--color-accent);}

.dashboard-card {margin-bottom:25px; padding:25px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.dashboard-card-header {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--color-line-soft);}
.dashboard-card-title {display:flex; align-items:center; gap:10px; margin:0; color:var(--color-ink);}
.dashboard-card-title .material-symbols-outlined {color:var(--color-accent);}
.dashboard-card-action,
.profile-completion-next-btn,
.dashboard-invoice-link {display:inline-flex; align-items:center; gap:5px; color:var(--color-accent);}

.profile-completion-card {background:var(--color-accent-wash); border-color:var(--color-accent-line);}
.profile-completion-header {display:flex; align-items:center; justify-content:space-between; margin-bottom:15px;}
.profile-completion-title {margin:0;}
.profile-completion-percent {color:var(--color-primary);}
.profile-completion-bar {height:10px; margin-bottom:15px; overflow:hidden; border-radius:var(--radius-pill); background:var(--color-accent-line);}
.profile-completion-fill {height:100%; border-radius:var(--radius-pill); background:var(--color-accent); transition:width .5s ease;}
.profile-completion-next {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:15px; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-white);}
.profile-completion-next-text {color:var(--color-muted);}
.profile-completion-next-text strong {color:var(--color-ink);}

.dashboard-stats-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px; margin-bottom:25px;}
.dashboard-stat-card {display:flex; flex-direction:column; gap:10px; min-width:0; padding:20px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.dashboard-stat-label {display:flex; align-items:center; gap:8px; margin:0; font-size:1.6rem; line-height:1.3; color:var(--color-muted); white-space:nowrap;}
.dashboard-stat-label .material-symbols-outlined, .dashboard-stat-change .material-symbols-outlined {flex:none; font-size:20px;}
.dashboard-stat-value {margin:0; line-height:1; color:var(--color-primary);}
.dashboard-stat-change {display:flex; flex-wrap:wrap; align-items:center; gap:2px 6px; margin:0; font-size:1.6rem; line-height:1.3; color:var(--color-available);}
.dashboard-stat-change > span {white-space:nowrap;}
.dashboard-stat-change.negative {color:var(--color-error);}
.reports-stats-grid .dashboard-stat-change {color:var(--color-muted);}
.reports-stats-grid .dashboard-stat-change.positive {color:var(--color-available);}

.business-status-card {display:flex; align-items:center; gap:15px; margin-bottom:25px; padding:20px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.business-status-icon {display:flex; flex:none; align-items:center; justify-content:center; width:50px; height:50px; border-radius:var(--radius-pill); background:var(--color-surface); color:var(--color-muted);}
.business-status-icon.status-green {background:#E7F4EC; color:var(--color-available);}
.business-status-icon.status-yellow,
.business-status-icon.status-red {background:var(--color-coral-tint); color:var(--color-coral);}
.business-status-content {flex:1;}
.business-status-label {margin:0; color:var(--color-muted);}
.business-status-value {margin:5px 0 0; color:var(--color-ink);}

.dashboard-actions-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.dashboard-action-card {display:flex; flex-direction:column; align-items:center; padding:25px 15px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white); text-align:center; transition:var(--transition);}
.dashboard-action-card:hover {border-color:var(--color-accent); transform:translateY(-5px);}
.dashboard-action-icon {display:flex; align-items:center; justify-content:center; width:50px; height:50px; margin-bottom:10px; border-radius:var(--radius); background:var(--color-accent-tint); color:var(--color-accent);}
.dashboard-action-label {margin:0 0 5px; color:var(--color-ink);}
.dashboard-action-desc {margin:0; color:var(--color-muted);}

.dashboard-form-section {margin-bottom:30px;}
.dashboard-form-section-title {margin:0 0 20px; padding-bottom:10px; border-bottom:1px solid var(--color-line-soft);}
.dashboard-form-row {margin-bottom:20px;}
.dashboard-form-row:last-child {margin-bottom:0;}
.dashboard-form-row-grid,
.dashboard-form-row-grid-3 {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.dashboard-form-label {display:block; margin-bottom:10px; color:var(--color-ink);}
.dashboard-form-label .optional {margin-left:5px; color:var(--color-subtle);}
.dashboard-form-help {margin-top:5px; color:var(--color-subtle);}
.dashboard-form-textarea {min-height:120px; resize:vertical;}
.dashboard-form-char-count {margin-top:5px; color:var(--color-subtle); text-align:right;}
.dashboard-form-char-count.warning,
.dashboard-form-char-count.error,
.dashboard-form-error {color:var(--color-error);}

.dashboard-logo-upload {display:flex; flex-wrap:wrap; align-items:center; gap:25px;}
.dashboard-logo-preview {display:flex; flex:none; align-items:center; justify-content:center; width:95px; height:95px; overflow:hidden; border:2px dashed var(--color-line-strong); border-radius:var(--radius-md); background:var(--color-surface); color:var(--color-subtle);}
.dashboard-logo-preview img {width:100%; height:100%; object-fit:contain;}
.dashboard-logo-actions {flex:1;}
.dashboard-logo-upload-btn,
.dashboard-logo-remove-btn {display:inline-flex; align-items:center; gap:5px; padding:10px 15px; border:0; border-radius:var(--radius); font:inherit; cursor:pointer;}
.dashboard-logo-upload-btn {background:var(--color-primary); color:var(--color-white);}
.dashboard-logo-upload-btn:hover {background:var(--color-primary-hover);}
.dashboard-logo-remove-btn {margin-left:5px; background:transparent; color:var(--color-coral);}
.dashboard-logo-help {margin-top:10px; color:var(--color-subtle);}

.dashboard-form-actions {display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin-top:25px; padding-top:25px; border-top:1px solid var(--color-line);}
.dashboard-btn {display:inline-flex; align-items:center; justify-content:center; gap:10px; height:45px; padding:0 20px; border:0; border-radius:var(--radius); font:inherit; cursor:pointer; transition:var(--transition); box-sizing:border-box;}
.dashboard-btn:disabled {opacity:.5; cursor:not-allowed;}
.dashboard-btn-primary {background:var(--color-primary); color:var(--color-white);}
.dashboard-btn-primary:hover:not(:disabled) {background:var(--color-primary-hover); color:var(--color-white);}
.dashboard-btn-secondary,
.dashboard-btn-tertiary {background:var(--color-white); color:var(--color-ink); box-shadow:inset 0 0 0 1px var(--color-line-strong);}
.dashboard-btn-secondary:hover:not(:disabled),
.dashboard-btn-tertiary:hover:not(:disabled) {color:var(--color-accent); box-shadow:inset 0 0 0 1px var(--color-accent);}
.dashboard-btn-danger {background:var(--color-coral-tint); color:var(--color-error);}
.dashboard-btn-danger:hover:not(:disabled) {background:var(--color-error); color:var(--color-white);}

.dashboard-taxonomy-grid,
.dashboard-state-grid,
.dashboard-city-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:10px;}
.dashboard-taxonomy-item {display:flex; align-items:center; gap:10px; padding:15px; border:1px solid var(--color-line); border-radius:var(--radius); cursor:pointer; transition:var(--transition);}
.dashboard-taxonomy-item:hover {border-color:var(--color-accent-line); background:var(--color-accent-wash);}
.dashboard-taxonomy-item.selected {border-color:var(--color-accent); background:var(--color-accent-tint);}
.dashboard-taxonomy-item.disabled {opacity:.5; cursor:not-allowed;}
.dashboard-taxonomy-item label {flex:1; margin:0; color:var(--color-ink); cursor:pointer;}
.dashboard-taxonomy-counter {margin-bottom:10px; color:var(--color-muted);}
.dashboard-taxonomy-counter.limit-reached,
.dashboard-taxonomy-limit-message {color:var(--color-error);}
.dashboard-taxonomy-limit-message {margin-top:10px; padding:10px 15px; border-radius:var(--radius); background:var(--color-coral-tint);}
.dashboard-state-btn, .dashboard-city-btn {display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 15px; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-white); color:var(--color-ink); font:inherit; text-align:left; cursor:pointer; transition:var(--transition);}
.dashboard-state-btn .material-symbols-outlined, .dashboard-city-btn .material-symbols-outlined {flex:none; font-size:18px; color:var(--color-subtle);}
.dashboard-state-btn:hover, .dashboard-city-btn:hover:not(:disabled) {border-color:var(--color-accent); background:var(--color-accent-wash);}
.dashboard-state-btn.has-selected, .dashboard-city-btn.selected {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}
.dashboard-state-btn.has-selected .material-symbols-outlined, .dashboard-city-btn.selected .material-symbols-outlined {color:var(--color-white);}
.dashboard-city-btn:disabled {opacity:.5; cursor:not-allowed;}
.dashboard-selected-locations {display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;}
.dashboard-selected-location {display:inline-flex; align-items:center; gap:8px; padding:8px 10px 8px 12px; border-radius:var(--radius-pill); background:var(--color-primary); color:var(--color-white);}
.dashboard-selected-location .location-name {color:inherit;}
.dashboard-selected-location .material-symbols-outlined {font-size:18px;}
.dashboard-selected-location .remove-location {display:flex; opacity:.8;}
.dashboard-selected-location .remove-location:hover {opacity:1;}
.dashboard-no-locations, .dashboard-no-cities, .dashboard-taxonomy-empty {margin:0; color:var(--color-subtle);}
.dashboard-no-cities {padding:20px; text-align:center;}
.dashboard-location-selector {margin-top:20px;}
.dashboard-city-selector {padding:15px; border-radius:var(--radius-md); background:var(--color-surface);}
.dashboard-city-header {display:flex; align-items:center; gap:15px; margin-bottom:15px; padding-bottom:12px; border-bottom:1px solid var(--color-line);}
.dashboard-city-state-name {color:var(--color-ink);}
#services-grid {margin-bottom:20px;}
.remove-location,
.remove-portfolio-item {padding:0; border:0; background:none; color:inherit; cursor:pointer;}

.dashboard-portfolio-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:15px;}
.dashboard-portfolio-item {position:relative; overflow:hidden; aspect-ratio:4 / 3; border-radius:var(--radius-md); background:var(--color-surface);}
.dashboard-portfolio-item img {width:100%; height:100%; object-fit:cover;}
.dashboard-portfolio-item-overlay {position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; background:rgba(14,15,18,.5); opacity:0; transition:opacity .2s;}
.dashboard-portfolio-item:hover .dashboard-portfolio-item-overlay,
.dashboard-portfolio-item:focus-within .dashboard-portfolio-item-overlay {opacity:1;}
.dashboard-portfolio-item-btn {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; border-radius:var(--radius); background:var(--color-white); color:var(--color-ink); cursor:pointer;}
.dashboard-portfolio-add {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; aspect-ratio:4 / 3; border:2px dashed var(--color-line-strong); border-radius:var(--radius-md); color:var(--color-muted); cursor:pointer;}
.dashboard-portfolio-add:hover {border-color:var(--color-accent); background:var(--color-accent-wash); color:var(--color-accent);}

.dashboard-billing-card {margin-bottom:25px; overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.dashboard-billing-header {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:20px 25px; background:var(--color-primary); color:var(--color-white);}
.dashboard-billing-plan,
.dashboard-billing-amount {margin:0;}
.dashboard-billing-badge {padding:5px 10px; border-radius:var(--radius-pill); background:rgba(255,255,255,.2);}
.dashboard-billing-body {padding:25px;}
.dashboard-billing-row {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:15px 0; border-bottom:1px solid var(--color-line-soft);}
.dashboard-billing-row:last-child {border-bottom:0;}
.dashboard-billing-label {color:var(--color-muted);}
.dashboard-billing-value {color:var(--color-ink);}
.dashboard-billing-value.status-active {color:var(--color-available);}
.dashboard-billing-value.status-cancelled {color:var(--color-error);}
.dashboard-free-plan-card,
.dashboard-empty-state,
.dashboard-no-business,
.shortlist-empty {margin-bottom:25px; padding:40px 25px; border:1px dashed var(--color-line-strong); border-radius:var(--radius-md); background:var(--color-accent-wash); text-align:center;}
.dashboard-free-plan-icon,
.dashboard-empty-icon,
.shortlist-empty-icon {display:flex; align-items:center; justify-content:center; width:65px; height:65px; margin:0 auto 15px; border-radius:var(--radius-pill); background:var(--color-accent-tint); color:var(--color-accent);}
.dashboard-free-plan-title,
.dashboard-empty-title {margin:0 0 10px;}
.dashboard-free-plan-desc,
.dashboard-empty-desc {max-width:400px; margin:0 auto 25px; color:var(--color-muted);}

.dashboard-invoice-table {width:100%; border-collapse:collapse;}
.dashboard-invoice-table th {padding:10px 15px; border-bottom:1px solid var(--color-line); background:var(--color-surface); color:var(--color-muted); text-align:left; text-transform:uppercase; letter-spacing:.04em;}
.dashboard-invoice-table td {padding:15px; border-bottom:1px solid var(--color-line-soft);}
.dashboard-invoice-table tr:last-child td {border-bottom:0;}
.dashboard-invoice-status {display:inline-flex; align-items:center; gap:5px; padding:0 10px; border-radius:var(--radius-pill);}
.dashboard-invoice-status.paid {background:#E7F4EC; color:var(--color-available);}
.dashboard-invoice-status.pending {background:var(--color-surface); color:var(--color-muted);}
.dashboard-invoice-status.failed {background:var(--color-coral-tint); color:var(--color-error);}

.dashboard-settings-group {margin-bottom:30px;}
.dashboard-settings-title {margin:0 0 15px;}
.dashboard-settings-item {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; margin-bottom:10px; padding:15px 20px; border:1px solid var(--color-line); border-radius:var(--radius-md); background:var(--color-white);}
.dashboard-settings-item:last-child {margin-bottom:0;}
.dashboard-settings-info {flex:1 1 240px;}
.dashboard-settings-label {margin:0 0 5px; color:var(--color-ink);}
.dashboard-settings-desc {margin:0; color:var(--color-muted);}

.dashboard-loading {display:flex; flex-direction:column; align-items:center; justify-content:center; padding:50px;}
.dashboard-spinner {width:40px; height:40px; border:3px solid var(--color-line); border-top-color:var(--color-primary); border-radius:var(--radius-pill); animation:dashboard-spin .8s linear infinite;}
@keyframes dashboard-spin {to {transform:rotate(360deg);}}
.dashboard-loading-text {margin-top:15px; color:var(--color-muted);}

.dashboard-pro-badge {display:inline-flex; align-items:center; gap:5px; margin-left:10px; padding:0 10px; border-radius:var(--radius-pill); background:var(--color-coral-tint); color:var(--color-coral); text-transform:uppercase; letter-spacing:.04em;}
.dashboard-locked-section {position:relative; pointer-events:none;}
.dashboard-locked-section::before {content:''; position:absolute; inset:0; z-index:10; border-radius:var(--radius-md); background:rgba(255,255,255,.75);}
.dashboard-locked-overlay {position:absolute; inset:0; z-index:11; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center;}
.dashboard-locked-overlay .material-symbols-outlined {margin-bottom:15px; color:var(--color-accent);}
.dashboard-locked-overlay h4 {margin:0 0 10px;}
.dashboard-locked-overlay p {margin:0 0 15px; color:var(--color-muted);}
.dashboard-locked-overlay .dashboard-btn {pointer-events:auto;}
.dashboard-tooltip {color:var(--color-subtle); cursor:help;}

.delete-modal-overlay,
.upgrade-modal-overlay {position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:15px; background:rgba(14,15,18,.6);}
.delete-modal,
.upgrade-modal {position:relative; width:100%; max-height:90vh; overflow-y:auto; border-radius:var(--radius-lg); background:var(--color-white); box-shadow:var(--shadow);}
.delete-modal {max-width:600px;}
.upgrade-modal {max-width:500px;}
.delete-modal-header,
.upgrade-modal-header {padding:30px 25px 15px; text-align:center;}
.delete-modal-header h2,
.upgrade-modal-header h2 {margin:0 0 5px;}
.delete-modal-icon,
.upgrade-modal-icon {display:block; margin-bottom:10px; font-size:45px;}
.delete-modal-icon-danger {color:var(--color-error);}
.upgrade-modal-icon {color:var(--color-accent);}
.upgrade-modal-header p {margin:0; color:var(--color-muted);}
.delete-modal-content,
.upgrade-modal-content {padding:0 25px 25px;}
.delete-modal-content p {margin-bottom:15px; color:var(--color-muted);}
.delete-modal-actions {display:flex; flex-direction:column; gap:10px; padding:25px; border-top:1px solid var(--color-line);}
.delete-modal-btn {flex:1; padding:15px 25px; border-radius:var(--radius); font:inherit; text-align:center; cursor:pointer; transition:var(--transition);}
.delete-modal-btn-primary {border:0; background:var(--color-primary); color:var(--color-white);}
.delete-modal-btn-secondary {border:1px solid var(--color-line-strong); background:var(--color-white); color:var(--color-ink);}
.delete-modal-btn-secondary:hover {border-color:var(--color-accent);}
.delete-modal-btn-danger {border:0; background:var(--color-error); color:var(--color-white);}
.delete-modal-btn-danger:disabled {opacity:.5; cursor:not-allowed;}
.delete-benefits-list,
.delete-reasons-list {display:flex; flex-direction:column; gap:10px;}
.delete-benefit-item {display:flex; align-items:flex-start; gap:15px;}
.delete-benefit-item .material-symbols-outlined {flex:none; color:var(--color-error);}
.delete-benefit-item strong {display:block; margin-bottom:5px;}
.delete-benefit-item p {margin:0; color:var(--color-muted);}
.delete-reason-item {display:flex; align-items:center; gap:10px; padding:10px 15px; border:1px solid var(--color-line); border-radius:var(--radius); cursor:pointer;}
.delete-reason-item:hover {border-color:var(--color-accent-line);}
.delete-confirm-list {margin:15px 0; padding:15px 15px 15px 35px; border-radius:var(--radius); background:var(--color-coral-tint); color:var(--color-error);}
.delete-confirm-input {margin-top:25px;}
.upgrade-modal-close {position:absolute; top:15px; right:15px; padding:5px; border:0; background:none; color:var(--color-muted); cursor:pointer;}
.upgrade-billing-options {display:flex; flex-direction:column; gap:10px;}
.upgrade-billing-option {cursor:pointer;}
.upgrade-billing-option input {display:none;}
.upgrade-billing-card {position:relative; padding:15px 20px; border:2px solid var(--color-line); border-radius:var(--radius-md); transition:var(--transition);}
.upgrade-billing-option input:checked + .upgrade-billing-card {border-color:var(--color-accent); background:var(--color-accent-wash);}
.upgrade-billing-badge {position:absolute; top:-10px; right:15px; padding:0 10px; border-radius:var(--radius-xs); background:var(--color-coral); color:var(--color-white);}
.upgrade-billing-header {display:flex; align-items:center; justify-content:space-between; margin-bottom:5px;}
.upgrade-billing-price {display:flex; align-items:baseline; gap:5px;}
.upgrade-billing-period,
.upgrade-billing-desc,
.upgrade-modal-note {color:var(--color-muted);}
.upgrade-billing-desc {margin:5px 0 0;}
.upgrade-modal-footer {padding:25px; text-align:center;}
.upgrade-checkout-btn {display:flex; width:100%;}
.upgrade-modal-note {margin:10px 0 0;}

.reports-filter-card {margin-bottom:25px;}
.reports-filter-presets {display:flex; flex-wrap:wrap; gap:5px;}
.reports-filter-btn {padding:5px 15px; border:1px solid var(--color-line); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-ink); font:inherit; cursor:pointer; transition:var(--transition);}
.reports-filter-btn:hover {border-color:var(--color-accent);}
.reports-filter-btn.active {border-color:var(--color-primary); background:var(--color-primary); color:var(--color-white);}
.reports-filter-custom {margin-top:15px; padding-top:15px; border-top:1px solid var(--color-line);}
.reports-date-inputs {display:flex; flex-direction:column; gap:15px;}
.reports-date-field {display:flex; flex-direction:column; gap:5px;}
.reports-date-field label {margin:0; color:var(--color-muted);}
.reports-explanations {display:grid; grid-template-columns:minmax(0,1fr); gap:20px;}
.reports-explanation-item {display:flex; align-items:flex-start; gap:15px;}
.reports-explanation-icon {display:flex; flex:none; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius); background:var(--color-accent-tint); color:var(--color-accent);}
.reports-explanation-content h4 {margin:0 0 5px;}
.reports-explanation-content p {margin:0; color:var(--color-muted);}

.shortlist-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:10px;}
.dashboard-content .plans {margin-top:25px;}


/* -- @JOIN CTA --------------- */
.join-cta {display:grid; grid-template-columns:minmax(0,1fr); gap:50px; align-items:center; padding:30px; border-radius:var(--radius-xl); background:var(--color-primary); color:var(--color-white);}
.join-cta h2 {color:var(--color-white);}
.join-cta .lead {max-width:520px; margin-bottom:0; color:var(--color-dark-text);}
.join-cta-image {display:none;}
.join-cta-image img {display:block; width:100%; height:380px; object-fit:cover; border-radius:var(--radius-md);}
.join-cta-actions {display:flex; flex-direction:column; gap:10px;}
.join-cta-actions .button {width:100%;}


/* -- @FOOTER ----------------- */
.site-footer {padding:55px 0 30px; border-top:1px solid var(--color-line);}
.footer-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:30px;}
.footer-brand .logo img {height:30px;}
.footer-tagline {margin:15px 0;}

.social-links {display:flex; gap:10px;}
.social-links a {display:flex; align-items:center; justify-content:center; width:35px; height:35px; border:1px solid var(--color-line); border-radius:var(--radius-sm); color:var(--color-muted);}
.social-links a:hover {border-color:var(--color-accent); color:var(--color-accent);}

.footer-title {margin-bottom:15px;}
.footerNav li {margin-bottom:10px;}
.footerNav li a,
.legalNav li a {color:var(--color-muted);}
.footerNav li a:hover,
.legalNav li a:hover {color:var(--color-accent);}

.footer-disclaimer {margin-top:45px; padding-top:20px; border-top:1px solid var(--color-line); color:var(--color-subtle);}
.footer-disclaimer summary {cursor:pointer; font-weight:500; color:var(--color-muted);}
.footer-disclaimer-text {margin-top:10px;}
.footer-disclaimer-text p {margin-bottom:10px;}

.footer-bottom {display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; margin-top:30px; color:var(--color-subtle);}
.footer-bottom .copy {margin:0;}
.legalNav {display:flex; flex-wrap:wrap; gap:20px;}


/* #Clearer
================================================== */
.row:after,
.entry:after {content:""; display:table; clear:both;}

/* #Claim flow (templates/page-claim*.php, parts/flow-header.php, js/claim.js)
================================================== */
.flow-header {position:sticky; top:0; z-index:99; border-bottom:1px solid var(--color-line); background:var(--color-white);}
.flow-header-row {display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px;}
.flow-header .logo img {height:26px;}
.flow-exit {flex:none; color:var(--color-muted);}
.flow-exit:hover {color:var(--color-accent);}
.stepper {display:flex; flex:1; justify-content:center; min-width:0;}
.stepper-list {display:none; align-items:center; gap:10px; margin:0; padding:0; list-style:none;}
.stepper-step {display:flex; align-items:center; gap:10px; color:var(--color-faint);}
.stepper-step + .stepper-step:before {content:""; width:25px; height:1px; background:var(--color-line-strong);}
.stepper-step a {display:flex; align-items:center; gap:10px; color:inherit;}
.stepper-step a:hover {color:var(--color-accent);}
.stepper-num {display:flex; flex:none; align-items:center; justify-content:center; width:28px; height:28px; border-radius:var(--radius-pill); box-shadow:inset 0 0 0 1.5px var(--color-input);}
.stepper-num .icon {width:14px; height:14px;}
.stepper-step.is-complete {color:var(--color-muted);}
.stepper-step.is-complete .stepper-num {background:var(--color-accent-tint); color:var(--color-accent); box-shadow:none;}
.stepper-step.is-current {color:var(--color-ink);}
.stepper-step.is-current .stepper-num {background:var(--color-primary); color:var(--color-white); box-shadow:none;}
.stepper-mobile {display:flex; flex-direction:column; align-items:center; gap:5px; color:var(--color-muted);}
.stepper-mobile strong {color:var(--color-ink);}
.stepper-bar {display:flex; gap:4px;}
.stepper-bar span {width:22px; height:4px; border-radius:var(--radius-pill); background:var(--color-line-strong);}
.stepper-bar .is-complete, .stepper-bar .is-current {background:var(--color-primary);}

.flow-card-medium {max-width:520px;}
.flow-card-wide {max-width:720px;}
.flow-card-eyebrow {margin:0 0 15px;}
.flow-actions {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;}
.flow-actions-center {justify-content:center; margin-top:25px;}
.flow-legal {margin:0; text-align:center;}
.flow-list {display:flex; flex-direction:column; gap:10px; margin:0 0 15px; padding:0; list-style:none;}
.flow-list li {position:relative; padding-left:25px;}
.flow-list li:before {content:""; position:absolute; top:.45em; left:2px; width:10px; height:6px; border-left:2px solid var(--color-accent); border-bottom:2px solid var(--color-accent); transform:rotate(-45deg);}
.button.is-loading {opacity:.75; cursor:progress;}
.link-button {padding:0; border:0; background:none; color:var(--color-accent); font:inherit; text-decoration:underline; cursor:pointer;}
.link-button:disabled {color:var(--color-subtle); text-decoration:none; cursor:default;}

.claim-search {position:relative; max-width:620px; margin:0 auto;}
.claim-search .notice {margin-bottom:15px;}
.claim-search-field {position:relative; display:flex; align-items:center;}
.claim-search-field > .icon {position:absolute; left:20px; width:20px; height:20px; color:var(--color-subtle); pointer-events:none;}
.claim-search-field input {height:60px; padding:0 50px 0 55px; border-radius:var(--radius-md); box-shadow:var(--shadow-sm);}
.claim-search-clear {position:absolute; right:10px; display:flex; padding:8px; border:0; background:transparent; color:var(--color-subtle); cursor:pointer;}
.claim-search-clear .icon {width:16px; height:16px;}
.claim-search-nojs {margin-top:15px;}
.claim-results {position:absolute; top:calc(100% + 8px); right:0; left:0; z-index:10; max-height:440px; overflow-y:auto; padding:6px; border:1px solid var(--color-line); border-radius:16px; background:var(--color-white); box-shadow:var(--shadow);}
.claim-results-label {margin:8px 10px 4px; color:var(--color-subtle);}
.claim-results-loading {margin:0; padding:15px 10px;}
.claim-results-empty {display:flex; flex-direction:column; gap:2px; padding:12px 10px;}
.claim-result {display:flex; align-items:center; gap:15px; min-height:64px; padding:10px; border-radius:var(--radius); cursor:pointer; transition:background .15s ease;}
.claim-result.is-active {background:var(--color-accent-wash);}
.claim-result.is-claimed {cursor:default;}
.claim-result.is-claimed .claim-result-name {color:var(--color-muted);}
.claim-result.is-loading {opacity:.6; pointer-events:none;}
.claim-result-text {display:flex; flex:1; flex-direction:column; min-width:0;}
.claim-result-name {overflow:hidden; color:var(--color-ink); white-space:nowrap; text-overflow:ellipsis;}
.claim-result-name mark {background:transparent; color:var(--color-primary);}
.claim-result-end {display:flex; flex:none; align-items:center; gap:10px;}
.claim-result-claimed {padding:3px 8px; border-radius:var(--radius-pill); background:var(--color-surface); color:var(--color-muted);}
.claim-result-create {margin-top:6px; border-top:1px solid var(--color-line-soft); border-radius:0 0 var(--radius) var(--radius);}
.claim-result-create.is-active .button-outline {background:var(--color-primary); color:var(--color-white); box-shadow:none;}
.claim-result-create .listing-mini-avatar {background:var(--color-surface); color:var(--color-muted);}

.listing-mini {display:flex; align-items:center; gap:15px; margin-bottom:25px;}
.listing-mini > span:last-child {display:flex; flex-direction:column; min-width:0;}
.listing-mini .listing-mini-avatar {width:56px; height:56px;}
.listing-mini-avatar {display:flex; flex:none; align-items:center; justify-content:center; width:44px; height:44px; overflow:hidden; border-radius:var(--radius); background:var(--color-accent-tint); color:var(--color-primary);}
.listing-mini-avatar img {width:100%; height:100%; object-fit:contain; background:var(--color-white);}

.check-card {display:flex; align-items:flex-start; gap:12px; margin:0; padding:15px; border:1px solid var(--color-line-strong); border-radius:var(--radius-md); font-weight:inherit; cursor:pointer; transition:var(--transition);}
.check-card input {margin-top:2px;}
.check-card.is-checked {border-color:var(--color-accent); background:var(--color-accent-wash);}
.check-card.field-error {border-color:var(--color-error);}

.form-sections {padding:0; overflow:hidden;}
.form-section {display:flex; flex-direction:column; gap:20px; min-width:0; margin:0; padding:25px 20px; border:0; border-bottom:1px solid var(--color-line-soft);}
.form-section:last-child {border-bottom:0;}
.form-section .notice {margin:0;}
/* Floated: a legend otherwise sits on the fieldset's top edge and ignores its padding */
.form-section-title {float:left; display:flex; flex-direction:column; gap:3px; width:100%; padding:0;}
.form-section-title .text-large {color:var(--color-ink);}
.form-grid-2, .form-grid-3 {display:grid; grid-template-columns:minmax(0,1fr); gap:20px;}
.char-count {flex:none;}
.field-error-text a {color:inherit;}

.tab-switch {display:flex; margin-bottom:25px; padding:4px; border-radius:var(--radius); background:var(--color-surface);}
.tab-switch button {flex:1; padding:8px 10px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--color-muted); font:inherit; cursor:pointer; transition:var(--transition);}
.tab-switch button[aria-selected="true"] {background:var(--color-white); color:var(--color-ink); box-shadow:0 1px 3px rgba(14,15,18,.08);}

.code-inputs {display:flex; justify-content:center; gap:8px; min-width:0; margin:0; padding:0; border:0;}
.code-inputs input {width:46px; height:56px; padding:0; text-align:center;}
.code-inputs.field-error input {border-color:var(--color-error);}
.flow-resend {margin:20px 0 0; text-align:center;}

.verify-option {margin:0 0 25px; padding:0 0 25px; border-bottom:1px solid var(--color-line-soft);}
.verify-option:last-child {margin:0; padding:0; border-bottom:0;}
.verify-option h2 {margin:0 0 5px;}
.code-copy {display:flex; align-items:center; gap:10px; padding:8px 8px 8px 15px; border:1px solid var(--color-line); border-radius:var(--radius); background:var(--color-surface);}
.code-copy code {flex:1; min-width:0; overflow-x:auto; white-space:nowrap;}
.code-copy .button {flex:none;}
