/* LBN Business Directory — Frontend Styles
   All selectors scoped to .lbn-bd-container or .lbn-bd-* classes.
----------------------------------------------------------------------- */

/* ── CSS Custom Properties ────────────────────────────────────────── */
:root {
    /* Primary — inherits Avada's designated-primary variable */
    --bd-primary:        var(--primary_color, #1a6b3c);
    --bd-primary-dark:   color-mix(in srgb, var(--bd-primary) 100%, black 12%);
    --bd-primary-darker: color-mix(in srgb, var(--bd-primary) 100%, black 24%);
    --bd-primary-20:     color-mix(in srgb, var(--bd-primary) 20%, white);
    --bd-primary-10:     color-mix(in srgb, var(--bd-primary) 10%, white);

    /* Semantic colors */
    --bd-accent:      #25d366;
    --bd-gold:        #f59e0b;
    --bd-danger:      #c0392b;

    /* Text — inherits Avada body text variables */
    --bd-text:        var(--awb-font-color-1, #1a1a1a);
    --bd-text-muted:  var(--awb-font-color-2, #6b7280);

    /* Borders and backgrounds */
    --bd-border:      color-mix(in srgb, var(--bd-primary) 16%, #e0e0e0);
    --bd-bg:          color-mix(in srgb, var(--bd-primary) 4%, white);
    --bd-card-bg:     #ffffff;

    /* Shape */
    --bd-radius:    10px;
    --bd-radius-sm: 6px;
    --bd-shadow:    0 2px 8px rgba(0,0,0,.08);
    --bd-shadow-md: 0 4px 16px rgba(0,0,0,.12);
    --bd-gap:       20px;

    /* Font — inherits Avada body font family */
    --bd-font: var(--awb-body-typography-font-family, system-ui, -apple-system, 'Segoe UI', sans-serif);
}

/* ── Reset ────────────────────────────────────────────────────────── */
.lbn-bd-container *,
.lbn-bd-container *::before,
.lbn-bd-container *::after {
    box-sizing: border-box;
}

.lbn-bd-container {
    font-family: var(--bd-font);
    color: var(--bd-text);
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 16px 48px;
}

/* ── Notices ──────────────────────────────────────────────────────── */
.lbn-bd-notice {
    padding: 12px 16px;
    border-radius: var(--bd-radius-sm);
    border: 1px solid transparent;
    margin-bottom: 16px;
    font-size: .9375rem;
}
.lbn-bd-notice-info  { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.lbn-bd-notice-warn  { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.lbn-bd-notice-error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.lbn-bd-notice-ok    { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

/* ── Buttons ──────────────────────────────────────────────────────── */
.lbn-bd-btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: var(--bd-radius-sm);
    font-size: .9375rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    border: 2px solid transparent;
    transition: background .18s, color .18s, border-color .18s, opacity .18s;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background: none;
    font-family: inherit;
}
.lbn-bd-btn:focus-visible { outline: 3px solid var(--bd-primary); outline-offset: 2px; }

.lbn-bd-btn-primary   { background: var(--bd-primary); color: #fff; }
.lbn-bd-btn-primary:hover { background: var(--bd-primary-dark); color: #fff; }

.lbn-bd-btn-secondary { background: var(--bd-bg); color: var(--bd-text); border-color: var(--bd-border); }
.lbn-bd-btn-secondary:hover { background: var(--bd-border); }

.lbn-bd-btn-outline   { background: transparent; color: var(--bd-primary); border-color: var(--bd-primary); }
.lbn-bd-btn-outline:hover { background: var(--bd-primary); color: #fff; }

.lbn-bd-btn-whatsapp  { background: var(--bd-accent); color: #fff; }
.lbn-bd-btn-whatsapp:hover { background: #1ebe5b; color: #fff; }

.lbn-bd-btn-danger    { background: var(--bd-danger); color: #fff; }
.lbn-bd-btn-danger:hover { opacity: .85; }

.lbn-bd-btn-full { width: 100%; display: block; }
.lbn-bd-btn-sm   { padding: 7px 14px; font-size: .875rem; }
.lbn-bd-btn-xs   { padding: 4px 10px; font-size: .8125rem; }
.lbn-bd-btn-lg   { padding: 13px 28px; font-size: 1rem; }

/* ── Forms ────────────────────────────────────────────────────────── */
.lbn-bd-form { width: 100%; }

.lbn-bd-field { margin-bottom: 18px; }
.lbn-bd-field label {
    display: block;
    font-weight: 600;
    font-size: .9375rem;
    margin-bottom: 6px;
    color: var(--bd-text);
}
.lbn-bd-req { color: var(--bd-danger); }

.lbn-bd-field-input {
    display: block;
    width: 100%;
    padding: 10px 14px;
    border: 1.5px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    font-size: .9375rem;
    color: var(--bd-text);
    background: #fff;
    transition: border-color .15s;
    font-family: inherit;
}
.lbn-bd-field-input:focus {
    outline: none;
    border-color: var(--bd-primary);
    box-shadow: 0 0 0 3px rgba(26,107,60,.12);
}
.lbn-bd-textarea { resize: vertical; min-height: 120px; }

.lbn-bd-fields-row { display: flex; gap: 12px; flex-wrap: wrap; }
.lbn-bd-field-grow { flex: 1 1 160px; }

.lbn-bd-field-hint { font-size: .8125rem; color: var(--bd-text-muted); margin-top: 4px; }

/* Category checkboxes */
.lbn-bd-cat-checkboxes { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.lbn-bd-cat-check-label { display: flex; align-items: center; gap: 6px; font-weight: normal; font-size: .9375rem; cursor: pointer; }
.lbn-bd-cat-check-label input { width: auto; }

/* ── Business Hours Editor ────────────────────────────────────────── */
.lbn-bd-hours-editor { border: 1px solid var(--bd-border); border-radius: var(--bd-radius-sm); overflow: hidden; }

.lbn-bd-hours-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--bd-border);
    flex-wrap: wrap;
}
.lbn-bd-hours-row:last-child { border-bottom: none; }
.lbn-bd-hours-row:nth-child(even) { background: #f9fafb; }

.lbn-bd-hours-day         { width: 96px; font-weight: 600; font-size: .9rem; flex-shrink: 0; }
.lbn-bd-hours-closed-label{ display: flex; align-items: center; gap: 5px; font-weight: normal; font-size: .875rem; cursor: pointer; color: var(--bd-text-muted); width: 80px; flex-shrink: 0; }
.lbn-bd-hours-closed-label input { width: auto; }
.lbn-bd-hours-time { width: 110px; flex-shrink: 0; padding: 7px 10px; }

/* Business hours display table */
.lbn-bd-hours-box { margin-top: 28px; }
.lbn-bd-hours-box h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 12px; }

.lbn-bd-hours-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.lbn-bd-hours-table th,
.lbn-bd-hours-table td { padding: 8px 12px; border-bottom: 1px solid var(--bd-border); text-align: left; }
.lbn-bd-hours-table th { font-weight: 600; width: 110px; }
.lbn-bd-hours-today { background: #f0fdf4; font-weight: 700; }
.lbn-bd-closed { color: var(--bd-text-muted); font-style: italic; }

/* ── Image Upload ─────────────────────────────────────────────────── */
.lbn-bd-image-preview-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }

.lbn-bd-img-thumb {
    position: relative;
    width: 88px;
    height: 88px;
    border-radius: var(--bd-radius-sm);
    overflow: hidden;
    border: 1.5px solid var(--bd-border);
}
.lbn-bd-img-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbn-bd-img-remove {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(0,0,0,.65);
    color: #fff;
    border: none;
    font-size: .9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.lbn-bd-img-remove:hover { background: var(--bd-danger); }

.lbn-bd-upload-area {
    border: 2px dashed var(--bd-border);
    border-radius: var(--bd-radius-sm);
    padding: 14px 20px;
    text-align: center;
    transition: border-color .15s, background .15s;
    cursor: pointer;
}
.lbn-bd-upload-area:hover,
.lbn-bd-upload-area.lbn-bd-drag-over { border-color: var(--bd-primary); background: #f0fdf4; }
.lbn-bd-upload-label { cursor: pointer; font-weight: 600; color: var(--bd-primary); font-size: .9375rem; }

/* ── Breadcrumb ───────────────────────────────────────────────────── */
.lbn-bd-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    font-size: .875rem;
    color: var(--bd-text-muted);
    margin-bottom: 20px;
}
.lbn-bd-breadcrumb a { color: var(--bd-primary); text-decoration: none; }
.lbn-bd-breadcrumb a:hover { text-decoration: underline; }
.lbn-bd-breadcrumb-sep { color: var(--bd-text-muted); }

/* ── Single Business Layout ───────────────────────────────────────── */
.lbn-bd-single-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 28px;
    align-items: start;
}

/* Gallery */
.lbn-bd-gallery { margin-bottom: 24px; }
.lbn-bd-gallery-main {
    border-radius: var(--bd-radius);
    overflow: hidden;
    background: var(--bd-bg);
    aspect-ratio: 16/9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lbn-bd-gallery-main img,
.lbn-bd-single-thumb { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .15s; }

.lbn-bd-gallery-thumbs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.lbn-bd-gallery-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--bd-radius-sm);
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color .15s, opacity .15s;
    opacity: .75;
}
.lbn-bd-gallery-thumb:hover,
.lbn-bd-gallery-thumb.lbn-bd-thumb-active { border-color: var(--bd-primary); opacity: 1; }

/* Header */
.lbn-bd-single-header { margin-bottom: 20px; }

.lbn-bd-title-row { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.lbn-bd-single-title { font-size: 1.6rem; font-weight: 700; line-height: 1.3; margin: 0; color: var(--bd-text); flex: 1; }

.lbn-bd-verified-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: .8125rem;
    font-weight: 700;
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
    white-space: nowrap;
}
.lbn-bd-featured-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: .8125rem;
    font-weight: 700;
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
    white-space: nowrap;
}

.lbn-bd-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.lbn-bd-cat-badge {
    padding: 3px 10px;
    border-radius: 20px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: .8125rem;
    font-weight: 600;
    text-decoration: none;
}
.lbn-bd-cat-badge:hover { background: #bfdbfe; }

.lbn-bd-area-line { font-size: .9375rem; color: var(--bd-text-muted); margin: 6px 0; }
.lbn-bd-address   { font-size: .9375rem; }
.lbn-bd-meta-line { font-size: .875rem; color: var(--bd-text-muted); margin: 8px 0 0; }
.lbn-bd-views-count { font-size: .875rem; color: var(--bd-text-muted); }

.lbn-bd-single-content { font-size: 1rem; line-height: 1.7; color: var(--bd-text); margin-bottom: 28px; }
.lbn-bd-single-content p { margin: 0 0 1em; }

.lbn-bd-own-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

/* Sidebar */
.lbn-bd-single-sidebar > * + * { margin-top: 20px; }

.lbn-bd-contact-box,
.lbn-bd-owner-box {
    background: var(--bd-card-bg);
    border-radius: var(--bd-radius);
    padding: 20px;
    box-shadow: var(--bd-shadow-md);
}

.lbn-bd-contact-box h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 14px; color: var(--bd-text); }
.lbn-bd-contact-box .lbn-bd-btn + .lbn-bd-btn { margin-top: 8px; }

.lbn-bd-owner-box h4 {
    font-size: .75rem;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--bd-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.lbn-bd-owner-box p { margin: 0 0 4px; font-size: .9375rem; }
.lbn-bd-owner-since { font-size: .8125rem; color: var(--bd-text-muted); }

.lbn-bd-back-link { margin-top: 32px; }
.lbn-bd-back-link a { color: var(--bd-primary); text-decoration: none; font-size: .9375rem; }
.lbn-bd-back-link a:hover { text-decoration: underline; }

/* ── Board ────────────────────────────────────────────────────────── */
.lbn-bd-board-wrap { width: 100%; }

.lbn-bd-results-count { font-size: .875rem; color: var(--bd-text-muted); margin: 0; }

/* ── Business Grid ────────────────────────────────────────────────── */
.lbn-bd-biz-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--bd-gap);
}

/* ── Business Card ────────────────────────────────────────────────── */
.lbn-bd-biz-card {
    background: var(--bd-card-bg);
    border-radius: var(--bd-radius);
    overflow: hidden;
    box-shadow: var(--bd-shadow);
    transition: box-shadow .18s, transform .18s;
    display: flex;
    flex-direction: column;
}
.lbn-bd-biz-card:hover { box-shadow: var(--bd-shadow-md); transform: translateY(-2px); }
.lbn-bd-biz-card-featured { box-shadow: 0 0 0 2px rgba(245,158,11,.4), var(--bd-shadow); }

.lbn-bd-card-img-link {
    display: block;
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--bd-bg);
}
.lbn-bd-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.lbn-bd-biz-card:hover .lbn-bd-card-img { transform: scale(1.04); }

.lbn-bd-card-img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bd-bg);
    color: var(--bd-border);
}
.lbn-bd-card-img-placeholder .dashicons { font-size: 2.5rem; width: 2.5rem; height: 2.5rem; }

.lbn-bd-card-featured-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 3px 10px;
    border-radius: 20px;
    background: var(--bd-gold);
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
}

.lbn-bd-card-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }

.lbn-bd-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.lbn-bd-card-title a { color: var(--bd-text); text-decoration: none; }
.lbn-bd-card-title a:hover { color: var(--bd-primary); }

.lbn-bd-card-verified {
    display: inline-flex;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--bd-primary);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.lbn-bd-card-cats { display: flex; flex-wrap: wrap; gap: 4px; }
.lbn-bd-card-cat-badge {
    padding: 2px 8px;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: .75rem;
    font-weight: 600;
}

.lbn-bd-card-excerpt {
    font-size: .875rem;
    color: var(--bd-text-muted);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lbn-bd-card-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.lbn-bd-card-meta-item { font-size: .8125rem; color: var(--bd-text-muted); }
.lbn-bd-card-phone { text-decoration: none; color: var(--bd-text-muted); }
.lbn-bd-card-phone:hover { color: var(--bd-primary); }

.lbn-bd-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

/* ── Pagination ───────────────────────────────────────────────────── */
.lbn-bd-pagination { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 28px; }
.lbn-bd-page-btn {
    display: inline-block;
    padding: 8px 14px;
    border: 1.5px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    font-size: .9rem;
    text-decoration: none;
    color: var(--bd-text);
    background: #fff;
    transition: background .15s, border-color .15s;
}
.lbn-bd-page-btn:hover { background: var(--bd-bg); border-color: var(--bd-primary); }
.lbn-bd-page-btn-current { background: var(--bd-primary); border-color: var(--bd-primary); color: #fff; }

/* ── No results ───────────────────────────────────────────────────── */
.lbn-bd-no-results { text-align: center; padding: 48px 24px; color: var(--bd-text-muted); }
.lbn-bd-no-results p { font-size: 1.05rem; margin-bottom: 18px; }

/* ── Section title ────────────────────────────────────────────────── */
.lbn-bd-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 24px;
    color: var(--bd-text);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--bd-border);
}

/* ── My Listings Table ────────────────────────────────────────────── */
.lbn-bd-my-bizs-wrap { width: 100%; }

.lbn-bd-my-bizs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}
.lbn-bd-my-bizs-header .lbn-bd-section-title { margin: 0; border: none; padding: 0; }

.lbn-bd-my-bizs-table-wrap { overflow-x: auto; }

.lbn-bd-my-bizs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9375rem;
}
.lbn-bd-my-bizs-table th,
.lbn-bd-my-bizs-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--bd-border);
    vertical-align: middle;
}
.lbn-bd-my-bizs-table th {
    font-weight: 600;
    color: var(--bd-text-muted);
    font-size: .8125rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: var(--bd-bg);
    white-space: nowrap;
}
.lbn-bd-my-bizs-table tr:hover td { background: #fafafa; }

.lbn-bd-th-img,
.lbn-bd-td-img { width: 68px; padding: 8px 12px; }

.lbn-bd-row-thumb { width: 52px; height: 52px; object-fit: cover; border-radius: var(--bd-radius-sm); display: block; }
.lbn-bd-row-thumb-placeholder { width: 52px; height: 52px; background: var(--bd-bg); border-radius: var(--bd-radius-sm); border: 1px solid var(--bd-border); }

.lbn-bd-biz-row-title { font-weight: 600; color: var(--bd-text); text-decoration: none; }
.lbn-bd-biz-row-title:hover { color: var(--bd-primary); }

.lbn-bd-badge-sm { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; font-size: .7rem; font-weight: 700; align-items: center; justify-content: center; flex-shrink: 0; }
.lbn-bd-badge-featured { background: var(--bd-gold); color: #fff; }
.lbn-bd-badge-verified  { background: var(--bd-primary); color: #fff; }

.lbn-bd-td-actions { white-space: nowrap; }
.lbn-bd-td-actions .lbn-bd-btn { margin: 2px; }

/* Status badges */
.lbn-bd-status-badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: .8125rem; font-weight: 600; }
.lbn-bd-status-live    { background: #f0fdf4; color: #166534; }
.lbn-bd-status-pending { background: #fffbeb; color: #92400e; }
.lbn-bd-status-draft   { background: var(--bd-bg); color: var(--bd-text-muted); }

/* Submit form */
.lbn-bd-submit-wrap { max-width: 760px; }

/* ── Hero ─────────────────────────────────────────────────────────── */
/*
   Full-width breakout: works inside Avada's content-width columns.
   Recommend using a full-width Avada section for best appearance.
*/
.lbn-bd-hero {
    position: relative;
    /* Full-width breakout without 100vw scrollbar */
    width: auto;
    margin-left:  calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-color: var(--bd-primary);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 0;
}

.lbn-bd-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.lbn-bd-hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    width: 100%;
}

.lbn-bd-hero-title {
    font-size: clamp(1.5rem, 4vw, 2.4rem);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
    margin: 0;
    line-height: 1.25;
}

/* ── Directory outer wrapper + two-column layout ─────────────────── */
.lbn-bd-directory-outer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px 48px;
}

.lbn-bd-directory-layout {
    display: grid;
    grid-template-columns: 272px 1fr;
    gap: 24px;
    align-items: start;
    margin-top: 28px;
}

/* ── Filter Sidebar ───────────────────────────────────────────────── */
.lbn-bd-sidebar {
    position: sticky;
    top: 90px;
    background: var(--bd-card-bg);
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow-md);
    overflow: hidden;
}

.lbn-bd-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 18px;
    border-bottom: 1px solid var(--bd-border);
    background: var(--bd-bg);
}

