/* dwp-theme bundle: site — generated by bin/build-assets.sh; do not edit. */

/* ---- fonts.css ---- */
/* IBM Plex Sans Arabic, self-hosted WOFF2 (Guide §2.2). Licence: assets/fonts/OFL.txt.
   Relative URLs resolve from assets/css/ and from assets/dist/ alike. */
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: optional; /* QA G1: no late swap (metric-matched fallback faces below) */
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: optional; /* QA G1: no late swap (metric-matched fallback faces below) */
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* Metric-matched fallback faces for IBM Plex Sans Arabic (QA G1: font-swap CLS). Omar, fix round after B5;
   folded in from font-fallback.css (Karim, 2026-09-26). Used through --dwp-font-sans in tokens.css.
   Values: size-adjust = Plex advance / fallback advance, from HarfBuzz-shaping the whole Arabic copy of new-copy.md
   (≈20k chars) per weight; ascent/descent-override = Plex hhea/typo metrics (1.085 / 0.415 em) ÷ size-adjust;
   line-gap 0. Script: /workspace/omar-qa/metrics.py. The fallback line boxes and line breaks then match Plex closely,
   so the swap to Plex no longer re-wraps text.
   Covered locals: Noto Sans Arabic (Android 12+, many Linux), Noto Naskh Arabic (older Android), DejaVu Sans (Linux default).
   Not covered yet: Segoe UI (Windows) and Tahoma (Windows/macOS): no font files on the box to measure (open item).
   B6-fix re-tune (Omar, QA G1): Noto Sans Arabic 400/600/700 size-adjust set to 94.10/93.00/91.50% by a wrap-parity search in
   Chrome (Plex vs fallback, every text block, 360–1440, both views: 46 → 28 blocks that change height, 0 in S1/S9); the
   plain local("Noto Sans Arabic") source is added to 500/600/700 as a last resort (Chrome on this box resolves the named
   instances already; it rejects the family-name source). */
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Regular"), local("NotoSansArabic-Regular"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 94.10%; ascent-override: 115.30%; descent-override: 44.10%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Medium"), local("NotoSansArabic-Medium"), local("Noto Sans Arabic"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 94.54%; ascent-override: 114.77%; descent-override: 43.90%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic SemiBold"), local("NotoSansArabic-SemiBold"), local("Noto Sans Arabic"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 93.00%; ascent-override: 116.67%; descent-override: 44.62%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Bold"), local("NotoSansArabic-Bold"), local("Noto Sans Arabic"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 91.50%; ascent-override: 118.58%; descent-override: 45.36%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Regular"), local("NotoNaskhArabic-Regular"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 105.15%; ascent-override: 103.19%; descent-override: 39.47%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Medium"), local("NotoNaskhArabic-Medium"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 106.76%; ascent-override: 101.63%; descent-override: 38.87%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic SemiBold"), local("NotoNaskhArabic-SemiBold"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 107.26%; ascent-override: 101.16%; descent-override: 38.69%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Bold"), local("NotoNaskhArabic-Bold"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 107.89%; ascent-override: 100.57%; descent-override: 38.47%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans"), local("DejaVuSans"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 88.07%; ascent-override: 123.20%; descent-override: 47.12%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans"), local("DejaVuSans"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 90.62%; ascent-override: 119.73%; descent-override: 45.80%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans Bold"), local("DejaVuSans-Bold"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 78.30%; ascent-override: 138.57%; descent-override: 53.00%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans Bold"), local("DejaVuSans-Bold"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 79.78%; ascent-override: 136.00%; descent-override: 52.02%; line-gap-override: 0%; }

/* ---- tokens.css ---- */
/* ==========================================================
   Content Creation Course AI (DWP) — design tokens v1.0
   Source: measured from 47 USE renders (ds-work/palette-measurements.md)
   Breakpoints (use in media queries; custom props can't be used there):
     --dwp-bp-xs: 360px   small phones (design floor)
     --dwp-bp-sm: 640px   large phones
     --dwp-bp-md: 768px   tablets portrait
     --dwp-bp-lg: 1024px  tablets landscape / small laptops
     --dwp-bp-xl: 1280px  desktop (fluid type stops growing here)
   ========================================================== */
