.tpqx{--navy:#1d3158;--red:#b60008;--border:#e7edf4;--muted:#6b7280;--ink:#15233b;font-family:inherit;color:var(--ink);max-width:1280px;margin:20px auto;padding:clamp(16px,2.5vw,28px);background:#fff;border-radius:20px;box-shadow:0 8px 28px rgba(20,35,60,.06);box-sizing:border-box}.tpqx *{box-sizing:border-box}.tpqx-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.tpqx-header h2{margin:0 0 5px;font-size:clamp(24px,2.6vw,32px);line-height:1.25;color:#14233b}.tpqx-header p{margin:0;color:var(--muted);font-size:14px}.tpqx-tabs{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.tpqx-tab{border:0;background:#f1f3f6;border-radius:999px;padding:12px 18px;font:inherit;font-weight:650;color:#182235;cursor:pointer}.tpqx-tab.is-active{background:var(--navy);color:#fff;box-shadow:0 0 0 4px #f4dfe1}.tpqx-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.92fr);gap:24px;align-items:start}.tpqx-main,.tpqx-summary{min-width:0}.tpqx-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.tpqx-field>label,.tpqx-fieldset legend{font-weight:650;font-size:14px}.tpqx-control{width:100%;min-height:42px;border:1px solid #dfe5ed;border-radius:13px;background:#fff;color:var(--ink);font:inherit;padding:10px 12px}.tpqx-control:focus{outline:2px solid #dbeafe;border-color:#2563eb}.tpqx-fieldset{border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin:0 0 18px;min-width:0}.tpqx-fieldset legend{padding:0 5px}.tpqx-inline-options{display:flex;gap:14px;flex-wrap:wrap}.tpqx label{font-size:14px}.tpqx-inline-options label,.tpqx-fieldset>label{display:inline-flex;align-items:center;gap:5px;margin:3px 0}.tpqx-fieldset>label{display:flex;margin:7px 0}.tpqx input[type=radio],.tpqx input[type=checkbox]{accent-color:#1680ef}.tpqx-help,.tpqx-field small{color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 0}.tpqx-quantity-row{display:flex;align-items:center;gap:14px}.tpqx-quantity-row input[type=range]{width:100%;accent-color:#e4e7eb;min-width:60px}.tpqx-stepper{display:flex;align-items:center;flex:0 0 100px;border:1px solid #dfe5ed;border-radius:14px;overflow:hidden;min-height:42px}.tpqx-stepper button{width:30px;align-self:stretch;border:0;background:#fff;cursor:pointer;font-size:18px;color:var(--ink)}.tpqx-stepper input{width:38px;min-width:0;border:0;text-align:center;font:inherit;background:#fff;color:var(--ink);appearance:textfield}.tpqx-stepper input::-webkit-inner-spin-button,.tpqx-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tpqx-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.tpqx-option-grid .tpqx-fieldset{margin-bottom:14px}.tpqx-button{border:0;border-radius:999px;background:var(--red);color:#fff;padding:13px 22px;min-height:44px;font:inherit;font-weight:700;cursor:pointer}.tpqx-button:hover{filter:brightness(.96)}.tpqx-button:disabled{opacity:.45;cursor:not-allowed}.tpqx-button-secondary{background:#edf1f5;color:#182235}.tpqx-summary{border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:0 5px 20px rgba(20,35,60,.04)}.tpqx-price-head{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.tpqx-price-head span{display:block;color:#6b7280;font-size:12px;letter-spacing:.04em;margin-bottom:4px}.tpqx-price-head strong{display:block;font-size:clamp(21px,2vw,28px);line-height:1.2;color:var(--navy);overflow-wrap:anywhere}.tpqx-price-right{text-align:right}.tpqx-notice,.tpqx-summary-description{border:1px solid var(--border);border-radius:16px;padding:13px;margin:14px 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.tpqx-summary-description{color:#374151}.tpqx-detail-heading{font-size:12px;color:#6b7280;margin:16px 0 8px}.tpqx-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;font-size:13px}.tpqx-detail-row strong{text-align:right}.tpqx-summary>.tpqx-button{margin-top:12px}.tpqx-error{color:#b42318;font-size:13px;margin:10px 0}.tpqx-status{color:#17663a;margin-top:10px;font-weight:650}.tpqx-labor-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tpqx-labor-roles legend{grid-column:1/-1}.tpqx-role-card{border:1px solid var(--border);border-radius:15px;padding:12px;min-width:0}.tpqx-role-title{display:block;font-weight:650;margin-bottom:8px}.tpqx-role-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.tpqx-role-check{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px}.tpqx-role-check span{line-height:1.35}.tpqx-role-stepper{flex-basis:88px;min-height:38px}.tpqx-role-stepper button{width:25px}.tpqx-role-stepper input{width:34px;font-size:13px}.tpqx-booking{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.tpqx-booking h3{margin:0 0 16px}.tpqx-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.tpqx-full{grid-column:1/-1}.tpqx-consent{display:flex;gap:8px;align-items:flex-start;margin:5px 0 18px}.tpqx-actions{display:flex;gap:10px;flex-wrap:wrap}.tpqx [hidden]{display:none!important}@media(max-width:820px){.tpqx-header{flex-direction:column}.tpqx-layout{grid-template-columns:1fr}.tpqx-summary{order:2}}@media(max-width:560px){.tpqx{padding:15px;border-radius:14px}.tpqx-option-grid,.tpqx-labor-roles,.tpqx-booking-grid{grid-template-columns:1fr}.tpqx-full{grid-column:auto}.tpqx-price-head strong{font-size:21px}.tpqx-summary{padding:15px}.tpqx-fieldset{padding:12px}.tpqx-role-controls{gap:6px}.tpqx-role-check{font-size:11px}}
/* v1.2.1: isolate quantity stepper from theme-wide input/button rules */
.tpqx .tpqx-quantity-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.tpqx .tpqx-quantity-row > input[type="range"] {
  display: block !important;
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 40px !important;
  max-width: 100% !important;
}
.tpqx .tpqx-stepper {
  display: flex !important;
  flex: 0 0 112px !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  overflow: hidden !important;
  padding: 0 !important;
  gap: 0 !important;
}
.tpqx .tpqx-stepper > button {
  display: flex !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  min-width: 30px !important;
  max-width: 30px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #1d3158 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}
.tpqx .tpqx-stepper > input#tpqx-quantity {
  display: block !important;
  flex: 1 1 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #15233b !important;
  -webkit-text-fill-color: #15233b !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: normal !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
  appearance: textfield !important;
}
.tpqx .tpqx-stepper > input#tpqx-quantity::-webkit-inner-spin-button,
.tpqx .tpqx-stepper > input#tpqx-quantity::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
@media (max-width: 560px) {
  .tpqx .tpqx-quantity-row { gap: 8px !important; }
  .tpqx .tpqx-stepper {
    flex-basis: 108px !important;
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
}
