/* =========================================================================
   ONION TRAINING - SITE STYLESHEET
   Loaded on every page by the onion-child theme (functions.php).
   Assembled 16 September 2026. Edit this file directly.

   *** THE PART ORDER 4, 3, 2, 1 IS DELIBERATE ***
   WPCode printed the four snippets in reverse, so Part 1 loaded LAST and won
   every conflict with Parts 2 to 4. This file reproduces that exact cascade.
   Reordering them 1,2,3,4 inverts every override and breaks the footer and
   the blog layout. Do not tidy the order.

   SECTION 5 was rescued from the two "LifterLMS" snippets. Despite the name,
   those snippets contained the site-wide header, footer and Divi row rules,
   written with "html body" prefixes to beat Divi's specificity. Making them
   load only on course pages broke the header and footer everywhere else.
   They belong here.

   Google Fonts @import replaced with self-hosted @font-face in Part 1.
   ========================================================================= */


/* ========================================================================
   PART 4 OF 4   (loaded 1 of 4 - see note above)
   ======================================================================== */

/* ===== ONION TRAINING — SHARED STYLESHEET (PART 4 of 4) =====

		ADDED HERE THURSDAY 10 SEP 2026 @ 07:52am
		LAST UPDATED --> Tuesday 15 Sep 2026 @ 02:30pm
		NEW 4th WPCode CSS snippet (parts 1-3 are at the ~64KB limit).
		Paste as its own site-wide CSS snippet. Tokens (:root) live in PART 1.
		Contents: pagination skin, Groups card tweaks, course/lesson headings, 404,
		FAQ links, founder LinkedIn, orders, + RESPONSIVE (mobile/tablet) pass 1-2.
   ========================================================================= */

/* pagination container (LifterLMS student dashboard, Groups reports, Woo, WP) */
#et-boc .llms-pagination,#et-boc .llms-pagination ul,#et-boc ul.page-numbers,#et-boc nav.woocommerce-pagination ul{list-style:none!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;align-items:center!important;padding:0!important;margin:8px 0 0!important;border:0!important}
/* schools reports: trim the space above pagination */
#et-boc .llms-group-card .llms-pagination,#et-boc .llms-group-main .llms-pagination{margin-top:4px!important}
#et-boc .llms-group-card-main .llms-table+.llms-pagination,#et-boc .llms-group-card-main>.llms-pagination{margin-top:0!important}
#et-boc .llms-pagination li,#et-boc ul.page-numbers li,#et-boc .woocommerce-pagination li{list-style:none!important;margin:0!important;padding:0!important;border:0!important;background:none!important}

/* the number/next/prev pills — matches .onion-pagebtn from the Articles grid */
#et-boc a.page-numbers,#et-boc span.page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;height:40px!important;padding:0 12px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.9rem!important;line-height:1!important;color:var(--on-navy-deep)!important;background:var(--on-warm)!important;border:1px solid var(--on-line)!important;border-radius:10px!important;text-decoration:none!important;box-shadow:none!important;transition:background .15s,color .15s,border-color .15s!important}
#et-boc a.page-numbers:hover{border-color:var(--on-copper)!important;color:var(--on-copper)!important;background:var(--on-warm)!important}
#et-boc .page-numbers.current,#et-boc span.page-numbers.current{background:var(--on-cta)!important;border-color:var(--on-cta)!important;color:#fff!important}
#et-boc .page-numbers.dots{background:transparent!important;border-color:transparent!important;color:var(--on-muted)!important;min-width:auto!important;padding:0 4px!important}
#et-boc a.next.page-numbers,#et-boc a.prev.page-numbers{font-family:var(--on-font-body)!important;font-weight:600!important}

/* Groups (Schools) card headers — vertically centre the icon+title with the action button */
#et-boc .llms-group-card-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
#et-boc .llms-group-card-header .llms-group-card-title{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important;line-height:1!important}
#et-boc .llms-group-card-header .llms-group-card-title .fa{line-height:1!important;align-self:center!important}
#et-boc .llms-group-card-header .llms-group-button .fa,#et-boc .llms-group-card-action .fa{font-size:.8rem!important}
#et-boc .llms-group-card-footer a{font-size:15px!important}
#et-boc .llms-group-menu-item.item--member-more>.llms-group-button{transform:translateY(2px)!important}
#et-boc .llms-group-pending-invitations-msg{font-size:15px!important}
/* course/lesson pages: headings default to Divi Montserrat because the content sits in
   .et_pb_text modules (#et-boc id specificity beats .onion h2). Force the brand type. */
#et-boc .onion-lesson-main>h1,#et-boc .onion-course-main>h1{font-family:var(--on-font-display)!important;font-weight:800!important;color:var(--on-navy-deep)!important;letter-spacing:-.02em!important;line-height:1.1!important}
#et-boc .onion-prose h2,#et-boc .onion-prose h3,#et-boc .onion-prose h4{font-family:var(--on-font-display)!important;font-weight:700!important;color:var(--on-navy-deep)!important;letter-spacing:-.01em!important}
/* glossary TERM page (.ot-body): h2–h4 were falling back to the theme's Montserrat —
   give them the brand display font, matching .onion-prose. */
#et-boc .ot-body h2,#et-boc .ot-body h3,#et-boc .ot-body h4,
#et-boc .ot-body h2 strong,#et-boc .ot-body h3 strong,#et-boc .ot-body h4 strong{font-family:var(--on-font-display)!important;font-weight:700!important;color:var(--on-navy-deep)!important;letter-spacing:-.01em!important}
#et-boc .ot-body h2{font-size:clamp(1.5rem,2.6vw,2rem)!important;margin:30px 0 12px!important}
#et-boc .ot-body h3{font-size:1.25rem!important;margin:24px 0 10px!important}
#et-boc .ot-body h4{font-size:1.05rem!important;margin:20px 0 8px!important}
#et-boc .llms-course-continue-button,#et-boc .llms-course-continue-button:hover{text-decoration:none!important}
/* 404 page: drop the full-viewport centering; fixed 100px top space */
#et-boc .onion-404{min-height:auto!important;align-items:flex-start!important;padding-top:60px!important;padding-bottom:60px!important}
/* FAQ answer links — copper + hover (custom FAQ, Divi accordion, module accordion) */
#et-boc .onion-faq-a a,#et-boc .et_pb_toggle_content a,#et-boc .et_pb_accordion .et_pb_toggle_content a,#et-boc .onion-macc-panel a{color:var(--on-copper)!important;font-weight:600!important;text-decoration:none!important}
#et-boc .onion-faq-a a:hover,#et-boc .et_pb_toggle_content a:hover,#et-boc .et_pb_accordion .et_pb_toggle_content a:hover,#et-boc .onion-macc-panel a:hover{color:var(--on-cta-hover)!important;text-decoration:underline!important}

/* About page: founder LinkedIn icon button */
#et-boc .onion-founder .onion-founder-link{display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--on-warm-2)!important;color:var(--on-navy)!important;margin:2px 0 8px;transition:background .18s,color .18s,transform .18s}
#et-boc .onion-founder .onion-founder-link:hover{background:var(--on-navy-deep)!important;color:#fff!important;transform:translateY(-2px)}
/* Orders (My Account): remove the "Browse products" button on the empty-orders notice */
#et-boc .woocommerce-MyAccount-content .woocommerce-info a.wc-forward,#et-boc .woocommerce-MyAccount-content .woocommerce-info a.button{display:none!important}

/* =========================================================================
   RESPONSIVE — tablet + mobile (pass 1: header burger, hero, 2-col layouts)
   ========================================================================= */
/* header: collapse desktop nav to the burger below 1100px; Login/member links move into the mobile menu */
@media(max-width:1100px){
  #et-boc .onion-links,.onion-links{display:none!important}
  #et-boc .onion-navcta .onion-textlink,.onion-navcta .onion-textlink{display:none!important}
  #et-boc .onion-navcta .btn,.onion-navcta .btn{display:none!important}
  #et-boc .onion-navcta,.onion-navcta{margin-left:auto!important}
  #et-boc .onion-burger,.onion-burger{display:inline-flex!important}
}
/* hero: stack the two columns, add safe side padding, wrap the proof stats.
   NB: the hero's desktop rules are #et-boc-scoped, so these overrides must be too
   (a bare .onion-hero-* !important still loses to the id-scoped desktop rule). */
@media(max-width:960px){
  #et-boc .onion-hero-inner,.onion-hero-inner{grid-template-columns:1fr!important;gap:30px!important;padding:44px 22px 54px!important}
  #et-boc .onion-hero-proof,.onion-hero-proof{flex-wrap:wrap!important}
  #et-boc .onion-hero-proof .stat,.onion-hero-proof .stat{flex:1 1 auto!important}   /* let the 3rd tile drop to the next row instead of being cut off */
  #et-boc .onion-hero-proof .divider,.onion-hero-proof .divider{display:none!important}
}
@media(max-width:760px){
  .onion-hero-visual{display:none!important}
}
/* main two-column layouts stack */
@media(max-width:900px){
  .onion-split,.onion-founders,.onion-contact-grid,.onion-why-grid,.onion-membership-split,
  .onion-lesson-layout,.onion-auth,.onion-dofe,.onion-account .woocommerce{grid-template-columns:1fr!important}
  .onion-lesson-layout .onion-lesson-syllabus{position:static!important}
  /* stacked hero-style splits (image + lead paragraph): reorder to
     eyebrow > h2 > image > paragraph > CTA. The CTA is nested inside the text
     column, so flatten that column with display:contents and order the pieces.
     gap:0 (the split's desktop grid-gap would otherwise become a huge flex row-gap);
     align-items:flex-start keeps the eyebrow left-aligned as on desktop. */
  #et-boc .onion-split:has(>img):has(.onion-lead){display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}
  #et-boc .onion-split:has(>img):has(.onion-lead)>div{display:contents!important}
  #et-boc .onion-split:has(>img):has(.onion-lead) .onion-eyebrow{order:0!important;text-align:left!important}
  #et-boc .onion-split:has(>img):has(.onion-lead) h2{order:1!important;margin:0 0 8px!important}
  #et-boc .onion-split:has(>img):has(.onion-lead)>img{order:2!important;display:block!important;width:100%!important;margin:12px 0 18px!important}
  #et-boc .onion-split:has(>img):has(.onion-lead) .onion-lead,
  #et-boc .onion-split:has(>img):has(.onion-lead) p,
  #et-boc .onion-split:has(>img):has(.onion-lead) ul,
  #et-boc .onion-split:has(>img):has(.onion-lead) ol{order:3!important}
  #et-boc .onion-split:has(>img):has(.onion-lead) .btn{order:4!important;margin-top:22px!important}
}
/* Basket (Divi WooCommerce cart module) on mobile: Divi stacks the cart rows and
   renders the data-title labels ("Price:", "Quantity:"…) as navy text on a navy
   background — solid dark bars. Neutralise the background and use a muted label. */
@media(max-width:768px){
  #et-boc .et_pb_wc_cart_products td::before,
  #et-boc .woocommerce-cart-form table td::before{
    background:transparent!important;background-color:transparent!important;
    color:var(--on-muted)!important;font-weight:600!important;padding:0!important;
  }
  /* trim the empty gaps at the top of the first row and around the actions area
     (Divi's responsive rule pads each <tr>, leaving dead space inside the box) */
  #et-boc .et_pb_wc_cart_products tr.cart_item{padding-top:0!important;padding-bottom:0!important}
  #et-boc .et_pb_wc_cart_products td.product-name{border-top:0!important;padding-top:16px!important}
  #et-boc .et_pb_wc_cart_products td.product-subtotal{padding-bottom:10px!important}
  /* coupon + Update-basket footer: solid warm panel filling the whole box */
  #et-boc .et_pb_wc_cart_products table.shop_table tr:has(>td.actions){padding:0!important}
  #et-boc .et_pb_wc_cart_products td.actions{background:var(--on-warm)!important;background-color:var(--on-warm)!important;padding:18px 20px!important;margin:0!important;border-bottom-left-radius:14px!important;border-bottom-right-radius:14px!important}
  #et-boc .et_pb_wc_cart_products td.actions button[name="update_cart"]{margin-bottom:0!important}
  /* dark navy header strip across the top of the basket card, echoing the checkout
     "Your order" table. The 4-col thead is repurposed into a single title bar. */
  #et-boc .et_pb_wc_cart_products table.shop_table thead{display:block!important;background:var(--on-navy-deep)!important}
  #et-boc .et_pb_wc_cart_products table.shop_table thead tr{display:block!important}
  #et-boc .et_pb_wc_cart_products table.shop_table thead th{display:none!important}
  #et-boc .et_pb_wc_cart_products table.shop_table thead th.product-name{display:block!important;font-size:0!important;padding:14px 20px!important;border:0!important}
  #et-boc .et_pb_wc_cart_products table.shop_table thead th.product-name::before{content:"Your Basket"!important;font-family:var(--on-font-mono)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#fff!important}

  /* Basket totals (Divi cart-totals module): un-stack into the checkout's dark
     2-col table — navy label cells, right-aligned values, copper Total + VAT note.
     (Simple 2-col table, so it un-stacks cleanly, unlike the 4-col cart above.) */
  #et-boc .et_pb_wc_cart_totals table.shop_table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:separate!important;border:1px solid var(--on-line)!important;border-radius:14px!important;overflow:hidden!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table tbody{display:table-row-group!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table tr{display:table-row!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table th{display:table-cell!important;width:45%!important;background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.04em!important;text-align:left!important;padding:14px 16px!important;vertical-align:middle!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table td{display:table-cell!important;text-align:right!important;padding:14px 16px!important;font-size:15px!important;vertical-align:middle!important;background:#fff!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table td::before{display:none!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table tr.order-total td .amount{color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:800!important}
  #et-boc .et_pb_wc_cart_totals table.shop_table tr.order-total td small{display:block!important;color:var(--on-muted)!important;font-size:12px!important;font-weight:400!important;white-space:normal!important}
}

/* My Account dashboard course card: the existing full-width rules are prefixed
   body.woocommerce-account, but this page's body class is page-id-* (no
   woocommerce-account), so the default .llms-loop-list.cols-3 grid stayed and
   right-aligned the single card. Force it full-width, body-class-independent. */
#et-boc .onion-dash-main-course .llms-loop-list{display:block!important;grid-template-columns:1fr!important;width:100%!important;max-width:none!important;margin:0!important}
#et-boc .onion-dash-main-course .llms-loop-item{width:100%!important;max-width:none!important;margin:0!important;float:none!important}
/* the visible card (.llms-loop-item-content) had margin:0 18px, pushing it 18px
   right of the welcome paragraph — zero it so the card's left edge lines up */
#et-boc .onion-dash-main-course .llms-loop-item-content{margin-left:0!important;margin-right:0!important}

/* My Account: the nav|content layout is a bare .woocommerce grid (no .onion-account
   wrapper, so the earlier stack rule never matched) — on mobile the content column
   sat beside the nav and was cut off. Stack it below the nav. */
@media(max-width:900px){
  /* stack nav above content, and drop the 24px grid padding so the content/card
     sit at the column's left edge (full width, left-aligned) instead of inset 65px */
  #et-boc .woocommerce:has(>.woocommerce-MyAccount-navigation){display:block!important;padding:24px 0 48px!important}
  #et-boc .woocommerce:has(>.woocommerce-MyAccount-navigation)>.woocommerce-MyAccount-navigation{width:auto!important;float:none!important}
  #et-boc .woocommerce:has(>.woocommerce-MyAccount-navigation)>.woocommerce-MyAccount-content{width:auto!important;margin:24px 0 0!important}
  /* collapse the (now stacked) nav behind a toggle so content shows immediately.
     JS that inserts .onion-acct-navtoggle lives in the templates PHP. */
  #et-boc .woocommerce-MyAccount-navigation .onion-acct-navtoggle{display:flex!important;align-items:center;justify-content:space-between;width:100%;gap:10px;background:var(--on-navy-deep);color:#fff;border:0;border-radius:12px;padding:14px 18px;cursor:pointer;font-family:var(--on-font-mono);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
  #et-boc .woocommerce-MyAccount-navigation .onion-acct-navcaret{transition:transform .2s}
  #et-boc .woocommerce-MyAccount-navigation.is-open .onion-acct-navcaret{transform:rotate(180deg)}
  #et-boc .woocommerce-MyAccount-navigation ul{display:none!important;margin-top:10px!important}
  #et-boc .woocommerce-MyAccount-navigation.is-open ul{display:flex!important}
}
/* toggle button is mobile-only — hidden on desktop where the nav is its own column */
.onion-acct-navtoggle{display:none}

/* My Courses list on mobile: cards were full-column (364px) with an 18px margin
   that overflowed right. Cap the width and auto-centre each card in the column. */
@media(max-width:600px){
  #et-boc .llms-my-courses .llms-loop-item-content{max-width:320px!important;width:auto!important;margin-left:auto!important;margin-right:auto!important}
}

/* Orders table (My Account) on mobile: rebuild each stacked order as a bordered
   card whose rows read like the Order-details table — a full-height navy label
   cell (mono/uppercase, white) on the left, value on the right. */
@media(max-width:768px){
  #et-boc .account-orders-table tbody tr,#et-boc .woocommerce-orders-table tbody tr{
    display:block!important;background:#fff!important;border:1px solid var(--on-line)!important;
    border-radius:12px!important;overflow:hidden!important;margin:0 0 16px!important}
  #et-boc .account-orders-table tbody td,#et-boc .woocommerce-orders-table tbody td{
    display:flex!important;align-items:center!important;column-gap:14px!important;
    padding:0 14px 0 0!important;margin:0!important;border-top:1px solid var(--on-line)!important;
    text-align:left!important;font-size:14px!important;color:var(--on-ink)!important}
  #et-boc .account-orders-table tbody tr td:first-child,#et-boc .woocommerce-orders-table tbody tr td:first-child{border-top:0!important}
  /* dividers are border-top only — strip any stray side/bottom border on cells and
     the table/tbody so the card shows a single clean bottom edge */
  #et-boc .account-orders-table tbody td,#et-boc .woocommerce-orders-table tbody td{border-bottom:0!important;border-left:0!important;border-right:0!important}
  #et-boc .account-orders-table,#et-boc .account-orders-table tbody,#et-boc .woocommerce-orders-table,#et-boc .woocommerce-orders-table tbody{border:0!important}
  #et-boc .account-orders-table td::before,#et-boc .woocommerce-orders-table td::before{
    flex:0 0 42%!important;align-self:stretch!important;display:flex!important;align-items:center!important;
    background:var(--on-navy-deep)!important;color:#fff!important;margin:0!important;padding:12px 14px!important;
    border-radius:0!important;font-family:var(--on-font-mono)!important;text-transform:uppercase!important;
    font-size:11px!important;letter-spacing:.04em!important;font-weight:600!important;white-space:nowrap!important}
}

/* Login page: on mobile the stacked .onion-auth column ballooned to ~436px (its
   40px padding + the form's min-content wouldn't shrink), overflowing the viewport
   so the form/error shifted right and clipped. minmax(0,1fr) lets it shrink; trim
   the card padding. Worse when an error notice is shown. */
@media(max-width:900px){
  #et-boc .onion-auth{grid-template-columns:minmax(0,1fr)!important}
  #et-boc .onion-auth-main{padding:28px 22px!important}
  #et-boc .onion-auth .woocommerce-error{padding-left:16px!important;margin-left:0!important}
}
/* long emails in the login error were an unbreakable string spilling out of the box */
#et-boc .onion-auth .woocommerce-error li,#et-boc .onion-auth .woocommerce-error strong{overflow-wrap:anywhere!important;word-break:break-word!important}

/* Course/lesson content: the content is a Divi post layout nested in .onion-prose.
   On some courses its first section+row add ~48px top padding, leaving a big gap
   between the progress bar and the first heading while others have none. Zero that
   leading top padding so the gap is consistent across all courses. */
#et-boc .onion-prose .et-l--post .et_builder_inner_content>.et_pb_section:first-child{padding-top:0!important}
#et-boc .onion-prose .et-l--post .et_builder_inner_content>.et_pb_section:first-child>.et_pb_row:first-child{padding-top:0!important}
/* ...and the trailing section/row bottom padding, so the gap between the last
   content (e.g. instructors) and the progress bar at the bottom is consistent too. */
#et-boc .onion-prose .et-l--post .et_builder_inner_content>.et_pb_section:last-child{padding-bottom:0!important}
#et-boc .onion-prose .et-l--post .et_builder_inner_content>.et_pb_section:last-child>.et_pb_row:last-child{padding-bottom:0!important}

/* Checkout order table: a theme rule (tr.order-total th, tr.order-total td) forces
   the whole TOTAL row copper !important. Keep the amount copper but restore the
   TOTAL label to white so it matches the other navy-cell labels. */
#et-boc .onion-checkout table.shop_table tfoot tr.order-total th{color:#fff!important}

/* My Schools tiles: they're 200px inline-blocks with a right margin for side-by-side
   spacing, so on mobile (one per row) they sit left. Centre them. Higher specificity
   (.llms-group a) so this beats the identical base rule in onion-lifterlms, which
   loads after this file. */
@media(max-width:600px){
  body.woocommerce-account .woocommerce-MyAccount-content .llms-group a:has(> .llms-group-logo){display:block!important;margin-left:auto!important;margin-right:auto!important;width:200px!important}
}

/* Order-received / view-order "Order details" table: match the dark-table look —
   the footer label cells (Subtotal/Discount/Total) were cream; make them navy like
   the header and the checkout/basket totals. All viewports. */
#et-boc table.woocommerce-table--order-details thead th,
table.woocommerce-table--order-details thead th{background:var(--on-navy-deep)!important;color:#fff!important}
#et-boc table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot th{background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:.74rem!important}
#et-boc table.woocommerce-table--order-details tfoot td,
table.woocommerce-table--order-details tfoot td{background:#fff!important}
#et-boc table.woocommerce-table--order-details tfoot tr:last-child td .amount,
table.woocommerce-table--order-details tfoot tr:last-child td .amount{color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:800!important}
/* thin 1px row dividers (were thick white bands from cell borders/spacing) */
#et-boc table.woocommerce-table--order-details,
table.woocommerce-table--order-details{border-collapse:separate!important;border-spacing:0!important}
#et-boc table.woocommerce-table--order-details th,#et-boc table.woocommerce-table--order-details td,
table.woocommerce-table--order-details th,table.woocommerce-table--order-details td{border-width:0 0 1px 0!important;border-style:solid!important;border-color:var(--on-line)!important}
#et-boc table.woocommerce-table--order-details tfoot tr:last-child th,#et-boc table.woocommerce-table--order-details tfoot tr:last-child td,
table.woocommerce-table--order-details tfoot tr:last-child th,table.woocommerce-table--order-details tfoot tr:last-child td{border-bottom:0!important}

/* Contact form card: the 34px card padding squeezed the form below the fixed
   300px Cloudflare Turnstile widget, so it ran off-screen. Trim the padding on
   mobile; on the narrowest phones also scale the widget to fit (overflow:hidden
   clips the widget's leftover layout box so there's no horizontal page scroll). */
@media(max-width:600px){
  #et-boc .onion-form-card,.onion-form-card{padding-left:16px!important;padding-right:16px!important}
}
@media(max-width:374px){
  #et-boc .onion-form-card,.onion-form-card{padding-left:12px!important;padding-right:12px!important}
  .onion-form-card .gfield--type-turnstile{overflow:hidden!important}
  .onion-form-card .cf-turnstile{transform:scale(.85)!important;transform-origin:left top!important}
}
/* Glossary term page eyebrow (.ot-eyebrow) was missing the copper bar the rest
   of the site's eyebrows have — give it the same ::before dash. */
.ot-eyebrow{display:flex!important;align-items:center!important;gap:.5em!important}   /* block-level flex so it sits on its own line below the "← All glossary terms" back-link */
.ot-eyebrow::before{content:""!important;width:14px!important;height:1.5px!important;background:var(--on-copper)!important;opacity:.6!important;flex:none!important}

/* Glossary A-Z index: the chip row was a nowrap horizontal-scroll strip (775px)
   running off-screen — wrap it onto multiple centred rows on mobile/tablet.
   The term lists use a fixed 3-col grid that overflowed the page; drop to 2 cols
   on tablet and 1 on phones (minmax(0,1fr) lets long terms wrap, not overflow). */
@media(max-width:1024px){
  #et-boc .onion-gloss-az,.onion-gloss-az{flex-wrap:wrap!important;overflow-x:visible!important;justify-content:center!important}
  #et-boc .onion-gloss-search,.onion-gloss-search{margin-bottom:28px!important}   /* space below the search bar before the first (#) section */
}
@media(max-width:900px){
  #et-boc .onion-gloss-terms,.onion-gloss-terms{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  #et-boc .onion-gloss-terms,.onion-gloss-terms{grid-template-columns:minmax(0,1fr)!important}
}
/* Checkout trust items: on phones they wrap and centre unevenly (the inline <br>s
   skew the flex row). Stack them into a centred column. */
/* Articles/category grid: the stacked column resolved to a child's min-content
   (348px) wider than the container (335px), so cards/sidebar overflowed the right
   edge. minmax(0,1fr) forces the column to fit — even 20px margins both sides. */
/* author archive on mobile/tablet: the Divi body section adds 30px padding-top under
   the header (on top of the hero's own padding) — drop it so the hero sits snug. */
@media(max-width:980px){
  body.author #et-boc .et_pb_section_0_tb_body,body.author .et_pb_section_0_tb_body{padding-top:0!important}
  /* single post: the 2-col row (content + sidebar) squeezed the content on tablet.
     Stack it — content full width, sidebar below. */
  body.single-post #et-boc .et_pb_row_0_tb_body{flex-direction:column!important;display:flex!important}
  body.single-post #et-boc .et_pb_row_0_tb_body>.et_pb_column{width:100%!important;max-width:100%!important;margin:0 0 24px!important}
}
@media(max-width:900px){
  #et-boc .onion-arts-layout{grid-template-columns:minmax(0,1fr)!important}
  /* single blog post (Divi Theme Builder body): rows ran edge-to-edge on mobile —
     add side padding so the title, image and body text aren't flush to the edges */
  body.single-post .et-l--body .et_pb_row{padding-left:20px!important;padding-right:20px!important;box-sizing:border-box!important}
  /* course progress boxes: the real layout container is .llms-sd-widgets (a flex
     row that wraps 2-up). Switch it to a column so the boxes stack one per row and
     the donut fits. Widget display is left alone, so Grade/Achievement stay hidden. */
  #et-boc .llms-sd-widgets{flex-direction:column!important;gap:16px!important}
  #et-boc .llms-sd-widgets .llms-sd-widget{width:auto!important;max-width:100%!important;float:none!important;margin:0!important}
  /* lessons/progress table was wider than the rest and pushed right — fit it */
  #et-boc .llms-table.llms-single-course-progress,#et-boc .llms-sd-section .llms-table{width:100%!important;max-width:100%!important;display:block!important;overflow-x:auto!important}
}
@media(max-width:700px){
  #et-boc .onion-checkout-trust{flex-direction:column!important;align-items:center!important;gap:12px!important}
  #et-boc .onion-checkout-trust br{display:none!important}
  #et-boc .onion-checkout-trust span{justify-content:center!important;width:100%!important}
  .onion-price-grid{grid-template-columns:1fr!important}
  /* pricing card action row: stack the buttons (Contact Us drops to its own row) */
  #et-boc .onion-price .btn-ghost,#et-boc .onion-price .btn-dark{flex:1 1 100%!important}
}
/* tighter section rhythm + safe edge padding on phones */
@media(max-width:760px){
  .onion-section{padding:56px 0!important}
  .onion-section-sm{padding:40px 0!important}
  .onion-wrap{padding-left:20px!important;padding-right:20px!important}
  .onion-cta-band,.onion-newsletter{padding:32px 22px!important}
}

/* --- mobile pass 2: hero CTAs stack, long buttons wrap, mobile-menu variants --- */
@media(max-width:760px){
  #et-boc .onion-hero-actions,.onion-hero-actions{flex-direction:column!important;align-items:stretch!important}
  #et-boc .onion-hero-actions .btn,.onion-hero-actions .btn{width:100%!important;padding:13px 20px!important;font-size:15px!important}   /* smaller CTAs on phones */
  .onion-hero h1{font-size:clamp(1.9rem,7vw,2.6rem)!important}
  #et-boc .brands,.brands{justify-content:center!important}   /* "skills in demand" chips centre each wrapped row */
  /* DofE eyebrow: keep it as ONE centred line on mobile (nowrap + slightly smaller
     font). Wrapping was what floated the bar/"//" apart; on one line the whole
     bar + // + text sits together, centred. */
  #et-boc .onion-dofe .onion-eyebrow,.onion-dofe .onion-eyebrow{white-space:nowrap!important;font-size:11px!important}
}
@media(max-width:360px){
  #et-boc .onion-dofe .onion-eyebrow,.onion-dofe .onion-eyebrow{font-size:10px!important}
}
/* DofE eyebrow: tight 2px between the bar and the // */
#et-boc .onion-dofe .onion-eyebrow,.onion-dofe .onion-eyebrow{gap:2px!important}
@media(max-width:560px){
  .onion .btn{white-space:normal!important}          /* long CTAs wrap instead of running off-screen */
  /* long .btn-lg labels wrap onto balanced lines (flex blocks text-wrap:balance, so go inline-block) */
  #et-boc a.btn-lg,a.btn-lg{display:inline-block!important;text-align:center!important;text-wrap:balance!important}
}
/* mobile menu: show member links as block when logged in; make the ghost Login button visible on the dark panel; no Enrol */
body.logged-in .onion-mobilenav a.onion-member-only{display:block!important}
.onion-mobilenav .m-actions .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.3)!important}
/* current-page link in the mobile menu: was dim/near-invisible on the dark panel — highlight it in copper */
/* course/lesson (LifterLMS) pages colour links blue, which bled into the mobile
   menu. Force the top-level/member links white (keep .sub muted, active copper). */