:root {
  /* ---------- Brand: primary (burnt orange) ---------- */
  --dwp-primary-50:  #FFFBF2;
  --dwp-primary-100: #FEF4D9;  /* primary-soft tint (measured hue, L*95) */
  --dwp-primary-200: #FDEAB2;
  --dwp-primary-300: #FCDC80;
  --dwp-primary-400: #FACA40;  /* measured: light orange (061, 003, 058) */
  --dwp-primary-500: #F8B800;  /* measured: vivid brand orange (058, 048, 044) — icons/illustration only */
  --dwp-primary-600: #D39C00;  /* measured: deep orange (074, 072, 081) — button fill */
  --dwp-primary-700: #AE8100;  /* adjusted from 600: text-safe orange, hover */
  --dwp-primary-800: #886500;  /* adjusted: active/pressed */
  --dwp-primary-900: #634A00;

  --dwp-color-primary:        var(--dwp-primary-500);
  --dwp-color-primary-hover:  var(--dwp-primary-600);
  --dwp-color-primary-active: var(--dwp-primary-700);
  --dwp-color-primary-soft:   var(--dwp-primary-100);
  --dwp-color-primary-text:   var(--dwp-primary-800); /* orange used AS text */
  --dwp-color-brand-vivid:    var(--dwp-primary-500); /* never behind/as small text */

  /* ---------- Secondary (warm charcoal) & accent (peach/tan) ---------- */
  --dwp-color-secondary:       #4B4642;  /* measured #4B4C4D, warm-shifted */
  --dwp-color-secondary-hover: #2E2A27;
  --dwp-color-accent:          #FCDC80;  /* measured peach (003, 026, 040) — decorative */
  --dwp-color-accent-soft:     #FEF4D9;  /* from measured tan #EAD0B3 (003, 055, 013), lightened */

  /* ---------- Warm neutrals ---------- */
  --dwp-neutral-0:   #FFFFFF;
  --dwp-neutral-50:  #FBF8F3;  /* measured #FBF8F3 (075, 076, 085) */
  --dwp-neutral-100: #F5EFE7;
  --dwp-neutral-200: #EEE6DC;  /* measured #EEE6DC (006, 012, 013) */
  --dwp-neutral-300: #E4DBD0;
  --dwp-neutral-400: #C1B8AF;  /* measured #C1B8AF (013, 012, 116) */
  --dwp-neutral-500: #8F8780;  /* measured #898886 (116, 005, 058), warm-shifted */
  --dwp-neutral-600: #6B645E;
  --dwp-neutral-650: #7A726B;  /* strikethrough price */
  --dwp-neutral-700: #4B4642;  /* measured #4B4C4D, warm-shifted */
  --dwp-neutral-800: #2E2A27;
  --dwp-neutral-900: #030201;  /* measured #121415 (054, 064, 048), warmed + lifted */

  /* ---------- Backgrounds ---------- */
  --dwp-bg-page:        var(--dwp-neutral-50); /* light beige #FBF8F3 */
  --dwp-bg-section-alt: var(--dwp-neutral-0);   /* white; section bands never use the darker beige */
  --dwp-bg-card:        var(--dwp-neutral-0);
  --dwp-bg-dark:        var(--dwp-neutral-900);
  --dwp-bg-tint:        var(--dwp-primary-50);

  /* ---------- Text ---------- */
  --dwp-text-heading:    var(--dwp-neutral-900);
  --dwp-text-primary:    var(--dwp-neutral-800);
  --dwp-text-muted:      var(--dwp-neutral-600);
  --dwp-text-on-primary: #030201;
  --dwp-text-on-dark:    #EFE9E2;
  --dwp-text-on-dark-muted: var(--dwp-neutral-400);
  --dwp-text-on-dark-accent: var(--dwp-primary-400);
  --dwp-text-link:       var(--dwp-primary-800);
  --dwp-text-link-hover: var(--dwp-primary-800);
  --dwp-text-strike:     var(--dwp-neutral-650);

  /* ---------- Borders ---------- */
  --dwp-border-default: var(--dwp-neutral-300);  /* decorative dividers/card edges */
  --dwp-border-strong:  var(--dwp-neutral-500);  /* inputs, outline buttons (3:1) */
  --dwp-focus-ring:     var(--dwp-primary-600);
  --dwp-focus-ring-on-dark: var(--dwp-primary-400);

  /* ---------- Status ---------- */
  --dwp-success:      #3B6E52;  /* introduced (no green in renders) — guarantee & checks only */
  --dwp-success-soft: #EAF2EC;
  --dwp-warning:      #A63A2B;  /* restrained terracotta — discount badge only */
  --dwp-warning-soft: #FBE9E4;

  /* ---------- Typography ---------- */
  /* Metric-matched fallbacks (QA G1) are defined in fonts.css; Segoe UI / Tahoma not measured yet. */
  --dwp-font-sans: "IBM Plex Sans Arabic", "DWP Fallback Noto Sans Arabic", "DWP Fallback Noto Naskh Arabic", "DWP Fallback DejaVu Sans", "Segoe UI", Tahoma, system-ui, sans-serif;
  --dwp-fw-light: 300; --dwp-fw-regular: 400; --dwp-fw-medium: 500;
  --dwp-fw-semibold: 600; --dwp-fw-bold: 700;
  /* fluid sizes: min @360px → max @1280px */
  --dwp-fs-display: clamp(2.25rem, 1.761rem + 2.174vw, 3.5rem);   /* 36 → 56 */
  --dwp-fs-h1:      clamp(1.875rem, 1.533rem + 1.522vw, 2.75rem); /* 30 → 44 */
  --dwp-fs-h2:      clamp(1.625rem, 1.38rem + 1.087vw, 2.25rem);  /* 26 → 36 */
  --dwp-fs-h3:      clamp(1.3125rem, 1.19rem + 0.5435vw, 1.625rem); /* 21 → 26 */
  --dwp-fs-h4:      clamp(1.125rem, 1.076rem + 0.2174vw, 1.25rem); /* 18 → 20 */
  --dwp-fs-lead:    clamp(1.125rem, 1.076rem + 0.2174vw, 1.25rem); /* 18 → 20 */
  --dwp-fs-body:    clamp(1rem, 0.9511rem + 0.2174vw, 1.125rem);  /* 16 → 18 */
  --dwp-fs-small:   clamp(0.875rem, 0.8505rem + 0.1087vw, 0.9375rem); /* 14 → 15 */
  --dwp-fs-caption: 0.8125rem;                                    /* 13 */
  --dwp-fs-price:   clamp(2.75rem, 2.261rem + 2.174vw, 4rem);     /* 44 → 64 */
  --dwp-fs-button:  clamp(1rem, 0.9755rem + 0.1087vw, 1.0625rem); /* 16 → 17 */
  --dwp-lh-tight: 1.15;   /* price only */
  --dwp-lh-heading: 1.35; /* 1.3 display … 1.4 h3/h4 */
  --dwp-lh-body: 1.8;
  --dwp-lh-small: 1.75;
  --dwp-tracking: 0;      /* never letter-space Arabic */

  /* ---------- Spacing (4px base) ---------- */
  --dwp-space-0: 0;     --dwp-space-1: 4px;   --dwp-space-2: 8px;
  --dwp-space-3: 12px;  --dwp-space-4: 16px;  --dwp-space-5: 20px;
  --dwp-space-6: 24px;  --dwp-space-8: 32px;  --dwp-space-10: 40px;
  --dwp-space-12: 48px; --dwp-space-16: 64px; --dwp-space-20: 80px;
  --dwp-space-24: 96px; --dwp-space-32: 128px;
  --dwp-section-y: clamp(64px, 40px + 5vw, 112px);

  /* ---------- Radius ---------- */
  --dwp-radius-xs: 4px;  --dwp-radius-sm: 8px;  --dwp-radius-md: 12px;
  --dwp-radius-lg: 16px; --dwp-radius-xl: 24px; --dwp-radius-pill: 999px;

  /* ---------- Shadows (warm-tinted, from neutral-900 #1E1B18 + primary-900) ---------- */
  --dwp-shadow-1: 0 1px 2px rgba(30,27,24,.06), 0 1px 3px rgba(94,33,6,.05);
  --dwp-shadow-2: 0 4px 12px rgba(30,27,24,.07), 0 2px 4px rgba(94,33,6,.05);
  --dwp-shadow-3: 0 16px 40px rgba(30,27,24,.10), 0 4px 12px rgba(94,33,6,.06);

  /* ---------- Layout ---------- */
  --dwp-container: 1200px;
  --dwp-container-narrow: 760px;  /* S17 letter, S20 */
  --dwp-gutter: 24px;             /* 16px < 640px, 24px ≥ 640px, 32px ≥ 1280px */
  --dwp-page-pad: clamp(16px, 4vw, 40px);
  --dwp-duration: 160ms;
  --dwp-ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base (RTL) ---------- */
html[dir="rtl"] { font-family: var(--dwp-font-sans); }
body {
  margin: 0; background: var(--dwp-bg-page); color: var(--dwp-text-primary);
  font: var(--dwp-fw-regular) var(--dwp-fs-body)/var(--dwp-lh-body) var(--dwp-font-sans);
  letter-spacing: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { color: var(--dwp-text-heading); line-height: var(--dwp-lh-heading); letter-spacing: 0; margin: 0 0 var(--dwp-space-4); text-wrap: balance; }
h1 { font-size: var(--dwp-fs-h1); font-weight: 700; }
h2 { font-size: var(--dwp-fs-h2); font-weight: 700; }
h3 { font-size: var(--dwp-fs-h3); font-weight: 600; line-height: 1.4; }
h4 { font-size: var(--dwp-fs-h4); font-weight: 600; line-height: 1.4; }
a { color: var(--dwp-text-link); text-decoration: none; text-underline-offset: .25em; } /* UI links: no underline; prose links underline (base.css) */
a:hover { color: var(--dwp-text-link-hover); }
:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: 2px; }
.dwp-num, .dwp-price { font-variant-numeric: tabular-nums lining-nums; unicode-bidi: isolate; direction: ltr; display: inline-block; }
bdi, .dwp-ltr { unicode-bidi: isolate; }

.dwp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--dwp-space-2);
  min-height: 52px; padding-block: 14px; padding-inline: 28px;
  font: var(--dwp-fw-semibold) var(--dwp-fs-button)/1.4 var(--dwp-font-sans);
  border-radius: var(--dwp-radius-md); border: 1.5px solid transparent; cursor: pointer;
  transition: background var(--dwp-duration) var(--dwp-ease), box-shadow var(--dwp-duration) var(--dwp-ease), transform var(--dwp-duration) var(--dwp-ease);
}
.dwp-btn--primary { background: var(--dwp-color-primary); color: var(--dwp-text-on-primary); box-shadow: var(--dwp-shadow-1); }
.dwp-btn--primary:hover { background: var(--dwp-color-primary-hover); box-shadow: var(--dwp-shadow-2); }
.dwp-btn--primary:active { background: var(--dwp-color-primary-active); transform: translateY(1px); box-shadow: none; }
.dwp-btn--secondary { background: var(--dwp-bg-card); color: var(--dwp-color-secondary); border-color: var(--dwp-border-strong); }
.dwp-btn--secondary:hover { background: var(--dwp-neutral-100); border-color: var(--dwp-color-secondary); }
.dwp-btn--ghost { background: transparent; color: var(--dwp-text-link); padding-inline: 12px; }
.dwp-btn--ghost:hover { background: var(--dwp-color-primary-soft); }
.dwp-btn:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: 3px; }
.dwp-btn:disabled, .dwp-btn[aria-disabled="true"] { background: var(--dwp-neutral-200); color: var(--dwp-neutral-600); border-color: transparent; box-shadow: none; cursor: not-allowed; }
.dwp-btn[aria-busy="true"] { cursor: progress; }
.dwp-btn .dwp-icon-arrow { transform: none; } /* use the ← glyph/icon as-is in RTL: it points forward */

/* ---- base.css ---- */
/* Base layer: only what tokens.css doesn't already cover (plan C12).
   Mobile-first, logical properties only. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-block-size: 100vh; overflow-wrap: break-word; }
img, svg, video { max-inline-size: 100%; block-size: auto; }
p { margin-block: 0 var(--dwp-space-4); text-wrap: pretty; }
p, li { text-align: start; }
em, i { font-style: normal; } /* no italics on Arabic */

/* Layout primitives */
.dwp-container { inline-size: 100%; max-inline-size: calc(var(--dwp-container) + 2 * var(--dwp-page-pad)); margin-inline: auto; padding-inline: var(--dwp-page-pad); }
.dwp-container--narrow { max-inline-size: calc(var(--dwp-container-narrow) + 2 * var(--dwp-page-pad)); }
.dwp-section { padding-block: var(--dwp-section-y); background: var(--dwp-bg-page); }
.dwp-section--tint { background: var(--dwp-bg-tint); }
.dwp-section--dark { background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); }
.dwp-section--dark :focus-visible { outline-color: var(--dwp-focus-ring-on-dark); }
.dwp-grid { display: grid; gap: var(--dwp-gutter); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 768px) { .dwp-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .dwp-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } }

/* Prose links (written content only: .dwp-entry on page/single/index, never Tutor pages or the front-page sections).
   UI links get no underline from tokens.css `a`. Buttons and button-styled links are excluded. */
body:not(.dwp-tutor-page) .dwp-entry a:not(.dwp-btn, .dwp-html-tool, .tutor-btn, .wp-block-button__link, .wp-element-button, [role="button"]) {
  text-decoration-line: underline; text-decoration-thickness: 1px; text-decoration-color: var(--dwp-color-primary); text-underline-offset: 3px;
}
body:not(.dwp-tutor-page) .dwp-entry a:not(.dwp-btn, .dwp-html-tool, .tutor-btn, .wp-block-button__link, .wp-element-button, [role="button"]):hover {
  text-decoration-thickness: 2px; text-decoration-color: var(--dwp-color-primary-hover);
}

