/* One working surface: product, quantity and rental price stay on the same row. */
#textile-payback { padding-block:24px; scroll-margin-top:-24px; }
#textile-payback .textile-payback-head { grid-template-columns:1.2fr 1fr; gap:32px; align-items:center; margin-bottom:20px; }
#textile-payback .label { margin-bottom:8px; font-size:.75rem; }
#textile-payback h2 { max-width:640px; font-size:1.875rem; line-height:1.16; }
#textile-payback .lead { font-size:.875rem; line-height:1.6; }
#textile-payback .lead strong { margin-bottom:4px; font-size:.875rem; }
#textile-payback .lead span { font-size:.875rem; line-height:1.6; }
#textile-payback .textile-payback-layout { --calc-columns:minmax(0,1fr) 92px 158px; grid-template-columns:1.35fr 1fr; gap:10px 24px; align-items:stretch; }
#textile-payback .textile-calc-form { display:contents; }
#textile-payback .textile-calc-group { grid-column:1; grid-row:1; display:flex; flex-direction:column; margin:0; padding:20px; min-width:0; }
#textile-payback .textile-form-title { margin:0 0 12px; font-size:.8125rem; font-weight:600; line-height:1.5; letter-spacing:.01em; text-transform:uppercase; }
#textile-payback .textile-rental-intro { margin:0 0 10px; padding:8px 10px; border-radius:8px; background:#fff8de; font-size:.8125rem; line-height:1.5; }
#textile-payback .textile-rental-intro strong { display:block; font-weight:600; color:var(--ink); }
#textile-payback .textile-rental-intro span { display:block; margin-top:4px; font-size:.75rem; }
#textile-payback .textile-table-head,#textile-payback .textile-product-row { display:grid; grid-template-columns:var(--calc-columns); gap:16px; }
#textile-payback .textile-table-head { padding-bottom:4px; font-size:.75rem; color:var(--muted); line-height:1.5; }
#textile-payback .textile-table-head span:not(:first-child) { font-weight:600; color:var(--ink); }
#textile-payback .textile-product-row { align-items:center; padding:7px 0; }
#textile-payback .textile-product-copy strong { font-size:.9375rem; line-height:1.4; }
#textile-payback .textile-product-size { display:block; margin-top:3px; font-size:.8125rem; line-height:1.5; color:var(--muted); }
#textile-payback .textile-unit-price { margin-top:4px; font-size:.8125rem; line-height:1.5; }
#textile-payback .textile-sale-note { margin-top:8px; padding-top:8px; border-top:1px solid var(--line); font-size:.75rem; line-height:1.5; color:var(--muted); }
#textile-payback .textile-product-row label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#textile-payback .textile-input-wrap { padding-right:9px; background:#fff; border-color:#888; }
#textile-payback .textile-input-wrap:hover { border-color:#444; }
#textile-payback .textile-input-wrap:focus-within { border-color:#947400; background:#fffdf3; }
#textile-payback .textile-input:has([aria-invalid="true"]) .textile-input-wrap { border-color:#b02d23; background:#fff4f2; }
#textile-payback .textile-input-wrap input { min-height:44px; padding:9px 8px; font-size:1rem; line-height:1.5; }
#textile-payback .textile-investment-bar { grid-template-columns:var(--calc-columns); gap:16px; align-items:stretch; padding-top:14px; margin-top:auto; }
#textile-payback .textile-investment-total,#textile-payback .textile-colors-input { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(30px,auto) minmax(44px,auto); align-items:center; gap:4px; padding:0; }
#textile-payback .textile-one-color { grid-column:1; }
#textile-payback .textile-colors-input { grid-column:2; }
#textile-payback .textile-colors-input label { margin:0; font-size:.75rem; line-height:1.5; align-self:end; }
#textile-payback .textile-colors-input .textile-input-wrap { max-width:none; }
#textile-payback .textile-investment-total span { font-size:.75rem; line-height:1.5; align-self:end; }
#textile-payback .textile-investment-total strong { margin:0; font-size:1.0625rem; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
#textile-payback .textile-grand-total { grid-column:3; padding-inline:12px; border-radius:9px; background:#fff3c2; }
#textile-payback .textile-grand-total span { color:var(--ink); font-weight:600; }
#textile-payback .textile-grand-total strong { font-size:1.375rem; font-weight:600; }
#textile-payback .textile-calc-help { grid-column:1; grid-row:2; font-size:.8125rem; line-height:1.65; color:var(--muted); }
#textile-payback .textile-calc-help summary { display:list-item; width:fit-content; min-height:36px; padding:8px 4px; cursor:pointer; color:var(--ink); font-weight:500; }
#textile-payback .textile-help-content { padding:12px 18px; border:1px solid var(--line); border-radius:10px; background:#fff; }
#textile-payback .textile-help-content p+p { margin-top:10px; }
#textile-payback .textile-scenario-breakdown { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
#textile-payback .textile-disclaimer { margin-top:14px; font-size:.75rem; line-height:1.7; color:var(--muted); }
#textile-payback .textile-payback-result { grid-column:2; grid-row:1; position:static; display:flex; flex-direction:column; justify-content:space-between; gap:24px; padding:22px 24px; min-width:0; }
#textile-payback .textile-result-kicker { font-size:.75rem; line-height:1.5; }
#textile-payback .textile-main-payback { gap:8px 12px; margin-top:14px; align-items:baseline; flex-wrap:wrap; }
#textile-payback .textile-main-payback strong { font-size:3.75rem; line-height:1; max-width:100%; overflow-wrap:anywhere; }
#textile-payback .textile-main-payback span { font-size:clamp(1rem,1.3vw,1.25rem); font-weight:600; line-height:1.5; max-width:none; color:var(--accent); white-space:nowrap; }
#textile-payback .textile-result-basis { margin-top:10px; font-size:.8125rem; line-height:1.5; }
#textile-payback .textile-result-status { margin-top:5px; font-size:.75rem; line-height:1.5; }
#textile-payback .textile-result-status:empty { display:none; }
#textile-payback .textile-result-investment { flex-direction:row; align-items:center; padding:11px 0; margin-top:12px; gap:12px; }
#textile-payback .textile-result-investment strong { font-size:1.375rem; font-weight:600; line-height:1.5; color:var(--accent); overflow-wrap:anywhere; min-width:0; }
#textile-payback .textile-scenarios { margin-top:0; }
#textile-payback .textile-scenario { display:grid; grid-template-columns:1fr auto; gap:2px 12px; padding:14px 0; }
#textile-payback .textile-scenario-guests strong { font-size:1.125rem; font-weight:500; line-height:1.5; }
#textile-payback .textile-scenario-guests span { font-size:.75rem; line-height:1.45; margin:0; }
#textile-payback .textile-scenario:not(.is-short) .textile-scenario-guests span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#textile-payback .textile-scenario output { position:static; min-width:0; font-size:1.125rem; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
#textile-payback .textile-result-actions { margin-top:0; }
#textile-payback .textile-result-actions .button { min-height:44px; padding:10px 14px; font-size:.875rem; }
#textile-payback .textile-result-actions p { margin-top:7px; font-size:.75rem; line-height:1.5; }
#textile-payback .input-error { margin-top:5px; font-size:.75rem; line-height:1.4; }

