/* FINALE F19 - B702 READABILITY FOUNDATION */

#b702-dark-wizard-root {
  --f19-text: #f5f7f3;
  --f19-muted: #d5e2d9;
  --f19-border: rgba(225,239,229,.34);
  color: var(--f19-text);
  font-size: 17px;
  line-height: 1.55;
}

/* Nadpisy a sekce */
#b702-dark-wizard-root h1 {
  font-size: clamp(26px,2.3vw,34px);
  line-height: 1.25;
  color: #ffffff;
}

#b702-dark-wizard-root h2,
#b702-dark-wizard-root .b702-section-title {
  font-size: 22px;
  line-height: 1.35;
  font-weight: 750;
  color: #ffffff;
}

#b702-dark-wizard-root h3 {
  font-size: 19px;
  line-height: 1.4;
  color: #ffffff;
}

/* Popisky a nápovědy */
#b702-dark-wizard-root label {
  font-size: 16px;
  line-height: 1.45;
  font-weight: 650;
  color: #f5f7f3;
}

#b702-dark-wizard-root small,
#b702-dark-wizard-root .hint,
#b702-dark-wizard-root .help,
#b702-dark-wizard-root .description {
  font-size: 15px;
  line-height: 1.5;
  color: var(--f19-muted);
}

/* Vstupní pole */
#b702-dark-wizard-root input:not([type="checkbox"]):not([type="radio"]),
#b702-dark-wizard-root select,
#b702-dark-wizard-root textarea {
  box-sizing: border-box;
  min-height: 50px;
  font-size: 18px;
  line-height: 1.4;
  color: #ffffff;
  background-color: #17372e;
  border: 1px solid var(--f19-border);
  border-radius: 11px;
  padding: 11px 14px;
  opacity: 1;
  -webkit-text-fill-color: #ffffff;
}

#b702-dark-wizard-root textarea {
  min-height: 100px;
  resize: vertical;
}

#b702-dark-wizard-root input::placeholder,
#b702-dark-wizard-root textarea::placeholder {
  color: #c0d1c6;
  opacity: 1;
}

#b702-dark-wizard-root select option {
  background: #17372e;
  color: #ffffff;
}

/* Klávesnice a aktivní pole */
#b702-dark-wizard-root input:focus-visible,
#b702-dark-wizard-root select:focus-visible,
#b702-dark-wizard-root textarea:focus-visible,
#b702-dark-wizard-root button:focus-visible {
  outline: 3px solid #e1c98a;
  outline-offset: 2px;
}

/* Tlačítka */
#b702-dark-wizard-root button {
  min-height: 48px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 650;
}

/* Checkboxy */
#b702-dark-wizard-root input[type="checkbox"],
#b702-dark-wizard-root input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: #d5bd7a;
}

/* Zabránění nečitelnému textu v běžných kartách */
#b702-dark-wizard-root p,
#b702-dark-wizard-root li {
  line-height: 1.55;
}

/* Mobilní použitelnost */
@media (max-width: 700px) {
  #b702-dark-wizard-root {
    font-size: 16px;
  }

  #b702-dark-wizard-root input:not([type="checkbox"]):not([type="radio"]),
  #b702-dark-wizard-root select,
  #b702-dark-wizard-root textarea {
    width: 100%;
    max-width: 100%;
    font-size: 18px;
    min-height: 52px;
  }

  #b702-dark-wizard-root button {
    min-height: 50px;
  }
}

/* =====================================================
   FINALE F20B - B702 READABILITY CORRECTION
   Overrides legacy F13 / E26M295 !important rules.
   Scope: B702 wizard only.
   ===================================================== */

#b702-dark-wizard-root {
  font-size: 17px !important;
}

/* Main form controls */
#b702-dark-wizard-root input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
#b702-dark-wizard-root select,
#b702-dark-wizard-root textarea {
  font-size: 18px !important;
  line-height: 1.45 !important;
  min-height: 52px;
  letter-spacing: normal !important;
}

/* Placeholder text */
#b702-dark-wizard-root input::placeholder,
#b702-dark-wizard-root textarea::placeholder {
  font-size: 17px !important;
  opacity: 1 !important;
}

/* Native select options */
#b702-dark-wizard-root select option,
#b702-dark-wizard-root select optgroup {
  font-size: 18px !important;
}

/* Dates and time controls */
#b702-dark-wizard-root input[type="date"],
#b702-dark-wizard-root input[type="time"],
#b702-dark-wizard-root input[type="datetime-local"] {
  font-size: 18px !important;
  color-scheme: dark;
}

#b702-dark-wizard-root input::-webkit-datetime-edit,
#b702-dark-wizard-root input::-webkit-datetime-edit-fields-wrapper,
#b702-dark-wizard-root input::-webkit-datetime-edit-text,
#b702-dark-wizard-root input::-webkit-datetime-edit-day-field,
#b702-dark-wizard-root input::-webkit-datetime-edit-month-field,
#b702-dark-wizard-root input::-webkit-datetime-edit-year-field,
#b702-dark-wizard-root input::-webkit-datetime-edit-hour-field,
#b702-dark-wizard-root input::-webkit-datetime-edit-minute-field {
  font-size: 18px !important;
}

/* Field captions */
#b702-dark-wizard-root .b702-field > span {
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

/* Step navigation */
#b702-dark-wizard-root .b702-step,
#b702-dark-wizard-root .b702-step span,
#b702-dark-wizard-root .b702-step strong,
#b702-dark-wizard-root .b702-step small {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