.lbn-bd-sidebar-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--bd-text);
}

.lbn-bd-sidebar-close {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--bd-text-muted);
    padding: 4px;
    border-radius: var(--bd-radius-sm);
    transition: color .15s, background .15s;
    line-height: 1;
}
.lbn-bd-sidebar-close:hover { background: var(--bd-border); color: var(--bd-text); }

.lbn-bd-filter-section {
    padding: 14px 18px;
    border-bottom: 1px solid var(--bd-border);
}
.lbn-bd-filter-section:last-child { border-bottom: none; }

.lbn-bd-filter-label {
    display: block;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--bd-text-muted);
    margin-bottom: 10px;
    margin: 0 0 10px;
}

/* Sidebar search */
.lbn-bd-sidebar-search-wrap { position: relative; }

.lbn-bd-sidebar-search-icon {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    color: var(--bd-text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}
[dir="rtl"] .lbn-bd-sidebar-search-icon,
.rtl .lbn-bd-sidebar-search-icon { left: auto; right: 10px; }

.lbn-bd-sidebar-input {
    display: block;
    width: 100%;
    padding: 9px 12px 9px 32px;
    border: 1px solid transparent;
    border-radius: var(--bd-radius-sm);
    font-size: .875rem;
    color: var(--bd-text);
    background: #fff;
    font-family: var(--bd-font);
    box-shadow: 0 0 0 1.5px var(--bd-border);
    transition: box-shadow .15s;
}
.lbn-bd-sidebar-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px var(--bd-primary), 0 0 0 5px rgba(26,107,60,.12);
}
[dir="rtl"] .lbn-bd-sidebar-input,
.rtl .lbn-bd-sidebar-input { padding-left: 12px; padding-right: 32px; }

