/*
 * businesses_for_sale.css — стили страницы «Companies for Sale».
 * Автоматически подключается через meta.php для template=businesses_for_sale.
 */

/* =========================================================================
   Breadcrumbs — встроены в тёмный hero-блок
   Переопределяем только для этой страницы через body.page-businesses_for_sale.
   ========================================================================= */

.page-businesses_for_sale [aria-label="breadcrumbs"] {
    background: var(--color-charcoal);
    max-width: none;
    padding: 0;
    margin: 0;
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb {
    max-width: 1200px;
    margin: 0 auto;
    background: transparent;
    border-radius: 0;
    padding: 16px 24px 0;
    color: rgba(255,255,255,0.45);
    font-size: var(--fs-13);
    border-bottom: none;
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb a.pathway {
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: color var(--t-base);
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb a.pathway:hover {
    color: var(--color-gold);
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb > li.active [itemprop="name"] {
    color: var(--color-gold-light);
    font-weight: 500;
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb .divider {
    color: rgba(255,255,255,0.2);
    margin: 0 6px;
}

.page-businesses_for_sale [aria-label="breadcrumbs"] .breadcrumb .icon-location {
    color: var(--color-gold);
    opacity: 0.7;
}

/* =========================================================================
   BFS Hero
   ========================================================================= */

.bfs-hero {
    background: var(--color-charcoal);
    padding: 40px 0 72px;
}

.bfs-wrap { max-width: 1200px; }

.bfs-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.bfs-title {
    font-family: var(--font-gotham);
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 700;
    color: var(--color-white);
    line-height: 1.15;
    margin: 0 0 16px;
}

.bfs-subtitle {
    font-family: var(--font-body);
    font-size: var(--fs-18);
    color: var(--color-gold);
    font-weight: 400;
    margin: 0;
    line-height: 1.4;
}

.bfs-intro {
    font-family: var(--font-body);
    font-size: var(--fs-16);
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
    margin: 0 0 24px;
}

.bfs-points {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bfs-points li {
    font-family: var(--font-body);
    font-size: var(--fs-15);
    color: rgba(255,255,255,0.85);
    padding-left: 24px;
    position: relative;
    line-height: 1.5;
}

.bfs-points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-gold);
    flex-shrink: 0;
}

/* =========================================================================
   Companies Section
   ========================================================================= */

.bfs-companies {
    padding: 72px 0 80px;
    background: var(--color-gray-75);
}

.bfs-companies-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.bfs-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}

.bfs-section-title {
    font-family: var(--font-gotham);
    font-size: var(--fs-32);
    font-weight: 700;
    color: var(--color-charcoal);
    margin: 0;
}

.bfs-count {
    font-family: var(--font-body);
    font-size: var(--fs-14);
    color: var(--color-gray-500);
}

/* ---- Filter Tabs ---- */

.bfs-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 40px;
}

.bfs-filter-btn {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    font-weight: 600;
    padding: 7px 18px;
    border: 1.5px solid var(--color-gray-200);
    border-radius: var(--radius-pill);
    background: var(--color-white);
    color: var(--color-gray-700);
    cursor: pointer;
    transition: background var(--t-base) var(--easing), color var(--t-base) var(--easing), border-color var(--t-base) var(--easing);
    letter-spacing: 0.01em;
}

.bfs-filter-btn:hover {
    border-color: var(--color-gold);
    color: var(--color-gold-dark);
}

.bfs-filter-btn.active {
    background: var(--color-charcoal);
    border-color: var(--color-charcoal);
    color: var(--color-white);
}

/* ---- Cards Grid ---- */

.bfs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* ---- Company Card ---- */

.bfs-card {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform var(--t-base) var(--easing), box-shadow var(--t-base) var(--easing);
}

.bfs-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.bfs-card[hidden] { display: none !important; }

.bfs-card__head {
    padding: 20px 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.bfs-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-body);
    font-size: var(--fs-12);
    font-weight: 600;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.bfs-badge--juris {
    background: rgba(185,154,53,0.1);
    color: var(--color-gold-dark);
    border: 1px solid rgba(185,154,53,0.25);
}

.bfs-badge--verified {
    background: rgba(34,139,34,0.08);
    color: #1e7d1e;
    border: 1px solid rgba(34,139,34,0.2);
}

.bfs-badge--verified svg,
.bfs-badge--unverified svg { width: 12px; height: 12px; flex-shrink: 0; }

.bfs-badge--unverified {
    background: var(--color-gray-75);
    color: var(--color-gray-400);
    border: 1px solid var(--color-gray-200);
}

.bfs-card__body {
    padding: 16px 24px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bfs-card__activity {
    font-family: var(--font-gotham);
    font-size: var(--fs-18);
    font-weight: 700;
    color: var(--color-ink);
    line-height: 1.3;
    margin: 0;
}

.bfs-card__meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bfs-card__meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: var(--fs-13);
    color: var(--color-gray-700);
}

.bfs-card__meta-label {
    color: var(--color-gray-400);
    min-width: 68px;
    flex-shrink: 0;
}

.bfs-card__price-wrap {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 12px 16px;
    background: rgba(185,154,53,0.06);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--color-gold);
}

.bfs-card__price-currency {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    font-weight: 600;
    color: var(--color-gold-dark);
}

.bfs-card__price {
    font-family: var(--font-gotham);
    font-size: var(--fs-26);
    font-weight: 700;
    color: var(--color-gold-dark);
    line-height: 1;
}

.bfs-card__price-note {
    font-family: var(--font-body);
    font-size: var(--fs-12);
    color: var(--color-gray-400);
    margin-left: auto;
    align-self: flex-end;
}

.bfs-card__footer {
    padding: 0 24px 20px;
    display: flex;
    gap: 10px;
}

.bfs-btn {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    font-weight: 600;
    padding: 9px 18px;
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: background var(--t-base) var(--easing), color var(--t-base) var(--easing), border-color var(--t-base) var(--easing), opacity var(--t-base);
    text-align: center;
    white-space: nowrap;
    flex: 1;
}

.bfs-btn--outline {
    background: transparent;
    border: 1.5px solid var(--color-gray-200);
    color: var(--color-gray-700);
}

.bfs-btn--outline:hover {
    border-color: var(--color-charcoal);
    color: var(--color-charcoal);
    background: var(--color-gray-75);
}

.bfs-btn--primary {
    background: var(--color-gold);
    border: 1.5px solid var(--color-gold);
    color: var(--color-white);
}

.bfs-btn--primary:hover {
    background: var(--color-gold-dark);
    border-color: var(--color-gold-dark);
}

/* ---- No results ---- */

.bfs-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 24px;
    color: var(--color-gray-500);
    font-family: var(--font-body);
    font-size: var(--fs-16);
}

