:root {
    --aiba-navy: #0d3b66;
    --aiba-deep: #082b4b;
    --aiba-coral: #ee6c4d;
    --aiba-sky: #f3f7ff;
    --aiba-ink: #172b3a;
    --aiba-muted: #526574;
    --aiba-line: #cbd9e6;
}

.aiba-cta,
.aiba-preferred-source,
.aiba-calc-example,
.aiba-disclaimer {
    box-sizing: border-box;
}

.aiba-cta *,
.aiba-preferred-source *,
.aiba-calc-example *,
.aiba-disclaimer * {
    box-sizing: border-box;
}

.aiba-cta {
    margin: 48px 0 24px !important;
    padding: clamp(28px, 5vw, 44px) !important;
    border: 2px solid var(--aiba-line) !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, var(--aiba-sky), #eef6ff) !important;
    box-shadow: 0 16px 38px rgba(13, 59, 102, 0.09);
    color: var(--aiba-ink);
}

.aiba-cta h2,
.aiba-cta h3 {
    margin: 0 0 12px !important;
    color: var(--aiba-navy) !important;
    font-size: clamp(26px, 4vw, 34px) !important;
    line-height: 1.2 !important;
}

.aiba-cta > p:not(.aiba-cta-buttons) {
    max-width: 720px;
    margin: 0 0 24px !important;
    color: var(--aiba-muted) !important;
}

.aiba-cta .wp-block-buttons,
.aiba-cta .aiba-cta-buttons,
.aiba-calc-buttons {
    display: flex !important;
    align-items: stretch;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 24px 0 0 !important;
}

.aiba-cta .wp-block-button,
.aiba-cta .wp-block-button__link,
.aiba-cta .aiba-cta-button,
.aiba-cta .aiba-button,
.aiba-calc-example .wp-block-button,
.aiba-calc-example .wp-block-button__link,
.aiba-calc-example .aiba-cta-button,
.aiba-preferred-source .wp-block-button,
.aiba-preferred-source .wp-block-button__link,
.aiba-preferred-source .aiba-preferred-source-button {
    min-width: 0;
}

.aiba-cta .wp-block-button__link,
.aiba-cta .aiba-cta-button,
.aiba-cta .aiba-button {
    display: inline-flex !important;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px !important;
    border: 2px solid var(--aiba-button-bg, var(--aiba-navy)) !important;
    border-radius: 11px !important;
    background: var(--aiba-button-bg, var(--aiba-navy)) !important;
    box-shadow: none !important;
    color: var(--aiba-button-text, #fff) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-align: center;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
    transition: filter 0.2s ease, transform 0.2s ease;
}

.aiba-cta .wp-block-button__link:hover,
.aiba-cta .wp-block-button__link:focus-visible,
.aiba-cta .aiba-cta-button:hover,
.aiba-cta .aiba-cta-button:focus-visible,
.aiba-cta .aiba-button:hover,
.aiba-cta .aiba-button:focus-visible {
    filter: brightness(0.9);
    transform: translateY(-2px);
}

.aiba-preferred-source {
    position: relative;
    margin: 24px 0 !important;
    padding: clamp(24px, 4vw, 32px) !important;
    border: 2px solid var(--aiba-line) !important;
    border-radius: 18px !important;
    background: var(--aiba-sky) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.aiba-preferred-source::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: var(--aiba-coral);
    content: "";
}

.aiba-preferred-source h3 {
    margin: 0 0 10px !important;
    color: var(--aiba-navy) !important;
    font-size: clamp(22px, 3vw, 27px) !important;
    line-height: 1.3 !important;
}

.aiba-preferred-source p {
    margin: 0 0 18px !important;
    color: var(--aiba-ink) !important;
}

.aiba-preferred-source p:last-child,
.aiba-preferred-source .wp-block-buttons {
    margin: 20px 0 0 !important;
}

.aiba-preferred-source .wp-block-button__link,
.aiba-preferred-source .aiba-preferred-source-button,
.aiba-calc-example .wp-block-button__link,
.aiba-calc-example .aiba-cta-button {
    display: inline-flex !important;
    min-height: 50px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding: 11px 20px !important;
    border: 2px solid var(--aiba-button-bg, var(--aiba-navy)) !important;
    border-radius: 11px !important;
    background: var(--aiba-button-bg, var(--aiba-navy)) !important;
    box-shadow: none !important;
    color: var(--aiba-button-text, #fff) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-align: center;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
    overflow-wrap: anywhere;
    transition: filter 0.2s ease, transform 0.2s ease;
}

.aiba-preferred-source .wp-block-button__link:hover,
.aiba-preferred-source .wp-block-button__link:focus-visible,
.aiba-preferred-source .aiba-preferred-source-button:hover,
.aiba-preferred-source .aiba-preferred-source-button:focus-visible,
.aiba-calc-example .wp-block-button__link:hover,
.aiba-calc-example .wp-block-button__link:focus-visible,
.aiba-calc-example .aiba-cta-button:hover,
.aiba-calc-example .aiba-cta-button:focus-visible {
    filter: brightness(0.9);
    transform: translateY(-2px);
}

.aiba-disclaimer {
    margin: 28px 0 0 !important;
    padding: 18px 20px !important;
    border-top: 1px solid var(--aiba-line);
    color: var(--aiba-muted) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.aiba-disclaimer p,
.aiba-disclaimer em {
    margin: 0 !important;
    color: inherit !important;
}

.aiba-calc-example {
    margin: 42px 0 !important;
    padding: clamp(24px, 4vw, 34px) !important;
    border: 2px solid var(--aiba-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(13, 59, 102, 0.09);
}

.aiba-calc-example > h2 {
    margin-top: 0 !important;
}

.aiba-calc-source,
.aiba-calc-note {
    color: var(--aiba-muted) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.aiba-calc-table {
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

.aiba-calc-table table {
    min-width: 720px;
}

.aiba-calc-card {
    padding: 20px 22px !important;
    border-radius: 14px !important;
    background: var(--aiba-sky) !important;
}

@media (max-width: 760px) {
    .aiba-cta {
        margin-top: 38px !important;
        padding: 26px 20px !important;
        border-radius: 16px !important;
    }

    .aiba-cta .wp-block-buttons,
    .aiba-cta .aiba-cta-buttons,
    .aiba-calc-buttons {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .aiba-cta .wp-block-button,
    .aiba-cta .wp-block-button__link,
    .aiba-cta .aiba-cta-button,
    .aiba-cta .aiba-button,
    .aiba-calc-buttons .aiba-cta-button {
        width: 100% !important;
    }

    .aiba-preferred-source {
        padding: 24px 20px 24px 22px !important;
    }

    .aiba-preferred-source .wp-block-button,
    .aiba-preferred-source .wp-block-button__link,
    .aiba-preferred-source .aiba-preferred-source-button {
        width: 100% !important;
    }

    .aiba-disclaimer {
        padding-inline: 0 !important;
    }

    .aiba-calc-example {
        padding: 22px 18px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aiba-cta a,
    .aiba-preferred-source a,
    .aiba-calc-example a {
        transition: none !important;
    }
}