@media(min-width:1001px) and (max-height:750px) {
  #textile-payback { padding-block:14px; }
  #textile-payback .textile-payback-head { margin-bottom:14px; }
  #textile-payback h2 { font-size:1.75rem; }
  #textile-payback .lead,#textile-payback .lead span { line-height:1.45; }
  #textile-payback .textile-calc-group { padding-block:12px 14px; }
  #textile-payback .textile-rental-intro { margin-bottom:8px; }
  #textile-payback .textile-table-head { padding-bottom:6px; }
  #textile-payback .textile-product-row { padding-block:8px; }
  #textile-payback .textile-investment-bar { padding-top:12px; }
  #textile-payback .textile-payback-result { padding:18px 22px; }
  #textile-payback .textile-main-payback strong { font-size:3.25rem; }
  #textile-payback .textile-scenario { padding-block:11px; }
}
@media(max-width:1100px) and (min-width:1001px) {
  #textile-payback .textile-payback-layout { --calc-columns:minmax(0,1fr) 76px 132px; }
  #textile-payback .textile-table-head,#textile-payback .textile-product-row,#textile-payback .textile-investment-bar { gap:12px; }
  #textile-payback .textile-grand-total strong { font-size:1.125rem; }
  #textile-payback .textile-calc-group { padding-inline:16px; }
}
@media(max-width:1000px) {
  #textile-payback { padding-block:44px; }
  #textile-payback .textile-payback-head { grid-template-columns:1fr; gap:18px; margin-bottom:24px; }
  #textile-payback .textile-payback-layout { grid-template-columns:1fr; gap:10px; }
  #textile-payback .textile-payback-result { grid-column:1; grid-row:3; margin-top:10px; }
  #textile-payback .calc-live-summary { position:sticky; top:var(--header-height); display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:14px; padding:12px 16px; margin:0 0 20px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:0 0 10px 10px; background:#fff; z-index:35; }
  #textile-payback .calc-live-summary span { display:block; font-size:.75rem; color:var(--muted); line-height:1.5; }
  #textile-payback .calc-live-summary output { display:block; font-size:.875rem; font-weight:600; line-height:1.5; margin-top:3px; }
  #textile-payback .calc-live-summary a { display:flex; align-items:center; min-height:44px; font-size:.8125rem; }
  #textile-payback .textile-calc-help summary { min-height:44px; padding-block:12px; }
  #textile-payback .textile-scenario { padding-block:12px; }
  #textile-payback .textile-main-payback strong { font-size:4rem; }
}
@media(max-width:600px) {
  #textile-payback .textile-payback-head .lead,#textile-payback .textile-payback-head .lead span { font-size:.9375rem; }
  #textile-payback .textile-table-head { display:none; }
  #textile-payback .textile-calc-group { padding:16px; }
  #textile-payback .textile-form-title { font-size:.75rem; }
  #textile-payback .textile-product-row { grid-template-columns:1fr 1fr; gap:12px 16px; padding:16px 0; }
  #textile-payback .textile-product-copy { grid-column:1/-1; }
  #textile-payback .textile-product-copy strong { font-size:1rem; }
  #textile-payback .textile-product-row label { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; margin:0 0 6px; font-size:.8125rem; }
  #textile-payback .textile-investment-bar { grid-template-columns:1fr 1fr; gap:10px 16px; padding-top:14px; }
  #textile-payback .textile-colors-input { grid-column:2; }
  #textile-payback .textile-colors-input label { font-size:.75rem; }
  #textile-payback .textile-colors-input .textile-input-wrap { max-width:none; }
  #textile-payback .textile-colors-input .input-error { grid-column:1/-1; }
  #textile-payback .textile-investment-total strong { font-size:1.0625rem; }
  #textile-payback .textile-grand-total { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; padding:12px; }
  #textile-payback .textile-grand-total span { align-self:auto; }
  #textile-payback .textile-grand-total strong { font-size:1.25rem; }
  #textile-payback .textile-payback-result { padding:24px 20px; }
  #textile-payback .calc-live-summary { grid-template-columns:1fr 1fr; gap:4px 16px; padding:10px 12px; }
  #textile-payback .calc-live-summary a { grid-column:1/-1; min-height:44px; justify-self:stretch; justify-content:center; margin-top:4px; border-top:1px solid #eee; }
}
@media(max-width:360px) {
  #textile-payback .calc-live-summary output { font-size:.8125rem; }
  #textile-payback .textile-main-payback span { font-size:.90625rem; }
  #textile-payback .textile-scenario-guests strong,#textile-payback .textile-scenario output { font-size:.9375rem; }
}
@media print {
  #textile-payback .calc-live-summary { display:none!important; }
  #textile-payback .textile-calc-help>.textile-help-content { display:block; }
}