/* ---- Disclaimer ---- */

.bfs-disclaimer {
    margin-top: 40px;
    padding: 20px 24px;
    background: var(--color-white);
    border-radius: var(--radius-xl);
    border-left: 3px solid var(--color-gold);
}

.bfs-disclaimer p {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    color: var(--color-gray-500);
    line-height: 1.6;
    margin: 0 0 6px;
}

.bfs-disclaimer p:last-child { margin: 0; }
.bfs-disclaimer strong { color: var(--color-gray-700); }

/* =========================================================================
   Seller CTA
   ========================================================================= */

.bfs-sell {
    background: var(--color-charcoal);
    padding: 72px 0;
}

.bfs-sell-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.bfs-sell__left {}

.bfs-sell__label {
    display: inline-block;
    font-family: var(--font-body);
    font-size: var(--fs-12);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-bottom: 16px;
}

.bfs-sell__title {
    font-family: var(--font-gotham);
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 700;
    color: var(--color-white);
    line-height: 1.2;
    margin: 0 0 16px;
}

.bfs-sell__desc {
    font-family: var(--font-body);
    font-size: var(--fs-16);
    color: rgba(255,255,255,0.65);
    line-height: 1.7;
    margin: 0;
}

.bfs-sell__steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
}

.bfs-sell__step {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bfs-sell__step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(185,154,53,0.15);
    border: 1.5px solid rgba(185,154,53,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-gotham);
    font-size: var(--fs-13);
    font-weight: 700;
    color: var(--color-gold);
    flex-shrink: 0;
}

