/* Inherits the theme's type and colors; only layout and state styling here. */
.apcfg { margin: 1.5em 0; }
.apcfg-from { font-size: .7em; opacity: .75; }
.apcfg__row { display: block; margin: 0 0 1em; }
.apcfg__row select,
.apcfg__row input[type=number] { display: block; width: 100%; max-width: 26rem; margin-top: .35em; }
.apcfg__size { display: flex; gap: 1em; flex-wrap: wrap; }
.apcfg__size label { flex: 1 1 10rem; }
.apcfg__legend { display: block; margin-bottom: .4em; font-weight: 600; }
.apcfg__turnaround label,
.apcfg__design label { display: block; margin: .25em 0; font-weight: 400; }
.apcfg__turnaround input,
.apcfg__design input { margin-right: .5em; }
.apcfg__hint { margin: .4em 0 0; font-size: .875em; opacity: .75; }
.apcfg__summary { margin: 1.25em 0; padding: 1em 0; border-top: 1px solid currentColor; border-top-color: rgba(128,128,128,.3); }
.apcfg__price { font-size: 1.6em; line-height: 1.2; }
.apcfg__breakdown { margin-top: .35em; font-size: .9em; opacity: .8; }
.apcfg__options select:disabled { opacity: .6; }
.apcfg__error { padding: .75em 1em; border-left: 3px solid #d63638; background: rgba(214,54,56,.06); }
.single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }
@media (prefers-reduced-motion: no-preference) {
  .apcfg__price { transition: opacity .15s ease; }
}
.apcfg__row--fixed select { background: transparent; opacity: .85; cursor: default; }
.apcfg-cats { max-width: 46rem; margin-bottom: .5em; }
.apcfg-cats td, .apcfg-cats th { padding: 6px 10px; }
