/* INSTROFINE policy pages (Delivery, Returns and refunds), brand system v1.5 §15 "Policies" (4 Oct 2026):
   H1 + "Last updated" (Detail) → key facts as a spec table (§ Spec table) → "On this page" contents list → Heading 2 sections
   in Body at 70ch. Text only, on White. Loaded by instrofine-policy.php on pages flagged _if_policy; tokens and the
   .if-brand wrapper come from instrofine-brand.css. */
.if-policy, .if-policy.e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px; --container-widget-width: 100%;
  display: block !important; padding: var(--if-section-y) 0 !important; background: var(--if-surface); color: var(--if-text);
  font: 400 var(--if-fs-body)/var(--if-lh-body) var(--if-font-sans);
}
.if-policy *, .if-policy *::before, .if-policy *::after { box-sizing: border-box; }
.if-policy .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; padding: 0; gap: 0; min-height: 0; }
.if-policy .elementor-element.elementor-widget { margin: 0 !important; width: 100%; max-width: 100% !important; }
.if-policy .elementor-widget-container { margin: 0; padding: 0; }
.if-policy > .if-policy__inner { display: block !important; width: 100%; max-width: calc(var(--if-container) + 2 * var(--if-gutter)); margin: 0 auto; padding: 0 var(--if-gutter) !important; }

/* Text column: everything reads at 70ch, left-aligned on the 1200 px content edge. */
.if-brand .if-policy .elementor-widget-heading, .if-brand .if-policy .elementor-widget-text-editor { max-width: var(--if-measure) !important; }
.if-brand .if-policy .elementor-widget-text-editor { color: var(--if-text); font: 400 var(--if-fs-body)/var(--if-lh-body) var(--if-font-sans); }
.if-brand .if-policy p, .if-brand .if-policy ul, .if-brand .if-policy ol { margin: var(--if-space-3) 0 0; }
.if-brand .if-policy ul, .if-brand .if-policy ol { padding-left: var(--if-space-5); }
.if-brand .if-policy li + li { margin-top: var(--if-space-1); }
.if-brand .if-policy a { color: var(--if-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.if-brand .if-policy a:hover { text-decoration-thickness: 2px; }

/* Title block */
.if-brand .if-policy .if-policy__title .elementor-heading-title { margin: 0; color: var(--if-text); text-transform: none;
  font: 600 var(--if-fs-h1)/var(--if-lh-h1) var(--if-font-sans); letter-spacing: var(--if-track-h1); }
.if-brand .if-policy .if-policy__updated p { margin: var(--if-space-2) 0 0; font: 400 var(--if-fs-detail)/var(--if-lh-detail) var(--if-font-sans); color: var(--if-text-muted); }
.if-brand .if-policy .if-policy__label { margin: 0 0 var(--if-space-2); font: 500 var(--if-fs-label-sm)/var(--if-lh-label-sm) var(--if-font-sans);
  letter-spacing: var(--if-track-caps); text-transform: uppercase; color: var(--if-text-muted); }

/* Key facts: the brand spec table (label in Detail, Steel 700; value in Body, Graphite; 1 px dividers, 12 px rows). */
.if-brand .if-policy .if-policy__glance { margin-top: var(--if-block-gap) !important; }
.if-brand .if-policy .if-policy__facts { width: 100%; margin: 0; border-collapse: collapse; border: 0; border-top: var(--if-line); }
.if-brand .if-policy .if-policy__facts th, .if-brand .if-policy .if-policy__facts td { padding: var(--if-space-3) 0; border: 0; border-bottom: var(--if-line); background: none; text-align: left; vertical-align: top; }
.if-brand .if-policy .if-policy__facts th { width: 34%; padding-right: var(--if-space-4); font: 400 var(--if-fs-detail)/var(--if-lh-body) var(--if-font-sans); color: var(--if-text-secondary); }
.if-brand .if-policy .if-policy__facts td { color: var(--if-text); }
@media (max-width: 479px) {
  .if-brand .if-policy .if-policy__facts th, .if-brand .if-policy .if-policy__facts td { display: block; width: auto; }
  .if-brand .if-policy .if-policy__facts th { padding: var(--if-space-3) 0 0; border-bottom: 0; }
  .if-brand .if-policy .if-policy__facts td { padding: 0 0 var(--if-space-3); }
}

/* Contents list */
.if-brand .if-policy .if-policy__toc { margin-top: var(--if-space-7) !important; }
.if-brand .if-policy .if-policy__toc ul { margin: 0; padding: 0; list-style: none; }
.if-brand .if-policy .if-policy__toc li { margin: 0; break-inside: avoid; }
.if-brand .if-policy .if-policy__toc a { display: inline-flex; align-items: center; min-height: var(--if-tap); }
/* Links in the key-facts table (Contact: email, WhatsApp, phone, social) get a 44 px tap height without changing the row. */
.if-brand .if-policy .if-policy__facts a { display: inline-flex; align-items: center; min-height: var(--if-tap); margin: -12px 0; }
@media (min-width: 768px) { .if-brand .if-policy .if-policy__toc ul { columns: 2; column-gap: var(--if-space-6); } }

/* Sections */
.if-brand .if-policy .if-policy__h2 { margin-top: var(--if-space-7) !important; scroll-margin-top: calc(var(--if-header-h) + var(--if-space-5)); }
.if-brand .if-policy .if-policy__h2 .elementor-heading-title { margin: 0; color: var(--if-text); text-transform: none;
  font: 600 var(--if-fs-h2)/var(--if-lh-h2) var(--if-font-sans); }
.if-brand .if-policy .if-policy__text > .elementor-widget-container > :first-child,
.if-brand .if-policy .if-policy__text > :first-child { margin-top: var(--if-space-3); }

/* Contact and Track your order (4 Oct 2026): H1 + Lede instead of "Last updated". */
.if-brand .if-policy .if-policy__lede p { margin: var(--if-space-3) 0 0; max-width: 60ch; color: var(--if-text); font: 400 var(--if-fs-lede)/var(--if-lh-lede) var(--if-font-sans); }

/* Track your order: WooCommerce [woocommerce_order_tracking] form in brand controls (2 px inputs, pill button). */
.if-brand .if-policy .if-policy__form { margin-top: var(--if-block-gap) !important; max-width: var(--if-measure) !important; }
.if-brand .if-policy .if-policy__form .woocommerce { margin: 0; }
.if-brand .if-policy form.track_order { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--if-space-4); margin: 0; padding: 0; border: 0; }
.if-brand .if-policy form.track_order > p:not(.form-row), .if-brand .if-policy form.track_order > .clear { display: none; }
.if-brand .if-policy form.track_order .form-row { float: none; width: auto; margin: 0; padding: 0; }
.if-brand .if-policy form.track_order label { display: block; margin: 0 0 var(--if-space-2); color: var(--if-text); font: 500 var(--if-fs-label)/var(--if-lh-label) var(--if-font-sans); }
.if-brand .if-policy form.track_order .input-text { width: 100%; min-height: 48px; margin: 0; padding: 12px 16px; color: var(--if-graphite-900); background: var(--if-control-bg);
  border: 1px solid var(--if-control-border); border-radius: var(--if-radius); box-shadow: none; font: 400 var(--if-fs-body)/22px var(--if-font-sans); }
.if-brand .if-policy form.track_order .input-text:hover { border-color: var(--if-control-border-hover); }
.if-brand .if-policy form.track_order .input-text::placeholder { color: var(--if-control-placeholder); opacity: 1; }
.if-brand .if-policy form.track_order .button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; margin: 0; padding: 0 24px;
  border: 1px solid var(--if-action-primary-bg); border-radius: var(--if-radius-pill); background: var(--if-action-primary-bg); color: var(--if-action-primary-fg);
  font: 500 var(--if-fs-label)/var(--if-lh-label) var(--if-font-sans); text-transform: none; letter-spacing: 0; cursor: pointer;
  transition: background-color var(--if-dur-fast) var(--if-ease), border-color var(--if-dur-fast) var(--if-ease); }
