:root {
    --primary: #4F46E5; --primary-hover: #4338CA; --primary-light: #EEF2FF;
    --bg-body: #F8FAFC; --bg-card: #FFFFFF; --text-main: #0F172A;
    --text-muted: #64748B; --border-color: #E2E8F0; --error-color: #EF4444;
    --success-color: #10B981; --radius-md: 12px; --radius-lg: 20px;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.05); --shadow-lg: 0 20px 40px -15px rgba(0,0,0,0.05);
}

body { background-color: var(--bg-body); font-family: 'Plus Jakarta Sans', sans-serif; margin: 0; padding: 40px 20px; color: var(--text-main); }
* { box-sizing: border-box; outline: none; }

.bus-rezervacija-app { max-width: 800px; margin: 0 auto; background: var(--bg-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); border: 1px solid var(--border-color); overflow: visible; }
.progress-bar-container { height: 6px; background-color: #F1F5F9; width: 100%; border-radius: var(--radius-lg) var(--radius-lg) 0 0; overflow:hidden;}
.progress-bar { height: 100%; background-color: var(--primary); width: 50%; transition: width 0.4s ease; }
.app-content { padding: 40px; }

.form-step { display: none; animation: slideIn 0.3s ease-out; }
.form-step.active-step { display: block; }
@keyframes slideIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.step-header { display: flex; align-items: center; gap: 20px; margin-bottom: 35px; }
.icon-wrapper { background: var(--primary-light); color: var(--primary); padding: 16px; border-radius: 14px; display: flex; align-items: center; justify-content: center;}
.step-header h2 { margin: 0 0 6px 0; font-weight: 800; font-size: 24px; letter-spacing: -0.5px;}
.step-header p { color: var(--text-muted); margin: 0; font-size: 14px; font-weight: 500;}

.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 20px;}
.form-grid.full { grid-template-columns: 1fr; }