/* Accessibility */
.dwp-skip-link { position: absolute; inset-block-start: var(--dwp-space-2); inset-inline-start: var(--dwp-space-2); z-index: 1000; padding: var(--dwp-space-3) var(--dwp-space-4); background: var(--dwp-bg-card); color: var(--dwp-text-link); border-radius: var(--dwp-radius-sm); transform: translateY(-200%); }
.dwp-skip-link:focus { transform: none; }
.dwp-visually-hidden, .screen-reader-text { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* M1 shell note (preview only; removed as sections are built) */
.dwp-shell-note { margin: 0; padding: var(--dwp-space-4); border: 1.5px dashed var(--dwp-border-strong); border-radius: var(--dwp-radius-md); color: var(--dwp-text-muted); font-size: var(--dwp-fs-small); text-align: center; direction: ltr; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---- site/header.css ---- */
/* Site header (Guide §2.6, Nader O10): 72px light bar, wordmark at the start (right in RTL), nav slot at the end. */
/* Gutter per breakpoint, as the tokens.css comment specifies (16 < 640 ≤ 24 < 1280 ≤ 32). tokens.css stays verbatim;
   this only re-declares the custom property at the breakpoints (Ziad S1 #8). */
:root { --dwp-gutter: 16px; }
@media (min-width: 640px) { :root { --dwp-gutter: 24px; } }
@media (min-width: 1280px) { :root { --dwp-gutter: 32px; } }
.dwp-site-header { background: var(--dwp-neutral-0); border-block-end: 1px solid var(--dwp-border-default); }
@media (min-width: 1024px) {
  .dwp-site-header { position: sticky; inset-block-start: 0; z-index: 40; }
  body.admin-bar .dwp-site-header { inset-block-start: 32px; }
  html { scroll-padding-block-start: 5.5rem; }
  html:has(body.admin-bar) { scroll-padding-block-start: 7.5rem; }
}
.dwp-site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--dwp-space-4); min-block-size: 71px; } /* + 1px border = 72px */
.dwp-wordmark { font-weight: var(--dwp-fw-bold); font-size: var(--dwp-fs-h4); color: var(--dwp-text-heading); text-decoration: none; }
.dwp-site-header .dwp-wordmark { display: inline-flex; align-items: center; min-block-size: 44px; } /* 44px tap target */
.dwp-wordmark:hover { color: var(--dwp-text-heading); }
.dwp-wordmark--logo { line-height: 0; }
.dwp-wordmark .dwp-logo-picture { display: block; }
.dwp-wordmark .dwp-logo { display: block; block-size: 40px; inline-size: auto; max-inline-size: min(180px, 48vw); width: auto; height: 40px; }
@media (min-width: 640px) {
  .dwp-wordmark .dwp-logo { block-size: 40px; height: 40px; max-inline-size: 280px; block-size: 48px; height: 48px; }
}
.dwp-site-nav ul { display: flex; flex-wrap: wrap; gap: var(--dwp-space-4); margin: 0; padding: 0; list-style: none; }
.dwp-site-nav a { text-decoration: none; }
/* Compact header CTA (Nader O10, Omar B8): 48px primary at the inline end (left in RTL), sales page only.
   Hidden below 640: no room next to the 172px wordmark at 360–639; the sticky bar covers mobile after the hero. */
.dwp-site-header__tools {
	display: flex;
	align-items: center;
	gap: var(--dwp-space-3, 0.75rem);
	margin-inline-start: auto;
	flex: none;
}
.dwp-site-header__account {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 999px;
	color: var(--dwp-color-primary-text);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1;
	text-decoration: none;
}
.dwp-site-header__account:hover {
	color: var(--dwp-color-primary);
}
.dwp-site-header__account-label {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
@media (min-width: 1024px) {
	.dwp-site-header__account {
		inline-size: auto;
	}
	.dwp-site-header__account-label {
		position: static;
		inline-size: auto;
		block-size: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
	}
}
.dwp-site-header__sep {
	display: none;
	flex: none;
	inline-size: 1px;
	block-size: 28px;
	background: var(--dwp-neutral-400);
}
.dwp-site-header__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.3;
	color: var(--dwp-text-muted);
}
.dwp-site-header__cta { display: none; }
@media (min-width: 640px) {
	.dwp-site-header__cta { display: block; flex: none; }
	.dwp-site-header__sep { display: block; }
}

/* ---- site/footer.css ---- */
/* Dark site footer. Brand column (logo, short bio, circular social marks) then legal links.
   Mobile stacks. From 768px the legal links sit at the inline end. Copyright sits under a hairline. */
.dwp-site-footer { background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); padding-block: clamp(3rem, 6vw, 4.5rem) var(--dwp-space-12); }
.dwp-site-footer a { color: var(--dwp-text-on-dark-muted); text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: .3em; }
.dwp-site-footer a:hover { color: var(--dwp-text-on-dark); text-decoration-color: currentColor; }
.dwp-site-footer :focus-visible { outline-color: var(--dwp-focus-ring-on-dark); }
.dwp-footer-legal { display: grid; gap: var(--dwp-space-6); }
.dwp-footer-legal__brand { display: grid; justify-items: center; gap: 0.85rem; max-inline-size: none; text-align: center; }
.dwp-footer-legal__wordmark { font-weight: var(--dwp-fw-bold); font-size: 1.25rem; color: var(--dwp-text-on-dark); margin: 0; }
.dwp-footer-legal__wordmark--logo { line-height: 0; }
.dwp-footer-legal__logo-link { display: inline-flex; align-items: center; min-block-size: 44px; text-decoration: none; color: inherit; }
.dwp-footer-legal__logo-link:hover { color: inherit; text-decoration: none; }
.dwp-footer-legal .dwp-logo-picture { display: block; }
.dwp-footer-legal .dwp-logo { display: block; block-size: 40px; inline-size: auto; max-inline-size: min(180px, 60vw); width: auto; height: 40px; }
.dwp-footer-legal__bio { margin: 0; max-inline-size: 28rem; font-size: 0.9375rem; line-height: 1.75; color: var(--dwp-text-on-dark-muted); text-align: center; }
.dwp-footer-legal__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem; margin: 0.15rem 0 0; padding: 0; list-style: none; }
.dwp-footer-legal__social a { display: inline-flex; align-items: center; justify-content: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid rgb(239 233 226 / 0.28); border-radius: 999px; color: var(--dwp-text-on-dark); text-decoration: none; }
.dwp-footer-legal__social a:hover { background: rgb(239 233 226 / 0.1); color: var(--dwp-text-on-dark); text-decoration: none; }
.dwp-footer-legal__social .dwp-icon { fill: currentColor; stroke: none; }
.dwp-footer-legal__links ul { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 0.75rem; margin: 0; padding: 0; list-style: none; font-size: 0.75rem; }
.dwp-footer-legal__links a { display: inline-flex; align-items: center; min-block-size: 44px; }
.dwp-footer-legal__pending { color: var(--dwp-text-on-dark); }
.dwp-footer-legal__copy { margin: 0; font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); padding-block-start: var(--dwp-space-6); border-block-start: 1px solid rgb(239 233 226 / 0.15); text-align: center; }
.dwp-disclaimer { margin-block-start: var(--dwp-space-3); }
.dwp-disclaimer p { margin: 0; font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-regular, 400); line-height: 1.8; color: var(--dwp-neutral-300); text-align: center; }
.dwp-footer-country { margin: var(--dwp-space-4) 0 0; font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-medium); line-height: 1.8; color: var(--dwp-text-on-dark-muted); text-align: center; }
.dwp-footer-country[hidden] { display: none; }
@media (min-width: 768px) {
  .dwp-footer-legal { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--dwp-space-12); row-gap: var(--dwp-space-8); align-items: start; }
  .dwp-footer-legal__brand { justify-items: start; max-inline-size: 26rem; text-align: start; }
  .dwp-footer-legal__bio { text-align: start; }
  .dwp-footer-legal__social { justify-content: flex-start; }
  .dwp-footer-legal__links { grid-column: 2; grid-row: 1; justify-self: end; padding-block-start: 0.35rem; }
  .dwp-footer-legal__links ul { flex-direction: column; align-items: flex-end; gap: 0; font-size: 0.90625rem; }
  .dwp-footer-legal__copy { grid-column: 1 / -1; }
}

/* ---- site/page.css ---- */
/* Generic page/single/archive/404 (and Tutor pages rendered through page.php). */
.dwp-page { padding-block: var(--dwp-space-12); }
.dwp-page__title { margin-block-end: var(--dwp-space-6); }
.dwp-entry > * + * { margin-block-start: var(--dwp-space-4); }
.dwp-entry img { block-size: auto; }
.dwp-archive__item { padding-block: var(--dwp-space-6); border-block-end: 1px solid var(--dwp-border-default); }
.dwp-404 { text-align: center; padding-block: var(--dwp-space-20); }
/* Wide container for Tutor dashboard/cart/checkout */
.dwp-page--wide .dwp-container { max-inline-size: calc(var(--dwp-container) + 2 * var(--dwp-page-pad)); }
/* Default page template, content only (legal/ordinary pages). page.php adds .dwp-page--prose, never on Tutor pages;
   the front page uses front-page.php, so none of this reaches it. One 70ch column for the title and the content;
   the side padding comes from .dwp-container (--dwp-page-pad). */
.dwp-page--prose .dwp-entry-wrap { max-inline-size: 70ch; margin-inline: auto; font-size: clamp(17px, 16.27px + .2vw, 18px); }
.dwp-page--prose .dwp-entry { line-height: 1.7; color: var(--dwp-text-primary); }
.dwp-page--prose .dwp-entry :is(h2, h3, h4) { margin-block: var(--dwp-space-10) var(--dwp-space-4); }
.dwp-page--prose .dwp-entry > :first-child { margin-block-start: 0; }

/* ---- site/checkout.css ---- */
/* Checkout: form and payment on the start side, sticky summary on the end side. */
.woocommerce-checkout .dwp-page {
	padding-block: 32px 72px;
}

