:root {
--primary: #2563eb;
--primary-soft: #eff6ff;
--accent: #f97316;
--text-main: #111827;
--text-muted: #6b7280;
--border-soft: #e5e7eb;
--bg-page: #f3f4f6;
--radius-lg: 16px;
--shadow-soft: 0 10px 25px rgba(15, 23, 42, 0.06);
}

* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
background: var(--bg-page);
color: var(--text-main);
}

a { text-decoration: none; color: inherit; }

.page-wrapper {
max-width: 1220px;
margin: 0 auto;
padding: 16px;
}

/* ----- GLOBAL ----- */

.card {
background: #ffffff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-soft);
padding: 16px 18px 18px;
}

.section-heading {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}

.section-heading h2 {
font-size: 18px;
font-weight: 600;
}

.section-heading span {
font-size: 13px;
color: var(--text-muted);
}

.link-small {
font-size: 13px;
color: var(--primary);
font-weight: 500;
}

.pill {
display: inline-flex;
align-items: center;
padding: 3px 8px;
border-radius: 999px;
font-size: 11px;
background: #ecfdf5;
color: #15803d;
margin-left: 6px;
}

.icon-generic {
width: 18px;
height: 18px;
stroke-width: 1.6;
stroke-linecap: round;
stroke-linejoin: round;
fill: none;
stroke: currentColor;
}

/* ----- HEADER ----- */

header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 0 14px;
}

.logo {
display: flex;
align-items: center;
gap: 10px;
}
.logo img {
height: 40px;
width: auto;
}

.top-nav {
display: flex;
align-items: center;
gap: 18px;
font-size: 13px;
}

.top-nav a {
color: #4b5563;
}

.top-nav a.highlight {
color: #b91c1c;
font-weight: 600;
}

.top-actions {
display: flex;
align-items: center;
gap: 10px;
}

.btn {
border-radius: 999px;
font-size: 13px;
cursor: pointer;
border: none;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
transition: background 0.15s, box-shadow 0.15s, transform 0.15s;
}

.btn-outline {
padding: 6px 12px;
background: #ffffff;
border: 1px solid var(--border-soft);
color: #374151;
}

.btn-outline:hover {
background: #f9fafb;
}

.btn-primary {
padding: 7px 18px;
background: var(--primary);
color: #ffffff;
font-weight: 600;
box-shadow: 0 8px 18px rgba(37, 99, 235, 0.25);
}

.btn-primary:hover {
background: #1d4ed8;
transform: translateY(-1px);
}

/* ----- HERO ----- */

.hero {
margin-top: 4px;
padding: 18px 20px 22px;
background: #ffffff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-soft);
}

.hero-title {
font-size: 22px;
font-weight: 700;
margin-bottom: 6px;
}

.hero-sub {
font-size: 14px;
color: var(--text-muted);
margin-bottom: 16px;
}

.hero-search-row {
display: flex;
gap: 10px;
flex-wrap: wrap;
}

.search-input-group {
display: flex;
align-items: center;
gap: 8px;
background: #f9fafb;
border-radius: 999px;
padding: 8px 14px;
border: 1px solid var(--border-soft);
flex: 1;
min-width: 180px;
}

.search-input-group input {
border: none;
background: transparent;
outline: none;
width: 100%;
font-size: 14px;
}

.search-input-group svg {
width: 18px;
height: 18px;
stroke: #9ca3af;
}

.search-main-input {
flex: 3;
}

.search-button {
padding: 0 20px;
height: 40px;
border-radius: 999px;
border: none;
background: var(--accent);
color: #ffffff;
font-weight: 600;
font-size: 14px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
cursor: pointer;
box-shadow: 0 10px 20px rgba(249, 115, 22, 0.25);
transition: background 0.15s, transform 0.15s;
}

.search-button svg {
width: 18px;
height: 18px;
stroke: #ffffff;
}

.search-button:hover {
background: #ea580c;
transform: translateY(-1px);
}

.banner-row {
margin-top: 18px;
display: grid;
grid-template-columns: 2.3fr 1.7fr;
gap: 14px;
}

