/* Basic modern card UI */
.btp-card{width:100%;max-width:100%;margin:24px 0;padding:20px;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.btp-title{margin:0 0 12px;font-size:22px;}
.btp-grid{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
.btp-grid label{display:flex;flex-direction:column;font-weight:600;font-size:13px;color:#333;}
.btp-grid input,.btp-grid select{margin-top:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:10px;outline:none;}
.btp-grid input:focus,.btp-grid select:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15);}



/* Help text styling */
.btp-help-text{
  font-size:12px !important;
  color:#6b7280 !important;
  margin-top:4px !important;
  font-weight:normal !important;
}

/* Responsive design */
@media(max-width:640px){
  .btp-card{width:100%;max-width:100%;margin:12px 0;padding:16px;}
  .btp-title{font-size:20px;}
  .btp-grid{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  .btp-grid input,.btp-grid select{padding:10px 14px;}
  
  /* Mobile service options */
  .btp-radio-group{
    gap: 8px !important;
  }
  
  .btp-radio-option{
    min-width: 100px !important;
    padding: 6px 12px !important;
    min-height: 40px !important;
  }
  
  .btp-radio-option .service-name{
    font-size: 13px !important;
  }
  
  .btp-radio-option .service-addon{
    font-size: 10px !important;
  }
}

/* Input field improvements */
.btp-grid input[type="text"],
.btp-grid input[type="email"],
.btp-grid input[type="number"],
.btp-grid input[type="date"],
.btp-grid select{
  padding:8px 12px !important;
  box-sizing:border-box !important;
  width:100% !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.btp-grid input[type="text"]::placeholder,
.btp-grid input[type="email"]::placeholder,
.btp-grid input[type="number"]::placeholder,
.btp-grid input[type="date"]::placeholder{
  color:#9ca3af !important;
  font-size:14px !important;
}

/* Ensure consistent input styling */
.btp-grid input:focus,
.btp-grid select:focus,
.btp-grid textarea:focus{
  border-color:#6366f1 !important;
  box-shadow:0 0 0 3px rgba(99,102,241,.15) !important;
  outline:none !important;
}

/* Additional fields styling */
.btp-grid textarea{
  padding:8px 12px !important;
  box-sizing:border-box !important;
  width:100% !important;
  font-size:14px !important;
  line-height:1.4 !important;
  min-height:80px !important;
  resize:vertical !important;
  font-family:inherit !important;
}

.btp-grid textarea::placeholder{
  color:#9ca3af !important;
  font-size:14px !important;
}

/* Transport services styling */
#btp-transport-section{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #e5e7eb;
  display:block !important;
  visibility:visible !important;
}

#btp-transport-options{
  display:block !important;
  visibility:visible !important;
}

.btp-no-transport{
  padding:10px;
  background:#f3f4f6;
  border:1px solid #d1d5db;
  border-radius:6px;
  color:#6b7280;
  font-size:14px;
  text-align:center;
  margin:10px 0;
}

#btp-hotel-field{
  margin-top:10px;
  padding:10px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:8px;
}

#btp-hotel-field label{
  font-weight:600;
  color:#374151;
  margin-bottom:5px;
  display:block;
}

