/* Beycome FAQ — matches /calculators/home-profit-calculator design */

/* Roboto — self-hosted in theme (same files as calculator) */
@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://www.beycome.com/faq/wp-content/themes/beycome-faq-theme/assets/roboto-400.woff2') format('woff2');
}

@font-face {
    font-family: Roboto;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('https://www.beycome.com/faq/wp-content/themes/beycome-faq-theme/assets/roboto-700.woff2') format('woff2');
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { overflow-x: clip; max-width: 100vw; }

:root {
    --c-primary: #162432;
    --c-secondary: hsl(210, 7.5%, 31.4%);
    --c-accent: hsl(220, 61%, 50%);
    --c-accent-orange: hsla(16, 100%, 73%, 1);
    --c-border: hsla(0, 0%, 88%, 1);
    --c-green: hsla(137, 28%, 49%, 1);
    --c-bg: hsl(240, 4%, 95.5%);
    --c-white: #ffffff;
    --font-body: Roboto, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    --text-xs: 14px;
    --text-sm: 16px;
    --text-md: 18px;
    --text-lg: 22px;
    --text-xl: 28px;
    --text-2xl: 40px;
    --text-3xl: 63px;
    --font-title: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

body, body * {
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-size: 16px;
    font-weight: 400;
    color: var(--c-primary);
    background: var(--c-white);
    line-height: 1.6;
}

a { color: inherit; text-decoration: none; }

/* ===== HEADER — exact match: 81px, sticky, white, border-bottom ===== */
.bc-header {
    background: var(--c-white);
    border-bottom: 1px solid #f3f4f6;
    height: 81px;
    display: flex;
    align-items: center;
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

.bc-header-inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
}

/* Header always 1280px — matches calculator */

/* Container always 1280px — matches calculator */

.bc-header-nav {
    display: flex;
    gap: 32px;
    align-items: center;
}

.bc-header-nav a {
    font-size: 16px;
    font-weight: 600;
    color: var(--c-primary);
    letter-spacing: normal;
    line-height: 24px;
    text-decoration: none;
    transition: color 0.2s;
}

.bc-header-nav a:hover {
    color: var(--c-accent-orange);
}

.bc-header-logo {
    justify-self: center;
    display: flex;
    align-items: center;
    max-width: 200px;
}

.bc-header-logo img {
    height: 27px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
}

.bc-header-right {
    justify-self: end;
}

/* Header search — icon on right, input expands left on click */
.bc-hsearch {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}

.bc-hsearch-input {
    width: 0;
    opacity: 0;
    padding: 0;
    border: none;
    height: 40px;
    font-size: var(--text-xs);
    font-family: var(--font-body);
    color: var(--c-primary);
    background: transparent;
    outline: none;
    transition: width 0.3s ease, opacity 0.2s ease, padding 0.3s ease, background 0.2s ease, border 0.2s ease;
    border-radius: 20px;
}

.bc-hsearch.open .bc-hsearch-input {
    width: 260px;
    opacity: 1;
    padding: 0 12px;
    background: hsl(240, 4%, 95.5%);
    border: 1px solid var(--c-border);
}

.bc-hsearch.open .bc-hsearch-input:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 3px hsla(220, 61%, 50%, 0.12);
    background: var(--c-white);
}

.bc-hsearch-input::placeholder {
    color: hsla(210, 39%, 14%, 0.35);
    font-size: var(--text-xs);
}

.bc-hsearch-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    color: var(--c-primary);
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bc-hsearch-btn:hover {
    background: #f3f4f6;
}

/* ===== HERO — matches calculator hero section ===== */
.bc-hero {
    background: var(--c-white);
    padding: 64px 24px 40px;
    text-align: center;
}

.bc-hero-inner {
    max-width: 672px;
    margin: 0 auto;
}

.bc-hero h1 {
    font-family: var(--font-title);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--c-primary);
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: normal;
}

/* Home page only: keep 63px hero H1 on desktop */
body.home .bc-hero h1 {
    font-size: var(--text-3xl);
}

.bc-hero p {
    font-size: var(--text-lg);
    line-height: 1.5;
    color: rgb(74, 80, 86);
    margin-bottom: 32px;
}

