/*
 * Builder Contract v1 adapter for the private WebIndigo site template.
 *
 * These rules are dormant until a section has an explicit non-default
 * semantic presentation value stored by WebIndigo CMS. Existing pages keep
 * their original site.css appearance when no presentation is assigned.
 */

/* Text blocks: semantic tone. */
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-soft {
    padding: clamp(26px, 3vw, 38px);
    border: 1px solid var(--wi-border);
    border-radius: 24px;
    background: var(--wi-surface-soft);
    color: var(--wi-text);
    box-shadow: var(--wi-shadow-sm);
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent {
    padding: clamp(28px, 3.2vw, 42px);
    border: 1px solid transparent;
    border-radius: 24px;
    background:
        radial-gradient(circle at 84% 0%, rgba(253, 186, 116, 0.28), transparent 34%),
        linear-gradient(135deg, var(--wi-primary), var(--wi-primary-deep));
    color: #ffffff;
    box-shadow: 0 22px 52px rgba(194, 65, 12, 0.2);
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast {
    padding: clamp(28px, 3.2vw, 42px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    background:
        radial-gradient(circle at 82% 0%, rgba(249, 115, 22, 0.15), transparent 34%),
        linear-gradient(135deg, #382016, #25140f);
    color: #ffffff;
    box-shadow: 0 24px 58px rgba(37, 20, 15, 0.18);
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__eyebrow,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__eyebrow {
    color: #ffddc7;
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__title,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__text,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__content,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content h2,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content h3,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content h4,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content p,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content li,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__title,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__text,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__content,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content h2,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content h3,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content h4,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content p,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content li {
    color: rgba(255, 255, 255, 0.9);
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__title,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content h2,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-content h3,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__title,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content h2,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-content h3 {
    color: #ffffff;
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-accent .webindigo-card__link,
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--tone-contrast .webindigo-card__link {
    color: #ffffff;
}

/* Text blocks: semantic alignment. */
.webindigo-card--text_block.cms-section-presentation--align-left {
    text-align: left;
}

.webindigo-card--text_block.cms-section-presentation--align-center {
    text-align: center;
}

.webindigo-card--text_block.cms-section-presentation--align-center .webindigo-card__link {
    justify-content: center;
}

/* Text blocks: semantic spacing. */
.webindigo-zone .webindigo-card--text_block.cms-section-presentation--spacing-compact {
    padding: clamp(18px, 2vw, 24px);
}

.webindigo-zone .webindigo-card--text_block.cms-section-presentation--spacing-spacious {
    padding: clamp(38px, 4.5vw, 58px);
}

/* CTA blocks: semantic tone is applied to the existing inner CTA component. */
.webindigo-card--cta_block.cms-section-presentation--tone-soft .webindigo-cta {
    border: 1px solid var(--wi-border);
    background: linear-gradient(135deg, #fffaf6, #fff1e8);
    color: var(--wi-text);
    box-shadow: var(--wi-shadow-sm);
}

.webindigo-card--cta_block.cms-section-presentation--tone-soft .webindigo-cta .webindigo-card__eyebrow {
    color: var(--wi-primary-deep);
}

.webindigo-card--cta_block.cms-section-presentation--tone-soft .webindigo-cta__title {
    color: var(--wi-text);
}

.webindigo-card--cta_block.cms-section-presentation--tone-soft .webindigo-cta__text {
    color: var(--wi-text-soft);
}

body.webindigo-site .webindigo-card--cta_block.cms-section-presentation--tone-soft a.webindigo-button--light {
    background: var(--wi-primary);
    color: #ffffff;
    box-shadow: 0 14px 32px rgba(249, 115, 22, 0.22);
}

.webindigo-card--cta_block.cms-section-presentation--tone-accent .webindigo-cta {
    background:
        radial-gradient(circle at 82% 0%, rgba(255, 237, 213, 0.26), transparent 34%),
        linear-gradient(135deg, #f97316, #c2410c);
    color: #ffffff;
    box-shadow: 0 30px 72px rgba(194, 65, 12, 0.28);
}

.webindigo-card--cta_block.cms-section-presentation--tone-contrast .webindigo-cta {
    background:
        radial-gradient(circle at 82% 0%, rgba(249, 115, 22, 0.16), transparent 34%),
        linear-gradient(135deg, #382016, #25140f);
    color: #ffffff;
    box-shadow: 0 30px 72px rgba(37, 20, 15, 0.22);
}

.webindigo-card--cta_block.cms-section-presentation--tone-contrast .webindigo-cta .webindigo-card__eyebrow {
    color: #f6b48c;
}

/* CTA blocks: semantic alignment. */
.webindigo-card--cta_block.cms-section-presentation--align-left .webindigo-cta {
    text-align: left;
}

.webindigo-card--cta_block.cms-section-presentation--align-center .webindigo-cta {
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.webindigo-card--cta_block.cms-section-presentation--align-center .webindigo-cta > div {
    display: grid;
    justify-items: center;
}

/* CTA blocks: semantic spacing. */
.webindigo-card--cta_block.cms-section-presentation--spacing-compact .webindigo-cta {
    min-height: 0;
    padding: clamp(24px, 3vw, 36px);
}

.webindigo-card--cta_block.cms-section-presentation--spacing-spacious .webindigo-cta {
    padding: clamp(48px, 6vw, 82px);
}

@media (max-width: 760px) {
    .webindigo-card--cta_block.cms-section-presentation--align-center .webindigo-cta {
        align-items: center;
    }
}
