.cch-form {
  padding: 25px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 8px;
}
.cch-form.cch-login {
  width: 45%;
  margin: 0 auto;
}
.cch-form.cch-signup {
  width: 70%;
  margin: 0 auto;
}
.cch-auth-tabs .cch-row button {
  width: 100%;
  border-color: #0300c6 !important;
  background: #0300c6 !important;
  font-family: "Plus Jakarta Sans" !important;
  color: #fff !important;
  text-transform: capitalize;
}
.cch-row_title {
  text-align: center;
}
.cch-row_title h3 {
  font-size: 27px !important;
  font-weight: 700 !important;
  color: #0300c6 !important;
  letter-spacing: 1px !important;
  margin-top: 0px;
  margin-bottom: 8px;
}
.cch-row_title p {
  font-size: 14px;
  font-weight: 500;
  color: #000;
}
.cch-row {
  margin-bottom: 10px;
}
.cch-row label {
  display: block;
  margin-bottom: 4px;
  font-family: "Plus Jakarta Sans";
  font-weight: 600 !important;
  letter-spacing: 0.4px;
}
.cch-row label span {
  font-size: 14px;
  font-weight: 500;
}

.cch-error {
  color: #d00;
  font-size: 13px;
  margin-top: 6px;
}
.cch-message {
  padding: 10px;
  background: #f0f7ea;
  border: 1px solid #dfecd6;
}
.cch-terms {
  margin: 16px 0px !important;
}

/* Co-author Modal Styles */
.cch-modal {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cch-modal-content {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
}

.cch-modal-header {
  padding: 20px;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cch-modal-header h3 {
  margin: 0;
  color: #273039 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.cch-modal-close {
  font-size: 24px;
  font-weight: bold;
  color: #999;
  cursor: pointer;
  line-height: 1;
  transition: color 0.3s ease;
}

.cch-modal-close:hover {
  color: #333;
}

.cch-modal-body {
  padding: 20px;
}

.cch-add-coauthor-btn {
  background: #fff !important;
  color: #000 !important;
  border: none;
  /* padding: 11px 0px; */
  width: 26% !important;
  height: auto !important;
  /* font-size: 10px !important; */
}
.cch-coauthors-actions button:horizontal {
  background-color: #0300c6 !important;
  color: #fff !important;
}
.discount-section {
  width: 100% !important;
}
.cch-add-coauthor-btn:hover {
  background: #1565c0;
}
#coauthor-form {
}
#coauthor-form .cch-row button {
  width: auto !important;
  height: auto !important;
  padding: 12px 20px !important;
  font-size: 11px !important;
}

.cch-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  margin-right: 10px;
}

.cch-btn-primary {
  background: #198fd9;
  color: white;
}

.cch-btn-primary:hover {
  background: #1565c0;
}

.cch-btn-secondary {
  background: #f5f5f5;
  color: #333;
  border: 1px solid #ddd;
}

.cch-btn-secondary:hover {
  background: #e9e9e9;
}

.cch-message {
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-weight: 500;
}

.cch-message-success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.cch-message-error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

/* Password field with eye icon */
.cch-password-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.cch-password-wrapper input[type="password"],
.cch-password-wrapper input[type="text"] {
  width: 100%;
  padding-right: 40px;
  box-sizing: border-box;
}

.cch-password-toggle {
  position: absolute;
  right: 10px;
  cursor: pointer;
  user-select: none;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.cch-password-toggle:hover {
  background-color: #f0f0f0;
}

.cch-eye-icon {
  font-size: 16px;
  color: #666;
  transition: color 0.3s ease;
}

.cch-password-toggle:hover .cch-eye-icon {
  color: #333;
}

.cch-password-requirements {
  font-size: 12px;
  color: #666;
  margin-top: 5px;
  line-height: 1.4;
  font-style: italic;
}

/* Password validation feedback */
.cch-password-wrapper.cch-password-valid input {
  border-color: #28a745;
  box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.25);
}

.cch-password-wrapper.cch-password-invalid input {
  border-color: #dc3545;
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.25);
}

.cch-password-wrapper.cch-password-valid .cch-eye-icon {
  color: #28a745;
}

.cch-password-wrapper.cch-password-invalid .cch-eye-icon {
  color: #dc3545;
}

/* Terms & Conditions Modal */
.cch-terms-link {
  background: none;
  border: none;
  color: #198fd9;
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-family: "Plus Jakarta Sans";
}

.cch-terms-link:hover {
  color: #1565c0;
  text-decoration: none;
}

.cch-terms-modal-content {
  max-width: 800px;
  max-height: 80vh;
}

.cch-modal-footer {
  padding: 20px;
  border-top: 1px solid #ddd;
  text-align: right;
  background: #f9f9f9;
}

.terms-placeholder {
  padding: 20px;
  text-align: center;
  color: #666;
}

.terms-placeholder h4 {
  color: #333;
  margin-bottom: 15px;
}

/* Co-author form dynamic validation styling */
.cch-field-note {
  font-size: 11px;
  color: #666;
  margin-top: 3px;
  font-style: italic;
}

#first_name_required,
#last_name_required {
  color: #dc3545;
  font-weight: bold;
}

