.dp-newsletter,
.dp-newsletter * { box-sizing: border-box; }

.dp-newsletter {
    width: 100%;
    overflow: hidden;
    background: #fff;
    font-family: Inter, Arial, sans-serif;
}

.dp-newsletter__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.dp-newsletter__panel {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 262px;
    padding: 44px 56px;
    column-gap: 42px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 79% 26%, rgba(255,255,255,.07), transparent 27%),
        radial-gradient(circle at 8% 72%, rgba(64,90,130,.16), transparent 24%),
        linear-gradient(90deg,#0b1524 0%,#101a2a 54%,#121d2e 100%);
    border-radius: 38px;
    box-shadow: 0 18px 34px rgba(8,21,38,.14);
}

.dp-newsletter__panel::after {
    content: '';
    position: absolute;
    right: 8%;
    top: -52px;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: rgba(255,255,255,.028);
    filter: blur(12px);
    pointer-events: none;
}

.dp-newsletter__left {
    min-width: 0;
    flex: 1 1 48%;
    display: flex;
    align-items: center;
    gap: 42px;
}

.dp-newsletter__icon-box {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 126px;
    height: 126px;
    flex: 0 0 126px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 34px;
    background: linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 11px 24px rgba(0,0,0,.17);
}

.dp-newsletter__icon-box i { font-size: 52px; color: inherit; }
.dp-newsletter__icon-box svg { width: 52px; height: 52px; fill: currentColor; color: inherit; }

.dp-newsletter__content { flex: 1 1 auto; min-width: 0; }
.dp-newsletter__title {
    margin: 0;
    color: #fff;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.02em;
}
.dp-newsletter__description {
    max-width: 410px;
    margin-top: 12px;
    color: #b9c2d0;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
}

.dp-newsletter__divider {
    width: 1px;
    height: 112px;
    flex: 0 0 1px;
    background: rgba(255,255,255,.18);
}

.dp-newsletter__right {
    position: relative;
    z-index: 1;
    min-width: 0;
    flex: 1 1 46%;
}

.dp-newsletter__form { margin: 0; padding: 0; }
.dp-newsletter__form-row {
    display: flex;
    align-items: stretch;
    gap: 16px;
}

.dp-newsletter__field {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 70px;
    padding: 0 24px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 18px;
    background: rgba(0,0,0,.07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.dp-newsletter__field-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 14px;
    color: #6d798b;
    flex: 0 0 26px;
}
.dp-newsletter__field-icon i { font-size: 22px; }
.dp-newsletter__field-icon svg { width: 22px; height: 22px; fill: currentColor; }

.dp-newsletter__input {
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #e7ebf1;
    font-size: 18px;
    line-height: 1.3;
}
.dp-newsletter__input::placeholder { color: #9ca7b8; opacity: 1; }

.dp-newsletter__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 166px;
    min-height: 70px;
    padding: 16px 38px;
    margin: 0;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #111;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(0,0,0,.18);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.dp-newsletter__submit:hover {
    transform: translateY(-1px);
    background: #dce8ff;
    color: #0b2f65;
    box-shadow: 0 15px 28px rgba(0,0,0,.21);
}
.dp-newsletter__submit:disabled { opacity: .7; cursor: wait; transform: none; }

.dp-newsletter__note {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 18px;
    padding-left: 3px;
    color: #98a4b5;
    font-size: 16px;
    line-height: 1.4;
}
.dp-newsletter__note-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: #75849a;
}
.dp-newsletter__note-icon i { font-size: 16px; }
.dp-newsletter__note-icon svg { width: 16px; height: 16px; fill: currentColor; }

.dp-newsletter__status {
    min-height: 20px;
    margin-top: 8px;
    padding-left: 3px;
    font-size: 13px;
    line-height: 1.4;
}
.dp-newsletter__status.is-success { color: #9ce0b4; }
.dp-newsletter__status.is-error { color: #ffb2b2; }
.dp-newsletter__honeypot { position: absolute !important; left: -99999px !important; opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 1024px) {
    .dp-newsletter__panel { padding: 38px 36px; gap: 28px; }
    .dp-newsletter__left { gap: 24px; }
    .dp-newsletter__icon-box { width: 100px; height: 100px; flex-basis: 100px; border-radius: 28px; }
    .dp-newsletter__icon-box i { font-size: 42px; }
    .dp-newsletter__icon-box svg { width: 42px; height: 42px; }
    .dp-newsletter__title { font-size: 29px; }
    .dp-newsletter__description { font-size: 17px; }
    .dp-newsletter__submit { min-width: 140px; padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 767px) {
    .dp-newsletter { padding-left: 20px !important; padding-right: 20px !important; }
    .dp-newsletter__panel {
        display: block;
        min-height: 0;
        padding: 34px 24px;
        border-radius: 28px;
    }
    .dp-newsletter__left { align-items: flex-start; gap: 18px; }
    .dp-newsletter__icon-box { width: 76px; height: 76px; flex-basis: 76px; border-radius: 22px; }
    .dp-newsletter__icon-box i { font-size: 31px; }
    .dp-newsletter__icon-box svg { width: 31px; height: 31px; }
    .dp-newsletter__title { font-size: 26px; }
    .dp-newsletter__description { font-size: 16px; line-height: 1.45; }
    .dp-newsletter__divider { display: block; width: 100%; height: 1px; margin: 28px 0; }
    .dp-newsletter__form-row { display: block; }
    .dp-newsletter__field { min-height: 58px; }
    .dp-newsletter__submit { width: 100%; min-height: 58px; margin-top: 12px; }
    .dp-newsletter__note { font-size: 14px; margin-top: 14px; }
}