.woocommerce-checkout .dwp-entry > .woocommerce {
	max-inline-size: 1040px;
	margin-inline: auto;
}

.woocommerce-checkout form.dwp-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"summary"
		"main";
	gap: 20px;
	align-items: start;
}

.woocommerce-checkout .dwp-checkout__main > .woocommerce-NoticeGroup {
	margin: 0 0 20px;
}

.woocommerce-checkout .dwp-checkout__main {
	grid-area: main;
	padding: 28px;
	border: 1px solid var(--dwp-border-default);
	border-radius: 12px;
	background: var(--dwp-bg-card);
}

.woocommerce-checkout .dwp-checkout__summary {
	grid-area: summary;
	padding: 20px 20px 16px;
	border: 1px solid var(--dwp-border-default);
	border-radius: 12px;
	background: var(--dwp-bg-card);
}

.woocommerce-checkout .dwp-checkout__pay {
	margin-block-start: 28px;
	padding-block-start: 28px;
	border-block-start: 1px solid var(--dwp-border-default);
}

.woocommerce-checkout .dwp-checkout-bump {
	margin-block-start: 28px;
	padding: 18px;
	border: 1.5px dashed var(--dwp-success);
	border-radius: 5px;
	background: var(--dwp-success-soft);
}

.woocommerce-checkout .dwp-checkout-bump.is-selected {
	background: #d4e6da;
}

.woocommerce-checkout .dwp-checkout-bump__label {
	display: inline-flex;
	margin: 0 0 12px;
	padding: 3px 10px;
	border-radius: var(--dwp-radius-pill);
	background: var(--dwp-success);
	color: var(--dwp-text-on-primary);
	font-size: 0.75rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.5;
}

.woocommerce-checkout .dwp-checkout-bump__head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.woocommerce-checkout .dwp-checkout-bump__name {
	margin: 0;
	color: var(--dwp-text-heading);
	font-size: 1.0625rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
}

.woocommerce-checkout .dwp-checkout-bump__price {
	flex: none;
	margin: 0;
	color: var(--dwp-success);
	font-size: 1.0625rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.woocommerce-checkout .dwp-checkout-bump__price .woocommerce-Price-amount,
.woocommerce-checkout .dwp-checkout-bump__price bdi {
	direction: ltr;
	unicode-bidi: isolate;
}

.woocommerce-checkout .dwp-checkout-bump__summary {
	margin: 8px 0 0;
	color: var(--dwp-text-primary);
	font-size: 0.875rem;
	line-height: 1.6;
}

.woocommerce-checkout .dwp-checkout-bump__choice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 14px 0 0;
	padding: 12px 14px;
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-bold);
	cursor: pointer;
}

.woocommerce-checkout .dwp-checkout-bump__choice input {
	appearance: none;
	flex: none;
	inline-size: 22px;
	block-size: 22px;
	margin: 0;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background-color: var(--dwp-bg-card);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	cursor: pointer;
}

.woocommerce-checkout .dwp-checkout-bump__choice input:checked {
	border-color: var(--dwp-success);
	background-color: var(--dwp-success);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.woocommerce-checkout .dwp-checkout-bump__details {
	margin-block-start: 12px;
	container-type: inline-size;
}

.woocommerce-checkout .dwp-checkout-bump__details summary {
	color: var(--dwp-success);
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-bold);
	cursor: pointer;
}

.woocommerce-checkout .dwp-checkout-bump__details ul {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px 20px;
	margin: 12px 0 0;
	padding: 14px 16px;
	list-style: none;
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-primary);
	font-size: 0.875rem;
	line-height: 1.5;
}

.woocommerce-checkout .dwp-checkout-bump__details li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-inline-size: 0;
}

.woocommerce-checkout .dwp-checkout-bump__details li .dwp-icon {
	margin-block-start: 2px;
}

@container (min-width: 460px) {
	.woocommerce-checkout .dwp-checkout-bump__details ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.woocommerce-checkout form.dwp-checkout {
		grid-template-columns: minmax(0, 1fr) 360px;
		grid-template-areas:
			"main summary";
		column-gap: 28px;
	}

	.woocommerce-checkout .dwp-checkout__summary {
		position: sticky;
		top: 96px;
	}
}

@media (max-width: 899px) {
	.woocommerce-checkout .dwp-page {
		padding-block-start: 0;
		padding-block-end: 0;
	}

	.woocommerce-checkout .dwp-page > .dwp-container {
		padding-inline: 0;
	}

	.woocommerce-checkout form.dwp-checkout {
		gap: 0;
	}

	.woocommerce-checkout .dwp-checkout__main,
	.woocommerce-checkout .dwp-checkout__summary {
		border-radius: 0;
		border-inline: 0;
	}

	.woocommerce-checkout .dwp-checkout__summary {
		padding-block: 24px 12px;
		padding-inline: 16px;
		border-block-start: 0;
		border-block-end: 0;
	}

	.woocommerce-checkout .dwp-checkout__main {
		padding-block: 20px 64px;
		padding-inline: 16px;
		border-block-end: 0;
	}

	body.woocommerce-checkout #payment #place_order {
		margin-block-end: 0;
	}
}

.woocommerce-checkout .dwp-checkout__summary-title {
	margin: 0 0 20px;
	font-size: 1.125rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.4;
}

.woocommerce-checkout .form-row label {
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-semibold);
	color: var(--dwp-text-muted);
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--dwp-space-4);
	row-gap: var(--dwp-space-5);
}

.woocommerce-checkout .form-row {
	margin-block: 0 var(--dwp-space-4);
	padding: 0;
	float: none;
	clear: none;
	width: auto;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
	inline-size: 100%;
	width: 100%;
	margin-block: 0;
	margin-inline: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide {
	grid-column: 1 / -1;
}

.woocommerce-checkout .form-row label {
	display: block;
	margin-block-end: var(--dwp-space-2);
	font-weight: var(--dwp-fw-semibold);
}

.woocommerce-checkout .form-row .required {
	color: var(--dwp-color-primary-text);
	text-decoration: none;
}

.woocommerce-checkout form.checkout .form-row :is(input.input-text, select),
.woocommerce-checkout .select2-selection--single {
	box-sizing: border-box;
	inline-size: 100%;
	block-size: 52px;
	min-block-size: 52px;
	padding-block: 12px;
	padding-inline: 16px;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-primary);
	font-family: inherit;
	font-size: 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row .woocommerce-input-wrapper {
	display: block;
	inline-size: 100%;
	width: 100%;
}

.woocommerce-checkout #billing_country_field {
	grid-column: 1 / -1;
	grid-row: 4;
	inline-size: 100%;
	width: 100%;
	max-inline-size: none;
}

.woocommerce-checkout #billing_phone_field {
	grid-row: 3;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last {
	grid-column: auto;
}

.woocommerce-checkout .select2-container {
	display: block;
	box-sizing: border-box;
	inline-size: 100% !important;
	width: 100% !important;
	max-inline-size: 100%;
}

.woocommerce-checkout .select2-container--open {
	z-index: 10050;
}

.woocommerce-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	block-size: 52px;
}

.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection__rendered,
.woocommerce-checkout .select2-container .select2-selection__placeholder {
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-regular, 400);
}

.woocommerce-checkout .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
	padding-block: 0;
	padding-inline-start: 0;
	padding-inline-end: 36px;
	line-height: 1.4;
	color: var(--dwp-text-primary);
}

.woocommerce-checkout .select2-container .select2-selection__placeholder {
	color: var(--dwp-text-muted);
}

.woocommerce-checkout .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
	position: absolute;
	inset-block: 0;
	block-size: auto;
	inline-size: 16px;
	width: 16px;
	margin: 0;
	inset-inline-start: auto;
	inset-inline-end: calc(12px + 1.5px);
}

.woocommerce-checkout .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow b {
	position: absolute;
	inset-inline-start: auto;
	inset-inline-end: 0;
	inset-block-start: 50%;
	margin: 0;
	transform: translateY(-50%);
	inline-size: 16px;
	block-size: 16px;
	width: 16px;
	height: 16px;
}

body.woocommerce-checkout .select2-dropdown {
	overflow: hidden;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: var(--dwp-radius-md);
	background: var(--dwp-bg-card);
	box-shadow: 0 12px 32px rgb(30 27 24 / 0.12);
}

body.woocommerce-checkout .select2-dropdown--below {
	margin-block-start: 6px;
}

body.woocommerce-checkout .select2-dropdown--above {
	margin-block-end: 6px;
}

body.woocommerce-checkout .select2-search--dropdown {
	padding: 12px;
}

body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field {
	inline-size: 100%;
	min-block-size: 44px;
	margin: 0;
	padding-block: 8px;
	padding-inline: 12px;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-primary);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-regular, 400);
}

body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field:focus {
	border-color: var(--dwp-color-primary);
	outline: none;
}

body.woocommerce-checkout .select2-results__option {
	padding-block: 10px;
	padding-inline: 16px;
	color: var(--dwp-text-primary);
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-regular, 400);
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"] {
	background-color: var(--dwp-color-primary-soft);
	color: var(--dwp-text-heading);
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: var(--dwp-color-primary);
	color: var(--dwp-text-on-primary);
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-regular, 400);
}

.woocommerce-checkout :is(#billing_email, #billing_phone) {
	direction: ltr;
	text-align: right;
}

.woocommerce-checkout .input-text::placeholder {
	color: var(--dwp-text-muted);
	opacity: 1;
}