/* Loading spinner */
.spinner {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  border-top-color: transparent;
  animation: spin 1s ease-in-out infinite;
  margin-right: 8px;
}
.spinner.hidden {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Mobile responsiveness for modal */
@media (max-width: 768px) {
  .cch-modal-content {
    width: 95%;
    margin: 20px;
    max-height: calc(100vh - 40px);
  }

  .cch-modal-header {
    padding: 15px;
  }

  .cch-modal-body {
    padding: 15px;
  }

  .cch-btn {
    width: 100%;
    margin: 5px 0;
  }
}

.cch-auth-tabs .cch-tabs-nav {
  width: 45%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.cch-auth-tabs .cch-tab-btn {
  background: #fff;
  color: #0300c6;
  border: 2px solid #0300c6;
  width: 48%;
  height: 50px;
  border-radius: 10px;
  font-size: 15px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
  font-family: "Plus Jakarta Sans";
}
.cch-auth-tabs .cch-tab-btn.active {
  background: #0300c6;
  color: #fff;
  border-color: #0300c6;
}
.divide_two {
  display: flex;
  justify-content: space-between;
}
.divide_two .cch-row {
  width: 49%;
}
.cch-row input[type="text"],
.cch-row input[type="password"],
.cch-row input[type="email"],
.cch-row select {
  display: block;
  background-color: #f7f7f7 !important;
  width: 100%;
  padding: 10px;
}
.cch-row input:read-only,
.cch-row select:read-only {
  border-color: #ccc;
  color: #999;
}
.cch-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
}
.cch-row textarea {
  display: block;
  background-color: #f7f7f7 !important;
  width: 100%;
  height: 160px;
}
.cch-row button {
  background: #0300c6;
  color: #fff;
  border-color: #0300c6;
  border: 2px solid #0300c6;
  width: 250px;
  height: 50px;
  border-radius: 10px;
  font-size: 15px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-weight: 600;
  font-family: "Plus Jakarta Sans";
  cursor: pointer;
}
.create_Top {
  text-align: center;
  margin-bottom: 30px;
}
.create_Top h3 {
  margin: 0;
  margin-bottom: 10px;
  font-weight: 700 !important;
  font-size: 30px !important;
  text-transform: capitalize !important;
}
.create_Top p {
  margin-bottom: 0 !important;
}
.create_form {
}

.radio-group {
  display: flex;
  gap: 15px;
  margin-left: 20px;
}

.radio-container {
  position: relative;
  cursor: pointer;
}

.radio-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.custom-radio {
  padding: 5px 17px;
  border-radius: 25px;
  border: 2px solid #ccc;
  background: white;
  color: #555;
  font-weight: 600;
  transition: all 0.3s ease;
  user-select: none;
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
}

/* Selected Style */
.radio-container input:checked + .custom-radio {
  border-color: #4caf50;
  background: #4caf50;
  color: white;
  box-shadow: 0 4px 10px rgba(76, 175, 80, 0.3);
}

/* Hover Effect */
.custom-radio:hover {
  border-color: #999;
}

/* No Option Styling */
.radio-container input:checked + .custom-radio.no {
  border-color: #f44336;
  background: #f44336;
  box-shadow: 0 4px 10px rgba(244, 67, 54, 0.3);
}
.flex_row {
  display: flex;
  align-items: center;
}
.create_form h4 {
  font-weight: 600 !important;
  font-size: 25px !important;
  margin: 25px 0px;
}
.create_form .cch-row {
  margin-bottom: 20px;
}
#coAuthor,
#oldnumber {
  background: #f6f6f6;
  padding: 20px;
  border: 1px solid #777;
  border-radius: 10px;
}
.Coauthor {
  display: inline-block;
  border: 1px solid #000;
  color: #000;
  padding: 6px 15px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 600;
}
.alert {
}
.alert.alert_succes {
  background-color: #d4edda; /* Light green background */
  color: #155724; /* Dark green text */
  border: 1px solid #c3e6cb; /* Border matching background */
  padding: 12px 16px; /* Inner spacing */
  border-radius: 6px; /* Rounded corners */
  font-size: 14px; /* Text size */
  font-weight: 500; /* Semi-bold */
  margin: 10px 0; /* Spacing around */
  display: flex; /* Align icon + text */
  align-items: center;
  gap: 8px;
}
.alert.alert_danger,
.cch-error {
  background-color: #f8d7da; /* Light red background */
  color: #721c24; /* Dark red text */
  border: 1px solid #f5c6cb; /* Soft red border */
  padding: 12px 16px; /* Inner spacing */
  border-radius: 6px; /* Rounded corners */
  font-size: 14px; /* Text size */
  font-weight: 500; /* Semi-bold */
  margin: 10px 0; /* Spacing around */
  display: flex; /* Align icon + text */
  align-items: center;
  gap: 8px;
}