/* FIX: Z-INDEX na field-u mora biti pozicioniran kako treba! */
.modern-field { display: flex; align-items: center; border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 12px 18px; background-color: var(--bg-card); transition: all 0.2s ease; position: relative; z-index: 10;}
.modern-field:focus-within, .modern-field.hover-state { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1); z-index: 500;}
.modern-field.highlight { background-color: #F8FAFC; border-color: #CBD5E1; }

.field-media { display: flex; align-items: center; justify-content: center; margin-right: 16px; width: 24px; }
.field-icon { color: var(--text-muted); display: flex; align-items: center; transition: color 0.2s;}
.modern-field:focus-within .field-icon { color: var(--primary); }
.field-icon svg { width: 22px; height: 22px; }
.flag-icon { width: 24px; height: 18px; border-radius: 3px; object-fit: cover; display: none; box-shadow: 0 0 0 1px rgba(0,0,0,0.1); }

.field-body { flex: 1; display: flex; flex-direction: column; overflow: visible; width: 100%;}
.field-label-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.field-body label { font-size: 10px; text-transform: uppercase; font-weight: 700; color: var(--text-muted); letter-spacing: 0.5px; cursor: pointer; margin-bottom: 2px;}
.field-price-tag { font-size: 12px; font-weight: 800; color: var(--primary); background: var(--primary-light); padding: 2px 8px; border-radius: 6px;}

.clean-input { border: none; background: transparent; padding: 0; margin: 0; font-size: 15px; font-weight: 600; color: var(--text-main); outline: none; width: 100%; font-family: inherit; appearance: none; }
.clean-input::placeholder { color: #94A3B8; font-weight: 500; }
select.clean-input { cursor: pointer; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center; padding-right: 20px;}

/* SAAS DROPDOWNS */
.custom-dropdown-container { position: relative; width: 100%; cursor: pointer; margin-top:2px; z-index: 10;}
.custom-dropdown-trigger { display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 600; color: var(--text-main); width: 100%;}
.custom-dropdown-trigger .selected-content { display: flex; align-items: center; gap: 8px;}
.custom-dropdown-menu { position: absolute; top: calc(100% + 15px); left: -18px; right: -18px; background: #fff; border: 1px solid var(--border-color); border-radius: 12px; box-shadow: 0 15px 35px rgba(0,0,0,0.1); z-index: 999; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: 0.2s; max-height: 250px; overflow-y: auto;}
.custom-dropdown-menu.show { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-item { padding: 14px 18px; display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; cursor: pointer; border-bottom: 1px solid #f1f5f9; transition: 0.2s;}
.dropdown-item:hover { background: var(--primary-light); color: var(--primary); padding-left: 22px;}
.dropdown-item i { color: var(--primary); width:18px;}

.phone-group { display: flex; align-items: center; width: 100%; }
.prefix-select { width: auto; min-width: 80px; color: var(--primary); font-weight: 700; background: transparent; border: none; outline: none; font-size: 15px; cursor: pointer; appearance: none;}
.phone-divider { width: 1px; height: 20px; background-color: var(--border-color); margin: 0 10px; }

.dob-group { display: flex; align-items: center; gap: 5px; }
.dob-group input { border: none; background: transparent; padding: 0; font-size: 15px; font-weight: 600; text-align: center; width: 45px; outline: none; }
.dob-group input:last-child { width: 65px; }
.dob-group .sep { color: #CBD5E1; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.station-details { background: #F8FAFC; border: 1px solid var(--border-color); border-top: none; border-radius: 0 0 12px 12px; padding: 14px 18px; font-size: 13px; margin-top: -10px; position: relative; z-index: 1; animation: slideIn 0.2s ease;}
.detail-row { display: flex; justify-content: space-between; margin-bottom: 8px; color: var(--text-muted);}
.detail-row strong { color: var(--text-main); font-weight: 700;}
.map-link { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); text-decoration: none; font-weight: 700; margin-top: 4px; font-size: 12px;}

.passenger-card { border: 1px solid var(--border-color); background-color: var(--bg-card); padding: 25px; border-radius: var(--radius-md); margin-bottom: 25px; position: relative; box-shadow: var(--shadow-sm); }
.main-passenger { border-left: 4px solid var(--primary); }
.saputnik-card { border-left: 4px solid #94A3B8; animation: slideIn 0.3s ease-out; }
.card-title { margin: 0 0 20px 0; font-size: 16px; font-weight: 800; color: var(--text-main); }
.remove-passenger { position: absolute; top: 20px; right: 20px; background: transparent; border: none; color: var(--error-color); cursor: pointer; padding: 6px; border-radius: 8px; transition: 0.2s;}
.remove-passenger:hover { background-color: #FEF2F2; }

.btn-primary, .btn-secondary, .btn-dashed { padding: 16px 32px; border-radius: 12px; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all 0.2s ease; font-weight: 700; font-family: inherit; border: 1px solid transparent; }
.btn-primary { background-color: var(--primary); color: #fff; box-shadow: 0 4px 12px rgba(79, 70, 229, 0.2); }
.btn-primary:hover:not(:disabled) { background-color: var(--primary-hover); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(79, 70, 229, 0.3);}
.btn-primary:disabled { background-color: #CBD5E1; box-shadow: none; cursor: not-allowed; transform: none; }
.btn-secondary { background-color: #F8FAFC; color: var(--text-main); border-color: var(--border-color); }
.btn-secondary:hover { background-color: #F1F5F9; border-color: #CBD5E1; }
.btn-dashed { width: 100%; background-color: transparent; border: 2px dashed #CBD5E1; color: var(--text-muted); padding: 18px; margin-bottom: 25px;}
.btn-dashed:hover { border-color: var(--primary); color: var(--primary); background-color: var(--primary-light); }

.terms-group { display: flex; align-items: center; gap: 12px; cursor: pointer; margin-top: 25px; user-select: none; }
.terms-group input { width: 20px; height: 20px; accent-color: var(--primary); cursor: pointer; }
.terms-text { font-size: 14px; color: var(--text-muted); font-weight: 500;}
.terms-text a { color: var(--primary); text-decoration: none; font-weight: 700; }

.step-footer { margin-top: 35px; border-top: 1px solid var(--border-color); padding-top: 30px; display: flex; justify-content: space-between; align-items: center; }
.total-price-display { display: flex; flex-direction: column; align-items: flex-end; }
.total-price-display .label { font-size: 12px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px;}
.total-price-display .value { font-size: 26px; font-weight: 800; color: var(--primary); letter-spacing: -0.5px;}

.custom-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, 0.7); backdrop-filter: blur(6px); z-index: 9999; align-items: center; justify-content: center; padding: 20px;}
.modal-content { background: var(--bg-card); border: 1px solid var(--border-color); padding: 40px; border-radius: var(--radius-lg); width: 100%; max-width: 600px; position: relative; max-height: 90vh; overflow-y: auto; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); }
.close-modal { position: absolute; top: 20px; right: 20px; background: transparent; border: none; cursor: pointer; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--text-muted);}
.close-modal:hover { background-color: #F1F5F9; color: var(--error-color); }

.id-karta-box { background-color: var(--primary-light); border: 2px dashed var(--primary); padding: 25px; border-radius: 12px; display: inline-block; margin-top: 15px; width: 80%;}
.id-karta-box span { display: block; font-size: 12px; color: var(--primary); margin-bottom: 5px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;}
.id-karta-box strong { font-size: 38px; color: var(--primary); letter-spacing: 2px; font-weight: 800;}

.ticket-summary { font-size: 14px; color: var(--text-main); }
.ticket-section { border-bottom: 1px dashed var(--border-color); padding-bottom: 20px; margin-bottom: 20px; }
.ticket-section:last-child { border-bottom: none; }
.ticket-section h4 { margin: 0 0 15px 0; color: var(--text-main); font-size: 16px; font-weight: 800; display: flex; align-items: center; gap: 8px;}
.ticket-row { display: flex; justify-content: space-between; margin-bottom: 8px; }
.ticket-label { color: var(--text-muted); font-weight: 500;}
.ticket-value { font-weight: 700; text-align: right; }
.passenger-item { background: #F8FAFC; border: 1px solid var(--border-color); padding: 15px; border-radius: 10px; margin-bottom: 10px; }
.total-row { display: flex; justify-content: space-between; align-items: center; background: var(--primary-light); border: 1px solid #C7D2FE; padding: 20px; border-radius: 12px; margin-top: 20px;}

.toast-container { position: fixed; bottom: 30px; left: 30px; display: flex; flex-direction: column; gap: 10px; z-index: 99999;}
.toast { background: #fff; border-left: 5px solid var(--error-color); border-radius: 8px; padding: 15px 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 15px; animation: slideInLeft 0.3s forwards, fadeOut 0.5s ease 3.5s forwards; }

@media (max-width: 768px) { .form-grid { grid-template-columns: 1fr; gap: 15px;} .app-content { padding: 10px 0px; } .step-footer { flex-direction: column; gap: 20px; align-items: stretch;} .total-price-display { align-items: center; } body { padding: 0; } .bus-rezervacija-app{ border-radius:0; border:none; box-shadow:none;} }

/* ========================================================
   POVRATNA KARTA - MODAL CSS
   ======================================================== */
.return-passenger-card { border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 15px; margin-bottom: 15px; background: var(--bg-card); transition: 0.2s;}
.return-passenger-card.selected { border-color: var(--primary); background: var(--primary-light); box-shadow: 0 4px 12px rgba(79, 70, 229, 0.15);}
.return-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; cursor: pointer; user-select: none;}
.return-name { font-weight: 700; font-size: 15px; display: flex; align-items: center; gap: 10px;}
.return-name i { color: var(--text-muted); transition: 0.2s;}
.return-passenger-card.selected .return-name i { color: var(--primary); }

.return-date-box { display: none; margin-top: 10px; animation: slideIn 0.3s ease;}
.return-passenger-card.selected .return-date-box { display: block; }

.custom-checkbox-round { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--border-color); display: flex; align-items: center; justify-content: center; transition: 0.2s; background: #fff;}
.return-passenger-card.selected .custom-checkbox-round { border-color: var(--primary); background: var(--primary); color: #fff;}
.custom-checkbox-round i { opacity: 0; width: 14px; color: #fff;}
.return-passenger-card.selected .custom-checkbox-round i { opacity: 1; }

.ticket-found-box { background: var(--primary-light); border: 1px dashed var(--primary); padding: 15px; border-radius: 12px; margin-bottom: 20px; text-align: center;}
.ticket-found-box h4 { margin: 0 0 5px 0; color: var(--primary); font-size: 18px; font-weight: 800;}
.ticket-found-box p { margin: 0; color: var(--primary); font-size: 13px; font-weight: 600;}


/* ========================================================
   POVRATNA KARTA - MODAL TIMELINE I ZMIJICA
   ======================================================== */
.validity-tracker { background: #F8FAFC; border: 1px dashed #CBD5E1; padding: 15px; border-radius: 12px; margin-bottom: 20px; }
.validity-header { display: flex; justify-content: space-between; font-size: 11px; font-weight: 800; color: var(--text-muted); margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px;}
.validity-header strong { color: var(--text-main); font-size: 13px;}
.validity-bar-bg { height: 8px; background: #E2E8F0; border-radius: 10px; position: relative; width: 100%;}
.validity-fill { height: 100%; background: var(--primary); border-radius: 10px; transition: width 1s ease-out; position: relative; max-width: 100%;}
.validity-bus-icon { position: absolute; right: -12px; top: -10px; background: #fff; color: var(--primary); border-radius: 50%; padding: 4px; border: 2px solid var(--primary); box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
.validity-danger .validity-fill { background: var(--error-color); }
.validity-danger .validity-bus-icon { color: var(--error-color); border-color: var(--error-color); }
.text-danger { color: var(--error-color) !important; }

/* Moderan prikaz putnika */
.return-passenger-card { border: 1px solid var(--border-color); border-radius: 16px; padding: 18px; margin-bottom: 15px; background: var(--bg-card); transition: 0.2s;}
.return-passenger-card.selected { border-color: var(--primary); background: var(--primary-light); box-shadow: 0 4px 15px rgba(79, 70, 229, 0.1);}
.return-header { display: flex; align-items: center; justify-content: space-between; cursor: pointer; user-select: none;}
.return-name { display: flex; align-items: center; gap: 15px;}
.return-name i { color: var(--text-main); transition: 0.2s; width: 24px; height: 24px;}
.return-name div strong { font-size: 16px; color: var(--text-main); display: block;}
.return-name div span { font-size: 11px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px;}
.return-passenger-card.selected .return-name i { color: var(--primary); }

.custom-checkbox-round { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #CBD5E1; display: flex; align-items: center; justify-content: center; transition: 0.2s; background: #fff;}
.return-passenger-card.selected .custom-checkbox-round { border-color: var(--primary); background: var(--primary); }
.custom-checkbox-round i { opacity: 0; width: 14px; color: #fff;}
.return-passenger-card.selected .custom-checkbox-round i { opacity: 1; }

.return-date-box { display: none; margin-top: 15px; animation: slideIn 0.3s ease; padding-top: 15px; border-top: 1px dashed #CBD5E1;}
.return-passenger-card.selected .return-date-box { display: block; }


/* ========================================================
   MODAL OTKAZIVANJE - TIMELINE I KALKULATOR
   ======================================================== */
.policy-timeline { display: flex; align-items: flex-start; justify-content: space-between; position: relative; margin: 20px 0; background: #f8fafc; padding: 25px 15px; border-radius: 16px; border: 1px solid #e2e8f0; }
.policy-line { position: absolute; top: 45px; left: 15%; right: 15%; height: 3px; background: #e2e8f0; z-index: 1; border-radius: 5px;}
.policy-step { text-align: center; flex: 1; position: relative; z-index: 2; opacity: 0.5; transition: 0.3s; filter: grayscale(100%); }
.policy-step.active { opacity: 1; transform: scale(1.05); filter: grayscale(0%); }
.policy-step-icon { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px auto; background: #fff; border: 3px solid #cbd5e1; color: #64748b; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.policy-step.active.green .policy-step-icon { border-color: var(--success-color); background: #ecfdf5; color: var(--success-color); box-shadow: 0 0 0 6px rgba(16,185,129,0.15); }
.policy-step.active.yellow .policy-step-icon { border-color: var(--warning); background: #fffbeb; color: var(--warning); box-shadow: 0 0 0 6px rgba(245,158,11,0.15); }
.policy-step.active.red .policy-step-icon { border-color: var(--error-color); background: #fef2f2; color: var(--error-color); box-shadow: 0 0 0 6px rgba(239,68,68,0.15); }
.policy-step h5 { margin: 0 0 6px 0; font-size: 14px; color: var(--text-main); font-weight: 800; line-height: 1.2;}
.policy-step p { margin: 0; font-size: 11px; color: var(--text-muted); font-weight: 700; text-transform: uppercase; background: #fff; padding: 2px 6px; border-radius: 6px; border: 1px solid #e2e8f0; display: inline-block;}

.penalty-calculator { background: var(--bg-card); border: 2px dashed var(--border-color); border-radius: 16px; padding: 18px; margin-bottom: 25px; display: flex; justify-content: space-between; align-items: center; transition: 0.3s; }
.penalty-calculator.active-penalty { border-color: var(--error-color); background: #FEF2F2; }
.calc-label { font-size: 12px; color: var(--text-muted); font-weight: 800; text-transform: uppercase; margin-bottom: 4px; display: block;}
.penalty-calculator.active-penalty .calc-label { color: #991b1b; }
.calc-value { font-size: 26px; font-weight: 900; color: var(--text-main); transition: 0.3s;}
.penalty-calculator.active-penalty .calc-value { color: var(--error-color); }

/* Specijalno dugme za otkazivanje */
.btn-danger-submit { background-color: var(--error-color) !important; color: #fff !important; }
.btn-danger-submit:hover:not(:disabled) { background-color: #DC2626 !important; box-shadow: 0 6px 16px rgba(239, 68, 68, 0.3) !important; transform: translateY(-2px); }
.btn-danger-submit:disabled { background-color: #E2E8F0 !important; color: #94A3B8 !important; box-shadow: none !important; cursor: not-allowed; transform: none; border: 1px solid #CBD5E1; }

/* ========================================================
   EMAIL CHECKER CSS (SAAS TOOLTIP)
   ======================================================== */
.email-validator { position: relative; }
.email-icon-status { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); transition: 0.3s; opacity: 0; visibility: hidden; }
.email-icon-status.show { opacity: 1; visibility: visible; }
.email-icon-status.valid { color: var(--success-color); }
.email-icon-status.invalid { color: var(--error-color); cursor: help; }

/* Lebdeći Tooltip za grešku */
.email-icon-status.invalid::after {
    content: attr(data-error);
    position: absolute; bottom: 100%; right: 50%; transform: translateX(50%);
    background: var(--error-color); color: #fff;
    padding: 6px 12px; border-radius: 8px; font-size: 11px; font-weight: 800;
    white-space: nowrap; pointer-events: none;
    opacity: 0; visibility: hidden; transition: 0.2s;
    margin-bottom: 8px; z-index: 100; box-shadow: 0 4px 10px rgba(239, 68, 68, 0.3);
}
.email-icon-status.invalid::before {
    content: ''; position: absolute; bottom: 100%; right: 50%; transform: translateX(50%);
    border: 6px solid transparent; border-top-color: var(--error-color);
    opacity: 0; visibility: hidden; transition: 0.2s; margin-bottom: -4px; z-index: 100;
}
.email-icon-status.invalid:hover::after, .email-icon-status.invalid:hover::before { opacity: 1; visibility: visible; }

.modern-field.email-error { border-color: var(--error-color) !important; background: #FEF2F2 !important; }


/* ========================================================
   ELEMENTOR PRO ZAŠTITA (NEPROBOJNO I ZA MODALE)
   ======================================================== */
#nt-saas-booking *, .custom-modal * {
    box-sizing: border-box !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

#nt-saas-booking .clean-input, 
.custom-modal .clean-input, 
#nt-saas-booking input[type="text"], 
.custom-modal input[type="text"], 
#nt-saas-booking input[type="email"], 
.custom-modal input[type="email"], 
#nt-saas-booking input[type="number"], 
.custom-modal input[type="number"], 
#nt-saas-booking input[type="tel"], 
.custom-modal input[type="tel"] {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: normal !important;
    min-height: unset !important;
    color: var(--text-main) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    pointer-events: auto !important; /* MAGIJA KOJA SPASAVA FLATPICKR KLIK */
    cursor: pointer !important;
    width: 100% !important;
}

#nt-saas-booking .btn-primary, 
#nt-saas-booking .btn-secondary,
.custom-modal .btn-primary, 
.custom-modal .btn-secondary {
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
}

#nt-saas-booking .custom-dropdown-menu, 
.custom-modal .custom-dropdown-menu {
    text-align: left !important;
}

/* FORSIRAMO FLEXBOX NA MODALNIM POLJIMA DA IH WP NE SPLJOŠTI */
.custom-modal .modern-field {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

.custom-modal .field-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}
/* === Naci plaanja sekcija === */
.payment-method-section {
    border: 1.5px solid var(--border-color, #e5e7eb);
    border-radius: 14px;
    padding: 18px;
    margin: 20px 0 15px 0;
    background: linear-gradient(135deg, #f8fafc, #ffffff);
}
.payment-method-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e5e7eb;
}
.payment-method-head i {
    width: 22px; height: 22px; color: var(--primary, #1d4ed8);
}
.payment-method-head strong { display:block; font-size:15px; color:#1f2937; }
.payment-method-head small { display:block; font-size:12px; color:#6b7280; margin-top:2px; }

.payment-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 600px) {
    .payment-options { grid-template-columns: 1fr; }
}
.payment-option {
    position: relative;
    display: flex;
    gap: 12px;
    padding: 14px;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: #fff;
}
.payment-option:hover {
    border-color: #cbd5e1;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.payment-option.active {
    border-color: var(--primary, #1d4ed8);
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    box-shadow: 0 4px 14px rgba(29,78,216,0.12);
}
.payment-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.po-icon {
    flex: 0 0 42px;
    width: 42px; height: 42px;
    border-radius: 10px;
    background: #f1f5f9;
    display: flex; align-items: center; justify-content: center;
    color: var(--primary, #1d4ed8);
}
.payment-option.active .po-icon {
    background: var(--primary, #1d4ed8);
    color: #fff;
}
.po-icon i { width: 20px; height: 20px; }
.po-body { flex: 1; min-width: 0; }
.po-body strong { display:block; font-size:14px; color:#1f2937; margin-bottom:3px; }
.po-body small { display:block; font-size:12px; color:#6b7280; line-height:1.4; }
.po-badge {
    display: inline-block;
    background: #dcfce7; color: #15803d;
    font-size: 10px; font-weight: 700;
    padding: 2px 7px; border-radius: 999px;
    margin-left: 4px; vertical-align: middle;
    text-transform: uppercase; letter-spacing: 0.4px;
}

.card-brands {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.card-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    min-width: 38px;
    padding: 0 8px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    border: 1px solid #e5e7eb;
    background: #fff;
}
.card-brand.visa {
    color: #1a1f71;
    font-style: italic;
    font-family: Arial, sans-serif;
    font-size: 13px;
}
.card-brand.mc {
    background: #fff;
    padding: 0 6px;
    gap: 0;
    position: relative;
}
.card-brand.mc .mc-c1,
.card-brand.mc .mc-c2 {
    display: inline-block;
    width: 14px; height: 14px;
    border-radius: 50%;
}
.card-brand.mc .mc-c1 { background: #eb001b; }
.card-brand.mc .mc-c2 { background: #f79e1b; margin-left: -5px; mix-blend-mode: multiply; }
.card-brand.maestro {
    color: #fff;
    background: linear-gradient(90deg, #0099df 50%, #ed0006 50%);
    font-size: 9px;
}
.card-brand.dina {
    background: linear-gradient(90deg, #003a70, #0066cc);
    color: #fff;
    font-size: 9px;
}

.capacity-info-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    margin: 14px 0;
    border: 1.5px solid;
}
.capacity-info-box i { width: 18px; height: 18px; flex-shrink: 0; }
.capacity-info-box.ok { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.capacity-info-box.warn { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.capacity-info-box.full { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