.bc-archive-desc {
    font-size: var(--text-md);
    color: var(--c-secondary);
    line-height: 1.5;
    margin-top: 12px;
    margin-bottom: 16px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== SEARCH BAR ===== */
.bc-search-bar {
    max-width: 600px;
    margin: 0 auto;
}

.bc-search-bar form {
    position: relative;
}

.bc-search-bar input {
    width: 100%;
    height: 52px;
    padding: 0 56px 0 20px;
    border: 1px solid var(--c-border);
    border-radius: 26px;
    font-size: 16px;
    font-family: var(--font-body);
    color: var(--c-primary);
    background: var(--c-white);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.bc-search-bar input:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 3px hsla(220, 61%, 50%, 0.15);
}

.bc-search-bar input::placeholder {
    color: hsla(210, 39%, 14%, 0.4);
}

.bc-search-bar button {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: var(--c-accent-orange);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

.bc-search-bar button:hover {
    opacity: 0.85;
}

/* ===== CONTAINERS ===== */
.bc-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

/* No 1536px breakpoint — always 1280px like calculator */

.bc-section {
    padding: 48px 0;
}

.bc-section-title {
    font-family: var(--font-title);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 24px;
    line-height: 1.2;
}

@media (min-width: 768px) {
    .bc-section-title {
        font-size: var(--text-2xl);
    }
}

/* ===== CATEGORY CARDS — matches calculator explore cards ===== */
.bc-categories {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media (min-width: 768px) {
    .bc-categories {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1100px) {
    .bc-categories {
        grid-template-columns: repeat(4, 1fr);
    }
}

.bc-category-card {
    display: block;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 1px 3px 0 rgba(21, 35, 48, 0.04), 0 4px 20px -4px rgba(21, 35, 48, 0.06);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.bc-category-card:hover {
    border-color: hsla(220, 61%, 50%, 0.5);
    box-shadow: 0 4px 24px -4px rgba(21, 35, 48, 0.12);
    transform: translateY(-2px);
}

.bc-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.bc-category-card h3 {
    font-family: var(--font-title);
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 8px;
}

.bc-category-card p {
    font-size: var(--text-sm);
    color: var(--c-secondary);
    line-height: 1.5;
    margin-bottom: 14px;
}

.bc-card-arrow {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--c-accent-orange);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s;
}

.bc-category-card:hover .bc-card-arrow {
    gap: 8px;
}

/* ===== ARCHIVE CARD GRID ===== */
.bc-archive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .bc-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1100px) {
    .bc-archive-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.bc-archive-card {
    display: flex;
    flex-direction: column;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 1px 3px 0 rgba(21, 35, 48, 0.04), 0 4px 20px -4px rgba(21, 35, 48, 0.06);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
    text-decoration: none;
}

.bc-archive-card:hover {
    border-color: hsla(220, 61%, 50%, 0.5);
    box-shadow: 0 4px 24px -4px rgba(21, 35, 48, 0.12);
    transform: translateY(-2px);
}

.bc-archive-card-cat {
    display: inline-block;
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-accent);
    margin-bottom: 8px;
}

.bc-archive-card-title {
    font-family: var(--font-title);
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--c-primary);
    line-height: 1.4;
    margin-bottom: 10px;
}

.bc-archive-card-excerpt {
    font-size: var(--text-xs);
    color: var(--c-secondary);
    line-height: 1.6;
    margin-bottom: 16px;
    flex-grow: 1;
}

.bc-archive-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--text-xs);
    color: var(--c-secondary);
    padding-top: 16px;
}

.bc-archive-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bc-archive-card-meta svg {
    opacity: 0.5;
}

/* ===== ARTICLE LIST ===== */
.bc-article-list {
    display: flex;
    flex-direction: column;
}

.bc-article-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #e5e7eb;
    font-size: var(--text-md);
    color: var(--c-primary);
    transition: color 0.2s, font-weight 0.15s;
}

.bc-article-row:last-child {
    border-bottom: none;
}

.bc-article-row:hover {
    color: var(--c-accent-orange);
    font-weight: 700;
}