/* Archive Page Styles */
.cch-archive {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.cch-archive-header {
  margin-bottom: 30px;
  text-align: center;
}

.cch-certificates-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.cch-certificates-table th,
.cch-certificates-table td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.cch-certificates-table th {
  background: #f8f9fa;
  font-weight: 600;
  color: #333;
}

.cch-certificates-table tr:hover {
  background: #f8f9fa;
}

.status-badge {
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.status-paid {
  background: #27ae60;
  color: #fff;
}
.status-unpaid {
  background: #fff3cd;
  color: #856404;
}
.status-pending {
  background: #cce7ff;
  color: #004085;
}

.actions {
  white-space: nowrap;
}

.cch-btn {
  display: inline-block;
  padding: 6px 12px;
  margin: 2px;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s;
}

.cch-btn-edit {
  background: #007cba;
  color: white;
}
.cch-btn-delete {
  background: #dc3545;
  color: white;
}
.cch-btn-view {
  background: #28a745;
  color: white;
}
.cch-btn-pay {
  background: #ffc107;
  color: #212529;
}
.cch-btn-back {
  background: #6c757d;
  color: white;
}
.cch-btn-primary {
  background: #007cba;
  color: white;
  padding: 10px 20px;
}
.cch-btn-secondary {
  background: #6c757d;
  color: white;
  padding: 10px 20px;
}

.cch-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.cch-empty-state {
  text-align: center;
  padding: 40px;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.cch-edit-certificate {
  max-width: 100%;
  margin: 0 auto;
}

.cch-edit-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

/* Responsive */
@media (max-width: 768px) {
  .cch-certificates-table {
    display: block;
    overflow-x: auto;
  }

  .actions {
    white-space: normal;
  }

  .cch-btn {
    display: block;
    margin: 5px 0;
    text-align: center;
  }
}

.cerificat_vew {
}
.cerificat_vew_top {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.cerificat_vew_top div {
  font-weight: 500;
  font-size: 20px;
  text-align: center;
  line-height: 25px;
  width: 19%;
}
.cerificat_vew_top div img {
  width: 100%;
}
.cerificat_vew_middle {
  margin-top: 40px;
  justify-content: space-evenly;
  display: flex;
  flex-direction: column;
}
.cerificat_vew_middle div {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 18px;
  text-align: center;
  line-height: 25px;
}
.cerificat_vew_middle div span {
  display: block;
  font-weight: 600;
  margin-bottom: 3px;
}
.cerificat_vew_content {
  text-align: left;
  margin-top: 40px;
}
.cerificat_vew_content div {
  font-weight: 500;
  font-size: 18px;
  text-align: left;
  line-height: 25px;
  margin-bottom: 10px;
}
.cerificat_vew_content div span {
  display: block;
  font-weight: 600;
}
.cerificat_vew_bttom {
  margin-top: 70px;
}
.cerificat_vew_bttom a {
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 18px;

  line-height: 25px;
}
.cerificat_vew {
  position: relative;
}
.cerificat_vew button {
  position: absolute;
  right: 0;
  top: -50px;
}
.printchecj {
  position: relative;
  text-align: right;
  margin-bottom: 20px;
}
.printchecj button {
  background: #273039;
  color: #fff;
  border-color: #273039;
  border: 2px solid #273039;
  width: 130px;
  height: 45px;
  border-radius: 10px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
}
#submit-payment {
  background: #04ae00;
  color: #fff;
  border-color: #04ae00;
  border: 2px solid #04ae00;
  width: 250px;
  height: 41px;
  border-radius: 10px;
  font-size: 13px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
}
.cch-payment-container {
  display: flex;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;

  margin: 0 auto;
  margin-top: 0px;
  align-items: center;
}
.certificate-summary {
  width: 50%;
}
.certificate-summary h3 {
  font-size: 20px !important;
  margin: 0 !important;
  margin-bottom: 10px !important;
}
.stripe-payment-form {
  width: 50%;
}
.stripe-payment-form label {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .cerificat_vew_top div {
    font-size: 14px;
    width: 29%;
  }
  .cerificat_vew_bttom a {
    font-size: 14px;
    line-height: 22px;
  }
}

/* Payment Element Container */
.stripe-payment-element {
  padding: 20px;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 16px;
}

.stripe-payment-element:hover {
  border-color: #9ca3af;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.stripe-payment-element:focus-within {
  border-color: #198fd9;
  box-shadow: 0 0 0 3px rgba(25, 143, 217, 0.1);
}

.stripe-payment-element.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

/* Legacy Card Element Container (for backward compatibility) */
.stripe-card-element {
  padding: 20px;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  background: #ffffff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-bottom: 16px;
}

.stripe-card-element:hover {
  border-color: #9ca3af;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.stripe-card-element:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.stripe-card-element.is-invalid {
  border-color: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

/* Label Styling */
.form-row label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
  margin-bottom: 8px;
  font-family: "Plus Jakarta Sans";
}

/* Error Message */
#card-errors {
  font-size: 14px;
  color: #dc2626;
  margin-top: 8px;
  padding: 8px 12px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 6px;
  display: none;
}

#card-errors.visible {
  display: block;
}

/* Google Pay and Apple Pay Button Styles */
.p-Button {
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.p-Button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Google Pay specific styling */
.p-Button--googlePay {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}

.p-Button--googlePay:hover {
  background: #333 !important;
  border-color: #333 !important;
}

/* Apple Pay specific styling */
.p-Button--applePay {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
}

.p-Button--applePay:hover {
  background: #333 !important;
  border-color: #333 !important;
}

/* Payment Element Tabs */
.p-Tab {
  border: 1px solid #e1e8ed !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-bottom: 8px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.p-Tab:hover {
  border-color: #198fd9 !important;
  background-color: #f8f9fa !important;
}

.p-Tab--selected {
  border-color: #198fd9 !important;
  background-color: #f0f7ff !important;
}

/* Mobile optimization for payment buttons */
@media (max-width: 768px) {
  .p-Button {
    min-height: 56px !important;
    font-size: 18px !important;
    padding: 16px 20px !important;
  }

  .p-Tab {
    padding: 16px 20px !important;
    font-size: 16px !important;
  }
}

/* Deal Page Styles */
.cch-deal-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.deal-header {
  text-align: center;
  margin-bottom: 40px;
}

.deal-header h2 {
  font-size: 2.5rem;
  color: #198fd9;
  margin-bottom: 10px;
  font-weight: 700;
}

.deal-subtitle {
  font-size: 1.2rem;
  color: #666;
  margin: 0;
}

.deal-summary {
  margin-bottom: 40px;
}

.deal-card {
  background: linear-gradient(135deg, #198fd9 0%, #0f6ba8 100%);
  color: white;
  padding: 40px;
  border-radius: 20px;
  text-align: center;
  position: relative;
  box-shadow: 0 20px 40px rgba(25, 143, 217, 0.3);
}

.deal-badge {
  position: absolute;
  top: -10px;
  right: 20px;
  background: #ff6b35;
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.deal-card h3 {
  font-size: 2rem;
  margin-bottom: 20px;
  font-weight: 700;
}

.deal-price {
  font-size: 3.5rem;
  font-weight: 800;
  margin-bottom: 10px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

.deal-value {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-bottom: 30px;
}

.deal-features {
  text-align: left;
  max-width: 300px;
  margin: 0 auto;
}

.deal-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.deal-features li {
  padding: 8px 0;
  font-size: 1.1rem;
  font-weight: 500;
}

.deal-payment-section {
  background: white;
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
}

.deal-payment-section h3 {
  text-align: center;
  color: #333;
  margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: 600;
}

.deal-pay-button {
  width: 100%;
  background: linear-gradient(135deg, #198fd9 0%, #0f6ba8 100%);
  color: white;
  border: none;
  padding: 18px 30px;
  border-radius: 12px;
  font-size: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(25, 143, 217, 0.3);
  position: relative;
  overflow: hidden;
}

.deal-pay-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(25, 143, 217, 0.4);
}

.deal-pay-button:active {
  transform: translateY(0);
}

.deal-pay-button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.deal-security {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px;
  border: 1px solid #e9ecef;
}

.security-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #28a745;
  font-weight: 500;
}

.lock-icon {
  font-size: 1.2rem;
}

.stripe-logo img {
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.stripe-logo img:hover {
  opacity: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
  .cch-deal-container {
    padding: 15px;
  }

  .deal-header h2 {
    font-size: 2rem;
  }

  .deal-card {
    padding: 30px 20px;
  }

  .deal-card h3 {
    font-size: 1.5rem;
  }

  .deal-price {
    font-size: 2.5rem;
  }

  .deal-payment-section {
    padding: 30px 20px;
  }

  .deal-security {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
}

/* Yearly Tabs Container */
.cch-yearly-tabs {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Year Tabs */
.year-tabs-container {
  margin-bottom: 30px;
}

.year-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.year-tab {
  padding: 12px 24px;
  border: none;
  background: #f8f9fa;
  color: #eaeaea;
  border-radius: 8px 8px 0 0;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 16px;
  border-color: #fff !important;
}

.year-tab.active {
  background: transparent !important;
  color: white;
  position: relative;
}
.year-tab:hover {
  background: #fff !important;
  color: #0100be !important;
}

.cch-yearly-tabs {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.directory-header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px;
  background: linear-gradient(135deg, #198fd9 0%, #1565c0 100%);
  color: white;
  border-radius: 10px;
}

.directory-header h2 {
  margin: 0 0 10px 0;
  font-size: 28px;
}

.directory-header p {
  margin: 0;
  font-size: 16px;
  opacity: 0.9;
}

.year-tabs-container {
  margin-bottom: 30px;
  overflow-x: auto;
}

.year-tabs {
  display: flex;
  gap: 10px;
  padding: 10px 0;
}

.year-tab {
  padding: 12px 24px;
  background: #f8f9fa;
  border: 2px solid #e0e0e0;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  white-space: nowrap;
}

.year-tab:hover {
  background: #e9ecef;
  border-color: #198fd9;
}

.year-tab.active {
  background: #198fd9;
  color: white;
  border-color: #198fd9;
}

.year-content {
  display: none;
}

.year-content.active {
  display: block;
}

.yearly-certificates-container {
  margin-top: 20px;
}

.year-header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px;
  background: transparent;
  border-radius: 10px;
  border: 2px solid #fff;
}

.year-header h3 {
  margin: 0 0 10px 0;
  color: #fff !important;
  font-size: 24px;
}

.year-header p {
  margin: 0;
  color: #fff;
  font-size: 16px;
}

.month-section {
  margin-bottom: 40px;
}

.month-header {
  background: #fff;
  color: #0100be;
  padding: 15px 20px;
  border-radius: 8px 8px 0 0;
  margin-bottom: 0;
}

.month-header h4 {
  margin: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}

.certificates-grid-year {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  padding: 0;
  background: transparent;
  border-top: none;
}

.certificate-card-year:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.certificate-header-year {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
}

.certificate-number-year {
  font-weight: bold;
  color: #fff;
  font-size: 15px;
}

.status-badge-year {
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.status-paid {
  background: #27ae60;
  color: #fff;
}

.certificate-title-year {
  margin: 0 0 15px 0;
  color: #333;
  font-size: 18px;
  line-height: 1.4;
}

.certificate-meta-year {
  margin-bottom: 10px;
}

.meta-item-year {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #666;
}

.meta-item-year strong {
  color: #333;
}

.certificate-summary-year {
  margin-bottom: 15px;
}

.certificate-summary-year p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}

.certificate-actions-year {
  text-align: center;
}

.btn-view-certificate-year {
  display: inline-block;
  background: #198fd9;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 600;
  transition: background 0.3s ease;
}

.btn-view-certificate-year:hover {
  background: #1565c0;
  color: white;
}

.no-certificates-year {
  text-align: center;
  padding: 40px;
  color: #666;
  font-size: 16px;
}

@media (max-width: 768px) {
  .certificates-grid-year {
    grid-template-columns: 1fr;
    padding: 15px;
  }

  .year-tabs {
    flex-wrap: wrap;
  }

  .year-tab {
    padding: 10px 16px;
    font-size: 14px;
  }
}
/* .year-tab.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: #273039;
} */

/* Year Content */
.year-content {
  display: none;
  animation: fadeIn 0.3s ease;
}

.year-content.active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Certificates Grid for Year */
.certificates-grid-year {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.certificate-card-year {
  border: 2px solid #fff;
  border-radius: 12px;
  padding: 20px;
  background: transparent;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.certificate-card-year:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.certificate-header-year {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #f3f4f6;
}

.certificate-number-year {
  font-weight: 600;
  color: #fff;
  font-size: 15px;
}
.certificate-body-year {
  color: #fff;
}

.status-badge-year {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.status-paid-year {
  background: #d1fae5;
  color: #065f46;
}

.status-unpaid-year {
  background: #fee2e2;
  color: #991b1b;
}

.certificate-title-year {
  margin: 0 0 10px 0;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.certificate-meta-year {
  display: flex;
  flex-direction: column;
  gap: 0px;
  margin-bottom: 10px;
}

.meta-item-year {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  color: #fff;
}

.meta-item-year strong {
  color: #fff;
}

.certificate-summary-year {
  margin-top: 0px;
  padding: 12px;
  /* background: #f8f9fa; */
  border-radius: 6px;
  font-size: 14px;
  color: #fff;
  line-height: 1.5;
  border: 1px solid #eaeaea;
}
.certificate-summary-year p {
  margin: 0 !important;
  color: #fff !important;
}

.certificate-actions-year {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}
.certificate-actions-year a {
  display: inline-block;
  background: #fff;
  color: #0100be !important;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 600;
  transition: background 0.3s ease;
}

.btn-view-certificate-year,
.btn-pay-now-year {
  padding: 8px 16px;
  border: none;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
  flex: 1;
  text-align: center;
}

.btn-view-certificate-year {
  background: #273039;
  color: white;
}

.btn-view-certificate-year:hover {
  background: #2563eb;
}

.btn-pay-now-year {
  background: #ef4444;
  color: white;
}

.btn-pay-now-year:hover {
  background: #dc2626;
}

.no-certificates-year {
  text-align: center;
  padding: 60px 20px;
  color: #6b7280;
  font-size: 18px;
}

/* Discount Code Styles */
.discount-section {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 20px;

  width: 60%;
  margin: 0 auto !important;
  margin-top: 20px !important;
}

.discount-section h4 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  color: #273039 !important;
  font-size: 18px !important;
  font-weight: 700;
}

.discount-input-group {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.discount-input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}

.discount-input:focus {
  outline: none;
  border-color: #273039;
  box-shadow: 0 0 0 2px rgba(39, 48, 57, 0.1);
}

.apply-discount-btn {
  background: #0300c6;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s;
}

.apply-discount-btn:hover {
  background: #1a2329;
}

.apply-discount-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
}

.discount-message {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 10px;
  display: none;
}

.discount-message.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
  display: block;
}

.discount-message.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  display: block;
}

.discount-details {
  background: white;
  border: 1px solid #28a745;
  border-radius: 4px;
  padding: 15px;
  margin-top: 10px;
}

.discount-info,
.final-amount {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.discount-info:last-child,
.final-amount:last-child {
  margin-bottom: 0;
}

.discount-label,
.final-label {
  font-weight: 500;
  color: #666;
}

.discount-amount {
  font-weight: 600;
  color: #28a745;
}

.final-amount {
  border-top: 1px solid #e9ecef;
  padding-top: 8px;
  margin-top: 8px;
}

.final-price {
  font-weight: 700;
  color: #273039;
  font-size: 16px;
}
.new_design {
  text-align: center;
}
.new_design a {
  background: #273039;
  color: #fff !important;
  border-color: #273039;
  border: 2px solid #273039;
  width: 250px;
  /* height: 50px; */
  border-radius: 10px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
  display: inline-block;
  padding: 13px 0px;
}

/* Responsive Design */
@media (max-width: 768px) {
  .year-tabs {
    flex-direction: column;
  }

  .year-tab {
    border-radius: 8px;
    margin-bottom: 5px;
  }

  .certificates-grid-year {
    grid-template-columns: 1fr;
  }

  .certificate-actions-year {
    flex-direction: column;
  }
}

/* Multiple Co-author Selection Styling */
.cch-coauthors-multiselect {
  margin: 15px 0;
}

.cch-coauthors-list {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 10px;
  background: #f8f9fa;
}

.cch-coauthor-checkbox {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin: 5px 0;
  background: white;
  border-radius: 6px;
  border: 1px solid #e9ecef;
  cursor: pointer;
  transition: all 0.2s ease;
}

.cch-coauthor-checkbox:hover {
  background: #f8f9fa;
  border-color: #667eea;
}

.cch-coauthor-checkbox input[type="checkbox"] {
  margin-right: 10px;
  width: 16px;
  height: 16px;
  accent-color: #667eea;
}

.cch-checkbox-text {
  font-size: 14px;
  color: #495057;
  flex: 1;
}

.cch-coauthors-actions {
  display: flex;
  gap: 10px;
  margin: 15px 0;
  flex-wrap: wrap;
}

.cch-select-all-coauthors,
.cch-clear-coauthors {
  background: #6c757d;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.cch-select-all-coauthors:hover {
  background: #5a6268;
}

.cch-clear-coauthors {
  background: #dc3545;
}

.cch-clear-coauthors:hover {
  background: #c82333;
}

.cch-no-coauthors {
  text-align: center;
  color: #6c757d;
  font-style: italic;
  padding: 20px;
  background: white;
  border-radius: 6px;
  border: 1px dashed #dee2e6;
}

.cch-no-coauthors a {
  color: #667eea;
  text-decoration: none;
  font-weight: 500;
}

.cch-no-coauthors a:hover {
  text-decoration: underline;
}

/* Dynamic Category Selection Styling */
#subcategory_row {
  transition: all 0.3s ease;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}

#subcategory_row.show {
  opacity: 1;
  max-height: 100px;
}

#category_select,
#subcategory_select {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-size: 14px;
  background: white;
  transition: all 0.3s ease;
}

#category_select:focus,
#subcategory_select:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

#subcategory_select:disabled {
  background: #f8f9fa;
  color: #6c757d;
  cursor: not-allowed;
}

/* Admin Category Management Styling */
.cch-admin-container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 30px;
  margin-top: 20px;
}

.cch-admin-form {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #dee2e6;
}

.cch-admin-list {
  background: white;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #dee2e6;
}

.status-active {
  color: #28a745;
  font-weight: 600;
}

.status-inactive {
  color: #dc3545;
  font-weight: 600;
}

.cch-btn-free {
  background-color: #3498db;
  color: white;
  border: none;
  padding: 6px 16px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.cch-btn-free:hover {
  background-color: #2980b9;
  color: white;
  text-decoration: none;
}

/* Payment Options Styling */
.payment-options {
  margin: 30px 0;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 10px;
  position: relative;
  /* top: 29px; */
}

.payment-options h3 {
  text-align: center;
  margin-bottom: 30px;
  color: #2c3e50;
}

.options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.payment-option {
  background: white;
  border: 2px solid #e1e8ed;
  border-radius: 10px;
  padding: 20px;
  position: relative;
  transition: all 0.3s ease;
  cursor: pointer;
}

.payment-option:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.payment-option.active {
  border-color: #3498db;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

.package-badge {
  position: absolute;
  top: -10px;
  right: 20px;
  background: #04ae00;
  color: white;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: bold;
}

.option-header {
  text-align: center;
  margin-bottom: 15px;
}

.option-header h4 {
  margin: 0 0 10px 0;
  color: #2c3e50;
}

.option-price {
  font-size: 24px;
  font-weight: bold;
  color: #27ae60;
}

.option-features ul {
  list-style: none;
  padding: 0;
  margin: 15px 0;
}

.option-features li {
  padding: 5px 0;
  color: #555;
}

.option-action {
  text-align: left;
  margin-top: 20px;
  display: block;
}

@media (max-width: 768px) {
  .options-grid {
    grid-template-columns: 1fr;
  }
}

/* Credits Section Styling */
.cch-credits-section {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #e1e8ed;
}

.cch-credits-section h3 {
  color: #2c3e50;
  margin-bottom: 20px;
  text-align: center;
}

.credits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.credit-card {
  background: white;
  border: 2px solid #e1e8ed;
  border-radius: 10px;
  padding: 20px;
  transition: all 0.3s ease;
}

.credit-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.credit-header {
  text-align: center;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e1e8ed;
}
.credit-header h5 {
  font-family: "Plus Jakarta Sans" !important;
}
.credit-header h4 {
  margin: 0 0 10px 0;
  color: #2c3e50;
  font-size: 18px;
  font-family: "Plus Jakarta Sans";
}

.package-price {
  font-size: 24px;
  font-weight: bold;
  color: #27ae60;
  margin-bottom: 5px;
  font-family: "Plus Jakarta Sans";
}

.package-action button {
  font-family: "Plus Jakarta Sans";
}
.package-date {
  font-size: 14px;
  color: #666;
}

.credit-details {
  margin-bottom: 15px;
}

.credit-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.credit-item:last-child {
  border-bottom: none;
}

.credit-label {
  font-weight: 500;
  color: #555;
}

.credit-status {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.credit-status.available {
  background-color: #d4edda;
  color: #155724;
}

.credit-status.used {
  background-color: #f8d7da;
  color: #721c24;
}

.credit-note {
  background: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 5px;
  padding: 10px;
  margin-top: 10px;
  font-size: 14px;
  color: #1976d2;
  display: flex;
  align-items: center;
  gap: 8px;
}

.credit-note .dashicons {
  color: #1976d2;
}

@media (max-width: 768px) {
  .credits-grid {
    grid-template-columns: 1fr;
  }

  .credit-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}

/* Simple Credits Section Styling */
.cch-simple-credits {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 15px;
  margin: 20px 0;
  border: 1px solid #e1e8ed;
}

.cch-simple-credits h3 {
  color: #2c3e50;
  margin-bottom: 15px;
  text-align: center;
  font-size: 18px;
}

.simple-credit-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.current-package,
.available-credits {
  background: white;
  padding: 10px 15px;
  border-radius: 5px;
  border: 1px solid #ddd;
  flex: 1;
  min-width: 200px;
}
.available-credits a {
  font-weight: 800;
  color: #0200be;
}

.current-package strong,
.available-credits strong {
  color: #2c3e50;
}
.submitted-request {
  padding: 20px;
  border: 1px solid #ddd !important;
  border-radius: 10px;
  margin-bottom: 20px;
  background: #f7f7f7;
}
.tracking-info {
  background: #fff;
  line-height: 24px;
  margin: 10px 0px;
  /* padding: 10px; */
  border-radius: 10px;
}
.tracking-info p {
  margin: 0 !important;
  padding: 5px 20px;
}

.available-credits {
  text-align: center;
  font-size: 13px;
  width: 50%;
}

@media (max-width: 768px) {
  .simple-credit-info {
    flex-direction: column;
  }

  .current-package,
  .available-credits {
    min-width: 100%;
    text-align: center;
  }
}

/* Package Selection Styling */
.package-selection {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 15px;
  margin-top: 15px;
}

.package-option {
  position: relative;
}

.package-radio {
  display: block;
  cursor: pointer;
}

.package-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.package-card {
  border: 2px solid #e1e8ed;
  border-radius: 8px;
  padding: 15px;
  transition: all 0.3s ease;
  background: white;
}

.package-radio input[type="radio"]:checked + .package-card {
  border-color: #3498db;
  background: #f8f9fa;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

.package-card:hover {
  border-color: #3498db;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.package-header h4 {
  margin: 0 0 10px 0;
  color: #2c3e50;
  font-size: 16px;
}

.package-credits {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.credit-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
}

.credit-item:last-child {
  border-bottom: none;
}

.credit-label {
  font-weight: 500;
  color: #555;
  font-size: 14px;
}

.credit-status {
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.credit-status.available {
  background-color: #d4edda;
  color: #155724;
}

.credit-status.used {
  background-color: #f8d7da;
  color: #721c24;
}

/* Available Packages Display */
.available-packages {
  margin-top: 0px;
  width: 50%;
}

.packages-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0px;
}

.package-item {
  background: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-transform: capitalize;
}

.package-status {
  font-size: 12px;
  color: #666;
  font-style: italic;
}

.payment-option.package-option .option-action button {
  background: #04ae00;
  color: #fff;
  text-align: center;
  border-color: #04ae00;
  border: 2px solid #04ae00;
  /* width: 250px; */
  height: 39px;
  border-radius: 10px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
}
.payment-option.package-option .option-action button.btn.btn-primary {
  width: 100%;
}
.payment-option.package-option .option-action button.btn.btn-other {
  width: max-content;
  background: #fff;
  color: #198fd9;
  padding: 0;
  height: auto;
  border: none;
  text-transform: capitalize;
  margin-left: 5px;
  font-size: 13px;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .cch-admin-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.form-actions .btn-primary {
  flex: 1;
}
#address-modal {
  top: 50px;
}
#address-modal .modal-header {
}
#address-modal .modal-content {
  overflow: hidden !important;
}
#address-modal .modal-header h3 {
  font-weight: 600 !important;
  font-size: 18px;
}
#address-form .form-group {
  margin-bottom: 5px;
}
#address-form .form-group label {
  font-weight: 600 !important;
}
#address-modal .modal-body {
  height: 410px;
  overflow-y: scroll;
}
.cch-payment-container-upper {
  display: flex;
  gap: 5%;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: stretch;
}
.cch-payment-container-wrapper {
  width: 65%;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 19px;
}
.payment-options {
  width: 30%;
  order: 1;
  margin: 0;
}
.cch-payment-container-wrapper .cch-payment-container {
  width: 100%;
}
.cch-payment-container-wrapper .discount-section {
  width: 100%;
  margin: 0;
}
.payment-options h3 {
  font-size: 20px !important;
}
#package-details-modal {
  align-items: center;
  justify-content: center;
}
.summary-grid .summary-item {
  width: 90%;
}

