/* Prompt Font Faces */
@font-face {
  font-family: "Prompt";
  src: url("/static/fonts/Prompt-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Prompt";
  src: url("/static/fonts/Prompt-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

html, body {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Prompt", sans-serif;
  background-color: #FFFFFF;
  color: #FFFFFF;
  box-sizing: border-box;
  overflow-x: clip;
}
img, svg, canvas, video, iframe { max-width: 100%; height: auto; display: block; }

header {
  background-color: #343A40;
  color: #FFFFFF;
  padding: 1rem;
  text-align: center;
  width: 100%;
  margin-bottom: 1rem;
}

header h1 {
  margin: 0;
  font-size: 1.8rem;
}



#main-flex-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px;
  height: auto !important;         /* NEW */
  min-height: auto !important;
}

#graph-block {
  background: #121212;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  padding: 24px 32px;
  box-sizing: border-box;
  width: 100%;
}

#input-controls {
  display: flex;
  flex-direction: column;
  background:#121212;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  /* padding:24px 16px; */
  padding: 40px 37.5px;
  box-sizing:border-box;
  flex: 1 1 280px;
  min-width: 240px;
  box-sizing: border-box;
  flex-direction: column;
}

#output-display {
  flex: 3 1 520px;
  min-width: 0;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto auto;
  row-gap: 20px;
  background:  #121212;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
  padding: 40px 37.5px; 
  width: 100%;
}


#input-controls,
#output-display {
  overflow: visible !important;     
}
#input-controls h2,
#output-display h2 {
  margin: 0 0 20px;
  color: #FFFFFF;
  padding-bottom: 0.5rem;
  font-weight: 400; 
  font-size: 1.25rem;  
}
#output-display > div:nth-of-type(2) {
  display: flex;
  flex-wrap: wrap;         
  gap: 12px;               
}

#output-display > div:nth-of-type(2) > #yellow-block {
  width: auto;             
  margin-right: 0 !important;
}

#output-display > div:nth-of-type(2) > div:last-child {
  min-width: 0;            
  flex: 1 1 180px;         
}


#chart-container {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 700px;
  min-height: 240px;
  border-radius: 10px;
  overflow: hidden;
  background: #121212;
  backdrop-filter: blur(2px);
  box-sizing: border-box;
  
}


#io-grid {
  display: flex;
  flex-direction: row;
  gap: 20px;
  width: 100%;
}






#powerForm {
  flex: 0 0 auto;
}


#powerForm div {
  display: flex;
  flex-direction: column;
}


#powerForm label {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 400;
}


#powerForm label[for="std_profile_select"],
#powerForm label[for="annual_demand_mwh"] {
  font-size: 1rem;
  font-weight: 400;
  font-style: normal;
}


#powerForm .slider-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 18px 0;
}


#powerForm .slider-container > label {
  min-width: 180px;
  font-size: 0.75rem;
  font-weight: 400;
  font-style: normal;
  color: #FFFFFF; 
}


#powerForm .slider-container > div {
  display: flex;            
  flex-direction: row;
  align-items: center;
  gap: 10px;
  width: 100%;
}


#powerForm .slider-container input[type="range"] {
  flex: 1 1 auto;
  width: auto;              
  min-width: 0;
}


#powerForm .slider-container [id$="_pct_value"] {
  display: inline-block;
  margin-left: 10px;
  min-width: 36px;
  text-align: right;
  white-space: nowrap;

  font-size: 0.75rem;
  font-weight: 400;
  font-style: italic;
  color: #FFFFFF; 
}

/* Per-hour compact inputs under the chart (demand & price per hour) */
.per-hour-input {
  min-width: 36px;
  width: 40px;
  padding: 4px 6px;
  border-radius: 4px;
  border: none;
  font-size: 0.78rem;
  background: #2D2D2D;
  color: #FFFFFF;
  text-align: right;
  box-sizing: border-box;
}
.per-hour-input:focus { outline: none; box-shadow: 0 0 6px rgba(28,200,206,0.25); }

/* Slightly smaller on narrow screens */
@media (max-width: 600px) {
  .per-hour-input { width: 40px; padding: 4px; font-size: 0.65rem; }
}

/* Disable number input spinners for per-hour inputs (WebKit & Firefox) */
.per-hour-input::-webkit-outer-spin-button,
.per-hour-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.per-hour-input { -moz-appearance: textfield; appearance: textfield; }

