/* Angular customer template aligned with the Flexi application family. */
.fp-template-standard {
    --fp-card-radius: 6px !important;
    --fp-button-radius: 4px !important;
    --fp-modern-radius: 6px !important;
    --fp-modern-shadow: 0 14px 36px rgba(15, 34, 59, .09) !important;
    --fp-modern-shadow-soft: 0 6px 18px rgba(15, 34, 59, .07) !important;
    background: color-mix(in srgb, var(--fp-bg) 96%, var(--fp-primary)) !important;
}

.fp-template-standard .fp-hero {
    min-height: clamp(430px, 56vh, 540px) !important;
    background:
        linear-gradient(
            112deg,
            var(--fp-hero-bg) 0 64%,
            color-mix(in srgb, var(--fp-primary) 7%, var(--fp-hero-bg)) 100%
        ) !important;
    border-bottom: 1px solid var(--fp-line) !important;
}

.fp-template-standard .fp-hero__inner {
    min-height: clamp(430px, 56vh, 540px) !important;
}

.fp-template-standard .fp-hero__content {
    transform: translateY(-8%) !important;
}

.fp-template-standard .fp-hero::before {
    opacity: .12;
}

.fp-template-standard .fp-hero::after {
    height: 3px;
    background: linear-gradient(90deg, var(--fp-primary), var(--fp-accent));
}

.fp-template-standard :is(
    .fp-nav-link,
    .fp-hero__date,
    .fp-status-shell,
    .fp-status-current,
    .fp-next-card,
    .fp-section,
    .fp-doc,
    .fp-item__button,
    .fp-item__visual,
    .fp-inline-button,
    .fp-contact__row,
    .fp-contact__avatar,
    .fp-info-strip,
    .fp-iframe-modal-content,
    .fp-article-placeholder,
    .fp-document-modal-external
) {
    border-radius: 6px !important;
}

.fp-template-standard :is(
    .fp-step__marker,
    .fp-next-card__icon
) {
    border-radius: 5px !important;
}

.fp-template-standard :is(
    button,
    .btn,
    .fp-button,
    .fp-inline-button,
    .fp-nav-link,
    .fp-document-modal-external
) {
    border-radius: 4px !important;
}

.fp-template-standard :is(
    .fp-status-shell,
    .fp-next-card,
    .fp-section,
    .fp-contact__row
) {
    border-color: color-mix(in srgb, var(--fp-line) 88%, var(--fp-primary)) !important;
    box-shadow: var(--fp-modern-shadow-soft) !important;
}

.fp-template-standard .fp-status-section--modern {
    padding-top: clamp(34px, 4vw, 52px) !important;
}

.fp-template-standard .fp-status-shell {
    color: var(--fp-ink) !important;
    background:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--fp-surface) 98%, var(--fp-primary)),
            var(--fp-surface)
        ) !important;
    box-shadow: var(--fp-modern-shadow) !important;
}

.fp-template-standard .fp-status-overview {
    padding: clamp(30px, 3.5vw, 44px) !important;
}

.fp-template-standard .fp-status-current {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.fp-template-standard .fp-nav-link {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

.fp-template-standard .fp-inline-button {
    box-shadow: none;
}

.fp-template-standard .fp-next-card {
    border-left: 4px solid var(--fp-primary) !important;
    background:
        linear-gradient(
            100deg,
            color-mix(in srgb, var(--fp-primary) 4%, var(--fp-surface)),
            var(--fp-surface) 58%
        ) !important;
}

.fp-template-standard .fp-section {
    padding: clamp(32px, 4vw, 52px) !important;
}

.fp-template-standard .fp-section-head {
    margin-bottom: clamp(28px, 4vw, 42px) !important;
}

.fp-template-standard .fp-section-head h2 {
    font-size: clamp(30px, 3.6vw, 46px) !important;
}

.fp-template-standard .fp-item__button,
.fp-template-standard .fp-doc,
.fp-template-standard .fp-contact__row {
    background: color-mix(in srgb, var(--fp-surface) 97%, var(--fp-primary)) !important;
}

.fp-template-standard .fp-item__button:hover,
.fp-template-standard .fp-doc:hover {
    border-color: color-mix(in srgb, var(--fp-primary) 42%, var(--fp-line)) !important;
}

.fp-template-standard .fp-step--current .fp-step__marker {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fp-accent) 16%, transparent);
}

/* Progress indicators intentionally remain circular. */
.fp-template-standard .fp-status-ring,
.fp-template-standard .fp-status-ring::before,
.fp-template-standard .fp-nav-link::after {
    border-radius: 50% !important;
}

@media (max-width: 760px) {
    .fp-template-standard .fp-hero,
    .fp-template-standard .fp-hero__inner {
        min-height: 430px !important;
    }

    .fp-template-standard .fp-hero__content {
        transform: none !important;
    }

    .fp-template-standard .fp-section,
    .fp-template-standard .fp-next-card,
    .fp-template-standard .fp-status-overview,
    .fp-template-standard .fp-contact__row {
        padding-right: 20px;
        padding-left: 20px;
    }
}
