/* ============================================================
   Eligibility assessment — front-of-house pieces:
   - product-page gate ("Start assessment")
   - checkout photo-ID uploader
   - assessment summary shown to prescribers / admins
   All Manrope, brand palette.
   ============================================================ */

/* ---- Product-page gate ---- */
.pharmo-assess-gate {
  margin: 1.25rem 0 0.5rem;
  padding: 1.5rem;
  border: 1px solid #E6E2D6;
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #E4F4F4 0%, #F4F5F7 100%);
}
.pharmo-assess-gate__lead {
  margin: 0 0 1rem;
  font-size: 0.98rem;
  color: #1E2733;
}
.pharmo-assess-gate__btn { display: inline-flex; }
.pharmo-assess-gate__note {
  margin: 0.85rem 0 0;
  font-size: 0.8rem;
  color: rgba(30, 39, 51, 0.6);
}

/* ---- Checkout photo-ID uploader ---- */
.pharmo-id-upload {
  margin: 1.5rem 0;
  padding: 1.5rem;
  border: 1px solid #E6E2D6;
  border-radius: 1.25rem;
  background: #fff;
}
.pharmo-id-upload h3 {
  margin: 0 0 0.4rem;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #042454;
}
.pharmo-id-upload p {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  color: rgba(30, 39, 51, 0.75);
}
.pharmo-id-upload__drop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1.6rem 1.25rem;
  border: 1.5px dashed #5FB0B5;
  border-radius: 0.9rem;
  background: #E4F4F4;
  cursor: pointer;
  text-align: center;
  transition: border-color 0.15s, background 0.15s;
}
.pharmo-id-upload__drop:hover { border-color: #1B6B70; background: #d9eef0; }
.pharmo-id-upload__drop::before {
  content: "";
  width: 30px; height: 30px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%231B6B70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' x2='12' y1='3' y2='15'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Visually hide the native file input; the label acts as the dropzone. */
.pharmo-id-upload__drop input[type="file"] {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pharmo-id-upload__label { font-size: 0.92rem; font-weight: 600; color: #1B6B70; }
.pharmo-id-upload.is-busy { opacity: 0.7; }
.pharmo-id-upload.is-done .pharmo-id-upload__drop { border-style: solid; border-color: #1B6B70; background: #d7f0e4; }
.pharmo-id-upload.is-done .pharmo-id-upload__drop::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%231B6B70' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.pharmo-id-upload__status { margin-top: 0.75rem; font-size: 0.85rem; }
.pharmo-id-upload__status.is-ok { color: #065f46; }
.pharmo-id-upload__status.is-error { color: #b91c1c; }
.pharmo-id-upload__status.is-busy { color: #1B6B70; }

/* ---- Assessment summary (prescriber portal + wp-admin) ---- */
.pharmo-assess-summary {
  font-family: Manrope, system-ui, sans-serif;
  color: #1E2733;
}
.presc-assess {
  border-top: 1px solid #eee7d9;
  padding-top: 1rem;
  margin-bottom: 0.25rem;
}
.pharmo-assess-summary h4 {
  margin: 0 0 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #1B6B70;
}
.pharmo-assess-summary__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
}
.pharmo-assess-flag { color: #45525F; }
.pharmo-assess-answers {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0;
  display: grid;
  gap: 0.3rem;
}
@media (min-width: 560px) {
  .pharmo-assess-answers { grid-template-columns: 1fr 1fr; gap: 0.3rem 1.5rem; }
}
.pharmo-assess-answers li {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.85rem;
  padding: 0.25rem 0;
  border-bottom: 1px solid #f0ece0;
}
.pharmo-assess-answers li span { color: rgba(30, 39, 51, 0.7); }
.pharmo-assess-answers li strong { color: #042454; white-space: nowrap; }
.pharmo-assess-answers li.is-flag strong { color: #b45309; }
.pharmo-assess-answers li { flex-wrap: wrap; }
.pharmo-assess-detail {
  flex-basis: 100%;
  width: 100%;
  margin-top: 4px;
  font-size: 0.8rem;
  color: #92400e;
  background: #fffbeb;
  border-left: 2px solid #f59e0b;
  padding: 5px 9px;
  border-radius: 5px;
  white-space: normal;
  line-height: 1.4;
}
.pharmo-assess-id { margin: 1rem 0 0; }
.pharmo-assess-id h4 { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #1B6B70; margin: 0 0 0.5rem; }
.pharmo-assess-id__link { display: inline-flex; flex-direction: column; gap: 0.45rem; text-decoration: none; }
.pharmo-assess-id__thumb {
  display: block; max-width: 240px; width: 100%; height: auto;
  border: 1px solid #E6E2D6; border-radius: 0.6rem; box-shadow: 0 6px 18px -10px rgba(4, 36, 84, 0.35);
}
.pharmo-assess-id__link span,
.pharmo-assess-id__doc { color: #1B6B70; font-weight: 600; font-size: 0.85rem; }
.pharmo-assess-id__missing { color: #b91c1c; font-size: 0.85rem; margin: 0; }

/* wp-admin order meta box (assessment.css is enqueued on the order screen) */
.pharmo-admin-assess .pharmo-assess-summary h4 { margin-top: 0; }
.pharmo-admin-assess .pharmo-assess-answers { gap: 0.25rem 1.5rem; }
@media (min-width: 500px) { .pharmo-admin-assess .pharmo-assess-answers { grid-template-columns: 1fr 1fr; } }

/* ---- /order/ page — WooCommerce add-to-cart (not a native Woo page, so it
   gets no .woocommerce styling; style the variation form + button here) ---- */
.pharmo-order-atc { margin-top: auto; }
.pharmo-order-atc form.cart { margin: 0; }

/* Variation dropdowns: turn the default <table.variations> into stacked fields */
.pharmo-order-atc table.variations,
.pharmo-order-atc table.variations tbody,
.pharmo-order-atc table.variations tr,
.pharmo-order-atc table.variations th.label,
.pharmo-order-atc table.variations td.value { display: block; width: 100%; padding: 0; border: 0; }
.pharmo-order-atc table.variations { margin: 0 0 1rem; }
.pharmo-order-atc table.variations tr { margin-bottom: 0.85rem; }
.pharmo-order-atc table.variations th.label label {
  display: block; margin: 0 0 0.35rem;
  font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; color: #042454;
}
.pharmo-order-atc select {
  width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none;
  border: 1px solid #D1D1D1; border-radius: 0.8rem; background-color: #fff;
  padding: 0.75rem 2.4rem 0.75rem 1rem; font-size: 0.95rem; font-family: inherit; color: #042454;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23042454' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.95rem center; background-size: 14px;
}
.pharmo-order-atc select:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.18); }
.pharmo-order-atc .reset_variations {
  display: inline-block; margin-top: 0.4rem; font-size: 0.8rem; font-weight: 600;
  color: #1B6B70; text-decoration: underline;
}

/* Selected-variation price */
.pharmo-order-atc .woocommerce-variation-price { margin: 0.25rem 0 0.85rem; }
.pharmo-order-atc .woocommerce-variation-price .price { color: #042454; font-weight: 700; font-size: 1.2rem; }

/* Quantity + Add-to-cart row */
.pharmo-order-atc .woocommerce-variation-add-to-cart {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem;
}
.pharmo-order-atc .quantity { display: inline-flex; }
.pharmo-order-atc .quantity input.qty {
  width: 4rem; text-align: center; color: #042454; font-size: 0.95rem;
  border: 1px solid #D1D1D1; border-radius: 0.8rem; padding: 0.75rem 0.4rem;
}
.pharmo-order-atc .single_add_to_cart_button {
  flex: 1 1 auto; min-width: 150px; display: inline-flex; align-items: center; justify-content: center;
  border: 0; cursor: pointer; font-family: inherit; font-size: 0.95rem; font-weight: 700;
  color: #fff; background: #042454; border-radius: 9999px; padding: 0.85rem 1.4rem;
  transition: background 0.15s, transform 0.15s, opacity 0.15s;
}
.pharmo-order-atc .single_add_to_cart_button:hover { background: #1b3358; transform: translateY(-1px); }
.pharmo-order-atc .single_add_to_cart_button.disabled,
.pharmo-order-atc .single_add_to_cart_button.wc-variation-selection-needed,
.pharmo-order-atc .single_add_to_cart_button:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.pharmo-order-atc .single_variation { margin-bottom: 0.4rem; }
/* WooCommerce's "please select options" stock/error text */
.pharmo-order-atc .stock, .pharmo-order-atc .wc-no-matching-variations { font-size: 0.85rem; color: rgba(30,39,51,0.7); }

/* Short single-section pages (secure ID upload, order) let main.min-h-screen show
   its white background below the section — tint it so there's no white gap. */
body[class*="template-id-upload"] #main,
body[class*="template-order"] #main { background-color: #F4F5F7; }

/* ---- Checkout postcode → address lookup ---- */
.pharmo-pclookup {
  margin: 0 0 1.5rem; padding: 1.1rem 1.15rem;
  border: 1px solid #E6E2D6; border-radius: 1rem; background: #F4F5F7;
}
.pharmo-pclookup__label { display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; color: #042454; margin-bottom: 0.5rem; }
.pharmo-pclookup__row { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pharmo-pclookup__row .pharmo-pclookup__house { flex: 0 1 160px; text-transform: none; }
.pharmo-pclookup__row input {
  flex: 1; min-width: 0; border: 1px solid #D1D1D1; border-radius: 0.75rem;
  padding: 0.7rem 0.9rem; font-size: 0.95rem; color: #042454; background: #fff; text-transform: uppercase;
}
.pharmo-pclookup__row input::placeholder { text-transform: none; }
.pharmo-pclookup__row input:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.15); }
.pharmo-pclookup__btn {
  white-space: nowrap; border: 0; cursor: pointer; background: #042454; color: #fff;
  font-family: inherit; font-weight: 700; font-size: 0.9rem; border-radius: 0.75rem; padding: 0.7rem 1.15rem;
  transition: background 0.15s;
}
.pharmo-pclookup__btn:hover { background: #0a326f; }
.pharmo-pclookup__select {
  width: 100%; margin-top: 0.6rem; -webkit-appearance: none; appearance: none;
  border: 1px solid #D1D1D1; border-radius: 0.75rem; padding: 0.7rem 2.2rem 0.7rem 0.9rem;
  font-size: 0.95rem; color: #042454; background-color: #fff; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23042454' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.9rem center; background-size: 14px;
}
.pharmo-pclookup__status { margin: 0.55rem 0 0; font-size: 0.83rem; }
.pharmo-pclookup__status.is-error { color: #b91c1c; }
.pharmo-pclookup__status.is-ok { color: #065f46; }
.pharmo-pclookup__status.is-busy { color: #1B6B70; }

/* ---- Secure ID upload — identity gate fields ---- */
.pharmo-idlink-fields { display: grid; gap: 0.9rem; }
.pharmo-idlink-fields label { display: block; font-size: 0.85rem; font-weight: 600; color: #042454; }
.pharmo-idlink-fields input {
  width: 100%; margin-top: 0.35rem; border: 1px solid #D1D1D1; border-radius: 0.75rem;
  padding: 0.75rem 1rem; font-size: 0.95rem; color: #042454; background: #fff;
}
.pharmo-idlink-fields input:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95, 176, 181, 0.15); }

/* ---- GP details: highlighted block (order + account) ---- */
.pharmo-gp { font-size: 13px; color: #1E2733; }
.pharmo-gp--set { border: 1px solid #5FB0B5; background: #E4F4F4; border-radius: 10px; padding: 10px 12px; }
.pharmo-gp--none { color: #6b7280; }
.pharmo-gp__head { margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.pharmo-gp__pill { display: inline-block; padding: 2px 9px; border-radius: 9999px; font-size: 11px; font-weight: 700; }
.pharmo-gp__pill--yes { background: #1B6B70; color: #fff; }
.pharmo-gp__pill--consent { background: #C0C5CB; color: #042454; }
.pharmo-gp__pill--no { background: #e6e2d6; color: #6b7280; }
.pharmo-gp__table { width: 100%; border-collapse: collapse; }
.pharmo-gp__table th { text-align: left; vertical-align: top; width: 74px; padding: 3px 8px 3px 0; color: #1B6B70; font-weight: 700; font-size: 12px; }
.pharmo-gp__table td { padding: 3px 0; }
.pharmo-gp__auto { margin: 6px 0 0; font-size: 12px; color: #065f46; font-weight: 600; }

/* ---- GP capture form (/order/ builder) ---- */
.pharmo-gp-form__toggle { display: flex; align-items: flex-start; gap: 0.6rem; font-weight: 700; color: #042454; cursor: pointer; }
.pharmo-gp-form__toggle input { margin-top: 0.2rem; width: 18px; height: 18px; flex: none; accent-color: #1B6B70; }
.pharmo-gp-form__opt { font-weight: 500; color: #6b7280; font-size: 0.85em; }
.pharmo-gp-form__hint { margin: 0.4rem 0 0 1.8rem; font-size: 0.85rem; color: rgba(30,39,51,0.65); }
.pharmo-gp-form--required .pharmo-gp-form__hint { margin-left: 0; }
.pharmo-gp-form__lead { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1rem; color: #042454; }
.pharmo-gp-form__req { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #1B6B70; background: rgba(95,176,181,0.15); border: 1px solid rgba(95,176,181,0.4); border-radius: 9999px; padding: 0.15rem 0.55rem; }
.pharmo-gp-form__req-star { color: #b91c1c; margin-left: 0.15rem; }
.pharmo-gp-form__cap { display: inline-flex; align-items: baseline; gap: 0.25rem; flex-wrap: wrap; }

/* ---- GP surgery search selector ---- */
.pharmo-gp-search { position: relative; margin-top: 0.75rem; }
.pharmo-gp-search__label { display: block; font-size: 0.9rem; font-weight: 600; color: #042454; margin-bottom: 0.3rem; }
.pharmo-gp-search #ob_gp_search { width: 100%; border: 1px solid #D1D1D1; border-radius: 0.75rem; padding: 0.7rem 0.9rem; font-size: 0.95rem; color: #042454; background: #fff; font-family: inherit; }
.pharmo-gp-search #ob_gp_search:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.15); }
.pharmo-gp-search__results { position: absolute; z-index: 20; left: 0; right: 0; margin-top: 4px; max-height: 280px; overflow-y: auto; background: #fff; border: 1px solid #d7dbe0; border-radius: 0.75rem; box-shadow: 0 12px 30px rgba(4,36,84,0.12); }
.pharmo-gp-search__item { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid #f0f0f0; padding: 0.6rem 0.9rem; cursor: pointer; }
.pharmo-gp-search__item:hover, .pharmo-gp-search__item:focus { background: #E4F4F4; }
.pharmo-gp-search__item-name { font-size: 0.9rem; font-weight: 600; color: #042454; }
.pharmo-gp-search__item-meta { font-size: 0.78rem; color: #6b7280; }
.pharmo-gp-search__none { padding: 0.7rem 0.9rem; font-size: 0.85rem; color: #6b7280; }
.pharmo-gp-search__chosen { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-top: 0.6rem; padding: 0.75rem 0.9rem; border: 1px solid #5FB0B5; background: #E4F4F4; border-radius: 0.75rem; }
.pharmo-gp-chosen__name { margin: 0; font-size: 0.92rem; font-weight: 700; color: #042454; }
.pharmo-gp-chosen__addr { margin: 2px 0 0; font-size: 0.8rem; color: rgba(30,39,51,0.7); }
.pharmo-gp-chosen__change { flex: none; background: #fff; border: 1px solid #cfd8dc; border-radius: 9999px; padding: 5px 14px; font-size: 12px; font-weight: 600; color: #042454; cursor: pointer; }
.pharmo-gp-search__manual-link { margin: 0.55rem 0 1rem; }
.pharmo-gp-search__manual-link button { background: none; border: 0; padding: 0; font-size: 0.8rem; color: #1B6B70; text-decoration: underline; cursor: pointer; }
.pharmo-gp-form__attr { margin: 0.9rem 0 0; font-size: 0.72rem; color: #9aa3af; }
.pharmo-gp-form__fields { margin-top: 1rem; display: grid; gap: 0.75rem; }
.pharmo-gp-form__fields[hidden] { display: none; }
.pharmo-gp-form__fields label { display: grid; gap: 0.3rem; font-size: 0.9rem; font-weight: 600; color: #042454; }
.pharmo-gp-form__fields input,
.pharmo-gp-form__fields textarea { width: 100%; border: 1px solid #D1D1D1; border-radius: 0.75rem; padding: 0.7rem 0.9rem; font-size: 0.95rem; color: #042454; background: #fff; font-family: inherit; }
.pharmo-gp-form__fields input:focus,
.pharmo-gp-form__fields textarea:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.15); }
.pharmo-gp-form__consent { flex-direction: row !important; display: flex !important; align-items: flex-start; gap: 0.6rem; font-weight: 500 !important; }
.pharmo-gp-form__consent input { width: 18px; height: 18px; flex: none; margin-top: 0.15rem; accent-color: #1B6B70; }
.pharmo-ob-step__note { font-size: 0.7em; font-weight: 500; color: #6b7280; }

/* ---- Dose adjustment panel (prescriber portal + admin) ---- */
.pharmo-dose { font-size: 13px; }
.pharmo-dose__field { display: grid; gap: 4px; font-weight: 600; color: #042454; margin-bottom: 8px; }
.pharmo-dose__field select { width: 100%; padding: 7px 9px; border: 1px solid #cfcfcf; border-radius: 8px; font-size: 13px; background: #fff; color: #1E2733; }
.pharmo-dose__hint { margin: 8px 0 0; font-size: 11.5px; color: #6b7280; }
.pharmo-dose__status { margin: 8px 0 0; font-size: 12.5px; }
.pharmo-dose__status.is-busy { color: #1B6B70; }
.pharmo-dose__status.is-ok { color: #065f46; }
.pharmo-dose__status.is-error { color: #b91c1c; }
.pharmo-dose__copy { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
.pharmo-dose__copy input { flex: 1; min-width: 200px; padding: 7px 9px; border: 1px solid #cfcfcf; border-radius: 8px; font-size: 12px; background: #fff; }

/* ---- /order/ builder ---- */
.pharmo-ob-reorder { margin-top: 1.5rem; background: linear-gradient(180deg, #E4F4F4, #F4F5F7); border: 1px solid #5FB0B5; border-radius: 1.25rem; padding: 1.25rem 1.5rem; }
.pharmo-ob-reorder__head { display: flex; align-items: center; gap: 0.55rem; font-weight: 700; color: #1B6B70; font-size: 1rem; }
.pharmo-ob-reorder__body { margin: 0.5rem 0 0; color: rgba(30,39,51,0.75); font-size: 0.92rem; }

/* ── Reorder: sections already on file ────────────────────────────────────
   A returning patient's GP surgery and photo ID carry over from their last
   order, so those steps are replaced by a confirmation rather than asked
   again. See template-order.php ($skip_gp / $skip_id). */
.pharmo-ob-step--onfile { background: rgba(228,244,244,0.5); border-color: rgba(95,176,181,0.35); }
.pharmo-ob-onfile {
  display: flex; align-items: flex-start; gap: 0.5rem; margin: 0.35rem 0 0;
  font-size: 0.92rem; line-height: 1.5; color: #042454;
}
.pharmo-ob-onfile svg { flex: none; margin-top: 0.15rem; color: #287378; }

/* Escape hatch when the pre-filled treatment is not the one they want. */
.pharmo-ob-switch { margin-top: 0.9rem; border-top: 1px solid rgba(214,219,226,0.7); padding-top: 0.9rem; }
.pharmo-ob-switch > summary {
  cursor: pointer; font-size: 0.85rem; font-weight: 600; color: #287378; list-style: none;
}
.pharmo-ob-switch > summary::-webkit-details-marker { display: none; }
.pharmo-ob-switch > summary::before { content: "+ "; font-weight: 700; }
.pharmo-ob-switch[open] > summary::before { content: "− "; }
.pharmo-ob-switch > summary:hover { color: #042454; }
.pharmo-ob-switch .pharmo-ob-products { margin-top: 0.75rem; }
.pharmo-ob-reorder__dose { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 0.9rem; }
.pharmo-ob-reorder__last { font-size: 0.9rem; color: #042454; }
.pharmo-ob-reorder__btns { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pharmo-ob-dose { border: 1px solid #5FB0B5; background: #fff; color: #1B6B70; font-weight: 600; font-size: 0.85rem; border-radius: 9999px; padding: 0.45rem 0.9rem; cursor: pointer; transition: background .15s, color .15s; }
.pharmo-ob-dose:hover { background: #1B6B70; color: #fff; }
.pharmo-ob-step { margin-top: 1.5rem; background: #fff; border: 1px solid #E6E2D6; border-radius: 1.25rem; padding: 1.5rem 1.75rem; box-shadow: 0 12px 40px -22px rgba(4,36,84,0.18); }
.pharmo-ob-step__title { font-family: Manrope, system-ui, sans-serif; font-weight: 700; color: #042454; font-size: 1.15rem; margin: 0 0 1rem; }
.pharmo-ob-step__hint { color: rgba(30,39,51,0.7); font-size: 0.92rem; margin: 0 0 1rem; }
.pharmo-ob-products { display: grid; gap: 1rem; }
/* Two across: four treatments make a tidy 2 x 2 instead of 3 + 1. */
@media (min-width: 560px) { .pharmo-ob-products { grid-template-columns: repeat(2, 1fr); } }
.pharmo-ob-product { display: flex; flex-direction: column; gap: 0.5rem; border: 1px solid #E6E2D6; border-radius: 1rem; padding: 1rem; background: #F4F5F7; }
.pharmo-ob-product__img { width: 72px; height: 72px; object-fit: contain; border-radius: 0.6rem; background: #fff; border: 1px solid #E6E2D6; }
.pharmo-ob-product__name { font-weight: 700; color: #042454; font-size: 0.95rem; margin: 0.25rem 0 0; }
.pharmo-ob-product__price { color: #1B6B70; font-weight: 600; font-size: 0.9rem; }
.pharmo-ob-product__price del { opacity: 0.5; font-weight: 400; }
.pharmo-ob-variation, .pharmo-ob-fields input {
  -webkit-appearance: none; appearance: none;
}
.pharmo-ob-variation {
  width: 100%; margin-top: auto; border: 1px solid #D1D1D1; border-radius: 0.75rem; background-color: #fff;
  padding: 0.65rem 2.2rem 0.65rem 0.85rem; font-size: 0.9rem; color: #042454; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23042454' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.8rem center; background-size: 12px;
}
.pharmo-ob-variation:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.15); }
.pharmo-ob-selected { margin: 1rem 0 0; font-size: 0.9rem; font-weight: 600; }
.pharmo-ob-selected.is-ok { color: #065f46; }
.pharmo-ob-selected.is-error { color: #b91c1c; }
.pharmo-ob-selected.is-busy { color: #1B6B70; }
.pharmo-ob-fields { display: grid; gap: 0.9rem; }
@media (min-width: 560px) { .pharmo-ob-fields { grid-template-columns: 1fr 1fr; } }
.pharmo-ob-fields__full { grid-column: 1 / -1; }
.pharmo-ob-fields label { display: block; font-size: 0.82rem; font-weight: 600; color: #042454; }
.pharmo-ob-fields input { width: 100%; margin-top: 0.35rem; border: 1px solid #D1D1D1; border-radius: 0.75rem; padding: 0.7rem 1rem; font-size: 0.95rem; color: #042454; background: #fff; }
.pharmo-ob-fields input:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95,176,181,0.15); }
.pharmo-ob-foot { margin-top: 1.75rem; text-align: center; }
.pharmo-ob-proceed { min-width: 260px; }
.pharmo-ob-status { margin-top: 0.75rem; font-size: 0.9rem; }
.pharmo-ob-status.is-error { color: #b91c1c; }
.pharmo-ob-status.is-busy { color: #1B6B70; }
.pharmo-ob-foot__note { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1rem; font-size: 0.8rem; color: rgba(30,39,51,0.55); }

.pharmo-assess-id__audit { margin: 0.5rem 0 0; font-size: 0.78rem; color: rgba(30,39,51,0.55); }

.pharmo-ob-fields__hint { font-weight: 500; color: #6b7280; font-size: 0.85em; }

/* WooCommerce's ".woocommerce-page img { max-width:100% }" outranked the
   240px cap in the prescriber portal, so the ID filled the whole card. */
.pharmo-assess-id img.pharmo-assess-id__thumb { max-width: 240px !important; }
.pharmo-gp-search__manual-inline { background: none; border: 0; padding: 0; color: #1B6B70; font-weight: 600; text-decoration: underline; cursor: pointer; font-size: inherit; }

/* ---- /update-order/: the patient answers an information request ---- */
.pharmo-uo__msg { margin: 0.75rem 0 0; padding: 0.75rem 1rem; border-left: 3px solid #5FB0B5; background: #F4F5F7; border-radius: 0 0.6rem 0.6rem 0; color: #1E2733; white-space: pre-line; }
.pharmo-uo__form { margin-top: 1.25rem; display: grid; gap: 1rem; }
.pharmo-uo__sec { margin: 0; padding: 0.9rem 1.1rem 1.1rem; border: 1px solid #E5E7EB; border-radius: 1rem; background: #fff; min-width: 0; }
.pharmo-uo__sec.has-error { border-color: #FCA5A5; background: #FFFBFB; }
.pharmo-uo__sec legend { padding: 0 0.35rem; margin-left: -0.35rem; font-weight: 700; color: #042454; font-size: 1rem; }
.pharmo-uo__sec textarea,
.pharmo-uo__field input { width: 100%; border: 1px solid #D1D5DB; border-radius: 0.65rem; padding: 0.65rem 0.8rem; font: inherit; font-size: 0.95rem; color: #1E2733; background: #fff; }
.pharmo-uo__sec textarea:focus,
.pharmo-uo__field input:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95, 176, 181, 0.15); }
.pharmo-uo__hint { margin: 0.1rem 0 0.7rem; font-size: 0.88rem; color: rgba(30, 39, 51, 0.7); }
.pharmo-uo__field { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.85rem; font-weight: 600; color: #042454; }
.pharmo-uo__field--narrow { max-width: 240px; }
.pharmo-uo__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
@media (min-width: 520px) { .pharmo-uo__grid--4 { grid-template-columns: repeat(4, 1fr); } }
.pharmo-uo__grid[hidden] { display: none; }
.pharmo-uo__units { display: inline-flex; gap: 0.25rem; padding: 0.25rem; margin: 0 0 0.75rem; background: #F4F5F7; border-radius: 9999px; }
.pharmo-uo__units label { position: relative; cursor: pointer; }
.pharmo-uo__units input { position: absolute; opacity: 0; pointer-events: none; }
.pharmo-uo__units span { display: inline-block; padding: 0.35rem 0.9rem; border-radius: 9999px; font-size: 0.85rem; font-weight: 600; color: #042454; }
.pharmo-uo__units input:checked + span { background: #042454; color: #fff; }
.pharmo-uo__units input:focus-visible + span { outline: 2px solid #5FB0B5; outline-offset: 2px; }
.pharmo-uo__error { margin: 0.5rem 0 0; color: #B91C1C; font-size: 0.86rem; font-weight: 600; }
.pharmo-uo__error--top { margin: 1rem 0 0; padding: 0.6rem 0.9rem; background: #FEF2F2; border-radius: 0.6rem; }
.pharmo-uo__fine { margin: 0; font-size: 0.8rem; color: rgba(30, 39, 51, 0.6); }
/* The GP block brings its own "Your GP surgery" heading: the legend says it already. */
.pharmo-uo .pharmo-gp-form__lead { display: none; }
.pharmo-uo .pharmo-gp-form__hint { margin-top: 0; }