.bc-article-cat {
    font-size: var(--text-xs);
    color: var(--c-secondary);
    white-space: nowrap;
    margin-left: 16px;
}

/* ===== PREV / NEXT NAVIGATION ===== */
.bc-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.bc-post-nav a {
    display: block;
    background: none;
    border: none;
    padding: 12px 0;
    text-decoration: none;
    transition: color 0.2s;
}

.bc-post-nav a:hover {
    color: var(--c-accent-orange);
}

.bc-post-nav-label {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-secondary);
    margin-bottom: 6px;
}

.bc-post-nav-title {
    display: none;
}

.bc-post-nav .bc-post-nav-next {
    text-align: right;
}

@media (max-width: 768px) {
    .bc-post-nav {
        grid-template-columns: 1fr;
    }
}

/* ===== TOPIC PILLS ===== */
.bc-topic-sub {
    display: inline-block;
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-accent);
    background: hsla(220, 61%, 50%, 0.1);
    border-radius: 20px;
    padding: 4px 14px;
    transition: background 0.2s, color 0.2s;
    line-height: 1.4;
    white-space: nowrap;
}

.bc-topic-sub:hover {
    background: hsla(220, 61%, 50%, 0.2);
}

.bc-topic-grey {
    color: var(--c-primary) !important;
    background: hsla(0, 0%, 0%, 0.06) !important;
}

.bc-topic-grey:hover {
    background: hsla(0, 0%, 0%, 0.1) !important;
}

/* ===== DISCOVER MORE TOPICS ===== */
.bc-footer-topics-section {
    padding: 16px 0 32px;
    background: var(--c-bg);
}

.bc-footer-topics-label {
    font-family: var(--font-title);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 16px;
}

.bc-footer-topics-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bc-topic-grey {
    color: var(--c-primary) !important;
    background: hsla(0, 0%, 0%, 0.06) !important;
}

/* ===== FOOTER — matches calculator pages dark footer ===== */
.bc-footer {
    background: #282828;
    color: white;
    padding: 80px 32px 32px;
    margin-top: 0;
}

.bc-footer-inner {
    max-width: 1280px;
    margin: 0 auto;
}

.bc-footer-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 44px;
    margin-bottom: 64px;
}

@media (min-width: 768px) {
    .bc-footer-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1024px) {
    .bc-footer-grid {
        grid-template-columns: 1fr 1fr 1fr 2fr;
    }
}

.bc-footer h4 {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    margin-bottom: 24px;
    color: #9ca3af;
}

.bc-footer ul {
    list-style: none;
    padding: 0;
}

.bc-footer li {
    margin-bottom: 16px;
}

.bc-footer a {
    font-size: var(--text-xs);
    font-weight: 400;
    color: white;
    transition: color 0.2s;
}

.bc-footer a:hover {
    color: white;
}

.bc-footer-contact p {
    font-size: var(--text-xs);
    color: white;
    margin-bottom: 16px;
    line-height: 1.5;
}

.bc-footer-hours {
    padding-top: 8px;
}

.bc-footer-hours p {
    margin-bottom: 4px;
}

.bc-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-top: 16px;
}

.bc-footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: var(--text-xs);
    font-weight: 700;
    color: white !important;
    min-width: 160px;
    transition: opacity 0.2s;
}

.bc-footer-btn:hover {
    opacity: 0.9;
    color: white !important;
}

.bc-footer-btn-call {
    background: var(--c-accent-orange);
}

.bc-footer-btn-whatsapp {
    background: #25D366;
}

.bc-footer-social {
    margin-top: 32px;
}

.bc-footer-social-title {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: #9ca3af;
    margin-bottom: 12px;
}

.bc-footer-social-icons {
    display: flex;
    gap: 4px;
    align-items: center;
}

.bc-footer-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: var(--text-xs);
    font-weight: 700;
    color: white !important;
    transition: border-color 0.2s;
}

.bc-footer-social-icons a:hover {
    border-color: var(--c-accent-orange);
}

.bc-footer-disclaimer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 32px;
    font-size: var(--text-xs);
    color: #9ca3af;
    line-height: 1.6;
}

.bc-footer-disclaimer p {
    margin-bottom: 16px;
}