.banner-main {
background: linear-gradient(135deg, #fef3c7, #fee2e2);
border-radius: 14px;
padding: 18px 20px;
display: flex;
justify-content: space-between;
align-items: center;
overflow: hidden;
}

.banner-main h3 {
font-size: 18px;
margin-bottom: 6px;
}

.banner-main p {
font-size: 13px;
color: var(--text-muted);
margin-bottom: 10px;
}

.banner-main .btn-small {
padding: 6px 14px;
border-radius: 999px;
border: none;
background: var(--accent);
color: #fff;
font-size: 13px;
cursor: pointer;
}

.banner-visual {
width: 130px;
height: 130px;
border-radius: 999px;
background: radial-gradient(circle at 30% 20%, #ffffff, #fecaca);
position: relative;
box-shadow: 0 10px 25px rgba(248, 113, 113, 0.45);
}

.banner-visual::after {
content: "";
position: absolute;
inset: 28px;
border-radius: 999px;
border: 2px dashed rgba(248, 113, 113, 0.6);
}

.banner-side-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}

.mini-banner {
border-radius: 14px;
padding: 10px;
color: #fff;
font-size: 12px;
font-weight: 600;
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 94px;
}

.mini-banner span.sub {
font-size: 11px;
font-weight: 400;
margin-top: 6px;
opacity: 0.95;
}

.mini-banner svg {
width: 22px;
height: 22px;
stroke: #ffffff;
margin-bottom: 6px;
}

.mini-banner:nth-child(1){ background:#0ea5e9; }
.mini-banner:nth-child(2){ background:#6366f1; }
.mini-banner:nth-child(3){ background:#10b981; }

/* ----- TOP CATEGORIES ----- */

.category-section {
margin-top: 24px;
}

.categories-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 16px;
}

.category-card {
text-align: center;
padding: 12px 8px 14px;
border-radius: 14px;
cursor: pointer;
transition: all 0.15s ease;
border: 1px solid transparent;
background: #fafafa;
}

.category-card:hover {
background: var(--primary-soft);
border-color: #bfdbfe;
box-shadow: 0 6px 16px rgba(148, 163, 184, 0.35);
transform: translateY(-2px);
}

.category-icon-wrapper {
width: 54px;
height: 54px;
border-radius: 999px;
margin: 0 auto 8px;
display: flex;
align-items: center;
justify-content: center;
background: #e5f0ff;
}

.category-icon-wrapper svg {
width: 26px;
height: 26px;
stroke: #1d4ed8;
}

.category-name {
font-size: 13px;
font-weight: 500;
color: var(--text-main);
}

/* ----- POPULAR NEAR YOU / WHY LIST ----- */

.content-row {
margin-top: 24px;
display: grid;
grid-template-columns: 2fr 2fr;
gap: 16px;
}

.listing-item {
padding: 9px 0;
border-bottom: 1px solid var(--border-soft);
}

.listing-item:last-child {
border-bottom: none;
}

.listing-name {
font-weight: 600;
font-size: 14px;
}

.listing-meta {
font-size: 12px;
color: var(--text-muted);
margin-top: 2px;
}

/* ===== NEW SECTIONS ===== */

/* Bills & Travel grid cards */

.icon-square {
width: 40px;
height: 40px;
border-radius: 12px;
background: #eff6ff;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px;
}

.icon-square svg {
width: 22px;
height: 22px;
stroke: #1d4ed8;
}

.small-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
gap: 14px;
}

.small-card {
border-radius: 12px;
border: 1px solid var(--border-soft);
padding: 10px 10px 12px;
background: #ffffff;
transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
cursor: pointer;
}

.small-card:hover {
border-color: #bfdbfe;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(148, 163, 184, 0.35);
}

.small-card-title {
font-size: 13px;
font-weight: 500;
margin-bottom: 4px;
}

.small-card-sub {
font-size: 11px;
color: var(--text-muted);
}

/* Horizontal scrollers */

.scroll-row {
display: flex;
gap: 14px;
overflow-x: auto;
padding-bottom: 4px;
scrollbar-width: thin;
}

.scroll-row::-webkit-scrollbar {
height: 6px;
}

.scroll-row::-webkit-scrollbar-thumb {
background: #d1d5db;
border-radius: 999px;
}

.tag-card {
flex: 0 0 260px;
border-radius: 14px;
border: 1px solid var(--border-soft);
padding: 10px 12px;
background: #ffffff;
}

.tag-card-title {
font-size: 13px;
font-weight: 500;
margin-bottom: 4px;
}

.tag-card-link {
font-size: 12px;
color: var(--primary);
font-weight: 500;
}

/* Movie cards */

.movie-card {
flex: 0 0 150px;
border-radius: 14px;
background: #ffffff;
box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
overflow: hidden;
display: flex;
flex-direction: column;
}

.movie-poster {
height: 190px;
background: linear-gradient(135deg, #e5e7eb, #d1d5db);
}

.movie-body {
padding: 8px 10px 10px;
}

.movie-title {
font-size: 13px;
font-weight: 600;
margin-bottom: 2px;
}

.movie-meta {
font-size: 11px;
color: var(--text-muted);
}

/* Tourist places */

.place-card {
flex: 0 0 180px;
border-radius: 14px;
background: #ffffff;
border: 1px solid var(--border-soft);
overflow: hidden;
}

.place-thumb {
height: 80px;
background: linear-gradient(135deg, #dbeafe, #bfdbfe);
}

.place-body {
padding: 8px 10px;
font-size: 13px;
font-weight: 500;
}

.place-body span {
display: block;
font-size: 11px;
color: var(--primary);
margin-top: 3px;
}

/* Popular searches CTA cards */

.cta-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 12px;
}

.cta-card {
border-radius: 14px;
background: var(--primary);
color: #ffffff;
padding: 12px 14px;
display: flex;
flex-direction: column;
gap: 6px;
}

.cta-card-title {
font-size: 13px;
font-weight: 600;
}

.cta-card button {
width: max-content;
padding: 5px 10px;
border-radius: 999px;
border: none;
background: #ffffff;
color: var(--primary);
font-size: 11px;
font-weight: 600;
cursor: pointer;
}

/* Sunny Day Essentials */

.chip-row {
display: flex;
gap: 10px;
flex-wrap: wrap;
}

.chip {
border-radius: 999px;
border: 1px solid var(--border-soft);
padding: 6px 12px;
font-size: 12px;
background: #ffffff;
cursor: pointer;
}

.chip.primary {
background: #eef2ff;
border-color: #c7d2fe;
color: #4338ca;
}

/* Follow / App */

.follow-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-top: 24px;
}

.social-icons {
display: flex;
align-items: center;
gap: 12px;
}

.social-icons a {
width: 32px;
height: 32px;
border-radius: 999px;
background: #111827;
display: flex;
align-items: center;
justify-content: center;
}

.social-icons svg {
width: 16px;
height: 16px;
stroke: #ffffff;
}

.app-buttons {
display: flex;
gap: 10px;
}

.store-badge {
border-radius: 10px;
border: 1px solid #111827;
padding: 6px 12px;
font-size: 11px;
display: inline-flex;
align-items: center;
gap: 6px;
}

.store-badge svg {
width: 18px;
height: 18px;
stroke: #111827;
}

/* Long content / SEO section */

.seo-section {
margin-top: 28px;
padding: 18px 18px 24px;
background: #ffffff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-soft);
}

.seo-section h2 {
font-size: 18px;
margin-bottom: 10px;
}

.seo-section p {
font-size: 13px;
color: var(--text-muted);
line-height: 1.6;
margin-bottom: 10px;
}

.features-grid {
margin-top: 18px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 16px;
}

.feature-block h3 {
font-size: 14px;
margin-bottom: 4px;
}

.feature-block p {
font-size: 12px;
color: var(--text-muted);
line-height: 1.5;
}

/* Popular category / trending links lists */

.link-columns {
margin-top: 20px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 16px;
font-size: 12px;
color: var(--text-muted);
}

.link-columns h4 {
font-size: 13px;
font-weight: 600;
color: var(--text-main);
margin-bottom: 6px;
}

.link-columns p {
line-height: 1.6;
}

@media (max-width: 900px) {
.banner-row { grid-template-columns: 1fr; }
header { flex-wrap: wrap; gap: 12px; }
.top-nav { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; }
.top-actions { order: 2; }
.content-row { grid-template-columns: 1fr; }
.follow-row { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
.hero-title { font-size: 19px; }
}


/*category-view*/

/* ===== HOSPITAL LISTING CARDS ===== */
.hospital-listing-section {
margin-top: 24px;
}

.listing-grid {
display: flex;
flex-direction: column;
gap: 14px;
}

.listing-card {
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 16px;
padding: 14px 14px 14px 16px;
border-radius: 14px;
border: 1px solid var(--border-soft);
background: #f9fafb;
transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.listing-card:hover {
background: #ffffff;
border-color: #bfdbfe;
box-shadow: 0 10px 22px rgba(148, 163, 184, 0.35);
transform: translateY(-2px);
}

/* left side */

.listing-left {
display: flex;
align-items: flex-start;
gap: 12px;
flex: 1;
}

.listing-icon-circle {
width: 50px;
height: 50px;
border-radius: 999px;
background: radial-gradient(circle at 0 0, #eff6ff, #dbeafe);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.listing-icon-circle svg {
width: 24px;
height: 24px;
stroke: #1d4ed8;
}

.listing-main {
flex: 1;
min-width: 0;
}

.listing-title-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 4px;
flex-wrap: wrap;
}

.listing-title {
font-size: 15px;
font-weight: 600;
color: var(--text-main);
}

.badge-open {
border-radius: 999px;
padding: 2px 8px;
font-size: 11px;
font-weight: 500;
background: #dcfce7;
color: #15803d;
}

.badge-soft {
border-radius: 999px;
padding: 2px 8px;
font-size: 11px;
background: #e5f0ff;
color: #1d4ed8;
margin-right: 4px;
margin-bottom: 4px;
}

.badge-soft-green {
background: #dcfce7;
color: #166534;
}

.badge-soft-orange {
background: #ffedd5;
color: #c2410c;
}

.listing-tags {
margin-bottom: 4px;
}

.listing-address {
font-size: 12px;
color: var(--text-muted);
}

/* right side */

.listing-right {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 6px;
min-width: 140px;
}

.rating-pill {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 8px;
border-radius: 999px;
background: #fef9c3;
color: #92400e;
font-size: 12px;
font-weight: 600;
}

.rating-pill svg {
width: 14px;
height: 14px;
stroke: #facc15;
}

.rating-score {
font-size: 13px;
}

.rating-count {
font-size: 11px;
color: var(--text-muted);
}

/* action buttons */

.listing-actions {
display: flex;
gap: 8px;
margin-top: 4px;
}

.btn-outline-small,
.btn-ghost-small {
border-radius: 999px;
padding: 5px 10px;
font-size: 11px;
font-weight: 500;
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
text-decoration: none;
white-space: nowrap;
}

.btn-outline-small {
border: 1px solid var(--primary);
color: var(--primary);
background: #ffffff;
}

.btn-outline-small:hover {
background: var(--primary);
color: #ffffff;
}

.btn-ghost-small {
border: 1px solid transparent;
color: var(--text-muted);
background: transparent;
}

.btn-ghost-small:hover {
background: #e5e7eb;
border-color: #e5e7eb;
}

/* responsive tweaks */

@media (max-width: 768px) {
.listing-card {
flex-direction: column;
align-items: flex-start;
}

.listing-right {
align-items: flex-start;
}
}

/* ------- FOOTER ------- */

.footer-section {
margin-top: 40px;
padding: 36px 0 18px;
background: #ffffff;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-soft);
}

.footer-top {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 28px;
padding: 0 20px 28px;
border-bottom: 1px solid var(--border-soft);
}

.footer-col h4 {
font-size: 20px;
font-weight: 700;
color: var(--primary);
margin-bottom: 8px;
}

.footer-col h5 {
font-size: 15px;
font-weight: 600;
margin-bottom: 8px;
}

.footer-col p {
font-size: 13px;
color: var(--text-muted);
line-height: 1.5;
}

.footer-col ul {
list-style: none;
margin-top: 6px;
}

.footer-col ul li {
margin-bottom: 6px;
}

.footer-col ul li a {
font-size: 13px;
color: var(--text-muted);
transition: color .15s;
}

.footer-col ul li a:hover {
color: var(--primary);
}

.footer-social {
display: flex;
gap: 10px;
margin-top: 8px;
}

.footer-social a {
width: 32px;
height: 32px;
background: var(--text-main);
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
}

.footer-social svg {
width: 16px;
height: 16px;
stroke: #ffffff;
fill: none;
stroke-width: 2;
}

.footer-apps {
margin-top: 12px;
display: flex;
gap: 10px;
}

.footer-bottom {
padding: 16px 20px 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
font-size: 12px;
color: var(--text-muted);
}

.footer-links-inline {
display: flex;
align-items: center;
gap: 6px;
}

.footer-links-inline a {
color: var(--text-muted);
}

.footer-links-inline a:hover {
color: var(--primary);
}

@media (max-width: 640px) {
.footer-bottom {
flex-direction: column;
gap: 8px;
text-align: center;
}
}
/* ===== BUSINESS DETAIL LAYOUT ===== */

.business-detail-layout {
display: grid;
grid-template-columns: 2.3fr 1.2fr;
gap: 18px;
margin-top: 10px;
}

.business-detail-main {
display: flex;
flex-direction: column;
gap: 16px;
}

.business-detail-sidebar {
display: flex;
flex-direction: column;
gap: 14px;
}

/* HERO */

.bd-hero-card {
padding: 18px 18px 14px;
}

.bd-hero-header {
display: flex;
gap: 14px;
align-items: flex-start;
}

.bd-hero-logo {
width: 58px;
height: 58px;
border-radius: 18px;
background: radial-gradient(circle at 0 0, #eff6ff, #bfdbfe);
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
color: #1d4ed8;
flex-shrink: 0;
}

.bd-hero-logo span {
font-size: 19px;
}

.bd-hero-main {
flex: 1;
}

.bd-hero-title-row {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 4px;
}

.bd-hero-title {
font-size: 20px;
font-weight: 700;
}

.bd-hero-verified {
font-size: 11px;
padding: 2px 8px;
border-radius: 999px;
background: #dcfce7;
color: #15803d;
font-weight: 500;
}

.bd-hero-meta {
font-size: 13px;
color: var(--text-muted);
margin-bottom: 4px;
}

.bd-dot {
margin: 0 4px;
}

.bd-hero-tags {
margin-top: 2px;
}

.bd-hero-rating {
text-align: right;
min-width: 140px;
}

.bd-rating-score {
font-size: 22px;
font-weight: 700;
}

.bd-rating-sub {
font-size: 11px;
color: var(--text-muted);
}

.bd-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 14px;
}

.bd-hero-btn {
padding-inline: 14px;
height: 34px;
font-size: 12px;
}

/* GALLERY */

.bd-gallery-card {
padding-bottom: 14px;
}

.bd-gallery-row {
display: flex;
gap: 10px;
overflow-x: auto;
padding-bottom: 4px;
scrollbar-width: thin;
}

.bd-gallery-row::-webkit-scrollbar {
height: 6px;
}

.bd-gallery-row::-webkit-scrollbar-thumb {
background: #d1d5db;
border-radius: 999px;
}

.bd-gallery-item {
flex: 0 0 190px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.14);
}

.bd-gallery-item img {
width: 100%;
height: 120px;
object-fit: cover;
}

/* QUICK INFORMATION */

.bd-info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 10px 20px;
margin-top: 4px;
}

.bd-info-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-muted);
margin-bottom: 2px;
}

