.gp-thamani-wrap{max-width:920px;margin:24px auto;padding:12px;font-family:inherit}
.gp-thamani-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 35px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}
.gp-thamani-card h2{margin:0 0 8px;font-size:26px;font-weight:800}
.gp-thamani-subtitle{margin:0 0 20px;color:#555;line-height:1.5}
.gp-thamani-stage-title{margin:0 0 14px;font-size:18px;font-weight:900}
.gp-thamani-phone-note{margin:0 0 16px;padding:14px;border-radius:14px;background:#fff4e8;color:#8a4300;font-weight:700;line-height:1.5}

/* Progress stepper */
.gp-thamani-progress{display:flex;align-items:center;gap:10px;margin:0 0 20px}
.gp-thamani-progress span{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#eee;font-weight:900}
.gp-thamani-progress span.is-active{background:#ff7a00;color:#fff}
.gp-thamani-progress em{height:3px;flex:1;background:#eee;border-radius:999px}

/* Stages */
.gp-thamani-stage{display:none}
.gp-thamani-stage.is-active{display:block}
.gp-hidden{display:none!important}

/* Form grid */
.gp-thamani-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gp-thamani-grid label,.gp-thamani-full{font-weight:700;font-size:14px;color:#222}
.gp-thamani-full{display:block;margin-top:14px}
.gp-thamani-grid input,
.gp-thamani-grid select,
.gp-thamani-full textarea{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #ddd;border-radius:12px;font-size:15px;box-sizing:border-box;background:#fff}
.gp-thamani-full textarea{resize:vertical;min-height:100px}
.gp-thamani-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gp-thamani-checks label{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #ddd;border-radius:12px;background:#fff;font-weight:800;cursor:pointer}
.gp-thamani-checks input{width:18px;height:18px;margin:0}

/* Buttons */
.gp-thamani-btn{width:100%;margin-top:18px;padding:15px 18px;border:0;border-radius:14px;background:#ff7a00;color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.gp-thamani-back{width:100%;margin-top:18px;padding:15px 18px;border:1px solid #ddd;border-radius:14px;background:#fff;color:#111;font-size:16px;font-weight:800;cursor:pointer}
.gp-thamani-stage-actions{display:grid;grid-template-columns:1fr 2fr;gap:12px}

/* Loading overlay — covers the entire card */
#gp-thamani-loading{display:none;position:absolute;inset:0;z-index:100;background:rgba(255,255,255,.97);border-radius:20px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;color:#9a4a00;font-weight:700}
#gp-thamani-loading p{margin:0;font-size:15px;line-height:1.5;max-width:340px}
.gp-thamani-spinner{width:44px;height:44px;border:4px solid #ffe0b2;border-top-color:#ff7a00;border-radius:50%;animation:gp-spin .75s linear infinite;margin:0 auto 14px}
@keyframes gp-spin{to{transform:rotate(360deg)}}

/* Results */
.gp-thamani-car-heading{margin:0 0 18px;padding-bottom:14px;border-bottom:2px solid #ff7a00;font-size:20px;font-weight:900;color:#111;line-height:1.3}
.gp-thamani-results-layout{display:grid;grid-template-columns:1fr;gap:12px;margin-top:0}
.gp-thamani-result-box{border-radius:16px;padding:16px;background:#f8f8f8;border:1px solid #eee}
.gp-thamani-result-box span{display:block;color:#666;font-size:13px;margin-bottom:6px}
.gp-thamani-result-box strong{font-size:21px;color:#111}
.gp-thamani-result-box.is-main{background:#fff4e8;border-color:#ffbd80;text-align:center}
.gp-thamani-result-box.is-main strong{font-size:30px;color:#111}
.gp-thamani-bottom-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gp-thamani-summary{margin-top:14px;padding:14px;border-radius:14px;background:#f1f7ff;line-height:1.5}
.gp-thamani-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.gp-thamani-path{border:1px solid #ff7a00;background:#fff;color:#ff7a00;font-weight:800;border-radius:12px;padding:12px;cursor:pointer}
.gp-thamani-path.is-selected{background:#ff7a00;color:#fff}

/* Misc */
.gp-thamani-error{margin-top:16px;background:#fff0f0;color:#b00020;padding:14px;border-radius:12px;font-weight:700}
.gp-thamani-locked-input{background:#f6f6f6!important;color:#555!important;cursor:not-allowed}
.gp-thamani-field-note{display:block;margin-top:6px;color:#666;font-size:12px;line-height:1.4}

/* OTP modal */
.gp-thamani-otp-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.gp-thamani-otp-modal.is-open{display:flex}
.gp-thamani-otp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.gp-thamani-otp-dialog{position:relative;width:100%;max-width:420px;background:#fff;border-radius:20px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.28);box-sizing:border-box}
.gp-thamani-otp-dialog h3{margin:0 0 8px;font-size:21px;font-weight:900;color:#111}
.gp-thamani-otp-info{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#eaf4ff;color:#0050a0;font-weight:700;line-height:1.4}
.gp-thamani-otp-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:999px;background:#f3f3f3;color:#111;font-size:24px;line-height:1;cursor:pointer}
#gp-thamani-otp-code-popup{width:100%;padding:15px 14px;border:1px solid #ddd;border-radius:14px;font-size:22px;box-sizing:border-box;background:#fff;font-weight:900;letter-spacing:5px;text-align:center}
.gp-thamani-otp-error{margin-top:10px;background:#fff0f0;color:#b00020;padding:10px;border-radius:12px;font-weight:800;line-height:1.4}
.gp-thamani-otp-resend{width:100%;margin-top:10px;padding:13px 18px;border:1px solid #ddd;border-radius:14px;background:#fff;color:#111;font-size:15px;font-weight:800;cursor:pointer}

/* Responsive */
@media (max-width: 680px) {
    .gp-thamani-card{padding:18px}
    .gp-thamani-grid,
    .gp-thamani-actions,
    .gp-thamani-stage-actions,
    .gp-thamani-bottom-prices,
    .gp-thamani-checks{grid-template-columns:1fr}
}