/* ================================================================
   Hamta CTA — Frontend Styles
   ================================================================ */

/* ── Reset & Base ─────────────────────────────────────────────── */
.hpb-cta {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding: var(--hpb-cta-pt, 80px) 40px var(--hpb-cta-pb, 80px);
    min-height: var(--hpb-cta-min-h, auto);
    border-radius: var(--hpb-cta-radius, 0);
    color: var(--hpb-cta-color, inherit);
    font-family: inherit;
    direction: rtl;
}

.hpb-cta__inner {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}

/* ── Text Alignment ───────────────────────────────────────────── */
.hpb-cta--align-center  .hpb-cta__content { text-align: center; }
.hpb-cta--align-start   .hpb-cta__content { text-align: right; }
.hpb-cta--align-end     .hpb-cta__content { text-align: left; }

.hpb-cta--align-center  .hpb-cta__buttons { justify-content: center; }
.hpb-cta--align-start   .hpb-cta__buttons { justify-content: flex-start; }
.hpb-cta--align-end     .hpb-cta__buttons { justify-content: flex-end; }

/* ── Content Typography ───────────────────────────────────────── */
.hpb-cta__eyebrow {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.75;
    margin: 0 0 12px;
}

.hpb-cta__headline {
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 16px;
    color: var(--hpb-cta-color, inherit);
}

.hpb-cta__subheadline {
    font-size: clamp(18px, 2.5vw, 26px);
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 16px;
    opacity: 0.85;
}

.hpb-cta__body {
    font-size: clamp(15px, 1.6vw, 18px);
    line-height: 1.8;
    max-width: 680px;
    opacity: 0.85;
    margin: 0 0 28px;
}

.hpb-cta--align-center  .hpb-cta__body { margin-left: auto; margin-right: auto; }
.hpb-cta--align-start   .hpb-cta__body { margin-right: 0; }
.hpb-cta--align-end     .hpb-cta__body { margin-left: 0; }

/* ── Badge ────────────────────────────────────────────────────── */
.hpb-cta__badge {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 99px;
    background: rgba(255,255,255,0.2);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
}

/* ── Buttons ──────────────────────────────────────────────────── */
.hpb-cta__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.hpb-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(.4,0,.2,1);
    white-space: nowrap;
    border: 2px solid transparent;
    font-family: inherit;
}

/* Sizes */
.hpb-cta__btn--sz-sm { font-size: 13px; padding: 8px  18px; }
.hpb-cta__btn--sz-md { font-size: 15px; padding: 12px 24px; }
.hpb-cta__btn--sz-lg { font-size: 17px; padding: 14px 32px; border-radius: 10px; }
.hpb-cta__btn--sz-xl { font-size: 19px; padding: 18px 42px; border-radius: 12px; }