@media (max-width: 768px) {
  .cch-payment-container-upper {
    flex-direction: column !important;
  }
  .cch-payment-container-wrapper,
  .payment-options {
    width: 100% !important;
  }
  .payment-options {
    margin-top: 20px !important;
  }
  .certificate-summary,
  .stripe-payment-form {
    width: 100% !important;
  }
  .cch-payment-container {
    flex-direction: column !important;
    width: 100% !important;
  }
  .package-selection {
    grid-template-columns: 1fr;
  }

  .package-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  .cch-tabs-nav {
    width: 100% !important;
  }
  .cch-tab-panel .cch-form.cch-signup .divide_two .cch-row {
    width: 100%;
  }
  .cch-tab-panel .cch-form.cch-signup .divide_two {
    flex-direction: column;
  }
  .statytwoMobile {
    flex-direction: row !important;
  }
  .statytwoMobile .cch-row {
    width: 49% !important;
  }
  .cch-tab-panel .cch-row button {
    width: 100%;
  }
}
.cch-coauthors-actions {
}

/* reCAPTCHA Styling */
.g-recaptcha {
  margin: 15px 0;
  display: flex;
  justify-content: left;
}

.g-recaptcha > div {
  transform: scale(0.9);
  transform-origin: center;
}

@media (max-width: 480px) {
  .g-recaptcha > div {
    transform: scale(0.8);
  }
}

