/* Buyer-facing Extra Services selection + live order total, shown on
   proposals/proposal.php inside the real order form. Uses the same design
   tokens as the rest of the site (styles/variables.css) - brand green,
   black/white surfaces, no new colors - and the existing html.dark
   mechanism (styles/dark_mode.css), not a second theming system. */

.roladel-extras-box {
  border: 1px solid var(--light-border);
  border-radius: 6px;
  padding: 14px 16px;
  margin-bottom: 16px;
}

html.dark .roladel-extras-box {
  border-color: var(--dark-border);
}

.roladel-extras-heading {
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 0 10px;
  color: var(--light-text, #222);
}

html.dark .roladel-extras-heading {
  color: var(--dark-text, #fff);
}

.roladel-extra-option {
  display: block;
  padding: 10px 0;
  border-top: 1px solid var(--light-border);
  cursor: pointer;
  font-weight: normal;
  margin: 0;
}

.roladel-extra-option:first-of-type {
  border-top: 0;
  padding-top: 0;
}

html.dark .roladel-extra-option {
  border-color: var(--dark-border);
}

.roladel-extra-option input[type="checkbox"] {
  margin-right: 8px;
  width: 16px;
  height: 16px;
  vertical-align: middle;
}

.roladel-extra-option-main {
  display: inline-flex;
  justify-content: space-between;
  width: calc(100% - 26px);
  vertical-align: middle;
}

.roladel-extra-title {
  font-weight: 600;
  color: var(--light-text, #222);
}

html.dark .roladel-extra-title {
  color: var(--dark-text, #fff);
}

.roladel-extra-price {
  font-weight: 700;
  color: var(--brand-green);
  white-space: nowrap;
  margin-left: 10px;
}

html.dark .roladel-extra-price {
  color: var(--brand-green-bright, var(--brand-green));
}

.roladel-extra-desc {
  display: block;
  font-size: 0.82rem;
  color: var(--light-text-muted, #777);
  margin: 4px 0 0 24px;
}

html.dark .roladel-extra-desc {
  color: var(--dark-text-muted, #aaa);
}

.roladel-order-total-box {
  border-top: 1px solid var(--light-border);
  margin-top: 8px;
  padding-top: 10px;
}

html.dark .roladel-order-total-box {
  border-color: var(--dark-border);
}

.roladel-order-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.88rem;
  color: var(--light-text-muted, #777);
  padding: 3px 0;
}

html.dark .roladel-order-total-row {
  color: var(--dark-text-muted, #aaa);
}

.roladel-order-total-row.roladel-order-total-final {
  border-top: 1px solid var(--light-border);
  margin-top: 4px;
  padding-top: 8px;
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--light-text, #222);
}

html.dark .roladel-order-total-row.roladel-order-total-final {
  border-color: var(--dark-border);
  color: var(--dark-text, #fff);
}