/* Remove default browser styling */
.btp-grid input,
.btp-grid select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  background-color:#fff !important;
}
.btp-summary{margin:20px 0;padding:16px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb;}
.btp-summary-header{font-weight:600;color:#374151;font-size:16px;margin-bottom:12px;text-align:center;}
.btp-summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 0;}
.btp-base-total-row{color:#6b7280;font-size:14px;border-bottom:1px solid #f3f4f6;padding-bottom:6px;margin-bottom:6px;}
.btp-transport-cost-row{color:#059669;font-size:14px;font-weight:500;background:#f0fdf4;padding:6px 8px;border-radius:6px;margin:4px 0;}
.btp-total-row{font-weight:600;color:#2563eb;font-size:16px;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:8px;}
.btp-summary-note{text-align:center;margin-top:8px;color:#6b7280;font-size:12px;}
#btp-paypal-wrap{margin-top:12px}
.widefat input[type="text"], .widefat input[type="number"]{width:100%}
#btp-message{margin-top:10px;font-weight:600}

/* Payment Section Styling */
#btp-payment-section{margin-top:20px;width:100%;}

/* Total Price */
.btp-total-price{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:12px;background:#f8fafc;border-radius:8px;}
.btp-total-price span:first-child{font-weight:600;color:#374151;font-size:16px;}
.btp-total-price span:last-child{font-weight:700;color:#2563eb;font-size:18px;}

/* Secure Checkout */
.btp-secure-checkout{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#2563eb;font-weight:600;font-size:14px;}
.btp-lock-icon{font-size:16px;}

/* Currency Notice */
.btp-currency-notice{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:13px;}
.btp-check-icon{font-size:14px;}



/* Security Info */
.btp-security-info{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px;color:#9ca3af;font-size:11px;}
.btp-lock-small{font-size:10px;}

/* Support Info */
.btp-support-info{text-align:center;margin-top:15px;color:#374151;font-size:12px;line-height:1.5;}
.btp-support-info a{color:#2563eb;text-decoration:underline;margin:0 4px;}
.btp-support-info a:hover{color:#1d4ed8;}

/* Error message styling */
.btp-error{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;text-align:center;margin:20px 0;}

/* Custom PayPal Button Styling */
#btp-paypal-wrap{text-align:center;margin:20px 0;}
#btp-paypal-buttons{display:block;width:100%;}
#btp-paypal-buttons > div{width:100% !important;max-width:100% !important;}
#btp-paypal-buttons iframe{width:100% !important;max-width:100% !important;}
#btp-paypal-buttons .paypal-button{width:100% !important;max-width:100% !important;}
#btp-paypal-buttons .paypal-button-container{width:100% !important;max-width:100% !important;}

/* Force single column layout */
.btp-card .btp-grid{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
.btp-card .btp-grid > *{width:100% !important;max-width:100% !important;}

/* Ensure form takes full width */
.btp-card form{width:100% !important;}
.btp-card #btp-form{width:100% !important;}

/* Service options button styling - horizontal layout */
.btp-radio-group{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 6px !important;
  min-height: 50px !important;
}

.btp-radio-option{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 16px !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  background: #fff !important;
  min-height: 45px !important;
  min-width: 120px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
}

.btp-radio-option:hover{
  border-color: #6366f1 !important;
  background: #f8fafc !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15) !important;
}

.btp-radio-option.selected{
  border-color: #6366f1 !important;
  background: #f0f4ff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.25) !important;
  position: relative !important;
}

.btp-radio-option.selected::before{
  content: '✓' !important;
  position: absolute !important;
  top: 5px !important;
  right: 5px !important;
  background: #6366f1 !important;
  color: white !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: bold !important;
}

.btp-radio-option input[type="radio"]{
  display: none !important;
}

.btp-radio-option .service-name{
  font-weight: 600 !important;
  color: #374151 !important;
  font-size: 14px !important;
  margin-bottom: 4px !important;
  cursor: pointer !important;
  display: block !important;
}

.btp-radio-option .service-addon{
  font-size: 11px !important;
  color: #6b7280 !important;
  display: block !important;
  font-weight: 500 !important;
}

.btp-radio-option.selected .service-name{
  color: #6366f1 !important;
}

.btp-radio-option.selected .service-addon{
  color: #6366f1 !important;
}
.btp-no-service{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;text-align:center;}

/* Admin Tab Navigation */
.btp-tab-nav{
  display:flex;
  gap:2px;
  margin-bottom:15px;
  border-bottom:1px solid #e5e7eb;
}

.btp-tab-btn{
  padding:8px 16px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-bottom:none;
  cursor:pointer;
  font-size:13px;
  font-weight:500;
  color:#6b7280;
  transition:all 0.2s ease;
}

.btp-tab-btn:hover{
  background:#f3f4f6;
  color:#374151;
}

.btp-tab-btn.active{
  background:#fff;
  color:#2563eb;
  border-color:#2563eb;
  border-bottom:1px solid #fff;
  margin-bottom:-1px;
}

.btp-tab-content{
  display:none;
  padding:15px 0;
}

.btp-tab-content.active{
  display:block;
}

/* JSON Editor Styling */
#btp-services-json,
#btp-tiers-json{
  font-family:'Monaco','Menlo','Ubuntu Mono',monospace;
  font-size:12px;
  line-height:1.4;
  border:1px solid #d1d5db;
  border-radius:6px;
  background:#f9fafb;
}

#btp-services-json:focus,
#btp-tiers-json:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.1);
  outline:none;
}

#btp-json-status,
#btp-tier-json-status{
  margin-left:10px;
  font-weight:500;
}

#btp-json-status.valid,
#btp-tier-json-status.valid{
  color:#059669;
}

#btp-json-status.invalid,
#btp-tier-json-status.invalid{
  color:#dc2626;
}