.if-brand .if-policy form.track_order .button:hover { background: var(--if-action-primary-bg-hover); border-color: var(--if-action-primary-bg-hover); color: var(--if-action-primary-fg); }
@media (min-width: 768px) {
  .if-brand .if-policy form.track_order { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--if-space-5); }
  .if-brand .if-policy form.track_order .form-row:last-of-type { grid-column: 1 / -1; }
}

/* Contact form → WhatsApp ([if_whatsapp_form], 4 Oct 2026): brand inputs (2 px corners), pill button, "Error: …" text. */
.if-brand .if-policy .if-wa-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--if-space-5); margin: 0; }
.if-brand .if-policy .if-wa-form__row { display: grid; gap: var(--if-space-2); align-content: start; margin: 0; }
.if-brand .if-policy .if-wa-form label { color: var(--if-text); font: 500 var(--if-fs-label)/var(--if-lh-label) var(--if-font-sans); }
.if-brand .if-policy .if-wa-form__opt { color: var(--if-text-muted); font-weight: 400; }
.if-brand .if-policy .if-wa-form__input { width: 100%; min-height: 48px; margin: 0; padding: 12px 16px; box-sizing: border-box; color: var(--if-graphite-900);
  background: var(--if-control-bg); border: 1px solid var(--if-control-border); border-radius: var(--if-radius); box-shadow: none; font: 400 var(--if-fs-body)/22px var(--if-font-sans); }
.if-brand .if-policy textarea.if-wa-form__input { min-height: 136px; resize: vertical; }
.if-brand .if-policy .if-wa-form__input:hover { border-color: var(--if-control-border-hover); }
.if-brand .if-policy .if-wa-form__input[aria-invalid="true"] { border: 2px solid var(--if-control-border-error); padding: 11px 15px; }
.if-brand .if-policy .if-wa-form__hint, .if-brand .if-policy .if-wa-form__note { margin: 0; color: var(--if-text-muted); font: 400 var(--if-fs-detail)/var(--if-lh-detail) var(--if-font-sans); }
.if-brand .if-policy .if-wa-form__error { margin: 0; color: var(--if-control-border-error); font: 500 var(--if-fs-detail)/var(--if-lh-detail) var(--if-font-sans); }
.if-brand .if-policy .if-wa-form__submit { justify-self: start; display: inline-flex; justify-content: center; align-items: center; min-height: 48px; margin: 0; padding: 0 24px;
  border: 1px solid var(--if-action-primary-bg); border-radius: var(--if-radius-pill); background: var(--if-action-primary-bg); color: var(--if-action-primary-fg);
  font: 500 var(--if-fs-label)/var(--if-lh-label) var(--if-font-sans); text-transform: none; letter-spacing: 0; cursor: pointer;
  transition: background-color var(--if-dur-fast) var(--if-ease), border-color var(--if-dur-fast) var(--if-ease); }
.if-brand .if-policy .if-wa-form__submit:hover { background: var(--if-action-primary-bg-hover); border-color: var(--if-action-primary-bg-hover); color: var(--if-action-primary-fg); }
@media (min-width: 768px) {
  .if-brand .if-policy .if-wa-form { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--if-space-5); }
  .if-brand .if-policy .if-wa-form__row--full { grid-column: 1 / -1; }
}
.if-brand .if-policy .if-policy__form + .if-policy__glance { margin-top: var(--if-space-8) !important; }