.bc-footer-disclaimer a {
    font-size: var(--text-xs);
    color: var(--c-accent);
    text-decoration: underline;
    display: inline;
    font-weight: 400;
}

.bc-footer-copy {
    padding-top: 16px;
    text-align: center;
}

/* ===== TABLE OF CONTENTS ===== */
.bc-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bc-toc-item {
    margin: 0;
}

.bc-toc-item a {
    display: block;
    padding: 8px 0 8px 12px;
    font-size: var(--text-xs);
    font-weight: 400;
    color: var(--c-secondary);
    border-left: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
    line-height: 1.4;
}

.bc-toc-item a:hover {
    color: var(--c-primary);
}

.bc-toc-item a.active {
    color: var(--c-primary);
    font-weight: 700;
    border-left-color: var(--c-accent-orange);
}

.bc-toc-sub a {
    padding-left: 24px;
    font-size: var(--text-xs);
}

/* ===== RESOURCES GRID — matches calculator Resources section ===== */
.bc-resources-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}

@media (min-width: 768px) {
    .bc-resources-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
}

.bc-resources-heading {
    font-family: var(--font-title);
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 12px;
}

.bc-resources-list {
    list-style: none;
    padding: 0;
}

.bc-resources-list li {
    padding: 0;
}

.bc-resources-list a {
    display: block;
    padding: 6px 0;
    font-size: 16px;
    color: var(--c-secondary);
    transition: color 0.2s;
}

.bc-resources-list a:hover {
    color: var(--c-accent-orange);
    font-weight: 700;
}

/* ===== FAQ ACCORDION ===== */
.bc-faq-item {
    border-bottom: 1px solid #e5e7eb;
}

/* FAQ section title — exact clone of calculator FAQ */
.bc-faq-section-title {
    font-family: var(--font-title);
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 64px;
    text-align: center;
}

.bc-faq-subtitle {
    font-size: var(--text-lg);
    color: rgb(74, 80, 86);
    text-align: center;
    margin-top: -56px;
    margin-bottom: 48px;
    line-height: 1.5;
}

/* 2-column FAQ layout — matches calculator (two separate columns) */
.bc-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 64px;
}

@media (min-width: 768px) {
    .bc-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.bc-faq-col {
    display: flex;
    flex-direction: column;
}

.bc-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--c-primary);
    text-align: left;
    gap: 12px;
}

.bc-faq-question:hover {
    color: var(--c-primary);
}

.bc-faq-icon {
    font-size: var(--text-xl);
    color: var(--c-primary);
    transition: transform 0.3s ease;
    flex-shrink: 0;
    font-weight: 400;
}

.bc-faq-item.open .bc-faq-icon {
    transform: rotate(45deg);
}

.bc-faq-answer {
    display: none;
    font-size: 16px;
    color: rgb(107, 114, 128);
    line-height: 1.625;
    padding-bottom: 8px;
}

.bc-faq-answer a {
    color: var(--c-accent-orange);
    text-decoration: underline;
}

.bc-faq-answer a:hover {
    text-decoration: none;
}

.bc-faq-item.open .bc-faq-answer {
    display: block;
}

/* ===== READING PROGRESS BAR ===== */
.bc-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    background: var(--c-accent-orange);
    z-index: 999;
    transition: width 0.1s linear;
}