.onion-mobilenav a:not(.sub):not(.active):not([aria-current]){color:#fff!important}
.onion-mobilenav a.active,.onion-mobilenav a[aria-current]{color:var(--on-copper-soft)!important}
.onion-mobilenav .m-actions .btn-ghost:hover{border-color:var(--on-copper-soft)!important;color:var(--on-copper-soft)!important;background:rgba(255,255,255,.06)!important}

/* Post-16 / Schools page (page-id-27057): the two cream ".onion-why" bands sit inside
   Divi's 1180px row, so the cream doesn't reach the screen edges. Break them out to
   full-bleed; the inner .onion-wrap still re-centres the content to the normal width. */
body.page-id-27057 .onion-why{
  width:auto!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
}

/* Mobile: trim the big top gap between the header and the hero H1 (page hero top
   padding is 90px on desktop — too tall on phones). Applies site-wide. */
@media(max-width:600px){
  .onion-page-hero,.onion-gloss-head{padding-top:40px!important}
}

/* Mobile burger nav: collapsible "Resources" group (guest menu). A <button> toggle
   (styled like a top-level item) expands/collapses the Articles/Glossary sub-links. */
.onion-mobilenav .onion-mdd{display:flex;flex-direction:column}
.onion-mobilenav .onion-mdd-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.1);padding:.5em 0;margin:0;cursor:pointer;font-family:var(--on-font-display);font-size:1.5rem;font-weight:600;color:#fff;text-align:left;line-height:1.2}
.onion-mobilenav .onion-mdd-caret{font-size:1rem;line-height:1;transition:transform .2s;flex-shrink:0}
.onion-mobilenav .onion-mdd[data-open] .onion-mdd-caret{transform:rotate(180deg)}
.onion-mobilenav .onion-mdd-panel{display:none;flex-direction:column;gap:6px;padding-top:6px}
.onion-mobilenav .onion-mdd[data-open] .onion-mdd-panel{display:flex}

/* Woo "added to basket" notice: the "View basket" button uses margin-left:auto to sit
   right on desktop. On mobile it wraps to its own line — centre it instead of leaving
   it right-aligned. */
@media(max-width:600px){
  #et-boc .woocommerce-message .button,.woocommerce-message .button,
  #et-boc .woocommerce-message .button.wc-forward,.woocommerce-message .button.wc-forward{margin:8px auto 0!important}
}


/* ========================================================================
   PART 3 OF 4   (loaded 2 of 4 - see note above)
   ======================================================================== */

/* =========================================================================
	ONION TRAINING — SHARED STYLESHEET  (PART 3 of 3)
	LAST UPDATED --> Monday 14 Sep 2026 @ 10:57am
	Paste as its own WPCode CSS snippet, site-wide. Tokens (:root) live in PART 1.
   ========================================================================= */

/* ==========================================================================
   CHECKOUT (WooCommerce → WorldPay hosted payment)
   ========================================================================== */
.onion-checkout{padding:56px 0 80px}
.onion-checkout-note{display:flex;gap:14px;align-items:flex-start;background:var(--on-amber-tint);border:1px solid var(--on-line-strong);border-radius:14px;padding:18px 20px;margin-bottom:28px}
.onion-checkout-note .on-ico{width:42px;height:42px;border-radius:11px;background:#fff;color:var(--on-copper);flex-shrink:0}
.onion-checkout-note b{font-family:var(--on-font-display);color:var(--on-navy-deep);display:block;font-size:1rem}
.onion-checkout-note span{font-size:.9rem;color:var(--on-muted)}
.onion-checkout-shell{background:var(--on-ground);border:1px solid var(--on-line);border-radius:20px;box-shadow:var(--on-shadow);padding:34px}
.onion-checkout-trust{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-top:26px;font-family:var(--on-font-mono);font-size:.76rem;letter-spacing:.03em;color:var(--on-muted)}
.onion-checkout-trust span{display:inline-flex;align-items:center;gap:7px}
.onion-checkout-trust svg{color:var(--on-copper)}

/* Restyle WooCommerce checkout output */
.onion-checkout .woocommerce{font-family:var(--on-font-body);color:var(--on-ink)}
.onion-checkout .woocommerce h3,.onion-checkout .woocommerce-checkout h3{font-family:var(--on-font-display);color:var(--on-navy-deep);font-size:1.2rem;margin-bottom:14px}
.onion-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:28px}
.onion-checkout .col2-set .col-1,.onion-checkout .col2-set .col-2{width:auto;float:none}
/* move the billing form into the left white space (full width, left aligned) */
/* the ::before/::after on #customer_details.col2-set become grid items and steal the left column, pushing billing right — kill them + drop to block */
.onion-checkout #customer_details.col2-set{display:block!important;width:100%!important;float:none!important;margin:0!important;text-align:left!important}
.onion-checkout #customer_details.col2-set::before,.onion-checkout #customer_details.col2-set::after{display:none!important;content:none!important}
.onion-checkout #customer_details .col-1,.onion-checkout #customer_details .col-2{width:100%!important;max-width:100%!important;float:none!important;margin:0!important}
/* remove the Additional information / order notes block */
.onion-checkout .woocommerce-additional-fields{display:none!important}
/* two-column checkout: billing left, order summary (heading + review) right */
.onion-checkout form.checkout.woocommerce-checkout{display:grid!important;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr;gap:16px 44px;align-items:start}
.onion-checkout form.checkout #customer_details{grid-column:1!important;grid-row:1 / span 2!important}
.onion-checkout form.checkout #order_review_heading{grid-column:2!important;grid-row:1!important;margin:0 0 6px!important}
.onion-checkout form.checkout #order_review{grid-column:2!important;grid-row:2!important}
@media(max-width:860px){
  .onion-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr}
  .onion-checkout form.checkout #customer_details,
  .onion-checkout form.checkout #order_review_heading,
  .onion-checkout form.checkout #order_review{grid-column:1!important;grid-row:auto!important}
}

