* {
   box-sizing: border-box;
}

body {
   margin: 0;
   font-family: Arial, Helvetica, sans-serif;
   color: #ffffff;
   background: #09090d;
}

.ticket-calculator {
   min-height: 100vh;
   padding: 48px 18px;
   background:
      linear-gradient(rgba(9, 9, 13, 0.85), rgba(9, 9, 13, 0.9)),
      radial-gradient(circle at top left, rgba(255, 0, 76, 0.35), transparent 35%),
      radial-gradient(circle at bottom right, rgba(255, 214, 10, 0.2), transparent 30%),
      #09090d;
}

.calculator-card {
   max-width: 960px;
   margin: 0 auto;
   padding: 32px;
   border: 2px solid #ff004c;
   border-radius: 12px;
   background: rgba(18, 18, 27, 0.94);
   box-shadow: 0 0 30px rgba(255, 0, 76, 0.25);
}

.calculator-heading {
   margin-bottom: 28px;
   text-align: center;
}

.section-label {
   margin: 0 0 8px;
   color: #ffd60a;
   font-size: 0.85rem;
   font-weight: bold;
   letter-spacing: 2px;
   text-transform: uppercase;
}

.calculator-heading h1 {
   margin: 0;
   color: #ffffff;
   font-size: 2.4rem;
   text-transform: uppercase;
}

.calculator-heading p:last-child {
   max-width: 620px;
   margin: 12px auto 0;
   color: #d8d8df;
   line-height: 1.5;
}

.calculator-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 24px;
}

.calculator-form,
.result-card {
   padding: 24px;
   border-radius: 10px;
   background: #11111a;
}

.calculator-form label,
.calculator-form legend {
   display: block;
   margin-bottom: 8px;
   color: #ffffff;
   font-weight: bold;
}

.calculator-form select,
.calculator-form input[type="number"],
.calculator-form input[type="text"] {
   width: 100%;
   margin-bottom: 18px;
   padding: 12px;
   border: 1px solid #363646;
   border-radius: 8px;
   color: #ffffff;
   background: #08080c;
   font-size: 1rem;
}

.calculator-form select:focus,
.calculator-form input:focus {
   outline: 2px solid #ffd60a;
   border-color: #ffd60a;
}

.calculator-form fieldset {
   margin: 0 0 18px;
   padding: 16px;
   border: 1px solid #363646;
   border-radius: 8px;
}

.checkbox-option {
   display: flex;
   gap: 10px;
   align-items: center;
   margin: 12px 0;
   color: #d8d8df;
   font-weight: normal;
}

.checkbox-option input {
   width: 18px;
   height: 18px;
   accent-color: #ff004c;
}

.calculator-error {
   min-height: 22px;
   margin: 0 0 12px;
   color: #ffd60a;
   font-weight: bold;
}

button {
   width: 100%;
   padding: 14px 18px;
   border: none;
   border-radius: 8px;
   color: #ffffff;
   background: #ff004c;
   font-size: 1rem;
   font-weight: bold;
   text-transform: uppercase;
   cursor: pointer;
}

button:hover {
   background: #d90040;
}

.result-card {
   border: 1px solid rgba(255, 214, 10, 0.5);
}

.result-card h2 {
   margin: 0 0 18px;
   color: #ffd60a;
   text-transform: uppercase;
}

.result-card p {
   display: flex;
   justify-content: space-between;
   gap: 16px;
   margin: 12px 0;
   padding-bottom: 12px;
   border-bottom: 1px solid #2a2a38;
   color: #d8d8df;
}

.result-card strong {
   color: #ffffff;
}

.result-card .final-total {
   margin-top: 18px;
   padding: 16px;
   border: 2px solid #ff004c;
   border-radius: 8px;
   color: #ffffff;
   background: rgba(255, 0, 76, 0.12);
   font-size: 1.2rem;
}

@media (max-width: 760px) {
   .calculator-card {
      padding: 22px;
   }

   .calculator-heading h1 {
      font-size: 1.8rem;
   }

   .calculator-grid {
      grid-template-columns: 1fr;
   }

   .result-card p {
      align-items: flex-start;
      flex-direction: column;
      gap: 4px;
   }
}
