/*
 * gb-base.css — Shared GenerateBlocks/GeneratePress overrides
 *
 * Loaded globally on all GP pages. Handles common conflicts between
 * GP's inline customizer CSS and our GB-based page layouts so that
 * individual page CSS files don't each need their own !important battles.
 *
 * GP inline styles we're overriding:
 *   a { color: var(--accent); text-decoration: underline; }
 *   button, a.button { color: #fff; background: #55555e; }
 *   .site-content { display: flex; }
 *   input/select/textarea { border: 1px solid; }
 */

/* ── Full-width page layout ── */
/* GP applies flex on .site-content for sidebar grid, padding on .inside-article,
   and various wrappers that constrain full-width GB sections.
   GP uses both .generate-full-width-content and .full-width-content body classes. */
.generate-full-width-content .inside-article,
.full-width-content .inside-article {
    padding: 0 !important;
    max-width: none !important;
}

.generate-full-width-content .site-content,
.full-width-content .site-content {
    display: block !important;
}

.generate-full-width-content article,
.full-width-content article {
    margin: 0 !important;
}

/* TheGem/WPBakery cleanup — safe to remove once migration is complete */
.page-title-block { display: none; }
.panel.row { background: none; box-shadow: none; padding: 0; margin: 0; }
.block-content { padding: 0; background: none; box-shadow: none; }

/* ── GB text links — reset GP underline and color ── */
/* Only reset border on plain links — not on buttons that may have intentional borders */
a.gb-text {
    text-decoration: none;
    outline: none;
    box-shadow: none;
}
a.gb-text:hover {
    text-decoration: none;
}

/* ── Common button class for GB text links ── */
/* Use class="gb-btn" on generateblocks/text blocks for button styling.
   Page CSS only needs to set colors — no need to fight GP defaults. */
.gb-btn,
a.gb-text.gb-btn {
    display: inline-block;
    padding: 10px 28px;
    border: 0 !important;
    border-radius: 3px;
    outline: none;
    box-shadow: none;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
    cursor: pointer;
    transition: opacity 0.2s;
    line-height: normal;
}
.gb-btn:hover,
a.gb-text.gb-btn:hover {
    text-decoration: none !important;
    border: 0 !important;
    opacity: 0.85;
}

/* White button variant (dark backgrounds) */
.gb-btn--white,
a.gb-text.gb-btn--white {
    background: #fff !important;
    color: #00594c !important;
}
.gb-btn--white:hover,
a.gb-text.gb-btn--white:hover {
    background: #fff !important;
    color: #00594c !important;
}

/* Gold/yellow button variant (CTAs) */
.gb-btn--gold,
a.gb-text.gb-btn--gold {
    background: #c89b3c !important;
    color: #fff !important;
}
.gb-btn--gold:hover,
a.gb-text.gb-btn--gold:hover {
    background: #c89b3c !important;
    color: #fff !important;
}

/* Primary blue button variant */
.gb-btn--blue,
a.gb-text.gb-btn--blue {
    background: #023170 !important;
    color: #fff !important;
}
.gb-btn--blue:hover,
a.gb-text.gb-btn--blue:hover {
    background: #023170 !important;
    color: #fff !important;
}

/* ── White text helper (dark background sections) ── */
.gb-text-white,
.gb-text-white h1,
.gb-text-white h2,
.gb-text-white h3,
.gb-text-white h4,
.gb-text-white p {
    color: #fff !important;
}

/* ── Image centering inside flex GB containers ── */
.gb-element-cad img {
    height: auto;
}

/* ── Flex grid helpers ── */
.gb-flex-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
}

.gb-flex-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.gb-flex-col > * {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* ── Editor versions ── */
.editor-styles-wrapper a.gb-text {
    text-decoration: none;
    box-shadow: none;
}

.editor-styles-wrapper .gb-btn,
.editor-styles-wrapper a.gb-text.gb-btn {
    display: inline-block;
    padding: 10px 28px;
    border: 0 !important;
    border-radius: 3px;
    outline: none;
    box-shadow: none;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
}

.editor-styles-wrapper .gb-btn--white,
.editor-styles-wrapper a.gb-text.gb-btn--white {
    background: #fff !important;
    color: #00594c !important;
}

.editor-styles-wrapper .gb-text-white,
.editor-styles-wrapper .gb-text-white h1,
.editor-styles-wrapper .gb-text-white h2,
.editor-styles-wrapper .gb-text-white h3,
.editor-styles-wrapper .gb-text-white p {
    color: #fff !important;
}

.editor-styles-wrapper .gb-flex-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
}

.editor-styles-wrapper .gb-flex-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.editor-styles-wrapper .gb-flex-col > * {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
