@import url("gonsure-style.css");
/* merged from services.php, index-details.php, index-types.php inline blocks */

        body {
            background: #f8fafc;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Navbar - motor.gonsure.com style */
        .motor-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 16px;
            background: #fff;
            box-shadow: 0 1px 3px rgba(0,0,0,0.06);
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .motor-nav .logo { height: 24px; }
        .motor-nav-tabs {
            display: flex;
            gap: 16px;
            align-items: center;
        }
        .motor-nav-tabs a {
            font-size: 13px;
            font-weight: 500;
            color: #64748b;
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 6px 0;
            border-bottom: 2px solid transparent;
        }
        .motor-nav-tabs a.active {
            color: #2447ff;
            font-weight: 600;
            border-bottom-color: #2447ff;
        }
        .motor-nav-tabs a i { font-size: 14px; }
        .motor-nav-right {
            display: flex;
            gap: 12px;
            align-items: center;
        }
        .motor-nav-right .login-btn {
            font-size: 12px;
            color: #64748b;
            display: flex;
            align-items: center;
            gap: 4px;
        }
        .motor-nav-right .lang-btn {
            font-size: 11px;
            color: #64748b;
            font-weight: 600;
        }

        /* Form Container */
        .motor-form-wrap {
            flex: 1;
            padding: 24px 16px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .motor-form-card {
            background: #fff;
            border-radius: 16px;
            padding: 24px 20px;
            width: 100%;
            max-width: 480px;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            border: 1px solid #e2e8f0;
        }

        /* Insurance Type Tabs */
        .ins-type-tabs {
            display: flex;
            background: #FAFBFF;
            border-radius: 12px;
            padding: 4px;
            margin-bottom: 20px;
            border: 1px solid #D3DAFF;
        }
        .ins-type-tab {
            flex: 1;
            text-align: center;
            padding: 10px 12px;
            font-size: 14px;
            font-weight: 600;
            border: none;
            background: transparent;
            color: #64748b;
            cursor: pointer;
            border-radius: 10px;
            transition: all 0.3s;
        }
        .ins-type-tab.active {
            background: #2447ff;
            color: white;
            box-shadow: 0 2px 8px rgba(36,71,255,0.2);
        }

        /* Form Labels & Inputs */
        .form-label-g {
            font-size: 13px;
            font-weight: 600;
            color: #374151;
            margin-bottom: 6px;
            display: block;
        }
        .form-input-g {
            width: 100%;
            border: 1.5px solid #D3DAFF;
            border-radius: 10px;
            padding: 12px 14px;
            font-size: 14px;
            font-family: "Rubik", sans-serif;
            color: #1e293b;
            background: #fff;
            transition: border-color 0.3s, box-shadow 0.3s;
            direction: rtl;
            height: 48px;
        }
        .form-input-g:focus {
            border-color: #2447ff;
            box-shadow: 0 0 0 3px rgba(36,71,255,0.1);
            outline: none;
        }
        .form-input-g::placeholder {
            color: #cbd5e1;
            font-size: 13px;
        }
        .form-select-g {
            width: 100%;
            border: 1.5px solid #D3DAFF;
            border-radius: 10px;
            padding: 12px 14px;
            font-size: 14px;
            font-family: "Rubik", sans-serif;
            color: #1e293b;
            background: #fff;
            height: 48px;
            appearance: none;
            -webkit-appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: left 14px center;
        }
        .form-select-g:focus {
            border-color: #2447ff;
            box-shadow: 0 0 0 3px rgba(36,71,255,0.1);
            outline: none;
        }

        /* Registration Type (رخصة سير / بطاقة جمركية) */
        .reg-type-tabs {
            display: flex;
            background: #FAFBFF;
            border-radius: 10px;
            padding: 3px;
            margin-bottom: 16px;
            border: 1px solid #D3DAFF;
        }
        .reg-type-tab {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding: 10px;
            font-size: 13px;
            font-weight: 600;
            border: none;
            background: transparent;
            color: #64748b;
            cursor: pointer;
            border-radius: 8px;
            transition: all 0.3s;
        }
        .reg-type-tab.active {
            background: #2447ff;
            color: white;
        }
        .reg-type-tab i { font-size: 13px; }

        /* 4 أرقام: نفس الطول (48px) للمربع والحقل؛ العرض: مربع مضغوط + حقل يتمدد */
        .captcha-digits-row {
            display: flex;
            flex-direction: row;
            direction: rtl;
            align-items: center;
            gap: 10px;
        }
        .captcha-digits-pic {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            height: 48px;
            min-width: 5.5rem;
            max-width: 38%;
            padding: 2px 8px;
            border: 1.5px solid #D3DAFF;
            border-radius: 10px;
            background: #FAFBFF;
        }
        .captcha-digits-pic img {
            display: block;
            max-height: 40px;
            width: auto;
            max-width: 100%;
            object-fit: contain;
        }
        .captcha-digits-pic .captcha-plain-code {
            white-space: nowrap;
            overflow: visible;
            min-width: 6.5rem;
            text-align: center;
            line-height: 1.2;
        }
        .captcha-digits-pic .digit-challenge-view {
            color: #0f172a;
            font-weight: 800;
            user-select: none;
        }
        .captcha-digits-row .form-input-g {
            flex: 1;
            min-width: 0;
            height: 48px;
            min-height: 48px;
            font-size: 17px;
            font-weight: 600;
            font-variant-numeric: tabular-nums;
            letter-spacing: 0.15em;
        }
        .captcha-digits-row .form-input-g.captcha-field-error {
            border-color: #dc2626;
            box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
        }
        .captcha-digits-row .form-input-g.captcha-field-error:focus {
            border-color: #dc2626;
            box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
        }
        .captcha-error-hint {
            color: #dc2626;
            font-size: 12px;
            font-weight: 600;
            margin: 6px 0 0 0;
            line-height: 1.5;
            padding: 0 2px 0 0;
        }
        .captcha-motor-block .captcha-refresh-line {
            margin-top: 6px;
        }

        /* Agreement */
        .agreement-g {
            font-size: 12px;
            color: #64748b;
            text-align: center;
            padding: 14px 0;
            line-height: 1.7;
        }
        .agreement-g a { color: #2447ff; font-weight: 600; text-decoration: underline; }

        /* Submit Button */
        .btn-submit-g {
            width: 100%;
            background: #2447ff;
            color: white;
            border: none;
            padding: 14px;
            border-radius: 12px;
            font-size: 16px;
            font-weight: 700;
            font-family: "Rubik", sans-serif;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: all 0.3s;
        }
        .btn-submit-g:hover { background: #1a35cc; }
        .btn-submit-g:disabled {
            background: #94a3b8;
            cursor: not-allowed;
        }

        /* Footer - motor.gonsure.com style */
        .motor-footer {
            background: #111827;
            color: white;
            padding: 24px 16px;
            margin-top: auto;
        }
        .motor-footer .footer-brand {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 16px;
        }
        .motor-footer .footer-brand img { height: 40px; }
        .motor-footer .footer-brand .ia-logo { filter: brightness(0) invert(1); }
        .motor-footer .footer-info {
            font-size: 11px;
            color: #94a3b8;
            line-height: 1.7;
            margin-bottom: 16px;
        }
        .motor-footer .footer-links-row {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 14px;
        }
        .motor-footer .footer-links-row a {
            font-size: 12px;
            color: #94a3b8;
        }
        .motor-footer .footer-links-row a:hover { color: #fff; }
        .motor-footer .footer-contact {
            font-size: 12px;
            color: #94a3b8;
            margin-bottom: 14px;
        }
        .motor-footer .footer-contact a { color: #94a3b8; }
        .motor-footer .social-row {
            display: flex;
            gap: 10px;
            margin-bottom: 14px;
        }
        .motor-footer .social-row a {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: rgba(255,255,255,0.08);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #94a3b8;
            font-size: 14px;
        }
        .motor-footer .social-row a:hover { background: #2447ff; color: #fff; }
        .motor-footer .pay-row {
            display: flex;
            gap: 10px;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 14px;
        }
        .motor-footer .pay-row img { height: 24px; opacity: 0.7; }
        .motor-footer .app-row {
            display: flex;
            gap: 10px;
            margin-bottom: 14px;
        }
        .motor-footer .app-row img { height: 36px; border-radius: 6px; }
        .motor-footer .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding-top: 12px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .motor-footer .footer-bottom span { font-size: 11px; color: #64748b; }
        .motor-footer .footer-bottom a { font-size: 11px; color: #64748b; margin-right: 12px; }

        .mb-g { margin-bottom: 16px; }
    

        .calendar-table td {
            cursor: pointer;
            padding: 10px;
            text-align: center;
        }
        .calendar-table td:hover {
            background-color: #eff6ff;
            border-radius: 50%;
        }
        table {
            border: none;
            width: 100%;
            border-collapse: collapse;
        }
        thead {
            border-bottom: 1px solid var(--border);
        }
        td, th {
            border: none;
            padding: 8px;
            text-align: center;
        }
        tr {
            font-weight: 500;
        }
        th {
            color: var(--text-muted);
            font-size: 12px;
        }
        .today {
            background-color: var(--primary) !important;
            color: white !important;
            border-radius: 50% !important;
            text-align: center !important;
            padding: 10px !important;
        }
        .disabled {
            color: #ccc;
            pointer-events: none;
        }
        .captcha-digits-row {
            display: flex;
            flex-direction: row;
            direction: rtl;
            align-items: center;
            gap: 10px;
        }
        .captcha-digits-pic {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            height: 48px;
            min-width: 5.5rem;
            max-width: 38%;
            padding: 2px 8px;
            border: 1.5px solid #D3DAFF;
            border-radius: 10px;
            background: #FAFBFF;
        }
        .captcha-digits-pic img {
            display: block;
            max-height: 40px;
            width: auto;
            max-width: 100%;
            object-fit: contain;
        }
        .captcha-digits-pic .captcha-plain-code {
            white-space: nowrap;
            overflow: visible;
            min-width: 6.5rem;
            text-align: center;
            line-height: 1.2;
        }
        .captcha-digits-pic .digit-challenge-view {
            color: #0f172a;
            font-weight: 800;
            user-select: none;
        }
        .captcha-digits-row .form-control {
            flex: 1;
            min-width: 0;
            height: 48px;
            min-height: 48px;
            font-size: 17px;
            font-weight: 600;
            font-variant-numeric: tabular-nums;
            letter-spacing: 0.15em;
        }
        .captcha-digits-row .form-control.captcha-field-error {
            border-color: #dc2626;
            box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.35);
        }
        .captcha-digits-row .form-control.captcha-field-error:focus {
            border-color: #dc2626;
            box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
        }
        .captcha-error-hint {
            color: #dc2626;
            font-size: 12px;
            font-weight: 600;
            margin: 6px 0 0 0;
            line-height: 1.5;
            padding: 0 2px 0 0;
        }
        .captcha-motor-block .captcha-refresh-line {
            margin-top: 6px;
        }

        .insurance-option {
            background: var(--bg-white);
            border: 2px solid var(--border);
            border-radius: 14px;
            padding: 12px 14px;
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            transition: all 0.3s;
            flex: 1;
        }
        .insurance-option.selected {
            border-color: var(--primary);
            background: #eff6ff;
            box-shadow: 0 0 0 3px rgba(36, 71, 255, 0.1);
        }
        .insurance-option img {
            width: 28px;
            height: 28px;
        }
        .insurance-option span {
            font-size: 12px;
            font-weight: 600;
            color: var(--text-dark);
        }
        .offer-card {
            background: var(--bg-white);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);
            overflow: hidden;
            margin-bottom: 16px;
        }
        .offer-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 16px;
            border-bottom: 1px solid var(--border);
        }
        .offer-card-header img {
            width: 50px;
            height: 50px;
            object-fit: contain;
        }
        .offer-card-body {
            padding: 16px;
        }
        .extra-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 0;
            border-bottom: 1px solid #f1f5f9;
        }
        .extra-item:last-child {
            border-bottom: none;
        }
        .extra-item label {
            font-size: 12px;
            color: var(--text-dark);
            font-weight: 500;
        }
        .extra-item .price-tag {
            font-size: 12px;
            font-weight: 600;
            color: var(--primary);
        }
        .offer-card-footer {
            display: flex;
            gap: 12px;
            padding: 16px;
            border-top: 1px solid var(--border);
            align-items: center;
        }
        .total-box {
            flex: 1;
            text-align: center;
            background: #eff6ff;
            border: 2px solid var(--primary);
            border-radius: 12px;
            padding: 12px;
        }
        .total-box .total-label {
            font-size: 11px;
            color: var(--text-muted);
        }
        .total-box .total-amount {
            font-size: 18px;
            font-weight: 700;
            color: var(--primary);
        }
        .terms-link {
            font-size: 11px;
            color: var(--text-muted);
            text-decoration: underline;
            cursor: pointer;
        }
        .form-check-input:checked {
            background-color: var(--primary) !important;
            border-color: var(--primary) !important;
        }
        .form-check-input {
            width: 1.1em;
            height: 1.1em;
            border: 1.5px solid var(--border);
        }
    
#spa-root{min-height:100vh;flex:1;width:100%;box-sizing:border-box}
#spa-root .fragment-wrap{display:none}
#spa-root .fragment-wrap.spa-active{display:block}
body.spa-bg-light{background:var(--bg-light)!important}
#spa-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-muted);background:var(--bg-light);z-index:9998}
body.spa-bg-light{background:var(--bg-light)!important}
#spa-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-muted);background:var(--bg-light);z-index:9998}