/* Category radio list */
.lbn-bd-cat-radio-list {
    display: flex;
    flex-direction: column;
    gap: 1px;
    max-height: 300px;
    overflow-y: auto;
    margin: 0 -4px;
}

.lbn-bd-cat-radio {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 8px;
    border-radius: var(--bd-radius-sm);
    cursor: pointer;
    transition: background .12s;
}
.lbn-bd-cat-radio input[type="radio"] { display: none; }
.lbn-bd-cat-radio:hover  { background: var(--bd-bg); }
.lbn-bd-cat-radio.active { background: var(--bd-primary-10); }

.lbn-bd-cat-all-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--bd-bg);
    border: 1px solid var(--bd-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bd-text-muted);
    flex-shrink: 0;
}

.lbn-bd-cat-radio-name {
    flex: 1;
    font-size: .875rem;
    color: var(--bd-text);
    line-height: 1.3;
}
.lbn-bd-cat-radio.active .lbn-bd-cat-radio-name {
    font-weight: 600;
    color: var(--bd-primary);
}

.lbn-bd-cat-radio-count {
    font-size: .7rem;
    color: var(--bd-text-muted);
    background: var(--bd-bg);
    border: 1px solid var(--bd-border);
    border-radius: 10px;
    padding: 1px 6px;
    flex-shrink: 0;
}