.woocommerce-checkout form.checkout .form-row :is(input.input-text, select):focus,
.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border-color: var(--dwp-color-primary);
	outline: none;
}

.woocommerce-checkout .woocommerce-NoticeGroup {
	margin: 0;
}

.woocommerce-checkout ul.woocommerce-error {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 12px 14px;
	border: 1.5px solid var(--dwp-warning);
	border-radius: 8px;
	background: var(--dwp-warning-soft);
	color: var(--dwp-warning);
	list-style: none;
	text-align: start;
}

.woocommerce-checkout ul.woocommerce-error::before {
	content: none;
	display: none;
}

.woocommerce-checkout ul.woocommerce-error li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: var(--dwp-warning);
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-medium);
	line-height: 1.45;
	text-align: start;
}

.woocommerce-checkout ul.woocommerce-error li::before {
	content: "!";
	display: inline-grid;
	place-items: center;
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	margin-block-start: 1px;
	border-radius: 50%;
	background: var(--dwp-warning);
	color: var(--dwp-text-on-primary);
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1;
}

.woocommerce-checkout ul.woocommerce-error li + li {
	padding-block-start: 8px;
	border-block-start: 1px solid rgb(166 58 43 / 0.18);
}

body.woocommerce-checkout:not(.dwp-tutor-page) .dwp-entry ul.woocommerce-error a:not(.dwp-btn),
body.woocommerce-checkout:not(.dwp-tutor-page) .dwp-entry ul.woocommerce-error a:not(.dwp-btn):hover {
	color: var(--dwp-warning);
	font-weight: var(--dwp-fw-medium);
	text-decoration: underline;
}

.woocommerce-checkout .checkout-inline-error-message {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-block-start: 8px;
	color: var(--dwp-warning);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-medium);
	line-height: 1.45;
	text-align: start;
	text-decoration: none;
}

.woocommerce-checkout .checkout-inline-error-message::before {
	content: "!";
	display: inline-grid;
	place-items: center;
	flex: none;
	inline-size: 16px;
	block-size: 16px;
	margin-block-start: 1px;
	border-radius: 50%;
	background: var(--dwp-warning);
	color: var(--dwp-text-on-primary);
	font-size: 0.6875rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1;
}

.woocommerce-checkout form.checkout .form-row.woocommerce-invalid > label {
	color: var(--dwp-warning);
}

.woocommerce-checkout form.checkout .form-row.woocommerce-invalid {
	scroll-margin-block: 96px;
}

.woocommerce-checkout form.checkout .form-row.woocommerce-invalid :is(input.input-text, select),
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid .select2-selection--single,
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid :is(input.input-text, select):focus,
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid .select2-selection--single:focus {
	border-color: var(--dwp-warning);
	box-shadow: 0 0 0 3px rgb(166 58 43 / 0.16);
	outline: none;
}

.woocommerce-checkout #order_review {
	background: transparent;
	border: 0;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table {
	inline-size: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1.5px solid var(--dwp-border-default);
	border-radius: 5px;
	background: var(--dwp-bg-card);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td {
	padding: var(--dwp-space-4);
	border-top: 0;
	border-block-end: 1px solid var(--dwp-border-default);
	text-align: start;
	vertical-align: middle;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead th {
	background: var(--dwp-neutral-100);
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-semibold);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table :is(.product-total, tfoot td) {
	text-align: end;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .product-name {
	font-weight: var(--dwp-fw-semibold);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .product-quantity {
	display: none;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol {
	margin-inline-start: 4px;
	color: var(--dwp-text-muted);
	font-size: 0.75em;
	font-weight: var(--dwp-fw-semibold);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart-subtotal :is(th, td) {
	color: var(--dwp-text-muted);
	font-weight: var(--dwp-fw-regular, 400);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .order-total :is(th, td) {
	border-block-end: 0;
	background: var(--dwp-primary-50);
	color: var(--dwp-text-heading);
	font-size: 1.125rem;
	font-weight: var(--dwp-fw-bold);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
	color: var(--dwp-color-primary-text);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol {
	color: var(--dwp-color-primary-text);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr:last-child :is(th, td) {
	border-block-end: 0;
}

.woocommerce-checkout .dwp-checkout__summary-title {
	margin: 0 0 14px;
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.4;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tr {
	display: block;
	inline-size: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table :is(th, td) {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	vertical-align: top;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tr.cart_item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: center;
	padding-block: 14px;
	border: 0;
	border-block-end: 1px solid var(--dwp-border-default);
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tr.cart_item:first-child {
	padding-block-start: 0;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tr.cart_item td.product-name {
	display: block;
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.45;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .product-quantity {
	display: none;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.45;
}

.woocommerce-checkout .dwp-checkout__summary .cart_item .woocommerce-Price-currencySymbol {
	color: var(--dwp-text-muted);
	font-size: 0.75em;
	font-weight: var(--dwp-fw-semibold);
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .cart-subtotal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-block: 14px;
	border: 0;
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-regular, 400);
	line-height: 1.4;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .cart-subtotal :is(th, td),
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .cart-subtotal .woocommerce-Price-amount,
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .cart-subtotal .woocommerce-Price-currencySymbol {
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-regular, 400);
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .order-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block-start: 0;
	padding: 12px 14px;
	border: 0;
	border-radius: 8px;
	background: var(--dwp-primary-50);
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .order-total :is(th, td) {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.3;
}

.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount,
.woocommerce-checkout .dwp-checkout__summary table.shop_table.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol {
	color: var(--dwp-color-primary-text);
	font-size: 1.0625rem;
	font-weight: var(--dwp-fw-bold);
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods.wc_payment_methods {
	display: grid;
	gap: var(--dwp-space-2);
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce-checkout #payment .wc_payment_method {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1.5px solid var(--dwp-border-default);
	border-radius: 5px;
	background: var(--dwp-bg-card);
}

.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
	border-color: var(--dwp-color-primary);
	background: var(--dwp-primary-50);
}

.woocommerce-checkout #payment .wc_payment_method label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding-block: 14px;
	padding-inline-start: 16px;
	padding-inline-end: 8px;
	color: var(--dwp-text-heading);
	font-size: 0.875rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.4;
	cursor: pointer;
}

.woocommerce-checkout #payment .wc_payment_method input.input-radio {
	grid-column: 1;
	grid-row: 1;
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	margin: 0;
	margin-inline-start: 16px;
	accent-color: var(--dwp-color-primary);
}

.woocommerce-checkout #payment .wc_payment_method label {
	grid-column: 2;
	grid-row: 1;
}

.woocommerce-checkout #payment .wc_payment_method .payment_box {
	grid-column: 1 / -1;
}

.woocommerce-checkout #payment ul.wc_payment_methods div.payment_box {
	box-sizing: border-box;
	inline-size: calc(100% - 32px);
	width: calc(100% - 32px);
	max-inline-size: calc(100% - 32px);
	min-inline-size: 0;
	margin-block: 0 14px;
	margin-inline: 16px;
	padding: 12px 14px;
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.woocommerce-checkout #payment ul.wc_payment_methods div.payment_box::before,
.woocommerce-checkout #payment ul.wc_payment_methods div.payment_box::after {
	display: none;
}

.woocommerce-checkout #payment ul.wc_payment_methods div.payment_box p {
	margin: 0;
}

.woocommerce-checkout #secured-by-kashier-container {
	display: none;
}

.woocommerce-checkout #payment div.form-row.place-order {
	float: none;
	inline-size: 100%;
	margin: var(--dwp-space-4) 0 0;
	padding: 0;
}

.woocommerce-checkout #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	inline-size: 100%;
	min-block-size: 56px;
	margin-block-start: 0;
	padding-inline: 24px;
	border: 0;
	border-radius: 5px;
	background: var(--dwp-color-primary);
	color: var(--dwp-text-on-primary);
	font-family: inherit;
	font-size: 1rem;
	font-weight: var(--dwp-fw-bold);
	cursor: pointer;
}

.woocommerce-checkout #place_order .dwp-place-order__total {
	display: inline-flex;
	align-items: center;
	margin-inline-end: 12px;
	padding-inline-end: 12px;
	border-inline-end: 1px solid rgb(255 255 255 / 0.45);
	direction: ltr;
	unicode-bidi: isolate;
}

.woocommerce-checkout #place_order :is(.woocommerce-Price-amount, .woocommerce-Price-currencySymbol, bdi) {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	direction: ltr;
	unicode-bidi: isolate;
}

.woocommerce-checkout #place_order:hover {
	background: var(--dwp-color-primary-hover);
	color: var(--dwp-text-on-primary);
}

.woocommerce-checkout :is(.woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields) {
	display: none;
}

.woocommerce-checkout #payment ul.payment_methods.wc_payment_methods li img.kashier-icon {
	display: inline-block;
	flex: none;
	block-size: 20px;
	inline-size: auto;
	max-inline-size: 36px;
	margin: 0;
	padding: 0;
	object-fit: contain;
}

.woocommerce-checkout #payment ul.payment_methods.wc_payment_methods li label img.kashier-icon:first-of-type {
	margin-inline-start: auto;
}

.woocommerce-checkout #payment ul.payment_methods.wc_payment_methods li img.kashier-icon.dwp-apple-pay-icon {
	block-size: 18px;
	inline-size: auto;
	width: auto;
	max-inline-size: none;
	max-width: none;
	aspect-ratio: 512 / 210.2;
}