.bd-info-value {
font-size: 13px;
}

/* HIGHLIGHTS */

.bd-highlights-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 14px;
margin-top: 4px;
}

.bd-highlight-box {
border-radius: 12px;
padding: 10px 12px;
background: #f9fafb;
}

.bd-highlight-muted {
background: #fef9c3;
}

.bd-highlight-box h3 {
font-size: 14px;
margin-bottom: 6px;
}

.bd-highlight-box ul {
padding-left: 18px;
font-size: 13px;
color: var(--text-muted);
line-height: 1.5;
}

/* RATINGS */

.bd-ratings-grid {
display: grid;
grid-template-columns: 1.4fr 2fr;
gap: 18px;
margin-top: 4px;
}

.bd-rating-box {
border-radius: 12px;
padding: 12px;
background: #f9fafb;
}

.bd-rating-score-big {
font-size: 28px;
font-weight: 700;
}

.bd-rating-text {
font-size: 12px;
color: var(--text-muted);
}

.bd-rating-tags {
margin-top: 8px;
}

.bd-rating-bars {
display: flex;
flex-direction: column;
gap: 6px;
}

.bd-rating-bar-row {
display: grid;
grid-template-columns: 30px 1fr 50px;
align-items: center;
gap: 6px;
font-size: 11px;
color: var(--text-muted);
}

.bd-rating-bar-track {
width: 100%;
height: 6px;
border-radius: 999px;
background: #e5e7eb;
overflow: hidden;
}

.bd-rating-bar-fill {
height: 100%;
border-radius: 999px;
background: #22c55e;
}

.bd-rating-count {
text-align: right;
}

/* REVIEWS */

.bd-review-item {
display: flex;
gap: 10px;
padding: 10px 0;
border-top: 1px solid var(--border-soft);
}

.bd-review-item:first-of-type {
border-top: none;
}

.bd-review-avatar {
width: 32px;
height: 32px;
border-radius: 999px;
background: #e5f0ff;
color: #1d4ed8;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 600;
flex-shrink: 0;
}

.bd-review-main {
flex: 1;
}

.bd-review-header {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
font-size: 12px;
}

.bd-review-name {
font-weight: 600;
}

.bd-review-rating {
padding: 1px 6px;
border-radius: 999px;
background: #fef9c3;
color: #92400e;
}

.bd-review-date {
color: var(--text-muted);
}

.bd-review-text {
font-size: 13px;
color: var(--text-main);
margin-top: 3px;
}

/* ABOUT / FAQ */

.bd-about-card h3,
.bd-about-subtitle {
font-size: 15px;
font-weight: 600;
margin-top: 10px;
margin-bottom: 4px;
}

.bd-faq-list {
list-style: none;
font-size: 13px;
color: var(--text-muted);
}

.bd-faq-list li {
margin-bottom: 8px;
}

/* SIDEBAR */

.bd-sidebar-card {
padding: 14px 16px;
}

.bd-sidebar-title {
font-size: 15px;
font-weight: 600;
margin-bottom: 8px;
}

.bd-contact-block {
margin-bottom: 10px;
}

.bd-contact-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--text-muted);
margin-bottom: 2px;
}

.bd-contact-value {
font-size: 13px;
}

.bd-sidebar-call-btn {
margin-top: 6px;
width: 100%;
justify-content: center;
}

.bd-hours-list {
list-style: none;
font-size: 12px;
color: var(--text-muted);
}

.bd-hours-list li {
display: flex;
justify-content: space-between;
margin-bottom: 4px;
}

.bd-tag-list {
display: flex;
flex-wrap: wrap;
gap: 6px;
}

.bd-similar-item {
padding: 6px 0;
border-top: 1px solid var(--border-soft);
}

.bd-similar-item:first-of-type {
border-top: none;
}

.bd-similar-name {
font-size: 13px;
font-weight: 500;
}

.bd-similar-meta {
font-size: 11px;
color: var(--text-muted);
}

/* RESPONSIVE */

@media (max-width: 960px) {
.business-detail-layout {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.bd-hero-header {
flex-direction: column;
align-items: flex-start;
}

.bd-hero-rating {
text-align: left;
margin-top: 6px;
}

.bd-ratings-grid {
grid-template-columns: 1fr;
}
}
/* ===== INDIVIDUAL PROFESSIONAL PROFILE ===== */

.ind-hero-card {
padding: 18px 18px 14px;
}

.ind-hero-header {
display: flex;
gap: 14px;
align-items: flex-start;
}

.ind-avatar {
width: 58px;
height: 58px;
border-radius: 999px;
background: radial-gradient(circle at 0 0, #fee2e2, #fb7185);
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-weight: 700;
font-size: 18px;
flex-shrink: 0;
}

.ind-hero-main {
flex: 1;
min-width: 0;
}

.ind-title-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
margin-bottom: 4px;
}

.ind-title {
font-size: 20px;
font-weight: 700;
}

.ind-badge-individual,
.ind-badge-verified {
border-radius: 999px;
padding: 2px 8px;
font-size: 11px;
font-weight: 500;
}

.ind-badge-individual {
background: #eff6ff;
color: #1d4ed8;
}

.ind-badge-verified {
background: #dcfce7;
color: #15803d;
}

.ind-meta {
font-size: 13px;
color: var(--text-muted);
margin-bottom: 4px;
}

.ind-tags {
margin-top: 2px;
}

.ind-rate-row {
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 2px;
}

.ind-rate-main {
display: flex;
align-items: baseline;
gap: 8px;
}

.ind-rate-label {
font-size: 12px;
color: var(--text-muted);
}

.ind-rate-value {
font-size: 16px;
font-weight: 600;
color: var(--accent);
}

.ind-rate-note {
font-size: 11px;
color: var(--text-muted);
}

.ind-hero-rating {
text-align: right;
min-width: 130px;
}

.ind-rating-score {
font-size: 22px;
font-weight: 700;
}

.ind-rating-sub {
font-size: 11px;
color: var(--text-muted);
}

.ind-hero-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 14px;
}

.ind-hero-btn {
padding-inline: 14px;
height: 34px;
font-size: 12px;
}

/* Services Offered */

.ind-services-card {
padding-bottom: 16px;
}

.ind-services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 12px;
}

.ind-service-pill {
border-radius: 12px;
background: #f9fafb;
padding: 10px 12px;
}

.ind-service-pill h3 {
font-size: 14px;
margin-bottom: 4px;
}

.ind-service-pill p {
font-size: 13px;
color: var(--text-muted);
}

/* Highlights */

.ind-highlights-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 14px;
}

.ind-highlight-box {
border-radius: 12px;
background: #f9fafb;
padding: 10px 12px;
}

.ind-highlight-muted {
background: #eef2ff;
}

.ind-highlight-box h3 {
font-size: 14px;
margin-bottom: 4px;
}

.ind-highlight-box ul {
padding-left: 18px;
font-size: 13px;
color: var(--text-muted);
line-height: 1.5;
}

.ind-areas {
font-size: 13px;
color: var(--text-muted);
line-height: 1.5;
}

/* Ratings - light version */

.ind-ratings-card {
padding-bottom: 14px;
}

.ind-ratings-top {
display: flex;
justify-content: space-between;
gap: 16px;
margin-bottom: 6px;
}