/* Small column layout for per-hour grid */
/* grid-based per-hour layout (left label column + 24 hour columns) */
#per-hour-grid {
  display: grid; 
  grid-template-columns: auto repeat(24, minmax(36px, 1fr));
  grid-template-rows: auto auto auto;
  gap: 6px 8px;
  align-items: center;
  overflow-x: auto;
  padding: 6px 4px;
}

/* left labels (column 1) should be sticky when horizontally scrolling */
/* left column labels (title text) */
.per-hour-left-label {
  position: sticky;
  left: 0;
  background: transparent;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 8px;
  align-items: flex-start;
}

/* hour label row (row 3) small text centered below each input */
.hour-label {
  font-size: 11px;
  color: #BFFFE1;
  justify-self: center;
  text-align: center;
}

/* ensure inputs center in their grid cells */
#per-hour-grid input.per-hour-input {
  justify-self: center;
}



#powerForm .slider-container:first-of-type{
  margin-top: 24px;
}

#powerForm input[type="number"],
#powerForm select {
  padding: 12px 14px;
  border: none;
  border-radius: 10px;
  font-size: 0.75rem;
  background: #2D2D2D;              
  color: #FFFFFF;
  outline: none;
}
#powerForm input[type="number"]::placeholder{ color:#FFFFFF; }
#powerForm select{ appearance: none; background-image: none; }
#annual_demand_mwh::-webkit-outer-spin-button,
#annual_demand_mwh::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove number input arrows for all percentage inputs */
input[type="number"][id$="_pct_value"]::-webkit-outer-spin-button,
input[type="number"][id$="_pct_value"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"][id$="_pct_value"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Firefox */
#annual_demand_mwh[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield; 
}

#powerForm button[type="submit"] {
  font-family: "Prompt", sans-serif;
  background-color: #1CC8CE;
  color: #FFFFFF;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
  grid-column: 1 / -1;
  margin-top: 1rem;
}
#powerForm button[type="submit"]:hover {
  background-color: #AAFF8E;
  transform: scale(1.02);
}
#powerForm > div:not(.slider-container):not(.button-row){
  margin-bottom: 16px;
}
#powerForm .button-row{
  margin-top: 24px;
}

#powerForm > div:last-child{
  margin-bottom: 0;
}

/* Neon Sliders - Base Styles */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 12px;
  border-radius: 25px;
  outline: none;
  cursor: pointer;
  background: transparent;
  position: relative;
}

/* Track styles for different browsers */
input[type="range"]::-webkit-slider-track {
  -webkit-appearance: none;
  height: 12px;
  border-radius: 25px;
  background: #2a2a2a;
  border: 1px solid #404040;
  box-shadow: 
    inset 0 2px 4px rgba(0, 0, 0, 0.6),
    0 0 8px rgba(0, 0, 0, 0.4);
}

input[type="range"]::-moz-range-track {
  height: 12px;
  border-radius: 25px;
  background: #2a2a2a;
  border: 1px solid #404040;
  box-shadow: 
    inset 0 2px 4px rgba(0, 0, 0, 0.6),
    0 0 8px rgba(0, 0, 0, 0.4);
}

/* Thumb styles - Common neon glow */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 24px;
  width: 24px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  cursor: pointer;
  position: relative;
  z-index: 2;
  box-shadow: 
    0 0 15px rgba(255, 255, 255, 0.8),
    0 0 25px rgba(255, 255, 255, 0.6),
    0 0 35px rgba(255, 255, 255, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

input[type="range"]::-moz-range-thumb {
  height: 24px;
  width: 24px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  cursor: pointer;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%);
  box-shadow: 
    0 0 15px rgba(255, 255, 255, 0.8),
    0 0 25px rgba(255, 255, 255, 0.6),
    0 0 35px rgba(255, 255, 255, 0.4);
}