/* Area select */
.lbn-bd-sidebar-select {
    display: block;
    width: 100%;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: var(--bd-radius-sm);
    font-size: .875rem;
    color: var(--bd-text);
    background: #fff;
    font-family: var(--bd-font);
    cursor: pointer;
    box-shadow: 0 0 0 1.5px var(--bd-border);
    transition: box-shadow .15s;
}
.lbn-bd-sidebar-select:focus { outline: none; box-shadow: 0 0 0 2px var(--bd-primary), 0 0 0 5px rgba(26,107,60,.12); }

/* Sort radios */
.lbn-bd-sort-radios {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.lbn-bd-sort-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: var(--bd-radius-sm);
    cursor: pointer;
    font-size: .875rem;
    color: var(--bd-text);
    transition: background .12s;
}
.lbn-bd-sort-radio input[type="radio"] {
    width: 14px;
    height: 14px;
    accent-color: var(--bd-primary);
    flex-shrink: 0;
    cursor: pointer;
}
.lbn-bd-sort-radio:hover  { background: var(--bd-bg); }
.lbn-bd-sort-radio.active { background: var(--bd-primary-10); font-weight: 600; color: var(--bd-primary); }

/* Distance slider */
.lbn-bd-dist-display {
    font-weight: 700;
    color: var(--bd-primary);
    font-size: .8125rem;
}

.lbn-bd-dist-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background: var(--bd-border);
    accent-color: var(--bd-primary);
    cursor: pointer;
    margin: 8px 0 6px;
    display: block;
}
.lbn-bd-dist-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--bd-primary);
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.lbn-bd-dist-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--bd-primary);
    border: 2px solid #fff;
    cursor: pointer;
}

.lbn-bd-dist-endpoints {
    display: flex;
    justify-content: space-between;
    font-size: .7rem;
    color: var(--bd-text-muted);
}

/* Filter actions */
.lbn-bd-filter-actions {
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.lbn-bd-filter-actions .lbn-bd-btn { width: 100%; }

/* ── Main content column ──────────────────────────────────────────── */
.lbn-bd-main-content { min-width: 0; }

/* ── Mobile sidebar drawer ────────────────────────────────────────── */
.lbn-bd-filter-toggle-btn { display: none; }

.lbn-bd-sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.48);
    z-index: 9988;
    animation: lbn-bd-fade-in .2s ease;
}
.lbn-bd-sidebar-backdrop.is-open { display: block; }

@keyframes lbn-bd-fade-in { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 960px) {
    .lbn-bd-directory-layout { grid-template-columns: 240px 1fr; gap: 18px; }
}

@media (max-width: 768px) {
    .lbn-bd-directory-layout { display: block; }

    .lbn-bd-sidebar {
        position: fixed;
        top: 0;
        left: -310px;
        width: 300px;
        max-width: 88vw;
        height: 100%;
        z-index: 9990;
        overflow-y: auto;
        transition: left .28s ease;
        border-radius: 0;
        border-left: none;
        box-shadow: 4px 0 24px rgba(0,0,0,.18);
    }
    .lbn-bd-sidebar.is-open { left: 0; }
    [dir="rtl"] .lbn-bd-sidebar,
    .rtl .lbn-bd-sidebar {
        left: auto;
        right: -310px;
        border-left: 1px solid var(--bd-border);
        border-right: none;
        box-shadow: -4px 0 24px rgba(0,0,0,.18);
        transition: right .28s ease;
    }
    [dir="rtl"] .lbn-bd-sidebar.is-open,
    .rtl .lbn-bd-sidebar.is-open { right: 0; }

    .lbn-bd-sidebar-close {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lbn-bd-filter-toggle-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 14px;
        background: var(--bd-bg);
        border: 1.5px solid var(--bd-border);
        border-radius: var(--bd-radius-sm);
        font-size: .875rem;
        font-weight: 600;
        color: var(--bd-text);
        cursor: pointer;
        font-family: var(--bd-font);
        transition: background .15s, border-color .15s;
    }
    .lbn-bd-filter-toggle-btn:hover { background: var(--bd-border); }
}