/* Variant: filled */
.hpb-cta__btn--filled {
    background: var(--hpb-btn-bg, #667eea);
    color: var(--hpb-btn-color, #fff) !important;
}
.hpb-cta__btn--filled:hover {
    background: color-mix(in srgb, var(--hpb-btn-bg, #667eea) 85%, #000);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

/* Variant: outline */
.hpb-cta__btn--outline {
    background: transparent;
    color: var(--hpb-btn-color, inherit) !important;
    border-color: currentColor;
}
.hpb-cta__btn--outline:hover {
    background: rgba(255,255,255,0.15);
    transform: translateY(-2px);
}

/* Variant: ghost */
.hpb-cta__btn--ghost {
    background: rgba(255,255,255,0.12);
    color: var(--hpb-btn-color, inherit) !important;
    backdrop-filter: blur(4px);
}
.hpb-cta__btn--ghost:hover {
    background: rgba(255,255,255,0.25);
    transform: translateY(-2px);
}

/* Variant: link */
.hpb-cta__btn--link {
    background: transparent;
    padding-right: 0;
    padding-left: 0;
    color: var(--hpb-btn-color, inherit) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.hpb-cta__btn--link:hover { opacity: 0.75; }

/* ── Media ────────────────────────────────────────────────────── */
.hpb-cta__media {
    border-radius: 12px;
    overflow: hidden;
}
.hpb-cta__media img {
    width: 100%;
    height: auto;
    display: block;
}

/* ── Countdown ────────────────────────────────────────────────── */
.hpb-cta__countdown {
    display: inline-flex;
    gap: 20px;
    margin: 24px 0;
    direction: ltr;
}
.hpb-cta__countdown-unit {
    text-align: center;
    min-width: 70px;
    background: rgba(0,0,0,0.15);
    border-radius: 10px;
    padding: 12px 8px;
}
.hpb-cta__countdown-unit span {
    display: block;
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.hpb-cta__countdown-unit small {
    font-size: 11px;
    opacity: 0.8;
    margin-top: 4px;
    display: block;
}

/* ── Social links ─────────────────────────────────────────────── */
.hpb-cta__social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.hpb-cta__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: inherit !important;
    text-decoration: none;
    font-size: 18px;
    transition: all 0.2s;
}
.hpb-cta__social-link:hover {
    background: rgba(255,255,255,0.3);
    transform: scale(1.1);
}

/* ── Video background ─────────────────────────────────────────── */
.hpb-cta__video-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.hpb-cta__video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ================================================================
   LAYOUT VARIANTS
   ================================================================ */

/* ── Split ────────────────────────────────────────────────────── */
.hpb-cta--layout-split .hpb-cta__inner,
.hpb-cta--layout-split-reverse .hpb-cta__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.hpb-cta--layout-split-reverse .hpb-cta__inner {
    direction: ltr;
}
.hpb-cta--layout-split-reverse .hpb-cta__content,
.hpb-cta--layout-split-reverse .hpb-cta__col--text {
    direction: rtl;
}

/* ── Banner ───────────────────────────────────────────────────── */
.hpb-cta--layout-banner .hpb-cta__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.hpb-cta--layout-banner .hpb-cta__content { flex: 1; }
.hpb-cta--layout-banner .hpb-cta__buttons { margin-top: 0; }

/* ── Card ─────────────────────────────────────────────────────── */
.hpb-cta--layout-card {
    padding: 0;
    background: transparent;
}
.hpb-cta--layout-card .hpb-cta__inner {
    background: var(--hpb-cta-bg, #fff);
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
    padding: 60px 48px;
    text-align: center;
    min-height: var(--hpb-cta-min-h, auto);
}

/* ── Fullscreen ───────────────────────────────────────────────── */
.hpb-cta--layout-fullscreen {
    min-height: var(--hpb-cta-min-h, 100vh);
    display: flex;
    align-items: center;
}
.hpb-cta--layout-fullscreen .hpb-cta__inner {
    width: 100%;
}

/* ================================================================
   STYLE VARIANTS
   ================================================================ */

/* ── Solid ────────────────────────────────────────────────────── */
.hpb-cta--style-solid {
    background: var(--hpb-cta-bg, #667eea);
    color: var(--hpb-cta-color, #fff);
}

/* ── Gradient ─────────────────────────────────────────────────── */
.hpb-cta--style-gradient {
    background: linear-gradient(135deg, var(--hpb-cta-bg, #667eea) 0%, var(--hpb-cta-bg2, #764ba2) 100%);
    color: var(--hpb-cta-color, #fff);
}

/* ── Outlined ─────────────────────────────────────────────────── */
.hpb-cta--style-outlined {
    background: transparent;
    border: 2px solid var(--hpb-cta-bg, #667eea);
    color: var(--hpb-cta-color, #667eea);
}

/* ── Glass ────────────────────────────────────────────────────── */
.hpb-cta--style-glass {
    background: var(--hpb-cta-bg, rgba(255,255,255,0.1));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.2);
    color: var(--hpb-cta-color, inherit);
}

/* ── Dark ─────────────────────────────────────────────────────── */
.hpb-cta--style-dark {
    background: var(--hpb-cta-bg, #0f0f0f);
    color: var(--hpb-cta-color, #fff);
}
.hpb-cta--style-dark .hpb-cta__badge {
    background: rgba(255,255,255,0.1);
}

/* ── Image BG ─────────────────────────────────────────────────── */
.hpb-cta--style-image-bg,
.hpb-cta--has-bg-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--hpb-cta-color, #fff);
}
.hpb-cta--style-image-bg::before,
.hpb-cta--has-bg-image::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0,0,0, calc(var(--hpb-cta-overlay, 40) / 100));
    pointer-events: none;
}

/* ================================================================
   ANIMATIONS
   ================================================================ */
.hpb-cta--anim-fade-up   { opacity: 0; transform: translateY(30px); }
.hpb-cta--anim-fade-down { opacity: 0; transform: translateY(-30px); }
.hpb-cta--anim-zoom-in   { opacity: 0; transform: scale(0.92); }
.hpb-cta--anim-slide-in  { opacity: 0; transform: translateX(40px); }

.hpb-cta.hpb-cta--visible {
    opacity: 1 !important;
    transform: none !important;
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(.4,0,.2,1);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
    .hpb-cta--layout-split .hpb-cta__inner,
    .hpb-cta--layout-split-reverse .hpb-cta__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .hpb-cta--layout-split-reverse .hpb-cta__inner {
        direction: rtl;
    }
}

@media (max-width: 768px) {
    .hpb-cta {
        padding: 60px 24px;
    }
    .hpb-cta--layout-fullscreen {
        min-height: var(--hpb-cta-min-h, 70vh);
    }
    .hpb-cta__buttons {
        flex-direction: column;
        align-items: stretch;
    }
    .hpb-cta__btn {
        justify-content: center;
    }
    .hpb-cta--layout-banner .hpb-cta__inner {
        flex-direction: column;
        text-align: center;
    }
    .hpb-cta--layout-banner .hpb-cta__buttons {
        justify-content: center;
    }
    .hpb-cta--layout-card .hpb-cta__inner {
        padding: 40px 24px;
    }
    .hpb-cta__countdown {
        gap: 12px;
    }
    .hpb-cta__countdown-unit {
        min-width: 60px;
        padding: 10px 6px;
    }
    .hpb-cta__countdown-unit span {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .hpb-cta {
        padding: 48px 16px;
    }
}

/* ================================================================
   BANK OFFERS LIST
   ================================================================ */

.hpb-cta--layout-bank-offers-list {
    padding: var(--hpb-cta-pt, 48px) 24px var(--hpb-cta-pb, 48px);
    background: var(--hpb-cta-bg, transparent);
    color: var(--hpb-cta-color, #1e293b);
}

.hpb-cta--layout-bank-offers-list.hpb-cta--style-solid,
.hpb-cta--layout-bank-offers-list.hpb-cta--style-gradient,
.hpb-cta--layout-bank-offers-list.hpb-cta--style-dark {
    color: var(--hpb-cta-color, inherit);
}

.hpb-cta-bank-offers {
    display: flex;
    flex-direction: column;
    gap: var(--hpb-bank-offers-gap, 12px);
    width: 100%;
}

.hpb-cta-bank-offers__empty {
    margin: 0;
    padding: 24px;
    text-align: center;
    color: #64748b;
    background: rgba(129, 41, 144, 0.04);
    border-radius: 12px;
}

.hpb-cta-bank-offer {
    display: grid;
    grid-template-columns: var(--hpb-bank-offer-logo, 80px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px 20px;
    padding: 16px 20px;
    background: #ffffff;
    border-radius: var(--hpb-bank-offer-radius, 20px);
    box-shadow: 0 0 15px rgba(129, 41, 144, 0.1);
    border: 1px solid rgba(129, 41, 144, 0.06);
}

.hpb-cta-bank-offer__logo {
    width: var(--hpb-bank-offer-logo, 80px);
    height: var(--hpb-bank-offer-logo, 80px);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 0 10px rgba(129, 41, 144, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.hpb-cta-bank-offer__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}

.hpb-cta-bank-offer__logo-placeholder {
    width: 56%;
    height: 56%;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(129, 41, 144, 0.12), rgba(129, 41, 144, 0.04));
}

.hpb-cta-bank-offer__content {
    min-width: 0;
}

.hpb-cta-bank-offer__title {
    margin: 0 0 10px;
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 800;
    line-height: 1.4;
    color: #1e293b;
}

.hpb-cta-bank-offer__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 0;
}

.hpb-cta-bank-offer__meta-item {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0;
}

.hpb-cta-bank-offers--labels .hpb-cta-bank-offer__meta-item dt {
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    color: #812990;
    white-space: nowrap;
}

.hpb-cta-bank-offer__meta-item dd {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #334155;
}

.hpb-cta-bank-offer__action {
    flex-shrink: 0;
}

.hpb-cta-bank-offer__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    padding: 12px 20px;
    border-radius: var(--hpb-bank-offer-btn-radius, 12px);
    background: var(--hpb-bank-offer-btn-bg, #812990);
    color: var(--hpb-bank-offer-btn-color, #fff);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 8px 20px rgba(129, 41, 144, 0.18);
}

.hpb-cta-bank-offer__btn:hover,
.hpb-cta-bank-offer__btn:focus {
    color: var(--hpb-bank-offer-btn-color, #fff);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(129, 41, 144, 0.24);
}

@media (max-width: 768px) {
    .hpb-cta-bank-offer {
        grid-template-columns: var(--hpb-bank-offer-logo, 72px) minmax(0, 1fr);
        grid-template-areas:
            "logo content"
            "action action";
    }

    .hpb-cta-bank-offer__logo {
        grid-area: logo;
    }

    .hpb-cta-bank-offer__content {
        grid-area: content;
    }

    .hpb-cta-bank-offer__action {
        grid-area: action;
    }

    .hpb-cta-bank-offer__btn {
        width: 100%;
    }
}

/* ================================================================
   HAMTA LOANS — Figma pixel presets
   ================================================================ */

.hpb-cta-bank-offers--hamta-loans {
    gap: var(--hpb-bank-offers-gap, 16px);
}

.hpb-cta-bank-offer-row {
    display: flex;
    align-items: center;
    gap: 16px;
    direction: rtl;
}

.hpb-cta-bank-offer-row__card {
    flex: 1;
    min-height: var(--hpb-bank-offer-min-h, 125px);
    border: 1px solid rgba(129, 41, 144, 0.5);
    border-radius: var(--hpb-bank-offer-radius, 30px);
    background: #fff;
    position: relative;
    padding: 24px 180px 24px 32px;
}

.hpb-cta-bank-offer-row__fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 12px;
    width: 100%;
}

.hpb-cta-bank-offer-row__plan,
.hpb-cta-bank-offer-row__amount,
.hpb-cta-bank-offer-row__period,
.hpb-cta-bank-offer-row__rate {
    margin: 0;
    color: #5c5c5c;
    font-size: var(--hpb-bank-offer-meta-size, 20px);
    font-weight: 600;
    line-height: 1.4;
}

.hpb-cta-bank-offer-row__plan {
    text-align: right;
}

.hpb-cta-bank-offer-row__amount,
.hpb-cta-bank-offer-row__period,
.hpb-cta-bank-offer-row__rate {
    text-align: center;
}

.hpb-cta-bank-offer-row__btn {
    position: absolute;
    left: 57px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 184px;
    padding: 16px 40px;
    border-radius: var(--hpb-bank-offer-btn-radius, 15px);
    background: var(--hpb-bank-offer-btn-bg, #812990);
    color: var(--hpb-bank-offer-btn-color, #fff);
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: none;
    transition: opacity 0.2s ease;
}

.hpb-cta-bank-offer-row__btn:hover,
.hpb-cta-bank-offer-row__btn:focus {
    color: var(--hpb-bank-offer-btn-color, #fff);
    opacity: 0.92;
    transform: translateY(-50%);
}

.hpb-cta-bank-offer-row__logo {
    width: var(--hpb-bank-offer-logo, 125px);
    height: var(--hpb-bank-offer-logo, 125px);
    flex-shrink: 0;
    border-radius: var(--hpb-bank-offer-radius, 30px);
    background: #fff;
    box-shadow: 0 0 15px rgba(129, 41, 144, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    overflow: hidden;
}

.hpb-cta-bank-offer-row__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hpb-cta-bank-offer-row__logo-placeholder {
    width: 100%;
    height: 100%;
    background: rgba(129, 41, 144, 0.08);
    border-radius: inherit;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__shell {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 529px);
    padding: 0;
    min-height: 526px;
    overflow: visible;
}

.hpb-cta-newsletter--variant-hamta-loans.hpb-cta-newsletter--form-end .hpb-cta-newsletter__shell {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 529px);
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__content {
    padding: 56px 64px;
    justify-content: center;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__title {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 24px;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__paragraph {
    font-size: 20px;
    line-height: 2;
    text-align: justify;
    opacity: 1;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__form-card {
    max-width: none;
    align-self: start;
    margin-top: 64px;
    margin-inline-start: calc(var(--hpb-nl-card-overlap, 80px) * -1);
    padding: 80px;
    box-shadow: 0 0 20px rgba(129, 41, 144, 0.2);
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__form-intro {
    font-size: 19px;
    font-weight: 400;
    text-align: right;
    margin-bottom: 32px;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__input {
    border-radius: 30px;
    padding: 16px 40px;
    font-size: 20px;
    color: rgba(146, 146, 146, 0.73);
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__submit {
    border-radius: 15px;
    padding: 16px 40px;
    font-size: 18px;
}

.hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__form {
    gap: 32px;
}

.hpb-hamta-loans-steps.hpb-cta--layout-sticky-items .hpb-cta__inner,
.hpb-hamta-loans-steps.hpb-cta--layout-sticky-items-flip .hpb-cta__inner {
    display: block;
}

.hpb-hamta-loans-steps .hpb-cta-sticky__panel {
    display: none;
}

.hpb-hamta-loans-steps .hpb-cta-sticky__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.hpb-hamta-loans-steps .hpb-cta-sticky__item {
    background: #fff;
    border: 1px solid #812990;
    border-radius: 30px;
    box-shadow: 0 0 20px rgba(129, 41, 144, 0.2);
    padding: 32px 24px;
    min-height: 180px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
}

.hpb-hamta-loans-steps .hpb-cta-sticky__item-image {
    width: 50px;
    height: 50px;
}

.hpb-hamta-loans-steps .hpb-cta-sticky__item-title {
    color: #812990;
    font-size: 17px;
    font-weight: 400;
    margin: 0;
}

.hpb-hamta-loans-btn-only .hpb-cta__btn--filled {
    min-width: 184px;
    padding: 16px 40px;
    border-radius: 15px;
    font-size: 18px;
    font-weight: 700;
}

@media (max-width: 1200px) {
    .hpb-cta-bank-offer-row__card {
        padding: 100px 24px 24px;
    }

    .hpb-cta-bank-offer-row__fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hpb-cta-bank-offer-row__btn {
        top: 24px;
        left: 24px;
        transform: none;
    }

    .hpb-hamta-loans-steps .hpb-cta-sticky__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__shell {
        grid-template-columns: 1fr;
    }

    .hpb-cta-newsletter--variant-hamta-loans .hpb-cta-newsletter__form-card {
        margin: -40px 0 0;
        padding: 32px 24px;
    }
}

@media (max-width: 768px) {
    .hpb-cta-bank-offer-row {
        flex-direction: column-reverse;
    }

    .hpb-hamta-loans-steps .hpb-cta-sticky__items {
        grid-template-columns: 1fr;
    }
}

/* ================================================================
   NEWSLETTER / CONTACT FORM
   ================================================================ */

.hpb-cta--layout-newsletter-contact {
    padding: var(--hpb-cta-pt, 40px) 24px var(--hpb-cta-pb, 40px);
    background: var(--hpb-cta-bg, transparent);
}

.hpb-cta-newsletter {
    width: 100%;
    direction: rtl;
}

.hpb-cta-newsletter__shell {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.15fr);
    align-items: stretch;
    gap: 0;
    background: var(--hpb-nl-box-bg, #a470b5);
    color: var(--hpb-nl-box-color, #fff);
    border-radius: var(--hpb-nl-box-radius, 24px);
    padding: clamp(24px, 4vw, 48px);
    overflow: visible;
    position: relative;
}

.hpb-cta-newsletter--form-end .hpb-cta-newsletter__shell {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.9fr);
}

.hpb-cta-newsletter__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    padding: 8px 12px;
    min-width: 0;
}

.hpb-cta-newsletter__title {
    margin: 0;
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.45;
    color: inherit;
}

.hpb-cta-newsletter__paragraphs {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.hpb-cta-newsletter__paragraph {
    margin: 0;
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.9;
    color: inherit;
    opacity: 0.96;
}

.hpb-cta-newsletter__form-card {
    align-self: center;
    width: 100%;
    max-width: 420px;
    background: var(--hpb-nl-card-bg, #fff);
    color: #1e293b;
    border-radius: var(--hpb-nl-card-radius, 24px);
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
    padding: clamp(20px, 3vw, 32px);
    position: relative;
    z-index: 2;
}

.hpb-cta-newsletter--form-start .hpb-cta-newsletter__form-card {
    margin-inline-end: calc(var(--hpb-nl-card-overlap, 48px) * -0.35);
}

.hpb-cta-newsletter--form-end .hpb-cta-newsletter__form-card {
    margin-inline-start: calc(var(--hpb-nl-card-overlap, 48px) * -0.35);
}

.hpb-cta-newsletter__form-intro {
    margin: 0 0 1rem;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
    color: #1e293b;
    text-align: center;
}

.hpb-cta-newsletter__form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hpb-cta-newsletter__input {
    width: 100%;
    border: 1px solid var(--hpb-nl-input-border, #d1d5db);
    border-radius: 999px;
    padding: 14px 20px;
    font-size: 15px;
    line-height: 1.4;
    color: #1e293b;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.hpb-cta-newsletter__input:focus {
    outline: none;
    border-color: var(--hpb-nl-btn-bg, #812990);
    box-shadow: 0 0 0 3px rgba(129, 41, 144, 0.12);
}

.hpb-cta-newsletter__submit {
    width: 100%;
    border: 0;
    border-radius: 999px;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    background: var(--hpb-nl-btn-bg, #812990);
    color: var(--hpb-nl-btn-color, #fff);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hpb-cta-newsletter__submit:hover,
.hpb-cta-newsletter__submit:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(129, 41, 144, 0.24);
}

.hpb-cta-newsletter__form-embed {
    width: 100%;
}

.hpb-cta-newsletter__form-embed .wpcf7-form,
.hpb-cta-newsletter__form-embed form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (max-width: 900px) {
    .hpb-cta-newsletter__shell,
    .hpb-cta-newsletter--form-end .hpb-cta-newsletter__shell {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hpb-cta-newsletter--form-start .hpb-cta-newsletter__form-card,
    .hpb-cta-newsletter--form-end .hpb-cta-newsletter__form-card {
        margin-inline: 0;
        max-width: none;
    }
}

/* ================================================================
   SOLUTIONS PANELS (Yucca-style interactive CTA)
   ================================================================ */

.hpb-cta--layout-solutions-panels {
    padding: var(--hpb-cta-pt, 0) 0 var(--hpb-cta-pb, 0);
    min-height: var(--hpb-sol-min-h, 85vh);
    position: relative;
    overflow: hidden;
    background: #1e293b;
}

.hpb-cta--layout-solutions-panels .hpb-cta__inner {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

.hpb-cta-solutions {
    position: relative;
    min-height: var(--hpb-sol-min-h, 85vh);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
}

.hpb-cta-solutions__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.hpb-cta-solutions__bg-layer {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity var(--hpb-sol-transition, 500ms) ease, transform calc(var(--hpb-sol-transition, 500ms) * 1.4) ease;
    will-change: opacity, transform;
}

.hpb-cta-solutions__bg-layer.is-active {
    opacity: 1;
    transform: scale(1);
}

.hpb-cta-solutions__bg-scrim {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, var(--hpb-sol-bg-overlay, 0.2));
    pointer-events: none;
}

.hpb-cta-solutions__panels {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: var(--hpb-sol-gap, 12px);
    width: 100%;
    max-width: var(--hpb-site-container-max, 1400px) !important;
    margin: 0 auto;
    padding: clamp(16px, 3vw, 40px);
    min-height: clamp(280px, 42vh, 520px);
    box-sizing: border-box;
}

.hpb-cta-solutions__empty {
    margin: 0;
    padding: 24px;
    color: #fff;
    text-align: center;
    width: 100%;
}

.hpb-cta-solutions__panel {
    flex: 1 1 0;
    min-width: 72px;
    max-width: 100%;
    border: 0;
    border-radius: var(--hpb-sol-radius, 24px);
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    position: relative;
    background: rgba(255, 255, 255, var(--hpb-sol-glass-alpha, 0.28));
    backdrop-filter: blur(var(--hpb-sol-glass-blur, 10px));
    -webkit-backdrop-filter: blur(var(--hpb-sol-glass-blur, 10px));
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
    transition:
        flex var(--hpb-sol-transition, 500ms) cubic-bezier(0.4, 0, 0.2, 1),
        background var(--hpb-sol-transition, 500ms) ease,
        box-shadow var(--hpb-sol-transition, 500ms) ease,
        border-color var(--hpb-sol-transition, 500ms) ease;
    outline: none;
}

.hpb-cta-solutions__panel.is-active {
    flex: 2.6 1 0;
    min-width: min(48%, 520px);
    background: var(--hpb-sol-active-bg, #f5f0e8);
    border-color: rgba(255, 255, 255, 0.65);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.22);
    cursor: default;
}

.hpb-cta-solutions__panel:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.85);
    outline-offset: 3px;
}

.hpb-cta-solutions__panel-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 20px 12px;
    min-height: 200px;
}

.hpb-cta-solutions__panel-tab-label {
    color: var(--hpb-sol-inactive-color, #fff);
    font-size: clamp(15px, 1.6vw, 18px);
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: 0.02em;
}

[dir="ltr"] .hpb-cta-solutions__panel-tab-label {
    transform: rotate(0deg);
}

.hpb-cta-solutions__panel.is-active .hpb-cta-solutions__panel-tab {
    display: none;
}

.hpb-cta-solutions__panel-body {
    display: none;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1rem;
    padding: clamp(20px, 3vw, 36px);
    color: var(--hpb-sol-active-color, #0f172a);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--hpb-sol-transition, 500ms) ease 0.08s, transform var(--hpb-sol-transition, 500ms) ease 0.08s;
}

.hpb-cta-solutions__panel.is-active .hpb-cta-solutions__panel-body {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.hpb-cta-solutions__panel-title {
    margin: 0;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.25;
}

.hpb-cta-solutions__panel-text {
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.85;
    max-width: 52ch;
}

.hpb-cta-solutions__panel-text p {
    margin: 0 0 0.75em;
}

.hpb-cta-solutions__panel-text p:last-child {
    margin-bottom: 0;
}

.hpb-cta-solutions__panel-divider {
    height: 1px;
    width: 100%;
    background: rgba(15, 23, 42, 0.12);
    margin-top: auto;
}

.hpb-cta-solutions__panel-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    padding-top: 4px;
    transition: gap 0.2s ease, opacity 0.2s ease;
}

.hpb-cta-solutions__panel-link:hover,
.hpb-cta-solutions__panel-link:focus {
    color: inherit;
    gap: 14px;
    opacity: 0.85;
}

.hpb-cta-solutions__panel-link-arrow {
    font-size: 1.2em;
    line-height: 1;
}

[dir="rtl"] .hpb-cta-solutions__panel-link-arrow {
    transform: scaleX(-1);
}

@media (max-width: 900px) {
    .hpb-cta-solutions__panels {
        flex-direction: column;
        min-height: 0;
    }

    .hpb-cta-solutions__panel,
    .hpb-cta-solutions__panel.is-active {
        flex: 0 0 auto;
        min-width: 0;
        width: 100%;
    }

    .hpb-cta-solutions__panel:not(.is-active) {
        min-height: 64px;
    }

    .hpb-cta-solutions__panel-tab {
        min-height: 64px;
        padding: 12px 20px;
    }

    .hpb-cta-solutions__panel-tab-label {
        writing-mode: horizontal-tb;
        transform: none;
    }

    .hpb-cta-solutions__panel.is-active {
        min-height: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hpb-cta-solutions__bg-layer,
    .hpb-cta-solutions__panel,
    .hpb-cta-solutions__panel-body {
        transition: none;
    }
}

/* ================================================================
   SPLIT LAYOUT IMPROVEMENTS — ستون تصویر
   ================================================================ */

/* محدودیت ارتفاع و نسبت تصویر در حالت split */
.hpb-cta--layout-split .hpb-cta__col--media,
.hpb-cta--layout-split-reverse .hpb-cta__col--media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hpb-cta--layout-split .hpb-cta__media,
.hpb-cta--layout-split-reverse .hpb-cta__media {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4 / 3;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.hpb-cta--layout-split .hpb-cta__media img,
.hpb-cta--layout-split-reverse .hpb-cta__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: inherit;
}

/* هاله رنگی پشت تصویر (decoration) */
.hpb-cta--style-dark .hpb-cta--layout-split .hpb-cta__col--media::before,
.hpb-cta--style-dark .hpb-cta--layout-split-reverse .hpb-cta__col--media::before,
.hpb-cta--style-gradient .hpb-cta__col--media::before {
    content: '';
    position: absolute;
    inset: -20px;
    background: radial-gradient(circle at 50% 50%, rgba(129, 41, 144, 0.3), transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* مشخصات ستون محتوا */
.hpb-cta--layout-split .hpb-cta__col--text,
.hpb-cta--layout-split-reverse .hpb-cta__col--text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

/* badge / eyebrow */
.hpb-cta--layout-split .hpb-cta__eyebrow,
.hpb-cta--layout-split-reverse .hpb-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #c084e0;
    margin-bottom: 8px;
}

/* دکمه‌ها در split کنار هم */
.hpb-cta--layout-split .hpb-cta__buttons,
.hpb-cta--layout-split-reverse .hpb-cta__buttons {
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

/* ── ریسپانسیو split ─────────────────────────────── */
@media (max-width: 900px) {
    .hpb-cta--layout-split .hpb-cta__inner,
    .hpb-cta--layout-split-reverse .hpb-cta__inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    /* در موبایل تصویر زیر محتوا */
    .hpb-cta--layout-split .hpb-cta__col--media {
        order: 2;
    }
    .hpb-cta--layout-split .hpb-cta__col--text {
        order: 1;
    }
    .hpb-cta--layout-split-reverse .hpb-cta__col--media {
        order: 2;
    }
    .hpb-cta--layout-split-reverse .hpb-cta__col--text {
        order: 1;
    }

    .hpb-cta--layout-split .hpb-cta__media,
    .hpb-cta--layout-split-reverse .hpb-cta__media {
        max-width: 480px;
        margin: 0 auto;
    }
}

/* ================================================================
   FEATURE LIST — لیست ویژگی‌ها (آیکون + عنوان بولد + توضیح)
   ================================================================ */

.hpb-cta-features {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hpb-cta-feature {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.hpb-cta-feature__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    margin-top: 1px;
    color: #00c896;
}

.hpb-cta-feature__body {
    flex: 1;
    font-size: 0.92rem;
    line-height: 1.6;
    color: inherit;
}

.hpb-cta-feature__title {
    font-weight: 700;
    color: inherit;
}

.hpb-cta-feature__desc {
    opacity: 0.82;
    font-weight: 400;
}

/* در حالت تیره */
.hpb-cta--style-dark .hpb-cta-feature__desc,
.hpb-cta--style-gradient .hpb-cta-feature__desc {
    opacity: 0.75;
    color: #cbd5e1;
}

/* فیلد ادمین */
.hpb-feature-items-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

.hpb-feature-item-row__fields {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 10px;
    background: #fafafa;
}

.hpb-fi-icon { flex: 0 0 100px; font-size: 12px; }
.hpb-fi-color { flex: 0 0 70px; font-size: 12px; }
.hpb-fi-title { flex: 0 0 150px; font-size: 12px; }
.hpb-fi-desc { flex: 1; min-width: 120px; font-size: 12px; }

/* ================================================================
   STICKY ITEMS LAYOUT — پنل استیکی + لیست آیتم‌ها
   ================================================================ */

/* ── Inner grid ─────────────────────────────────────────── */
.hpb-cta--layout-sticky-items .hpb-cta__inner,
.hpb-cta--layout-sticky-items-flip .hpb-cta__inner {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 1.65fr;
    gap: 0 64px;
    align-items: start;
}

/* flip: swap columns using LTR direction trick */
.hpb-cta--layout-sticky-items-flip .hpb-cta__inner {
    direction: ltr;
}

.hpb-cta--layout-sticky-items-flip .hpb-cta-sticky__panel,
.hpb-cta--layout-sticky-items-flip .hpb-cta-sticky__items-wrap {
    direction: rtl;
}

/* ── Sticky panel ───────────────────────────────────────── */
.hpb-cta-sticky__panel {
    position: sticky;
    top: 80px;
    align-self: start;
    padding-top: 4px;
}

.hpb-cta-sticky__panel .hpb-cta__headline {
    font-size: 1.9rem;
    line-height: 1.3;
}

/* ── Items list ─────────────────────────────────────────── */
.hpb-cta-sticky__items-wrap {
    padding-top: 4px;
}

.hpb-cta-sticky__items {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Single item ────────────────────────────────────────── */
.hpb-cta-sticky__item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 0 22px;
    align-items: start;
    padding: 28px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.6);
}

.hpb-cta-sticky__item:first-child {
    padding-top: 0;
}

.hpb-cta-sticky__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* square image */
.hpb-cta-sticky__item-image {
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
}

.hpb-cta-sticky__item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

/* item content */
.hpb-cta-sticky__item-content {
    padding-top: 4px;
}

.hpb-cta-sticky__item-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--hpb-cta-color, #1e293b);
    margin: 0 0 8px;
    line-height: 1.4;
}

.hpb-cta-sticky__item-desc {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.72;
    margin: 0;
}

/* ── روشن بودن رنگ در حالت تیره ──────────────────────── */
.hpb-cta--style-dark .hpb-cta-sticky__item-title,
.hpb-cta--style-gradient .hpb-cta-sticky__item-title {
    color: #f1f5f9;
}

.hpb-cta--style-dark .hpb-cta-sticky__item-desc,
.hpb-cta--style-gradient .hpb-cta-sticky__item-desc {
    color: rgba(203, 213, 225, 0.8);
}

.hpb-cta--style-dark .hpb-cta-sticky__item,
.hpb-cta--style-gradient .hpb-cta-sticky__item {
    border-color: rgba(255, 255, 255, 0.1);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
    .hpb-cta--layout-sticky-items .hpb-cta__inner,
    .hpb-cta--layout-sticky-items-flip .hpb-cta__inner {
        gap: 0 40px;
    }
}

@media (max-width: 900px) {
    .hpb-cta--layout-sticky-items .hpb-cta__inner,
    .hpb-cta--layout-sticky-items-flip .hpb-cta__inner {
        grid-template-columns: 1fr;
        direction: rtl;
        gap: 40px 0;
    }

    .hpb-cta-sticky__panel {
        position: static;
    }
}

@media (max-width: 480px) {
    .hpb-cta-sticky__item {
        grid-template-columns: 80px 1fr;
        gap: 0 14px;
    }
}

/* ── Consultation form (builtin newsletter CTA) ─────────── */
.hpb-cta-newsletter__form-message {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    display: none;
}

.hpb-cta-newsletter__form-message.is-visible.is-success {
    display: block;
    background: rgba(255, 255, 255, 0.25);
    color: inherit;
}

.hpb-cta-newsletter__form-message.is-visible.is-error {
    display: block;
    background: #fef2f2;
    color: #991b1b;
}

.hpb-cta-newsletter__form.is-loading .hpb-cta-newsletter__submit {
    opacity: 0.7;
    pointer-events: none;
}
