/* Quote calculator block. The card is self-contained (white, on-brand), so
   the block sits happily on white, leaf-tint or navy sections alike. */
.asb-quote-calc{max-width:34rem}
.alignwide.asb-quote-calc,.alignfull.asb-quote-calc{max-width:none}
.asb-qc-card{background:var(--as-white,#fff);color:var(--as-navy,#132a4b);border:1px solid var(--as-steel,#d0d4db);border-radius:var(--as-radius,14px);padding:clamp(1.25rem,3vw,2rem)}
.asb-qc-card h2{font-size:1.15rem;margin:0 0 .35rem;line-height:1.25}
.asb-qc-hint{font-size:.85rem;color:var(--as-muted,#3e5068);margin:0 0 1.25rem}

/* Table-style rows: header labels once, one thin line per item. */
.asb-qc-thead,.asb-qc-item{display:grid;grid-template-columns:7rem 1fr 1fr 4.2rem 2rem;gap:.7rem;align-items:center}
.asb-qc-thead{font-size:.72rem;font-weight:700;color:var(--as-muted,#3e5068);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.45rem}
.asb-qc-item{padding:.55rem 0;border-top:1px solid #e8ebf0}
.asb-qc-remove{background:none;border:none;color:var(--as-muted,#3e5068);font-family:inherit;font-size:1rem;font-weight:600;line-height:1;cursor:pointer;padding:.25rem;border-radius:6px;justify-self:end}
.asb-qc-remove:hover{color:#a03030;background:none}
.asb-qc-field{min-width:0}
/* labels live in the header row on desktop; keep the real ones for AT */
.asb-qc-field label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.asb-qc-field select{font-family:inherit;font-size:.95rem;color:var(--as-navy,#132a4b);padding:.6rem .55rem;border:1px solid var(--as-steel,#d0d4db);border-radius:8px;width:100%;min-width:0;background:var(--as-white,#fff)}
.asb-qc-field select:focus{outline:none;border-color:var(--as-leaf,#92b03d)}
.asb-qc-unitwrap{position:relative;display:block}
.asb-qc-field input{font-family:inherit;font-size:.95rem;color:var(--as-navy,#132a4b);padding:.6rem 2.4rem .6rem .7rem;border:1px solid var(--as-steel,#d0d4db);border-radius:8px;width:100%;min-width:0;background:var(--as-white,#fff)}
.asb-qc-field-qty input{padding-right:.7rem;text-align:center}
.asb-qc-field input:focus{outline:none;border-color:var(--as-leaf,#92b03d)}
.asb-qc-unit{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);font-size:.78rem;color:var(--as-muted,#3e5068);pointer-events:none}
.asb-qc-warn{grid-column:1/-1;margin:0;font-size:.78rem;color:#a05616}
@media (max-width:560px){
  .asb-qc-thead{display:none}
  .asb-qc-item{grid-template-columns:1fr 1fr;padding:.8rem 0}
  .asb-qc-field label{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:block;font-size:.68rem;font-weight:700;color:var(--as-muted,#3e5068);margin-bottom:.25rem}
  .asb-qc-remove{grid-column:1/-1;justify-self:end;font-size:.78rem}
  .asb-qc-remove::after{content:" Remove"}
}

.asb-qc-add{width:100%;background:none;border:2px dashed var(--as-steel,#d0d4db);border-radius:10px;color:var(--as-leaf-deep,#5c7526);font-family:inherit;font-weight:700;font-size:.92rem;padding:.7rem;cursor:pointer;margin-bottom:1.1rem}
.asb-qc-add:hover{border-color:var(--as-leaf,#92b03d);background:var(--as-leaf-tint,#f3f8e7);color:var(--as-leaf-deep,#5c7526)}

.asb-qc-guard{display:none;background:#fdf3f3;border:1px solid #e5b8b8;border-radius:10px;color:#a03030;font-size:.88rem;font-weight:600;padding:.8rem 1rem;margin-bottom:1rem}
.asb-qc-guard.is-shown{display:block}

/* the two bridge fields inside the Fluent form are for the submission only */
.asb-quote-calc .asb-bridge-field,.frm-fluent-form .asb-bridge-field{display:none}

/* dev/config notices (missing form id, Fluent inactive) — admin-facing */
.asb-qc-notice{background:#fdf6e3;border:1px solid #e5d5a8;border-radius:10px;color:#7a5c00;font-size:.88rem;padding:.8rem 1rem}

/* Brand-style the Fluent form's own fields inside the block so the rendered
   form matches the calculator card (Fluent ships its own grey defaults). */
.asb-quote-calc .frm-fluent-form input[type=text],
.asb-quote-calc .frm-fluent-form input[type=tel],
.asb-quote-calc .frm-fluent-form input[type=email],
.asb-quote-calc .frm-fluent-form input[type=number],
.asb-quote-calc .frm-fluent-form select,
.asb-quote-calc .frm-fluent-form textarea{font-family:inherit;font-size:1rem;color:var(--as-navy,#132a4b);padding:.8rem 1rem;border:2px solid var(--as-steel,#d0d4db);border-radius:10px;width:100%;background:var(--as-white,#fff)}
.asb-quote-calc .frm-fluent-form input:focus,
.asb-quote-calc .frm-fluent-form select:focus,
.asb-quote-calc .frm-fluent-form textarea:focus{outline:none;border-color:var(--as-leaf,#92b03d);box-shadow:none}
.asb-quote-calc .frm-fluent-form .ff-el-group{margin-bottom:.8rem}
.asb-quote-calc .frm-fluent-form .ff-el-input--label label{font-size:.78rem;font-weight:700;color:var(--as-navy,#132a4b)}
.asb-quote-calc .frm-fluent-form .ff-btn-submit{font-family:inherit;font-weight:700;font-size:1rem;border-radius:var(--as-pill,999px);padding:.9rem 1.9rem;border:2px solid transparent;cursor:pointer;width:100%;background:var(--as-leaf,#92b03d);color:var(--as-navy,#132a4b);transition:background .18s ease}
.asb-quote-calc .frm-fluent-form .ff-btn-submit:hover{background:var(--as-leaf-hover,#a2c14c);color:var(--as-navy,#132a4b)}