/* country/state select2 dropdown (renders at <body> level, so these are global) */
.select2-results__options{scrollbar-width:thin!important;scrollbar-color:var(--on-line-strong) transparent!important}
.select2-results__options::-webkit-scrollbar{width:6px}
.select2-results__options::-webkit-scrollbar-track{background:transparent}
.select2-results__options::-webkit-scrollbar-thumb{background:var(--on-line-strong);border-radius:999px}
/* highlighted option: soft copper (was too-dark copper) */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{background-color:var(--on-copper-soft)!important;color:var(--on-navy-deep)!important}
.onion-checkout .woocommerce form .form-row{margin-bottom:14px}
.onion-checkout .woocommerce form .form-row label{font-weight:600;color:var(--on-navy-deep);font-size:15px!important;margin-bottom:6px;display:block}
.onion-checkout .woocommerce form .form-row .required{color:var(--on-coral)}
.onion-checkout .woocommerce form .form-row input.input-text,
.onion-checkout .woocommerce form .form-row textarea,
.onion-checkout .woocommerce form .form-row select,
.onion-checkout .woocommerce .select2-selection{
  border:1.5px solid var(--on-line-strong)!important;border-radius:10px!important;padding:12px 14px!important;
  font-family:var(--on-font-body)!important;font-size:.96rem!important;background:#fff!important;color:var(--on-ink)!important;min-height:auto!important}
.onion-checkout .woocommerce form .form-row input.input-text:focus,
.onion-checkout .woocommerce form .form-row textarea:focus,
.onion-checkout .woocommerce form .form-row select:focus{outline:none!important;border-color:var(--on-cta)!important;box-shadow:none!important}
.onion-checkout .woocommerce-checkout-review-order{margin-top:8px}
/* order table -> navy top header (matches lessons/basket) */
.onion-checkout .woocommerce table.shop_table{border:1px solid var(--on-line);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;width:100%}
.onion-checkout .woocommerce table.shop_table thead th{background:var(--on-navy-deep);color:#fff;font-family:var(--on-font-mono);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:15px 20px;border:0;text-align:left}
.onion-checkout .woocommerce table.shop_table td,.onion-checkout .woocommerce table.shop_table tbody th{padding:14px 20px;border:0;border-top:1px solid var(--on-line);font-family:var(--on-font-body);font-size:15px;color:var(--on-ink)}
.onion-checkout .woocommerce table.shop_table tfoot th{background:var(--on-navy-deep);font-family:var(--on-font-mono);text-transform:uppercase;font-size:.74rem;letter-spacing:.04em;color:#fff;padding:14px 20px;border-top:1px solid rgba(255,255,255,.08)}
.onion-checkout .woocommerce table.shop_table tfoot td{padding:14px 20px;border-top:1px solid var(--on-line);font-family:var(--on-font-body);font-size:15px}
.onion-checkout .woocommerce table.shop_table .order-total .amount{color:var(--on-copper);font-family:var(--on-font-display);font-weight:800}
.onion-checkout #payment,.onion-checkout .woocommerce-checkout #payment{background:var(--on-warm)!important;border:1px solid var(--on-line)!important;border-radius:14px!important;margin-top:16px}
.onion-checkout #payment ul.payment_methods{border-bottom:1px solid var(--on-line)!important}
.onion-checkout #payment .payment_box{background:#fff!important;border-radius:10px!important}
/* WorldPay box text -> 15px */
.onion-checkout #payment .payment_box,.onion-checkout #payment .payment_box p,
.onion-checkout #payment .wc_payment_method>label,.onion-checkout #payment ul.payment_methods label{font-size:15px!important}
/* privacy-policy text ("Your personal data will be used...") -> 15px */
.onion-checkout .woocommerce-privacy-policy-text,.onion-checkout .woocommerce-privacy-policy-text p{font-family:var(--on-font-body)!important;font-size:15px!important;line-height:1.6!important;color:var(--on-muted)!important}
/* "There are some issues with the items in your basket..." message -> 15px */
.onion-checkout-shell>.woocommerce>p{font-family:var(--on-font-body)!important;font-size:15px!important;line-height:1.6!important}

/* password strength meter -> brand notice style, colour-coded by strength */
#et-boc .woocommerce-password-strength,.onion-checkout .woocommerce-password-strength{
  font-family:var(--on-font-body)!important;font-size:14px!important;font-weight:600!important;
  border-radius:10px!important;padding:9px 14px!important;margin-top:8px!important;text-align:left!important;
  border:1px solid transparent!important;line-height:1.4!important}
#et-boc .woocommerce-password-strength.short,#et-boc .woocommerce-password-strength.bad,
.onion-checkout .woocommerce-password-strength.short,.onion-checkout .woocommerce-password-strength.bad{background:#fdf3f2!important;color:#b42318!important;border-color:#f3c9c4!important}
#et-boc .woocommerce-password-strength.good,.onion-checkout .woocommerce-password-strength.good{background:var(--on-amber-tint)!important;color:var(--on-copper)!important;border-color:var(--on-copper-soft)!important}
#et-boc .woocommerce-password-strength.strong,.onion-checkout .woocommerce-password-strength.strong{background:#eaf6ef!important;color:var(--on-green)!important;border-color:#bfe3ce!important}
#et-boc .woocommerce-password-hint,.onion-checkout .woocommerce-password-hint{font-family:var(--on-font-body)!important;font-size:13px!important;color:var(--on-muted)!important;margin-top:6px!important;display:block!important;line-height:1.5!important}
.onion-checkout #payment div.payment_box::before{border-bottom-color:#fff!important}
.onion-checkout #place_order,
.onion-checkout .woocommerce #place_order,
.onion-checkout .checkout-button,
.onion-checkout .woocommerce a.button.alt,
.onion-checkout .woocommerce button.button.alt{
  background:var(--on-cta)!important;color:#fff!important;border:none!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:1.02rem!important;
  padding:.95em 1.8em!important;width:100%!important;cursor:pointer!important;
  box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important;text-shadow:none!important}
.onion-checkout #place_order:hover,.onion-checkout .woocommerce button.button.alt:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important}
.onion-checkout .woocommerce-info,.onion-checkout .woocommerce-message{border-top-color:var(--on-cta)!important}
.onion-checkout .woocommerce-terms-and-conditions-wrapper a{color:var(--on-copper)}
/* checkout "Returning customer" login form -> branded card, consistent 15px */
.onion-checkout .woocommerce-form-login{max-width:520px;margin:6px auto 36px!important;background:var(--on-ground)!important;border:1px solid var(--on-line)!important;border-radius:20px!important;box-shadow:var(--on-shadow)!important;padding:32px!important}
.onion-checkout .woocommerce-form-login p{font-family:var(--on-font-body)!important;font-size:15px!important;color:var(--on-muted)!important;line-height:1.6!important;margin:0 0 18px!important}
.onion-checkout .woocommerce-form-login label{font-family:var(--on-font-body)!important;font-size:15px!important;font-weight:600!important;color:var(--on-navy-deep)!important}
.onion-checkout .woocommerce-form-login .woocommerce-form-login__rememberme{font-weight:500!important;color:var(--on-muted)!important}
.onion-checkout .woocommerce-form-login .woocommerce-form-login__submit{width:100%!important;margin-top:4px!important}
.onion-checkout .woocommerce-form-login .lost_password{text-align:center!important;margin-top:16px!important}
.onion-checkout .woocommerce-form-login .lost_password a{color:var(--on-copper)!important;font-size:15px!important;font-weight:600!important}
@media(max-width:760px){.onion-checkout .col2-set{grid-template-columns:1fr}.onion-checkout-shell{padding:22px}}

/* =========================================================================
   ORDER RECEIVED / THANK-YOU PAGE  (scoped to the .woocommerce-order-details section)
   ========================================================================= */
.woocommerce-order-details .woocommerce{font-family:var(--on-font-body);color:var(--on-ink)}
.woocommerce-order-details h1,.woocommerce-order-details .woocommerce h2{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;letter-spacing:-.01em}
.woocommerce-order-details .woocommerce-thankyou-order-received{font-family:var(--on-font-body)!important;font-size:16px!important;color:var(--on-muted)!important}

/* order overview meta bar */
.woocommerce-order-details ul.woocommerce-order-overview{list-style:none!important;display:flex!important;flex-wrap:wrap!important;gap:0!important;margin:0 0 40px!important;padding:0!important;border:1px solid var(--on-line)!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
.woocommerce-order-details ul.woocommerce-order-overview li{flex:1!important;min-width:160px!important;padding:16px 20px!important;margin:0!important;border:0!important;border-right:1px solid var(--on-line)!important;font-family:var(--on-font-mono)!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--on-muted)!important}
.woocommerce-order-details ul.woocommerce-order-overview li:last-child{border-right:0!important}
.woocommerce-order-details ul.woocommerce-order-overview li strong{display:block!important;margin-top:5px!important;font-family:var(--on-font-display)!important;font-size:1.05rem!important;color:var(--on-navy-deep)!important;font-weight:700!important;text-transform:none!important;letter-spacing:normal!important}

/* order details table -> navy header (matches the rest of the site) */
.woocommerce-order-details .woocommerce-table--order-details{width:100%!important;background:#fff!important;border:1px solid var(--on-line)!important;border-radius:14px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;font-size:15px!important;margin:0 0 24px!important}
.woocommerce-order-details .woocommerce-table--order-details thead th{background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;font-size:.74rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important;padding:15px 20px!important;border:0!important;text-align:left!important}
.woocommerce-order-details .woocommerce-table--order-details td{padding:14px 20px!important;border:0!important;border-top:1px solid var(--on-line)!important;color:var(--on-ink)!important;font-family:var(--on-font-body)!important;font-size:15px!important}
.woocommerce-order-details .woocommerce-table--order-details tfoot th{background:var(--on-warm)!important;font-family:var(--on-font-mono)!important;text-transform:uppercase!important;font-size:.74rem!important;letter-spacing:.04em!important;color:var(--on-navy-deep)!important;padding:14px 20px!important;border-top:1px solid var(--on-line)!important;text-align:left!important}
.woocommerce-order-details .woocommerce-table--order-details tfoot td{padding:14px 20px!important;border-top:1px solid var(--on-line)!important;font-family:var(--on-font-body)!important;font-size:15px!important}
.woocommerce-order-details .woocommerce-table--order-details tfoot .order-total td,.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td{color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:800!important}

/* voucher note */
.woocommerce-order-details .onion-order-voucher{font-family:var(--on-font-body)!important;font-size:15px!important;color:var(--on-muted)!important;margin:0 0 10px!important}
.woocommerce-order-details .onion-order-voucher strong{color:var(--on-copper)!important;font-family:var(--on-font-mono)!important;letter-spacing:.03em!important}

/* billing address block -> hidden on the order-received page */
/* billing address block sits OUTSIDE the order-details section, so target it directly */
.woocommerce-customer-details{display:none!important}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.onion-footer{background:var(--on-header);color:#c3d0e6;padding:64px 0 30px}
.onion-foot-brand .onion-brand img{height:56px;width:auto;max-width:400px;object-fit:contain}
.onion-foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
.onion-foot-brand .onion-brand{color:#fff;margin-bottom:16px}
.onion-foot-brand .onion-brand span{color:#fff}
.onion-foot-brand .onion-brand span b{color:var(--on-copper-soft)}
.onion-foot-brand p{font-size:.92rem;color:#9fb0cc;max-width:34ch;margin-bottom:20px}
.onion-socials{display:flex;gap:10px}
.onion-socials a{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#c3d0e6;transition:background .2s,color .2s,transform .2s}
.onion-socials a:hover{background:var(--on-copper);color:#fff;transform:translateY(-2px)}
.onion-foot-col h4{font-family:var(--on-font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--on-copper-soft);margin-bottom:16px;font-weight:500}
.onion-foot-col a{display:block;font-size:.92rem;color:#a9b8d2;padding:6px 0;transition:color .15s}
.onion-foot-col a:hover{color:#fff}
.onion-foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;flex-wrap:wrap}
.onion-foot-bottom p{font-size:.84rem;color:#8497b5}
.onion-foot-bottom .legal{display:flex;gap:18px;flex-wrap:wrap}
.onion-foot-bottom .legal a{font-size:.84rem;color:#8497b5}
.onion-foot-bottom .legal a:hover{color:#fff}

/* ==========================================================================
   ALT PRESENTATION PATTERNS  (modern, non-card — for visual variety)
   ========================================================================== */

/* --- Editorial numbered rows (big outline numerals + hairlines) --- */
.onion-rows{border-top:1px solid var(--on-line)}
.onion-row-item{display:grid;grid-template-columns:auto 1fr;column-gap:22px;row-gap:6px;padding:30px 6px;border-bottom:1px solid var(--on-line);transition:background .2s}
.onion-row-item:hover{background:var(--on-warm)}
.onion-row-num{grid-column:1;grid-row:1/3;align-self:start;font-family:var(--on-font-display);font-weight:800;font-size:2.9rem;line-height:.85;letter-spacing:-.03em;color:var(--on-warm-2);-webkit-text-stroke:1.5px var(--on-copper-soft);min-width:1.7ch}
.onion-row-item h4{grid-column:2;grid-row:1;font-family:var(--on-font-display);font-size:1.2rem;color:var(--on-navy-deep)}
.onion-row-item .rtext{grid-column:2;grid-row:2;color:var(--on-muted);font-size:.96rem;max-width:72ch}
@media(min-width:860px){
  .onion-row-item{grid-template-columns:auto 260px 1fr;column-gap:34px;align-items:start}
  .onion-row-num{grid-row:1}
  .onion-row-item .rtext{grid-column:3;grid-row:1}
}

/* --- Numbered step timeline (learning journey) --- */
.onion-steps{max-width:820px;margin:0 auto}
.onion-step{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:22px;padding-bottom:32px}
.onion-step:last-child{padding-bottom:0}
.onion-step-num{position:relative;width:46px;height:46px;border-radius:14px;background:var(--on-navy-deep);color:var(--on-copper-soft);font-family:var(--on-font-mono);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;z-index:1}
.onion-step::before{content:"";position:absolute;left:23px;top:48px;bottom:-2px;width:2px;background:linear-gradient(var(--on-copper-soft),var(--on-line));opacity:.55}
.onion-step:last-child::before{display:none}
.onion-step-body{padding-top:10px}
.onion-step-body p{color:var(--on-ink);font-size:1.04rem;line-height:1.5}
.onion-step-body p b{color:var(--on-navy-deep)}

/* --- Two-column hairline checklist (keeps icons, drops the boxes) --- */
.onion-checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 52px}
.onion-cl-item{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--on-line)}
.onion-cl-item .on-ico{width:40px;height:40px;border-radius:11px;background:var(--on-amber-tint);color:var(--on-copper)}
.onion-cl-item h4{font-family:var(--on-font-display);font-size:1.05rem;color:var(--on-navy-deep);margin-bottom:4px}
.onion-cl-item p{font-size:15px;color:var(--on-muted)}
@media(max-width:760px){
  .onion-checklist{grid-template-columns:1fr;gap:0}
  .onion-cl-item:first-child{border-top:none}
}

/* --- Divided trio (3 columns, vertical hairlines, no boxes) --- */
.onion-trio{display:grid;grid-template-columns:repeat(3,1fr)}
.onion-trio-item{padding:6px 34px}
.onion-trio-item + .onion-trio-item{border-left:1px solid var(--on-line-strong)}
.onion-trio-item:first-child{padding-left:0}
.onion-trio-item:last-child{padding-right:0}
.onion-trio-item .on-ico{width:54px;height:54px;border-radius:15px;background:var(--on-navy-deep);color:var(--on-copper-soft);margin-bottom:20px}
.onion-trio-item h3{font-size:1.3rem;margin-bottom:10px}
.onion-trio-item p{color:var(--on-muted);font-size:.97rem;line-height:1.6}
@media(max-width:820px){
  .onion-trio{grid-template-columns:1fr}
  .onion-trio-item{padding:26px 0}
  .onion-trio-item + .onion-trio-item{border-left:none;border-top:1px solid var(--on-line)}
  .onion-trio-item:first-child{padding-top:0}
}

/* ---- reveal-on-scroll ---- */
.onion-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.onion-reveal.in{opacity:1;transform:none}

/* ---- login page display ---- */
/* WooCommerce login form — brand styling */
.woocommerce-form-login .form-row{margin:0 0 16px!important;padding:0!important}
.woocommerce-form-login label{font-weight:600!important;color:var(--on-navy-deep)!important;font-size:.85rem!important;margin-bottom:6px!important;display:block!important}
.woocommerce-form-login input.input-text,
.woocommerce-form-login input[type=text],
.woocommerce-form-login input[type=email],
.woocommerce-form-login input[type=password]{
  width:100%!important;padding:12px 14px!important;border:1.5px solid var(--on-line-strong)!important;
  border-radius:10px!important;background:#fff!important;color:var(--on-ink)!important;
  font-family:var(--on-font-body)!important;font-size:.96rem!important;box-shadow:none!important}
.woocommerce-form-login input.input-text:focus{outline:none!important;border-color:var(--on-cta)!important}
.woocommerce-form-login button,
.woocommerce-form-login .button,
.woocommerce-form-login .woocommerce-form-login__submit{
  background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  font-weight:600!important;font-size:1rem!important;padding:.8em 2em!important;cursor:pointer!important;
  text-shadow:none!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important}
.woocommerce-form-login button:hover,.woocommerce-form-login .button:hover{background:var(--on-cta-hover)!important}
.woocommerce-form-login .woocommerce-form-login__rememberme{color:var(--on-muted)!important;font-weight:400!important;font-size:.88rem!important}
.woocommerce a,.woocommerce .lost_password a,.woocommerce-form-login a{color:var(--on-copper)!important}

/* ---- DofE - dark background on all cards ---- */
.onion-dofe{background:var(--on-navy-deep) !important;border-color:transparent !important;}
.onion-dofe .onion-eyebrow::before{background-color:var(--on-copper-soft) !important;opacity:.6 !important;}
.onion-dofe .onion-eyebrow{color:var(--on-copper-soft) !important;}
.onion-dofe h2{color:#fff !important;}
.onion-dofe p,
.onion-dofe p strong{color:rgb(169,186,214) !important;font-weight:500 !important;}

/* ---- DofE CTA and top padding (post-16 page)----- */
.onion-dofe .badge-big img{width:140px !important;height:140px !important}
.onion-dofe .btn-ghost{color:#fff !important;border-color:rgba(255,255,255,.55) !important}
.onion-dofe .btn-ghost:hover{background:var(--on-amber-tint) !important;color:var(--on-copper) !important;border-color:var(--on-copper) !important}
.onion-dofe{margin-top:-40px !important}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:960px){
  .onion-hero-inner{grid-template-columns:1fr;gap:44px}
  .onion-hero-visual{max-width:440px;margin:0 auto}
  .onion-why-grid{grid-template-columns:1fr}
  .onion-founders{grid-template-columns:1fr}
  .onion-split{grid-template-columns:1fr;gap:32px}
  .onion-contact-grid{grid-template-columns:1fr;gap:32px}
  .onion-foot-top{grid-template-columns:1fr 1fr;gap:32px}
  .onion-dofe{grid-template-columns:1fr;text-align:center}
  .onion-dofe .badge-big{margin:0 auto}
  .onion-report{display:none}
  .onion-auth{grid-template-columns:1fr;min-height:auto;margin:28px auto}
  .onion-auth-aside{display:none}
  body.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px}
  .onion-dash-shell{grid-template-columns:1fr}
  .onion-dash-nav{border-right:none;border-bottom:1px solid var(--on-line);display:flex;flex-wrap:wrap;gap:4px}
  .onion-dash-nav a{margin-bottom:0}
  .onion-dash-main{padding:26px 22px}
}
@media(max-width:760px){
  .onion-links,.onion-navcta .btn,.onion-navcta .onion-iconlink{display:none}
  .onion-burger{display:flex}
  .onion-section{padding:64px 0}
  .onion-price-grid{grid-template-columns:1fr}
  .onion-cta-band{padding:44px 24px}
  .onion-hero h1 .hl{white-space:normal}
  .onion-hb-1,.onion-hb-2,.onion-hero-badge{display:none}
  .onion-foot-top{grid-template-columns:1fr 1fr}
  .onion-foot-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .onion-wrap{padding:0 18px}
  .onion-row-2{grid-template-columns:1fr}
  .onion-foot-bottom{flex-direction:column;align-items:flex-start}
  .onion-hero-proof .divider{display:none}
  .onion-account-head{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .onion *{animation:none!important;transition:none!important}
  .onion-reveal{opacity:1;transform:none}
}

/* ==========================================================================
   MEMBERSHIP — single (Divi Theme Builder body via [onion_membership])
   ========================================================================== */
.onion-membership-split{display:grid;grid-template-columns:1.35fr .9fr;gap:48px;align-items:start}
.onion-prose>*:first-child{margin-top:0}
.onion-prose p{margin:0 0 12px;color:var(--on-ink);font-size:1.02rem;line-height:1.7}
.onion-prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:30px 0 12px}
.onion-prose h3{font-size:1.25rem;margin:24px 0 10px}
.onion-prose a{color:var(--on-copper);font-weight:600}
.onion-prose a:hover{text-decoration:underline}
.onion-prose ul{list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:7px}
.onion-prose ul>li{position:relative;padding-left:32px;margin:0;color:var(--on-ink);font-size:1rem;line-height:1.4}
.onion-prose ul>li p{margin:0;display:inline}
.onion-prose ul>li::before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--on-amber-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bd6a25' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center}
/* numbered lists — copper number circles, matched size + roomier spacing */
.onion-prose ol{list-style:none;counter-reset:onion-ol;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:14px}
.onion-prose ol>li{counter-increment:onion-ol;position:relative;padding-left:42px;margin:0;color:var(--on-ink);font-size:1.02rem;line-height:1.7}
.onion-prose ol>li p{margin:0}
.onion-prose ol>li::before{content:counter(onion-ol);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;background:var(--on-amber-tint);color:var(--on-copper);font-family:var(--on-font-display);font-weight:700;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center}
.onion-enrol{position:sticky;top:96px;padding:0;overflow:hidden}
/* enrol card: drop the outer white card chrome, keep only the cream-framed image */
#et-boc .onion-enrol,
#et-boc .et_pb_module:has(.onion-enrol),
#et-boc .et_pb_column:has(.onion-enrol){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
#et-boc .onion-enrol-thumb{line-height:0;background:var(--on-warm-2);padding:26px;border-radius:16px;width:fit-content;max-width:100%;margin:0 auto}
#et-boc .onion-enrol-thumb img{width:100%!important;max-width:320px!important;height:auto!important;display:inline-block!important;margin:0 auto!important;border-radius:10px!important}
.onion-enrol-plans{padding:24px 26px 28px}
/* LifterLMS pricing table, skinned to Onion inside the enrol card */
.onion .llms-access-plans,.onion .llms-access-plan{margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;width:100%!important;float:none!important}
.onion .llms-access-plan .llms-access-plan-title{font-family:var(--on-font-display)!important;font-size:1.2rem!important;color:var(--on-navy-deep)!important;margin:0 0 6px!important}
.onion .llms-access-plan .llms-access-plan-pricing{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;margin-bottom:6px!important}
.onion .llms-access-plan .llms-price-amount{font-size:2.4rem!important;font-weight:800!important;letter-spacing:-.03em!important}
.onion .llms-access-plan .llms-price-currency-symbol{font-size:1.2rem!important;vertical-align:super}
.onion .llms-access-plan-description,.onion .llms-access-plan .llms-access-plan-restrictions{color:var(--on-muted)!important;font-size:.9rem!important}
.onion .llms-access-plan .llms-access-plan-footer{margin-top:18px!important;padding:0!important;background:none!important}
.onion .llms-button-action,.onion .llms-access-plan .button,.onion .llms-access-plan-footer .button{
  display:inline-flex!important;align-items:center;justify-content:center;width:100%!important;
  background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:1.02rem!important;line-height:1!important;
  padding:.95em 1.6em!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important;text-shadow:none!important}
.onion .llms-button-action:hover,.onion .llms-access-plan .button:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important;color:#fff!important}
@media(max-width:860px){.onion-membership-split{grid-template-columns:1fr;gap:32px}.onion-enrol{position:static}}


/* ---- LESSON — single (Divi Theme Builder body via [onion_lesson]) ---- */
.onion-lesson-layout{display:grid;grid-template-columns:290px 1fr;gap:44px;align-items:start}
/* trim top white space so the lesson/quiz sits higher under the header */
.onion-section-sm:has(.onion-lesson-layout){padding-top:26px!important;padding-bottom:48px!important}
#et-boc .onion-header .onion-iconlink{margin-right:18px!important}
/* course page reuses the lesson layout; hide LifterLMS's duplicate syllabus in the main */
.onion-course-main .llms-syllabus-wrapper{display:none!important}
/* left: course syllabus / modules (accordion) */
.onion-lesson-syllabus{position:sticky;top:96px;background:var(--on-warm);border:1px solid var(--on-line);border-radius:var(--on-radius);overflow:hidden;max-height:calc(100vh - 120px);padding:14px 0}
.onion-syl-scroll{max-height:calc(100vh - 148px);overflow-y:auto;padding:6px 12px 6px 20px;scrollbar-width:thin;scrollbar-color:var(--on-line-strong) transparent}
.onion-syl-scroll::-webkit-scrollbar{width:6px}
.onion-syl-scroll::-webkit-scrollbar-track{background:transparent}
.onion-syl-scroll::-webkit-scrollbar-thumb{background:var(--on-line-strong);border-radius:999px}
.onion-syl-heading{font-family:var(--on-font-mono);font-size:.74rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-copper);display:inline-flex;align-items:center;gap:.5em;margin:0 0 16px}
.onion-syl-heading::before{content:"";width:14px;height:1.5px;background:var(--on-copper);opacity:.6}
/* accordion section (details/summary) */
details.onion-syl-sec{margin:0;border-bottom:1px solid var(--on-line)}
details.onion-syl-sec:last-child{border-bottom:0}
details.onion-syl-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 6px;font-family:var(--on-font-display);font-size:.95rem;color:var(--on-navy-deep);font-weight:600}
details.onion-syl-sec>summary::-webkit-details-marker{display:none}
details.onion-syl-sec>summary::after{content:"+";color:var(--on-copper);font-size:1.15rem;line-height:1;flex-shrink:0}
details.onion-syl-sec[open]>summary::after{content:"\2013"}
details.onion-syl-sec ul{list-style:none;margin:0;padding:0 0 10px;display:flex;flex-direction:column;gap:2px}
.onion-syl-sec li{margin:0}
/* lesson row (link or locked span) */
.onion-syl-sec li a,.onion-syl-sec li span{display:block;position:relative;padding:7px 10px 7px 30px;border-radius:8px;font-size:.88rem;line-height:1.35;text-decoration:none;transition:background .15s,color .15s}
.onion-syl-sec li a{color:var(--on-ink)!important}
.onion-syl-sec li a:hover{background:#fff!important;color:var(--on-copper)!important}
/* completed: green tick as a left bullet */
.onion-syl-sec li.is-done a::before,.onion-syl-sec li.is-done span::before{content:"\2713";position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--on-green);font-weight:700;font-size:.9rem;line-height:1}
/* active lesson: navy pill, WHITE text */
.onion-syl-sec li.is-current a,.onion-syl-sec li.is-current span{background:var(--on-navy-deep)!important;color:#fff!important;font-weight:600}
.onion-syl-sec li.is-current.is-done a::before,.onion-syl-sec li.is-current.is-done span::before{color:var(--on-copper-soft)}
/* locked / not-yet-available lesson — greyed, not clickable, padlock */
.onion-syl-sec li.is-locked span{color:#b3aa9a;cursor:not-allowed;padding-right:26px}
.onion-syl-sec li.is-locked span:hover{background:none;color:#b3aa9a}
.onion-syl-sec li.is-locked span::after{content:"";position:absolute;right:9px;top:50%;transform:translateY(-50%);width:11px;height:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23b3aa9a' stroke-width='2.2'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") no-repeat center}
/* right: lesson body */
.onion-lesson-main h1{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:8px}
.onion-lesson-back{font-family:var(--on-font-mono);font-size:.8rem;color:var(--on-muted);margin:0 0 24px}
.onion-lesson-back a{color:var(--on-copper);font-weight:600}
/* space below the "Back to:" course line before the body (both layouts) */
body.single-lesson .onion-lesson-back,
body.single-lesson .llms-parent-course{margin-bottom:28px!important;display:block!important}
.onion-lesson-main .onion-prose h2,.onion-lesson-main .onion-prose h3{color:var(--on-copper)}
/* spacing you asked for: air above Mark Complete, nav pushed down */
.onion-lesson-main .llms-lesson-button-wrapper,
.onion-lesson-main form[class*="mark-complete"],
.onion-lesson-main .llms-complete-lesson-form{margin-top:32px!important}
.onion-lesson-main .llms-lesson-navigation{margin-top:36px!important}
/* (onion lightbox removed — using the WP media plugin lightbox instead) */
/* buttons sized to match My Account (.97rem); air under "Lesson Complete".
   Scoped to body.single-lesson so it works on the default layout too. */
body.single-lesson .llms-button-action,
body.single-lesson .llms-button-secondary,
body.single-lesson .llms-lesson-button-wrapper button{font-size:.97rem!important;padding:.82em 1.5em!important}
body.single-lesson .llms-lesson-button-wrapper form,
body.single-lesson .llms-lesson-button-wrapper button{margin-top:14px!important}
/* "Take Quiz" (link button) — match Start Quiz CTA, auto width, centered */
body.single-lesson a.llms-button-action{display:block!important;width:max-content!important;max-width:100%!important;margin:0 auto!important;text-align:center!important;background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-weight:600!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;text-decoration:none!important}
body.single-lesson a.llms-button-action:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important;color:#fff!important}
/* Prev/Next cards are .llms-lesson-preview (not .llms-lesson-navigation) */
/* force white — kills LifterLMS's grey fill (hover + incomplete state) */
body.single-lesson .llms-lesson-preview,
body.single-lesson .llms-lesson-preview section,
body.single-lesson .llms-lesson-preview .llms-lesson-link,
body.single-lesson .llms-lesson-preview .llms-lesson-link:hover,
body.single-lesson .llms-lesson-preview .llms-main{background:#fff!important;background-color:#fff!important}
/* no underline */
body.single-lesson .llms-lesson-preview a,
body.single-lesson .llms-lesson-preview a:hover,
body.single-lesson .llms-lesson-preview .llms-lesson-title{text-decoration:none!important}
/* equal-height prev/next cards via flex (no JS dependency) */
body.single-lesson :has(> .llms-lesson-preview){display:flex!important;gap:24px!important;align-items:stretch!important;flex-wrap:wrap!important}
body.single-lesson .llms-lesson-preview{flex:1 1 300px!important;margin:0!important;float:none!important;width:auto!important;display:flex!important;flex-direction:column!important}
body.single-lesson .llms-lesson-preview>section{flex:1!important;display:flex!important;flex-direction:column!important}
body.single-lesson .llms-lesson-preview .llms-lesson-link{flex:1!important}
/* smaller "Lesson Complete" label + smaller prev/next text */
body.single-lesson .llms-lesson-button-wrapper{font-size:.92rem!important}
body.single-lesson .llms-lesson-preview .llms-pre-text{font-size:.78rem!important;color:var(--on-copper)!important}
body.single-lesson .llms-lesson-preview .llms-lesson-title{font-size:1rem!important}
@media(max-width:860px){.onion-lesson-layout{grid-template-columns:1fr;gap:28px}.onion-lesson-syllabus{position:static;max-height:none}}

/* ==========================================================================
   QUIZ — start / landing page (single-llms_quiz)
   ========================================================================== */
/* remove blog byline */
body.single-llms_quiz .et_post_meta_wrapper .post-meta,
body.single-llms_quiz p.post-meta{display:none!important}
/* headings on brand */
body.single-llms_quiz h1,body.single-llms_quiz h2,body.single-llms_quiz h3,body.single-llms_quiz h4{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;letter-spacing:-.02em}
body.single-llms_quiz h1{font-size:2rem!important;margin-bottom:6px!important}
body.single-llms_quiz h2,body.single-llms_quiz h3,body.single-llms_quiz h4{font-size:1.1rem!important;margin:22px 0 8px!important}
/* tighten body text + list on the quiz page */
body.single-llms_quiz p,body.single-llms_quiz li,body.single-llms_quiz label,body.single-llms_quiz .llms-return{font-size:15px!important;line-height:1.55!important}
body.single-llms_quiz ul{margin:4px 0 0!important;padding-left:0!important;list-style:none!important}
body.single-llms_quiz ul li{padding:3px 0!important}
/* copper links (Return to Lesson) — not the buttons */
body.single-llms_quiz .onion-quiz-main a:not([class*="llms-button"]){color:var(--on-copper)!important;font-weight:600}
body.single-llms_quiz .onion-quiz-main a:not([class*="llms-button"]):hover{color:var(--on-cta-hover)!important}
/* attempt select */
body.single-llms_quiz select{border:1.5px solid var(--on-line-strong)!important;border-radius:10px!important;padding:10px 14px!important;font-family:var(--on-font-body)!important;font-size:.95rem!important;background:#fff!important;color:var(--on-ink)!important;min-width:240px!important;max-width:100%}
body.single-llms_quiz select:focus{outline:none!important;border-color:var(--on-copper)!important}
/* Quiz Information → small onion cards (best-guess classes; refine after inspect) */
body.single-llms_quiz .llms-meta-info{list-style:none!important;margin:8px 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;max-width:680px}
body.single-llms_quiz .llms-meta-info li,body.single-llms_quiz li.llms-meta{list-style:none!important;margin:0!important;background:var(--on-warm)!important;border:1px solid var(--on-line)!important;border-radius:12px!important;padding:14px 16px!important;font-family:var(--on-font-body)!important;font-size:.95rem!important;color:var(--on-ink)!important}
/* buttons — smaller, no underline */
body.single-llms_quiz .llms-button-action,body.single-llms_quiz .llms-button-secondary{font-size:.95rem!important;padding:.7em 1.5em!important;text-decoration:none!important}

/* ==========================================================================
   QUIZ — inside the [onion_quiz] Theme Builder template (sidebar layout)
   ========================================================================== */
.onion-quiz-main h1{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:18px}
.onion-quiz-body{font-family:var(--on-font-body);color:var(--on-ink);font-size:15px;line-height:1.6}
.onion-quiz-body .clear{clear:both}
.onion-quiz-body h2{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;font-size:1.15rem!important;margin:26px 0 12px!important;letter-spacing:-.01em}
.onion-quiz-body .llms-return{margin:0 0 8px}
.onion-quiz-body .llms-return a{color:var(--on-copper)!important;font-weight:600;text-decoration:none!important}
.onion-quiz-body .llms-return a:hover{color:var(--on-cta-hover)!important}
.onion-quiz-body select{border:1.5px solid var(--on-line-strong)!important;border-radius:10px!important;padding:10px 14px!important;font-family:var(--on-font-body)!important;font-size:.95rem!important;background:#fff!important;color:var(--on-ink)!important;min-width:260px;max-width:100%}
.onion-quiz-body select:focus{outline:none!important;border-color:var(--on-copper)!important}
/* Quiz Information → onion stat tiles */
.onion-quiz-body .llms-quiz-meta-info{list-style:none!important;margin:10px 0 0!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:680px}
.onion-quiz-body .llms-quiz-meta-item{list-style:none!important;margin:0!important;padding:14px 16px!important;background:var(--on-warm)!important;border:1px solid var(--on-line)!important;border-radius:12px!important;font-family:var(--on-font-mono)!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--on-muted)!important}
.onion-quiz-body .llms-quiz-meta-item span{display:block;font-family:var(--on-font-display)!important;font-size:1.4rem!important;font-weight:800!important;color:var(--on-navy-deep)!important;text-transform:none!important;letter-spacing:-.02em!important;margin-top:6px}
/* ---- quiz Start/Next button row (Start Quiz is a <button> in a <form>; Next Lesson is an <a> sibling) ---- */
/* form -> display:contents so its button becomes a direct flex child, aligning with the Next Lesson link */
#et-boc .onion-quiz-body .llms-quiz-buttons{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:28px!important}
#et-boc .onion-quiz-body .llms-quiz-buttons form{display:contents!important}
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-action,
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-secondary{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;
  height:46px!important;min-height:46px!important;margin:0!important;padding:0 24px!important;box-sizing:border-box!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.95rem!important;line-height:1!important;
  border-radius:999px!important;text-decoration:none!important;vertical-align:middle!important;
  transition:background .18s,transform .18s,color .18s,border-color .18s!important}
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-action{background:var(--on-cta)!important;color:#fff!important;border:0!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important}
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-action:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important;color:#fff!important}
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-secondary{background:transparent!important;color:var(--on-navy-deep)!important;border:1.5px solid var(--on-line-strong)!important;box-shadow:none!important}
#et-boc .onion-quiz-body .llms-quiz-buttons .llms-button-secondary:hover{border-color:var(--on-copper)!important;color:var(--on-copper)!important;background:var(--on-amber-tint)!important;transform:translateY(-2px)!important}
/* results donut — scale the whole thing down (keeps the ring intact) */
.onion-quiz-body .llms-donut{transform:scale(.82)!important;transform-origin:top center!important;margin-bottom:-22px!important}
/* results meta cards (Correct Answers / Completed / Total time) — bold, readable */
.onion-quiz-body .llms-quiz-results-aside{margin-bottom:8px}
.onion-quiz-body .llms-quiz-results-aside .llms-quiz-meta-item{font-family:var(--on-font-body)!important;font-size:.9rem!important;text-transform:none!important;letter-spacing:normal!important;color:var(--on-navy-deep)!important;font-weight:400!important;padding:12px 16px!important}
.onion-quiz-body .llms-quiz-results-aside .llms-quiz-meta-item strong{font-weight:700!important;color:var(--on-navy-deep)!important}
/* results question rows */
.onion-quiz-body .llms-quiz-attempt-results{list-style:none!important;margin:0!important;padding:0!important}
.onion-quiz-body .llms-quiz-attempt-question{list-style:none!important;border:1px solid var(--on-line)!important;border-radius:12px!important;background:#fff!important;padding:12px 16px!important;margin-bottom:10px!important}
.onion-quiz-body .llms-quiz-attempt-question.correct{background:#f2f9f5!important;border-color:rgba(28,138,90,.25)!important}
.onion-quiz-body .llms-quiz-attempt-question.incorrect{background:#fdf3f2!important;border-color:rgba(255,94,110,.3)!important}
.onion-quiz-body .llms-quiz-attempt-question-header{margin:0!important}
.onion-quiz-body .toggle-answer{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;text-align:left!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;cursor:pointer}
.onion-quiz-body .toggle-answer .llms-question-title{flex:1 1 auto!important;margin:0!important;font-family:var(--on-font-body)!important;font-size:.95rem!important;line-height:1.4!important;color:var(--on-navy-deep)!important;font-weight:500!important}
.onion-quiz-body .toggle-answer .llms-question-title p{margin:0!important}
.onion-quiz-body .llms-points{display:none!important}
.onion-quiz-body .toggle-answer .llms-toggle-answer-icon,
.onion-quiz-body .toggle-answer img,
.onion-quiz-body .toggle-answer svg{flex-shrink:0!important}
/* smaller correct/incorrect status icons (Font Awesome .llms-status-icon circle) */
.onion-quiz-body .llms-status-icon{width:26px!important;height:26px!important;line-height:26px!important;font-size:13px!important;flex-shrink:0!important}
.onion-quiz-body .llms-status-icon-tip{flex-shrink:0!important;display:inline-flex!important;align-items:center}
/* quiz validation message ("You must select an answer…") — vertically centred */
/* quiz validation error -> match the site validation errors (red left bar, light-red bg, navy text) */
#et-boc .onion-quiz-body .llms-error{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;background:#fdf3f2!important;border:1px solid var(--on-line-strong)!important;border-left:4px solid #d92d20!important;border-radius:12px!important;padding:15px 20px!important;margin:16px 0!important;color:var(--on-navy-deep)!important;font-family:var(--on-font-body)!important;font-size:15px!important;box-shadow:none!important}
#et-boc .onion-quiz-body .llms-error a{margin-left:auto!important;flex:0 0 auto!important;color:#b42318!important;font-weight:600!important;line-height:1!important}
.onion-quiz-body .llms-error p,
.onion-quiz-body .llms-error>*{margin:0!important}
/* LifterLMS notices / validation messages — brand font site-wide */
.llms-notice,.llms-notice p,.llms-error,.llms-error p,
.llms-success,.llms-success p,.llms-info,.llms-info p,
.llms-message,.llms-message p{font-family:var(--on-font-body)!important;font-size:15px!important;line-height:1.55!important;color:var(--on-ink)!important}
/* respect LifterLMS's inline show/hide on the quiz nav buttons
   (our .llms-button-action display:inline-flex!important was forcing hidden ones visible) */
#et-boc .onion-quiz-body .llms-quiz-nav button[style*="display:none"],
#et-boc .onion-quiz-body .llms-quiz-nav button[style*="display: none"]{display:none!important}
/* in-quiz Next/Previous nav -> buttons on one row, auto width (not full width) */
#et-boc .onion-quiz-body .llms-quiz-nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:20px!important}
#et-boc .onion-quiz-body .llms-quiz-nav button,
#et-boc .onion-quiz-body .llms-quiz-nav .llms-button-action,
#et-boc .onion-quiz-body .llms-quiz-nav .llms-button-secondary{width:auto!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:46px!important;min-height:46px!important;padding:0 24px!important;box-sizing:border-box!important;margin:0!important;line-height:1!important}
#et-boc .onion-quiz-body .llms-quiz-nav .llms-quiz-counter,
#et-boc .onion-quiz-body .llms-quiz-nav .llms-quiz-nav-count{margin-left:auto!important}
/* in-quiz (active) question + answer choices — reduce oversized fonts */
.onion-quiz-body .llms-question-wrapper .llms-question-title,
.onion-quiz-body .llms-question-text{font-size:1.2rem!important;line-height:1.4!important;font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;letter-spacing:-.01em!important}
.onion-quiz-body .llms-question-choice,
.onion-quiz-body .llms-question-choice label,
.onion-quiz-body .llms-choice,
.onion-quiz-body .llms-choice-text,
.onion-quiz-body .llms-marker{font-size:.95rem!important;line-height:1.45!important}
/* selected answer marker (label::before circle) → light amber (was pink #ef476f) */
.onion-quiz-body .llms-choice input:checked+label:before{background:var(--on-copper-soft)!important;color:#fff!important}
/* line the marker's centre up with the first text line (it's a 40px absolute circle with no top) */
/* align the A/B/C/D marker with its answer text — flex row instead of absolute-positioned ::before */
#et-boc .onion-quiz-body .llms-choice label{display:flex!important;align-items:center!important;gap:14px!important;position:relative!important;padding-left:0!important;margin:0!important}
#et-boc .onion-quiz-body .llms-choice label:before,
#et-boc .onion-quiz-body .llms-question-choices .llms-choice input+label:before{position:static!important;top:auto!important;left:auto!important;margin:0!important;flex:0 0 auto!important;transform:translateY(-1px)!important}
#et-boc .onion-quiz-body .llms-choice .llms-choice-text{margin:0!important;flex:1 1 auto!important}
/* expanded answer details */
.onion-quiz-body .llms-quiz-attempt-question-main{padding-top:12px!important;font-size:.9rem!important}
.onion-quiz-body .llms-quiz-results-label{font-family:var(--on-font-mono)!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--on-muted)!important;margin:8px 0 4px!important}

/* ---- Library + Demo Site Tables ---- */
/* constrain the exercise-table module to the content width, aligned with the Library H1 (+ space below) */
.onion-exercise-table{max-width:var(--on-maxw)!important;width:auto!important;margin:0 auto 44px!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important;float:none!important}
/* demo-site tables (single colspan header) -> consistent first-column width so names don't squash */
.onion-exercise-table table:has(tr:first-child td[colspan]) td:first-child{width:220px!important;white-space:normal!important}
/* file-type icons (JS swaps the <em> text for one of these) */
.onion-exercise-table table td em .onion-ftype{display:inline-flex!important;align-items:center!important;font-style:normal!important;line-height:1!important}
.onion-exercise-table table td em .onion-ftype .fa{font-size:24px!important}
.onion-ftype--pdf{color:#e2483d!important}
.onion-ftype--excel{color:#1c8a5a!important}
.onion-ftype--word{color:#2b6cb0!important}
.onion-ftype--file{color:var(--on-muted)!important}

/* =========================================================================
   AUTHOR ARCHIVE — hero Code module (.onion-author-hero) + article grid
   ========================================================================= */
.onion-author-hero{background:linear-gradient(180deg,var(--on-warm),var(--on-ground))!important;color:var(--on-ink)!important;padding:56px 0 64px!important;border-bottom:1px solid var(--on-line)!important;width:100vw!important;margin-left:calc(50% - 50vw)!important}
.onion-author-inner{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:20px!important}
.onion-author-hero .onion-author-text p{margin-left:auto!important;margin-right:auto!important}
.onion-author-hero img{width:160px!important;height:160px!important;max-width:160px!important;border-radius:50%!important;object-fit:cover!important;border:4px solid var(--on-warm-2)!important;box-shadow:var(--on-shadow)!important}
.onion-author-hero .onion-eyebrow{color:var(--on-copper)!important;margin-bottom:10px!important}
.onion-author-hero .onion-eyebrow::before{background:var(--on-copper)!important}
.onion-author-hero h1{font-size:clamp(2.1rem,4.4vw,3rem)!important;font-weight:800!important;color:var(--on-navy-deep)!important;letter-spacing:-.02em!important;margin:0 0 16px!important}
.onion-author-hero p{font-size:1.06rem!important;line-height:1.7!important;color:var(--on-muted)!important;margin:0 0 12px!important;max-width:74ch!important}
.onion-author-linkedin{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:10px!important;background:var(--on-copper)!important;color:#fff!important;margin-top:8px!important;transition:background .18s!important}
.onion-author-linkedin svg{width:20px!important;height:20px!important;fill:currentColor!important}
.onion-author-linkedin:hover{background:var(--on-cta-hover)!important;color:#fff!important}
@media(max-width:640px){.onion-author-inner{grid-template-columns:1fr!important;text-align:center!important;gap:24px!important}.onion-author-hero img{margin:0 auto!important}.onion-author-hero p{margin-left:auto!important;margin-right:auto!important}}
/* NB: article cards on the author archive use Divi Blog Extras (.el-dbe-blog-extra) —
   PARKED: style them when the Articles page is restyled (same module) so both inherit. */
.onion-exercise-table table {  width: 100% !important;  border-collapse: separate !important;  border-spacing: 0 !important;  border: 1px solid var(--on-line) !important;  border-radius: 12px !important;  overflow: hidden !important;  margin-top: 16px !important;  margin-left: auto !important;  margin-right: auto !important;}
.onion-exercise-table table thead th,
.onion-exercise-table table tr:first-child td,
.onion-exercise-table table tr:first-child th {  background: var(--on-navy-deep) !important;  color: #fff !important;  font-family: var(--on-font-body) !important;  font-weight: 600 !important;  font-size: 15px !important;  padding: 12px 14px !important;  text-align: left !important;  border: none !important;}
.onion-exercise-table table tbody td,.onion-exercise-table table td {  padding: 11px 14px !important;  border-top: 1px solid var(--on-line) !important;  font-size: 15px !important;  color: var(--on-ink) !important;  border-left: none !important;  border-right: none !important;  border-bottom: none !important;}
.onion-exercise-table table tbody tr:nth-child(odd):not(:first-child) td,.onion-exercise-table table tr:nth-child(odd):not(:first-child) td {  background: #f9f9f9 !important;}
/* header cells use an <h1> — match the my-account header (left, Open Sans, 15px, white) */
.onion-exercise-table table tr:first-child td h1{margin:0!important;font-family:var(--on-font-body)!important;font-size:15px!important;font-weight:700!important;color:#fff!important;text-align:left!important;letter-spacing:normal!important;text-transform:none!important;line-height:1.2!important}
.onion-exercise-table table tbody tr:nth-child(even) td,.onion-exercise-table table tr:nth-child(even) td {  background: #fff !important;}
.onion-exercise-table table td a {  color: var(--on-copper) !important;  display: inline !important;  width: auto !important;  pointer-events: auto !important;  text-decoration: none !important;}
/* 1) links inline (author split words across multiple <a> tags) + defined table frame */
.onion-exercise-table table{table-layout:auto!important;border:1px solid var(--on-line-strong)!important;border-style:solid!important;box-shadow:var(--on-shadow)!important}
.onion-exercise-table table td{width:auto!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
.onion-exercise-table table td:first-child{border-right:1px solid var(--on-line)!important}
/* 2) uniform link colour — inline <span> colours inside the links were overriding */
.onion-exercise-table table td a,.onion-exercise-table table td a span,.onion-exercise-table table td a strong,.onion-exercise-table table td a strong span{color:var(--on-copper)!important;text-decoration:none!important}
.onion-exercise-table table td a:hover,.onion-exercise-table table td a:hover span,.onion-exercise-table table td a:hover strong span{color:var(--on-cta-hover)!important;text-decoration:underline!important}

/* ==========================================================================
   HOMEPAGE — "How Much Can You Earn?" salary table (navy) — mockup design
   (moved here from part1, which is at the ~64KB WPCode cap)
   ========================================================================== */
.onion-earn{background:var(--on-navy-deep)!important;color:#e8eefb!important}
.onion-earn h2{color:#fff!important}
.onion-earn .onion-eyebrow{color:var(--on-copper-soft)!important}
.onion-earn .onion-eyebrow::before{background:var(--on-copper-soft)!important}
.onion-earn-wrap{max-width:900px!important;margin:0 auto!important;overflow-x:auto!important;border:1px solid rgba(232,168,92,.5)!important;border-radius:16px!important;background:transparent!important;-webkit-overflow-scrolling:touch}
.onion-earn table{width:100%!important;border-collapse:collapse!important;min-width:560px;background:transparent!important;border:0!important;margin:0!important}
.onion-earn thead,.onion-earn tbody,.onion-earn tr{border:0!important}
.onion-earn th{border-top:0!important}
.onion-earn tr td:first-child,.onion-earn tr th:first-child{border-left:0!important}
.onion-earn th,.onion-earn td{padding:15px 20px!important;text-align:left!important;border-right:1px solid rgba(232,168,92,.22)!important;border-bottom:1px solid rgba(232,168,92,.22)!important;background:transparent!important}
.onion-earn th:last-child,.onion-earn td:last-child{border-right:none!important}
.onion-earn tbody tr:last-child td{border-bottom:none!important}
.onion-earn thead th{font-family:var(--on-font-mono)!important;font-size:.76rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--on-copper-soft)!important;font-weight:600!important;vertical-align:top!important;background:rgba(232,168,92,.06)!important}
.onion-earn tbody td{font-size:.95rem!important;color:#c9d5ea!important;font-weight:400!important;font-variant-numeric:tabular-nums}
.onion-earn td:not(:first-child){white-space:nowrap!important}
.onion-earn tbody td:first-child{color:#fff!important;font-weight:500!important;font-family:var(--on-font-display)!important;letter-spacing:-.01em!important}
.onion-earn tbody tr{transition:background .15s;background:transparent!important}
.onion-earn tbody tr:hover{background:rgba(232,168,92,.07)!important}
.onion-earn-foot{text-align:center!important;font-size:.82rem!important;color:#9fb2d1!important;margin-top:16px!important}
.onion-earn-cta{text-align:center!important;margin-top:34px!important}

/* ==========================================================================
   SINGLE BLOG POST (Divi Theme Builder body) — body.single-post
   Sidebar (newsletter blurb + Categories) is already branded via the
   .et_pb_blurb_0_tb_body / #ot-cat rules in part2.
   ========================================================================== */
/* title + meta + featured image */
body.single-post .et_pb_post_title .entry-title{font-family:var(--on-font-display)!important;font-weight:800!important;color:var(--on-navy-deep)!important;font-size:clamp(1.9rem,3.6vw,2.6rem)!important;line-height:1.12!important;letter-spacing:-.02em!important}
body.single-post .et_pb_title_meta_container{font-family:var(--on-font-mono)!important;font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;color:var(--on-muted)!important;margin-top:12px!important}
body.single-post .et_pb_title_meta_container a{color:var(--on-copper)!important;text-decoration:none!important}
body.single-post .et_pb_title_meta_container a:hover{color:var(--on-cta-hover)!important}
body.single-post .et_pb_post_title .et_pb_title_featured_container{margin-top:24px!important}
body.single-post .et_pb_post_title .et_pb_image_wrap,body.single-post .et_pb_post_title .et_pb_title_featured_container img{border-radius:var(--on-radius)!important;overflow:hidden!important}
/* content prose */
body.single-post .et_pb_post_content{color:var(--on-ink)!important;font-family:var(--on-font-body)!important}
body.single-post .et_pb_post_content p{color:var(--on-ink)!important;font-size:1.05rem!important;line-height:1.75!important;margin:0 0 18px!important}
body.single-post .et_pb_post_content h2{font-family:var(--on-font-display)!important;font-weight:800!important;color:var(--on-navy-deep)!important;font-size:clamp(1.4rem,2.6vw,1.9rem)!important;margin:34px 0 12px!important;letter-spacing:-.01em!important}
body.single-post .et_pb_post_content h3{font-family:var(--on-font-display)!important;font-weight:700!important;color:var(--on-navy-deep)!important;font-size:1.3rem!important;margin:26px 0 10px!important}
body.single-post .et_pb_post_content a{color:var(--on-copper)!important;font-weight:600!important;text-decoration:none!important}
body.single-post .et_pb_post_content a:hover{text-decoration:underline!important}
body.single-post .et_pb_post_content blockquote{border-left:4px solid var(--on-copper)!important;background:var(--on-warm)!important;margin:24px 0!important;padding:16px 22px!important;border-radius:0 12px 12px 0!important;font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;font-size:1.15rem!important}
/* checkmark bullet lists */
body.single-post .et_pb_post_content ul{list-style:none!important;padding:0!important;margin:16px 0!important;display:flex!important;flex-direction:column!important;gap:9px!important}
body.single-post .et_pb_post_content ul li{position:relative!important;padding-left:34px!important;margin:0!important;color:var(--on-ink)!important;line-height:1.5!important}
body.single-post .et_pb_post_content ul li::before{content:""!important;position:absolute!important;left:0!important;top:1px!important;width:22px!important;height:22px!important;border-radius:50%!important;background:var(--on-amber-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bd6a25' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center!important}
/* (single-post <ol> circle styling lives in part2) */


/* ========================================================================
   PART 2 OF 4   (loaded 3 of 4 - see note above)
   ======================================================================== */

/* =========================================================================
	ONION TRAINING — SHARED STYLESHEET  (PART 2 of 4)
	LAST UPDATED --> Wednesday 09 Sep 2026 @ 10:21pm
	Paste as its own WPCode CSS snippet, site-wide. Tokens (:root) live in PART 1.
   ========================================================================= */

/* single post: force content 2/3 + sidebar (with [onion_sidebar]) side by side */
@media(min-width:981px){
  body.single-post .et_pb_row_0_tb_body{display:flex!important;flex-wrap:nowrap!important;gap:44px!important;align-items:flex-start!important}
  body.single-post .et_pb_row_0_tb_body>.et_pb_column_0_tb_body{width:auto!important;flex:1 1 auto!important;float:none!important;margin:0!important}
  body.single-post .et_pb_row_0_tb_body>.et_pb_column_1_tb_body{width:320px!important;flex:0 0 320px!important;float:none!important;margin:0!important}
}

/* ==========================================================================
   LOGIN PAGE
   ========================================================================== */
.onion-auth{width:calc(100% - 40px);max-width:1000px;margin:48px auto;min-height:560px;display:grid;grid-template-columns:1fr 1fr;background:var(--on-ground);border:1px solid var(--on-line);border-radius:22px;box-shadow:var(--on-shadow-lg);overflow:hidden}
.onion-auth-aside{background:linear-gradient(150deg,var(--on-navy-deep),var(--on-navy) 55%,#123059);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.onion-auth-aside .arc{position:absolute;pointer-events:none;opacity:.14;bottom:-60px;right:-40px;width:360px}
.onion-auth-aside h2{color:#fff;font-size:2rem;max-width:14ch;position:relative}
.onion-auth-aside p{color:#b9c8e2;margin-top:16px;max-width:36ch;position:relative}
.onion-auth-points{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:14px;position:relative}
.onion-auth-points li{display:flex;gap:12px;align-items:center;font-size:.95rem;color:#d6e0f2}
.onion-auth-points .on-ico{width:34px;height:34px;border-radius:9px;background:rgba(232,168,92,.16);color:var(--on-copper-soft)}
.onion-auth-main{display:flex;align-items:center;justify-content:center;padding:56px 40px}
.onion-auth-box{width:100%;max-width:420px}

/* ==========================================================================
   404 — Page not found
   ========================================================================== */
.onion-404{min-height:calc(100vh - 74px);display:flex;align-items:center;justify-content:center;text-align:center;padding:64px 20px;background:var(--on-ground)}
.onion-404-inner{max-width:640px}
.onion-404 .onion-eyebrow{justify-content:center;color:var(--on-copper)}
.onion-404 .code{font-family:var(--on-font-display);font-weight:800;line-height:.8!important;letter-spacing:-.04em;font-size:clamp(6rem,20vw,11rem);margin:0 0 6px!important;padding:0!important;background:none!important;color:var(--on-navy-deep)!important;-webkit-text-fill-color:var(--on-navy-deep)}
.onion-404 h1{font-family:var(--on-font-display);color:var(--on-navy-deep);font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:-.02em;margin:0 0 14px!important}
.onion-404 p:not(.code){color:var(--on-muted);font-size:1.02rem;line-height:1.6;max-width:48ch;margin:0 auto 30px}
.onion-404-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.onion-404-links{margin-top:36px;padding-top:24px;border-top:1px solid var(--on-line);display:flex;gap:10px 24px;justify-content:center;flex-wrap:wrap;font-size:.9rem}
.onion-404-links a{color:var(--on-copper);font-weight:600;transition:color .15s}
.onion-404-links a:hover{color:var(--on-cta-hover)}
.onion-auth-aside .brand-mark{height:50px;width:auto;max-width:340px;margin-bottom:34px;border-radius:10px;position:relative}
.onion-auth-box h1{font-size:1.9rem;margin-bottom:8px}
.onion-auth-box .subtitle{color:var(--on-muted);margin-bottom:28px}
.onion-auth-switch{margin-top:24px;text-align:center;font-size:.92rem;color:var(--on-muted)}
.onion-pane{display:none}
.onion-pane.active{display:block;animation:onion-fade .35s ease}
@keyframes onion-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- WooCommerce login form on the two-panel /login/ page ---- */
.onion-auth .woocommerce h2{display:none}                       /* hide Woo's "Login" heading (page has its own H1) */
.onion-auth .woocommerce form.login{border:0;padding:0;margin:0}
.onion-auth .woocommerce form.login .form-row{margin:0 0 18px;padding:0}
.onion-auth .woocommerce form.login label{font-weight:600;color:var(--on-navy-deep);font-size:.85rem;margin:0 0 7px;display:block}
.onion-auth .woocommerce form.login input.input-text{
  width:100%;padding:12px 16px 12px 44px;border:1.5px solid var(--on-line-strong);border-radius:10px;
  background-color:#fff;background-repeat:no-repeat;background-position:14px center;background-size:18px 18px;
  color:var(--on-ink);font-family:var(--on-font-body);font-size:.96rem;box-shadow:none;height:auto}
.onion-auth .woocommerce form.login input.input-text:focus{outline:none;border-color:var(--on-cta)}
.onion-auth .woocommerce form.login #username{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b6357' stroke-width='1.8'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")}
.onion-auth .woocommerce form.login #password{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b6357' stroke-width='1.8'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E")}
.onion-auth .woocommerce form.login .password-input{position:relative;display:block}
.onion-auth .woocommerce form.login .show-password-input{position:absolute;top:50%;right:14px;transform:translateY(-50%)}
.onion-auth .woocommerce form.login .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;width:100%;color:var(--on-muted);font-weight:400;font-size:.9rem;margin:0 0 16px}
.onion-auth .woocommerce form.login button[type=submit],
.onion-auth .woocommerce form.login .woocommerce-form-login__submit{
  display:block;width:100%;background:var(--on-cta);color:#fff;border:0;border-radius:999px;
  font-family:var(--on-font-body);font-weight:600;font-size:1.05rem;padding:.9em 1.5em;cursor:pointer;text-shadow:none;margin:0;
  box-shadow:0 8px 20px -8px rgba(162,85,26,.6);transition:background .18s,transform .18s}
.onion-auth .woocommerce form.login button[type=submit]:hover,
.onion-auth .woocommerce form.login .woocommerce-form-login__submit:hover{background:var(--on-cta-hover);transform:translateY(-2px)}
.onion-auth .woocommerce form.login button[type=submit]::after,
.onion-auth .woocommerce form.login .woocommerce-form-login__submit::after{content:"  →"}
/* keep the show/hide-password toggle as a small icon, not a pill */
.onion-auth .woocommerce form.login button.show-password-input,
.onion-auth .woocommerce form.login .show-password-input{
  width:auto!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important;display:inline-block!important}
.onion-auth .woocommerce form.login button.show-password-input::after,
.onion-auth .woocommerce form.login .show-password-input::after{content:""!important}
.onion-auth .woocommerce form.login .lost_password{margin-top:16px;text-align:center}
.onion-auth .woocommerce a{color:var(--on-copper)}

/* ==========================================================================
   PASSWORD REVEAL — plain eye icon, never a button (site-wide)
   ========================================================================== */
.woocommerce .password-input{position:relative;display:block}
.woocommerce .show-password-input,.woocommerce button.show-password-input{
  position:absolute!important;top:50%!important;right:14px!important;transform:translateY(-50%)!important;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  width:auto!important;height:auto!important;padding:0!important;margin:0!important;color:var(--on-muted)!important;cursor:pointer}

/* ==========================================================================
   BASKET / CART page
   ========================================================================== */
.woocommerce-cart h1,.woocommerce-cart h2{font-family:var(--on-font-display);color:var(--on-navy-deep)}
.woocommerce-cart table.cart{border:1px solid var(--on-line)!important;border-radius:14px!important;border-collapse:separate!important;overflow:hidden!important;background:#fff!important}
.woocommerce-cart table.cart thead th{background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.04em!important;padding:16px 20px!important;border:0!important}
.woocommerce-cart table.cart td{padding:18px 20px!important;border-top:1px solid var(--on-line)!important;vertical-align:middle!important}
.woocommerce-cart table.cart td.product-name a{color:var(--on-navy-deep)!important;font-weight:600!important;font-family:var(--on-font-display)!important}
.woocommerce-cart table.cart td.product-remove a{color:var(--on-coral)!important}
.woocommerce-cart .quantity input.qty{border:1.5px solid var(--on-line-strong)!important;border-radius:8px!important;padding:8px!important}
.woocommerce-cart .coupon input#coupon_code{border:1.5px solid var(--on-line-strong)!important;border-radius:999px!important;height:46px!important;padding:0 18px!important;vertical-align:middle!important;line-height:normal!important}
.woocommerce-cart .cart-collaterals h2{font-size:1.3rem!important;margin-bottom:14px!important}
.woocommerce-cart .cart_totals table{border:1px solid var(--on-line)!important;border-radius:12px!important;overflow:hidden!important}
.woocommerce-cart .cart_totals table th{background:var(--on-warm)!important;font-family:var(--on-font-mono)!important;text-transform:uppercase!important;font-size:.74rem!important;color:var(--on-navy-deep)!important}
.woocommerce-cart .cart_totals .order-total .amount{color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:800!important}
/* basket totals table -> navy header-cell style (matches lessons table). SCOPED to .cart_totals only, never .llms-table */
#et-boc .woocommerce-cart .cart_totals table,.woocommerce-cart .cart_totals table{
  width:100%!important;background:#fff!important;border:1px solid var(--on-line)!important;border-radius:14px!important;
  border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;margin:0 0 24px!important}
#et-boc .woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table th{
  background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;
  font-size:.74rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important;
  padding:15px 20px!important;border:0!important;border-top:1px solid rgba(255,255,255,.1)!important;text-align:left!important;width:42%!important;vertical-align:middle!important}
#et-boc .woocommerce-cart .cart_totals table td,.woocommerce-cart .cart_totals table td{
  background:#fff!important;color:var(--on-ink)!important;font-family:var(--on-font-body)!important;font-size:15px!important;
  padding:15px 20px!important;border:0!important;border-top:1px solid var(--on-line)!important;vertical-align:middle!important}
#et-boc .woocommerce-cart .cart_totals table tr:first-child th,.woocommerce-cart .cart_totals table tr:first-child th,
#et-boc .woocommerce-cart .cart_totals table tr:first-child td,.woocommerce-cart .cart_totals table tr:first-child td{border-top:0!important}
/* base font for cart/totals cells so they don't fall back to Divi Montserrat */
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart td *,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table td small,
.woocommerce-cart .cart_totals table td .amount{font-family:var(--on-font-body)!important}
/* body text sized to 16px across the cart + totals tables */
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart td *,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table td *{font-size:16px!important}
/* keep the grand-total amount in the display face */
.woocommerce-cart .cart_totals .order-total .amount{font-family:var(--on-font-display)!important}
/* ---- cart buttons: #et-boc (id) prefix so we beat Divi's id-scoped rules ---- */
/* base AND :hover share ONE geometry block -> the two states are byte-identical, so hover can't resize */
#et-boc .woocommerce .button,#et-boc .woocommerce button.button,#et-boc .woocommerce input.button,
#et-boc .woocommerce .button:hover,#et-boc .woocommerce button.button:hover,#et-boc .woocommerce input.button:hover,
.woocommerce-cart .button,.woocommerce-cart button.button{
  background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.95rem!important;
  line-height:1.2!important;letter-spacing:normal!important;text-transform:none!important;
  min-height:46px!important;height:46px!important;transform:none!important;padding:0 1.5em!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;
  box-shadow:0 8px 20px -8px rgba(162,85,26,.5)!important;transition:background .18s ease!important}
/* hover only darkens the background */
#et-boc .woocommerce .button:hover,#et-boc .woocommerce button.button:hover,#et-boc .woocommerce input.button:hover{
  background:var(--on-cta-hover)!important}
/* kill Divi's hover arrow (::after) */
#et-boc .woocommerce .button::after,#et-boc .woocommerce button.button::after,
#et-boc .woocommerce input.button::after,#et-boc .woocommerce .checkout-button::after{display:none!important;content:none!important}
/* Proceed to checkout: full width + larger, same identical-geometry trick */
#et-boc .woocommerce .checkout-button,#et-boc .woocommerce .checkout-button:hover,
.woocommerce-cart .checkout-button{
  display:block!important;width:100%!important;background:var(--on-cta)!important;color:#fff!important;border:0!important;
  border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:1.05rem!important;
  line-height:1.2!important;letter-spacing:normal!important;transform:none!important;padding:.9em 1.5em!important;
  height:auto!important;min-height:0!important;transition:background .18s ease!important}
/* .alt is in Divi's checkout selector, so match/exceed it to win the hover colour */
#page-container #et-boc .woocommerce a.checkout-button.button.alt:hover,
#page-container #et-boc .woocommerce .checkout-button:hover,
#et-boc .woocommerce a.checkout-button.button.alt.wc-forward:hover,
#et-boc .wc-proceed-to-checkout a.checkout-button:hover,
#et-boc .woocommerce .checkout-button:hover{background:var(--on-cta-hover)!important;transition:background .18s ease!important}
#et-boc .woocommerce .button[disabled],#et-boc .woocommerce button.button:disabled{opacity:.55!important;transform:none!important}
.woocommerce-cart a{color:var(--on-copper)}
/* empty-basket "Return to Home" button -> match the site primary CTA (.btn-primary) */
/* targeted by wc-backward alone (no .woocommerce ancestor) since the empty cart uses .wc-empty-cart-message */
#et-boc a.button.wc-backward,a.button.wc-backward,
#et-boc .return-to-shop .button,.return-to-shop .button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.97rem!important;line-height:1.2!important;
  letter-spacing:normal!important;text-transform:none!important;height:auto!important;min-height:0!important;
  padding:.82em 1.5em!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;
  transition:background .18s ease,transform .18s ease!important;transform:none!important}
#et-boc a.button.wc-backward:hover,a.button.wc-backward:hover,
#et-boc .return-to-shop .button:hover,.return-to-shop .button:hover{
  background:var(--on-cta-hover)!important;color:#fff!important;transform:none!important;
  padding:.82em 1.5em!important;font-size:.97rem!important;line-height:1.2!important;letter-spacing:normal!important;
  height:auto!important;min-height:0!important;border-radius:999px!important}
#et-boc a.button.wc-backward::after,a.button.wc-backward::after,
#et-boc .return-to-shop .button::after,.return-to-shop .button::after{display:none!important;content:none!important}

/* =========================================================================
   SITE-WIDE NOTICES / VALIDATION MESSAGES — one consistent brand style
   Covers WooCommerce, LifterLMS and Gravity Forms. Shape is identical
   everywhere; only the left accent bar colour changes by type.
   ========================================================================= */
#et-boc .woocommerce-message,#et-boc .woocommerce-info,#et-boc .woocommerce-error,#et-boc .woocommerce-noreviews,
#et-boc .llms-notice,#et-boc .gform_confirmation_message,#et-boc .validation_error,
.woocommerce-message,.woocommerce-info,.woocommerce-error,.llms-notice,.gform_confirmation_message,.validation_error{
  font-family:var(--on-font-body)!important;font-size:15px!important;font-weight:500!important;line-height:1.5!important;
  color:var(--on-navy-deep)!important;background:var(--on-warm)!important;
  border:1px solid var(--on-line-strong)!important;border-left:4px solid var(--on-copper)!important;border-top:1px solid var(--on-line-strong)!important;
  border-radius:12px!important;padding:15px 20px!important;box-shadow:none!important;
  list-style:none!important;margin:0 0 20px!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
/* remove WooCommerce's built-in tick glyph so the accent bar is the only marker */
#et-boc .woocommerce-message::before,#et-boc .woocommerce-info::before,#et-boc .woocommerce-error::before,
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
/* type accents */
#et-boc .woocommerce-message,.woocommerce-message,#et-boc .llms-notice.llms-success,.llms-notice.llms-success{border-left-color:var(--on-green)!important}
#et-boc .woocommerce-error,.woocommerce-error,#et-boc .llms-error,.llms-error,#et-boc .validation_error,.validation_error{border-left-color:#d92d20!important;background:#fdf3f2!important}
/* dark text (like the other notices), keeping the red bar/background — beats the copper that was leaking in */
#et-boc .woocommerce-error,#et-boc .woocommerce-error *,.woocommerce-error,.woocommerce-error *,
#et-boc .llms-error,#et-boc .llms-error *,#et-boc .validation_error,#et-boc .validation_error *,
.onion-checkout .woocommerce-error,.onion-checkout .woocommerce-error *{color:var(--on-navy-deep)!important}
#et-boc .woocommerce-info,.woocommerce-info,#et-boc .llms-info,.llms-info{border-left-color:var(--on-copper)!important}
/* the action button Woo floats on the right (e.g. "View basket") stays inline */
#et-boc .woocommerce-message .button,.woocommerce-message .button{margin-left:auto!important}
#et-boc .woocommerce-error li,.woocommerce-error li,#et-boc .llms-notice li,.llms-notice li{margin:0!important;list-style:none!important}
/* WooCommerce auto-focuses notices on load (tabindex=-1) — kill the focus ring so nothing looks selected */
#et-boc .woocommerce-message:focus,#et-boc .woocommerce-info:focus,#et-boc .woocommerce-error:focus,
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,
.woocommerce-message:focus-visible,.woocommerce-info:focus-visible,.woocommerce-error:focus-visible,
.woocommerce-notices-wrapper:focus,.woocommerce-NoticeGroup:focus{outline:none!important;box-shadow:none!important}

/* ==========================================================================
   LOST / RESET PASSWORD form
   ========================================================================== */
.woocommerce-ResetPassword,.woocommerce .lost_reset_password{
  max-width:480px!important;margin:56px auto!important;background:#fff!important;
  border:1px solid var(--on-line)!important;border-radius:20px!important;
  box-shadow:var(--on-shadow-lg)!important;padding:40px 36px!important}
.woocommerce-ResetPassword::before,.woocommerce .lost_reset_password::before{
  content:"Reset your password";display:block;font-family:var(--on-font-display)!important;
  font-size:1.6rem!important;color:var(--on-navy-deep)!important;letter-spacing:-.02em;line-height:1.1;margin:0 0 12px!important}
.woocommerce-ResetPassword>p:first-of-type,.woocommerce .lost_reset_password>p:first-of-type{
  font-family:var(--on-font-body)!important;font-size:15px!important;color:var(--on-muted)!important;
  line-height:1.6!important;margin:0 0 24px!important}
.woocommerce-ResetPassword .form-row label,.woocommerce .lost_reset_password label{
  font-family:var(--on-font-body)!important;font-weight:600!important;color:var(--on-navy-deep)!important;
  font-size:.9rem!important;margin:0 0 7px!important;display:block!important}
.woocommerce-ResetPassword input.input-text,.woocommerce .lost_reset_password input.input-text{
  width:100%!important;padding:12px 14px!important;border:1.5px solid var(--on-line-strong)!important;
  border-radius:10px!important;background:#fff!important;font-family:var(--on-font-body)!important;font-size:15px!important}
.woocommerce-ResetPassword input.input-text:focus,.woocommerce .lost_reset_password input.input-text:focus{outline:none!important;border-color:var(--on-cta)!important}
.woocommerce-ResetPassword button,.woocommerce .lost_reset_password button{
  display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;
  background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.97rem!important;line-height:1!important;
  padding:.82em 1.5em!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;margin-top:6px!important}
.woocommerce-ResetPassword button:hover,.woocommerce .lost_reset_password button:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)}
/* reveal control = plain eye icon, not a copper button */
.woocommerce-ResetPassword .password-input,.woocommerce .lost_reset_password .password-input{position:relative!important;display:block!important}
.woocommerce-ResetPassword .password-input input.input-text,.woocommerce .lost_reset_password .password-input input.input-text{padding-right:46px!important}
.woocommerce-ResetPassword .show-password-input,.woocommerce-ResetPassword button.show-password-input,
.woocommerce .lost_reset_password .show-password-input,.woocommerce .lost_reset_password button.show-password-input{
  position:absolute!important;top:50%!important;right:14px!important;transform:translateY(-50%)!important;
  width:auto!important;min-width:0!important;background:none!important;background-color:transparent!important;border:0!important;
  box-shadow:none!important;padding:0!important;margin:0!important;border-radius:0!important;color:var(--on-muted)!important}
.woocommerce-ResetPassword .show-password-input:hover,.woocommerce .lost_reset_password .show-password-input:hover{background:none!important;transform:translateY(-50%)!important;color:var(--on-cta)!important}

/* ==========================================================================
   MY ACCOUNT (WooCommerce shortcode wrapper)
   ========================================================================== */
.onion-account{padding:56px 0 80px}
.onion-account-head{display:flex;align-items:center;gap:18px;margin-bottom:34px}
.onion-account-head .avatar{width:60px;height:60px;border-radius:50%;background:radial-gradient(120% 120% at 30% 20%,#d0823d,#8f4a15);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--on-font-display);font-weight:800;font-size:1.5rem}
.onion-account-head h1{font-size:1.9rem}
.onion-account-head p{color:var(--on-muted);font-size:.95rem}
.onion-account-shell{background:var(--on-ground);border:1px solid var(--on-line);border-radius:20px;box-shadow:var(--on-shadow);overflow:hidden}

/* Restyle the WooCommerce My Account shortcode output.
   Scoped to body.woocommerce-account (added automatically on the account page),
   so it works with NO wrapper markup. !important beats the parent theme. */
body.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start}
body.woocommerce-account.logged-in .woocommerce>.woocommerce-notices-wrapper{grid-column:1 / -1}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{grid-column:1;background:#fff!important;border:1px solid var(--on-line)!important;border-radius:16px!important;padding:12px!important;box-shadow:var(--on-shadow)!important;float:none!important;width:auto!important}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{grid-column:2;float:none!important;width:auto!important}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
body.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important;list-style:none!important;border:0!important}
body.woocommerce-account .woocommerce-MyAccount-navigation li::before,body.woocommerce-account .woocommerce-MyAccount-navigation li::marker{content:none!important;display:none!important}
body.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block!important;padding:9px 14px!important;border-radius:8px!important;background:transparent!important;background-image:none!important;font-family:var(--on-font-body)!important;font-weight:500!important;font-size:.94rem!important;color:var(--on-ink)!important;text-decoration:none!important;transition:background .15s,color .15s}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--on-warm)!important;color:var(--on-copper)!important}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--on-navy-deep)!important;background-image:none!important;color:#fff!important;font-weight:600!important}
/* hide Downloads & Address from the account nav */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address{display:none!important}
body.woocommerce-account .woocommerce-MyAccount-content{font-family:var(--on-font-body)!important;color:var(--on-ink)}
/* constrain the whole account area to the site content width, aligned with the My Account H1 */
body.woocommerce-account #et-boc .woocommerce{max-width:var(--on-maxw)!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important}
/* notifications: drop the outer card border so only the inner notice shows */
body.woocommerce-account #et-boc .llms-sd-notification-center,
body.woocommerce-account .llms-sd-notification-center{border:0!important;box-shadow:none!important;background:none!important;padding:0!important}
/* My Courses filter: the grid sets display on items, overriding [hidden] — force hidden cards to hide */
body.woocommerce-account #et-boc .llms-loop-item[hidden],
body.woocommerce-account .llms-loop-item[hidden]{display:none!important}
body.woocommerce-account .woocommerce-MyAccount-content p{font-family:var(--on-font-body)!important;color:var(--on-ink);line-height:1.65}
body.woocommerce-account .woocommerce-MyAccount-content h2,body.woocommerce-account .woocommerce-MyAccount-content h3{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)}
body.woocommerce-account .woocommerce-MyAccount-content a{color:var(--on-copper)!important}
body.woocommerce-account .woocommerce-Button,body.woocommerce-account .woocommerce button.button,body.woocommerce-account .woocommerce a.button{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;background:var(--on-cta)!important;color:#fff!important;border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.97rem!important;line-height:1!important;padding:.82em 1.5em!important;border:none!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s}
body.woocommerce-account .woocommerce-Button:hover,body.woocommerce-account .woocommerce button.button:hover,body.woocommerce-account .woocommerce a.button:hover{background:var(--on-cta-hover)!important;color:#fff!important;font-size:.97rem!important;line-height:1!important;padding:.82em 1.5em!important;transform:translateY(-2px)}
body.woocommerce-account .woocommerce table.shop_table{border:1px solid var(--on-line);border-radius:12px;border-collapse:separate;overflow:hidden}
body.woocommerce-account .woocommerce table.shop_table th{background:var(--on-warm);font-family:var(--on-font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--on-navy-deep)}
/* My Account > Orders: orders list + single order-details -> navy header table (matches the rest of the site) */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-table--order-details{width:100%!important;background:#fff!important;border:1px solid var(--on-line)!important;border-radius:14px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;font-family:var(--on-font-body)!important;font-size:15px!important;margin:0 0 24px!important}
body.woocommerce-account .woocommerce-orders-table thead th,
body.woocommerce-account .woocommerce-table--order-details thead th{background:var(--on-navy-deep)!important;color:#fff!important;font-family:var(--on-font-mono)!important;font-size:.74rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.04em!important;padding:15px 20px!important;border:0!important;text-align:left!important}
body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-table--order-details td{padding:14px 20px!important;border:0!important;border-top:1px solid var(--on-line)!important;color:var(--on-ink)!important;font-family:var(--on-font-body)!important;font-size:15px!important;vertical-align:middle!important}
body.woocommerce-account .woocommerce-orders-table__cell-order-number a{color:var(--on-copper)!important;font-weight:600!important}
/* row text -> 15px */
body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-orders-table td *{font-size:15px!important}
/* order-action buttons -> smaller so Pay/View/Cancel fit one row */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions{white-space:nowrap!important;text-align:left!important}
body.woocommerce-account #et-boc .woocommerce-orders-table__cell-order-actions a.woocommerce-button.button,
body.woocommerce-account #et-boc .woocommerce-orders-table__cell-order-actions a.woocommerce-button.button:hover,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.woocommerce-button.button,
body.woocommerce-account .woocommerce-orders-table__cell-order-actions a.woocommerce-button.button:hover{
  display:inline-flex!important;align-items:center!important;font-size:.78rem!important;line-height:1.2!important;
  padding:.4em .9em!important;margin:0 6px 0 0!important;height:auto!important;min-height:0!important;transform:none!important;letter-spacing:normal!important}
/* same slim buttons on the single order-details table (Pay/Cancel in the tfoot actions row) */
#et-boc .woocommerce-table--order-details a.woocommerce-button.button,
#et-boc .woocommerce-table--order-details a.woocommerce-button.button:hover,
.woocommerce-table--order-details a.woocommerce-button.button,
.woocommerce-table--order-details a.woocommerce-button.button:hover{
  display:inline-flex!important;align-items:center!important;font-size:.78rem!important;line-height:1.2!important;
  padding:.4em .9em!important;margin:0 6px 6px 0!important;height:auto!important;min-height:0!important;transform:none!important;letter-spacing:normal!important}
/* hide the "Confirm email address" prompt — matched by its unique verification link so nothing else is affected */
#et-boc .woocommerce-info:has(a[href*="wc_send_verification"]),
#et-boc .woocommerce-message:has(a[href*="wc_send_verification"]),
.woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-message:has(a[href*="wc_send_verification"]){display:none!important}
/* single order-details footer (Subtotal/Total) */
body.woocommerce-account .woocommerce-table--order-details tfoot th{background:var(--on-warm)!important;font-family:var(--on-font-mono)!important;text-transform:uppercase!important;font-size:.74rem!important;letter-spacing:.04em!important;color:var(--on-navy-deep)!important;padding:14px 20px!important;border-top:1px solid var(--on-line)!important;text-align:left!important}
body.woocommerce-account .woocommerce-table--order-details tfoot td{padding:14px 20px!important;border-top:1px solid var(--on-line)!important;font-family:var(--on-font-body)!important;font-size:15px!important}
body.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td{color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:800!important}
/* space between the "Order placed / status" line and the "Order details" heading */
#et-boc .woocommerce-order-details__title,.woocommerce-order-details__title{margin-top:28px!important}
body.woocommerce-account .woocommerce form .form-row input.input-text,body.woocommerce-account .woocommerce .woocommerce-Input{border:1.5px solid var(--on-line-strong)!important;border-radius:10px!important;padding:12px 14px!important;font-family:var(--on-font-body)!important}
/* Account copy sized to match the site body (~15px) */
body.woocommerce-account .woocommerce-MyAccount-content{font-size:16px!important}
body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce form label,
body.woocommerce-account .woocommerce-MyAccount-content li,
body.woocommerce-account .woocommerce-MyAccount-content td,
body.woocommerce-account .woocommerce-MyAccount-content th{font-size:16px!important;line-height:1.6!important}
body.woocommerce-account .woocommerce form .form-row input.input-text,
body.woocommerce-account .woocommerce .woocommerce-Input,
body.woocommerce-account .woocommerce input,
body.woocommerce-account .woocommerce select{font-size:16px!important}
body.woocommerce-account .woocommerce fieldset{margin-top:14px!important}
body.woocommerce-account .woocommerce fieldset legend{font-family:var(--on-font-display)!important;font-size:16px!important;color:var(--on-navy-deep)!important;margin-top:18px!important;padding-top:6px!important;display:block!important}

/* Notices — subtle & elegant (soft tint + thin left accent, no heavy fill) */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-notice{
  background:var(--on-warm)!important;border:0!important;border-left:3px solid var(--on-copper)!important;
  border-radius:8px!important;box-shadow:none!important;color:var(--on-ink)!important;
  font-size:16px!important;padding:14px 20px!important;
}
body.woocommerce-account .woocommerce-message{background:#f2f9f5!important;border-left-color:var(--on-green)!important}
body.woocommerce-account .woocommerce-error{background:#fdf3f2!important;border-left-color:var(--on-coral)!important}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error::before{display:none!important}

/* Lost-password confirmation screen — white card matching the reset form */
body.woocommerce-account:not(.logged-in) .woocommerce:has(.woocommerce-message):not(:has(form.login)){
  max-width:560px!important;margin:56px auto!important;background:#fff!important;border:1px solid var(--on-line)!important;
  border-radius:20px!important;box-shadow:var(--on-shadow-lg)!important;padding:40px 36px!important;
}
body.woocommerce-account:not(.logged-in) .woocommerce:has(.woocommerce-message):not(:has(form.login)) .woocommerce-message{
  max-width:none!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;
  font-family:var(--on-font-display)!important;font-size:1.4rem!important;color:var(--on-navy-deep)!important;letter-spacing:-.02em;
}
body.woocommerce-account:not(.logged-in) .woocommerce:has(.woocommerce-message):not(:has(form.login))>p{
  max-width:none!important;margin:12px 0 0!important;text-align:left!important;font-family:var(--on-font-body)!important;
  font-size:15px!important;color:var(--on-muted)!important;line-height:1.7!important;
}
/* notices on logged-out account pages (e.g. reset error) align to card width */
body.woocommerce-account:not(.logged-in) .woocommerce-error{max-width:560px!important;margin:40px auto 0!important}

/* Account quick-cards (shown above the shortcode) */
.onion-account-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:30px}
.onion-account-card{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);padding:22px;display:flex;gap:14px;align-items:flex-start;transition:transform .2s,box-shadow .2s,border-color .2s}
.onion-account-card:hover{transform:translateY(-3px);box-shadow:var(--on-shadow);border-color:var(--on-line-strong)}
.onion-account-card .on-ico{width:44px;height:44px;border-radius:12px;background:var(--on-amber-tint);color:var(--on-copper)}
.onion-account-card b{font-family:var(--on-font-display);font-size:1rem;color:var(--on-navy-deep);display:block}
.onion-account-card span{font-size:.85rem;color:var(--on-muted)}

/* --------------------------------------------------------------------------
   Logged-in dashboard MOCKUP (page-account.html display).
   The live page is the LifterLMS student dashboard, skinned by
   onion-lifterlms.css. These classes reproduce that layout for the preview.
   -------------------------------------------------------------------------- */
.onion-dash{padding:40px 0 80px}
.onion-dash-shell{background:var(--on-ground);border:1px solid var(--on-line);border-radius:20px;box-shadow:var(--on-shadow);overflow:hidden;display:grid;grid-template-columns:260px 1fr}
.onion-dash-nav{background:var(--on-warm);border-right:1px solid var(--on-line);padding:22px 18px}
.onion-dash-nav a{display:block;padding:13px 16px;border-radius:12px;font-family:var(--on-font-body);font-weight:500;font-size:.95rem;color:var(--on-ink);text-decoration:none;transition:background .15s,color .15s;margin-bottom:4px}
.onion-dash-nav a:hover{background:#fff;color:var(--on-copper)}
.onion-dash-nav a.is-active{background:linear-gradient(180deg,var(--on-copper-2),var(--on-copper));color:#fff;font-weight:600;box-shadow:0 8px 18px -10px rgba(162,85,26,.7)}
.onion-dash-main{padding:36px 40px}
.onion-dash-welcome{font-size:1.15rem;line-height:1.6;color:var(--on-ink);margin:0 0 30px;max-width:60ch}
.onion-dash-welcome b{color:var(--on-navy-deep)}
.onion-dash-welcome a{color:var(--on-copper);font-weight:600}
.onion-dash-card{border:1px solid var(--on-line);border-radius:16px;overflow:hidden;box-shadow:var(--on-shadow)}
.onion-dash-banner{position:relative;background:linear-gradient(120deg,#041229,#0a1a30 60%,#123059);min-height:230px;display:flex;align-items:center;padding:36px 40px}
.onion-dash-banner-img{line-height:0;background:var(--on-warm-2)}
.onion-dash-banner-img img{width:100%;height:auto;display:block}
.woocommerce-account .onion-dash-card{margin-top:8px}
.woocommerce-account .onion-dash-viewbtn{margin-top:18px}
.onion-dash-banner h3{font-family:var(--on-font-display);color:#fff;font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;max-width:16ch;margin:0}
.onion-dash-pill{position:absolute;right:34px;bottom:34px;background:#e8563f;color:#fff;font-family:var(--on-font-display);font-weight:700;font-size:1.05rem;padding:.4em 1em;border-radius:999px}
.onion-dash-progress{display:flex;align-items:center;gap:16px;padding:22px 28px 4px}
.onion-dash-bar{flex:1;height:14px;border-radius:999px;background:var(--on-warm-2);overflow:hidden}
.onion-dash-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#12a150,#3ac57a)}
.onion-dash-pct{font-family:var(--on-font-display);font-weight:800;color:var(--on-navy-deep);font-size:1.15rem}
.onion-dash-card h4{font-family:var(--on-font-display);color:var(--on-navy-deep);font-size:1.3rem;line-height:1.25;padding:6px 28px 26px;margin:0}
.onion-dash-viewbtn{display:block;width:100%;text-align:center;background:var(--on-copper);color:#fff;font-family:var(--on-font-body);font-weight:600;font-size:1.02rem;padding:1em;border-radius:14px;margin-top:22px;text-decoration:none;transition:background .18s,transform .18s}
.onion-dash-viewbtn:hover{background:var(--on-copper-2);transform:translateY(-2px)}


/* =========================================================================
   CATEGORY / TAG ARCHIVE (Divi Theme Builder body) — blog cards + sidebar
   Markup: #ot-blog .et_pb_post (main); .dipl_ajax_search + .et_pb_blurb_0_tb_body
   (GF #8) + #ot-cat .widget_categories (sidebar).
   ========================================================================= */
/* warm page ground so cards read (category & tag only) */
/* course catalogue: hide the default Divi archive title (branded hero injected instead) */
body.post-type-archive-course #left-area h1.page-title,body.post-type-archive-course #content h1.page-title{display:none!important}
.onion-catalog-hero{margin-bottom:44px}
/* unify the list-page background on both the Articles page and the category/tag archives */
#et-boc .et_pb_section:has(.onion-arts-layout){background-color:#fff!important}
/* dynamic archive title (Text module h1) — was white-on-white; match the Articles hero */
body.category #et-boc .et_pb_text_0_tb_body h1,body.tag #et-boc .et_pb_text_0_tb_body h1{font-family:var(--on-font-display)!important;font-weight:800!important;color:var(--on-navy-deep)!important;font-size:clamp(2rem,4.4vw,2.9rem)!important;line-height:1.08!important;letter-spacing:-.02em!important;text-transform:none!important;margin:0!important}

/* --- post cards --- */
#et-boc #ot-blog .et_pb_ajax_pagination_container{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:22px!important}
@media(max-width:980px){#et-boc #ot-blog .et_pb_ajax_pagination_container{grid-template-columns:1fr!important}}
#et-boc #ot-blog .et_pb_ajax_pagination_container>div:last-child:empty{display:none!important}
#et-boc #ot-blog .et_pb_post{margin:0!important;padding:0!important;background:var(--on-ground)!important;border:1px solid var(--on-line)!important;border-radius:var(--on-radius)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-shadow:none!important;transition:transform .2s,box-shadow .2s!important}
#et-boc #ot-blog .et_pb_post:hover{transform:translateY(-4px)!important;box-shadow:var(--on-shadow-lg)!important}
#et-boc #ot-blog .et_pb_post .entry-featured-image-url{order:0!important;display:block!important;margin:0!important;aspect-ratio:16/9!important;overflow:hidden!important}
#et-boc #ot-blog .et_pb_post .entry-featured-image-url img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .4s!important}
#et-boc #ot-blog .et_pb_post:hover .entry-featured-image-url img{transform:scale(1.05)!important}
/* meta (category) as an eyebrow above the title */
#et-boc #ot-blog .et_pb_post .post-meta{order:1!important;font-family:var(--on-font-mono)!important;font-size:.64rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--on-muted)!important;margin:16px 18px 0!important;padding:0!important}
#et-boc #ot-blog .et_pb_post .post-meta a{color:var(--on-copper)!important;text-decoration:none!important}
#et-boc #ot-blog .et_pb_post .post-meta a:hover{color:var(--on-cta-hover)!important}
#et-boc #ot-blog .et_pb_post .entry-title{order:2!important;font-family:var(--on-font-display)!important;font-weight:700!important;font-size:1.05rem!important;line-height:1.25!important;margin:6px 18px 0!important;padding:0!important}
#et-boc #ot-blog .et_pb_post .entry-title a{color:var(--on-navy-deep)!important}
#et-boc #ot-blog .et_pb_post .entry-title a:hover{color:var(--on-copper)!important}
#et-boc #ot-blog .et_pb_post .post-content{order:3!important;margin:0!important;padding:10px 18px 18px!important;display:flex!important;flex-direction:column!important;flex:1!important}
#et-boc #ot-blog .et_pb_post .post-content-inner p{font-size:.83rem!important;line-height:1.5!important;color:var(--on-muted)!important;margin:0!important}
#et-boc #ot-blog .et_pb_post .more-link{align-self:flex-start!important;margin-top:12px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.82rem!important;color:var(--on-copper)!important;text-decoration:none!important}
#et-boc #ot-blog .et_pb_post .more-link:hover{color:var(--on-cta-hover)!important}

/* --- sidebar: AJAX search --- */
#et-boc .dipl_ajax_search .dipl_ajax_search_field{width:100%!important;padding:12px 16px!important;border-radius:999px!important;border:1.5px solid var(--on-line-strong)!important;background:#fff!important;font-family:var(--on-font-body)!important;font-size:.9rem!important;color:var(--on-navy-deep)!important;box-shadow:none!important}
#et-boc .dipl_ajax_search .dipl_ajax_search_field::placeholder{color:var(--on-muted)!important}
#et-boc .dipl_ajax_search .dipl_ajax_search_field:focus{outline:none!important;border-color:var(--on-copper)!important}

/* --- sidebar: newsletter blurb (dark card) --- */
#et-boc .et_pb_blurb_0_tb_body{background:var(--on-navy-deep)!important;border-radius:18px!important;padding:26px 24px!important;color:#fff!important;margin:22px 0!important}
#et-boc .et_pb_blurb_0_tb_body .et_pb_blurb_content{max-width:none!important}
#et-boc .et_pb_blurb_0_tb_body .et_pb_module_header,#et-boc .et_pb_blurb_0_tb_body .et_pb_module_header span{color:#fff!important;font-family:var(--on-font-display)!important;font-weight:700!important;font-size:1.2rem!important;line-height:1.2!important}
#et-boc .et_pb_blurb_0_tb_body .et_pb_blurb_description .side-pad>p{color:#b9c8e2!important;font-family:var(--on-font-body)!important;font-size:.86rem!important;line-height:1.55!important;margin:0 0 12px!important}
/* GF #8 in the sidebar (single column) */
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper{margin:0!important;width:100%!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper form{margin:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform-body,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_body{padding:0!important;margin:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_fields{display:flex!important;flex-direction:column!important;gap:20px!important;grid-template-columns:none!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gfield{margin:0!important;padding:0!important;grid-template-columns:none!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gfield_label,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper legend.gfield_label{display:block!important;font-family:var(--on-font-body)!important;font-size:.76rem!important;font-weight:600!important;color:#dbe6f7!important;margin:0 0 7px!important;padding:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gfield_required_text{font-size:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gfield_required:not(.gfield_required_text)::after{content:"*"!important;color:var(--on-copper-soft)!important;font-size:.95rem!important;margin-left:3px!important;vertical-align:middle!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .ginput_complex.ginput_container--name{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .ginput_complex .gform-grid-col{padding:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .ginput_complex label{display:none!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper input[type="email"],#et-boc .et_pb_blurb_0_tb_body .gform_wrapper input[type="text"]{width:100%!important;padding:11px 14px!important;border-radius:999px!important;border:1.5px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-family:var(--on-font-body)!important;font-size:.9rem!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper input::placeholder{color:#9fb2d1!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper input[type="email"]:focus,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper input[type="text"]:focus{outline:none!important;border-color:var(--on-copper-soft)!important;background:rgba(255,255,255,.12)!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .ginput_container_turnstile{margin:4px 0 0!important;transform:scale(.92)!important;transform-origin:left top!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .btm-text-block p{color:#93a7c8!important;font-size:12px!important;line-height:1.5!important;margin:2px 0 0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .btm-text-block a{color:var(--on-copper-soft)!important}
#et-boc .et_pb_blurb_0_tb_body .gform_footer,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_footer{display:block!important;width:100%!important;margin:14px 0 0!important;padding:0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_button,#et-boc .et_pb_blurb_0_tb_body .gform_footer input[type="submit"]{width:100%!important;background:var(--on-cta)!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.92rem!important;padding:.8em 1.4em!important;cursor:pointer!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_button:hover,#et-boc .et_pb_blurb_0_tb_body .gform_footer input[type="submit"]:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important}
#et-boc .et_pb_blurb_0_tb_body .gform_confirmation_message{color:#cfe3ff!important;font-family:var(--on-font-body)!important;font-size:.9rem!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_validation_errors,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gfield_validation_message,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .validation_message{background:#fdf3f2!important;border:1px solid var(--on-line-strong)!important;border-left:4px solid #d92d20!important;border-radius:10px!important;box-shadow:none!important;color:var(--on-navy-deep)!important;font-family:var(--on-font-body)!important;font-weight:500!important;font-size:.78rem!important;padding:9px 12px!important;margin:7px 0 0!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_validation_errors{margin:0 0 14px!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_validation_errors *{color:var(--on-navy-deep)!important;font-weight:600!important;font-size:.82rem!important}
#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_validation_errors .gform-icon,#et-boc .et_pb_blurb_0_tb_body .gform_wrapper .gform_validation_errors svg{display:none!important}

/* --- sidebar: categories widget --- */
#et-boc #ot-cat .widgettitle{font-family:var(--on-font-display)!important;font-weight:700!important;font-size:1.2rem!important;color:var(--on-navy-deep)!important;margin:0 0 14px!important}
#et-boc #ot-cat .widget_categories ul{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:8px!important}
#et-boc #ot-cat .widget_categories li{margin:0!important;padding:0!important;border:0!important}
#et-boc #ot-cat .widget_categories li a{display:block!important;font-family:var(--on-font-body)!important;font-size:.9rem!important;font-weight:600!important;color:var(--on-navy-deep)!important;background:var(--on-warm)!important;border:1px solid var(--on-line)!important;border-radius:10px!important;padding:9px 14px!important;text-decoration:none!important;transition:background .15s,color .15s,border-color .15s!important}
#et-boc #ot-cat .widget_categories li a:hover{border-color:var(--on-copper)!important;color:var(--on-copper)!important}
#et-boc #ot-cat .widget_categories li.current-cat a{background:var(--on-cta)!important;border-color:var(--on-cta)!important;color:#fff!important}

/* =========================================================================
   ARTICLES PAGE ([onion_articles]) — 2-col layout: post grid + sidebar
   (categories list + subscribe form #8). Chips removed.
   ========================================================================= */
.onion-arts-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;max-width:var(--on-maxw);margin:0 auto}
@media(max-width:980px){.onion-arts-layout{grid-template-columns:1fr}}
.onion-arts-main .onion-art-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:600px){.onion-arts-main .onion-art-grid{grid-template-columns:1fr}}
/* category/tag: shortcode has no .onion-section/.onion-wrap wrapper — match its padding (24px sides) so the grid aligns with the hero and cards match the Articles size */
body.category .onion-arts-layout,body.tag .onion-arts-layout,body.author .onion-arts-layout{padding:44px 24px 72px}
/* pagination */
.onion-artpager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px}
.onion-artpager[hidden]{display:none}
#et-boc .onion-pagebtn,.onion-pagebtn{min-width:40px;height:40px;padding:0 12px;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.9rem!important;line-height:1!important;color:var(--on-navy-deep)!important;background:var(--on-warm)!important;background-image:none!important;border:1px solid var(--on-line)!important;border-radius:10px!important;cursor:pointer!important;transition:background .15s,color .15s,border-color .15s!important}
#et-boc .onion-pagebtn:hover,.onion-pagebtn:hover{border-color:var(--on-copper)!important;color:var(--on-copper)!important}
#et-boc .onion-pagebtn.active,.onion-pagebtn.active{background:var(--on-cta)!important;border-color:var(--on-cta)!important;color:#fff!important}
#et-boc .onion-pagebtn[disabled],.onion-pagebtn[disabled]{opacity:.4!important;cursor:default!important}
#et-boc .onion-pagebtn.nav,.onion-pagebtn.nav{font-size:1.1rem!important}

/* sidebar: categories card */
.onion-arts-side .onion-side-card{background:var(--on-ground);border:1px solid var(--on-line);border-radius:16px;padding:22px}
.onion-arts-side .onion-side-title{font-family:var(--on-font-display);font-weight:700;font-size:1.2rem;color:var(--on-navy-deep);margin:0 0 14px}
.onion-arts-side .onion-catlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.onion-arts-side .onion-catlist li{margin:0;padding:0}
.onion-arts-side .onion-catlist a{display:block;font-family:var(--on-font-body);font-weight:600;font-size:.9rem;color:var(--on-navy-deep);background:var(--on-warm);border:1px solid var(--on-line);border-radius:10px;padding:9px 14px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.onion-arts-side .onion-catlist a:hover{border-color:var(--on-copper);color:var(--on-copper)}
.onion-arts-side .onion-catlist a.current{background:var(--on-cta);border-color:var(--on-cta);color:#fff}

/* sidebar: subscribe card (dark) + GF #8 */
.onion-side-news{background:var(--on-navy-deep);border-radius:18px;padding:26px 24px;color:#fff;margin-top:22px}
.onion-side-news .onion-eyebrow{color:var(--on-copper-soft)}
.onion-side-news .onion-eyebrow::before{background:var(--on-copper-soft)}
#et-boc .onion-side-news h4,.onion-side-news h4{color:#fff!important;font-family:var(--on-font-display);font-weight:700;font-size:1.2rem;line-height:1.2;margin:10px 0 0}
.onion-side-news p{color:#b9c8e2;font-family:var(--on-font-body);font-size:.86rem;line-height:1.55;margin:10px 0 22px}
/* order fields: name, email, privacy text, then turnstile last (above submit) */
.onion-side-news .gform_wrapper .gfield--type-html{order:1!important}
.onion-side-news .gform_wrapper .gfield--type-turnstile{order:2!important}
.onion-side-news .gform_wrapper{margin:0!important;width:100%!important}
.onion-side-news .gform_wrapper form{margin:0!important}
.onion-side-news .gform_wrapper .gform-body,.onion-side-news .gform_wrapper .gform_body{padding:0!important;margin:0!important}
.onion-side-news .gform_wrapper .gform_fields{display:flex!important;flex-direction:column!important;gap:20px!important;grid-template-columns:none!important}
.onion-side-news .gform_wrapper .gfield{margin:0!important;padding:0!important;grid-template-columns:none!important}
.onion-side-news .gform_wrapper .gfield_label,.onion-side-news .gform_wrapper legend.gfield_label{display:block!important;font-family:var(--on-font-body)!important;font-size:.76rem!important;font-weight:600!important;color:#dbe6f7!important;margin:0 0 7px!important;padding:0!important}
.onion-side-news .gform_wrapper .gfield_required_text{font-size:0!important}
.onion-side-news .gform_wrapper .gfield_required:not(.gfield_required_text)::after{content:"*"!important;color:var(--on-copper-soft)!important;font-size:.95rem!important;margin-left:3px!important;vertical-align:middle!important}
.onion-side-news .gform_wrapper .ginput_complex.ginput_container--name{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.onion-side-news .gform_wrapper .ginput_complex .gform-grid-col{padding:0!important}
.onion-side-news .gform_wrapper .ginput_complex label{display:none!important}
.onion-side-news .gform_wrapper input[type="email"],.onion-side-news .gform_wrapper input[type="text"]{width:100%!important;padding:11px 14px!important;border-radius:999px!important;border:1.5px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-family:var(--on-font-body)!important;font-size:.9rem!important}
.onion-side-news .gform_wrapper input::placeholder{color:#9fb2d1!important}
.onion-side-news .gform_wrapper input[type="email"]:focus,.onion-side-news .gform_wrapper input[type="text"]:focus{outline:none!important;border-color:var(--on-copper-soft)!important;background:rgba(255,255,255,.12)!important}
.onion-side-news{overflow:hidden}
.onion-side-news .gform_wrapper .ginput_container_turnstile{margin:0!important;width:300px!important;height:54px!important;transform:scale(.8)!important;transform-origin:left top!important;overflow:visible!important}
.onion-side-news .gform_wrapper .cf-turnstile,.onion-side-news .gform_wrapper .cf-turnstile iframe{width:300px!important;max-width:none!important}
.onion-side-news .gform_wrapper .gfield--type-turnstile{overflow:hidden!important}
.onion-side-news .gform_wrapper .btm-text-block p{color:#93a7c8!important;font-size:12px!important;line-height:1.5!important;margin:2px 0 0!important}
.onion-side-news .gform_wrapper .btm-text-block a{color:var(--on-copper-soft)!important}
.onion-side-news .gform_footer,.onion-side-news .gform_wrapper .gform_footer{display:block!important;width:100%!important;margin:14px 0 0!important;padding:0!important}
#et-boc .onion-side-news .gform_wrapper .gform_button,.onion-side-news .gform_wrapper .gform_button,.onion-side-news .gform_footer input[type="submit"]{width:100%!important;background:var(--on-cta)!important;background-image:none!important;color:#fff!important;border:0!important;border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.92rem!important;padding:.8em 1.4em!important;cursor:pointer!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important}
#et-boc .onion-side-news .gform_wrapper .gform_button:hover,.onion-side-news .gform_wrapper .gform_button:hover,.onion-side-news .gform_footer input[type="submit"]:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important}
.onion-side-news .gform_confirmation_message{color:#cfe3ff!important;font-family:var(--on-font-body)!important;font-size:.9rem!important}
.onion-side-news .gform_wrapper .gform_validation_errors,.onion-side-news .gform_wrapper .gfield_validation_message,.onion-side-news .gform_wrapper .validation_message{background:#fdf3f2!important;border:1px solid var(--on-line-strong)!important;border-left:4px solid #d92d20!important;border-radius:10px!important;box-shadow:none!important;color:var(--on-navy-deep)!important;font-family:var(--on-font-body)!important;font-weight:500!important;font-size:.78rem!important;padding:9px 12px!important;margin:7px 0 0!important}
.onion-side-news .gform_wrapper .gform_validation_errors{margin:0 0 14px!important}
.onion-side-news .gform_wrapper .gform_validation_errors *{color:var(--on-navy-deep)!important;font-weight:600!important;font-size:.82rem!important}
.onion-side-news .gform_wrapper .gform_validation_errors .gform-icon,.onion-side-news .gform_wrapper .gform_validation_errors svg{display:none!important}

/* single post: Table of Contents Plus — no checkmark bullets, keep nested indentation */
body.single-post #toc_container{display:block!important;width:100%!important;box-sizing:border-box!important}
body.single-post #toc_container ul{display:block!important;gap:0!important;list-style:none!important;padding:0!important;margin:0!important}
body.single-post #toc_container ul.toc_list[style*="none"]{display:none!important}
body.single-post #toc_container ul ul{padding-left:22px!important;margin:6px 0 0!important}
body.single-post #toc_container li{padding-left:0!important;margin:0 0 6px!important;line-height:1.5!important}
body.single-post #toc_container li::before{content:none!important;display:none!important}
body.single-post #toc_container .toc_title{margin:0!important}
body.single-post #toc_container .toc_list{margin-top:14px!important}
/* single post: numbered lists -> copper number circles (matches the design) */
body.single-post .et_pb_post_content ol{list-style:none!important;counter-reset:opost!important;padding:0!important;margin:16px 0!important;display:flex!important;flex-direction:column!important;gap:12px!important}
body.single-post .et_pb_post_content ol li{counter-increment:opost!important;position:relative!important;padding-left:44px!important;margin:0!important;color:var(--on-ink)!important;line-height:1.6!important}
body.single-post .et_pb_post_content ol li::marker{content:""!important}
body.single-post .et_pb_post_content ol li::before{content:counter(opost)!important;position:absolute!important;left:0!important;top:0!important;width:28px!important;height:28px!important;border-radius:50%!important;background:var(--on-amber-tint)!important;color:var(--on-copper)!important;font-family:var(--on-font-display)!important;font-weight:700!important;font-size:.85rem!important;display:flex!important;align-items:center!important;justify-content:center!important}

/* [onion_author] bio box (bottom of single posts) */
.onion-authorbox{display:flex;gap:22px;align-items:flex-start;background:var(--on-warm);border:1px solid var(--on-line);border-radius:var(--on-radius);padding:26px 28px;margin:40px 0 0}
.onion-authorbox-av img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--on-shadow)}
.onion-authorbox-body h4{font-family:var(--on-font-display);font-weight:800;color:var(--on-navy-deep);font-size:1.3rem;margin:6px 0 8px}
.onion-authorbox-body p{color:var(--on-muted);font-size:.95rem;line-height:1.6;margin:0 0 12px}
.onion-authorbox-link{font-family:var(--on-font-body);font-weight:600;font-size:.9rem;color:var(--on-copper);text-decoration:none}
.onion-authorbox-link:hover{color:var(--on-cta-hover)}
@media(max-width:600px){.onion-authorbox{flex-direction:column;align-items:center;text-align:center}}


/* ========================================================================
   PART 1 OF 4   (loaded 4 of 4 - see note above)
   ======================================================================== */

/* ===== ONION TRAINING — SHARED STYLESHEET (PART 1 of 4) =====

       	ADDED HERE FRIDAY 04 SEPT 2026 @ 9:30PM
		LAST UPDATED --> Tuesday 15 Sep 2026 @ 02:38pm
		SPLIT INTO 3 WPCODE SNIPPETS (WPCode ~64KB per-snippet limit).
		Paste part1 + part2 + part3 each as its own site-wide CSS snippet.
		Tokens (@import + :root) live HERE in part1.

/* =========================================================================
   ONION TRAINING — SHARED BRAND STYLESHEET  (Divi 5)
   Paste ONCE: Divi > Theme Options > Custom CSS, OR a global Code module in
   the Theme Builder, OR your child theme's style.css.
   Every page/header/footer file relies on these tokens & classes.
   Fonts: Bricolage Grotesque (display) · Plus Jakarta Sans (body) · IBM Plex Mono (labels)
   ========================================================================= */

/* ---- Self-hosted brand fonts, latin subset ----
   Replaced the Google Fonts @import on 16 Sep 2026.
   Files live in /wp-content/uploads/brand-fonts/, outside the theme, so they
   survive a theme change. Real family names so the --on-font-* tokens resolve.
   Bricolage and Open Sans are variable fonts trimmed to the weights in use,
   hence the "600 800" range syntax rather than a single weight.            */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600 800;font-display:swap;src:url("/wp-content/uploads/brand-fonts/bricolage-grotesque-600-800-latin.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/wp-content/uploads/brand-fonts/open-sans-400-700-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/wp-content/uploads/brand-fonts/ibm-plex-mono-500-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/wp-content/uploads/brand-fonts/ibm-plex-mono-600-latin.woff2") format("woff2")}

/* ---- Design tokens ---- */
:root{
  --on-ground:#ffffff;
  --on-warm:#fbf6ef;
  --on-warm-2:#f6ede1;
  --on-amber-tint:#fbeeda;
  --on-navy:#0a1a30;
  --on-navy-deep:#041229;
  --on-ink:#1a1611;
  --on-muted:#6b6357;
  --on-copper:#bd6a25;
  --on-copper-2:#d0823d;
  --on-copper-soft:#e8a85c;
  --on-cta:#bd6a25;
  --on-cta-hover:#a2551a;
  --on-header:#031229;
  --on-blue:#1f4de0;
  --on-coral:#ff5e6e;
  --on-green:#1c8a5a;
  --on-line:#ece3d6;
  --on-line-strong:#ddd0bd;
  --on-shadow:0 1px 2px rgba(10,26,48,.04),0 12px 32px -12px rgba(10,26,48,.14);
  --on-shadow-lg:0 24px 60px -24px rgba(10,26,48,.28);
  --on-radius:16px;
  --on-radius-sm:11px;
  --on-maxw:1180px;
  --on-font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --on-font-body:"Open Sans",system-ui,-apple-system,sans-serif;
  --on-font-mono:"IBM Plex Mono",ui-monospace,monospace;
}

/* ---- Scope everything to .onion so Divi defaults don't fight us ---- */
.onion,.onion *{box-sizing:border-box}
.onion{
  font-family:var(--on-font-body);
  color:var(--on-ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.onion img{max-width:100%;display:block}
.onion a{color:inherit;text-decoration:none}
.onion button{font-family:inherit;cursor:pointer;border:none;background:none}
.onion h1,.onion h2,.onion h3,.onion h4{font-family:var(--on-font-display);font-weight:700;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;color:var(--on-navy-deep);margin:0}
.onion p{margin:0}
.onion :focus-visible{outline:2.5px solid var(--on-copper);outline-offset:3px;border-radius:4px}
.onion-wrap{max-width:var(--on-maxw);margin:0 auto;padding:0 24px}
.onion-eyebrow{font-family:var(--on-font-mono);font-size:.74rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--on-copper);display:inline-flex;align-items:center;gap:.5em}
.onion-eyebrow::before{content:"";width:14px;height:1.5px;background:var(--on-copper);opacity:.6}
.onion-eyebrow{margin-bottom:14px}
/* Normalise every page hero to the SAME height. The eyebrow markup is identical
   across pages, so the varying gap comes from the Divi section/row/column that
   wraps .onion-page-hero having different top/bottom padding per page. Zero that
   vertical padding so the hero's own padding (68px 0 44px) is the only source. */
.onion-eyebrow{display:inline-flex!important;margin:0 0 14px!important;padding:0!important;line-height:1!important}
/* eyebrow -> h1 gap = 20px on standard + glossary heroes (home left as-is) */
.onion-page-hero .onion-eyebrow,.onion-gloss-head .onion-eyebrow{margin-bottom:20px!important}
/* kill empty <p> that wpautop injects between hero lines (adds a phantom gap) */
.onion-page-hero p:empty,.onion-gloss-head p:empty{display:none!important}
.et_pb_section:has(.onion-page-hero),
.et_pb_section:has(.onion-gloss-head),
.et_pb_row:has(.onion-page-hero),
.et_pb_row:has(.onion-gloss-head),
.et_pb_column:has(.onion-page-hero),
.et_pb_column:has(.onion-gloss-head){
  padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;
}
.onion-section{padding:96px 0}
.onion-section-sm{padding:64px 0}
.onion-center{text-align:center}
.onion-lead{font-size:1.12rem;color:var(--on-muted);max-width:60ch;line-height:1.7}
.onion-page-hero .onion-lead{max-width:none;margin-left:0;margin-right:0;padding:0}
.onion-hero-proof {  display: flex !important;  gap: 18px !important;  align-items: center !important;  margin-top: 34px !important;  flex-wrap: nowrap !important;  justify-content: center !important;}
.onion-hero-proof .stat {  flex: 1 !important;  text-align: left !important;}
.onion-hero-proof .divider {  width: 1px !important;  height: 36px !important;  background: var(--on-line-strong) !important;  flex-shrink: 0 !important;}
.onion-hero-proof .divider {display: block !important;width: 1px !important;height: 36px !important;background: var(--on-line-strong) !important;margin: 0 auto !important;}
.onion-hero-proof .stat span:last-child {  white-space: nowrap !important;}

/* legal page paragraph styling */
.onion-legal {max-width: var(--on-maxw) !important;margin: 0 auto !important;padding-left: 24px !important;padding-right: 24px !important;}
.onion-legal h1, .onion-legal h2, .onion-legal h3 {font-family: var(--on-font-display);color: var(--on-navy-deep);font-weight: 700;margin: 32px 0 16px 0;}
.onion-legal p {font-family: var(--on-font-body);color: var(--on-muted);font-weight: 500;font-size: 17px;line-height: 1.6;margin: 0 0 16px 0;}
.onion-legal .et_pb_column {padding: 0 !important;}
.onion-legal .et_pb_text {font-family: var(--on-font-body) !important;font-weight: 500 !important;}
.onion-legal .et_pb_text p {  font-family: var(--on-font-body) !important;font-weight: 500 !important;}
.onion-legal .et_pb_text_inner {  font-family: var(--on-font-body) !important;font-weight: 500 !important;}
.onion-legal p, .onion-legal .et_pb_text, .onion-legal .et_pb_text_inner {font-family: var(--on-font-body) !important;font-weight: 500 !important;color: var(--on-muted) !important;font-size: 17px !important;}
.onion-legal a {color: var(--on-copper) !important;font-weight: 600 !important;transition:color .15s ease !important;}
/* hover state for inline content links (legal + glossary term pages) */
.onion-legal a:hover,
.ot-body a:hover {color: var(--on-cta-hover) !important;text-decoration: underline !important;}
.onion-legal ul {list-style:none;padding:0;margin:14px 0;display:flex;flex-direction:column;gap:7px}
.onion-legal ul li {position:relative;padding:0 0 0 34px;margin:0;line-height:1.5}
.onion-legal ul li::before {content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--on-warm-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bd6a25' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center}
.onion-legal ol {list-style:none;counter-reset:onion-ol;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:14px}
.onion-legal ol li {counter-increment:onion-ol;position:relative;padding-left:42px;margin:0;color:var(--on-muted)!important;font-size:17px!important;line-height:1.7}
.onion-legal ol li::before {content:counter(onion-ol);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;background:var(--on-amber-tint);color:var(--on-copper);font-family:var(--on-font-display);font-weight:700;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center}
.onion-legal-updated {font-family: var(--on-font-body) !important;font-size: 16px !important;color: var(--on-muted) !important;font-weight: 500 !important;}


/* ---- Buttons ---- */
.onion .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--on-font-body);font-weight:600;font-size:.97rem;padding:.82em 1.5em;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;white-space:nowrap;line-height:1}
.onion .btn-primary{background:var(--on-cta);color:#fff;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)}
.onion .btn-primary:hover{background:var(--on-cta-hover);transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(162,85,26,.7);color:#fff}
.onion .btn-dark{background:var(--on-navy-deep);color:#fff}
.onion .btn-dark:hover{background:var(--on-navy);transform:translateY(-2px);color:#fff}
.onion .btn-ghost{background:transparent;color:var(--on-navy-deep);border:1.5px solid var(--on-line-strong)}
.onion .btn-ghost:hover{border-color:var(--on-copper);color:var(--on-copper);background:var(--on-amber-tint)}
.onion .btn-lg{font-size:1.02rem;padding:.95em 1.8em}
.onion .btn-block{width:100%}
.onion .arrow{transition:transform .2s ease}
.onion .btn:hover .arrow{transform:translateX(3px)}

/* ---- Icon chrome (bespoke SVGs are placed inside these) ---- */
.on-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.on-ico svg{display:block}
.on-ico-tile{width:52px;height:52px;border-radius:14px;background:var(--on-amber-tint);color:var(--on-copper)}
.on-ico-tile-dark{width:52px;height:52px;border-radius:14px;background:var(--on-navy-deep);color:var(--on-copper-soft)}
.on-ico-sm{width:46px;height:46px;border-radius:12px;background:var(--on-amber-tint);color:var(--on-copper)}

/* ==========================================================================
   HEADER  (global — Divi Theme Builder header, one Code module)
   ========================================================================== */
.onion-header{position:sticky;top:0;z-index:1000;background:var(--on-header);border-bottom:1px solid rgba(255,255,255,.08);transition:box-shadow .25s ease}
.onion-header.scrolled{box-shadow:0 6px 24px -14px rgba(0,0,0,.5)}
/* Header member/guest swap — WordPress puts .logged-in on <body> automatically */
.onion-member-only{display:none!important}
body.logged-in .onion-guest-only{display:none!important}
body.logged-in nav.onion-member-only{display:flex!important}
body.logged-in a.onion-member-only,body.logged-in span.onion-member-only{display:inline-flex!important}
.onion-header .onion-textlink,.onion-textlink{font-family:var(--on-font-body);font-size:.94rem;font-weight:500;color:#c3d0e6!important;text-transform:none;letter-spacing:normal;text-decoration:none;padding:.5em .8em;border-radius:9px;transition:color .15s,background .15s;position:relative;white-space:nowrap}
.onion-header .onion-textlink:hover,.onion-textlink:hover{color:#fff!important;background:rgba(255,255,255,.08)}
.onion-nav{display:flex;align-items:center;gap:4px;height:74px}
.onion-brand{display:flex;align-items:center;gap:11px;font-family:var(--on-font-display);font-weight:700;font-size:1.2rem;color:#fff;letter-spacing:-.02em}
.onion-brand img{height:46px;width:auto;max-width:400px;object-fit:contain;display:block}
.onion-brand span b{color:var(--on-copper-soft)}
.onion-links{display:flex;align-items:center;gap:4px;margin-left:auto}
.onion-links a{font-size:.94rem;font-weight:500;color:#c3d0e6;padding:.5em .8em;border-radius:9px;transition:color .15s,background .15s;position:relative;white-space:nowrap}
.onion-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.onion-links a.active,.onion-header .onion-textlink.active{color:#fff!important}
.onion-links a.active::after,.onion-header .onion-textlink.active::after{content:"";position:absolute;left:.8em;right:.8em;bottom:.15em;height:2px;background:#a2551a;border-radius:2px}
.onion-hasdd{position:relative}
.onion-dd{position:absolute;top:calc(100% + 8px);left:0;background:var(--on-header);border:1px solid rgba(255,255,255,.12);border-radius:0;box-shadow:var(--on-shadow-lg);padding:8px;min-width:200px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;display:flex;flex-direction:column;gap:2px}
.onion-hasdd:hover .onion-dd,.onion-hasdd:focus-within .onion-dd{opacity:1;visibility:visible;transform:translateY(0)}
.onion-dd a{padding:.6em .7em;border-radius:0;color:#c3d0e6}
.onion-dd a:hover{background:rgba(255,255,255,.08);color:#fff}
.onion-dd a small{display:block;font-size:.72rem;color:#8497b5;font-weight:400}
.onion-navcta{display:flex;align-items:center;gap:4px}
.onion-navcta .onion-iconlink{margin-left:8px}
.onion-header .onion-iconlink,.onion-iconlink{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#fff!important;transition:background .15s,color .15s;position:relative}
.onion-header .onion-iconlink svg{stroke:currentColor}
.onion-iconlink:hover{background:rgba(255,255,255,.08);color:#fff!important}
.onion-basket-count{position:absolute;top:2px;right:2px;background:var(--on-coral);color:#fff;font-family:var(--on-font-mono);font-size:.6rem;font-weight:600;min-width:15px;height:15px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.onion-burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:10px}
.onion-burger span{width:22px;height:2px;background:var(--on-cta);border-radius:2px;transition:.25s}
.onion-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.onion-burger.open span:nth-child(2){opacity:0}
.onion-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.onion-mobilenav{position:fixed;inset:70px 0 0 0;background:var(--on-header);z-index:999;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:24px;display:none;flex-direction:column;gap:6px}
.onion-mobilenav.mounted{display:flex}
.onion-mobilenav.open{transform:translateX(0)}
.onion-mobilenav a{font-family:var(--on-font-display);font-size:1.5rem;font-weight:600;color:#fff;padding:.5em 0;border-bottom:1px solid rgba(255,255,255,.1)}
.onion-mobilenav a.sub{font-family:var(--on-font-body);font-size:1rem;font-weight:500;color:#a9bad6;padding-left:16px;border:none}
.onion-mobilenav .m-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:20px}

/* divider between header menu items and member menu items */
.onion-navcta::before{
  content:"";
  width:2px;
  align-self:stretch;
  margin:6px 18px 6px 6px;
  background:rgba(255,255,255,.22);
}

/* remove Divi's default section/row padding around the Theme Builder header */
.et-l--header .et_pb_section,.et-l--header .et_pb_row{padding-top:0!important;padding-bottom:0!important}
.et-l--header .et_pb_row{margin-top:0!important;margin-bottom:0!important}
.et-l--header .et_pb_column{padding-top:0!important;padding-bottom:0!important}
/* remove Divi's default section/row padding around the Theme Builder footer */
.et-l--footer .et_pb_section,.et-l--footer .et_pb_row{padding-top:0!important;padding-bottom:0!important}
.et-l--footer .et_pb_row{margin-top:0!important;margin-bottom:0!important}
.et-l--footer .et_pb_column{padding-top:0!important;padding-bottom:0!important}

/* ==========================================================================
   HERO (home)
   ========================================================================== */
.onion-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--on-warm) 0%,var(--on-ground) 100%)}
.onion-hero-arcs{position:absolute;inset:0;pointer-events:none;opacity:.5}
.onion-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:79px 0 90px}
.onion-hero h1{font-size:clamp(2.5rem,5vw,3.9rem);font-weight:800;letter-spacing:-.035em}
.onion-hero h1 .hl{position:relative;color:var(--on-copper);white-space:nowrap}
.onion-hero h1 .hl svg{position:absolute;left:0;right:0;bottom:-.12em;width:100%;height:.28em}
.onion-hero .sub{margin-top:22px;font-size:1.16rem;color:var(--on-muted);max-width:52ch;line-height:1.65}
.onion-hero-actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.onion-hero-proof{margin-top:34px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
@media(min-width:961px){.onion-hero-proof{flex-wrap:nowrap}}
.onion-hero-proof .stat{display:flex;align-items:center;gap:12px}
.onion-hero-proof .stat .on-ico{width:34px;height:34px;border-radius:10px;background:var(--on-amber-tint);color:var(--on-copper)}
.onion-hero-proof .stat b{font-family:var(--on-font-display);font-size:1.3rem;font-weight:700;color:var(--on-navy-deep);display:block;line-height:1;white-space:nowrap}
.onion-hero-proof .stat span{font-family:var(--on-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--on-muted)}
.onion-hero-proof .divider{width:1px;height:36px;background:var(--on-line-strong)}
.onion-hero-visual{position:relative}
.onion-hero-img{border-radius:22px;overflow:hidden;box-shadow:var(--on-shadow-lg);aspect-ratio:4/4.4;border:1px solid var(--on-line)}
.onion-hero-img img{width:100%;height:100%;object-fit:cover}
.onion-hero-badge{position:absolute;background:#fff;border:1px solid var(--on-line);border-radius:14px;box-shadow:var(--on-shadow);padding:13px 16px;display:flex;align-items:center;gap:11px}
.onion-hero-badge .on-ico{width:38px;height:38px;border-radius:10px}
.onion-hero-badge b{font-family:var(--on-font-display);font-size:.95rem;color:var(--on-navy-deep);display:block;line-height:1.2}
.onion-hero-badge span{font-size:.76rem;color:var(--on-muted)}
.onion-hb-1{bottom:26px;left:-26px}
.onion-hb-2{top:26px;right:-22px}
.onion-report{position:absolute;right:-20px;bottom:-30px;width:230px;background:var(--on-navy-deep);border-radius:14px;padding:16px;box-shadow:var(--on-shadow-lg);font-family:var(--on-font-mono);color:#cfe3ff}
.onion-report .rc-top{display:flex;justify-content:space-between;font-size:.68rem;color:#7f9bc4;margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}
.onion-report .row{display:flex;align-items:center;gap:8px;font-size:.74rem;padding:4px 0}
.onion-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.onion-dot.pass{background:#3ddc97}.onion-dot.fail{background:var(--on-coral)}.onion-dot.wip{background:var(--on-copper-soft)}

/* ---- trust strip ---- */
.onion-trust{background:var(--on-ground);border-top:1px solid var(--on-line);border-bottom:1px solid var(--on-line)}
.onion-trust .onion-wrap{padding-top:28px;padding-bottom:28px;display:flex;align-items:center;gap:34px;flex-wrap:wrap;justify-content:center}
.onion-trust p{font-family:var(--on-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--on-muted)}
.onion-trust .brands{display:flex;gap:30px;flex-wrap:wrap;align-items:center}
.onion-trust .brands span{font-family:var(--on-font-display);font-weight:700;font-size:1.05rem;color:var(--on-navy);opacity:.42;letter-spacing:-.01em}

/* ---- section head ---- */
.onion-shead{max-width:660px;margin-bottom:52px}
.onion-shead.c{margin-left:auto;margin-right:auto;text-align:center}
.onion-shead h2{font-size:clamp(1.8rem,3.4vw,2.55rem);margin-top:14px}
.onion-shead p{margin-top:16px;font-size:1.08rem;color:var(--on-muted)}

/* ---- audience grid ---- */
.onion-aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.onion-aud{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);padding:26px 22px;transition:transform .2s,box-shadow .2s,border-color .2s}
.onion-aud:hover{transform:translateY(-4px);box-shadow:var(--on-shadow);border-color:var(--on-line-strong)}
.onion-aud .num{font-family:var(--on-font-mono);font-size:.72rem;color:var(--on-copper);font-weight:500}
.onion-aud h3{font-size:1.16rem;margin:14px 0 8px}
.onion-aud p{font-size:.93rem;color:var(--on-muted)}

/* ---- why (3 pillars) ---- */
.onion-why{background:var(--on-warm)}
.onion-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.onion-why-card{background:#fff;border:1px solid var(--on-line);border-radius:var(--on-radius);padding:30px 26px;position:relative;overflow:hidden}
.onion-why-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--on-copper),var(--on-copper-soft))}
.onion-why-card .on-ico{margin-bottom:20px}
.onion-why-card h3{font-size:1.25rem;margin-bottom:10px}
.onion-why-card p{color:var(--on-muted);font-size:.96rem}
.onion-why-card .big{font-family:var(--on-font-display);font-size:2.1rem;font-weight:800;color:var(--on-copper);letter-spacing:-.03em;margin-bottom:2px}

/* ---- benefits ---- */
.onion-ben-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.onion-ben{display:flex;gap:14px;padding:20px;border-radius:var(--on-radius-sm);background:var(--on-ground);border:1px solid var(--on-line);transition:background .2s,border-color .2s}
.onion-ben:hover{background:var(--on-warm);border-color:var(--on-line-strong)}
.onion-ben .on-ico{width:38px;height:38px;border-radius:10px;background:var(--on-amber-tint);color:var(--on-copper)}
.onion-ben h4{font-size:1.02rem;font-family:var(--on-font-display);color:var(--on-navy-deep);margin-bottom:3px}
.onion-ben p{font-size:.88rem;color:var(--on-muted)}

/* ---- earnings table (navy) — moved to part3 (part1 at the ~64KB cap) ---- */


/* ---- syllabus (navy) ---- */
.onion-syll{background:var(--on-navy-deep);color:#e8eefb;position:relative;overflow:hidden}
.onion-syll .onion-eyebrow{color:var(--on-copper-soft)}
.onion-syll .onion-eyebrow::before{background:var(--on-copper-soft)}
.onion-syll h2{color:#fff}
.onion-syll .onion-shead p{color:#a9bad6}
.onion-syll .onion-shead{max-width:none}
.onion-syll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.onion-mod{display:flex;gap:14px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:var(--on-radius-sm);background:rgba(255,255,255,.03);transition:background .2s,border-color .2s,transform .2s}
.onion-mod:hover{background:rgba(232,168,92,.08);border-color:rgba(232,168,92,.35);transform:translateY(-2px)}
.onion-mod .on-ico{width:40px;height:40px;border-radius:10px;background:rgba(232,168,92,.12);color:var(--on-copper-soft)}
.onion-mod .mn{font-family:var(--on-font-mono);font-size:.72rem;color:var(--on-copper-soft);font-weight:600}
.onion-mod h4{font-size:1.02rem;color:#fff;font-family:var(--on-font-display);margin:2px 0 5px;letter-spacing:-.01em}
.onion-mod p{font-size:.85rem;color:#9fb2d1;line-height:1.5}
.onion-syll-cta{margin-top:40px;text-align:center}

/* syllabus accordion (dark, on navy) */
.onion-syll-acc{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.onion-macc{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;transition:background .2s,border-color .2s}
.onion-macc:hover{border-color:rgba(232,168,92,.32)}
.onion-macc.open{background:rgba(232,168,92,.06);border-color:rgba(232,168,92,.38)}
.onion-macc-head{width:100%;text-align:left;display:flex;align-items:center;gap:16px;padding:20px 24px;background:none;color:#fff;cursor:pointer;font-family:var(--on-font-body);border-radius:18px}
.onion-macc-num{font-family:var(--on-font-mono);font-size:.82rem;color:var(--on-copper-soft);font-weight:600;flex-shrink:0;width:22px}
.onion-macc-title{font-family:var(--on-font-display);font-weight:600;font-size:1.06rem;color:#fff;flex:1;letter-spacing:-.01em}
.onion-macc-plus{width:28px;height:28px;border-radius:50%;background:rgba(232,168,92,.15);color:var(--on-copper-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s,background .2s,color .2s;font-size:1.15rem;line-height:1}
.onion-macc.open .onion-macc-plus{transform:rotate(45deg);background:var(--on-copper);color:#fff}
.onion-macc-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.onion-macc-panel p{padding:0 24px 22px 62px;color:#a9bad6;font-size:.95rem;line-height:1.65}
@media(max-width:600px){.onion-macc-panel p{padding-left:24px}}

/* Homepage syllabus accordions → flat FAQ layout on navy */
#et-boc .onion-macc{background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
#et-boc .onion-macc-head{background:transparent!important;border:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:22px 0!important;cursor:pointer!important;text-align:left!important;color:#fff!important}
#et-boc .onion-macc-title{font-family:var(--on-font-display)!important;font-weight:700!important;font-size:1.05rem!important;color:#fff!important;letter-spacing:normal!important}
#et-boc .onion-macc-num{color:var(--on-copper-soft)!important;font-size:20px!important;margin-top:-2px!important}
/* +/× circle, right side */
#et-boc .onion-macc-plus{flex:0 0 auto!important;width:34px!important;height:34px!important;min-width:34px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f3e7d8!important;color:var(--on-copper)!important;font-size:1.2rem!important;line-height:1!important;border:0!important;transition:transform .2s,background .2s!important}
#et-boc .onion-macc.open .onion-macc-plus{background:var(--on-copper-soft)!important;color:#fff!important;transform:rotate(45deg)!important}
/* answer panel */
#et-boc .onion-macc-panel{background:transparent!important}
#et-boc .onion-macc-panel p,#et-boc .onion-macc-panel li{color:#a9bad6!important;font-family:var(--on-font-body)!important;font-size:16px!important;line-height:1.7!important;padding-left:0!important;padding-right:0!important}
#et-boc .onion-macc-panel strong,#et-boc .onion-macc-panel b,#et-boc .onion-macc-panel h3,#et-boc .onion-macc-panel h4{color:#fff!important}
#et-boc .onion-macc-panel h3,#et-boc .onion-macc-panel h4{font-family:var(--on-font-display)!important}
#et-boc .onion-macc-panel ul{list-style:none!important;padding-left:0!important;margin:8px 0 0!important}
#et-boc .onion-macc-panel ul li{position:relative!important;padding-left:22px!important}
#et-boc .onion-macc-panel ul li::before{content:""!important;position:absolute!important;left:0!important;top:.7em!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--on-copper-soft)!important}
#et-boc .onion-macc-panel > *:last-child{padding-bottom:24px!important;margin-bottom:0!important}

/* Support FAQ accordions — to match General FAQs */
#et-boc .onion-faq-q{background:transparent!important;border:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important}
#et-boc .onion-faq-item{background:transparent!important;border:0!important;border-bottom:1px solid var(--on-line)!important;border-radius:0!important;box-shadow:none!important}
#et-boc .onion-faq-a{padding-bottom:24px!important}
#et-boc .onion-faq-a{padding-bottom:0!important}
#et-boc .onion-faq-a p{margin:0!important;padding-bottom:24px!important}
/* FAQ answers: force Open Sans 15px (theme was defaulting to Montserrat) */
#et-boc .onion-faq-a,
#et-boc .onion-faq-a p{font-family:var(--on-font-body)!important;font-size:15px!important;line-height:1.6!important;color:var(--on-muted)!important}
#et-boc .onion-support p {
  font-size: 1.12rem !important;
  color: var(--on-muted) !important;
  line-height: 1.7 !important;
}
.onion-support.et_pb_row,
.onion-support .et_pb_row{max-width:var(--on-maxw);padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto;}
.onion-support .et_pb_text_inner p{font-family:var(--on-font-body);color:var(--on-muted);font-size:17px;}
.onion-support .et_pb_toggle_title,
.onion-support h3{font-family:var(--on-font-display);color:var(--on-navy);}
.et_pb_text_7 .et_pb_text_inner p{font-family:var(--on-font-body);color:var(--on-muted);font-size:17px;}

/* extra breathing room above the Member Support FAQ list (this page only) */
#faq-member-support{padding-top:32px!important}

/* Support form CTA */
.onion-support button[type="submit"],
.onion-support input[type="submit"],
.onion-support .et_pb_button{width:auto;max-width:280px;display:inline-block;}


/* ---- testimonials ---- */
.onion-tst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.onion-tst{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);padding:28px;display:flex;flex-direction:column;gap:16px;transition:transform .2s,box-shadow .2s}
.onion-tst:hover{transform:translateY(-3px);box-shadow:var(--on-shadow)}
.onion-stars{color:var(--on-copper-2);letter-spacing:2px;font-size:.9rem}
.onion-tst p{font-size:.98rem;color:var(--on-ink);line-height:1.6}
.onion-tst .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.onion-avatar{width:44px;height:44px;border-radius:50%;background:var(--on-amber-tint);color:var(--on-copper);display:flex;align-items:center;justify-content:center;font-family:var(--on-font-display);font-weight:700;font-size:1rem;flex-shrink:0}
.onion-tst .who b{display:block;font-family:var(--on-font-display);font-size:.96rem;color:var(--on-navy-deep)}
.onion-tst .who span{font-size:.8rem;color:var(--on-muted)}

/* ---- pricing ---- */
.onion-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}
.onion-price{background:var(--on-ground);border:1px solid var(--on-line);border-radius:20px;padding:36px 32px;position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.onion-price:hover{transform:translateY(-5px);box-shadow:var(--on-shadow-lg);border-color:var(--on-line-strong)}
.onion-price.feat{border:2px solid var(--on-copper);box-shadow:var(--on-shadow-lg)}
.onion-price .tag{position:absolute;top:-13px;left:32px;background:var(--on-copper);color:#fff;font-family:var(--on-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:99px;font-weight:500}
.onion-price h3{font-size:1.35rem;margin-bottom:6px}
.onion-price .pdesc{font-size:.9rem;color:var(--on-muted);margin-bottom:22px}
.onion-price .amount{font-family:var(--on-font-display);font-size:3rem;font-weight:800;color:var(--on-navy-deep);letter-spacing:-.03em;line-height:1}
.onion-price .amount small{font-size:.95rem;font-weight:500;color:var(--on-muted);font-family:var(--on-font-body)}
.onion-price .once{font-family:var(--on-font-mono);font-size:.74rem;color:var(--on-copper);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 22px}
.onion-price ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0 0 28px;padding:0}
.onion-price li{display:flex;gap:10px;font-size:.92rem;color:var(--on-ink)}
.onion-price li svg{color:var(--on-copper);flex-shrink:0;margin-top:3px}
.onion-price .btn{margin-top:auto}
.onion-guarantee{text-align:center;margin-top:26px;font-size:.88rem;color:var(--on-muted);display:flex;align-items:center;justify-content:center;gap:8px}
#et-boc a.onion-link{color:var(--on-copper)!important;text-decoration:none!important}
#et-boc a.onion-link:hover{color:#a2551a!important;text-decoration:underline!important}

.onion-price{display:flex;flex-direction:column;}
.onion-price .pdesc{font-size:15px !important;height:3em !important;margin:0 !important;overflow:hidden;}
.onion-price .amount{font-size:48px !important;height:60px !important;line-height:60px !important;margin:8px 0 0 !important;}
.onion-price .once{height:2.6em !important;margin:6px 0 0 !important;}
.onion-price ul{margin-top:14px;}
.onion-price .once{margin:6px 0 20px !important;}

/* ---- CTA band ---- */
.onion-cta-band{background:linear-gradient(120deg,var(--on-navy-deep),var(--on-navy) 60%,#123059);border-radius:26px;padding:60px 48px;text-align:center;color:#fff;position:relative;overflow:hidden}
.onion-cta-band h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.5rem)}
.onion-cta-band p{color:#b9c8e2;max-width:52ch;margin:16px auto 30px;font-size:1.06rem}
.onion-cta-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.onion-cta-band .arc{position:absolute;pointer-events:none;opacity:.16}

/* ---- generic page hero ---- */
.onion-page-hero{background:linear-gradient(180deg,var(--on-warm),var(--on-ground));padding:90px 0 44px;border-bottom:1px solid var(--on-line);width:100vw;margin-left:calc(50% - 50vw)}
.onion-page-hero h1{font-size:clamp(2.1rem,4.4vw,3.1rem);font-weight:800;max-width:16ch;margin:0!important}
.onion-page-hero .onion-lead{margin-top:18px}
.onion-crumb{font-family:var(--on-font-mono);font-size:.74rem;color:var(--on-muted);margin-bottom:18px;text-transform:uppercase;letter-spacing:.04em}
.onion-crumb a:hover{color:var(--on-copper)}

/* ---- about founders ---- */
.onion-founders{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.onion-founder{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);overflow:hidden;transition:box-shadow .2s}
.onion-founder:hover{box-shadow:var(--on-shadow)}
.onion-founder .fimg{aspect-ratio:16/10;overflow:hidden;background:var(--on-warm-2)}
.onion-founder .fimg img{width:100%;height:100%;object-fit:cover}
.onion-founder .fmono{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 30% 20%,#d0823d,#8f4a15)}
.onion-founder .fmono-2{background:radial-gradient(120% 120% at 30% 20%,#123059,#041229)}
.onion-founder .fmono span{font-family:var(--on-font-display);font-weight:800;font-size:3.4rem;color:#fff;letter-spacing:.02em;opacity:.98}
/* circular founder avatar (photo or monogram) */
.onion-founder .favatar{width:134px;height:134px;border-radius:50%;overflow:hidden;margin:32px auto 0;background:#fff;border:4px solid var(--on-warm-2);box-shadow:var(--on-shadow);display:flex;align-items:center;justify-content:center}
.onion-founder .favatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.onion-founder .favatar.fmono-2{background:radial-gradient(120% 120% at 30% 20%,#123059,#041229)}
.onion-founder .favatar span{font-family:var(--on-font-display);font-weight:800;font-size:2.7rem;color:#fff;letter-spacing:.02em}
.onion-founder .fbody{text-align:center}
.onion-founder .fbody p:not(.role){text-align:left}
.onion-founder .chips{justify-content:center}
.onion-founder .fbody{padding:26px}
.onion-founder h3{font-size:1.35rem}
.onion-founder .role{font-family:var(--on-font-mono);font-size:.76rem;color:var(--on-copper);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 14px}
.onion-founder p{font-size:.94rem;color:var(--on-muted);margin-bottom:10px}
.onion-founder .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.onion-chip{font-family:var(--on-font-mono);font-size:.72rem;background:var(--on-warm-2);color:var(--on-navy);padding:4px 10px;border-radius:99px}
.onion-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.onion-split img{border-radius:var(--on-radius);box-shadow:var(--on-shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
.onion-split h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:14px 0 16px}
.onion-split p{color:var(--on-muted);margin-bottom:14px}
.onion-quote{font-family:var(--on-font-display);font-size:1.5rem;font-weight:600;color:var(--on-navy-deep);line-height:1.35;border-left:4px solid var(--on-copper);padding-left:24px;max-width:52ch}

/* ---- feature list (schools/benefits) ---- */
.onion-feat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.onion-fl{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);padding:26px}
.onion-fl .on-ico{margin-bottom:16px}
.onion-fl h3{font-size:1.1rem;margin-bottom:8px}
.onion-fl p{font-size:.92rem;color:var(--on-muted)}
.onion-dofe{background:var(--on-warm);border:1px solid var(--on-line);border-radius:20px;padding:44px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}
.onion-dofe .badge-big{width:120px;height:120px;border-radius:24px;background:var(--on-navy-deep);display:flex;align-items:center;justify-content:center;color:var(--on-copper-soft);flex-shrink:0}

/* DearFlip flipbook embed container */
.onion-flipbook{max-width:920px;margin:32px auto 0}
.onion-flipbook .df-container,.onion-flipbook ._df_book{border-radius:var(--on-radius);overflow:hidden}
.onion-flipbook .df-viewer{background:#FBF6EF !important}

/* ---- articles ---- */
.onion-art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.onion-art-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.onion-art-grid{grid-template-columns:1fr}}
.onion-art{background:var(--on-ground);border:1px solid var(--on-line);border-radius:var(--on-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.onion-art:hover{transform:translateY(-4px);box-shadow:var(--on-shadow-lg)}
.onion-art .athumb{aspect-ratio:16/9;overflow:hidden}
.onion-art .athumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.onion-art:hover .athumb img{transform:scale(1.05)}
.onion-art .abody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.onion-art .cat{font-family:var(--on-font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-copper);text-decoration:none}
.onion-art .cat a{color:var(--on-copper);text-decoration:none}
.onion-art .cat a:hover{color:var(--on-cta-hover)}
.onion-art h3{font-size:1.02rem;line-height:1.25}
.onion-art p{font-size:.83rem;line-height:1.5;color:var(--on-muted);flex:1}
.onion-art .rmore{font-family:var(--on-font-body);font-weight:600;font-size:.82rem;color:var(--on-copper);display:inline-flex;align-items:center;gap:6px;margin-top:2px}
/* (onion-artmore Load-more removed — Articles/category use numbered pagination in part2) */
/* article category filter */
.onion-artfilter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}
.onion-artchip{display:inline-block;font-family:var(--on-font-body);font-weight:600;font-size:.88rem;color:var(--on-muted);background:var(--on-warm);border:1px solid var(--on-line);padding:.5em 1.1em;border-radius:999px;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.onion-artchip:hover{border-color:var(--on-copper);color:var(--on-copper)}
.onion-artchip.active{background:var(--on-cta);border-color:var(--on-cta);color:#fff}
.onion-art[hidden]{display:none}
/* author archive: no sidebar, full-width 3-up grid */
body.author .onion-arts-side{display:none!important}
body.author .onion-arts-layout{grid-template-columns:1fr!important}
body.author .onion-arts-main .onion-art-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:900px){body.author .onion-arts-main .onion-art-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){body.author .onion-arts-main .onion-art-grid{grid-template-columns:1fr!important}}
body.author .et_pb_text h2{font-family:var(--on-font-display)!important;font-weight:800!important;color:var(--on-navy-deep)!important;font-size:clamp(1.6rem,3vw,2.1rem)!important;line-height:1.1!important;letter-spacing:-.02em!important;text-transform:none!important}
/* newsletter band */
.onion-newsletter{background:linear-gradient(120deg,var(--on-navy-deep),var(--on-navy) 60%,#123059);border-radius:24px;padding:34px 40px 32px;display:grid;grid-template-columns:1fr;gap:20px;align-items:start;color:#fff;position:relative;overflow:hidden}
.onion-newsletter h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);margin-top:12px}
.onion-newsletter .onion-eyebrow{color:var(--on-copper-soft)}
.onion-newsletter .onion-eyebrow::before{background:var(--on-copper-soft)}
.onion-newsletter p{color:#b9c8e2;margin-top:12px;font-size:1rem}
@media(max-width:760px){.onion-newsletter{grid-template-columns:1fr;padding:32px 24px}}
/* ---- newsletter Gravity Form (#8): clean vertical stack, submit under fields ---- */
.onion-newsletter .gform_wrapper{margin:0!important;width:100%!important;max-width:100%!important}
.onion-newsletter .gform_wrapper form{margin:0!important}
.onion-newsletter .gform_wrapper .gform-body,.onion-newsletter .gform_wrapper .gform_body{padding:0!important;margin:0!important}
/* fields left (fixed) + privacy terms fill the right column (no void) */
.onion-newsletter .gform_wrapper .gform_fields{display:grid!important;grid-template-columns:minmax(0,440px) minmax(0,1fr)!important;gap:15px 56px!important;align-items:start!important;grid-gap:15px 56px!important}
.onion-newsletter .gform_wrapper .gfield{margin:0!important;padding:0!important;grid-template-columns:none!important}
.onion-newsletter .gform_wrapper .gfield--type-name,.onion-newsletter .gform_wrapper .gfield--type-email,.onion-newsletter .gform_wrapper .gfield--type-turnstile{grid-column:1!important}
.onion-newsletter .gform_wrapper .gfield--type-html{grid-column:2!important;grid-row:1 / span 3!important;align-self:start!important}
@media(max-width:760px){.onion-newsletter .gform_wrapper .gform_fields{grid-template-columns:1fr!important}.onion-newsletter .gform_wrapper .gfield--type-html{grid-column:1!important;grid-row:auto!important}}
/* labels: small + light; required shows as an amber asterisk, not "(Required)" */
.onion-newsletter .gform_wrapper .gfield_label,.onion-newsletter .gform_wrapper legend.gfield_label{display:block!important;font-family:var(--on-font-body)!important;font-size:.78rem!important;font-weight:600!important;color:#dbe6f7!important;margin:0 0 9px!important;padding:0!important}
.onion-newsletter .gform_wrapper .gfield_required_text{font-size:0!important}
.onion-newsletter .gform_wrapper .gfield_required:not(.gfield_required_text)::after{content:"*"!important;color:var(--on-copper-soft)!important;font-size:.95rem!important;margin-left:3px!important;vertical-align:middle!important}
/* name: First / Last side by side, hide the sub-labels */
.onion-newsletter .gform_wrapper .ginput_complex.ginput_container--name{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.onion-newsletter .gform_wrapper .ginput_complex .gform-grid-col{padding:0!important}
.onion-newsletter .gform_wrapper .ginput_complex label{display:none!important}
/* inputs */
.onion-newsletter .gform_wrapper input[type="email"],.onion-newsletter .gform_wrapper input[type="text"]{width:100%!important;padding:12px 16px!important;border-radius:999px!important;border:1.5px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-family:var(--on-font-body)!important;font-size:.95rem!important}
.onion-newsletter .gform_wrapper input::placeholder{color:#9fb2d1!important}
.onion-newsletter .gform_wrapper input[type="email"]:focus,.onion-newsletter .gform_wrapper input[type="text"]:focus{outline:none!important;border-color:var(--on-copper-soft)!important;background:rgba(255,255,255,.12)!important}
/* turnstile widget: breathing room above, contained */
.onion-newsletter .gform_wrapper .gfield--type-turnstile{margin-top:4px!important}
.onion-newsletter .gform_wrapper .ginput_container_turnstile{margin:6px 0 0!important}
/* privacy HTML block: small + muted so it doesn't dominate */
.onion-newsletter .gform_wrapper .gfield_html{margin:0!important}
.onion-newsletter .gform_wrapper .btm-text-block,.onion-newsletter .gform_wrapper .btm-text-block p{max-width:none!important;width:100%!important}
.onion-newsletter .gform_wrapper .btm-text-block{margin-top:30px!important}
.onion-newsletter .gform_wrapper .btm-text-block p{color:#93a7c8!important;font-size:14px!important;line-height:1.55!important;margin:2px 0 0!important}
.onion-newsletter .gform_wrapper .btm-text-block a{color:var(--on-copper-soft)!important}
/* submit: full-width pill under the fields */
.onion-newsletter .gform_footer,.onion-newsletter .gform_wrapper .gform_footer{display:block!important;width:100%!important;max-width:420px!important;margin:16px 0 0!important;padding:0!important}
@media(max-width:760px){.onion-newsletter .gform_footer,.onion-newsletter .gform_wrapper .gform_footer{max-width:100%!important}}
.onion-newsletter .gform_wrapper .gform_button,.onion-newsletter .gform_footer input[type="submit"]{width:100%!important;background:var(--on-cta)!important;color:#fff!important;border:0!important;border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.97rem!important;padding:.85em 1.6em!important;cursor:pointer!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important}
.onion-newsletter .gform_wrapper .gform_button:hover,.onion-newsletter .gform_footer input[type="submit"]:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important}
.onion-newsletter .gform_confirmation_message{color:#cfe3ff!important;font-family:var(--on-font-body)!important;font-size:.95rem!important}
/* errors match the site standard: warm box, dark navy text, red left bar */
.onion-newsletter .gform_wrapper .gform_validation_errors,.onion-newsletter .gform_wrapper .gfield_validation_message,.onion-newsletter .gform_wrapper .validation_message{background:#fdf3f2!important;border:1px solid var(--on-line-strong)!important;border-left:4px solid #d92d20!important;border-radius:10px!important;box-shadow:none!important;color:var(--on-navy-deep)!important;font-family:var(--on-font-body)!important;font-weight:500!important;line-height:1.45!important}
.onion-newsletter .gform_wrapper .gform_validation_errors{padding:13px 16px!important;margin:0 0 18px!important}
.onion-newsletter .gform_wrapper .gform_validation_errors *,.onion-newsletter .gform_wrapper .gform_validation_errors>h2,.onion-newsletter .gform_wrapper .gform_submission_error{color:var(--on-navy-deep)!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.9rem!important;line-height:1.4!important;margin:0!important;display:flex!important;align-items:center!important;gap:8px!important}
.onion-newsletter .gform_wrapper .gform_validation_errors .gform-icon,.onion-newsletter .gform_wrapper .gform_validation_errors svg{display:none!important}
.onion-newsletter .gform_wrapper .gform_validation_errors:focus,.onion-newsletter .gform_wrapper .gform_validation_errors:focus-visible,.onion-newsletter .gform_wrapper .gform_anchor:focus{outline:none!important;box-shadow:none!important}
.onion-newsletter .gform_wrapper .gfield_validation_message,.onion-newsletter .gform_wrapper .validation_message{font-size:.8rem!important;padding:9px 12px!important;margin:7px 0 0!important;display:block!important}

/* ---- glossary ---- */
.onion-gloss-head{background:linear-gradient(180deg,var(--on-warm),var(--on-ground));padding:90px 0 44px;border-bottom:1px solid var(--on-line)}
.onion-gloss-head .onion-wrap{max-width:var(--on-maxw);margin:0 auto;padding:0 24px}
.onion-gloss-head h1{font-size:clamp(2.1rem,4.4vw,3.1rem);font-weight:800;max-width:16ch}
.onion-gloss-head .onion-lead{margin-top:18px}
.onion-gloss-az{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:32px 24px;border-bottom:1px solid var(--on-line);max-width:var(--on-maxw);margin:0 auto}
.onion-gloss-az{display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;padding:24px;border-bottom:1px solid var(--on-line);max-width:100%;margin:0 auto 32px;position:sticky;top:0;background:var(--on-ground);z-index:99;box-shadow:0 4px 12px -6px rgba(0,0,0,.08);overflow-x:auto;-webkit-overflow-scrolling:touch}
.onion-gloss-az a,.onion-gloss-az span{width:34px;height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-family:var(--on-font-mono);font-weight:600;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s}
.onion-gloss-az a{background:var(--on-warm-2);color:var(--on-navy-deep)}
.onion-gloss-az span.is-empty{color:var(--on-line-strong);cursor:default}
.onion-gloss-az a{background:var(--on-warm-2);color:var(--on-navy-deep)}
.onion-gloss-az a:hover{background:var(--on-copper);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px -8px rgba(162,85,26,.6)}
.onion-gloss-az span.is-empty{color:var(--on-line-strong);cursor:default}
.onion-gloss-az a.active{background:var(--on-copper)!important;color:#fff!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important}
.onion-gloss-search{max-width:520px;margin:40px auto 0;padding:0 24px;position:relative}
.onion-gloss-search input{width:100%;padding:13px 16px 13px 42px;border:1.5px solid var(--on-line-strong);border-radius:12px;font-family:var(--on-font-body);font-size:.95rem;background:#fff;color:var(--on-ink)}
.onion-gloss-search input::placeholder{color:var(--on-muted);opacity:.7}
.onion-gloss-search svg{position:absolute !important;left:36px !important;top:50% !important;transform:translateY(-50%) !important;color:var(--on-muted) !important;width:18px !important;height:18px !important;pointer-events:none !important}
.onion-gloss-search button#onionGlossClear{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--on-copper);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px}
.onion-gloss-results{position:absolute;top:calc(100% + 8px);left:24px;right:24px;background:#fff;border:1px solid var(--on-line-strong);border-radius:12px;box-shadow:var(--on-shadow-lg);max-height:400px;overflow-y:auto;z-index:10}
.onion-gloss-results a{display:block;padding:12px 16px;border-top:1px solid var(--on-line);color:var(--on-ink);font-family:var(--on-font-body);font-size:.9rem;text-decoration:none;transition:background .15s}
.onion-gloss-results a:first-child{border-top:0}
.onion-gloss-results a:hover{background:var(--on-warm)}
.onion-gloss-results{scrollbar-width:thin;scrollbar-color:var(--on-line-strong) transparent}
.onion-gloss-results::-webkit-scrollbar{width:6px}
.onion-gloss-results::-webkit-scrollbar-track{background:transparent}
.onion-gloss-results::-webkit-scrollbar-thumb{background:var(--on-line-strong);border-radius:999px}
.onion-gloss-noresult{padding:16px;text-align:center;color:var(--on-muted);font-size:.9rem}
.onion-gloss-search input:focus{outline:none;border-color:var(--on-copper);border-radius:12px}
.onion-gloss-search button#onionGlossClear{position:absolute;right:32px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--on-copper);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:none}
.onion-gloss-body{max-width:var(--on-maxw);margin:0 auto;padding:0 24px 80px}
.onion-gloss-sec{margin-bottom:56px}
.onion-gloss-letter em{display:none}
.onion-gloss-letter{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--on-line-strong)}
.onion-gloss-letter span{font-family:var(--on-font-display);font-size:2rem;font-weight:800;color:var(--on-copper);letter-spacing:-.02em;line-height:1}
.onion-gloss-letter em{font-family:var(--on-font-mono);font-size:.74rem;color:var(--on-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-style:normal}
.onion-gloss-terms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.onion-gloss-terms li a{display:block;padding:8px 0;background:none;border:none;color:var(--on-navy-deep);text-decoration:none;font-size:.95rem;font-weight:400;transition:color .2s}
.onion-gloss-terms li a:hover{color:var(--on-copper);text-decoration:underline}
.onion-gloss-terms li{position:relative;padding-left:14px}
.onion-gloss-terms li{list-style:none;position:relative;padding-left:14px}
.onion-gloss-terms li::before{content:"-";color:var(--on-copper);position:absolute;left:-8px;top:9px;font-size:1rem;line-height:1.4}

/* ---- glossary TERM page (.ot-body): numbered lists (ol) + checkmark lists (ul) match legal/screenshot ---- */
/* NB: single-glossary template wraps content in .ot-body (NOT .onion-gloss-body, which is the A-Z index).
   The block editor outputs BARE <ol>/<ul> here (no wp-block-list class), so target them directly.
   .ot-body is the definition content only, so bare ol/ul is safe. */

/* Ordered lists → copper number badges */
.ot-body ol{  list-style:none!important;  counter-reset:onion-ol!important;  padding:0!important;  margin:16px 0!important;  display:flex!important;  flex-direction:column!important;  gap:14px!important;}
.ot-body ol>li{  counter-increment:onion-ol!important;  position:relative!important;  padding-left:42px!important;  margin:0!important;  color:var(--on-ink)!important;  font-size:1.02rem!important;  line-height:1.7!important;  list-style:none!important;}
.ot-body ol>li::before{  content:counter(onion-ol)!important;  position:absolute!important;  left:0!important;  top:1px!important;  width:27px!important;  height:27px!important;  border-radius:50%!important;  background:var(--on-amber-tint)!important;  color:var(--on-copper)!important;  font-family:var(--on-font-display)!important;  font-weight:700!important;  font-size:.85rem!important;  display:flex!important;  align-items:center!important;  justify-content:center!important;}

/* Unordered lists → copper checkmark badges */
.ot-body ul{  list-style:none!important;  padding:0!important;  margin:16px 0!important;  display:flex!important;  flex-direction:column!important;  gap:10px!important;}
.ot-body ul li{  position:relative!important;  padding-left:34px!important;  margin:0!important;  list-style:none!important;  color:var(--on-ink)!important;  font-size:1.02rem!important;  line-height:1.6!important;}
.ot-body ul li::before{  content:""!important;  position:absolute!important;  left:0!important;  top:2px!important;  width:22px!important;  height:22px!important;  border-radius:50%!important;  background:var(--on-warm-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bd6a25' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center!important;}

/* Pattern B: <p class="wp-block-paragraph">1. text</p> — badge added by the JS in onion-app.js */
.ot-body .wp-block-paragraph.onion-numbered {  position: relative;  padding-left: 42px;  margin: 14px 0;}
.ot-body .wp-block-paragraph.onion-numbered::before {  content: attr(data-number);  position: absolute;  left: 0;  top: 0;  width: 27px;  height: 27px;  border-radius: 50%;  background: var(--on-amber-tint);  color: var(--on-copper);  font-family: var(--on-font-display);  font-weight: 700;  font-size: 0.85rem;  display: flex;  align-items: center;  justify-content: center;}

/* ---- contact ---- */
.onion-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.onion-ci h3{font-size:1.3rem;margin-bottom:10px}
.onion-ci>p{color:var(--on-muted);margin-bottom:24px}
.onion-ci-item{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--on-line)}
.onion-ci-item .on-ico{width:42px;height:42px;border-radius:11px;background:var(--on-amber-tint);color:var(--on-copper)}
.onion-ci-item b{font-family:var(--on-font-display);font-size:.98rem;color:var(--on-navy-deep);display:block}
.onion-ci-item span,.onion-ci-item a{font-size:.9rem;color:var(--on-muted)}
.onion-ci-item a:hover{color:var(--on-copper)}
.et_pb_section:has(.onion),
.et_pb_row:has(.onion),
.et_pb_column:has(.onion){
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* contact form - space between text/chevron and the select edge */
.onion-form-card .ginput_container_select{position:relative;}
.onion-form-card .gform_wrapper select.gfield_select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  padding-right:46px !important;
}
.onion-form-card .ginput_container_select::after{
  content:"";
  position:absolute;
  right:20px;               /* ← space between chevron and edge: change this */
  top:50%;
  width:6px;height:6px;
  border-right:2px solid var(--on-navy);
  border-bottom:2px solid var(--on-navy);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}

/* narrower submit CTA, like the support page */
.onion-form-card .gform_button{width:auto;max-width:280px;display:inline-block;}

/* social icons colour on contact page */
.onion-contact-grid .onion-socials a{background:var(--on-warm-2);color:var(--on-navy);}
.onion-contact-grid .onion-socials a:hover{background:var(--on-copper);color:#fff;}

/* ---- forms (contact / login / account) ---- */
.onion-form-card{background:var(--on-ground);border:1px solid var(--on-line);border-radius:20px;padding:34px;box-shadow:var(--on-shadow)}
.onion-field{margin-bottom:18px}
.onion-field label{display:block;font-size:.85rem;font-weight:600;color:var(--on-navy-deep);margin-bottom:7px}
.onion-field label .req{color:var(--on-coral)}
.onion-field input,.onion-field select,.onion-field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--on-line-strong);border-radius:10px;font-family:var(--on-font-body);font-size:.96rem;background:#fff;transition:border-color .18s;color:var(--on-ink)}
.onion-field input:focus,.onion-field select:focus,.onion-field textarea:focus{outline:none;border-color:var(--on-copper)}
.onion-field textarea{resize:vertical;min-height:120px}
.onion-input-wrap{position:relative}
.onion-input-wrap .field-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--on-muted);pointer-events:none}
.onion-input-wrap input{padding-left:44px}
.onion-input-wrap .toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--on-muted);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px}
.onion-input-wrap .toggle-pw:hover{color:var(--on-copper);background:var(--on-warm)}
.onion-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.onion-form-note{font-size:.82rem;color:var(--on-muted);margin-top:4px}
.onion-check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.onion-check{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--on-muted)}
.onion-check input{width:16px;height:16px;accent-color:var(--on-copper)}
.onion-link-copper{color:var(--on-copper);font-weight:600;font-size:.88rem}
.onion-link-copper:hover{text-decoration:underline}

/* ---- Gravity Forms skin (contact form, id 1 and support id 9) ---- */
.onion-form-card .gform_wrapper{margin:0}
.onion-form-card .gform_heading{display:none}
.onion-form-card .gform_wrapper .gform_fields{display:flex;flex-direction:column;gap:18px}
.onion-form-card .gform_wrapper .gfield_label,
.onion-form-card .gform_wrapper legend.gfield_label{font-family:var(--on-font-body)!important;font-size:.85rem!important;font-weight:600!important;color:var(--on-navy-deep)!important;margin-bottom:7px!important}

/* Parent container styling */
.onion-form-card .gform_wrapper .gfield_required {
  font-size: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Inject single custom asterisk on the parent only */
.onion-form-card .gform_wrapper span.gfield_required::before {
  content: "*" !important;
  font-size: 0.85rem !important;
  color: var(--on-coral) !important;
}

/* Completely suppress inner nested span and pseudo-elements */
.onion-form-card .gform_wrapper .gfield_required .gfield_required,
.onion-form-card .gform_wrapper .gfield_required::after,
.onion-form-card .gform_wrapper .gfield_required .gfield_required::before {
  display: none !important;
  content: "" !important;
}



.onion-form-card .gform_wrapper input[type=text],
.onion-form-card .gform_wrapper input[type=email],
.onion-form-card .gform_wrapper input[type=tel],
.onion-form-card .gform_wrapper input[type=url],
.onion-form-card .gform_wrapper input[type=number],
.onion-form-card .gform_wrapper select,
.onion-form-card .gform_wrapper textarea{
  width:100%!important;padding:12px 14px!important;border:1.5px solid var(--on-line-strong)!important;
  border-radius:10px!important;font-family:var(--on-font-body)!important;font-size:.96rem!important;
  background:#fff!important;color:var(--on-ink)!important;transition:border-color .18s!important;box-shadow:none!important}
.onion-form-card .gform_wrapper input:focus,
.onion-form-card .gform_wrapper select:focus,
.onion-form-card .gform_wrapper textarea:focus{outline:none!important;border-color:var(--on-cta)!important;box-shadow:none!important}
.onion-form-card .gform_wrapper textarea{min-height:120px!important;resize:vertical!important}
.onion-form-card .gform_wrapper .ginput_complex label,
.onion-form-card .gform_wrapper .gform_fileupload_rules,
.onion-form-card .gform_wrapper .gfield_description{font-family:var(--on-font-body)!important;color:var(--on-muted)!important;font-size:.8rem!important}
.onion-form-card .gform_footer{padding:22px 0 0!important;margin:0!important}
.onion-form-card .gform_wrapper .gform_footer input[type=submit],
.onion-form-card .gform_wrapper .gform-button,
.onion-form-card .gform_wrapper button.gform_button{
  background:var(--on-cta)!important;color:#fff!important;border:none!important;border-radius:999px!important;
  font-family:var(--on-font-body)!important;font-weight:600!important;font-size:1.02rem!important;
  padding:.95em 1.8em!important;width:100%!important;cursor:pointer!important;
  box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important;transition:background .18s,transform .18s!important}
.onion-form-card .gform_wrapper .gform_footer input[type=submit]:hover,
.onion-form-card .gform_wrapper button.gform_button:hover{background:var(--on-cta-hover)!important;transform:translateY(-2px)!important}
.onion-form-card .gform_wrapper .gfield_error input,
.onion-form-card .gform_wrapper .gfield_error textarea{border-color:var(--on-coral)!important}
.onion-form-card .gform_wrapper .validation_message,
.onion-form-card .gform_wrapper .gfield_validation_message{color:var(--on-coral)!important;font-size:.8rem!important;background:none!important;border:none!important;padding:4px 0 0!important}
.onion-form-card .gform_wrapper .gform_validation_errors{border:1px solid var(--on-coral)!important;border-radius:10px!important;background:#fff5f5!important;box-shadow:none!important}
.onion-form-card .gform_confirmation_message{color:var(--on-green);font-weight:600;font-family:var(--on-font-body)}
.onion-form-card .gform_wrapper .ginput_complex{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.onion-form-card .gform_wrapper .ginput_complex span{display:block}
.onion-form-card .gform_wrapper .ginput_complex label{font-size:.75rem!important;color:var(--on-muted)!important;margin-top:5px!important;display:block}
@media(max-width:480px){.onion-form-card .gform_wrapper .ginput_complex{grid-template-columns:1fr}}

/* ---- FAQ ---- */
.onion-faq{max-width:820px;margin:0 auto}
.onion-faq-item{border-bottom:1px solid var(--on-line)}
.onion-faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-family:var(--on-font-display);font-weight:600;font-size:1.1rem;color:var(--on-navy-deep)}
.onion-faq-q .pm{width:26px;height:26px;border-radius:50%;background:var(--on-warm-2);color:var(--on-copper);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s;font-family:var(--on-font-body)}
.onion-faq-item.open .onion-faq-q .pm{transform:rotate(45deg);background:var(--on-copper);color:#fff}
.onion-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.onion-faq-a p{padding-bottom:22px;color:var(--on-muted);font-size:.96rem}
/* FAQ tab toggle (clean split: General / Schools) */
.onion-faqtabs-wrap{text-align:center;margin-bottom:44px}
.onion-faqtabs{display:inline-flex;background:var(--on-warm);border:1px solid var(--on-line);border-radius:999px;padding:5px;gap:4px}
.onion-faqtab{font-family:var(--on-font-body);font-weight:600;font-size:.94rem;color:var(--on-muted);padding:.6em 1.5em;border-radius:999px;cursor:pointer;transition:background .18s,color .18s;background:none;border:none}
.onion-faqtab:hover{color:var(--on-navy-deep)}
.onion-faqtab.active{background:var(--on-cta);color:#fff}
.onion-faqpane{display:none}
.onion-faqpane.active{display:block;animation:onion-fade .35s ease}


/* ========================================================================
   SECTION 5: SITE-WIDE RULES RESCUED FROM THE LIFTERLMS SNIPPETS
   These apply to the header, footer, Divi rows, the Members access-denied
   screen and Select2 dropdowns. They are NOT LifterLMS specific and must
   load on every page. Moved here 16 September 2026.
   ======================================================================== */

/* "Course or Membership" select2 + native select — match body text size */
.llms-group-content .select2-container .select2-selection__rendered,
.llms-group-content .select2-selection__rendered,
.llms-group-content .select2-search__field,
.llms-group-content select,
.select2-results__option{font-family:var(--on-font-body)!important;font-size:15px!important;color:var(--on-ink)!important;line-height:1.5!important}
/* left padding on dropdown option text (quiz attempts, checkout country, DofE) */
.select2-container--default .select2-results__option{padding-left:16px!important}
/* ---- access-denied / enrol card (members-access-error + course-enrol notice) ---- */
.members-access-error{max-width:560px!important;margin:48px auto!important;background:var(--on-ground)!important;border:1px solid var(--on-line)!important;border-radius:20px!important;box-shadow:var(--on-shadow)!important;padding:44px 40px!important;text-align:center!important;font-family:var(--on-font-body)!important;list-style:none!important}
.members-access-error .ma-lock{width:64px!important;height:64px!important;border-radius:16px!important;background:var(--on-amber-tint)!important;color:var(--on-copper)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 20px!important}
.members-access-error h2{font-family:var(--on-font-display)!important;color:var(--on-navy-deep)!important;font-size:1.6rem!important;margin:0 0 12px!important;letter-spacing:-.02em!important}
.members-access-error p{font-family:var(--on-font-body)!important;color:var(--on-muted)!important;font-size:1rem!important;line-height:1.6!important;margin:0 auto 26px!important;max-width:44ch!important}
.members-access-error .ma-actions{display:flex!important;gap:12px!important;justify-content:center!important;flex-wrap:wrap!important}
.members-access-error .ma-primary,.members-access-error .ma-ghost{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:48px!important;padding:0 26px!important;border-radius:999px!important;font-family:var(--on-font-body)!important;font-weight:600!important;font-size:.97rem!important;text-decoration:none!important;transition:background .18s,transform .18s,color .18s,border-color .18s!important}
.members-access-error .ma-primary{background:var(--on-cta)!important;color:#fff!important;border:0!important;box-shadow:0 8px 20px -8px rgba(162,85,26,.6)!important}
.members-access-error .ma-primary:hover{background:var(--on-cta-hover)!important;color:#fff!important;transform:translateY(-2px)!important}
.members-access-error .ma-ghost{background:transparent!important;color:var(--on-navy-deep)!important;border:1.5px solid var(--on-line-strong)!important}
.members-access-error .ma-ghost:hover{border-color:var(--on-copper)!important;color:var(--on-copper)!important;background:var(--on-amber-tint)!important;transform:translateY(-2px)!important}
/* mobile: card was edge-to-edge (margin auto = 0 side gap) — add side margins + trim padding */
@media(max-width:600px){.members-access-error{margin:32px 16px!important;padding:34px 24px!important}}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--on-copper-soft)!important;color:var(--on-navy-deep)!important}
/* select2 dropdown + search box: give the search field breathing room so it doesn't overlap the edges */
.select2-dropdown{border:1px solid var(--on-line-strong)!important;border-radius:12px!important;overflow:hidden!important;box-shadow:var(--on-shadow-lg)!important}
.select2-search--dropdown{padding:10px!important}
.select2-search--dropdown .select2-search__field{border:1.5px solid var(--on-line-strong)!important;border-radius:10px!important;padding:9px 12px!important;font-family:var(--on-font-body)!important;font-size:14px!important;outline:none!important;box-shadow:none!important}
.select2-search--dropdown .select2-search__field:focus{border-color:var(--on-copper)!important}
/* Spacing around the per-course report buttons */
#onion-report-actions-bottom { margin-top: 24px; }
#onion-report-actions-top { margin-bottom: 16px; }
/* login cta font colour */
#et-boc .onion-header a.btn.btn-primary,
#et-boc .onion-header a.btn.btn-primary:hover{color:#fff!important}
/* Course/lesson pages: stop header + footer links going blue */
html body .onion-header a:not(.onion-iconlink):not(.onion-brand){color:#c3d0e6!important}
html body .onion-header a:not(.onion-iconlink):not(.onion-brand):hover{color:#fff!important}
html body .onion-header .onion-links a.active,
html body .onion-header .onion-textlink.active{color:#fff!important}
html body .onion-footer a,
html body .onion-footer .onion-foot-col a{color:#a9b8d2!important}
html body .onion-footer a:hover,
html body .onion-footer .onion-foot-col a:hover{color:#fff!important}
/* Active header link must beat the blue-link override */
html body .onion-header .onion-links a.active,
html body .onion-header .onion-navcta a.active,
html body .onion-header a.onion-textlink.active{color:#fff!important}
html body .onion-footer .onion-foot-col h4{
  color:var(--on-copper-soft)!important;
  font-family:var(--on-font-mono)!important;
  font-weight:500!important;font-size:.74rem!important;
  text-transform:uppercase!important;letter-spacing:.07em!important;
}
#et-boc .et-l .et_pb_row.onion-support,
#et-boc .et-l .et_pb_row:has(.et_pb_accordion),
#et-boc .et-l .et_pb_row:has(.gform_wrapper){
  max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