/* Hedge slider - Green neon */
#hedge_pct_slider {
  background: linear-gradient(to right, 
    #AAFF8E 0%, 
    #AAFF8E var(--fill-percent, 100%), 
    #2a2a2a var(--fill-percent, 100%), 
    #2a2a2a 100%);
  border-radius: 25px;
  box-shadow: 
    0 0 20px rgba(170, 255, 142, 0.6),
    0 0 40px rgba(170, 255, 142, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#hedge_pct_slider::-webkit-slider-track {
  background: transparent;
  border: none;
  box-shadow: none;
}

#hedge_pct_slider::-webkit-slider-thumb {
  background: radial-gradient(circle, #AAFF8E 0%, #88dd6c 100%);
  border: 2px solid #ffffff;
  box-shadow: 
    0 0 15px rgba(170, 255, 142, 0.8),
    0 0 25px rgba(170, 255, 142, 0.6),
    0 0 35px rgba(170, 255, 142, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

#hedge_pct_slider::-moz-range-thumb {
  background: radial-gradient(circle, #AAFF8E 0%, #88dd6c 100%);
  box-shadow: 
    0 0 15px rgba(170, 255, 142, 0.8),
    0 0 25px rgba(170, 255, 142, 0.6),
    0 0 35px rgba(170, 255, 142, 0.4);
}

/* Solar, Wind, Baseload sliders - Cyan neon */
#solar_pct_slider,
#wind_pct_slider,
#baseload_pct_slider {
  background: linear-gradient(to right, 
    #1CC8CE 0%, 
    #1CC8CE var(--fill-percent, 35%), 
    #2a2a2a var(--fill-percent, 35%), 
    #2a2a2a 100%);
  border-radius: 25px;
  box-shadow: 
    0 0 20px rgba(28, 200, 206, 0.6),
    0 0 40px rgba(28, 200, 206, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#solar_pct_slider::-webkit-slider-track,
#wind_pct_slider::-webkit-slider-track,
#baseload_pct_slider::-webkit-slider-track {
  background: transparent;
  border: none;
  box-shadow: none;
}

#solar_pct_slider::-webkit-slider-thumb,
#wind_pct_slider::-webkit-slider-thumb,
#baseload_pct_slider::-webkit-slider-thumb {
  background: radial-gradient(circle, #1CC8CE 0%, #16a0a5 100%);
  border: 2px solid #ffffff;
  box-shadow: 
    0 0 15px rgba(28, 200, 206, 0.8),
    0 0 25px rgba(28, 200, 206, 0.6),
    0 0 35px rgba(28, 200, 206, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

#solar_pct_slider::-moz-range-thumb,
#wind_pct_slider::-moz-range-thumb,
#baseload_pct_slider::-moz-range-thumb {
  background: radial-gradient(circle, #1CC8CE 0%, #16a0a5 100%);
  box-shadow: 
    0 0 15px rgba(28, 200, 206, 0.8),
    0 0 25px rgba(28, 200, 206, 0.6),
    0 0 35px rgba(28, 200, 206, 0.4);
}

/* Virtual Battery slider - Purple/Magenta neon */
#flex_hl_mw_slider {
  background: linear-gradient(to right, 
    #631483 0%, 
    #631483 var(--fill-percent, 0%), 
    #2a2a2a var(--fill-percent, 0%), 
    #2a2a2a 100%);
  border-radius: 25px;
  box-shadow: 
    0 0 20px rgba(99, 20, 131, 0.6),
    0 0 40px rgba(99, 20, 131, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#flex_hl_mw_slider::-webkit-slider-track {
  background: transparent;
  border: none;
  box-shadow: none;
}

#flex_hl_mw_slider::-webkit-slider-thumb {
  background: radial-gradient(circle, #631483 0%, #4d0f66 100%);
  border: 2px solid #ffffff;
  box-shadow: 
    0 0 15px rgba(99, 20, 131, 0.8),
    0 0 25px rgba(99, 20, 131, 0.6),
    0 0 35px rgba(99, 20, 131, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

#flex_hl_mw_slider::-moz-range-thumb {
  background: radial-gradient(circle, #631483 0%, #4d0f66 100%);
  box-shadow: 
    0 0 15px rgba(99, 20, 131, 0.8),
    0 0 25px rgba(99, 20, 131, 0.6),
    0 0 35px rgba(99, 20, 131, 0.4);
}

/* Hover effects for enhanced neon glow */
input[type="range"]:hover::-webkit-slider-thumb {
  transform: scale(1.1);
  box-shadow: 
    0 0 20px rgba(255, 255, 255, 1),
    0 0 30px rgba(255, 255, 255, 0.8),
    0 0 45px rgba(255, 255, 255, 0.6),
    inset 0 2px 4px rgba(255, 255, 255, 0.4);
}

#hedge_pct_slider:hover {
  box-shadow: 
    0 0 25px rgba(170, 255, 142, 0.8),
    0 0 50px rgba(170, 255, 142, 0.6),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#hedge_pct_slider:hover::-webkit-slider-thumb {
  box-shadow: 
    0 0 20px rgba(170, 255, 142, 1),
    0 0 30px rgba(170, 255, 142, 0.8),
    0 0 45px rgba(170, 255, 142, 0.6),
    inset 0 2px 4px rgba(255, 255, 255, 0.4);
}

#solar_pct_slider:hover,
#wind_pct_slider:hover,
#baseload_pct_slider:hover {
  box-shadow: 
    0 0 25px rgba(28, 200, 206, 0.8),
    0 0 50px rgba(28, 200, 206, 0.6),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#solar_pct_slider:hover::-webkit-slider-thumb,
#wind_pct_slider:hover::-webkit-slider-thumb,
#baseload_pct_slider:hover::-webkit-slider-thumb {
  box-shadow: 
    0 0 20px rgba(28, 200, 206, 1),
    0 0 30px rgba(28, 200, 206, 0.8),
    0 0 45px rgba(28, 200, 206, 0.6),
    inset 0 2px 4px rgba(255, 255, 255, 0.4);
}

#flex_hl_mw_slider:hover {
  box-shadow: 
    0 0 25px rgba(99, 20, 131, 0.8),
    0 0 50px rgba(99, 20, 131, 0.6),
    inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

#flex_hl_mw_slider:hover::-webkit-slider-thumb {
  box-shadow: 
    0 0 20px rgba(99, 20, 131, 1),
    0 0 30px rgba(99, 20, 131, 0.8),
    0 0 45px rgba(99, 20, 131, 0.6),
    inset 0 2px 4px rgba(255, 255, 255, 0.4);
}

/* Focus states for accessibility */
input[type="range"]:focus {
  outline: none;
}

input[type="range"]:focus::-webkit-slider-thumb {
  transform: scale(1.15);
}
.yellow-block {
  background: #FFD500;
  color: #000;
  border-radius: 0;
  padding: 20px;
  font-size: 1rem;
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  min-height: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}

.yellow-block:hover, .yellow-block:focus {
  background: #222;
  color: #FFD500;
  cursor: default;
}
#yellow-block {
  width: auto !important;
  margin-right: 0 !important;
  flex: 1 1 420px;    
  min-width: 0;
}

/* Center text inside yellow-content */
#yellow-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  height: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;

}

#yellow-block h3 {
  font-size: 16px;
  font-weight: 400;
}

#yellow-content strong {
  font-weight: 500; /* Make <strong> tags medium weight instead of bold */
}

.button-row {
  display: flex;
  justify-content: center; 
  gap: 12px;               
  margin-top: 1rem;
}

.button-row button {
  flex: 0 0 auto; 
}

#request-now-btn {
    cursor: pointer !important;
    flex: 0 1 220px;
    min-width: 0 !important;
    width: auto;
    box-sizing: border-box;
}

/* Toggle button (bottom-left of chart) - match request-now style but keep compact size */
#toggle-hour-inputs-btn {
  cursor: pointer !important;
  flex: 0 1 220px;
  min-width: 0 !important;
  width: auto;
  box-sizing: border-box;
  background: #1CC8CE; /* base matching request-now */
  color: #FFFFFF;
  border: none;
  padding: 8px 10px;
  font-size: 0.9rem;
  font-weight: 400;
}

