/* =====================================================================
   HELP & REFUND POLICY (/help, /refund-policy)
   Loaded only by pages/help.blade.php and pages/refund-policy.blade.php,
   after jhacasso-design-system.css. Tokens, hero, breadcrumb, heading and
   button styles come from the existing `.jc-cp` rules (reused as-is);
   everything below is new `.jc-info*` / `.jc-help*` only.
   ===================================================================== */

.jc-info-sec{ padding-top: 48px; }
.jc-info-h2{
  margin: 0 0 16px;
  font-family: var(--h-serif);
  font-weight: 600;
  font-size: 26px;
  line-height: 1.2;
  color: var(--h-ink);
}

/* ---------------------------------------------------------------------
   Admin-edited HTML (help text, refund policy) typeset as prose
   --------------------------------------------------------------------- */
.jc-info-prose{
  font-size: 16px;
  line-height: 1.75;
  color: var(--h-ink-2);
  overflow-wrap: anywhere;
}
.jc-info-prose > :first-child{ margin-top: 0; }
.jc-info-prose > :last-child{ margin-bottom: 0; }
.jc-info-prose p{ margin: 0 0 1em; color: inherit; }
.jc-info-prose h1,
.jc-info-prose h2,
.jc-info-prose h3,
.jc-info-prose h4,
.jc-info-prose h5,
.jc-info-prose h6{
  margin: 1.6em 0 0.55em;
  font-family: var(--h-serif);
  font-weight: 600;
  line-height: 1.25;
  color: var(--h-ink);
}
.jc-info-prose h1,
.jc-info-prose h2{ font-size: 24px; }
.jc-info-prose h3{ font-size: 20px; }
.jc-info-prose h4,
.jc-info-prose h5,
.jc-info-prose h6{ font-size: 17px; }
.jc-info-prose strong,
.jc-info-prose b{ color: var(--h-ink); }
.jc-info-prose a{ color: var(--h-rose); text-decoration: underline; text-underline-offset: 3px; }
.jc-info-prose ul,
.jc-info-prose ol{ margin: 0 0 1em; padding-left: 1.4em; }
.jc-info-prose ul{ list-style: disc; }
.jc-info-prose ol{ list-style: decimal; }
.jc-info-prose li{ margin-bottom: 0.4em; }
.jc-info-prose li::marker{ color: var(--h-rose); }
.jc-info-prose img{ max-width: 100%; height: auto !important; border-radius: var(--h-r); }
.jc-info-prose table{ display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.jc-info-prose td,
.jc-info-prose th{ padding: 8px 12px; border: 1px solid var(--h-line); }
.jc-info-prose hr{ margin: 1.6em 0; border: 0; border-top: 1px solid var(--h-line); }

/* ---------------------------------------------------------------------
   REFUND POLICY — readable document column
   --------------------------------------------------------------------- */
.jc-info-doc{
  max-width: 820px;
  padding: 44px 52px;
  border-radius: var(--h-r-lg);
  background: #fff;
  box-shadow: 0 1px 0 var(--h-line), var(--h-shadow);
}
.jc-info-doc .jc-info-prose{ font-size: 17px; }
.jc-info-empty{ margin: 0; font-size: 16px; color: var(--h-ink-2); }
.jc-info-cta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  max-width: 820px;
  margin-top: 24px;
  padding: 20px 24px;
  border-radius: var(--h-r);
  background: var(--h-blush);
}
.jc-info-cta__text{ margin: 0; font-size: 16px; font-weight: 600; color: var(--h-ink); }

/* ---------------------------------------------------------------------
   HELP — contact aside + enquiry form
   --------------------------------------------------------------------- */