/* ===== INLINE BREADCRUMB (inside article body for SEO) ===== */
.bc-inline-breadcrumb {
    font-size: var(--text-xs);
    color: var(--c-secondary);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.bc-inline-breadcrumb a {
    color: var(--c-secondary);
    transition: color 0.2s;
}

.bc-inline-breadcrumb a:hover {
    color: var(--c-accent-orange);
}

/* ===== AUTO INTERNAL LINKS ===== */
.bc-auto-link {
    color: var(--c-accent-orange) !important;
    text-decoration: underline !important;
    text-decoration-color: hsla(16, 100%, 73%, 0.3) !important;
    text-underline-offset: 2px;
}

.bc-auto-link:hover {
    text-decoration-color: var(--c-accent-orange) !important;
}

/* ===== SAVINGS CTA ===== */
.bc-savings-cta {
    margin-top: 20px;
    margin-bottom: 0;
}

.bc-savings-cta-inner {
    background: linear-gradient(135deg, #162432 0%, #1e3a50 100%);
    border-radius: 16px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.bc-savings-cta-text h2 {
    font-family: var(--font-title);
    font-size: var(--text-md);
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
}

.bc-savings-cta-text p {
    font-size: var(--text-sm);
    color: hsla(0, 0%, 100%, 0.75);
    line-height: 1.5;
    margin: 0;
}

.bc-savings-cta-text strong {
    color: white;
}

.bc-savings-amount {
    color: var(--c-accent-orange) !important;
}

.bc-savings-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bc-savings-cta-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bc-savings-calc-link {
    font-size: var(--text-xs);
    font-weight: 700;
    color: hsla(0, 0%, 100%, 0.6) !important;
    align-self: center;
    transition: color 0.2s;
    white-space: nowrap;
}

.bc-savings-calc-link:hover {
    color: white !important;
}

/* ===== EXPLORE SECTION (related cards below article) ===== */
.bc-explore-section {
    padding: 20px 0 0;
}

.bc-explore-title {
    font-family: var(--font-title);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 24px;
}

.bc-explore-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .bc-explore-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ===== BREADCRUMB BAR ===== */
.bc-breadcrumb-bar {
    background: var(--c-white);
    border-bottom: 1px solid #f3f4f6;
    padding: 12px 0;
}

.bc-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--text-xs);
    color: var(--c-secondary);
    flex-wrap: wrap;
}

.bc-breadcrumb a {
    color: var(--c-secondary);
    transition: color 0.2s;
}

.bc-breadcrumb a:hover {
    color: var(--c-accent-orange);
}

.bc-breadcrumb-current {
    color: var(--c-primary);
    font-weight: 700;
}

/* ===== CATEGORY PILL ===== */
.bc-category-pill {
    display: inline-block;
    padding: 4px 14px;
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 20px;
    background: hsla(220, 61%, 50%, 0.1);
    color: var(--c-accent);
    transition: background 0.2s;
}

.bc-category-pill:hover {
    background: hsla(220, 61%, 50%, 0.2);
}

.bc-category-pill.bc-pill--selling  { color: #f44100; background: hsla(16,  100%, 73%, 0.12); }
.bc-category-pill.bc-pill--buying   { color: #1136ed; background: hsla(220, 61%, 50%, 0.12); }
.bc-category-pill.bc-pill--homeowner{ color: #3a6847; background: hsla(137, 28%,  49%, 0.12); }
.bc-category-pill.bc-pill--local    { color: #c2136b; background: hsla(330, 82%,  60%, 0.12); }

/* ===== ARTICLE META ===== */
.bc-article-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    font-size: var(--text-xs);
    color: var(--c-secondary);
}

.bc-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bc-meta-item svg {
    flex-shrink: 0;
    opacity: 0.6;
}

.bc-meta-dot {
    font-size: var(--text-md);
    line-height: 1;
    opacity: 0.4;
}

/* ===== SINGLE ARTICLE LAYOUT ===== */
.bc-article-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

/* Prevent wide images from stretching the 1fr column beyond its share.
   Without this, a 1024px image inside the article pushes the sidebar out of the container. */
.bc-article-layout > * {
    min-width: 0;
}

@media (min-width: 1024px) {
    .bc-article-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
    }
}

.bc-article-content {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 1px 3px 0 rgba(21, 35, 48, 0.04), 0 4px 20px -4px rgba(21, 35, 48, 0.06);
    font-size: var(--text-md);
    line-height: 1.75;
    color: var(--c-primary);
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.bc-article-content h2 {
    font-family: var(--font-title);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--c-primary);
    margin: 32px 0 16px;
    scroll-margin-top: 100px;
}

.bc-article-content h3 {
    font-family: var(--font-title);
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--c-primary);
    margin: 24px 0 12px;
    scroll-margin-top: 100px;
}

.bc-article-content p {
    margin-bottom: 16px;
}

.bc-article-content ul,
.bc-article-content ol {
    margin: 0 0 16px 24px;
}

.bc-article-content li {
    margin-bottom: 8px;
}

.bc-article-content a {
    color: var(--c-accent-orange);
    text-decoration: underline;
}

.bc-article-content a:hover {
    text-decoration: none;
}

.bc-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 16px 0;
}

/* WordPress wp-caption figures set inline width="XYZpx" which forces the article column wider than its share.
   Force all figures / wp-caption wrappers to respect their container width. */
.bc-article-content figure,
.bc-article-content .wp-caption,
.bc-article-content figure.wp-caption,
.bc-article-content figure.aligncenter,
.bc-article-content figure.alignleft,
.bc-article-content figure.alignright,
.bc-article-content figure.alignnone,
.bc-article-content .wp-block-image {
    max-width: 100% !important;
    width: auto !important;
    height: auto;
    box-sizing: border-box;
}

.bc-article-content figure img,
.bc-article-content .wp-caption img {
    max-width: 100%;
    height: auto;
}

.bc-article-content iframe,
.bc-article-content embed,
.bc-article-content object,
.bc-article-content video {
    max-width: 100%;
    height: auto;
}

.bc-article-content pre,
.bc-article-content code {
    overflow-x: auto;
    word-break: break-word;
}

.bc-article-content blockquote {
    border-left: 4px solid var(--c-accent);
    padding: 16px 20px;
    margin: 16px 0;
    background: hsla(220, 61%, 50%, 0.06);
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: var(--c-secondary);
}

.bc-article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: var(--text-xs);
}

