/* ═══════════════════════════════════════════════
   TABAIX BUILDER — Front-end Output Styles
   Loaded on the public site when blocks are used
═══════════════════════════════════════════════ */

.tabaix-builder-output {
    width: 100%;
}

/* Heading */
.tbld-heading {
    margin: 0.4em 0;
    line-height: 1.25;
}
.tbld-heading[style*="center"] { text-align: center; }
.tbld-heading[style*="right"]  { text-align: right; }

/* Paragraph */
.tbld-paragraph {
    margin: 0.6em 0;
    line-height: 1.75;
    opacity: 0.9;
}

/* Buttons */
.tbld-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 26px;
    border-radius: var(--border-radius-base, 8px);
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none !important;
    transition: all 0.2s ease;
    cursor: pointer;
    border: none;
    white-space: nowrap;
}
.tbld-btn-gold {
    background: var(--glass-gold, #C9A84C);
    color: #000 !important;
}
.tbld-btn-gold:hover {
    background: #e8c96a;
    transform: translateY(-1px);
    box-shadow: 0 4px 20px rgba(201,168,76,0.3);
}
.tbld-btn-outline {
    background: transparent;
    border: 2px solid var(--glass-gold, #C9A84C);
    color: var(--glass-gold, #C9A84C) !important;
}
.tbld-btn-outline:hover {
    background: rgba(201,168,76,0.1);
}
.tbld-btn-dark {
    background: #1a1a2e;
    color: #fff !important;
}
.tbld-btn-dark:hover {
    background: #252540;
    transform: translateY(-1px);
}
.tbld-btn-ghost {
    background: rgba(255,255,255,0.05);
    color: inherit !important;
    border: 1px solid rgba(255,255,255,0.12);
}
.tbld-btn-ghost:hover {
    background: rgba(255,255,255,0.1);
}

/* Divider */
.tbld-divider {
    border: none;
    margin: 1.75rem 0;
}
.tbld-divider[data-style="solid"]  { border-top: 1px solid rgba(128,128,128,0.2); }
.tbld-divider[data-style="dashed"] { border-top: 1px dashed rgba(128,128,128,0.3); }
.tbld-divider[data-style="dotted"] { border-top: 1px dotted rgba(128,128,128,0.3); }

/* Image */
.tbld-image {
    max-width: 100%;
    height: auto;
    border-radius: var(--border-radius-base, 8px);
    display: block;
}

/* Nav Link */
.tbld-navlink {
    display: inline-block;
    padding: 4px 0;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.15s;
    font-weight: 500;
}
.tbld-navlink:hover { opacity: 0.7; }

/* Columns */
.tbld-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
    width: 100%;
}
@media (max-width: 640px) {
    .tbld-columns { grid-template-columns: 1fr; }
}
.tbld-col { min-width: 0; }
