/* src/pages/ludus-pc-builder.module.css */

.builderContainer {
    max-width: 900px;
    margin: 2rem auto;
    padding: 1.5rem;
    background-color: var(--ifm-card-background-color);
    border-radius: var(--ifm-card-border-radius);
    box-shadow: var(--ifm-global-shadow-lw);
  }
  
  .builderContainer h1,
  .builderContainer h2,
  .builderContainer h3 {
      margin-bottom: 1rem;
  }
  
  .configurator {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  
  .componentSection {
    display: flex;
    flex-direction: column; /* Stack label and select/info */
    gap: 0.5rem;
    padding: 1rem;
    border: 1px solid var(--ifm-color-emphasis-300);
    border-radius: var(--ifm-card-border-radius);
  }
  
  .componentSection label {
    font-weight: bold;
    margin-bottom: 0.25rem;
  }
  
  .componentSection select {
    padding: 0.5rem;
    border-radius: 4px;
    border: 1px solid var(--ifm-color-emphasis-300);
    max-width: 400px; /* Prevent selects from becoming too wide */
  }
  
  .componentSection select:disabled {
      background-color: var(--ifm-color-emphasis-200);
      cursor: not-allowed;
  }
  
  .componentSection p { /* For displaying included components */
      margin: 0.5rem 0;
      font-style: italic;
      color: var(--ifm-color-emphasis-700);
  }
  
  .componentLink,
  .componentLinkSmall {
    display: inline-block;
    margin-left: 1rem;
    font-size: 0.9em;
    color: var(--ifm-color-primary);
    text-decoration: none;
  }
  .componentLinkSmall {
      margin-left: 0.5rem;
      font-size: 0.8em;
  }
  
  .componentLink:hover,
  .componentLinkSmall:hover {
    text-decoration: underline;
  }
  
  .diskSelector {
      display: flex;
      align-items: center;
      gap: 0.5rem;
  }
  
  .diskLimitReached {
      font-size: 0.9em;
      color: var(--ifm-color-danger-dark);
  }
  
  .selectedDisksList {
    list-style: none;
    padding-left: 0;
    margin-top: 0.75rem;
  }
  
  .selectedDisksList li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--ifm-color-emphasis-200);
  }
  .selectedDisksList li:last-child {
      border-bottom: none;
  }
  
  
  .removeButton {
    background-color: var(--ifm-color-danger-light);
    /* color: var(--ifm-color-danger-dark); */
    border: 1px solid var(--ifm-color-danger);
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8em;
    margin-left: auto; /* Push remove button to the right */
  }
  
  .removeButton:hover {
    background-color: var(--ifm-color-danger);
    color: white;
  }
  
  .summarySection {
    margin-top: 2rem;
    padding: 1.5rem;
    background-color: var(--ifm-color-emphasis-100);
    border-radius: var(--ifm-card-border-radius);
  }
  
  .summarySection h2 {
      margin-top: 0;
  }
  
  .summarySection ul {
      list-style: disc;
      padding-left: 20px;
      margin-bottom: 1rem;
  }
  .summarySection div > ul { /* Specificity for disk list inside div */
      list-style: none;
      padding-left: 10px;
      margin-top: 0.25rem;
  }
  
  .summarySection hr {
      border: none;
      border-top: 1px solid var(--ifm-color-emphasis-300);
      margin: 1rem 0;
  }
  
  .totalPrice {
    font-size: 1.4em;
    font-weight: bold;
    color: var(--ifm-color-primary-dark);
  }
  
  .disclaimer {
      font-size: 0.85em;
      color: var(--ifm-color-emphasis-700);
      margin-top: 0.5rem;
  }