/* ----------------------------------------------- */
/* BASE STYLES */
/* ----------------------------------------------- */
body {
  font-family: Open Sans;
  color: white;
  background-color: black;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

.header {
  text-align: center;
  padding: 20px 0;
}

.full-width-box {
  width: 100%;
  box-sizing: border-box;
  background-color: black;
  padding: 10px 20px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: black;
}

.left-panel {
  display: flex;
  align-items: center;
}

.user-dropdown {
  position: relative;
}

.user-info {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: white;
  padding: 6px 10px;
  border: 1px solid black;
  border-radius: 4px;
  background-color: black;
  transition: background-color 0.3s, border-color 0.3s;
}

.user-info:hover {
  background-color: #0B0B2E;
  border-color: #0B0B2E;
}

.user-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.arrow {
  font-size: 12px;
  margin-left: 2px;
}

.dropdown-content {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: black;
  color: white;
  border: 1px solid black;
  border-radius: 4px;
  min-width: 160px;
  padding: 0px 10px;
  z-index: 10;
}

.user-dropdown:hover .dropdown-content {
  display: block;
}

.right-panel {
  flex: 1;
}

.nav-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: 360px;
  margin-right: 40px;
}

.nav-links a {
  color: white;
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid black;
  border-radius: 4px;
  background-color: black;
  transition: background-color 0.3s, border-color 0.3s;
}

.nav-links a:hover {
  background-color: #0B0B2E;
  border-color: #0B0B2E;
  color: white;
}

/* ----------------------------------------------- */
/* ROW 1: PLATINUM THEME */
/* ----------------------------------------------- */
.row-1 {
  display: flex;
  flex-direction: row;
}

.gold-package {
  margin-left: 40px;
  margin-top: 40px;
  width: 600px;
  height: 300px;
  border: 10px solid #E5E4E2;
  text-align: center;
  background-color: #E5E4E2;
  color: grey;
  border-radius: 10px;
}

.gold-package h4 {
  margin-top: 30px;
  font-size: 40px;
}

.gold-package p {
  font-size: 30px;
  margin-top:-30px;
}

.gold-1-2 {
  margin-top: 30px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 60px;
}

.gold-1, .gold-2 {
  border: 2px solid #E5E4E2;
  border-radius: 10px;
  text-align: center;
  padding: 5px;
}

.gold-1 p, .gold-2 p {
  margin-top: 25px;
}

.gold-1:hover, .gold-2:hover { cursor: pointer; }
.gold-1:active, .gold-2:active { transform: scale(0.98); }

.gold-1.selected, .gold-2.selected {
  color: #1F1F1F;
  font-weight: bold;
}

.gold-description {
  font-size: 40px;
  margin-left: 40px;
  margin-top: 40px;
  width: 600px;
  height: 300px;
  border: 10px solid #E5E4E2;
  text-align: center;
  background-color: #E5E4E2;
  color: grey;
  border-radius: 10px;
}

.gold-description h4 { margin-top: 15px; margin-bottom: 0px; }
.gold-description p { font-size: 22px; margin-top: 5px; margin-bottom: 0px; }
.free-trial { margin-top: 10px; color: red; font-weight: bold; }

/* ----------------------------------------------- */
/* ENTRY SECTION LAYOUT: PERFECT ALIGNMENT */
/* ----------------------------------------------- */
.entry-section-wrapper {
  display: flex;
  flex-direction: row;
  margin-left: 40px;
  margin-top: 40px;
  gap: 40px;
  align-items: flex-start;
  padding-bottom: 40px;
}

.left-column-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 620px;
}

.right-column-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 620px;
}

/* ----------------------------------------------- */
/* INNER BOXES: WIDTH 100% TO FILL COLUMNS */
/* ----------------------------------------------- */
.email-entry, .payment-form-box, #entry-list-area, #terms-copy-box {
  width: 100%;
  box-sizing: border-box;
  background-color: #0B0B2E;
  padding: 20px;
  border-radius: 10px;
}

