/* ==========================================================================
   funnel.css - personal offer pages (he/offer.html, he/request-offer.html, he/order.html)
   and the office action page (he/admin-action.html).
   Only .offer-*, .admin-* and .identity-strip* selectors. The base shell (container,
   .quiz-panel, .form-group, .btn, .identity-strip) comes from the inline
   critical CSS duplicated from he/privacy-check.html and from style.css.
   Uses the :root tokens of style.css and logical properties (RTL-safe).
   ========================================================================== */

/* ---------- page header (dark) ---------- */
.offer-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-block-start:1.5rem}
.offer-resend.btn{min-height:44px;padding:10px 22px;font-size:.9375rem;color:#fff;background:transparent;border:1.5px solid rgba(255,255,255,.6)}
.offer-resend.btn:hover{color:var(--color-primary,#0A1F44);background:#fff;border-color:#fff;transform:none;box-shadow:none}
.offer-resend.btn:disabled{opacity:.6;cursor:not-allowed}
.offer-resend.btn:disabled:hover{color:#fff;background:transparent;border-color:rgba(255,255,255,.6)}
.offer-hero__status{min-block-size:1.5em;margin-block-start:.75rem;font-size:.9375rem;color:rgba(255,255,255,.9)}
.offer-hero__status:empty{display:none}

/* ---------- screens ---------- */
.offer-screen{display:flex;flex-direction:column;gap:1.5rem}
.offer-screen[hidden]{display:none}
.offer-hero__actions[hidden],.offer-docs__more[hidden]{display:none}
.offer-loading{font-size:1rem;color:var(--color-text-light,#55606E);text-align:center}
.offer-text{font-size:1.03rem;line-height:1.75;color:var(--color-text,#1F2937);max-width:62ch}
.offer-note{font-size:.9375rem;line-height:1.7;color:var(--color-text-light,#55606E);margin:0}
.offer-status{font-size:1rem;font-weight:600;line-height:1.6;color:var(--color-success,#047857)}
.offer-status:empty{display:none}
.offer-error{font-size:.9375rem;line-height:1.6;color:var(--color-error,#DC2626)}
.offer-error:empty,.offer-error[hidden]{display:none}
.offer-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.offer-actions .btn{min-height:48px}

/* ---------- panels ---------- */
.offer-panel__title{font-size:1.2rem;line-height:1.4;color:var(--color-primary,#0A1F44);margin:0 0 1rem;padding-block-end:.6rem;border-block-end:1px solid var(--color-border,#E2E8F0)}
.offer-panel__title:focus{outline:none}

/* ---------- documents list ---------- */
.offer-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.offer-docs__item{padding:.75rem 1rem;background:#F8FAFD;border:1px solid var(--color-border,#E2E8F0);border-inline-start:4px solid var(--color-accent-gold,#B8976A);border-radius:.6rem}
.offer-docs__item[hidden]{display:none}
.offer-docs__title{display:block;font-size:1rem;font-weight:600;line-height:1.45;color:var(--color-primary,#0A1F44)}
.offer-docs__reason{display:block;margin-block-start:.25rem;font-size:.9rem;line-height:1.65;color:var(--color-text-light,#55606E)}
.offer-docs__more{display:inline-flex;align-items:center;min-height:44px;margin-block-start:.75rem;padding:.5rem 0;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--color-primary,#0A1F44);background:none;border:0;text-decoration:underline;cursor:pointer}

/* ---------- included-work list (order page) ---------- */
.offer-list{list-style:disc;margin:0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:.4rem}
.offer-list li{font-size:.9375rem;line-height:1.7;color:var(--color-text,#1F2937)}
.offer-list__after{margin-block-start:1rem}
.offer-note a{text-decoration:underline}

/* ---------- how it works ---------- */
.offer-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;counter-reset:offer-step}
.offer-step{display:flex;align-items:flex-start;gap:.85rem}
.offer-step__num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;border-radius:50%;background:var(--color-primary,#0A1F44);color:#fff;font-size:.875rem;font-weight:700;line-height:1}
.offer-step__body{min-width:0}
.offer-step__title{display:block;font-size:1rem;font-weight:700;line-height:1.45;color:var(--color-primary,#0A1F44)}
.offer-step__text{display:block;margin-block-start:.2rem;font-size:.9375rem;line-height:1.7;color:var(--color-text,#1F2937)}

/* ---------- identity strip (offer variant) ---------- */
.identity-strip.identity-strip--offer{align-items:flex-start;padding:1.1rem 0 0}
.identity-strip__credential{font-size:.875rem;line-height:1.65;color:var(--color-text-light,#55606E)}
.identity-strip__responsibility{font-size:.9375rem;line-height:1.6;font-weight:600;color:var(--color-text,#1F2937)}

/* ---------- tiers ---------- */
.offer-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.offer-tier{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.15rem;background:#fff;border:1.5px solid var(--color-border,#E2E8F0);border-radius:.75rem}
.offer-tier.is-selected{border-color:var(--color-primary,#0A1F44);background:#F4F7FC;box-shadow:0 0 0 1px var(--color-primary,#0A1F44)}
.offer-tier__name{font-size:1.05rem;line-height:1.4;color:var(--color-primary,#0A1F44);margin:0}
.offer-tier__desc{font-size:.9375rem;line-height:1.7;color:var(--color-text,#1F2937);margin:0;flex:1 1 auto}
.offer-tier__choice{display:flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600;color:var(--color-primary,#0A1F44);cursor:pointer}
.offer-tier__choice input{inline-size:20px;block-size:20px;margin:0;accent-color:var(--color-primary,#0A1F44)}
.offer-tier__link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline}

/* ---------- accept form ---------- */
.offer-form .form-group input[aria-invalid="true"]{border-color:var(--color-error,#DC2626)}
.offer-form__submit{margin-block-start:.5rem}
.offer-form__submit .btn{inline-size:100%}
.offer-form__note{margin-block-start:.75rem;font-size:.9375rem;color:var(--color-text-light,#55606E);text-align:start}
.offer-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.offer-form .form-group select[aria-invalid="true"]{border-color:var(--color-error,#DC2626)}
.offer-form .form-group input[type="checkbox"][aria-invalid="true"]{outline:2px solid var(--color-error,#DC2626);outline-offset:2px}

/* ---------- terms of engagement (10ב) ---------- */
.offer-terms{margin-block:1.25rem 1rem}
.offer-terms__box{block-size:280px;overflow:auto;border:1px solid var(--color-border,#E2E8F0);border-radius:.5rem;background:#fff;padding:1rem 1.25rem;overscroll-behavior:contain}
.offer-terms__box:focus-visible{outline:3px solid var(--color-primary,#0A1F44);outline-offset:2px}
.offer-terms__open{margin:.5rem 0 1rem;font-size:.9375rem}
.offer-terms__open a,#offer-terms-check-text a{text-decoration:underline;font-weight:600}
.offer-terms__open a:focus-visible,#offer-terms-check-text a:focus-visible{outline:3px solid var(--color-primary,#0A1F44);outline-offset:2px;border-radius:.25rem}
.terms-doc{font-size:.9375rem;line-height:1.75;color:var(--color-text,#1F2937)}
.terms-doc .terms-doc__title{font-size:1.2rem;line-height:1.4;color:var(--color-primary,#0A1F44);margin:0 0 .5rem}
.terms-doc h3{font-size:1.05rem;line-height:1.4;color:var(--color-primary,#0A1F44);margin:1.5rem 0 .5rem}
.terms-doc h4{font-size:1rem;line-height:1.4;margin:1.25rem 0 .4rem}
.terms-doc p{margin:0 0 .75rem}
.terms-doc ol,.terms-doc ul{margin:0 0 .75rem;padding-inline-start:1.5rem}
.terms-doc li{margin-block-end:.35rem}
.terms-doc__subtitle,.terms-doc__meta{color:var(--color-text-light,#55606E)}
.terms-doc__sep{border:0;border-block-start:1px solid var(--color-border,#E2E8F0);margin:1.75rem 0}
.terms-blank{display:inline-block;min-inline-size:8em;border-block-end:1px solid #8a94a6}

/* ---------- contact block ---------- */
.offer-contact{padding-block-start:1.5rem;border-block-start:1px solid var(--color-border,#E2E8F0);font-size:.9375rem;line-height:1.75;color:var(--color-text,#1F2937)}
.offer-contact a{text-decoration:underline}
.offer-contact p{margin:0}
.offer-contact p+p{margin-block-start:.4rem}

/* ---------- office action page (he/admin-action.html, 10ג) ---------- */
.admin-warning{margin:0;padding:.85rem 1rem;font-size:.9375rem;line-height:1.65;color:#7A4B00;background:#FFF7E6;border:1px solid #F3D9A4;border-radius:.6rem}
.admin-warning[hidden]{display:none}
.admin-rows{inline-size:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.55}
.admin-rows th,.admin-rows td{padding:.5rem .75rem;border-block-end:1px solid var(--color-border,#E2E8F0);text-align:start;vertical-align:top;overflow-wrap:anywhere}
.admin-rows th{inline-size:40%;font-weight:600;color:var(--color-text-light,#55606E)}
.admin-rows td{color:var(--color-text,#1F2937)}
.admin-form .form-group textarea{inline-size:100%;min-block-size:6rem;resize:vertical;font:inherit}
.admin-form .form-group input[aria-invalid="true"]{border-color:var(--color-error,#DC2626)}
.admin-hint{margin:.35rem 0 0;font-size:.875rem;line-height:1.6;color:var(--color-text-light,#55606E)}
.admin-tier--quote{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}
.admin-tier__name{font-weight:600;color:var(--color-primary,#0A1F44)}
.admin-shell--wide.container--narrow{max-width:1100px}
.admin-rows[hidden],#admin-submit[hidden]{display:none}
.admin-report__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}
.admin-report__filters .form-group{margin:0;min-inline-size:11rem}
.admin-report__scroll{margin-block-start:1.5rem;overflow-x:auto;border:1px solid var(--color-border,#E2E8F0);border-radius:.6rem}
.admin-report__scroll:focus-visible{outline:3px solid var(--color-primary,#0A1F44);outline-offset:2px}
.admin-report__table{inline-size:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}
.admin-report__table caption{padding:.75rem;text-align:start;font-weight:700;color:var(--color-primary,#0A1F44)}
.admin-report__table th,.admin-report__table td{padding:.5rem .65rem;border-block-start:1px solid var(--color-border,#E2E8F0);text-align:start;white-space:nowrap}
.admin-report__table thead th{font-weight:600;color:var(--color-text-light,#55606E);background:#F7F9FC;white-space:normal;vertical-align:bottom}
.admin-report__table tbody th{font-weight:600;color:var(--color-text,#1F2937);white-space:normal;min-inline-size:10rem}
.admin-report__total th,.admin-report__total td{font-weight:700;background:#F4F8FF}
.admin-report__empty{color:var(--color-text-light,#55606E)}
.admin-report__notes{margin:1.25rem 0 0;padding-inline-start:1.25rem;font-size:.875rem;line-height:1.65;color:var(--color-text-light,#55606E)}

/* ---------- focus & motion ---------- */
.offer-docs__more:focus-visible,.offer-tier__link:focus-visible,.offer-contact a:focus-visible{outline:3px solid var(--color-primary,#0A1F44);outline-offset:2px;border-radius:.25rem}
.offer-tier__choice input:focus-visible{outline:3px solid var(--color-primary,#0A1F44);outline-offset:3px}
.offer-resend.btn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px rgba(10,31,68,.95)}
.offer-screen,.offer-panel__title{scroll-margin-top:96px}

@media(max-width:640px){
  .admin-rows th,.admin-rows td{display:block;inline-size:auto;padding-inline:0}
  .admin-rows th{padding-block-end:0;border-block-end:0}
  .offer-hero__actions .btn{inline-size:100%}
  .offer-actions .btn{inline-size:100%}
  .offer-tiers{grid-template-columns:1fr}
  .offer-form__row{grid-template-columns:1fr}
  .offer-terms__box{padding:.875rem 1rem}
}
@media(max-width:768px){.offer-screen,.offer-panel__title{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){
  .offer-resend.btn,.offer-tier,.offer-actions .btn{transition:none}
  .offer-actions .btn:hover{transform:none}
}