.woocommerce-checkout #payment .payment_method_hs_paygate label img.dwp-instapay-icon,
body.woocommerce-order-pay #payment .payment_method_hs_paygate label img.dwp-instapay-icon,
.woocommerce-checkout #payment [class*="payment_method_hs_paygate_"] label img.hs-paygate-method-icon,
body.woocommerce-order-pay #payment [class*="payment_method_hs_paygate_"] label img.hs-paygate-method-icon {
	display: block;
	flex: none;
	block-size: 32px;
	inline-size: auto;
	width: auto;
	max-inline-size: 92px;
	margin: 0;
	margin-inline-start: auto;
	object-fit: contain;
}

/* Phone row: intl-tel-input matches the other checkout fields. Flag stays at the LTR start. */
.woocommerce-checkout #billing_phone_field .woocommerce-input-wrapper > .iti {
	display: block;
	inline-size: 100%;
	width: 100%;
	direction: ltr;
}

.woocommerce-checkout #billing_phone_field .iti__country-container {
	left: 0;
	right: auto;
}

.woocommerce-checkout #billing_phone_field .iti #billing_phone {
	direction: ltr;
	text-align: right;
	padding-right: 16px;
	box-sizing: border-box;
	inline-size: 100%;
	width: 100%;
	block-size: 52px;
	min-block-size: 52px;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background: var(--dwp-bg-card);
}

.woocommerce-checkout #billing_phone_field .iti #billing_phone:focus {
	border-color: var(--dwp-color-primary);
	outline: none;
}

.woocommerce-checkout #billing_phone_field.woocommerce-invalid .iti #billing_phone,
.woocommerce-checkout #billing_phone_field.woocommerce-invalid .iti #billing_phone:focus {
	border-color: var(--dwp-warning);
	box-shadow: 0 0 0 3px rgb(166 58 43 / 0.16);
	outline: none;
}

.woocommerce-checkout #billing_phone_field .iti__selected-country {
	background: transparent;
	border: 0;
	border-radius: 5px 0 0 5px;
}

.woocommerce-checkout .iti--inline-country-selector .iti__country-selector {
	z-index: 30;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background: var(--dwp-bg-card);
	font-size: 0.875rem;
	line-height: 1.4;
}

.woocommerce-checkout .iti__search-input,
.woocommerce-checkout .iti__country-name,
.woocommerce-checkout .iti__dial-code {
	font-size: 0.875rem;
}

.woocommerce-checkout .iti__search-input:is(:focus, :focus-visible) {
	outline: none;
	outline-offset: 0;
	border-color: transparent;
	box-shadow: none;
}

body.woocommerce-checkout :is(:focus, :focus-visible) {
	outline: none;
}

/* Pay for order: one narrow column. The checkout grid does not wrap this form. */
body.woocommerce-order-pay .dwp-entry-wrap {
	max-inline-size: 640px;
	margin-inline: auto;
}

body.woocommerce-order-pay .dwp-entry > .woocommerce {
	max-inline-size: none;
}

body.woocommerce-order-pay .dwp-page__title {
	margin-block-end: 20px;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
}

body.woocommerce-order-pay #order_review.dwp-order-pay {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-order-pay #order_review table.shop_table {
	inline-size: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border: 1.5px solid var(--dwp-border-default);
	border-radius: 5px;
	background: var(--dwp-bg-card);
}

body.woocommerce-order-pay #order_review table.shop_table :is(th, td) {
	padding: 14px 16px;
	border: 0;
	border-block-end: 1px solid var(--dwp-border-default);
	background: transparent;
	color: var(--dwp-text-primary);
	text-align: start;
	vertical-align: middle;
}

body.woocommerce-order-pay #order_review table.shop_table tr:last-child :is(th, td) {
	border-block-end: 0;
}

body.woocommerce-order-pay #order_review table.shop_table thead th {
	background: var(--dwp-neutral-100);
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-semibold);
}

body.woocommerce-order-pay #order_review table.shop_table .product-name {
	color: var(--dwp-text-heading);
	font-weight: var(--dwp-fw-semibold);
}

body.woocommerce-order-pay #order_review table.shop_table :is(.product-quantity, .product-subtotal, .product-total) {
	text-align: end;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

body.woocommerce-order-pay #order_review table.shop_table .woocommerce-Price-amount,
body.woocommerce-order-pay #order_review table.shop_table .woocommerce-Price-amount bdi {
	direction: ltr;
	unicode-bidi: isolate;
}

body.woocommerce-order-pay #order_review table.shop_table .woocommerce-Price-currencySymbol {
	margin-inline-start: 4px;
	color: var(--dwp-text-muted);
	font-size: 0.75em;
	font-weight: var(--dwp-fw-semibold);
}

body.woocommerce-order-pay #order_review .dwp-order-pay__row--cart_subtotal :is(th, td),
body.woocommerce-order-pay #order_review .dwp-order-pay__row--payment_method :is(th, td) {
	color: var(--dwp-text-muted);
	font-weight: var(--dwp-fw-regular, 400);
}

body.woocommerce-order-pay #order_review .dwp-order-pay__row--order_total :is(th, td) {
	background: var(--dwp-primary-50);
	color: var(--dwp-text-heading);
	font-weight: var(--dwp-fw-bold);
}

body.woocommerce-order-pay #order_review .dwp-order-pay__row--order_total :is(.woocommerce-Price-amount, .woocommerce-Price-currencySymbol) {
	color: var(--dwp-color-primary-text);
}

body.woocommerce-order-pay #payment .wc_payment_method label {
	inline-size: 100%;
	min-inline-size: 0;
}

body.woocommerce-order-pay #payment ul.payment_methods.wc_payment_methods li label img.kashier-icon:first-of-type {
	margin-inline-start: auto;
}

body.woocommerce-order-pay #payment ul.wc_payment_methods div.payment_box {
	inline-size: auto;
	width: auto;
	max-inline-size: none;
	min-block-size: 0;
	height: auto;
	margin: 0;
	padding-block: 0 14px;
	padding-inline: 50px 16px;
	border-radius: 0;
	background: transparent;
	color: var(--dwp-text-muted);
}

body.woocommerce-order-pay #payment > .form-row {
	float: none;
	inline-size: 100%;
	margin: 0;
	padding: 0;
}

body.woocommerce-order-pay #place_order {
	float: none;
}

@media (max-width: 699px) {
	body.woocommerce-order-pay .dwp-page {
		padding-block: 20px 32px;
	}

	body.woocommerce-order-pay .dwp-page > .dwp-container {
		padding-inline: 16px;
	}

	body.woocommerce-order-pay .dwp-entry-wrap {
		max-inline-size: none;
		inline-size: 100%;
	}

	body.woocommerce-order-pay .dwp-page__title {
		margin-block-end: 16px;
		font-size: var(--dwp-fs-h4);
	}

	body.woocommerce-order-pay #order_review table.shop_table :is(th, td) {
		padding: 12px;
	}

	body.woocommerce-order-pay #payment .wc_payment_method label {
		flex-wrap: wrap;
		row-gap: 6px;
		padding-block: 12px;
	}

	body.woocommerce-order-pay #payment ul.wc_payment_methods div.payment_box {
		padding-inline: 16px;
	}
}

/* ---- site/thankyou.css ---- */
/* Order-received / thank-you page. Mobile-first, logical properties only. */

.woocommerce-order-received .dwp-page {
	padding-block: 0 48px;
	background:
		radial-gradient(120% 80% at 50% 0%, var(--dwp-primary-50) 0%, transparent 55%),
		var(--dwp-bg-page);
}

.woocommerce-order-received .dwp-page > .dwp-container {
	max-inline-size: calc(720px + 2 * var(--dwp-page-pad));
}

.woocommerce-order-received .dwp-page__title {
	display: none;
}

.dwp-thankyou {
	display: grid;
	gap: 12px;
	padding-block: 16px 0;
}

.dwp-thankyou__hero {
	display: grid;
	justify-items: center;
	gap: 10px;
	padding: 20px 16px 18px;
	border: 1px solid var(--dwp-border-default);
	border-radius: 16px;
	background: var(--dwp-bg-card);
	text-align: center;
}

.dwp-thankyou__hero--failed {
	border-color: #F1CFC6;
	background: var(--dwp-warning-soft);
}

.dwp-thankyou__hero--pending .dwp-thankyou__status {
	gap: 10px;
	margin-block-end: 8px;
	padding: 16px 28px 14px;
	border: 1px solid var(--dwp-primary-200);
	border-radius: 18px;
	background: var(--dwp-primary-100);
}

.dwp-thankyou__hero--pending .dwp-thankyou__status .dwp-thankyou__eyebrow {
	color: var(--dwp-primary-800);
}

.dwp-thankyou__status {
	display: grid;
	justify-items: center;
	gap: 8px;
	margin-block-end: 16px;
}

.dwp-thankyou__status .dwp-thankyou__eyebrow {
	color: var(--dwp-success);
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.4;
}

.dwp-thankyou__mark {
	display: inline-grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 999px;
	background: var(--dwp-success-soft);
	color: var(--dwp-success);
	animation: dwp-thankyou-pop 0.55s var(--dwp-ease) both;
}

.dwp-thankyou__mark--failed {
	background: var(--dwp-bg-card);
	animation: none;
}