.email-entry { height: auto; min-height: 80px; }

.entry-row {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-top: 20px;
}

.entry-row input {
  flex-grow: 1;
  font-size: 16px;
  padding: 5px;
  border: none;
  border-radius: 4px;
}

.entry-row button {
    background-color: #D1A211;
    color: black;
    border: none;
    padding: 5px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

/* ----------------------------------------------- */
/* PAYMENT FORM STYLING */
/* ----------------------------------------------- */
.payment-form-box { color: white; }
.payment-form-box h3 { margin-top: 0; border-bottom: 1px solid #333; padding-bottom: 10px; }
.payment-form-box label { display: block; margin-top: 10px; font-size: 14px; font-weight: bold; }

.payment-form-box input[type="text"],
.payment-form-box input[type="email"],
.payment-form-box select {
    width: 100%;
    padding: 8px;
    margin-top: 4px;
    margin-bottom: 10px;
    box-sizing: border-box;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    background-color: #1a1a38;
    color: white;
}

.name-fields, .card-meta { display: flex; gap: 10px; }
.name-fields input, .card-meta .input-group { width: 50%; }

.payment-options { margin-top: 5px; margin-bottom: 15px; }
.payment-options label { display: inline-block; font-weight: normal; margin-right: 15px; font-size: 16px; }

.paypal-btn, .googlepay-btn {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    margin-top: 10px;
}

.paypal-btn { background-color: #0070ba; color: white; }
.googlepay-btn { background-color: #ffffff; color: #424242; }

/* ----------------------------------------------- */
/* CHECKBOX AND BUTTONS */
/* ----------------------------------------------- */
.terms-conditions { display: flex; align-items: center; margin-top: 15px; margin-bottom: 15px; }
.terms-conditions input[type="checkbox"] { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }
.terms-conditions label { position: relative; padding-left: 25px; cursor: pointer; font-size: 14px; display: flex; align-items: center; line-height: 18px; }

.terms-conditions label::before {
    content: ""; position: absolute; left: 0; top: 0; width: 16px; height: 16px; border: 2px solid #D1A211; background-color: #1a1a38; border-radius: 3px;
}

.terms-conditions label::after {
    content: "\2713"; position: absolute; left: 4px; top: 0px; font-size: 14px; color: #4CAF50; opacity: 0; font-weight: bold;
}

.terms-conditions input[type="checkbox"]:checked + label::after { opacity: 1; }
.terms-conditions a { color: #D1A211; text-decoration: none; margin-left: 4px; }

#completePurchaseBtn {
    width: 100%; background-color: #D1A211; color: black; border: none; padding: 10px; border-radius: 4px; cursor: pointer; font-size: 18px; font-weight: bold; margin-top: 20px;
}

/* ----------------------------------------------- */
/* LIST AND TERMS BOX */
/* ----------------------------------------------- */
#entry-list-area { min-height: 250px; }
#emailList { list-style: none; padding: 0; }
#emailList li { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #333; }
.cost-text { font-weight: bold; color: #D1A211; margin-right: 10px; }
.delete-btn { background: #c0392b; color: white; border: none; border-radius: 3px; cursor: pointer; padding: 3px 8px; font-size: 14px; }

#terms-copy-box { height: 400px; display: flex; flex-direction: column; }
#terms-copy-box h3 { margin-top: 0; border-bottom: 1px solid #333; padding-bottom: 10px; }
.terms-content { overflow-y: scroll; flex-grow: 1; padding-right: 15px; }
.terms-content p { font-size: 14px; line-height: 1.5; }

.terms-content::-webkit-scrollbar { width: 8px; }
.terms-content::-webkit-scrollbar-thumb { background-color: #D1A211; border-radius: 4px; }
.terms-content::-webkit-scrollbar-track { background-color: #1a1a38; }