/* Search Feature Styles */
.cch-search-container {
  /* max-width: 1200px; */
  width: 100%;
  margin: 0 auto;
  padding: 0px;
}

.cch-search-wrapper {
  position: relative;
  /* max-width: 100%; */
  margin: 0 auto;
}

#cch-search-input {
  width: 100%;
  padding: 15px 20px;
  border: 1px solid #e1e8ed;
  border-radius: 7px;

  font-size: 16px;
  color: #fff;
  background: transparent;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

#cch-search-input::placeholder {
  color: #fff;
}

#cch-search-input:focus {
  outline: none;
  border-color: #198fd9;
  box-shadow: 0 0 0 3px rgba(25, 143, 217, 0.1);
}

#cch-search-button {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  background: #0200be;
  color: white;
  border: none;
  padding: 12px 20px;
  text-transform: capitalize;
  letter-spacing: 1px;
  font-family: "Plus Jakarta Sans";
  border-radius: 7px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background 0.3s ease;
}
.cch-suggestion-title {
  font-size: 14px;
  font-weight: 600;
}

#cch-search-button:hover {
  background: #1565c0;
}

.cch-search-suggestions {
  position: absolute;
  top: 109%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #e1e8ed;
  border-top: none;
  /* border-radius: 0 0 10px 10px; */
  max-height: 195px;
  overflow-y: auto;
  border-radius: 7px;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: none;
  z-index: 99999;
}