.jc-help-grid{
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px;
  align-items: start;
}
.jc-help-contact{
  display: grid;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.jc-help-contact__item{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
  padding: 18px 20px;
  border-radius: var(--h-r);
  background: #fff;
  box-shadow: 0 1px 0 var(--h-line), var(--h-shadow);
}
.jc-help-contact__icon{
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--h-blush);
  color: var(--h-rose);
  font-size: 20px;
}
.jc-help-contact__text{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jc-help-contact__label{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--h-ink-2);
}
.jc-help-contact__value{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--h-ink);
  overflow-wrap: anywhere;
}
a.jc-help-contact__value{ display: inline-flex; align-items: center; min-height: 44px; margin: -10px 0; }
a.jc-help-contact__value:hover{ color: var(--h-rose); }
.jc-help-extra{
  padding: 22px 24px;
  border-radius: var(--h-r);
  background: #fff;
  border: 1px solid var(--h-line);
  font-size: 15px;
}

.jc-help-form-card{
  scroll-margin-top: 96px;
  padding: 36px 40px;
  border-radius: var(--h-r-lg);
  background: #fff;
  box-shadow: 0 1px 0 var(--h-line), var(--h-shadow-lg);
}
.jc-help-form-intro{ margin: -8px 0 20px; font-size: 14px; color: var(--h-ink-2); }
.jc-help-row{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.jc-help-field{ display: flex; flex-direction: column; margin-bottom: 18px; min-width: 0; }
.jc-help-field label{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--h-ink);
}
.jc-help-req{ color: var(--h-rose); }
.jc-help-opt{ font-weight: 500; color: var(--h-ink-2); }
.jc-help-field input,
.jc-help-field textarea{
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1.5px solid #DCCFC9;
  border-radius: 12px;
  background: var(--h-cream);
  font-family: inherit;
  font-size: 16px;
  color: var(--h-ink);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.jc-help-field textarea{ min-height: 150px; resize: vertical; line-height: 1.55; }
.jc-help-field input:focus,
.jc-help-field textarea:focus{
  outline: none;
  background: #fff;
  border-color: var(--h-rose);
  box-shadow: 0 0 0 3px rgba(178, 60, 86, 0.18);
}
.jc-help-field [aria-invalid="true"]{ border-color: #B3261E; background: #fff; }
.jc-help-field__error{ min-height: 0; margin-top: 6px; font-size: 13px; font-weight: 600; color: #B3261E; }
.jc-help-field__error:empty{ display: none; }

/* Honeypot: off-screen, not display:none (some bots skip hidden fields). */
.jc-help-hp{ position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.jc-help-submit{ width: 100%; min-height: 52px; gap: 10px; font-size: 16px; border: 0; cursor: pointer; }
.jc-help-submit:focus-visible{ outline: 3px solid var(--h-rose); outline-offset: 3px; }
.jc-help-submit[disabled]{ opacity: 0.75; cursor: progress; }
.jc-help-submit__spinner{
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: jc-help-spin 0.8s linear infinite;
}
.jc-help-submit.is-loading .jc-help-submit__spinner{ display: inline-block; }
@keyframes jc-help-spin{ to{ transform: rotate(360deg); } }

.jc-help-alert{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 20px;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.jc-help-alert[hidden]{ display: none; }
.jc-help-alert i{ flex-shrink: 0; font-size: 22px; line-height: 1.1; }
.jc-help-alert:focus{ outline: 3px solid var(--h-rose-soft); outline-offset: 2px; }
.jc-help-alert--success{ background: #E6F2EA; color: #1E5A35; }
.jc-help-alert--error{ background: #FBE9E7; color: #8C1D18; }

/* ---------------------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width: 991px){
  .jc-help-grid{ grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px){
  .jc-info-sec{ padding-top: 28px; }
  .jc-info-h2{ font-size: 22px; }
  .jc-info-doc{ padding: 24px 20px; border-radius: 22px; }
  .jc-info-doc .jc-info-prose{ font-size: 16px; }
  .jc-info-prose h1,
  .jc-info-prose h2{ font-size: 21px; }
  .jc-info-prose h3{ font-size: 18px; }
  .jc-info-cta{ flex-direction: column; align-items: stretch; text-align: center; }
  .jc-info-cta .jc-cp-btn{ width: 100%; }
  .jc-help-form-card{ padding: 24px 18px; border-radius: 22px; }
  .jc-help-row{ grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce){
  .jc-help-submit__spinner{ animation-duration: 2.4s; }
}