/* ── Board toolbar ────────────────────────────────────────────────── */
.lbn-bd-board-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.lbn-bd-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.lbn-bd-layout-switcher {
    display: flex;
    gap: 4px;
    background: var(--bd-bg);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    padding: 3px;
}

.lbn-bd-layout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: calc(var(--bd-radius-sm) - 2px);
    border: none;
    background: transparent;
    color: var(--bd-text-muted);
    cursor: pointer;
    transition: background .15s, color .15s;
    padding: 0;
}
.lbn-bd-layout-btn:hover { background: var(--bd-card-bg); color: var(--bd-text); }
.lbn-bd-layout-btn.active {
    background: var(--bd-primary);
    color: #fff;
}
.lbn-bd-layout-btn:focus-visible { outline: 2px solid var(--bd-primary); outline-offset: 1px; }

/* Results count inside toolbar-right */
.lbn-bd-toolbar-right .lbn-bd-results-count {
    font-size: .875rem;
    color: var(--bd-text-muted);
    margin: 0;
    white-space: nowrap;
}

/* ── Layout System ────────────────────────────────────────────────── */

/* Featured strip grid adapts to layout */
.lbn-bd-featured-cards {
    display: grid;
    gap: var(--bd-gap);
}

/* Main results grid */
.lbn-bd-biz-grid {
    display: grid;
    gap: var(--bd-gap);
}

/* ── Default (no layout class): grid-3 ── */
.lbn-bd-featured-cards        { grid-template-columns: repeat(3, 1fr); }
.lbn-bd-biz-grid               { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/* ── Grid-3 (same as default) ── */
#lbn-bd-board.layout-grid-3 .lbn-bd-featured-cards { grid-template-columns: repeat(3, 1fr); }
#lbn-bd-board.layout-grid-3 .lbn-bd-biz-grid        { grid-template-columns: repeat(3, 1fr); }

/* ── Grid-2 ── */
#lbn-bd-board.layout-grid-2 .lbn-bd-featured-cards { grid-template-columns: repeat(4, 1fr); }
#lbn-bd-board.layout-grid-2 .lbn-bd-biz-grid        { grid-template-columns: repeat(2, 1fr); }

/* ── Grid-4 ── */
#lbn-bd-board.layout-grid-4 .lbn-bd-featured-cards { grid-template-columns: repeat(4, 1fr); }
#lbn-bd-board.layout-grid-4 .lbn-bd-biz-grid        { grid-template-columns: repeat(4, 1fr); }

/* ── List (single column, horizontal cards) ── */
#lbn-bd-board.layout-list .lbn-bd-featured-cards { grid-template-columns: repeat(3, 1fr); }
#lbn-bd-board.layout-list .lbn-bd-biz-grid        { grid-template-columns: 1fr; }

/* Hide 4th featured card on list and grid-3 (3-slot featured strip) */
#lbn-bd-board.layout-list   .lbn-bd-featured-cards .lbn-bd-biz-card:nth-child(4),
#lbn-bd-board.layout-grid-3 .lbn-bd-featured-cards .lbn-bd-biz-card:nth-child(4) { display: none; }

/* ── List-view card: horizontal layout ── */
#lbn-bd-board.layout-list .lbn-bd-biz-card {
    flex-direction: row;
    align-items: stretch;
}
#lbn-bd-board.layout-list .lbn-bd-card-img-link {
    width: 200px;
    min-width: 200px;
    flex-shrink: 0;
    aspect-ratio: unset;
    height: auto;
}
#lbn-bd-board.layout-list .lbn-bd-card-body {
    padding: 16px 18px;
}
#lbn-bd-board.layout-list .lbn-bd-card-excerpt {
    -webkit-line-clamp: 3;
}

/* ── Featured strip header ── */
.lbn-bd-featured-strip {
    margin-bottom: 8px;
}

.lbn-bd-featured-strip-heading {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .875rem;
    font-weight: 700;
    color: #92400e;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.lbn-bd-featured-divider {
    border: none;
    border-top: 2px dashed #f59e0b;
    margin: 20px 0 24px;
    opacity: .45;
}

/* ── Responsive layout overrides ─────────────────────────────────── */
@media (max-width: 1024px) {
    #lbn-bd-board.layout-grid-4 .lbn-bd-featured-cards { grid-template-columns: repeat(2, 1fr); }
    #lbn-bd-board.layout-grid-4 .lbn-bd-biz-grid        { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    #lbn-bd-board.layout-grid-3 .lbn-bd-featured-cards,
    #lbn-bd-board.layout-grid-2 .lbn-bd-featured-cards,
    .lbn-bd-featured-cards { grid-template-columns: repeat(2, 1fr); }

    #lbn-bd-board.layout-grid-3 .lbn-bd-featured-cards .lbn-bd-biz-card:nth-child(4),
    #lbn-bd-board.layout-list   .lbn-bd-featured-cards .lbn-bd-biz-card:nth-child(4) { display: none; }

    #lbn-bd-board.layout-grid-3 .lbn-bd-biz-grid { grid-template-columns: repeat(2, 1fr); }
    #lbn-bd-board.layout-grid-4 .lbn-bd-biz-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    .lbn-bd-featured-cards,
    #lbn-bd-board.layout-grid-2 .lbn-bd-featured-cards,
    #lbn-bd-board.layout-grid-3 .lbn-bd-featured-cards,
    #lbn-bd-board.layout-grid-4 .lbn-bd-featured-cards { grid-template-columns: 1fr; }

    /* Show only 2 featured on mobile */
    .lbn-bd-featured-cards .lbn-bd-biz-card:nth-child(n+3) { display: none; }

    #lbn-bd-board.layout-grid-2 .lbn-bd-biz-grid,
    #lbn-bd-board.layout-grid-3 .lbn-bd-biz-grid,
    #lbn-bd-board.layout-grid-4 .lbn-bd-biz-grid { grid-template-columns: 1fr; }

    #lbn-bd-board.layout-list .lbn-bd-biz-card { flex-direction: column; }
    #lbn-bd-board.layout-list .lbn-bd-card-img-link { width: 100%; height: auto; aspect-ratio: 16/9; }
}