.cch-search-suggestion {
  padding: 7px 13px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.2s ease;
}
.cch-search-no-results,
.cch-search-loading {
  padding: 8px 15px;
  font-weight: 600;
}

.cch-search-suggestion:hover {
  background: #f8f9fa;
}

.cch-search-suggestion:last-child {
  border-bottom: none;
}

.suggestion-title {
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}

.suggestion-meta {
  font-size: 12px;
  color: #666;
  display: flex;
  gap: 15px;
}

.suggestion-highlight {
  background: #fff3cd;
  padding: 1px 2px;
  border-radius: 2px;
}

/* Search Results Styles */
.search-results-header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
}

.search-results-header h2 {
  color: #198fd9;
  margin-bottom: 10px;
}

.search-results-header p {
  color: #666;
  margin-bottom: 15px;
}

.view-all-link {
  color: #198fd9;
  text-decoration: none;
  font-weight: 600;
}

.view-all-link:hover {
  text-decoration: underline;
}
.cch-otp-verification-page {
  max-width: 500px;
  margin: 50px auto;
  padding: 20px;
}

.cch-otp-verification-container {
  background: white;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.cch-otp-verification-container h2 {
  color: #27ae60;
  margin-bottom: 20px;
}

.cch-otp-verification-container p {
  margin-bottom: 15px;
  color: #666;
}

#otp_code {
  width: 200px;
  margin: 0 auto;
}

