/* Explain: Bespoke cards, buttons, forms, and editorial details */
.btn-heritage {
    min-height: 3rem;
    border: 1px solid var(--primary-color);
    border-radius: 999px;
    background: var(--primary-color);
    color: var(--white-color);
    box-shadow: 0 12px 34px rgba(30, 58, 138, 0.24);
    transition: all 300ms ease;
}

.btn-heritage:hover {
    border-color: var(--primary-hover);
    background: var(--primary-hover);
    transform: translateY(-2px);
}

.btn-quiet {
    min-height: 3rem;
    border: 1px solid rgba(30, 58, 138, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--text-color);
    transition: all 300ms ease;
}

.btn-quiet:hover {
    border-color: var(--accent-color);
    background: rgba(14, 165, 233, 0.1);
    transform: translateY(-2px);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--secondary-color);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.eyebrow::before {
    width: 2.25rem;
    height: 1px;
    background: var(--accent-color);
    content: '';
}

.editorial-card {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-large);
    background: rgba(255, 255, 255, 0.85);
    box-shadow: var(--shadow-card);
    backdrop-filter: blur(14px);
}

.texture-panel {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background:
        linear-gradient(135deg, rgba(15, 23, 42, 0.94), rgba(30, 58, 138, 0.92)),
        url('https://files.cdn-files-a.com/uploads/12191582/normal_gi-6a2add2c2cb5f.jpg?format=avif');
    background-position: center;
    background-size: cover;
    color: var(--white-color);
}

.number-mark {
    font-family: var(--font-heading);
    color: rgba(14, 165, 233, 0.42);
    font-size: clamp(3rem, 8vw, 6.5rem);
    line-height: 0.8;
}

.input,
.select,
.textarea {
    border-color: rgba(30, 58, 138, 0.22);
    background: rgba(255, 255, 255, 0.95);
    color: var(--text-color);
}

.input:focus,
.select:focus,
.textarea:focus {
    border-color: var(--accent-color);
    outline: 2px solid rgba(14, 165, 233, 0.2);
    outline-offset: 0;
}

.form-status {
    display: none;
    border-radius: var(--radius-small);
    padding: 0.9rem 1rem;
    font-weight: 700;
}

.form-status.is-visible {
    display: block;
}

.form-status.is-success {
    background: rgba(51, 65, 85, 0.12);
    color: var(--secondary-color);
}

.form-status.is-error {
    background: rgba(220, 38, 38, 0.12);
    color: #b91c1c;
}