.dwp-thankyou__hero--pending .dwp-thankyou__mark--pending {
	background: var(--dwp-color-primary);
	color: var(--dwp-text-on-primary);
}

.dwp-thankyou__hero--pending .dwp-thankyou__mark--pending .dwp-icon {
	color: var(--dwp-text-on-primary);
}

.dwp-thankyou__eyebrow {
	margin: 0;
}

.dwp-thankyou__title {
	margin: 0;
	max-inline-size: 22ch;
	color: var(--dwp-text-heading);
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.55;
	text-align: center;
	text-wrap: balance;
	animation: dwp-thankyou-rise 0.6s var(--dwp-ease) 0.08s both;
}

.dwp-thankyou__brand {
	color: var(--dwp-color-primary-text);
}

.dwp-thankyou__lead {
	margin: 0;
	inline-size: 100%;
	max-inline-size: 42ch;
	color: var(--dwp-text-primary);
	font-size: var(--dwp-fs-body);
	line-height: 1.95;
	text-align: center;
	animation: dwp-thankyou-rise 0.6s var(--dwp-ease) 0.16s both;
}

.dwp-thankyou__lead strong {
	color: var(--dwp-text-heading);
	font-weight: var(--dwp-fw-semibold);
}

.dwp-thankyou__notice {
	margin: 0;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	line-height: var(--dwp-lh-small);
	text-align: center;
}

.dwp-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	inline-size: 100%;
	margin-block-start: 4px;
}

.dwp-thankyou__overview,
.dwp-thankyou__pay-note,
.dwp-thankyou__verify-form {
	padding: 18px 16px;
	border: 1px solid var(--dwp-border-default);
	border-radius: 16px;
	background: var(--dwp-bg-card);
}

.dwp-thankyou__pay-note {
	color: var(--dwp-text-primary);
	font-size: var(--dwp-fs-small);
	line-height: var(--dwp-lh-small);
	text-align: start;
}

.dwp-thankyou__pay-note > :first-child {
	margin-block-start: 0;
}

.dwp-thankyou__pay-note > :last-child {
	margin-block-end: 0;
}

.dwp-thankyou__verify-form .form-row {
	margin: 0;
	padding: 0;
	float: none;
	width: auto;
}

.dwp-thankyou__verify-form .form-row + .form-row {
	margin-block-start: 14px;
}

.dwp-thankyou__verify-form label {
	display: block;
	margin-block-end: 8px;
	color: var(--dwp-text-muted);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-semibold);
	text-align: start;
}

.dwp-thankyou__verify-form .required {
	color: var(--dwp-color-primary-text);
	text-decoration: none;
}

.dwp-thankyou__verify-form input.input-text {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 52px;
	padding-block: 12px;
	padding-inline: 16px;
	border: 1.5px solid var(--dwp-border-strong);
	border-radius: 5px;
	background: var(--dwp-bg-card);
	color: var(--dwp-text-primary);
	font: inherit;
}

.dwp-thankyou__verify-form .dwp-btn {
	inline-size: 100%;
}

.dwp-thankyou__lead a {
	color: var(--dwp-text-link);
	font-weight: var(--dwp-fw-semibold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.dwp-thankyou__overview-title {
	margin: 0;
	color: var(--dwp-text-heading);
	font-size: var(--dwp-fs-h4);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
	text-align: start;
}

.dwp-thankyou__meta {
	display: grid;
	gap: 0;
	margin: 12px 0 0;
}

.dwp-thankyou__meta-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: baseline;
	padding-block: 10px;
	border-block-start: 1px solid var(--dwp-border-default);
}

.dwp-thankyou__meta-row:first-child {
	border-block-start: 0;
	padding-block-start: 0;
}

.dwp-thankyou__meta-row dt {
	margin: 0;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-medium);
	text-align: start;
}

.dwp-thankyou__meta-row dd {
	margin: 0;
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	text-align: end;
	overflow-wrap: anywhere;
}

.dwp-thankyou__meta-row dd .woocommerce-Price-amount,
.dwp-thankyou__meta-row dd bdi,
.dwp-thankyou__item-total .woocommerce-Price-amount,
.dwp-thankyou__item-total bdi {
	direction: ltr;
	unicode-bidi: isolate;
}

.dwp-thankyou__items {
	margin: 4px 0 0;
	padding: 10px 0 0;
	list-style: none;
	border-block-start: 1px solid var(--dwp-border-default);
}

.dwp-thankyou__items li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-block: 8px;
	text-align: start;
}

.dwp-thankyou__item-name {
	min-inline-size: 0;
	color: var(--dwp-text-primary);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-medium);
	text-align: start;
}

.dwp-thankyou__item-total {
	flex: none;
	color: var(--dwp-text-heading);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-bold);
	white-space: nowrap;
}

@media (min-width: 640px) {
	.woocommerce-order-received .dwp-page {
		padding-block-end: 72px;
	}

	.dwp-thankyou {
		gap: 20px;
		padding-block-start: 36px;
	}

	.dwp-thankyou__hero {
		gap: 14px;
		padding: 36px 36px 28px;
		border-radius: 20px;
	}

	.dwp-thankyou__mark {
		inline-size: 48px;
		block-size: 48px;
	}

	.dwp-thankyou__overview,
	.dwp-thankyou__pay-note,
	.dwp-thankyou__verify-form {
		padding: 26px 28px;
		border-radius: 20px;
	}
}

@media (max-width: 639px) {
	.woocommerce-order-received .dwp-page {
		padding-block-end: 0;
	}

	.woocommerce-order-received .dwp-page > .dwp-container {
		padding-inline: 0;
	}

	.dwp-thankyou {
		gap: 0;
		padding-block: 0;
	}

	.dwp-thankyou__hero,
	.dwp-thankyou__overview,
	.dwp-thankyou__pay-note,
	.dwp-thankyou__verify-form {
		border-radius: 0;
		border-inline: 0;
	}

	.dwp-thankyou__hero {
		border-block-start: 0;
		padding-block: 20px 16px;
		padding-inline: 16px;
	}

	.dwp-thankyou__overview,
	.dwp-thankyou__pay-note,
	.dwp-thankyou__verify-form {
		border-block-start: 0;
		padding-block: 16px;
		padding-inline: 16px;
	}

	.dwp-thankyou__actions .dwp-btn {
		inline-size: 100%;
	}

	.dwp-thankyou__title {
		font-size: 1.375rem;
		line-height: 1.55;
	}

	.dwp-thankyou__lead {
		font-size: 0.9375rem;
		line-height: 1.95;
	}
}

@keyframes dwp-thankyou-pop {
	from {
		opacity: 0;
		transform: scale(0.72);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes dwp-thankyou-rise {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dwp-thankyou__mark,
	.dwp-thankyou__title,
	.dwp-thankyou__lead {
		animation: none;
	}
}

/* ---- site/paygate.css ---- */
/* Standalone /paygate/ screen. Matches the theme type and the thank-you surfaces. */

body.paygate-payment-endpoint {
	background:
		radial-gradient(120% 70% at 50% 0%, var(--dwp-primary-50) 0%, transparent 58%),
		var(--dwp-bg-page);
	color: var(--dwp-text-primary);
	font-family: var(--dwp-font-sans);
	letter-spacing: 0;
}

body.paygate-payment-endpoint :is(
	.hs-pg-payment-page,
	button,
	input,
	textarea,
	select,
	.hs-pg-success-ref,
	.hs-pg-payment-summary__amount
) {
	font-family: var(--dwp-font-sans);
	letter-spacing: 0;
}

body.paygate-payment-endpoint .hs-pg-payment-page {
	max-inline-size: 440px;
	margin-block: 28px 48px;
	padding-inline: 20px;
}

body.paygate-payment-endpoint .hs-pg-payment-header {
	padding-block-end: 18px;
	margin-block-end: 22px;
	border-block-end-color: var(--dwp-border-default);
}

body.paygate-payment-endpoint .hs-pg-payment-logo {
	max-block-size: 44px;
	max-inline-size: 148px;
}

body.paygate-payment-endpoint .hs-pg-payment-secure {
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-medium);
}

body.paygate-payment-endpoint #pg-summary.hs-pg-payment-summary {
	background: none;
	padding: 0;
	margin: 0 0 22px;
	border-radius: 0;
	box-shadow: none;
}

body.paygate-payment-endpoint .hs-pg-payment-summary .hs-pg-payment-summary {
	border-radius: 20px;
	padding: 22px 22px 18px;
	box-shadow: var(--dwp-shadow-2);
	text-align: start;
}

body.paygate-payment-endpoint .hs-pg-payment-summary__label {
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-medium);
	opacity: 0.88;
}

body.paygate-payment-endpoint .hs-pg-payment-summary__amount {
	margin-block-start: 6px;
	font-size: clamp(2rem, 7vw, 2.5rem);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-tight);
	font-variant-numeric: tabular-nums lining-nums;
}

body.paygate-payment-endpoint .hs-pg-payment-summary__desc {
	margin-block-start: 8px;
	font-size: var(--dwp-fs-small);
	opacity: 0.9;
}

body.paygate-payment-endpoint .hs-pg-step-title {
	margin: 0 0 6px;
	color: var(--dwp-text-heading);
	font-size: var(--dwp-fs-h4);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
	text-align: start;
}

body.paygate-payment-endpoint .hs-pg-step-intro {
	margin: 0 0 14px;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	line-height: var(--dwp-lh-small);
	text-align: start;
}

body.paygate-payment-endpoint .hs-pg-methods-list {
	gap: 12px;
}