.cch-message {
  margin-top: 15px;
  padding: 10px;
  border-radius: 5px;
}

.cch-message.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.cch-message.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.togglepage {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 0px;
}
.togglepage p {
  margin-bottom: 0px !important;
  font-size: 16px;
  font-family: "Plus Jakarta Sans" !important;
}
.togglepage p a {
  color: #0300c6;
  text-decoration: underline;
  font-weight: 600;
  margin-left: 6px;
}
.fusion-tb-footer .fusion-layout-column,
.fusion-tb-footer .fusion-column-wrapper {
  z-index: 0;
}
/* Mobile Responsive */
@media (max-width: 768px) {
  .cch-search-container {
    padding: 15px;
  }

  #cch-search-input {
    padding: 12px 15px;
    font-size: 14px;
  }

  #cch-search-button {
    padding: 8px 15px;
    font-size: 14px;
  }

  .cch-search-suggestion {
    padding: 10px 15px;
  }

  .suggestion-meta {
    flex-direction: column;
    gap: 5px;
  }
  .cch-form.cch-login {
    width: 100%;
    margin: 0 auto;
  }
  .cch-form.cch-signup {
    width: 100%;
  }
}

/* Toggle Switch Styles */
.cch-toggle-container {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 10px 0;
}

.cch-toggle-label {
  font-weight: 600;
  color: #333;
  margin: 0;
}

.cch-toggle-switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.cch-toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.cch-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

.cch-toggle-slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.cch-toggle-switch input:checked + .cch-toggle-slider {
  background-color: #0300c6;
}

.cch-toggle-switch input:checked + .cch-toggle-slider:before {
  transform: translateX(26px);
}

.cch-toggle-switch input:focus + .cch-toggle-slider {
  box-shadow: 0 0 1px #4caf50;
}

.cch-toggle-text {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

.cch-toggle-text.active {
  color: #0300c6;
  font-weight: 600;
}

/* Toggle Switch Hover Effects */
.cch-toggle-switch:hover .cch-toggle-slider {
  box-shadow: 0 0 8px rgba(76, 175, 80, 0.3);
}

.cch-toggle-switch input:checked + .cch-toggle-slider:hover {
  background-color: #0300c6;
}

/* Mobile Responsive for Toggle */
@media (max-width: 768px) {
  .cch-toggle-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .cch-toggle-switch {
    width: 50px;
    height: 28px;
  }

  .cch-toggle-slider:before {
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
  }

  .cch-toggle-switch input:checked + .cch-toggle-slider:before {
    transform: translateX(22px);
  }
  .available-packages {
    width: 100% !important;
  }
}

/* Forgot Password Link Styles */
.forgot-password-link {
  text-align: right;
  margin-top: 8px;
  margin-bottom: 0px;
}

.forgot-password-link a {
  color: #000;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.button_Reset {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}
.button_Reset .cch-btn.cch-btn-primary {
  width: 60% !important;
}
.button_Reset .cch-btn.cch-btn-secondary {
  background: #fff !important;
  color: #0300c6 !important;
  width: 39% !important;
}

.forgot-password-link a:hover {
  text-decoration: underline;
  color: #1565c0;
}

/* Forgot Password Modal Styles */
.cch-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
}

.cch-modal-content {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
}

.cch-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid #eee;
}

.cch-modal-header h3 {
  margin: 0;
  color: #333;
  font-size: 18px;
}

.cch-modal-close {
  font-size: 24px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  line-height: 1;
}

.cch-modal-close:hover {
  color: #000;
}

.cch-modal-body {
  padding: 20px;
}

.cch-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  transition: background-color 0.3s;
  margin-right: 10px;
}

.cch-btn-primary {
  background-color: #e74c3c;
  color: white;
}

.cch-btn-primary:hover {
  background-color: #0300c6;
}

.cch-btn-secondary {
  background-color: #0300c6;
  color: white;
}

.cch-btn-secondary:hover {
  background-color: #545b62;
}

.cch-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Reset Password Page Styles */
.cch-reset-password-container {
  /* max-width: 500px; */
  margin: 50px auto;
  /* padding: 20px; */
}

.cch-reset-password-form {
  /* background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 40px; */
}
#reset-password-form {
  width: 45%;
  margin: 0 auto;
  padding: 25px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 8px;
}

.cch-reset-password-form .cch-row_title {
  text-align: center;
  margin-bottom: 30px;
}