/* ── RTL ──────────────────────────────────────────────────────────── */
[dir="rtl"] .lbn-bd-container,
.rtl .lbn-bd-container {
    direction: rtl;
    text-align: right;
}
[dir="rtl"] .lbn-bd-my-bizs-table th,
[dir="rtl"] .lbn-bd-my-bizs-table td,
.rtl .lbn-bd-my-bizs-table th,
.rtl .lbn-bd-my-bizs-table td { text-align: right; }

[dir="rtl"] .lbn-bd-card-featured-badge,
.rtl .lbn-bd-card-featured-badge { left: auto; right: 8px; }

[dir="rtl"] .lbn-bd-hours-table th,
[dir="rtl"] .lbn-bd-hours-table td,
.rtl .lbn-bd-hours-table th,
.rtl .lbn-bd-hours-table td { text-align: right; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lbn-bd-single-layout { grid-template-columns: 1fr; }
    .lbn-bd-single-sidebar { order: -1; }
}

@media (max-width: 640px) {
    .lbn-bd-container { padding: 14px 12px 36px; }
    .lbn-bd-directory-outer { padding: 0 12px 36px; }
    .lbn-bd-single-title { font-size: 1.3rem; }
    .lbn-bd-biz-grid { grid-template-columns: 1fr; gap: 14px; }
    .lbn-bd-hours-row { gap: 6px; }
    .lbn-bd-hours-day { width: 72px; font-size: .8125rem; }
    .lbn-bd-hours-time { width: 90px; font-size: .875rem; }
    .lbn-bd-my-bizs-table th,
    .lbn-bd-my-bizs-table td { padding: 10px; font-size: .875rem; }
}

/* -- Featured Section --------------------------------------------------------*/
.lbn-bd-featured-section { margin-bottom: 8px; }
.lbn-bd-featured-heading { font-size: 15px; font-weight: 700; color: #92400e; margin: 0 0 14px; display: flex; align-items: center; gap: 6px; }
.lbn-bd-featured-divider { border: none; border-top: 2px dashed #f59e0b; margin: 24px 0; opacity: .5; }
.lbn-bd-biz-card-featured { border: 2px solid #f59e0b !important; }

/* ── Open Now Filter ──────────────────────────────────────────────── */
.lbn-bd-open-now-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: .9375rem;
    font-weight: 600;
    color: var(--bd-text);
    user-select: none;
    white-space: nowrap;
}
.lbn-bd-open-now-label input { display: none; }
.lbn-bd-open-now-dot {
    width: 36px;
    height: 20px;
    border-radius: 20px;
    background: var(--bd-border);
    position: relative;
    transition: background .18s;
    flex-shrink: 0;
}
.lbn-bd-open-now-dot::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
    transition: left .18s;
}
.lbn-bd-open-now-chk:checked ~ .lbn-bd-open-now-dot,
.lbn-bd-open-now-label:has(input:checked) .lbn-bd-open-now-dot { background: var(--bd-primary); }
.lbn-bd-open-now-chk:checked ~ .lbn-bd-open-now-dot::after,
.lbn-bd-open-now-label:has(input:checked) .lbn-bd-open-now-dot::after { left: 18px; }

/* ── Open badge on card ───────────────────────────────────────────── */
.lbn-bd-card-open-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 3px 9px;
    border-radius: 20px;
    background: #22c55e;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
}
.lbn-bd-open-now-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: 20px;
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #bbf7d0;
    font-size: .75rem;
    font-weight: 700;
    margin-left: 8px;
}

/* ── Rating stars ─────────────────────────────────────────────────── */
.lbn-bd-stars { display: inline-flex; gap: 1px; line-height: 1; }
.lbn-bd-star  { font-size: 1rem; }
.lbn-bd-star-on   { color: var(--bd-gold); }
.lbn-bd-star-half { color: var(--bd-gold); opacity: .6; }
.lbn-bd-star-off  { color: #d1d5db; }

/* ════════════════════════════════════════════════════════════════════
   v2.5.0 — Subscribe Form
   ════════════════════════════════════════════════════════════════════ */

/* ── Wrapper & card ────────────────────────────────────────────────── */
.lbn-bd-subscribe-wrap { max-width: 780px; margin: 0 auto; padding: 24px 16px 48px; }

.lbn-bd-subscribe-card {
    background: var(--bd-card-bg);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    padding: 32px 36px;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
@media (max-width: 600px) {
    .lbn-bd-subscribe-card { padding: 20px 16px; }
}

.lbn-bd-subscribe-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--bd-text);
    margin: 0 0 8px;
}

.lbn-bd-subscribe-intro {
    color: var(--bd-text-muted);
    margin: 0 0 28px;
}

/* ── Form sections ─────────────────────────────────────────────────── */
.lbn-bd-form-section {
    border-top: 1px solid var(--bd-border);
    padding-top: 24px;
    margin-top: 24px;
}
.lbn-bd-form-section:first-child { border-top: none; padding-top: 0; margin-top: 0; }

.lbn-bd-form-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--bd-primary);
    margin: 0 0 20px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.lbn-bd-form-row { margin-bottom: 20px; }
.lbn-bd-form-row label {
    display: block;
    font-weight: 600;
    font-size: .875rem;
    color: var(--bd-text);
    margin-bottom: 6px;
}
.lbn-bd-required { color: var(--bd-danger); margin-left: 2px; }
.lbn-bd-field-note { font-size: .78rem; color: var(--bd-text-muted); margin: 4px 0 0; }
.lbn-bd-field-error { font-size: .8rem; color: var(--bd-danger); margin-top: 4px; font-weight: 500; }

.lbn-bd-select {
    width: 100%; max-width: 420px;
    padding: 8px 12px;
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    font-size: .9rem;
    color: var(--bd-text);
    background: #fff;
    cursor: pointer;
}
.lbn-bd-select:focus { outline: none; border-color: var(--bd-primary); box-shadow: 0 0 0 3px var(--bd-primary-10); }