.bc-article-content th,
.bc-article-content td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--c-border);
    text-align: left;
}

.bc-article-content th {
    font-weight: 700;
    background: hsl(240, 4%, 95.5%);
}

/* ===== SIDEBAR ===== */
.bc-article-sidebar {
    display: flex;
    flex-direction: column;
}

.bc-sidebar-sticky {
    position: sticky;
    top: 85px;
}

.bc-article-sidebar .bc-sidebar-cta:last-child {
    margin-top: auto;
}

.bc-sidebar-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 1px 3px 0 rgba(21, 35, 48, 0.04), 0 4px 20px -4px rgba(21, 35, 48, 0.06);
}

.bc-sidebar-title {
    font-family: var(--font-title);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-primary);
    margin-bottom: 12px;
}

/* ===== INLINE SHARE BAR ===== */
.bc-share-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    margin-bottom: 12px;
}

.bc-share-bar + .bc-article-content {
    margin-top: 0;
}

.bc-article-content + .bc-share-bar {
    margin-top: 12px;
    margin-bottom: 0;
}

.bc-share-bar-label {
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--c-secondary);
    margin-right: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.bc-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: var(--text-xs);
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s;
    border: none;
    font-family: var(--font-body);
}

.bc-share-btn:hover {
    opacity: 0.85;
}

.bc-share-twitter {
    background: #000;
    color: white;
}

.bc-share-facebook {
    background: #1877f2;
    color: white;
}

.bc-share-copy {
    background: var(--c-bg);
    color: var(--c-primary);
    border: 1px solid var(--c-border);
}

.bc-sidebar-cta {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 1px 3px 0 rgba(21, 35, 48, 0.04), 0 4px 20px -4px rgba(21, 35, 48, 0.06);
}

.bc-cta-btn {
    display: inline-block;
    background: var(--c-accent-orange);
    color: white !important;
    font-size: var(--text-xs);
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 8px;
    transition: opacity 0.2s;
    text-decoration: none !important;
}

.bc-cta-btn:hover {
    opacity: 0.85;
}

.bc-cta-btn--blue {
    background: var(--c-accent);
}

/* ===== PAGINATION ===== */
.nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding-top: 32px;
}

.nav-links a,
.nav-links span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--c-primary);
    transition: background 0.2s, color 0.2s;
}

.nav-links a:hover {
    background: #f3f4f6;
}

.nav-links .current {
    background: var(--c-accent-orange);
    color: white;
}

/* ===== MOBILE HAMBURGER MENU ===== */
.bc-mobile-only { display: none !important; }
.bc-desktop-only { display: flex !important; }

.bc-mobile-menu-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--c-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bc-mobile-menu {
    display: none;
    background: var(--c-white);
    border-top: 1px solid #f3f4f6;
    box-shadow: 0 4px 24px rgba(21, 35, 48, 0.1);
    padding: 16px;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    z-index: 99;
}

