/* BookTripNGo Travel Bookings - Styles */
.booktripngo-booking-container {font-family:'Segoe UI',Arial,sans-serif;background:#f4f7fa;padding:20px;color:#333;}
.booktripngo-box {max-width:720px;margin:40px auto;background:white;padding:45px;border-radius:16px;box-shadow:0 15px 35px rgba(0,0,0,0.1);text-align:center;}
.booktripngo-box h1 {color:#0066cc;font-size:28px;margin-bottom:10px;}
.booktripngo-amount {font-size:44px;font-weight:bold;color:#e67e22;margin:30px 0;}
.booktripngo-error {background:#f8d7da;color:#721c24;padding:25px;border-radius:12px;border:1px solid #f5c6cb;font-size:18px;}
.booktripngo-notice {background:#fff3cd;color:#856404;padding:20px;border-radius:12px;border:1px solid #ffc107;font-size:14px;text-align:left;}
.booktripngo-form-section {background:#f8f9fa;padding:25px;border-radius:12px;margin:25px 0;text-align:left;}
.booktripngo-field-wrapper {position:relative;margin:15px 0;}
.booktripngo-field-wrapper .booktripngo-checkmark {position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#28a745;font-size:20px;opacity:0;transition:opacity 0.3s;pointer-events:none;}
.booktripngo-field-wrapper.valid .booktripngo-checkmark {opacity:1;}
.booktripngo-booking-container input, .booktripngo-booking-container select, .booktripngo-booking-container textarea {width:100%;padding:16px 50px 16px 16px;border:2px solid #ddd;border-radius:10px;font-size:16px;transition:all 0.3s;box-sizing:border-box;background:white;}
.booktripngo-booking-container input:focus, .booktripngo-booking-container textarea:focus {border-color:#007bff;outline:none;box-shadow:0 0 0 3px rgba(0,123,255,0.1);}
.booktripngo-field-wrapper.valid input {border-color:#28a745;}
.booktripngo-button {background:#28a745;color:white;border:none;padding:20px;font-size:22px;border-radius:10px;cursor:pointer;width:100%;margin-top:30px;transition:all 0.3s;font-weight:600;position:relative;text-decoration:none;display:block;text-align:center;}
.booktripngo-button:hover:not(:disabled) {background:#218838;transform:translateY(-2px);}
.booktripngo-button:disabled {background:#aaa;cursor:not-allowed;transform:none;}
.booktripngo-button-spinner {display:none;width:20px;height:20px;border:3px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:booktripngo-spin 0.8s linear infinite;position:absolute;right:30px;top:50%;transform:translateY(-50%);}
.booktripngo-button.processing .booktripngo-button-spinner {display:block;}
@keyframes booktripngo-spin {to {transform:translateY(-50%) rotate(360deg);}}
.booktripngo-inline-error {color:#dc3545;font-size:14px;min-height:20px;margin-top:6px;font-weight:500;text-align:left;}
.booktripngo-search-error {display:none;background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-top:20px;font-weight:500;text-align:center;}
.booktripngo-status-icon {font-size:64px;margin:20px 0;}
.booktripngo-status-icon.success {color:#28a745;}
.booktripngo-status-icon.processing {position:relative;width:80px;height:80px;margin:20px auto;}
.booktripngo-status-message {background:#f8f9fa;padding:20px;border-radius:12px;margin:20px 0;text-align:left;line-height:1.6;}
.booktripngo-status-message.success {background:#d4edda;border:2px solid #28a745;color:#155724;}
.booktripngo-success-badge {display:inline-block;background:#28a745;color:white;padding:6px 15px;border-radius:20px;font-weight:600;font-size:14px;margin-bottom:15px;}
.booktripngo-spinner-large {width:60px;height:60px;border:6px solid rgba(0,123,255,0.1);border-top-color:#007bff;border-radius:50%;animation:booktripngo-spin-rotate 1s linear infinite;margin:0 auto;}
@keyframes booktripngo-spin-rotate {to {transform:rotate(360deg);}}
.booktripngo-help-box {margin:20px 0;padding:20px;border-radius:8px;text-align:left;line-height:1.6;}
.booktripngo-help-box ul {margin:10px 0;padding-left:20px;}
.booktripngo-help-box strong {display:block;margin-bottom:10px;}
.booktripngo-booking-details {background:#f8f9fa;padding:20px;border-radius:12px;margin:20px 0;text-align:left;}
.booktripngo-booking-details h3 {margin-top:0;color:#0066cc;}
@media (max-width: 768px) {
  .booktripngo-box {padding:25px 20px;}
  .booktripngo-booking-container {padding:10px;}
  .booktripngo-box h1 {font-size:24px;}
  .booktripngo-amount {font-size:36px;}
  .booktripngo-button {position:sticky;bottom:0;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,0.15);border-radius:0;margin:30px -20px -25px;}
}

/* === PAYMENT PAGE SPECIFIC STYLES === */

/* Progress Bar */
.booktripngo-progress-bar {display:flex;justify-content:space-between;margin:30px 0 40px;position:relative;}
.booktripngo-progress-bar::before {content:'';position:absolute;top:15px;left:10%;right:10%;height:2px;background:#e0e0e0;z-index:0;}
.booktripngo-progress-step {flex:1;text-align:center;position:relative;z-index:1;}
.booktripngo-progress-step .booktripngo-circle {width:32px;height:32px;border-radius:50%;background:#e0e0e0;color:#999;display:inline-flex;align-items:center;justify-content:center;font-weight:bold;margin-bottom:8px;transition:all 0.3s;}
.booktripngo-progress-step.active .booktripngo-circle {background:#0066cc;color:white;box-shadow:0 2px 8px rgba(0,102,204,0.3);}
.booktripngo-progress-step.completed .booktripngo-circle {background:#28a745;color:white;}
.booktripngo-progress-step .booktripngo-label {font-size:13px;color:#666;}
.booktripngo-progress-step.active .booktripngo-label {color:#0066cc;font-weight:600;}

/* Trust Badges */
.booktripngo-trust-badges {display:flex;justify-content:center;gap:15px;margin:25px 0;flex-wrap:wrap;}
.booktripngo-trust-badges span {background:#e8f5e9;color:#2e7d32;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid #c8e6c9;}

/* Booking Details (Collapsible) */
.booktripngo-booking-details {background:#f8f9fa;border-radius:12px;padding:20px;margin:20px 0;text-align:left;border:2px solid #e0e0e0;}
.booktripngo-booking-details summary {font-size:16px;font-weight:600;color:#0066cc;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;}
.booktripngo-booking-details summary::-webkit-details-marker {display:none;}
.booktripngo-booking-details .booktripngo-arrow {transition:transform 0.3s;font-size:12px;}
.booktripngo-booking-details[open] .booktripngo-arrow {transform:rotate(180deg);}
.booktripngo-booking-details .booktripngo-booking-content {margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;}

/* Amount Breakdown (Collapsible) */
.booktripngo-amount-breakdown {background:#fff3cd;border:2px solid #ffc107;border-radius:12px;padding:20px;margin:25px 0;text-align:left;}
.booktripngo-amount-breakdown summary {font-size:16px;font-weight:600;color:#856404;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;user-select:none;margin-bottom:0;}
.booktripngo-amount-breakdown summary::-webkit-details-marker {display:none;}
.booktripngo-amount-breakdown .booktripngo-summary-amount {font-size:18px;font-weight:bold;display:flex;align-items:center;gap:8px;}
.booktripngo-amount-breakdown .booktripngo-arrow {transition:transform 0.3s;font-size:12px;}
.booktripngo-amount-breakdown[open] .booktripngo-arrow {transform:rotate(180deg);}
.booktripngo-amount-breakdown .booktripngo-breakdown-content {margin-top:15px;padding-top:15px;border-top:2px solid #ffc107;}
.booktripngo-breakdown-header {font-size:16px;font-weight:600;color:#856404;text-align:left;}
.booktripngo-breakdown-row {display:flex;justify-content:space-between;padding:8px 0;color:#856404;}
.booktripngo-breakdown-divider {height:2px;background:#ffc107;margin:10px 0;}
.booktripngo-breakdown-total {display:flex;justify-content:space-between;padding:12px 0;font-size:20px;font-weight:bold;color:#856404;}

/* Interactive Card Preview */
.booktripngo-card-preview {background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:16px;padding:30px;color:white;margin:30px 0;box-shadow:0 8px 25px rgba(0,0,0,0.2);position:relative;overflow:hidden;}
.booktripngo-card-preview::before {content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:rgba(255,255,255,0.05);transform:rotate(45deg);}
.booktripngo-card-preview-number {font-size:24px;letter-spacing:4px;margin:25px 0;font-family:'Courier New',monospace;position:relative;}
.booktripngo-card-preview-row {display:flex;justify-content:space-between;margin-top:25px;position:relative;}
.booktripngo-card-preview-name {font-size:14px;text-transform:uppercase;letter-spacing:1px;font-weight:500;}
.booktripngo-card-preview-expiry {font-size:14px;font-weight:500;}
.booktripngo-card-preview-label {font-size:10px;opacity:0.7;margin-bottom:5px;letter-spacing:0.5px;}

/* Section Headers */
.booktripngo-section-header {font-size:18px;font-weight:600;color:#333;margin:0 0 20px;display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid #e0e0e0;text-align:left;}

/* Card Field with Icons */
.booktripngo-card-field {position:relative;}
.booktripngo-card-icons {position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:12px;pointer-events:none;}
.booktripngo-card-icons img {height:24px;opacity:0.25;transition:all 0.4s;}
.booktripngo-card-icons img.active {opacity:1;transform:scale(1.2);filter:drop-shadow(0 0 10px rgba(0,123,255,0.6));}

/* CVV Wrapper with Info Icon */
.booktripngo-cvv-wrapper input {padding-right:80px!important;}
.booktripngo-info-icon {position:absolute;right:45px;top:50%;transform:translateY(-50%);background:#007bff;color:white;border:none;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:14px;font-weight:bold;z-index:10;transition:all 0.2s;}
.booktripngo-info-icon:hover {background:#0056b3;transform:translateY(-50%) scale(1.1);}

/* CVV Tooltip */
.booktripngo-cvv-tooltip {display:none;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background:white;border-radius:12px;padding:30px;box-shadow:0 8px 40px rgba(0,0,0,0.3);z-index:1001;max-width:450px;width:90%;}
.booktripngo-cvv-tooltip.show {display:block;animation:booktripngo-slideIn 0.3s ease;}
.booktripngo-cvv-tooltip-overlay {display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:1000;backdrop-filter:blur(2px);}
.booktripngo-cvv-tooltip-overlay.show {display:block;}
.booktripngo-cvv-tooltip h3 {color:#0066cc;margin-top:0;}
@keyframes booktripngo-slideIn {
  from {transform:translate(-50%, -60%);opacity:0;}
  to {transform:translate(-50%, -50%);opacity:1;}
}

/* Row Layout */
.booktripngo-row {display:flex;gap:20px;margin:15px 0;}
.booktripngo-row > div {flex:1;}

/* Payment Notice */
.booktripngo-payment-notice {background:#e7f3ff;border-left:4px solid #007bff;padding:15px 20px;margin:20px 0;border-radius:8px;text-align:left;font-size:14px;color:#004085;}
.booktripngo-payment-notice a {color:#007bff;text-decoration:none;font-weight:600;}
.booktripngo-payment-notice a:hover {text-decoration:underline;}

/* Privacy Note */
.booktripngo-privacy-note {text-align:center;color:#666;font-size:14px;margin-top:25px;padding:15px;background:#f8f9fa;border-radius:8px;line-height:1.6;}
.booktripngo-privacy-note a {color:#007bff;text-decoration:none;font-weight:500;}
.booktripngo-privacy-note a:hover {text-decoration:underline;}

/* Session Timer Warning */
.booktripngo-session-timer {display:none;background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:15px;border-radius:8px;margin:20px 0;text-align:center;font-size:14px;animation:booktripngo-pulse 2s infinite;}
@keyframes booktripngo-pulse {
  0%, 100% {border-color:#ffc107;}
  50% {border-color:#ff9800;}
}

/* Itinerary Image */
.booktripngo-itinerary {max-width:100%;border-radius:12px;margin:20px 0;box-shadow:0 4px 15px rgba(0,0,0,0.1);}

/* Mobile Responsive Updates for Payment Page */
@media (max-width: 768px) {
  .booktripngo-row {flex-direction:column;gap:0;}
  .booktripngo-progress-step .booktripngo-label {font-size:11px;}
  .booktripngo-progress-step .booktripngo-circle {width:28px;height:28px;font-size:13px;}
  .booktripngo-card-preview-number {font-size:20px;letter-spacing:2px;}
  .booktripngo-card-preview {padding:20px;}
  .booktripngo-trust-badges {gap:10px;}
  .booktripngo-trust-badges span {font-size:12px;padding:6px 12px;}
  .booktripngo-breakdown-total {font-size:18px;}
  .booktripngo-amount-breakdown {padding:15px;}
  .booktripngo-amount-breakdown summary {font-size:14px;}
  .booktripngo-amount-breakdown .booktripngo-summary-amount {font-size:16px;}
  .booktripngo-booking-details {padding:15px;}
  .booktripngo-card-icons img {height:20px;}
}