.cch-reset-password-form .cch-row_title h3 {
  color: #333;
  font-size: 24px;
  margin-bottom: 10px;
}

.cch-reset-password-form .cch-row_title p {
}

.cch-reset-password-form .cch-row {
  margin-bottom: 20px;
}

.cch-reset-password-form label {
  display: block;
  margin-bottom: 0px;
  font-weight: 500;
  color: #333;
}

.cch-reset-password-form .cch-password-wrapper {
  position: relative;
}

.cch-reset-password-form .cch-password-wrapper input {
  width: 100%;
  padding: 0px 45px 0px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
  transition: border-color 0.3s;
  height: 50px;
}

.cch-reset-password-form .cch-password-wrapper input:focus {
  outline: none;
  border-color: #e74c3c;
}

.cch-reset-password-form .cch-password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #666;
  font-size: 18px;
}

.cch-reset-password-form .cch-password-toggle:hover {
  color: #333;
}

.cch-reset-password-form .cch-error {
  color: #e74c3c;
  font-size: 14px;
  margin-top: 5px;
  display: none;
}

.cch-reset-password-form .cch-btn {
  width: 100%;
  padding: 15px;
  font-size: 16px;
  font-weight: 600;
  margin-top: 10px;
}

.cch-message {
  padding: 15px;
  border-radius: 4px;
  margin: 20px 0;
  text-align: center;
}

.cch-message.cch-error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

.cch-message.cch-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
#main {
  z-index: 90 !important;
}

/* Categories Page - Masonry Layout */
.cch-categories-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.cch-categories-header {
  text-align: center;
  margin-bottom: 40px;
}

.cch-categories-header h2 {
  color: #333;
  font-size: 32px;
  margin-bottom: 10px;
  font-weight: 600;
}

.cch-categories-header p {
  color: #666;
  font-size: 16px;
  margin: 0;
}

/* Masonry Grid */
.cch-masonry-grid {
  column-count: 3;
  column-gap: 20px;
  margin: 0;
}

.cch-masonry-item {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Category Cards */
.cch-category-card {
  background: transparent;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.061);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: auto;
  border: 2px solid #fff;
  min-height: 200px;
  padding: 25px;
}

.cch-category-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.cch-category-header {
  margin-bottom: 20px;
}
.cch-category-header h3 {
  color: #fff !important;
  font-family: "Plus Jakarta Sans" !important;
  font-size: 23px !important;
  font-weight: 600 !important;
  margin: 0px !important;
}

.cch-category-description {
  color: #fff;
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
  margin-top: 10px !important;
  margin-bottom: 0px !important;
}

/* Subcategories */
.cch-subcategories {
  padding: 0px;
  flex-grow: 1;
}

.cch-subcategories-title {
  color: #333;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 15px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #e74c3c;
  display: inline-block;
}

.cch-subcategories-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cch-subcategory-item {
  margin-bottom: 8px;
}

.cch-subcategory-link {
  color: #fff !important;
  text-decoration: none;
  font-size: 14px;
  padding: 6px 12px;
  display: block;
  border-radius: 24px;
  transition: all 0.3s ease;
  border: 2px solid #65bc7b;
  width: max-content;
  max-width: 100%;
}

.cch-subcategory-link:hover {
  /* color: #e74c3c;
  background-color: #f8f9fa;
  border-left-color: #e74c3c;
  padding-left: 15px; */
}

.cch-subcategory-count {
  color: #65bc7b;
  font-weight: 600;
  font-size: 12px;
  margin-left: 5px;
}

.cch-no-subcategories {
  padding: 20px 25px;
  text-align: center;
  color: #999;
  font-style: italic;
}

/* Category Footer */
.cch-category-footer {
  margin-top: 15px;
  /* padding: 20px 25px; */
  /* border-top: 1px solid #f0f0f0; */
  /* background-color: #f8f9fa; */
}

.cch-view-category-btn {
  display: block;
  background: transparent;
  color: white;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 25px;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  border: 2px solid #65bc7b;
  transition: background-color 0.3s ease;
}

.cch-view-category-btn:hover {
  /* background: #c0392b; */
  color: #65bc7b;
}

/* Fallback Grid Layout */
.cch-simple-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin: 0;
}

.cch-simple-grid .cch-masonry-item {
  width: 100%;
  margin: 0;
}
#coauthor-modal .cch-modal-content {
  margin: 0 auto !important;
  position: relative;
  top: 100px;
}
.top_part_pay {
  text-align: center;
  text-align: center;
  position: absolute;
  z-index: 999;
  width: 94%;
  top: -115px;
}
.top_part_pay h4 {
  margin: 0 !important;
  color: #0300c6;
  font-weight: 600 !important;
}
.top_part_pay p {
  line-height: 20px;
  margin-bottom: 0 !important;
  margin-top: 4px !important;
}
.top_part_pay p span {
  color: #0300c6;
}

.cch-otp-verification-container button {
  width: 100% !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .cch-masonry-grid {
    column-count: 2;
    column-gap: 15px;
  }
}

@media (max-width: 768px) {
  .divide_two .cch-row {
    width: 100% !important;
  }
  .cch-row button {
    width: 100% !important;
  }
  .cch-categories-container {
    padding: 15px;
  }

  .cch-categories-header h2 {
    font-size: 24px;
  }

  .cch-masonry-grid {
    column-count: 1;
    column-gap: 0;
  }

  .cch-masonry-item {
    margin-bottom: 15px;
  }

  .cch-category-header,
  .cch-subcategories,
  .cch-category-footer {
    padding: 20px;
  }
  .cch-add-coauthor-btn {
    width: 100% !important;
    height: 50px !important;
  }
  .cch-coauthors-actions button {
    width: 100% !important;
  }
  .divide_two {
    display: block !important;
  }
  .cch-edit-header {
    flex-direction: column !important;
  }
  #submit-payment {
    width: 100%;
  }
  .payment-actions {
    text-align: right;
  }
  .summary-grid .summary-item,
  .summary-grid .summary-item img {
    width: 100% !important;
  }
  .cch-otp-verification-container {
    padding: 20px !important;
  }
}

@media (max-width: 480px) {
  .cch-categories-container {
    padding: 10px;
  }

  .cch-otp-verification-container {
    padding: 20px !important;
  }

  .cch-category-header,
  .cch-subcategories,
  .cch-category-footer {
    padding: 15px;
  }

  .cch-category-title {
    font-size: 18px;
  }
}