.ind-rating-block {
border-radius: 12px;
padding: 10px 12px;
background: #f9fafb;
}

.ind-rating-score-big {
font-size: 26px;
font-weight: 700;
}

.ind-rating-text {
font-size: 12px;
color: var(--text-muted);
}

.ind-rating-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: flex-start;
}

/* About */

.ind-about-card h2 {
font-size: 18px;
margin-bottom: 6px;
}

/* Sidebar */

.ind-sidebar-card {
padding: 14px 16px;
}

.ind-verify-list {
list-style: none;
font-size: 12px;
color: var(--text-muted);
}

.ind-verify-list li {
margin-bottom: 4px;
}

/* Responsive */

@media (max-width: 960px) {
.ind-hero-header {
flex-direction: column;
align-items: flex-start;
}

.ind-hero-rating {
text-align: left;
margin-top: 6px;
}

.ind-ratings-top {
flex-direction: column;
align-items: flex-start;
}
}
/* ===== SEARCH RESULTS PAGE ===== */

.sr-search-header {
margin-top: 10px;
padding-bottom: 14px;
}

.sr-meta-row {
margin-top: 14px;
display: flex;
justify-content: space-between;
gap: 12px;
align-items: flex-end;
}

.sr-meta-left {
flex: 1;
}

.sr-meta-title {
font-size: 17px;
font-weight: 600;
}

.sr-meta-sub {
font-size: 12px;
color: var(--text-muted);
margin-top: 2px;
}

.sr-meta-right {
display: flex;
align-items: center;
gap: 6px;
}

.sr-sort-label {
font-size: 12px;
color: var(--text-muted);
}

.sr-sort-select {
border-radius: 999px;
border: 1px solid var(--border-soft);
font-size: 12px;
padding: 6px 10px;
background: #f9fafb;
outline: none;
}

/* filter chips */

.sr-filter-chips {
margin-top: 10px;
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.sr-chip {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
font-size: 12px;
padding: 4px 10px;
cursor: pointer;
}

.sr-chip-active,
.sr-chip:hover {
background: #eef2ff;
border-color: #c7d2fe;
color: #4338ca;
}

/* layout */

.sr-layout {
display: grid;
grid-template-columns: 2.4fr 1.1fr;
gap: 16px;
margin-top: 16px;
}

.sr-main {
display: flex;
flex-direction: column;
gap: 10px;
}

/* result cards */

.sr-result-card {
display: flex;
justify-content: space-between;
gap: 12px;
border-radius: 14px;
padding: 12px 14px;
border: 1px solid var(--border-soft);
background: #ffffff;
box-shadow: 0 4px 10px rgba(15, 23, 42, 0.03);
}

.sr-result-sponsored {
border-color: #fed7aa;
background: #fffbeb;
}

.sr-result-main {
flex: 1;
min-width: 0;
}

.sr-result-heading {
display: flex;
justify-content: space-between;
gap: 10px;
}

.sr-result-name {
font-size: 15px;
font-weight: 600;
margin-bottom: 2px;
}

.sr-result-meta {
font-size: 12px;
color: var(--text-muted);
}

.sr-result-tags {
margin-top: 6px;
}

.sr-result-footer {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
margin-top: 6px;
}

.sr-rating-block {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
}

.sr-rating-score {
font-weight: 600;
}

.sr-rating-star {
color: #facc15;
font-size: 13px;
}

.sr-rating-count {
color: var(--text-muted);
}

.sr-result-distance {
font-size: 12px;
color: var(--text-muted);
}

.sr-result-actions {
display: flex;
flex-direction: column;
gap: 6px;
align-items: flex-end;
justify-content: center;
}

.sr-badge {
border-radius: 999px;
padding: 2px 8px;
font-size: 11px;
margin-left: 6px;
}

.sr-badge-business {
background: #eff6ff;
color: #1d4ed8;
}

.sr-badge-individual {
background: #dcfce7;
color: #15803d;
}

.sr-pill-sponsored {
font-size: 10px;
padding: 3px 8px;
border-radius: 999px;
background: #f97316;
color: #ffffff;
white-space: nowrap;
}

/* sidebar */

.sr-sidebar {
align-self: flex-start;
padding: 14px 16px;
}

.sr-sidebar-title {
font-size: 15px;
font-weight: 600;
margin-bottom: 8px;
}

.sr-sidebar-block {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid var(--border-soft);
}

.sr-sidebar-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--text-muted);
margin-bottom: 4px;
}

.sr-check {
display: block;
font-size: 12px;
color: var(--text-main);
margin-bottom: 4px;
}

.sr-check input {
margin-right: 6px;
}

/* responsive */

@media (max-width: 960px) {
.sr-layout {
grid-template-columns: 1fr;
}

.sr-sidebar {
order: -1;
}
}

@media (max-width: 640px) {
.sr-meta-row {
flex-direction: column;
align-items: flex-start;
}

.sr-result-card {
flex-direction: column;
align-items: flex-start;
}

.sr-result-actions {
flex-direction: row;
align-items: center;
}
}
/* ==== TOP BUSINESSES PAGE ==== */

/* filter bar */
.tbn-filter-bar {
padding: 12px 16px;
display: flex;
justify-content: space-between;
align-items: center;
}

.tbn-filter-left {
display: flex;
gap: 8px;
flex-wrap: wrap;
}

.tbn-chip {
padding: 5px 12px;
font-size: 12px;
border-radius: 999px;
background: #f3f4f6;
border: 1px solid var(--border-soft);
cursor: pointer;
}

.tbn-chip-active,
.tbn-chip:hover {
background: #eef2ff;
border-color: #c7d2fe;
color: #4338ca;
}

.tbn-filter-right {
display: flex;
align-items: center;
gap: 8px;
font-size: 12px;
}

.tbn-sort-select {
padding: 6px 12px;
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
font-size: 12px;
}

/* grid */
.tbn-grid {
margin-top: 18px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 18px;
}

/* card */
.tbn-card {
padding: 0;
overflow: hidden;
}