.lbn-bd-file-input {
    display: block;
    padding: 6px 0;
    font-size: .875rem;
    color: var(--bd-text);
    cursor: pointer;
}

/* ── Package grid ──────────────────────────────────────────────────── */
.lbn-bd-package-grid { display: flex; flex-direction: column; gap: 20px; }

.lbn-bd-package-type-label {
    font-size: .875rem;
    font-weight: 700;
    color: var(--bd-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 10px;
}
.lbn-bd-type-icon { font-size: 1rem; }

.lbn-bd-package-options { display: flex; gap: 12px; flex-wrap: wrap; }

.lbn-bd-package-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px 20px;
    border: 2px solid var(--bd-border);
    border-radius: var(--bd-radius);
    cursor: pointer;
    background: #fff;
    transition: border-color .18s, background .18s, box-shadow .18s;
    min-width: 110px;
    text-align: center;
}
.lbn-bd-package-card:hover { border-color: var(--bd-primary-dark); box-shadow: 0 2px 8px var(--bd-primary-20); }
.lbn-bd-package-card input[type="radio"] { display: none; }
.lbn-bd-package-card.selected,
.lbn-bd-package-card:has(input:checked) {
    border-color: var(--bd-primary);
    background: var(--bd-primary-10);
    box-shadow: 0 0 0 3px var(--bd-primary-20);
}

.lbn-bd-pkg-days { font-size: .82rem; color: var(--bd-text-muted); font-weight: 600; }
.lbn-bd-pkg-price { font-size: 1.25rem; font-weight: 800; color: var(--bd-primary); }

/* ── Order summary ─────────────────────────────────────────────────── */
.lbn-bd-order-summary {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 12px;
    background: var(--bd-bg);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius-sm);
    padding: 14px 18px;
    margin-bottom: 20px;
    font-size: .9rem;
}
.lbn-bd-order-summary span { color: var(--bd-text-muted); }
.lbn-bd-order-summary strong { color: var(--bd-text); }

/* ── Payment method tabs ───────────────────────────────────────────── */
.lbn-bd-method-tabs { display: flex; gap: 10px; flex-wrap: wrap; }

.lbn-bd-method-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 14px;
    border: 1.5px solid var(--bd-border);
    border-radius: var(--bd-radius);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 600;
    color: var(--bd-text-muted);
    background: #fff;
    transition: all .16s;
    min-width: 82px;
    text-align: center;
}
.lbn-bd-method-tab:hover { border-color: var(--bd-primary); color: var(--bd-primary); }
.lbn-bd-method-tab input[type="radio"] { display: none; }
.lbn-bd-method-tab:has(input:checked) {
    border-color: var(--bd-primary);
    background: var(--bd-primary-10);
    color: var(--bd-primary);
}

/* Logo inside the tab card (SVG or IMG) */
.lbn-bd-method-logo { display: block; line-height: 0; }
.lbn-bd-method-logo svg,
.lbn-bd-method-logo img { width: 40px; height: 40px; border-radius: 8px; display: block; object-fit: cover; }
.lbn-bd-method-name { display: block; line-height: 1.3; }

/* ── Payment instructions ──────────────────────────────────────────── */
.lbn-bd-method-instructions {
    margin-top: 14px;
    background: var(--bd-bg);
    border-left: 3px solid var(--bd-primary);
    border-radius: 0 var(--bd-radius-sm) var(--bd-radius-sm) 0;
    padding: 12px 16px;
}
.lbn-bd-method-instructions h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .82rem;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--bd-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
/* small icon in instructions heading */
.lbn-bd-instr-logo { display: inline-flex; line-height: 0; flex-shrink: 0; }
.lbn-bd-instr-logo svg,
.lbn-bd-instr-logo img { width: 22px; height: 22px; border-radius: 4px; display: block; object-fit: cover; }
.lbn-bd-instr-body { font-size: .9rem; color: var(--bd-text); line-height: 1.6; word-break: break-word; }
[dir="rtl"] .lbn-bd-method-instructions { border-left: none; border-right: 3px solid var(--bd-primary); border-radius: var(--bd-radius-sm) 0 0 var(--bd-radius-sm); }