.bfs-sell__step-text {
    font-family: var(--font-body);
    font-size: var(--fs-14);
    color: rgba(255,255,255,0.75);
    line-height: 1.45;
}

.bfs-sell__form {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    padding: 36px 32px;
}

.bfs-sell__form-title {
    font-family: var(--font-gotham);
    font-size: var(--fs-22);
    font-weight: 700;
    color: var(--color-ink);
    margin: 0 0 6px;
}

.bfs-sell__form-sub {
    font-family: var(--font-body);
    font-size: var(--fs-14);
    color: var(--color-gray-500);
    margin: 0 0 24px;
    line-height: 1.5;
}

.bfs-sell__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
}

.bfs-sell__field label {
    font-family: var(--font-body);
    font-size: var(--fs-12);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500);
}

.bfs-sell__field input {
    font-family: var(--font-body);
    font-size: var(--fs-15);
    color: var(--color-ink);
    padding: 11px 14px;
    border: 1.5px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: var(--color-gray-75);
    outline: none;
    transition: border-color var(--t-base);
    width: 100%;
}

.bfs-sell__field input:focus {
    border-color: var(--color-gold);
    background: var(--color-white);
}

.bfs-sell__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    cursor: pointer;
}

.bfs-sell__consent input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--color-gold-dark);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.bfs-sell__consent span {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    color: var(--color-gray-700);
    line-height: 1.5;
}

.bfs-sell__consent a {
    color: var(--color-gold);
    text-decoration: underline;
}

.bfs-sell__submit {
    width: 100%;
    padding: 13px 20px;
    background: var(--color-gold);
    color: var(--color-white);
    font-family: var(--font-gotham);
    font-size: var(--fs-15);
    font-weight: 700;
    border: none;
    border-radius: var(--radius-pill);
    cursor: pointer;
    transition: background var(--t-base);
    letter-spacing: 0.02em;
}

.bfs-sell__submit:hover { background: var(--color-gold-dark); }
.bfs-sell__submit:disabled { opacity: 0.6; cursor: wait; }

.bfs-sell__status {
    margin-top: 12px;
    font-family: var(--font-body);
    font-size: var(--fs-14);
    color: var(--color-gray-700);
    min-height: 20px;
    text-align: center;
}

.bfs-sell__status.success { color: #1e7d1e; }
.bfs-sell__status.error   { color: #c0392b; }

/* =========================================================================
   BFS CTA (cs-contact-form-section wrapper used in template)
   ========================================================================= */

.bfs-cta.cs-contact-form-section {
    background: var(--color-white);
}

.cs-form-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.cs-form-left .cs-form-title {
    font-family: var(--font-gotham);
    font-size: var(--fs-36);
    font-weight: 700;
    color: var(--color-charcoal);
    margin: 0 0 12px;
    line-height: 1.2;
}

.cs-form-left .cs-form-desc {
    font-family: var(--font-body);
    font-size: var(--fs-16);
    color: var(--color-gray-700);
    line-height: 1.6;
    margin: 0;
}

/* =========================================================================
   Company Detail Modal
   ========================================================================= */

.bfs-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--t-base) var(--easing), visibility var(--t-base);
}

.bfs-modal-overlay.open {
    opacity: 1;
    visibility: visible;
}

.bfs-modal {
    background: var(--color-white);
    border-radius: var(--radius-xl);
    width: 100%;
    max-width: 560px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.22);
    overflow: hidden;
    transform: translateY(20px) scale(0.97);
    transition: transform var(--t-base) var(--easing);
}

.bfs-modal-overlay.open .bfs-modal {
    transform: translateY(0) scale(1);
}