.tbn-thumb {height: 130px;background: linear-gradient(135deg, #dbeafe, #bfdbfe);}
/* content */
.tbn-body {padding: 12px 14px 14px;}

.tbn-title {font-size: 15px;font-weight: 600;}

.tbn-meta {font-size: 12px;color: var(--text-muted);margin-top: 2px;}
.tbn-badges {margin-top: 8px;display: flex;gap: 6px;flex-wrap: wrap;}

.tbn-soft {font-size: 11px;padding: 3px 8px;border-radius: 999px;background: #f3f4f6;border: 1px solid #e5e7eb;}

/* footer row */
.tbn-footer {margin-top: 10px;display: flex;justify-content: space-between;align-items: center;}

.tbn-rating {display: flex;align-items: center;gap: 4px;}

.tbn-rating .score {font-weight: 600;}

.tbn-rating .star {color: #facc15;}

.tbn-rating .count {font-size: 11px;color: var(--text-muted);}

/* responsive */
@media (max-width: 600px) {.tbn-filter-bar {flex-direction: column;align-items: flex-start;gap: 10px;}
}

/* ===== TRENDING SEARCHES PAGE ===== */

.ts-header {margin-top: 10px;padding-bottom: 14px;}
.ts-meta-row {margin-top: 10px;display: flex;justify-content: space-between;gap: 10px;align-items: center;font-size: 12px;color: var(--text-muted);}
.ts-location-label {font-weight: 500;}
.ts-location-value {margin-left: 4px;color: var(--text-main);}
.ts-meta-text {text-align: right;}
/* layout */
.ts-layout {margin-top: 16px;display: grid;grid-template-columns: 2.2fr 1.3fr;gap: 16px;}
.ts-column {padding: 14px 16px 16px;}
.ts-block-heading h3 {
font-size: 15px;
font-weight: 600;
}

.ts-small-text {
font-size: 12px;
color: var(--text-muted);
}

/* chip groups */

.ts-chip-groups {
margin-top: 12px;
display: flex;
flex-direction: column;
gap: 12px;
}

.ts-chip-group {
border-radius: 12px;
background: #f9fafb;
padding: 10px 12px;
}

.ts-group-title {
display: flex;
align-items: center;
gap: 6px;
font-size: 13px;
font-weight: 500;
margin-bottom: 6px;
}

.ts-group-title svg {
width: 18px;
height: 18px;
color: #1d4ed8;
}

.ts-chips-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.ts-chip {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #ffffff;
font-size: 12px;
padding: 5px 12px;
cursor: pointer;
transition: background 0.15s, border-color 0.15s, transform 0.15s;
}

.ts-chip:hover {
background: #eef2ff;
border-color: #c7d2fe;
color: #4338ca;
transform: translateY(-1px);
}

/* right column */

.ts-right-column {
display: flex;
flex-direction: column;
gap: 14px;
}

/* locality list */

.ts-locality-list {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 8px;
font-size: 12px;
}

.ts-locality-row {
display: flex;
flex-direction: column;
padding-bottom: 8px;
border-bottom: 1px solid var(--border-soft);
}

.ts-locality-row:last-child {
border-bottom: none;
}

.ts-locality-name {
font-weight: 600;
font-size: 13px;
}

.ts-locality-links {
margin-top: 2px;
color: var(--text-muted);
}

/* quick links */

.ts-quick-links {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 6px;
font-size: 13px;
}

.ts-quick-link-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 0;
border-bottom: 1px solid var(--border-soft);
color: var(--text-main);
text-decoration: none;
}

.ts-quick-link-row:last-child {
border-bottom: none;
}

.ts-quick-link-row:hover {
color: var(--primary);
}

.ts-arrow {
font-size: 14px;
color: var(--text-muted);
}

/* responsive */

@media (max-width: 960px) {
.ts-layout {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.ts-meta-row {
flex-direction: column;
align-items: flex-start;
}
}
/* ===== POPULAR CITIES PAGE ===== */

.pc-header {
margin-top: 10px;
padding-bottom: 14px;
}

/* layout */

.pc-layout {
margin-top: 16px;
display: grid;
grid-template-columns: 2.4fr 1.1fr;
gap: 16px;
}

.pc-main {
padding: 14px 16px 18px;
}

.pc-sidebar {
display: flex;
flex-direction: column;
gap: 14px;
}

.pc-sidebar-card {
padding: 14px 16px 16px;
}

/* headings */

.pc-block-heading h3 {
font-size: 15px;
font-weight: 600;
}

.pc-sub-text {
font-size: 12px;
color: var(--text-muted);
}

/* city grid */

.pc-city-grid {
margin-top: 12px;
display: flex;
flex-direction: column;
gap: 14px;
}

.pc-city-group {
border-radius: 12px;
background: #f9fafb;
padding: 10px 12px 10px;
}

.pc-group-title {
font-size: 13px;
font-weight: 600;
margin-bottom: 6px;
}

.pc-city-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 8px;
}

/* city card */

.pc-city-card {
display: block;
padding: 8px 10px;
border-radius: 10px;
border: 1px solid var(--border-soft);
background: #ffffff;
text-decoration: none;
transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pc-city-card:hover {
background: #eef2ff;
border-color: #c7d2fe;
box-shadow: 0 6px 16px rgba(148, 163, 184, 0.3);
transform: translateY(-2px);
}

.pc-city-name {
font-size: 13px;
font-weight: 600;
color: var(--text-main);
}

.pc-city-meta {
font-size: 11px;
color: var(--text-muted);
margin-top: 2px;
}

/* sidebar blocks */

.pc-trending-list,
.pc-nearby-list {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 6px;
font-size: 13px;
}

/* trending rows */

.pc-trending-row {
display: flex;
flex-direction: column;
padding: 6px 0;
border-bottom: 1px solid var(--border-soft);
text-decoration: none;
color: var(--text-main);
}

.pc-trending-row:last-child {
border-bottom: none;
}

.pc-trending-row:hover {
color: var(--primary);
}

.pc-trending-meta {
font-size: 11px;
color: var(--text-muted);
}

/* nearby rows */

.pc-nearby-row {
display: flex;
justify-content: space-between;
border-bottom: 1px solid var(--border-soft);
padding: 6px 0;
font-size: 13px;
}

.pc-nearby-row:last-child {
border-bottom: none;
}

.pc-nearby-distance {
font-size: 11px;
color: var(--text-muted);
}

/* responsive */

@media (max-width: 960px) {
.pc-layout {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.pc-city-list {
grid-template-columns: 1fr;
}
}
/* ===== COMPARE BUSINESSES PAGE ===== */

.cb-header {
margin-top: 10px;
padding-bottom: 14px;
}

.cb-selected-row {
margin-top: 10px;
display: flex;
flex-wrap: wrap;
gap: 8px;
align-items: center;
font-size: 12px;
}

.cb-selected-label {
font-weight: 500;
}

.cb-selected-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}

.cb-tag {
border-radius: 999px;
padding: 4px 10px;
font-size: 12px;
background: #eef2ff;
color: #4338ca;
}

/* comparison table */

.cb-compare-card {
margin-top: 16px;
padding: 0;
overflow: hidden;
}

.cb-compare-scroll {
width: 100%;
overflow-x: auto;
}

.cb-compare-grid {
min-width: 700px;
display: grid;
grid-template-columns: 1.1fr 1fr 1fr 1fr; /* label + 3 businesses */
}

/* cells */

.cb-cell {
padding: 10px 12px;
border-bottom: 1px solid var(--border-soft);
border-right: 1px solid var(--border-soft);
font-size: 12px;
background: #ffffff;
}

.cb-cell:nth-child(-n+4) {
border-top: 1px solid var(--border-soft); /* top row */
}

.cb-cell-title {
font-size: 13px;
font-weight: 600;
background: #f9fafb;
}

.cb-cell-label {
font-weight: 600;
background: #f9fafb;
font-size: 12px;
}

.cb-cell-business {
background: #f3f4f6;
}

/* business name */

.cb-business-name {
font-size: 13px;
font-weight: 600;
}

.cb-business-type {
font-size: 11px;
color: var(--text-muted);
margin-top: 2px;
}

/* rating row */

.cb-rating {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 12px;
}

.cb-rating-score {
font-weight: 600;
}

.cb-rating-star {
color: #facc15;
}

.cb-rating-count {
color: var(--text-muted);
}

/* text */

.cb-text-main {
font-size: 12px;
}

.cb-text-sub {
font-size: 11px;
color: var(--text-muted);
}

/* list */

.cb-list {
padding-left: 16px;
margin: 0;
font-size: 12px;
color: var(--text-main);
}

.cb-list li {
margin-bottom: 2px;
}

/* action buttons */

.cb-full-btn {
width: 100%;
justify-content: center;
}

/* responsive */

@media (max-width: 768px) {
.cb-compare-card {
border-radius: var(--radius-lg);
}

.cb-compare-scroll {
padding-bottom: 6px;
}
}
/* ===== BUSINESS PHOTO GALLERY ===== */

.pg-header {
margin-top: 10px;
padding: 14px 16px 12px;
}

.pg-header-top {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: flex-start;
}

.pg-business-name {
font-size: 18px;
font-weight: 700;
}

.pg-business-meta {
font-size: 13px;
color: var(--text-muted);
margin-top: 2px;
}

.pg-header-bottom {
margin-top: 10px;
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
}

.pg-count {
font-size: 13px;
}

.pg-count-number {
font-weight: 600;
}

.pg-hint {
font-size: 12px;
color: var(--text-muted);
}

/* grid */

.pg-grid-card {
margin-top: 14px;
padding: 12px 12px 14px;
}

.pg-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 10px;
}

.pg-item {
display: block;
border-radius: 12px;
overflow: hidden;
background: #e5e7eb;
cursor: pointer;
position: relative;
}

.pg-thumb {
width: 100%;
height: 120px;
overflow: hidden;
}

.pg-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.25s ease;
}

.pg-item:hover .pg-thumb img {
transform: scale(1.04);
}

/* lightbox (fullscreen) */

.pg-lightbox {
position: fixed;
inset: 0;
background: rgba(15, 23, 42, 0.86);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
pointer-events: none;
z-index: 50;
transition: opacity 0.2s ease;
}

/* show when targeted */
.pg-lightbox:target {
opacity: 1;
pointer-events: auto;
}

.pg-lightbox-inner {
max-width: 960px;
width: 100%;
padding: 14px 16px 16px;
box-sizing: border-box;
position: relative;
}

.pg-lightbox-body {
background: #000000;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
}

.pg-lightbox-body img {
width: 100%;
height: auto;
display: block;
max-height: calc(100vh - 160px);
object-fit: contain;
}

/* close button */

.pg-lightbox-close {
position: absolute;
top: 4px;
right: 8px;
width: 32px;
height: 32px;
border-radius: 999px;
background: rgba(15, 23, 42, 0.85);
display: flex;
align-items: center;
justify-content: center;
color: #e5e7eb;
}

.pg-lightbox-close svg {
width: 18px;
height: 18px;
}

/* footer */

.pg-lightbox-footer {
margin-top: 10px;
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
color: #e5e7eb;
font-size: 12px;
}

.pg-lightbox-caption {
max-width: 70%;
}

.pg-lightbox-nav {
display: flex;
align-items: center;
gap: 8px;
}

.pg-nav-link {
width: 32px;
height: 32px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.7);
display: flex;
align-items: center;
justify-content: center;
color: #e5e7eb;
}

.pg-nav-link svg {
width: 16px;
height: 16px;
}

/* responsive */

@media (max-width: 768px) {
.pg-lightbox-inner {
padding: 10px 10px 14px;
}

.pg-lightbox-body img {
max-height: calc(100vh - 140px);
}

.pg-lightbox-caption {
max-width: 100%;
}

.pg-lightbox-footer {
flex-direction: column;
align-items: flex-start;
}
}
/* ===== RATINGS & REVIEWS FULL PAGE ===== */

.rr-header {
margin-top: 10px;
padding: 14px 16px 14px;
}

.rr-header-top {
display: flex;
justify-content: space-between;
gap: 10px;
align-items: flex-start;
}

.rr-business-name {
font-size: 18px;
font-weight: 700;
}

.rr-business-meta {
font-size: 13px;
color: var(--text-muted);
margin-top: 2px;
}

.rr-header-rating {
text-align: right;
min-width: 150px;
}

.rr-score-main {
font-size: 24px;
font-weight: 700;
}

.rr-score-sub {
font-size: 12px;
color: var(--text-muted);
}

.rr-score-tagline {
font-size: 11px;
color: var(--text-muted);
margin-top: 2px;
}

/* bottom row */

.rr-header-bottom {
margin-top: 12px;
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
flex-wrap: wrap;
}

.rr-filter-chips {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.rr-chip {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
font-size: 12px;
padding: 4px 10px;
cursor: pointer;
}

.rr-chip-active,
.rr-chip:hover {
background: #eef2ff;
border-color: #c7d2fe;
color: #4338ca;
}

.rr-actions {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}

.rr-btn-write {
padding-inline: 14px;
font-size: 12px;
}

.rr-sort {
display: flex;
align-items: center;
gap: 6px;
font-size: 12px;
color: var(--text-muted);
}

.rr-sort-select {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
font-size: 12px;
padding: 5px 10px;
}

/* layout */

.rr-layout {
margin-top: 16px;
display: grid;
grid-template-columns: 2.3fr 1.1fr;
gap: 16px;
}

.rr-main {
display: flex;
flex-direction: column;
gap: 10px;
}

/* review cards */

.rr-review-card {
padding: 12px 14px 12px;
}

.rr-review-header {
display: flex;
gap: 10px;
align-items: center;
}

.rr-review-avatar {
width: 36px;
height: 36px;
border-radius: 999px;
background: #e5e7eb;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 14px;
color: #374151;
flex-shrink: 0;
}

.rr-review-meta {
flex: 1;
min-width: 0;
}

.rr-review-name-row {
display: flex;
justify-content: space-between;
gap: 6px;
align-items: baseline;
}

.rr-review-name {
font-size: 14px;
font-weight: 600;
}

.rr-review-rating {
display: inline-flex;
align-items: center;
gap: 3px;
font-size: 12px;
}

.rr-star-score {
font-weight: 600;
}

.rr-star-icon {
color: #facc15;
font-size: 13px;
}

.rr-review-sub {
font-size: 12px;
color: var(--text-muted);
margin-top: 2px;
}

.rr-review-body {
font-size: 13px;
margin-top: 8px;
line-height: 1.55;
color: var(--text-main);
}

.rr-review-tags {
margin-top: 8px;
display: flex;
flex-wrap: wrap;
gap: 6px;
}

/* pagination */

.rr-pagination {
margin-top: 10px;
display: flex;
gap: 6px;
flex-wrap: wrap;
}

.rr-page-btn {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #ffffff;
padding: 4px 10px;
font-size: 12px;
cursor: pointer;
}

.rr-page-btn-active {
background: #2563eb;
border-color: #2563eb;
color: #ffffff;
}

.rr-page-btn-disabled {
opacity: 0.5;
cursor: default;
}

/* sidebar */

.rr-sidebar {
display: flex;
flex-direction: column;
gap: 12px;
}

.rr-sidebar-card {
padding: 12px 14px 14px;
}

.rr-sidebar-title {
font-size: 14px;
font-weight: 600;
margin-bottom: 8px;
}

/* summary */

.rr-summary-top {
display: flex;
gap: 10px;
align-items: center;
}

.rr-summary-score {
width: 42px;
height: 42px;
border-radius: 12px;
background: #111827;
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 18px;
}

.rr-summary-text {
font-size: 12px;
}

.rr-summary-sub {
color: var(--text-muted);
}

/* breakdown bars */

.rr-breakdown-list {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 6px;
font-size: 12px;
}

.rr-breakdown-row {
display: grid;
grid-template-columns: 30px 1fr 40px;
align-items: center;
gap: 6px;
}

.rr-break-label {
font-size: 11px;
color: var(--text-muted);
}

.rr-break-bar {
height: 7px;
border-radius: 999px;
background: #e5e7eb;
overflow: hidden;
}

.rr-break-fill {
height: 100%;
border-radius: inherit;
background: #22c55e;
}

.rr-break-count {
font-size: 11px;
color: var(--text-muted);
text-align: right;
}

/* tag cloud */

.rr-tag-cloud {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 4px;
}

/* info */

.rr-info-text {
font-size: 12px;
color: var(--text-muted);
line-height: 1.55;
margin-bottom: 6px;
}

/* responsive */

@media (max-width: 960px) {
.rr-layout {
grid-template-columns: 1fr;
}

.rr-header-top {
flex-direction: column;
align-items: flex-start;
}

.rr-header-rating {
text-align: left;
}
}

@media (max-width: 640px) {
.rr-header-bottom {
flex-direction: column;
align-items: flex-start;
}

.rr-review-name-row {
flex-direction: column;
align-items: flex-start;
gap: 2px;
}
}
/* ===== CATEGORY FAQ PAGE ===== */

.fq-header {
margin-top: 10px;
padding: 14px 16px 12px;
}

.fq-meta-row {
margin-top: 8px;
display: flex;
justify-content: space-between;
gap: 10px;
align-items: center;
font-size: 12px;
}

.fq-meta-left {
display: flex;
flex-wrap: wrap;
gap: 6px;
align-items: center;
}

.fq-category-label {
font-weight: 500;
}

.fq-category-value {
color: var(--text-main);
}

.fq-dot {
color: var(--text-muted);
}

.fq-location {
color: var(--text-muted);
}

.fq-meta-right {
flex-shrink: 0;
}

.fq-search-wrap {
display: inline-flex;
align-items: center;
gap: 6px;
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
padding: 4px 10px;
}

.fq-search-wrap input {
border: none;
outline: none;
background: transparent;
font-size: 12px;
min-width: 200px;
}

/* layout */

.fq-layout {
margin-top: 16px;
display: grid;
grid-template-columns: 1.1fr 2.4fr;
gap: 16px;
}

/* sidebar */

.fq-sidebar {
padding: 12px 14px 14px;
align-self: flex-start;
}

.fq-sidebar-title {
font-size: 14px;
font-weight: 600;
margin-bottom: 6px;
}

.fq-cat-list {
display: flex;
flex-direction: column;
gap: 4px;
margin-top: 4px;
}

.fq-cat-item {
font-size: 13px;
padding: 6px 8px;
border-radius: 8px;
text-decoration: none;
color: var(--text-main);
}

.fq-cat-item:hover {
background: #f3f4f6;
}

.fq-cat-active {
background: #eef2ff;
color: #4338ca;
}

.fq-sidebar-note {
font-size: 11px;
color: var(--text-muted);
margin-top: 10px;
}

/* main */

.fq-main {
padding: 12px 16px 16px;
}

.fq-group-heading h3 {
font-size: 15px;
font-weight: 600;
}

.fq-group-heading span {
font-size: 12px;
color: var(--text-muted);
}

/* faq items */

.fq-item {
margin-top: 10px;
border-radius: 10px;
border: 1px solid var(--border-soft);
background: #f9fafb;
overflow: hidden;
}

.fq-item[open] {
background: #ffffff;
}

.fq-question {
list-style: none;
padding: 9px 12px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
}

.fq-question::-webkit-details-marker {
display: none;
}

.fq-answer {
padding: 0 12px 10px;
font-size: 13px;
color: var(--text-muted);
line-height: 1.55;
border-top: 1px solid var(--border-soft);
}

/* chevron icon */

.fq-chevron {
width: 16px;
height: 16px;
flex-shrink: 0;
stroke-width: 1.8;
transform: rotate(0deg);
transition: transform 0.18s ease;
}

/* rotate chevron when open */
.fq-item[open] .fq-chevron {
transform: rotate(180deg);
}

/* responsive */

@media (max-width: 960px) {
.fq-layout {
grid-template-columns: 1fr;
}

.fq-sidebar {
order: 2;
}

.fq-main {
order: 1;
}
}

@media (max-width: 640px) {
.fq-meta-row {
flex-direction: column;
align-items: flex-start;
}

.fq-search-wrap input {
min-width: 0;
width: 140px;
}
}
/* ===== MY ACCOUNT PAGE ===== */

.account-header-row {
margin-top: 18px;
margin-bottom: 10px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}

.account-title {
font-size: 20px;
font-weight: 700;
}

.account-subtitle {
font-size: 13px;
color: var(--text-muted);
margin-top: 2px;
}

.account-btn-primary {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 7px 16px;
border-radius: 999px;
background: var(--accent);
color: #ffffff;
font-size: 13px;
font-weight: 600;
text-decoration: none;
border: none;
box-shadow: 0 10px 24px rgba(249, 115, 22, 0.35);
cursor: pointer;
transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}

.account-btn-primary .icon-generic {
width: 18px;
height: 18px;
stroke: #ffffff;
}

.account-btn-primary:hover {
background: #ea580c;
transform: translateY(-1px);
box-shadow: 0 14px 30px rgba(249, 115, 22, 0.4);
}

/* layout */

.account-layout {
display: grid;
grid-template-columns: 260px minmax(0, 1fr);
gap: 16px;
margin-bottom: 24px;
}

.account-sidebar {
padding: 14px 14px 16px;
}

.account-main {
display: flex;
flex-direction: column;
gap: 16px;
}

/* user block */

.account-user-block {
display: flex;
gap: 10px;
align-items: center;
margin-bottom: 12px;
}

.account-avatar {
width: 44px;
height: 44px;
border-radius: 999px;
background: linear-gradient(135deg, #2563eb, #f97316);
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-weight: 700;
font-size: 18px;
}

.account-user-info {
flex: 1;
min-width: 0;
}

.account-user-name {
font-size: 14px;
font-weight: 600;
}

.account-user-meta {
font-size: 11px;
color: var(--text-muted);
}

/* sidebar nav */

.account-nav {
border-top: 1px solid var(--border-soft);
margin-top: 10px;
padding-top: 10px;
display: flex;
flex-direction: column;
gap: 4px;
}

.account-nav-item {
display: flex;
align-items: center;
gap: 8px;
padding: 7px 8px;
border-radius: 10px;
font-size: 13px;
color: #374151;
text-decoration: none;
transition: background 0.15s, color 0.15s;
}

.account-nav-item .icon-generic {
width: 18px;
height: 18px;
color: #6b7280;
}

.account-nav-item:hover {
background: #f3f4f6;
}

.account-nav-active {
background: var(--primary-soft);
color: #1d4ed8;
}

.account-nav-active .icon-generic {
color: #1d4ed8;
}

.account-nav-logout {
margin-top: 6px;
color: #b91c1c;
}

/* stats cards */

.account-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
gap: 12px;
}

.account-stat-card {
display: flex;
align-items: center;
gap: 10px;
padding: 12px 12px 12px;
}

.account-stat-icon {
width: 40px;
height: 40px;
border-radius: 14px;
background: #eff6ff;
display: flex;
align-items: center;
justify-content: center;
color: #2563eb;
}

.account-stat-icon .icon-generic {
width: 20px;
height: 20px;
}

.account-stat-text {
flex: 1;
min-width: 0;
}

.account-stat-label {
font-size: 11px;
color: var(--text-muted);
margin-bottom: 2px;
}

.account-stat-value {
font-size: 18px;
font-weight: 700;
}

.account-stat-sub {
font-size: 11px;
color: var(--text-muted);
margin-left: 3px;
}

/* progress */

.account-progress {
margin-top: 4px;
width: 100%;
height: 6px;
border-radius: 999px;
background: #e5e7eb;
overflow: hidden;
}

.account-progress-bar {
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #22c55e, #16a34a);
}

/* listings & enquiries */

.account-content-row {
align-items: flex-start;
}

.account-listing-item,
.account-enquiry-item {
padding: 8px 0;
border-bottom: 1px solid var(--border-soft);
display: flex;
justify-content: space-between;
gap: 8px;
}

.account-listing-item:last-child,
.account-enquiry-item:last-child {
border-bottom: none;
}

.account-listing-main,
.account-enquiry-main {
flex: 1;
min-width: 0;
}

.account-listing-name,
.account-enquiry-name {
font-size: 13px;
font-weight: 600;
}

.account-listing-meta,
.account-enquiry-meta {
font-size: 11px;
color: var(--text-muted);
margin-top: 2px;
}

.account-enquiry-message {
font-size: 12px;
color: #374151;
margin-top: 3px;
}

.account-listing-actions,
.account-enquiry-actions {
display: flex;
flex-direction: column;
gap: 4px;
align-items: flex-end;
font-size: 11px;
}

.account-link-sm {
color: var(--primary);
text-decoration: none;
font-weight: 500;
}

.account-link-sm:hover {
text-decoration: underline;
}

.account-empty-text {
font-size: 12px;
color: var(--text-muted);
}

/* status pill */

.account-status-pill {
display: inline-flex;
align-items: center;
padding: 2px 7px;
border-radius: 999px;
font-size: 10px;
margin-left: 6px;
}

.account-status-active {
background: #ecfdf5;
color: #15803d;
}

.account-status-pending {
background: #fefce8;
color: #854d0e;
}

.account-status-paused {
background: #fee2e2;
color: #b91c1c;
}

/* quick actions */

.account-quick-card {
padding-top: 14px;
}

.account-quick-grid {
margin-top: 6px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 10px;
}

.account-quick-item {
border-radius: 14px;
border: 1px solid var(--border-soft);
padding: 9px 10px;
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
background: #ffffff;
transition: background 0.15s, box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}

.account-quick-item .icon-generic {
width: 20px;
height: 20px;
color: #2563eb;
}

.account-quick-item:hover {
background: var(--primary-soft);
border-color: #bfdbfe;
transform: translateY(-1px);
box-shadow: 0 8px 20px rgba(148, 163, 184, 0.35);
}

.account-quick-title {
font-size: 13px;
font-weight: 600;
color: var(--text-main);
}

.account-quick-sub {
font-size: 11px;
color: var(--text-muted);
}

/* responsive */

@media (max-width: 900px) {
.account-layout {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.account-header-row {
flex-direction: column;
align-items: flex-start;
}
}
/* ===== MY LISTINGS PAGE ===== */

.account-listings-toolbar {
padding: 12px 14px 12px;
}

/* tabs */

.account-tabs-row {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 10px;
}

.account-tab {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 10px;
border-radius: 999px;
font-size: 12px;
border: 1px solid var(--border-soft);
background: #ffffff;
color: #374151;
text-decoration: none;
cursor: pointer;
transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.account-tab-count {
min-width: 20px;
height: 18px;
border-radius: 999px;
background: #f3f4f6;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 11px;
padding: 0 6px;
}

.account-tab-active {
background: var(--primary-soft);
border-color: #bfdbfe;
color: #1d4ed8;
}

.account-tab-active .account-tab-count {
background: #1d4ed8;
color: #ffffff;
}

/* search / filter row */

.account-listings-filter-row {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}

.account-search-wrap {
flex: 1;
min-width: 220px;
display: flex;
align-items: center;
gap: 8px;
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
padding: 6px 10px;
}

.account-search-wrap .icon-generic {
width: 18px;
height: 18px;
color: #9ca3af;
}

.account-search-wrap input {
border: none;
outline: none;
background: transparent;
font-size: 13px;
width: 100%;
color: var(--text-main);
}

.account-search-wrap input::placeholder {
color: #9ca3af;
}

.account-filter-select-wrap {
min-width: 160px;
}

.account-filter-select {
width: 100%;
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #ffffff;
padding: 7px 10px;
font-size: 12px;
color: #374151;
}

.account-filter-select:focus {
outline: none;
border-color: #2563eb;
box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.06);
}

/* listings card */

.account-listings-card {
padding-top: 14px;
}

/* listing row – more detailed than dashboard preview */

.account-listing-row {
padding: 9px 0;
border-bottom: 1px solid var(--border-soft);
display: flex;
gap: 10px;
align-items: flex-start;
}

.account-listing-row:last-child {
border-bottom: none;
}

.account-listing-main {
flex: 1;
min-width: 0;
}

.account-listing-name {
font-size: 14px;
font-weight: 600;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
}

.account-type-pill {
display: inline-flex;
align-items: center;
padding: 2px 7px;
border-radius: 999px;
font-size: 10px;
background: #eff6ff;
color: #1d4ed8;
}

.account-listing-meta {
font-size: 11px;
color: var(--text-muted);
margin-top: 3px;
}

.account-listing-desc {
font-size: 12px;
color: #374151;
margin-top: 4px;
}

/* mini stats row */

.account-listing-stats {
margin-top: 5px;
display: flex;
flex-wrap: wrap;
gap: 6px;
}

.account-stat-chip {
border-radius: 999px;
padding: 3px 8px;
background: #f3f4f6;
font-size: 11px;
display: inline-flex;
align-items: center;
gap: 4px;
}

.account-stat-chip .label {
color: #6b7280;
}

.account-stat-chip .value {
color: #111827;
font-weight: 500;
}

.account-stat-chip.subtle {
background: #ffffff;
border: 1px dashed #e5e7eb;
}

/* full actions column */

.account-listing-actions-full {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 4px;
min-width: 140px;
}

.account-tag-btn {
border-radius: 999px;
border: 1px solid #e5e7eb;
background: #ffffff;
padding: 4px 9px;
font-size: 11px;
cursor: pointer;
color: #374151;
transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.account-tag-btn.subtle:hover {
background: #f3f4f6;
}

.account-tag-btn.danger {
border-color: #fecaca;
color: #b91c1c;
}

.account-tag-btn.danger:hover { 
background: #fee2e2;
}

/* responsive */

@media (max-width: 900px) {
.account-listing-row {
flex-direction: column;
align-items: flex-start;
}

.account-listing-actions-full {
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
margin-top: 6px;
}
}
/* ===== PROFILE & ACCOUNT PAGE ===== */

.account-profile-grid {
display: grid;
grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
gap: 16px;
}

.account-profile-card {
padding-top: 14px;
}

/* form base */

.account-form {
margin-top: 4px;
}

.account-field {
margin-bottom: 12px;
}

.account-label {
display: block;
font-size: 12px;
font-weight: 500;
color: #374151;
margin-bottom: 4px;
}

.account-required {
color: #b91c1c;
margin-left: 2px;
font-weight: 600;
}

.account-optional {
font-size: 11px;
color: #6b7280;
margin-left: 4px;
font-weight: 400;
}

/* input wrap */

.account-input-wrap {
border-radius: 999px;
border: 1px solid var(--border-soft);
background: #f9fafb;
padding: 6px 10px;
display: flex;
align-items: center;
gap: 8px;
}

.account-input-wrap:focus-within {
border-color: #2563eb;
background: #ffffff;
box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.06);
}

.account-input-wrap input {
border: none;
outline: none;
background: transparent;
font-size: 13px;
width: 100%;
color: #111827;
}

.account-input-wrap input::placeholder {
color: #9ca3af;
}

/* inline note / errors */

.account-note {
margin-top: 3px;
font-size: 11px;
color: #6b7280;
}

.account-error {
margin-top: 3px;
font-size: 11px;
color: #b91c1c;
}

/* account type badge */

.account-badge-row {
display: flex;
flex-direction: column;
gap: 4px;
}

.account-type-pill-big {
display: inline-flex;
align-items: center;
padding: 4px 10px;
border-radius: 999px;
font-size: 11px;
background: #eff6ff;
color: #1d4ed8;
}

/* actions */

.account-actions-row {
margin-top: 6px;
}

.account-save-btn {
border-radius: 999px;
border: none;
padding: 7px 16px;
font-size: 13px;
font-weight: 600;
background: var(--primary);
color: #ffffff;
cursor: pointer;
box-shadow: 0 10px 22px rgba(37, 99, 235, 0.35);
transition: background 0.15s, transform 0.15s, box-shadow 0.15s;
}

.account-save-btn:hover {
background: #1d4ed8;
transform: translateY(-1px);
box-shadow: 0 14px 28px rgba(37, 99, 235, 0.4);
}

.account-save-secondary {
background: #111827;
box-shadow: 0 10px 20px rgba(15, 23, 42, 0.35);
}

.account-save-secondary:hover {
background: #020617;
}

/* password eye button */

.account-input-password {
position: relative;
padding-right: 36px;
}

.account-eye-btn {
position: absolute;
right: 7px;
top: 50%;
transform: translateY(-50%);
border: none;
background: transparent;
padding: 0;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
}

.account-eye-btn .icon-generic {
width: 18px;
height: 18px;
color: #9ca3af;
}

/* notification check rows */

.account-check-row {
display: flex;
gap: 8px;
align-items: flex-start;
padding: 6px 8px;
border-radius: 12px;
border: 1px solid #e5e7eb;
background: #ffffff;
margin-bottom: 6px;
font-size: 12px;
}

.account-check-row input {
margin-top: 2px;
width: 14px;
height: 14px;
}

.account-check-title {
font-size: 12px;
font-weight: 500;
color: #111827;
}

.account-check-sub {
font-size: 11px;
color: #6b7280;
}

/* danger zone */

.account-danger-box {
margin-top: 14px;
border-radius: 12px;
border: 1px solid #fee2e2;
background: #fef2f2;
padding: 8px 10px;
font-size: 12px;
}

.account-danger-title {
font-weight: 600;
color: #b91c1c;
margin-bottom: 2px;
}

.account-danger-text {
font-size: 11px;
color: #7f1d1d;
margin-bottom: 6px;
}

.account-danger-actions {
display: flex;
gap: 6px;
}

/* reuse .account-tag-btn from My Listings; just ensures alignment here */
.account-danger-actions .account-tag-btn {
font-size: 11px;
}

/* responsive */

@media (max-width: 900px) {
.account-profile-grid {
grid-template-columns: 1fr;
}
}/* ===== ENQUIRIES PAGE ===== */

.account-enquiry-filters {
padding: 12px 14px;
}

.account-enquiries-card {
padding-top: 14px;
}

/* enquiry row */

.account-enquiry-full {
padding: 12px 0;
border-bottom: 1px solid var(--border-soft);
display: grid;
grid-template-columns: 1.4fr 2fr 0.8fr;
gap: 16px;
align-items: flex-start;
}

.account-enquiry-full:last-child {
border-bottom: none;
}

/* left block */

.account-enquiry-left {
display: flex;
flex-direction: column;
gap: 3px;
}

.account-enquiry-name {
font-size: 14px;
font-weight: 600;
color: #111827;
}

.account-enquiry-for {
font-size: 12px;
color: #374151;
}

.account-enquiry-meta {
font-size: 11px;
color: var(--text-muted);
}

/* message preview */

.account-enquiry-message-block {
display: flex;
flex-direction: column;
gap: 4px;
}

.account-enquiry-preview {
font-size: 13px;
color: #374151;
}

.account-enquiry-contact {
font-size: 12px;
color: #2563eb;
}

/* actions */

.account-enquiry-actions-full {
display: flex;
flex-direction: column;
gap: 6px;
align-items: flex-end;
}

@media (max-width: 900px) {
.account-enquiry-full {
grid-template-columns: 1fr;
}

.account-enquiry-actions-full {
flex-direction: row;
justify-content: flex-start;
margin-top: 6px;
}
}
/* ===== REVIEWS & RATINGS PAGE ===== */

.account-reviews-summary-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
gap: 12px;
margin-bottom: 4px;
}

.account-review-stat {
padding: 12px 12px 12px;
}

.account-review-stat-main {
font-size: 12px;
}

.account-review-label {
font-size: 11px;
color: var(--text-muted);
margin-bottom: 2px;
}

.account-review-value {
font-size: 20px;
font-weight: 700;
color: #111827;
}

.account-review-outof {
font-size: 12px;
color: var(--text-muted);
margin-left: 4px;
}

.account-review-subtext {
margin-top: 4px;
font-size: 11px;
color: #6b7280;
}

/* star rating display */

.account-rating-stars {
margin-top: 4px;
display: flex;
gap: 2px;
align-items: center;
}

.account-rating-stars.sm {
margin-top: 0;
}

.star-icon {
width: 15px;
height: 15px;
stroke: none;
fill: #e5e7eb;
}

.star-icon.filled {
fill: #fbbf24;
}

.star-icon.half path {
fill: url(#halfStarGradient);
}

/* reviews list */

.account-reviews-list-card {
padding-top: 14px;
}

.account-review-row {
padding: 10px 0;
border-bottom: 1px solid var(--border-soft);
display: grid;
grid-template-columns: 0.9fr 2.1fr 0.8fr;
gap: 14px;
align-items: flex-start;
}

.account-review-row:last-child {
border-bottom: none;
}

/* left */

.account-review-left {
display: flex;
flex-direction: column;
gap: 3px;
}

.account-review-rating-line {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 4px;
}

.account-review-badge {
min-width: 28px;
text-align: center;
border-radius: 999px;
padding: 2px 7px;
font-size: 12px;
font-weight: 600;
background: #fef3c7;
color: #92400e;
}

.account-review-customer {
font-size: 13px;
font-weight: 600;
color: #111827;
}

.account-review-listing {
font-size: 12px;
color: #374151;
}

.account-review-meta {
font-size: 11px;
color: var(--text-muted);
}

/* middle */

.account-review-middle {
font-size: 13px;
color: #111827;
}

.account-review-title {
font-size: 13px;
font-weight: 600;
margin-bottom: 3px;
}

.account-review-text {
font-size: 13px;
color: #374151;
}

/* reply box */

.account-review-reply-box {
margin-top: 6px;
border-radius: 12px;
border: 1px solid #e5e7eb;
background: #f9fafb;
padding: 6px 8px;
font-size: 12px;
}

.account-review-reply-label {
font-size: 11px;
font-weight: 600;
color: #111827;
margin-bottom: 2px;
}

.account-review-reply-text {
font-size: 12px;
color: #374151;
}

.account-review-reply-meta {
margin-top: 2px;
font-size: 11px;
color: #6b7280;
}

/* inline reply */

.account-review-reply-inline {
margin-top: 6px;
}

.account-review-reply-input {
width: 100%;
min-height: 52px;
border-radius: 10px;
border: 1px solid var(--border-soft);
padding: 6px 8px;
font-size: 12px;
resize: vertical;
font-family: inherit;
}

.account-review-reply-input:focus {
outline: none;
border-color: #2563eb;
box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.06);
background: #ffffff;
}

.account-review-reply-actions {
margin-top: 4px;
}

/* actions */

.account-review-actions {
display: flex;
flex-direction: column;
gap: 5px;
align-items: flex-end;
}

/* responsive */

@media (max-width: 900px) {
.account-review-row {
grid-template-columns: 1fr;
}

.account-review-actions {
flex-direction: row;
justify-content: flex-start;
margin-top: 4px;
}
}

