/* Omnia Snow Quote — Styles v1.8.1 */
.omniaq *{box-sizing:border-box}
.omniaq{color:#e5e7eb}
.omniaq .card{
  background:var(--card);
  border:1px solid rgba(148,163,184,.15);
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 24px rgba(0,0,0,.25)
}
.omniaq h3{
  margin:16px 0 8px;
  font-size:14px;
  color: var(--heading);
  text-transform:uppercase;
  letter-spacing:.04em
}

.omniaq h3 { color: var(--heading) !important; }
.omniaq .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.omniaq .stack{display:grid;gap:10px}
.omniaq label.chk{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:12px;
  background:rgba(2,6,23,.35);
  cursor:pointer
}
.omniaq input[type=checkbox]{accent-color:var(--brand);width:18px;height:18px}
.omniaq input[type=number],
.omniaq input[type=text],
.omniaq input[type=email],
.omniaq input[type=tel],
.omniaq input[type=date]{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.18);
  color:#e5e7eb;
  outline:none
}
.omniaq input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}
.omniaq .muted{color:var(--muted)}
.omniaq .price{display:flex;align-items:baseline;gap:12px}
.omniaq .big{font-size:34px;font-weight:800}
.omniaq .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 16px;background:var(--brand);color:#fff;border:none;border-radius:12px;
  cursor:pointer;font-weight:700
}
.omniaq .btn[disabled]{opacity:.6;cursor:not-allowed}
.omniaq .success{
  color:#bbf7d0;background:rgba(22,163,74,.15);
  border:1px solid rgba(22,163,74,.35);padding:12px 14px;border-radius:12px
}
.omniaq .error{
  color:#fecaca;background:rgba(220,38,38,.12);
  border:1px solid rgba(220,38,38,.35);padding:12px 14px;border-radius:12px
}
.omniaq .note-addr{font-size:12px}
.omniaq .logo{height:28px}

/* Driveway segment buttons — 3 per row, bigger touch targets */
.omniaq .seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}
.omniaq .seg button{
  padding:22px 20px;background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.18);border-radius:12px;
  color:#e5e7eb;cursor:pointer;font-size:18px;font-weight:700;width:100%
}
.omniaq .seg button.active{
  background:rgba(37,99,235,.15);border-color:var(--brand);box-shadow:0 0 0 3px var(--ring) inset
}

/* --- Button spacing via helper row --- */
.omniaq .btn-row { margin-top: 16px; }

/* Discount field */
.omniaq .discount-row{display:flex;gap:10px;margin-top:10px}
.omniaq .discount-row input[type=text]{flex:1}

/* Stepper & steps */
.omniaq .stepper{display:flex;gap:8px;align-items:center;font-weight:600}
.omniaq .stepper .dot{width:10px;height:10px;border-radius:50%;background:rgba(148,163,184,.5)}
.omniaq .stepper .dot.active{background:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.omniaq .step{display:none}
.omniaq .step.show{display:block}
.omniaq .head{justify-content:space-between;margin-bottom:8px}
.omniaq .soft{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.35)}
.omniaq .row + .row { margin-top: 12px; }

/* ===== Booking dates: inline on desktop, labeled, white calendar icon ===== */
.omniaq .dates-block{
  display:grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap:12px;
  align-items:end; /* labels sit above, inputs align along bottom nicely */
}
.omniaq .date-field{display:flex;flex-direction:column;gap:6px}
.omniaq .date-field .label{font-size:12px;color:var(--muted);letter-spacing:.02em}

/* Inputs already styled elsewhere; just ensure they fill the cell */
.omniaq .date-field input[type=date]{ width:100%; }

/* Force a white calendar icon in Chromium/WebKit:
   1) visually hide native indicator, 2) draw our own white SVG as bg */
.omniaq input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0; /* click still works on the input */
}
.omniaq input[type="date"]{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V2zm13 9H4v9h16v-9zM4 7h16v2H4V7z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:18px 18px;
  padding-right:44px;   /* room for the icon */
  color-scheme:dark;    /* keeps native parts readable in dark UIs */
}
.omniaq .date-msg{ margin-top:4px; }

/* Two-column layout (laptop/desktop) */
.omniaq .two-col{display:grid;grid-template-columns:1fr;grid-template-areas:"right" "left";gap:16px}
.omniaq .col-left{grid-area:left}
.omniaq .col-right{grid-area:right}
@media (min-width:1024px){
  .omniaq .two-col{grid-template-columns:1fr 2fr;grid-template-areas:"left right";gap:24px}
  .omniaq .price-card{position:sticky;top:12px}
}

/* Address line in price card */
.omniaq .addr-line{margin-top:14px;border-top:1px dashed rgba(148,163,184,.25);padding-top:10px}
.omniaq .address-line{font-weight:600;word-break:break-word}

/* Regular (crossed-out) price just UNDER the monthly price */
.omniaq .regular-line{display:flex;align-items:baseline;gap:8px;margin-top:6px;margin-bottom:0}
.omniaq .regular-num{font-weight:700;opacity:.85;color:var(--muted)}
.omniaq .strike{text-decoration:line-through}

/* Continue button spacing under dates */
.omniaq .continue-row { margin-top: 12px; }

/* Red highlight on invalid contact fields (only after submit try) */
.omniaq .invalid{
  border-color: rgba(220,38,38,.7) !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.25) !important;
}

/* Booking dates summary spacing under address */
.omniaq .date-summary{ margin-top:10px; }

/* Hide the GST note under the price */
.omniaq .estimate-note { display: none !important; }