#b702-dark-wizard-root .b702-step-dot {
  font-size: 16px !important;
}

/* Explanatory text */
#b702-dark-wizard-root .b702-form-head small,
#b702-dark-wizard-root .b702-title p,
#b702-dark-wizard-root .b702-family-help,
#b702-dark-wizard-root .b702-family-after,
#b702-dark-wizard-root .b702-suggest-info,
#b702-dark-wizard-root .b702-pickup-info,
#b702-dark-wizard-root .b702-place-selected {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* Small and inline-sized texts in wizard content */
#b702-dark-wizard-root .b702-content small,
#b702-dark-wizard-root .b702-content [style*="font-size:11px"],
#b702-dark-wizard-root .b702-content [style*="font-size:12px"],
#b702-dark-wizard-root .b702-content [style*="font-size:13px"],
#b702-dark-wizard-root .b702-content [style*="font-size: 11px"],
#b702-dark-wizard-root .b702-content [style*="font-size: 12px"],
#b702-dark-wizard-root .b702-content [style*="font-size: 13px"] {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Keep explanations readable on light backgrounds */
#b702-dark-wizard-root .b702-content > p,
#b702-dark-wizard-root .b702-content > small,
#b702-dark-wizard-root .b702-section-title > p {
  color: #344f45 !important;
}

/* Improve readability of step headings */
#b702-dark-wizard-root .b702-form-head h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

/* Mobile */
@media (max-width: 700px) {
  #b702-dark-wizard-root .b702-step,
  #b702-dark-wizard-root .b702-step span {
    font-size: 14px !important;
  }

  #b702-dark-wizard-root input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  #b702-dark-wizard-root select,
  #b702-dark-wizard-root textarea {
    font-size: 18px !important;
    min-height: 52px;
  }
}

/* FINALE F21B - FLORIST READABILITY */
/* Scoped to the B702 wizard and its florist panel. */

#b702-dark-wizard-root .b712-florist-panel {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 18px 0 !important;
  padding: 22px !important;
  border-radius: 18px !important;
  overflow: visible !important;
}

#b702-dark-wizard-root .b712-florist-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}

#b702-dark-wizard-root .b712-florist-head h3 {
  font-size: 22px !important;
  line-height: 1.3 !important;
}

#b702-dark-wizard-root .b712-florist-head p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #e1ebe4 !important;
}

#b702-dark-wizard-root .b712-kicker,
#b702-dark-wizard-root .b719-soft-badge {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#b702-dark-wizard-root .b712-florist-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
}

#b702-dark-wizard-root .b712-florist-grid label {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  min-width: 0 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  color: #f4f7f3 !important;
}

#b702-dark-wizard-root .b712-florist-grid label.wide {
  grid-column: 1 / -1 !important;
}

#b702-dark-wizard-root .b712-florist-grid input,
#b702-dark-wizard-root .b712-florist-grid textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  padding: 12px 14px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #203a31 !important;
  border: 1px solid #879c8f !important;
  border-radius: 11px !important;
}

#b702-dark-wizard-root .b712-florist-grid textarea {
  min-height: 100px !important;
}

#b702-dark-wizard-root .b712-florist-grid input::placeholder,
#b702-dark-wizard-root .b712-florist-grid textarea::placeholder {
  color: #d0ddd3 !important;
  opacity: 1 !important;
  font-size: 16px !important;
}

#b702-dark-wizard-root .b714-florist-ui-title strong,
#b702-dark-wizard-root .b714-florist-suggestion strong,
#b702-dark-wizard-root .b714b-florist-main {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

#b702-dark-wizard-root .b714-florist-ui-title span,
#b702-dark-wizard-root .b714-florist-suggestion span,
#b702-dark-wizard-root .b714-florist-suggestion em,
#b702-dark-wizard-root .b714b-florist-meta,
#b702-dark-wizard-root .b714b-florist-score {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#b702-dark-wizard-root .b714-florist-suggestion,
#b702-dark-wizard-root .b714b-florist-row {
  min-height: 44px;
}

@media (max-width: 760px) {
  #b702-dark-wizard-root .b712-florist-panel {
    padding: 16px !important;
  }

  #b702-dark-wizard-root .b712-florist-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }

  #b702-dark-wizard-root .b712-florist-grid label.wide {
    grid-column: auto !important;
  }
}

/* FINALE F21C - FLOWERS CONTRAST FIX */

/* Flowers content in the services step */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) {
  color: #f5f7f3;
}

/* Give the flower order its own dark surface */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) .b702-services-stage,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) .b702-flowers,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) .b702-flower-order {
  background: #142820 !important;
  color: #f5f7f3 !important;
  border-radius: 18px;
}

/* All ordinary flower-form text must remain readable */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) label,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) legend,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) strong,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) small {
  color: #f5f7f3 !important;
  opacity: 1 !important;
}

/* Readable radio options */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) input[type="radio"] {
  accent-color: #d5bd7a;
}

/* Flower order fields */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) input:not([type="radio"]):not([type="checkbox"]),
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) select,
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) textarea {
  font-size: 18px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #203a31 !important;
  border: 1px solid #879c8f !important;
}

/* Visible buttons */
#b702-dark-wizard-root .b702-content:has(.b712-florist-panel) button {
  font-size: 16px !important;
}

/* Keep the already approved florist card */
#b702-dark-wizard-root .b712-florist-panel {
  background: linear-gradient(145deg,#172a23,#101e19) !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  #b702-dark-wizard-root .b702-content:has(.b712-florist-panel) {
    font-size: 16px !important;
  }
}