#toggle-hour-inputs-btn:hover { background: #AAFF8E; color: #121212; }

#restore-spot-prices-btn {
  cursor: pointer !important;
  flex: 0 1 220px;
  min-width: 0 !important;
  width: auto;
  box-sizing: border-box;
  background: #1CC8CE; /* base matching request-now */
  color: #FFFFFF;
  border: none;
  padding: 8px 10px;
  font-size: 0.9rem;
  font-weight: 400;
}

#restore-spot-prices-btn:hover { background: #AAFF8E; color: #121212; }

.new-numbers-table {
  width: 100%;
  border-collapse: collapse;
  background:  #121212;
  color: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  table-layout: fixed;
  white-space: normal;
  overflow-wrap: anywhere; 
  word-break: break-word;
}

.new-numbers-table th,
.new-numbers-table td {
  padding: 0.75rem;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-weight: 500;
  white-space: normal;
  overflow-wrap: anywhere; 
  word-break: break-word;
}



.new-numbers-table tr:last-child td {
  border-bottom: none;
}

.new-numbers-table th:first-child,
.new-numbers-table td:first-child {
  text-align: left;
  color: #AAFF8E;   
}

.slider-container {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.slider-container label {
  min-width: 180px;
  color: #FFFFFF;
  text-align: center;
  width: 100%;
  display: block;
  margin-bottom: 4px;
}

.slider-container input[type="range"] {
  flex-grow: 1;
  margin-left: 10px;
  margin-right: 10px;
}

.slider-container input[type="number"] {
  width: 70px;
}
.tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
  margin-left: 6px;
  font-weight: 400;
  color: #555;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 250px;
  background-color: #333;
  color: #fff;
  text-align: left;
  border-radius: 6px;
  padding: 8px;
  position: absolute;
  z-index: 9999;
  bottom: 125%; 
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 0.9em;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

#hedge_pct_slider::-webkit-slider-thumb { background: #AAFF8E; }
#hedge_pct_slider::-moz-range-thumb { background: #AAFF8E; }
#hedge_pct_slider::-ms-thumb { background: #AAFF8E; }
#hedge_pct_slider { accent-color: #AAFF8E; }

#solar_pct_slider::-webkit-slider-thumb,
#wind_pct_slider::-webkit-slider-thumb,
#baseload_pct_slider::-webkit-slider-thumb { background: #1CC8CE; }
#solar_pct_slider::-moz-range-thumb,
#wind_pct_slider::-moz-range-thumb,
#baseload_pct_slider::-moz-range-thumb { background: #1CC8CE; }
#solar_pct_slider::-ms-thumb,
#wind_pct_slider::-ms-thumb,
#baseload_pct_slider::-ms-thumb { background: #1CC8CE; }
#solar_pct_slider, #wind_pct_slider, #baseload_pct_slider { accent-color: #1CC8CE; }

#optimizeButton {
    background: #FFD500 !important;
    color: #121212 !important;
    border: none;
    border-radius: 0; 
}
#optimizeButton:hover {
    background: #222 !important;
    color: #FFD500 !important;
}

