:root.dnpc-no-scroll,
:root.dnpc-no-scroll body { overflow: hidden !important; }

.dnpc-app {
    --dnpc-primary: #123f73;
    --dnpc-accent: #f47745;
    --dnpc-secondary: #0f8f83;
    --dnpc-bg: #f4f8f7;
    direction: rtl;
    color: #183b58;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.7;
    box-sizing: border-box;
    text-align: right;
}
.dnpc-app *, .dnpc-app *::before, .dnpc-app *::after { box-sizing: border-box; }
.dnpc-app[hidden], .dnpc-app [hidden] { display: none !important; }
.dnpc-app button, .dnpc-app input, .dnpc-app select {
    appearance: none !important;
    -webkit-appearance: none !important;
    font-family: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
}
.dnpc-app button { margin: 0 !important; outline: 0 !important; }

.dnpc-app--modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.dnpc-app--modal.is-open { opacity: 1; visibility: visible; }
.dnpc-backdrop { position: absolute; inset: 0; background: rgba(12,31,48,.62); backdrop-filter: blur(8px); cursor: pointer; }
.dnpc-dialog { position: relative; display: grid; grid-template-columns: minmax(240px,30%) minmax(0,1fr); width: min(960px,100%); height: min(650px,calc(100vh - 44px)); height: min(650px,calc(100dvh - 44px)); min-height: 540px; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.72); border-radius: 25px; box-shadow: 0 26px 78px rgba(5,30,49,.25); transform: translateY(10px) scale(.988); transition: transform .24s ease; }
.dnpc-app--modal.is-open .dnpc-dialog { transform: translateY(0) scale(1); }
.dnpc-app--inline { width: 100%; margin: 20px 0; }
.dnpc-app--inline .dnpc-dialog { width: 100%; height: 630px; min-height: 540px; }
.dnpc-app button.dnpc-close { position: absolute; top: 15px; left: 15px; z-index: 8; width: 38px; height: 38px; display: grid; place-items: center; padding: 0 !important; color: #536d7d !important; background: rgba(255,255,255,.94) !important; border: 1px solid #dce7eb !important; border-radius: 12px !important; box-shadow: 0 7px 18px rgba(17,55,88,.08) !important; font: 300 24px/1 Arial,sans-serif !important; cursor: pointer; transition: transform .18s ease,color .18s ease,border-color .18s ease; }
.dnpc-app button.dnpc-close:hover { color: var(--dnpc-accent) !important; border-color: #f4bca6 !important; transform: rotate(5deg); }
.dnpc-app--inline .dnpc-close { display: none !important; }

.dnpc-aside { position: relative; isolation: isolate; overflow: hidden; padding: 46px 30px 32px; color: #fff; background: linear-gradient(155deg,var(--dnpc-primary) 0%,#0d5771 56%,var(--dnpc-secondary) 100%); }
.dnpc-aside::before { content: ''; position: absolute; z-index: -1; width: 250px; height: 250px; left: -80px; bottom: -95px; border-radius: 50%; background: radial-gradient(circle,rgba(244,119,69,.5),rgba(244,119,69,0) 68%); }
.dnpc-aside::after { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .14; background-image: radial-gradient(rgba(255,255,255,.8) 1px,transparent 1px); background-size: 20px 20px; mask-image: linear-gradient(to bottom,#000,transparent 72%); }
.dnpc-orbit { position: absolute; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; pointer-events: none; }
.dnpc-orbit--one { width: 210px; height: 210px; top: -120px; right: -85px; }
.dnpc-orbit--two { width: 320px; height: 320px; bottom: -235px; left: -150px; }
.dnpc-brand-mark { width: 64px; height: 64px; position: relative; display: grid; place-items: center; margin-bottom: 32px; border-radius: 20px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.19); box-shadow: inset 0 1px rgba(255,255,255,.18),0 14px 28px rgba(4,34,58,.15); }
.dnpc-brand-mark span { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #fff; }
.dnpc-brand-mark span:nth-child(1) { transform: translate(14px,-10px); background: var(--dnpc-accent); }
.dnpc-brand-mark span:nth-child(2) { transform: translate(-14px,-10px); }
.dnpc-brand-mark span:nth-child(3) { width: 31px; height: 15px; border-radius: 30px 30px 9px 9px; transform: translateY(13px); background: transparent; border: 4px solid #fff; border-bottom: 0; }
.dnpc-kicker { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 12px !important; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff !important; font-size: 11px !important; font-weight: 800; }
.dnpc-kicker::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--dnpc-accent); box-shadow: 0 0 0 4px rgba(244,119,69,.16); }
.dnpc-aside h2 { margin: 0 0 14px !important; color: #fff !important; font-size: clamp(27px,3vw,37px) !important; font-weight: 800 !important; line-height: 1.55 !important; letter-spacing: -.5px !important; }
.dnpc-aside > p:not(.dnpc-kicker) { margin: 0 !important; color: rgba(255,255,255,.82) !important; font-size: 13px !important; line-height: 1.9 !important; }
.dnpc-trust { position: absolute; right: 30px; left: 30px; bottom: 28px; display: flex; flex-wrap: wrap; gap: 6px; }
.dnpc-trust span { padding: 5px 8px; border-radius: 9px; background: rgba(255,255,255,.1); color: rgba(255,255,255,.82); font-size: 9.5px; }

.dnpc-main { position: relative; min-width: 0; min-height: 0; display: flex; flex-direction: column; padding: 29px 36px 17px; background: radial-gradient(circle at 85% 0,rgba(15,143,131,.075),transparent 34%),linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),var(--dnpc-bg); overflow: hidden; }
.dnpc-progress { height: 5px; overflow: hidden; border-radius: 99px; background: #e7eff2; margin-left: 52px; }
.dnpc-progress span { display: block; width: 8%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--dnpc-secondary),var(--dnpc-accent)); transition: width .32s ease; }
.dnpc-step-label { margin-top: 7px; color: #81949f; font-size: 10.5px; font-weight: 800; }
.dnpc-content { min-height: 0; flex: 1; padding: 20px 3px 12px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #cbdadd transparent; }
.dnpc-content::-webkit-scrollbar { width: 5px; }
.dnpc-content::-webkit-scrollbar-thumb { background: #cbdadd; border-radius: 20px; }
.dnpc-question { animation: dnpc-enter .25s ease both; }
@keyframes dnpc-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.dnpc-question h3, .dnpc-result h3 { max-width: 680px; margin: 0 0 9px !important; color: #153d62 !important; font-size: clamp(22px,2vw,28px) !important; font-weight: 700 !important; line-height: 1.65 !important; letter-spacing: -.3px !important; }
.dnpc-description { max-width: 700px; margin: 0 0 15px !important; color: #687f8e !important; font-size: 12.5px !important; line-height: 1.9 !important; }
.dnpc-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 14px; }
.dnpc-question[data-question="C2_DATE"] .dnpc-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dnpc-question[data-question="C4_GENDER"] .dnpc-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dnpc-app button.dnpc-option { width: 100% !important; min-height: 56px !important; display: grid !important; grid-template-columns: 36px minmax(0,1fr) 17px !important; align-items: center !important; gap: 10px !important; padding: 8px 11px !important; color: #264960 !important; background: linear-gradient(145deg,#fff,#fbfdfd) !important; border: 1px solid #dce7eb !important; border-radius: 14px !important; box-shadow: 0 5px 16px rgba(18,63,115,.04) !important; font-size: 12.5px !important; font-weight: 750 !important; line-height: 1.65 !important; text-align: right !important; cursor: pointer; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.dnpc-app button.dnpc-option > span:nth-child(2) { min-width: 0; max-width: 100%; display: -webkit-box; overflow: hidden; white-space: normal; overflow-wrap: anywhere; word-break: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.dnpc-question[data-question="R2_SERVICE"] button.dnpc-option { min-height: 68px !important; font-size: 11.5px !important; line-height: 1.55 !important; }
.dnpc-question[data-question="Q1"] button.dnpc-option { min-height: 80px !important; }
.dnpc-app button.dnpc-option:hover { transform: translateY(-1px); border-color: var(--dnpc-secondary) !important; box-shadow: 0 10px 22px rgba(18,63,115,.09) !important; }
.dnpc-app button:focus-visible, .dnpc-app a:focus-visible, .dnpc-app input:focus-visible, .dnpc-app select:focus-visible { outline: 3px solid rgba(15,143,131,.2) !important; outline-offset: 2px !important; }
.dnpc-app button.dnpc-option.is-selected { color: #163f55 !important; background: #edf9f7 !important; border-color: var(--dnpc-secondary) !important; box-shadow: 0 0 0 3px rgba(15,143,131,.09) !important; }
.dnpc-option-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--dnpc-secondary); background: #eaf7f5; }
.dnpc-option:nth-child(even) .dnpc-option-icon { color: var(--dnpc-accent); background: #fff0ea; }
.dnpc-option-icon svg { width: 19px; height: 19px; }
.dnpc-option i { width: 16px; height: 16px; border: 1.5px solid #b9cbd2; border-radius: 50%; position: relative; }
.dnpc-option.is-selected i { border-color: var(--dnpc-secondary); }
.dnpc-option.is-selected i::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--dnpc-secondary); }

.dnpc-input-wrap { display: block; margin-top: 25px; }
.dnpc-app .dnpc-input-wrap input, .dnpc-app .dnpc-phone-wrap input, .dnpc-app .dnpc-phone-wrap select { height: 54px !important; margin: 0 !important; color: #173b56 !important; background: #fbfdfd !important; border: 1px solid #d7e3e7 !important; border-radius: 14px !important; box-shadow: none !important; font-size: 15px !important; outline: 0 !important; transition: border-color .18s ease,box-shadow .18s ease; }
.dnpc-input-wrap input { width: 100% !important; padding: 0 17px !important; }
.dnpc-app .dnpc-input-wrap input:focus, .dnpc-app .dnpc-phone-wrap input:focus, .dnpc-app .dnpc-phone-wrap select:focus { border-color: var(--dnpc-secondary) !important; box-shadow: 0 0 0 4px rgba(15,143,131,.1) !important; }
.dnpc-phone-wrap { direction: ltr; display: grid; grid-template-columns: minmax(155px,.42fr) 1fr; gap: 9px; margin-top: 25px; }
.dnpc-phone-wrap input { min-width: 0; padding: 0 16px !important; text-align: left !important; }
.dnpc-phone-wrap select { padding: 0 11px !important; text-align: left !important; }

.dnpc-nav { direction: rtl; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 9px; border-top: 1px solid #eef3f4; }
.dnpc-next { order: -1; }
.dnpc-app button.dnpc-next, .dnpc-app button.dnpc-back, .dnpc-app button.dnpc-restart, .dnpc-app a.dnpc-result-link, .dnpc-app button.dnpc-trigger { min-height: 43px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 19px !important; border-radius: 12px !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1 !important; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease; }
.dnpc-app button.dnpc-next, .dnpc-app a.dnpc-result-link, .dnpc-app button.dnpc-trigger { color: #fff !important; background: linear-gradient(135deg,var(--dnpc-primary),#155c7c) !important; border: 0 !important; box-shadow: 0 9px 19px rgba(18,63,115,.17) !important; }
.dnpc-app button.dnpc-next:hover, .dnpc-app a.dnpc-result-link:hover, .dnpc-app button.dnpc-trigger:hover { color: #fff !important; transform: translateY(-1px); box-shadow: 0 12px 23px rgba(18,63,115,.23) !important; }
.dnpc-app button.dnpc-next:disabled { opacity: .65; cursor: wait; transform: none; }
.dnpc-app button.dnpc-back, .dnpc-app button.dnpc-restart { color: #577080 !important; background: #fff !important; border: 1px solid #d8e4e8 !important; box-shadow: none !important; }
.dnpc-app button.dnpc-back:hover, .dnpc-app button.dnpc-restart:hover { color: var(--dnpc-primary) !important; border-color: #aebfc7 !important; transform: translateY(-1px); }
.dnpc-privacy { margin: 9px 0 0 !important; color: #8a9ba6 !important; font-size: 9.5px !important; line-height: 1.55 !important; text-align: center !important; }
.dnpc-error { margin: 0 0 8px; padding: 8px 11px; border-radius: 9px; color: #9a3434; background: #fff2f2; border: 1px solid #f6d1d1; font-size: 11px; }
.dnpc-hp { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 1px !important; height: 1px !important; }
.dnpc-result { max-width: 530px; margin: 18px auto 0; text-align: center; animation: dnpc-enter .3s ease both; }
.dnpc-result-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 18px; color: #fff; border-radius: 23px; background: linear-gradient(145deg,var(--dnpc-secondary),#0b746d); box-shadow: 0 15px 28px rgba(15,143,131,.2); transform: rotate(-3deg); }
.dnpc-result-icon svg { width: 34px; height: 34px; }
.dnpc-result h3 { margin-right: auto !important; margin-left: auto !important; }
.dnpc-result p { margin: 0 auto 18px !important; color: #607989 !important; font-size: 13px !important; line-height: 1.9 !important; }
.dnpc-result-link { margin: 0 4px 8px; text-decoration: none !important; }
.dnpc-restart { margin: 0 4px 8px !important; }
.dnpc-trigger { width: auto !important; }

@media (max-width: 1024px) and (min-width: 821px) {
    .dnpc-dialog { width: min(920px,100%); grid-template-columns: 245px minmax(0,1fr); }
    .dnpc-aside { padding-right: 25px; padding-left: 25px; }
    .dnpc-main { padding-right: 29px; padding-left: 29px; }
}
@media (max-width: 820px) {
    .dnpc-app--modal { padding: 0; }
    .dnpc-dialog { grid-template-columns: 1fr; width: 100%; height: 100vh; height: 100dvh; min-height: 0; border: 0; border-radius: 0; }
    .dnpc-aside { display: none; }
    .dnpc-main { padding: 61px 17px 13px; }
    .dnpc-app button.dnpc-close { top: 12px; left: 12px; width: 36px; height: 36px; }
    .dnpc-progress { margin-left: 44px; }
    .dnpc-content { padding-top: 16px; }
    .dnpc-question h3, .dnpc-result h3 { font-size: 20px !important; line-height: 1.6 !important; }
    .dnpc-description { margin-bottom: 12px !important; font-size: 12px !important; line-height: 1.8 !important; }
    .dnpc-options { grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
    .dnpc-question[data-question="C2_DATE"] .dnpc-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .dnpc-question[data-question="C4_GENDER"] .dnpc-options { grid-template-columns: 1fr; }
    .dnpc-app button.dnpc-option { min-height: 52px !important; grid-template-columns: 34px minmax(0,1fr) 15px !important; padding: 7px 10px !important; border-radius: 13px !important; font-size: 12px !important; }
    .dnpc-question[data-question="Q1"] button.dnpc-option { min-height: 67px !important; }
    .dnpc-question[data-question="C2_DATE"] button.dnpc-option { grid-template-columns: 31px minmax(0,1fr) 14px !important; gap: 7px !important; }
    .dnpc-option-icon { width: 34px; height: 34px; border-radius: 10px; }
    .dnpc-question[data-question="C2_DATE"] .dnpc-option-icon { width: 31px; height: 31px; }
    .dnpc-phone-wrap { grid-template-columns: 1fr; direction: rtl; }
    .dnpc-phone-wrap input { direction: ltr; }
    .dnpc-nav { padding-top: 10px; }
    .dnpc-privacy { margin-top: 7px !important; }
    .dnpc-app--inline .dnpc-main { padding-top: 27px; }
    .dnpc-app--inline .dnpc-dialog { height: min(700px,90vh); height: min(700px,90dvh); }
}
@media (max-width: 390px) {
    .dnpc-question[data-question="C2_DATE"] .dnpc-options { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .dnpc-app *, .dnpc-app *::before, .dnpc-app *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
