:root {
    --ua-blue   : #3d6b8e;
    --ua-dark   : #2a5070;
    --ua-light  : #ddeef7;
    --ua-border : #dde4ed;
    --ua-text   : #1e2d3d;
    --ua-muted  : #6b7f95;
    --ua-r      : 10px;
}
.urp-angebot-wrap, #urp-angebot-root {
    font-family : system-ui, sans-serif;
    max-width   : 660px;
    margin      : 0 auto;
    padding     : 0 16px 48px;
    color       : var(--ua-text);
}
.ua-progress { height:4px; background:var(--ua-border); border-radius:4px; margin-bottom:32px; overflow:hidden; }
.ua-progress-fill { height:100%; background:var(--ua-blue); transition:width .4s ease; }
.ua-step { animation:uaIn .25s ease forwards; }
@keyframes uaIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.ua-title { font-size:22px; font-weight:700; margin:0 0 6px; }
.ua-sub   { font-size:14px; color:var(--ua-muted); margin:0 0 24px; }
.ua-label { font-size:13px; font-weight:600; color:var(--ua-blue); margin:0 0 8px; display:block; }
.ua-toggle { display:grid; grid-template-columns:1fr 1fr; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); overflow:hidden; margin-bottom:24px; }
.ua-toggle-btn { padding:13px; background:#fff; border:none; cursor:pointer; font-size:15px; font-weight:500; color:var(--ua-muted); transition:background .2s,color .2s; }
.ua-toggle-btn.active { background:var(--ua-light); color:var(--ua-blue); font-weight:600; }
.ua-field { position:relative; margin-bottom:12px; }
.ua-input { width:100%; padding:13px 44px 13px 16px; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); font-size:14px; color:var(--ua-text); background:#fff; outline:none; transition:border-color .2s; box-sizing:border-box; }
.ua-input.plain { padding-right:16px; }
.ua-input:focus { border-color:var(--ua-blue); }
.ua-input::placeholder { color:#aab4be; }
.ua-pin { position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--ua-muted); pointer-events:none; display:flex; }
.ua-select { width:100%; padding:13px 16px; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); font-size:14px; color:var(--ua-text); background:#fff; outline:none; cursor:pointer; box-sizing:border-box; }
.ua-select:focus { border-color:var(--ua-blue); }
.ua-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.ua-textarea { width:100%; padding:13px 16px; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); font-size:14px; color:var(--ua-text); background:#fff; outline:none; resize:vertical; min-height:100px; font-family:inherit; box-sizing:border-box; transition:border-color .2s; }
.ua-textarea:focus { border-color:var(--ua-blue); }
.ua-textarea::placeholder { color:#aab4be; }
.ua-termin-btns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.ua-termin-btn { padding:13px; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); background:#fff; cursor:pointer; font-size:15px; font-weight:500; color:var(--ua-muted); transition:all .2s; }
.ua-termin-btn.active { border-color:var(--ua-blue); color:var(--ua-blue); background:var(--ua-light); font-weight:600; }
.ua-check-wrap { display:flex; align-items:flex-start; gap:10px; margin:16px 0; font-size:13px; color:var(--ua-muted); }
.ua-check-wrap input { margin-top:2px; width:16px; height:16px; accent-color:var(--ua-blue); flex-shrink:0; cursor:pointer; }
.ua-check-wrap a { color:var(--ua-blue); }
.ua-nav { display:flex; justify-content:space-between; align-items:center; margin-top:28px; gap:12px; }
.ua-btn-back { padding:12px 24px; border:1.5px solid var(--ua-border); border-radius:50px; background:#fff; font-size:14px; font-weight:600; color:var(--ua-muted); cursor:pointer; transition:all .2s; }
.ua-btn-back:hover { border-color:var(--ua-blue); color:var(--ua-blue); }
.ua-btn-next { padding:13px 32px; border:none; border-radius:50px; background:var(--ua-blue); color:#fff; font-size:15px; font-weight:600; cursor:pointer; transition:background .2s,transform .15s; display:flex; align-items:center; gap:6px; margin-left:auto; }
.ua-btn-next:hover { background:var(--ua-dark); transform:translateY(-1px); }
.ua-btn-next:disabled { background:#aab4be; cursor:not-allowed; transform:none; }
.ua-phone-wrap { display:flex; gap:8px; margin-bottom:12px; }
.ua-phone-code { display:flex; align-items:center; gap:6px; padding:13px 12px; border:1.5px solid var(--ua-border); border-radius:var(--ua-r); background:#fff; font-size:14px; white-space:nowrap; }
.ua-phone-wrap .ua-input { flex:1; }
.ua-success { text-align:center; padding:48px 24px; animation:uaIn .4s ease forwards; }
.ua-success-icon { width:72px; height:72px; border-radius:50%; background:#e8f5e9; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.ua-success h2 { font-size:24px; font-weight:700; margin:0 0 10px; }
.ua-success p  { font-size:15px; color:var(--ua-muted); margin:0; }
@media(max-width:600px){ .ua-grid2{grid-template-columns:1fr;} .ua-btn-next{padding:13px 20px;} }

/* ── Section ── */
.ua-section { margin-bottom: 20px; }

/* ── Submit butonu ── */
.ua-btn-submit {
    width         : 100%;
    padding       : 15px;
    border        : none;
    border-radius : 50px;
    background    : var(--ua-blue);
    color         : #fff;
    font-size     : 16px;
    font-weight   : 600;
    cursor        : pointer;
    transition    : background .2s, transform .15s;
    margin-top    : 8px;
}
.ua-btn-submit:hover    { background: var(--ua-dark); transform: translateY(-1px); }
.ua-btn-submit:disabled { background: #aab4be; cursor: not-allowed; transform: none; }

/* ── Error mesajı ── */
.ua-error-msg {
    color       : #c0392b;
    font-size   : 13px;
    margin      : 8px 0 4px;
    padding     : 10px 14px;
    background  : #fdf0f0;
    border-radius: var(--ua-r);
    border-left : 3px solid #c0392b;
}

/* ── Success ── */
.ua-success { text-align:center; padding:48px 24px; }
.ua-success-icon { width:72px; height:72px; border-radius:50%; background:#e8f5e9; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.ua-success h2 { font-size:24px; font-weight:700; margin:0 0 10px; }
.ua-success p  { font-size:15px; color:var(--ua-muted); margin:0; }