.bc-mobile-menu.open {
    display: block;
}

.bc-mobile-menu-nav {
    display: flex;
    flex-direction: column;
}

.bc-mobile-menu-nav a {
    display: block;
    padding: 14px 16px;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--c-primary);
    border-radius: 8px;
    transition: background 0.2s;
}

.bc-mobile-menu-nav a:hover {
    background: #f3f4f6;
}

.bc-mobile-menu-search {
    position: relative;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6;
}

.bc-mobile-menu-search input {
    width: 100%;
    height: 44px;
    padding: 0 48px 0 16px;
    border: 1px solid var(--c-border);
    border-radius: 22px;
    font-size: var(--text-xs);
    font-family: var(--font-body);
    color: var(--c-primary);
    background: hsl(240, 4%, 95.5%);
    outline: none;
}

.bc-mobile-menu-search input:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 3px hsla(220, 61%, 50%, 0.12);
    background: var(--c-white);
}

.bc-mobile-menu-search button {
    position: absolute;
    right: 4px;
    top: calc(50% + 6px);
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--c-accent-orange);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== MOBILE SIDEBAR HIDE ===== */
@media (max-width: 1023px) {
    .bc-mobile-hide {
        display: none !important;
    }
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
    /* Header: logo left, hamburger right */
    .bc-header {
        height: 64px;
        padding: 0 16px;
    }
    .bc-header-inner {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        grid-template-columns: none;
    }
    .bc-desktop-only { display: none !important; }
    #bc-mobile-menu-btn { display: flex !important; }
    .bc-header-logo { justify-self: auto; }
    .bc-header-logo img { height: 22px; }

    /* Hero */
    .bc-hero { padding: 32px 16px 24px; }
    .bc-hero h1,
    h1,
    .bc-container h1,
    article h1,
    .entry-title,
    .bc-archive-title { font-size: 25px !important; overflow-wrap: break-word; line-height: 1.15 !important; }
    .bc-hero p { font-size: var(--text-sm); color: rgb(74, 80, 86); }
    .bc-container { padding: 0 16px; }

    /* Article content — 14px max */
    .bc-article-content { padding: 20px 16px; font-size: var(--text-xs); line-height: 1.7; overflow-x: hidden; }
    .bc-article-content h2 { font-size: var(--text-md); margin: 22px 0 10px; }
    .bc-article-content h3 { font-size: var(--text-sm); margin: 18px 0 8px; }
    .bc-article-content h4 { font-size: var(--text-xs); }
    .bc-article-content p, .bc-article-content li { font-size: var(--text-xs); }

    /* Cards & grids */
    .bc-categories { grid-template-columns: 1fr; }
    .bc-archive-card-title { font-size: 16px; }
    .bc-faq-section-title { font-size: var(--text-xl); }
    .bc-faq-question { font-size: 16px; }

    /* Prev/next — hide title on mobile */
    .bc-post-nav-title { display: none; }

    /* Hide explore cards on mobile */
    .bc-explore-section { display: none; }

    /* Explore & savings */
    .bc-explore-title { font-size: var(--text-md); }
    .bc-savings-cta-text h2 { font-size: var(--text-md); }
    .bc-savings-cta-text p { font-size: var(--text-xs); }

    /* Breadcrumbs: single line, ellipsis on long items */
    .bc-breadcrumb { font-size: var(--text-xs); flex-wrap: nowrap; overflow: hidden; }
    .bc-breadcrumb span[aria-hidden] { flex-shrink: 0; }
    .bc-breadcrumb a:first-child { flex-shrink: 0; white-space: nowrap; }
    .bc-breadcrumb a:not(:first-child) { flex: 0 1 auto; min-width: 0; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .bc-breadcrumb-current { flex: 1 1 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
    .bc-inline-breadcrumb { font-size: var(--text-xs); }
    .bc-article-meta { font-size: var(--text-xs); }

    /* Category pill */
    .bc-category-pill { font-size: var(--text-xs); }

    /* Progress bar thinner on mobile */
    .bc-progress-bar { height: 2px; }
}