.bfs-modal__head {
    background: var(--color-charcoal);
    padding: 28px 28px 24px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.bfs-modal__juris-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-body);
    font-size: var(--fs-11);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-gold);
    background: rgba(185,154,53,0.12);
    border: 1px solid rgba(185,154,53,0.3);
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    margin-bottom: 10px;
}

.bfs-modal__title {
    font-family: var(--font-gotham);
    font-size: var(--fs-22);
    font-weight: 700;
    color: var(--color-white);
    margin: 0;
    line-height: 1.3;
}

.bfs-modal__close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    border: none;
    color: rgba(255,255,255,0.7);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: background var(--t-fast);
}

.bfs-modal__close:hover { background: rgba(255,255,255,0.2); color: #fff; }

.bfs-modal__body {
    padding: 28px;
}

.bfs-modal__price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: rgba(185,154,53,0.07);
    border-radius: var(--radius-md);
    border: 1px solid rgba(185,154,53,0.2);
    margin-bottom: 24px;
}

.bfs-modal__price-label {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    color: var(--color-gray-500);
}

.bfs-modal__price-val {
    font-family: var(--font-gotham);
    font-size: var(--fs-28);
    font-weight: 700;
    color: var(--color-gold-dark);
}

.bfs-modal__price-currency {
    font-size: var(--fs-16);
    margin-right: 3px;
}

.bfs-modal__rows {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.bfs-modal__row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--color-gray-150);
}

.bfs-modal__row:last-child { border-bottom: none; }

.bfs-modal__row-label {
    font-family: var(--font-body);
    font-size: var(--fs-13);
    color: var(--color-gray-400);
    min-width: 140px;
    flex-shrink: 0;
}

.bfs-modal__row-value {
    font-family: var(--font-body);
    font-size: var(--fs-14);
    color: var(--color-ink);
    font-weight: 500;
}

.bfs-modal__row-value.verified {
    color: #1e7d1e;
    font-weight: 700;
}

.bfs-modal__foot {
    padding: 0 28px 28px;
    display: flex;
    gap: 12px;
}

.bfs-modal__cta {
    flex: 1;
    padding: 12px 20px;
    border-radius: var(--radius-pill);
    font-family: var(--font-gotham);
    font-size: var(--fs-14);
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    transition: background var(--t-base), color var(--t-base), border-color var(--t-base);
    border: 1.5px solid var(--color-gray-200);
    background: transparent;
    color: var(--color-gray-700);
}

.bfs-modal__cta:hover {
    border-color: var(--color-charcoal);
    color: var(--color-charcoal);
}

.bfs-modal__cta--gold {
    background: var(--color-gold);
    border-color: var(--color-gold);
    color: var(--color-white);
}

.bfs-modal__cta--gold:hover {
    background: var(--color-gold-dark);
    border-color: var(--color-gold-dark);
    color: var(--color-white);
}

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width: 991px) {
    .bfs-row { grid-template-columns: 1fr; gap: 32px; }
    .bfs-grid { grid-template-columns: repeat(2, 1fr); }
    .bfs-sell-inner { grid-template-columns: 1fr; gap: 40px; }
    .cs-form-wrap { grid-template-columns: 1fr; gap: 36px; padding: 56px 24px; }
    .cs-form-left .cs-form-title { font-size: var(--fs-28); }
}

@media (max-width: 767px) {
    .bfs-hero { padding: 48px 0 56px; }
    .bfs-companies { padding: 52px 0 60px; }
    .bfs-section-title { font-size: var(--fs-26); }
    .bfs-grid { grid-template-columns: 1fr; }
    .bfs-sell { padding: 52px 0; }
    .bfs-sell__form { padding: 28px 20px; }
    .bfs-modal { max-width: 100%; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
    .bfs-modal-overlay { align-items: flex-end; padding: 0; }
}

@media (max-width: 575px) {
    .bfs-companies-inner,
    .bfs-sell-inner { padding: 0 16px; }
    .bfs-card__footer { flex-direction: column; }
    .bfs-modal__foot { flex-direction: column; }
    .bfs-filters { gap: 6px; }
    .bfs-filter-btn { font-size: var(--fs-12); padding: 6px 14px; }
}