#output-display, .new-numbers-table {
  overflow-x: auto;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px){
  #main-flex-container{
    grid-template-columns: 1fr;
    grid-template-rows: auto; 
    min-height: auto;
  }
  #input-controls,
  #output-display{
    height: auto;
  }
  #io-grid{
    grid-template-columns: 1fr;
  }
}


@media (max-width: 1200px) {
  #main-flex-container {
    max-width: 100%;      
    padding: 10px;
  }
  #graph-block {
    padding: 16px 1rem;  
  }

  #chart-container {
    aspect-ratio: 16 / 9;
    min-height: 220px;
    max-height: 500px;
  }
}


@media (max-width: 900px) {
  #main-flex-container {
    padding: 4vw 2vw;
    min-height: auto;
  }
  #io-grid {
    flex-direction: column;  /* stack sidebar and content */
    gap: 10px;
  }
  #output-display,
  #input-controls {
    max-width: 100%;
    min-width: 0;
  }
  #chart-container {

    aspect-ratio: 4 / 3;
    min-height: 200px;
    max-height: 350px;
  }
   #yellow-block{
    width:auto !important;     
    margin-right:0 !important;
    flex:1 1 60%;             
    min-width:0;
  }
  #request-now-btn{
    flex:1 1 220px;            
    min-width:0 !important;   
    width:auto;
  }
}


@media (max-width: 600px) {
  #main-flex-container {
    padding: 2vw 1vw;
  }
  #input-controls,
  #output-display {
    padding: 12px 8px;   
  }
  #chart-container {
    aspect-ratio: 4 / 3;
    min-height: 460px;
    max-height: none;
  }
  #output-display > div:nth-of-type(2) { 
    flex-direction: column; 
    gap: 12px;
  }
  #yellow-block { width: 100% !important; margin-right: 0 !important; }
  #request-now-btn { width: 100%; min-width: 0 !important; }

  .new-numbers-table { font-size: 14px; }
  .new-numbers-table th, .new-numbers-table td { padding: 10px 8px; }
}

/* Accordion Styles */
.accordion-section {
  width: 100%;
}

.accordion-header {
  width: 100%;
  background-color: transparent;
  border: none;
  color: #E6FFE7;
  padding: 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  transition: all 0.3s ease;
}

.accordion-header:hover {
  opacity: 0.8;
}

.accordion-header h2 {
  font-size: 18px;
  color: #E6FFE7;
}

.accordion-icon {
  font-size: 14px;
  transition: transform 0.3s ease;
  color: #E6FFE7;
}

.accordion-header.active .accordion-icon {
  transform: rotate(180deg);
}

.accordion-content {
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  max-height: 0;
}

.accordion-content.active {
  opacity: 1;
  max-height: 200px;
}