body.paygate-payment-endpoint .hs-pg-method-option {
	gap: 14px;
	min-block-size: 76px;
	padding: 14px 16px;
	border: 1px solid var(--dwp-border-default);
	border-radius: 16px;
	background: var(--dwp-bg-card);
	box-shadow: var(--dwp-shadow-1);
	text-align: start;
}

body.paygate-payment-endpoint .hs-pg-method-option:hover {
	border-color: var(--dwp-color-primary);
	background: var(--dwp-primary-50);
}

body.paygate-payment-endpoint .hs-pg-method-option__icon {
	inline-size: 84px;
	block-size: 36px;
	border-radius: 0;
	background: transparent;
}

body.paygate-payment-endpoint .hs-pg-method-option__icon img {
	inline-size: auto;
	block-size: 32px;
	max-inline-size: 84px;
	object-fit: contain;
}

body.paygate-payment-endpoint .hs-pg-method-option__name {
	color: var(--dwp-text-heading);
	font-size: 1.0625rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.35;
}

body.paygate-payment-endpoint .hs-pg-method-option__desc {
	margin-block-start: 2px;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	line-height: 1.55;
}

body.paygate-payment-endpoint .hs-pg-method-option__arrow {
	display: inline-grid;
	place-items: center;
	inline-size: 28px;
	block-size: 28px;
	border-radius: 999px;
	background: var(--dwp-neutral-100);
	color: var(--dwp-text-muted);
	font-size: 1.25rem;
	line-height: 1;
}

html[dir="rtl"] body.paygate-payment-endpoint .hs-pg-method-option__arrow {
	transform: scaleX(-1);
}

body.paygate-payment-endpoint .hs-pg-success-box {
	padding: 28px 20px 8px;
}

body.paygate-payment-endpoint .hs-pg-success-icon {
	display: grid;
	place-items: center;
	inline-size: 64px;
	block-size: 64px;
	margin: 0 auto 16px;
	border-radius: 999px;
	background: var(--dwp-success-soft);
	color: var(--dwp-success);
}

body.paygate-payment-endpoint .hs-pg-success-icon svg {
	inline-size: 34px;
	block-size: 34px;
}

body.paygate-payment-endpoint .hs-pg-success-box h2 {
	color: var(--dwp-text-heading);
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
}

body.paygate-payment-endpoint .hs-pg-success-box p {
	color: var(--dwp-text-muted);
	text-align: center;
	font-size: var(--dwp-fs-small);
	line-height: var(--dwp-lh-small);
}

body.paygate-payment-endpoint .hs-pg-success-ref {
	display: inline-block;
	margin-block-end: 8px;
	padding: 10px 16px;
	border-radius: 12px;
	background: var(--dwp-neutral-100);
	color: var(--dwp-text-primary);
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-semibold);
	font-variant-numeric: tabular-nums lining-nums;
}

body.paygate-payment-endpoint .hs-pg-success-redirect {
	margin-block-start: 18px;
	padding-block-start: 18px;
	border-block-start-color: var(--dwp-border-default);
}

body.paygate-payment-endpoint .hs-pg-redirect-msg {
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-medium);
}

body.paygate-payment-endpoint .hs-pg-redirect-link {
	color: var(--dwp-color-primary-text);
	font-weight: var(--dwp-fw-semibold);
	text-decoration: underline;
	text-underline-offset: 0.28em;
}

body.paygate-payment-endpoint .hs-pg-redirect-link:hover {
	color: var(--dwp-text-link-hover);
	opacity: 1;
}

/* ---- site/preview-flag.css ---- */
.dwp-preview-flag { position: fixed; inset-block-end: var(--dwp-space-3); inset-inline-start: var(--dwp-space-3); z-index: 9999; padding: var(--dwp-space-1) var(--dwp-space-3); border-radius: var(--dwp-radius-pill); background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-semibold); direction: ltr; pointer-events: none; opacity: .85; }

/* ---- components/icon.css ---- */
.dwp-icon { display: inline-block; flex: none; vertical-align: middle; stroke: currentColor; fill: none; }
/* Directional icons are drawn for RTL (Nader, icons.md): flip ONLY in LTR contexts, never under [dir="rtl"]. */
[dir="ltr"] .dwp-icon--mirror { transform: scaleX(-1); }
.dwp-icon--brand-vivid { color: var(--dwp-color-brand-vivid); }
.dwp-icon--primary-text { color: var(--dwp-color-primary-text); }
.dwp-icon--muted { color: var(--dwp-text-muted); }
.dwp-icon--success { color: var(--dwp-success); }
.dwp-icon--on-dark { color: var(--dwp-text-on-dark); }
.dwp-icon--secondary { color: var(--dwp-color-secondary); } /* S5 equation chips (Nader decisions §C) */

/* ---- components/button.css ---- */
/* Button additions only; the base .dwp-btn lives in tokens.css (plan C12). Omar extends in B1. */
.dwp-btn { text-decoration: none; padding-block: 12px; } /* 12+12 + 1.4 line + 2×1.5 border < 52: min-block-size (52) sets the height, so it renders exactly 52px (Ziad S1 #7) */
.dwp-btn--compact { min-block-size: 48px; padding-block: 10px; padding-inline: 20px; }
.dwp-btn--large { min-block-size: 56px; }
.dwp-btn--full-mobile { inline-size: 100%; }
@media (min-width: 640px) { .dwp-btn--full-mobile { inline-size: auto; } }
/* B1: label + end icon (arrow-end ← points forward in RTL; flips only in LTR via .dwp-icon--mirror). */
.dwp-btn__label { min-inline-size: 0; text-align: center; }
.dwp-btn .dwp-icon { inline-size: 20px; block-size: 20px; }
/* QA G2: tokens.css `a:hover { color: link-hover }` (0,1,1) outranks the variant colours (0,1,0) on <a> buttons, so the
   label turned #886500 on hover/press (1.27:1 / 1.00:1 on primary). Pin every variant's label colour in all states (0,2,0).
   Disabled/aria-disabled is pinned last at (0,3,0) so it also beats these. */
.dwp-btn--primary:is(:hover, :active, :focus-visible) { color: var(--dwp-text-on-primary); }
.dwp-btn--secondary:is(:hover, :active, :focus-visible) { color: var(--dwp-color-secondary); }
.dwp-btn--ghost:is(:hover, :focus-visible) { color: var(--dwp-text-link); }
.dwp-btn--ghost:active { color: var(--dwp-primary-800); } /* DS 6.1: ghost active text primary-800 */
.dwp-btn:is(:disabled, [aria-disabled="true"]):is(:hover, :active, :focus-visible) { color: var(--dwp-neutral-600); background: var(--dwp-neutral-200); }

/* ---- components/badge.css ---- */
/* Component: badge (Guide §3.7, DS §6.4): pill, padding 3/12, 14px / 600. No solid red fills, no blinking. */
.dwp-badge { display: inline-flex; align-items: center; gap: var(--dwp-space-1); padding-block: 3px; padding-inline: var(--dwp-space-3); border: 1px solid transparent; border-radius: var(--dwp-radius-pill); font-size: 0.875rem; font-weight: var(--dwp-fw-semibold); line-height: 1.6; }
.dwp-badge--neutral { background: var(--dwp-neutral-100); color: var(--dwp-text-primary); border-color: var(--dwp-border-default); }
.dwp-badge--discount { background: var(--dwp-warning-soft); color: var(--dwp-warning); border-color: #F1CFC6; }
.dwp-badge--gift { background: var(--dwp-color-primary-soft); color: var(--dwp-color-primary-text); }
.dwp-badge--success { background: var(--dwp-success-soft); color: var(--dwp-success); }

/* ---- components/placeholder.css ---- */
/* Placeholder (plan §18, DS §6.7 hatch style). Preview only; never rendered live. */
.dwp-ph { background: var(--dwp-warning-soft); color: var(--dwp-text-primary); border-radius: var(--dwp-radius-xs); padding-inline: var(--dwp-space-1); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.dwp-ph__num { font-weight: var(--dwp-fw-bold); unicode-bidi: isolate; }
.dwp-placeholder { display: grid; place-content: center; gap: var(--dwp-space-2); min-block-size: 160px; padding: var(--dwp-space-6); border: 1.5px dashed var(--dwp-border-strong); border-radius: var(--dwp-radius-lg); text-align: center; color: var(--dwp-text-muted); font-size: var(--dwp-fs-small);
  background: repeating-linear-gradient(135deg, var(--dwp-bg-card) 0 10px, var(--dwp-neutral-100) 10px 20px); }
.dwp-placeholder__num { justify-self: center; padding-inline: var(--dwp-space-2); border-radius: var(--dwp-radius-pill); background: var(--dwp-warning-soft); color: var(--dwp-text-primary); font-weight: var(--dwp-fw-bold); }
.dwp-placeholder__note { font-size: var(--dwp-fs-caption); }
.dwp-approval-tag { display: inline-block; padding-inline: var(--dwp-space-2); border-radius: var(--dwp-radius-pill); background: var(--dwp-warning-soft); font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-semibold); }

/* CCC: header CTA uses brand orange with dark text */
.dwp-site-header .dwp-site-header__cta .dwp-btn, .dwp-site-header .dwp-site-header__cta .dwp-btn--primary { color: #030201 !important; }

/* CCC: logo keeps its proportions */
.dwp-logo { object-fit: contain; }