/* ── Notices ───────────────────────────────────────────────────────── */
.lbn-bd-notice {
    padding: 12px 16px;
    border-radius: var(--bd-radius-sm);
    font-size: .875rem;
    border: 1px solid transparent;
}
.lbn-bd-notice-info    { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.lbn-bd-notice-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.lbn-bd-notice-error   { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.lbn-bd-notice-success { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }

/* ── Form actions ──────────────────────────────────────────────────── */
.lbn-bd-form-actions { margin-top: 28px; text-align: right; }

/* ── Success screen ────────────────────────────────────────────────── */
.lbn-bd-subscribe-success { text-align: center; padding: 40px 20px; }
.lbn-bd-success-icon { font-size: 3rem; margin-bottom: 12px; }
.lbn-bd-subscribe-success h3 { font-size: 1.4rem; margin: 0 0 10px; color: var(--bd-text); }
.lbn-bd-subscribe-success p  { color: var(--bd-text-muted); font-size: .95rem; }

/* ── Hero paid banner link overlay ────────────────────────────────── */
.lbn-bd-hero--paid { cursor: pointer; }
.lbn-bd-hero-paid-link {
    position: absolute; inset: 0; z-index: 1;
}
.lbn-bd-hero { position: relative; overflow: hidden; }

/* Interactive star picker */
.lbn-bd-stars-pick .lbn-bd-star {
    font-size: 1.6rem;
    cursor: pointer;
    color: #d1d5db;
    transition: color .12s, transform .1s;
}
.lbn-bd-stars-pick .lbn-bd-star:hover,
.lbn-bd-stars-pick .lbn-bd-star.lbn-bd-star-selected { color: var(--bd-gold); transform: scale(1.15); }

/* Rating summary on single page */
.lbn-bd-rating-summary { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.lbn-bd-rating-val     { font-size: 1rem; font-weight: 700; color: var(--bd-text); }
.lbn-bd-rating-count   { font-size: .875rem; color: var(--bd-text-muted); }

/* Rating on card */
.lbn-bd-card-rating { display: flex; align-items: center; gap: 4px; }
.lbn-bd-card-rating .lbn-bd-star  { font-size: .8125rem; }
.lbn-bd-card-rating-val   { font-size: .8125rem; font-weight: 700; color: var(--bd-text); }
.lbn-bd-card-rating-count { font-size: .75rem; color: var(--bd-text-muted); }

/* ── Favorites ────────────────────────────────────────────────────── */
.lbn-bd-fav-btn,
.lbn-bd-card-fav-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 2px 4px;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--bd-text-muted);
    transition: color .15s, transform .12s;
    flex-shrink: 0;
}
.lbn-bd-fav-btn:hover,
.lbn-bd-card-fav-btn:hover { color: #e11d48; transform: scale(1.15); }
.lbn-bd-fav-active { color: #e11d48 !important; }

/* single-page fav button */
.lbn-bd-fav-btn { font-size: 1.6rem; margin-left: 4px; }

/* ── Report ───────────────────────────────────────────────────────── */
.lbn-bd-report-box {
    background: var(--bd-card-bg);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    padding: 14px 18px;
    box-shadow: var(--bd-shadow);
}
.lbn-bd-btn-link {
    background: none;
    border: none;
    color: var(--bd-text-muted);
    cursor: pointer;
    font-size: .875rem;
    padding: 0;
    text-decoration: underline;
    font-family: inherit;
    transition: color .15s;
}
.lbn-bd-btn-link:hover { color: var(--bd-danger); }
.lbn-bd-report-done { font-size: .875rem; color: var(--bd-text-muted); margin: 0; }

/* ── Reviews Section ──────────────────────────────────────────────── */
.lbn-bd-reviews-section { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--bd-border); }
.lbn-bd-reviews-title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.lbn-bd-reviews-count { font-weight: 400; font-size: .9rem; color: var(--bd-text-muted); }

.lbn-bd-review-form-wrap { margin-bottom: 28px; }

.lbn-bd-review-form { background: var(--bd-bg); border: 1px solid var(--bd-border); border-radius: var(--bd-radius); padding: 18px 20px; }
.lbn-bd-review-stars-pick { margin-bottom: 4px; }
.lbn-bd-review-stars-pick label { font-weight: 600; font-size: .9375rem; display: block; margin-bottom: 6px; }

.lbn-bd-review-login-notice { font-size: .9375rem; color: var(--bd-text-muted); }
.lbn-bd-review-login-notice a { color: var(--bd-primary); }
.lbn-bd-review-done { font-size: .875rem; color: var(--bd-text-muted); margin-bottom: 20px; }

.lbn-bd-reviews-list { display: flex; flex-direction: column; gap: 16px; }

.lbn-bd-review-item {
    background: var(--bd-card-bg);
    border: 1px solid var(--bd-border);
    border-radius: var(--bd-radius);
    padding: 14px 18px;
}
.lbn-bd-review-header { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.lbn-bd-review-author { font-weight: 700; font-size: .9375rem; }
.lbn-bd-review-date   { font-size: .8125rem; color: var(--bd-text-muted); margin-left: auto; }
.lbn-bd-review-content { font-size: .9375rem; color: var(--bd-text); margin: 0; line-height: 1.6; }
.lbn-bd-no-reviews { font-size: .9375rem; color: var(--bd-text-muted); text-align: center; padding: 24px 0; }

/* ── Location Map ─────────────────────────────────────────────────── */
.lbn-bd-map-section { margin: 28px 0; }
.lbn-bd-map-section h3 { font-size: 1.05rem; font-weight: 700; margin: 0 0 12px; }
.lbn-bd-map { width: 100%; height: 300px; border-radius: var(--bd-radius); border: 1px solid var(--bd-border); overflow: hidden; }

/* Submit form location picker */
.lbn-bd-location-map { width: 100%; height: 320px; border-radius: var(--bd-radius); border: 1.5px solid var(--bd-border); margin-top: 8px; overflow: hidden; }
.lbn-bd-geo-note { margin-top: 6px; }

/* Leaflet custom marker (no PNG dependency) */
.lbn-bd-map-marker { background: transparent !important; border: none !important; }

/* ── Owner reply ──────────────────────────────────────────────────── */
.lbn-bd-review-reply {
    margin-top: 12px;
    padding: 10px 14px;
    background: #f8fafc;
    border-left: 3px solid var(--bd-primary);
    border-radius: 0 var(--bd-radius-sm) var(--bd-radius-sm) 0;
}
.lbn-bd-review-reply-label {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    color: var(--bd-primary);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}
.lbn-bd-review-reply-text { margin: 0 0 4px; font-size: .9rem; color: var(--bd-text); line-height: 1.6; }
.lbn-bd-review-reply-date { font-size: .75rem; color: var(--bd-text-muted); }

.lbn-bd-reply-area { margin-top: 10px; }
.lbn-bd-reply-form { margin-top: 8px; }
.lbn-bd-reply-text { margin-bottom: 8px; }
.lbn-bd-reply-actions { display: flex; gap: 8px; }

/* ── Claim listing box ────────────────────────────────────────────── */
.lbn-bd-claim-box {
    background: #f0f7ff;
    border: 1px solid #bfdbfe;
    border-radius: var(--bd-radius-sm);
    padding: 14px;
    margin-top: 16px;
    font-size: .875rem;
}
.lbn-bd-claim-box .lbn-bd-btn-link { color: var(--primary_color, var(--bd-primary)); font-size: .875rem; }
.lbn-bd-claim-form-wrap { margin-top: 12px; }
.lbn-bd-claim-info {
    color: var(--bd-text-muted);
    font-size: .8rem;
    line-height: 1.55;
    margin: 0 0 10px;
}
.lbn-bd-claim-btns { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.lbn-bd-claim-done { color: #166534; font-size: .875rem; font-weight: 500; margin: 0; }

/* ── RTL additions ────────────────────────────────────────────────── */
[dir="rtl"] .lbn-bd-card-open-badge,
.rtl .lbn-bd-card-open-badge { right: auto; left: 8px; }

[dir="rtl"] .lbn-bd-review-date,
.rtl .lbn-bd-review-date { margin-left: 0; margin-right: auto; }

[dir="rtl"] .lbn-bd-review-reply,
.rtl .lbn-bd-review-reply { border-left: none; border-right: 3px solid var(--bd-primary); border-radius: var(--bd-radius-sm) 0 0 var(--bd-radius-sm); }
