.fpo-panel{--fpo-accent:#57b94b;width:100%;flex-basis:100%;box-sizing:border-box;clear:both;margin:0 0 24px;padding:22px;border:1px solid #e2e7e4;border-radius:12px;background:#fff;color:#26322c;font-size:14px;line-height:1.6}.fpo-panel h3{font-size:21px;margin:0 0 22px}.fpo-panel fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.fpo-panel legend{font-weight:600;padding:0;margin-bottom:8px}.fpo-panel select{width:100%;min-height:44px;border:1px solid #bdc8c0;border-radius:5px;padding:8px;background:white;color:inherit}.fpo-cards{display:flex;flex-wrap:wrap;gap:10px}.fpo-card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%;padding:12px;border:1px solid #d8dfda;border-radius:6px;cursor:pointer}.fpo-card:has(input:checked){border-color:var(--fpo-accent);box-shadow:0 0 0 1px var(--fpo-accent)}.fpo-card input{accent-color:var(--fpo-accent)}.fpo-card img{width:60px;height:60px;object-fit:cover;border-radius:4px}.fpo-panel .fpo-tiers{width:100%;border-collapse:collapse;margin:20px 0 8px;font-size:13px}.fpo-tiers caption{text-align:left;font-weight:600;padding-bottom:10px}.fpo-tiers th,.fpo-tiers td{padding:10px 6px;text-align:left;border:0;border-bottom:1px solid #e8ede9}.fpo-tiers tr.is-selected{background:#f0f7f0}.fpo-panel .fpo-qty{background:transparent;color:inherit;border:1px solid #d8dfda;padding:6px 12px;border-radius:5px;cursor:pointer}.fpo-panel .is-selected .fpo-qty{border-color:var(--fpo-accent);font-weight:bold}.fpo-summary{display:grid;grid-template-columns:1fr 1fr;margin:0}.fpo-summary dt,.fpo-summary dd{margin:0;padding:8px 0;border-bottom:1px solid #e8ede9;overflow-wrap:anywhere}.fpo-summary dd{text-align:right}.fpo-total{text-align:right;font-size:22px;font-weight:700;margin-top:18px}.fpo-status{color:#a32929}.fpo-panel small{display:block;font-size:12px;color:#647168}.fpo-panel :focus-visible{outline:2px solid var(--fpo-accent);outline-offset:3px}.fpo-admin-box{background:#f8faf9;border:1px solid #dce3de;padding:16px;margin:14px 0}.fpo-admin-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px;border-bottom:1px solid #dce3de;padding:12px 0}.fpo-admin-label{display:inline-flex;flex-direction:column;gap:4px;margin:5px 10px 5px 0;font-weight:500}.fpo-admin-label input:not([type=checkbox]):not([type=color]),.fpo-admin-label select{max-width:210px}.fpo-admin-box>.button{margin:5px}.fpo-admin-row .button{margin-bottom:5px}@media(max-width:480px){.fpo-panel{padding:14px}.fpo-tiers th,.fpo-tiers td{padding:9px 3px;font-size:12px}.fpo-card{width:100%}}
.woocommerce div.product form.cart.fpo-configured-cart,
.woocommerce div.product form.cart:has(.fpo-panel),
form.cart.fpo-configured-cart,
form.cart:has(.fpo-panel) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}
form.cart .fpo-panel {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 0 8px !important;
  box-sizing: border-box;
}
form.cart.fpo-configured-cart > .quantity,
form.cart:has(.fpo-panel) > .quantity {
  flex: 0 0 auto;
  float: none !important;
  margin: 0 !important;
}
form.cart.fpo-configured-cart > .single_add_to_cart_button,
form.cart:has(.fpo-panel) > .single_add_to_cart_button {
  flex: 1 1 160px;
  float: none !important;
  margin: 0 !important;
  min-height: 44px;
  white-space: normal;
}
form.cart .fpo-panel .fpo-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
  gap: 0;
}
form.cart .fpo-panel .fpo-summary dt,
form.cart .fpo-panel .fpo-summary dd {
  float: none !important;
  width: auto !important;
  max-width: none;
  min-width: 0;
  margin: 0 !important;
  padding: 10px 0;
}
form.cart .fpo-panel .fpo-summary dd { padding-left: 12px; }
form.cart .fpo-panel .fpo-card { box-sizing: border-box; }
form.cart .fpo-panel .fpo-tiers { table-layout: auto; }
form.cart .fpo-panel .fpo-tiers .amount { white-space: nowrap; }
/* Keep native controls legible even when a theme or browser prefers dark controls. */
form.cart .fpo-panel select,
form.cart .fpo-panel select:focus,
form.cart .fpo-panel select option {
  color-scheme: light !important;
  background-color: #fff !important;
  color: #26322c !important;
  -webkit-text-fill-color: #26322c !important;
  opacity: 1 !important;
}
form.cart .fpo-panel .fpo-upload {
  margin: 4px 0 24px;
  padding: 16px;
  border: 1px dashed #aebdb2;
  border-radius: 8px;
  background: #f7faf8;
}
form.cart .fpo-panel .fpo-upload[hidden] { display: none !important; }
.fpo-upload label { display: block; font-weight: 600; }
.fpo-upload input[type=file] { display: block; width: 100%; max-width: 100%; margin: 12px 0; color: #26322c; background: #fff; }
.fpo-upload input::file-selector-button { padding: 10px 14px; margin-right: 10px; border: 1px solid #b9c8bd; border-radius: 5px; background: #fff; color: #26322c; cursor: pointer; }
.fpo-upload-status { margin: 10px 0 0; overflow-wrap: anywhere; }
form.cart .fpo-panel .fpo-artwork-file[hidden],
form.cart .fpo-panel .fpo-design[hidden] { display: none !important; }
form.cart .fpo-panel .fpo-choose-files,
form.cart .fpo-panel .fpo-file-list button {
  background: #fff !important;
  color: #26322c !important;
  border: 1px solid #b9c8bd;
  border-radius: 6px;
  padding: 10px 14px;
  cursor: pointer;
  font: inherit;
}
.fpo-file-count { display: inline-block; margin: 8px 10px; font-size: 13px; }
.fpo-file-list { padding: 0 !important; margin: 14px 0 !important; list-style: none !important; }
.fpo-file-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #dce5df; }
.fpo-file-list li span { min-width: 0; overflow-wrap: anywhere; }
.fpo-file-list button { flex: 0 0 auto; }
.fpo-upload button:disabled { opacity: .55; cursor: wait; }
form.cart .fpo-panel .fpo-design { margin: 4px 0 24px; padding: 20px; border: 1px solid #d6e0d9; border-radius: 8px; background: #f7faf8; }
.fpo-design h4,.fpo-upload h4 { margin: 0 0 12px; }
.fpo-design-price { font-size: 20px; font-weight: 600; margin: 8px 0 12px; }
.fpo-design label { display: block; font-weight: 600; }
form.cart .fpo-panel .fpo-design textarea { display: block; box-sizing: border-box; width: 100%; min-height: 150px; margin: 8px 0; padding: 12px; border: 1px solid #bbc9bf; border-radius: 6px; background: #fff !important; color: #26322c !important; -webkit-text-fill-color: #26322c !important; resize: vertical; font: inherit; }
.fpo-price-breakdown { font-size: 14px; font-weight: 400; margin-bottom: 8px; }
