/*
 * Rgheeb OTP v2.0 — Custom Page Layout
 * Card + SVG Illustration side by side
 */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap');

/* ===== Page Container ===== */
.rotp-page{max-width:1060px;margin:40px auto;padding:0 20px;font-family:'Tajawal',Tahoma,sans-serif;direction:rtl}

/* ===== Row: card + illustration ===== */
.rotp-row{display:flex;align-items:center;gap:20px}
.rotp-row-reverse{flex-direction:row-reverse}
.rotp-col{flex:1;min-width:0}
.rotp-col-card{flex:1.1}
.rotp-col-illust{flex:0.9;display:flex;align-items:center;justify-content:center}
.rotp-svg-illust{width:100%;max-width:340px;height:auto}

/* ===== Card ===== */
.rotp-card{background:#fff;border-radius:20px;padding:36px 32px;box-shadow:0 4px 24px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04);position:relative;overflow:hidden;transition:box-shadow .3s}
.rotp-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.04)}
.rotp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f3a022,#e8941a,#f3a022);border-radius:20px 20px 0 0}

/* ===== OR Divider ===== */
.rotp-or-divider{text-align:center;margin:36px 0;position:relative}
.rotp-or-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e0e0e0,transparent)}
.rotp-or-divider span{position:relative;background:#f5f5f5;padding:0 24px;font-size:15px;font-weight:700;color:#aaa;letter-spacing:1px}

/* ===== Card Header ===== */
.rotp-card-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #f0f0f5}
.rotp-card-icon{width:48px;height:48px;min-width:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rotp-card-icon.gold-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px rgba(243,160,34,.15)}
.rotp-card-icon.dark-icon{background:linear-gradient(135deg,#1a1a2e,#2d2d44);box-shadow:0 2px 8px rgba(26,26,46,.2)}
.rotp-card-icon svg{width:24px;height:24px}
.rotp-card-title{font-size:20px;font-weight:800;color:#1a1a2e;letter-spacing:-.3px;margin:0;line-height:1.3}
.rotp-card-subtitle{font-size:13px;font-weight:500;color:#9a9ab0;margin:2px 0 0;line-height:1.4}

/* ===== OTP Box ===== */
.rotp-box-wrap{margin:0;padding:0;direction:rtl;text-align:center;font-family:'Tajawal',Tahoma,sans-serif}
.rotp-step{text-align:center;animation:rotpFadeIn .35s ease}
.rotp-hint{font-size:13px;color:#8a8aa0;margin:0 0 16px;line-height:1.8;font-weight:500}

/* ===== Form Row ===== */
.rotp-form-row{margin-bottom:4px}

/* ===== Labels ===== */
.rotp-login-email-label{display:block;font-size:14px;font-weight:700;color:#3a3a4a;margin-bottom:8px;text-align:right}

/* ===== Email Field ===== */
.rotp-email-field-wrap{position:relative;margin-bottom:16px}
.rotp-login-email-field{width:100%!important;height:52px!important;padding:0 18px!important;padding-right:48px!important;border:2px solid #e8e8ef!important;border-radius:12px!important;font-family:'Tajawal',Tahoma,sans-serif!important;font-size:15px!important;font-weight:500!important;color:#1a1a2e!important;background:#fafafa!important;direction:rtl!important;text-align:right!important;transition:all .25s!important;box-sizing:border-box!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important}
.rotp-login-email-field:focus{border-color:#f3a022!important;background:#fff!important;box-shadow:0 0 0 4px rgba(243,160,34,.1)!important}
.rotp-field-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#bbb;pointer-events:none;transition:color .25s}
.rotp-email-field-wrap:focus-within .rotp-field-icon{color:#f3a022}

/* ===== Buttons ===== */
.rotp-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;height:52px!important;padding:0 24px!important;border:none!important;border-radius:12px!important;font-family:'Tajawal',Tahoma,sans-serif!important;font-size:16px!important;font-weight:700!important;cursor:pointer!important;transition:all .3s!important;line-height:1!important;text-decoration:none!important;letter-spacing:.3px!important;position:relative!important;overflow:hidden!important;box-shadow:none!important}
.rotp-btn svg{width:20px;height:20px;flex-shrink:0}
.rotp-btn .rotp-t{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.rotp-btn .rotp-l{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.rotp-gold{background:linear-gradient(135deg,#f3a022,#e08b15)!important;color:#fff!important;box-shadow:0 4px 16px rgba(243,160,34,.3)!important}
.rotp-gold:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(243,160,34,.4)!important;color:#fff!important}
.rotp-dark{background:linear-gradient(135deg,#1a1a2e,#2d2d44)!important;color:#fff!important;box-shadow:0 4px 16px rgba(26,26,46,.2)!important}
.rotp-dark:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(26,26,46,.3)!important;color:#fff!important}
.rotp-btn:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

/* ===== Spinner ===== */
.rotp-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:rotpSpin .65s linear infinite}
@keyframes rotpSpin{to{transform:rotate(360deg)}}

/* ===== Badge ===== */
.rotp-badge-ok{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#065f46;background:linear-gradient(135deg,#d1fae5,#ecfdf5);padding:10px 20px;border-radius:10px;margin-bottom:20px;border:1px solid rgba(16,185,129,.15)}
.rotp-badge-ok svg{width:18px;height:18px;flex-shrink:0}

/* ===== OTP Digits ===== */
.rotp-code-inputs{display:flex;gap:10px;justify-content:center;margin-bottom:20px}
.rotp-inp{width:50px!important;height:58px!important;min-width:50px!important;max-width:50px!important;border:2px solid #e8e8ef!important;border-radius:12px!important;text-align:center!important;font-size:26px!important;font-weight:800!important;color:#1a1a2e!important;background:#fafafa!important;transition:all .25s!important;padding:0!important;margin:0!important;font-family:'Tajawal',monospace!important;outline:none!important;box-sizing:border-box!important;-moz-appearance:textfield!important;-webkit-appearance:none!important;appearance:none!important;line-height:58px!important}
.rotp-inp::-webkit-outer-spin-button,.rotp-inp::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}
.rotp-inp:focus{border-color:#f3a022!important;background:#fff!important;box-shadow:0 0 0 4px rgba(243,160,34,.1)!important;transform:translateY(-2px)!important}
.rotp-inp.on{border-color:#f3a022!important;color:#c4872a!important;background:#fffbeb!important}
.rotp-inp.bad{border-color:#ef4444!important;background:#fef2f2!important;animation:rotpShake .4s!important}
.rotp-inp.good{border-color:#10b981!important;background:#ecfdf5!important;color:#059669!important;transform:translateY(-2px)!important}
@keyframes rotpShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}

/* ===== Timer ===== */
.rotp-timer-row{margin-top:16px;font-size:13px;text-align:center}
#rotp-timer,#rotp-login-timer{color:#8a8aa0;font-weight:500}
#rotp-timer strong,#rotp-login-timer strong{color:#f3a022;font-weight:700}
.rotp-link-btn{background:none!important;border:none!important;color:#f3a022!important;font-family:'Tajawal',Tahoma,sans-serif!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important;text-decoration:underline!important;padding:6px 0!important}
.rotp-link-btn:hover{color:#d07d10!important}

/* ===== Verified ===== */
.rotp-verified{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#d1fae5,#ecfdf5);border:2px solid #10b981;border-radius:12px;animation:rotpFadeIn .4s}
.rotp-check-icon{width:32px;height:32px;min-width:32px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;box-shadow:0 2px 8px rgba(16,185,129,.3)}
.rotp-verified>span:last-child{font-size:15px;font-weight:700;color:#065f46}

/* ===== Messages ===== */
.rotp-msg{margin-top:14px;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:600;text-align:center;animation:rotpFadeIn .3s}
.rotp-msg.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.rotp-msg.ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}

/* ===== Divider ===== */
.rotp-divider{display:flex;align-items:center;gap:14px;margin:24px 0 20px}
.rotp-divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#e8e8ef,transparent)}
.rotp-divider-text{font-size:13px;font-weight:700;color:#c4a35a;white-space:nowrap;display:flex;align-items:center;gap:6px}
.rotp-divider-text svg{width:16px;height:16px;opacity:.8}

/* ===== Animations ===== */
@keyframes rotpFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===== Hidden ===== */
.rotp-hide-row{display:none!important}

/* ===== Responsive ===== */
@media(max-width:900px){
    .rotp-row{flex-direction:column!important;gap:0}
    .rotp-row-reverse{flex-direction:column!important}
    .rotp-hide-mobile{display:none!important}
    .rotp-col-card{width:100%}
    .rotp-card{border-radius:16px;padding:28px 22px}
    .rotp-or-divider{margin:28px 0}
}
@media(max-width:480px){
    .rotp-page{padding:0 12px;margin:20px auto}
    .rotp-inp{width:42px!important;height:50px!important;min-width:42px!important;max-width:42px!important;font-size:22px!important;line-height:50px!important;border-radius:10px!important}
    .rotp-code-inputs{gap:6px}
    .rotp-btn{height:48px!important;font-size:15px!important}
}

/* ===== Unified Page Layout ===== */
.rotp-unified-page { max-width: 900px; }
.rotp-unified-wrap {
    display: flex;
    align-items: center;
    gap: 32px;
}
.rotp-unified-card {
    /* بطاقة موحدة أوسع قليلاً */
}
.rotp-unified-card::before {
    background: linear-gradient(90deg, #f3a022, #10b981, #f3a022);
}

/* ===== تغيير الإيميل ===== */
.rotp-change-email-row {
    margin-top: 12px;
    text-align: center;
}
.rotp-link-btn-sm {
    background: none !important;
    border: none !important;
    color: #9a9ab0 !important;
    font-family: 'Tajawal', Tahoma, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 4px 0 !important;
    transition: color .2s !important;
}
.rotp-link-btn-sm:hover { color: #f3a022 !important; }

/* ===== شاشة النجاح ===== */
.rotp-success-anim {
    text-align: center;
    padding: 32px 20px;
    animation: rotpFadeIn .4s;
}
.rotp-success-icon {
    width: 72px;
    height: 72px;
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 800;
    box-shadow: 0 8px 32px rgba(16, 185, 129, .3);
    margin-bottom: 20px;
    animation: rotpPop .5s cubic-bezier(.175, .885, .32, 1.275);
}
.rotp-success-text {
    font-size: 22px;
    font-weight: 800;
    color: #1a1a2e;
    margin-bottom: 8px;
}
.rotp-success-sub {
    font-size: 14px;
    color: #9a9ab0;
    font-weight: 500;
}
@keyframes rotpPop {
    0%   { transform: scale(0); opacity: 0; }
    60%  { transform: scale(1.15); }
    100% { transform: scale(1); opacity: 1; }
}
@keyframes rotpFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ===== Mobile responsive ===== */
@media (max-width: 680px) {
    .rotp-unified-wrap { flex-direction: column; }
    .rotp-hide-mobile { display: none !important; }
    .rotp-page { padding: 0 12px; margin: 20px auto; }
    .rotp-card { padding: 24px 18px; }
    .rotp-inp { width: 44px !important; height: 52px !important; font-size: 22px !important; }
    .rotp-code-inputs { gap: 7px; }
}
