/* 2. FIX FONT COLORS (REMOVES THE BLUE/PINK) */
/* Product titles in cart */
.woocommerce-cart-form td.product-name a {
    color: #1B2B4B !important;
    text-decoration: none !important;
}

/* 3. FIX CHECKOUT BUTTON TEXT */
/* Force the text to be white and centered */
.checkout-button, 
.button.alt.wc-forward {
    color: #ffffff !important;
    text-decoration: none !important;
    background-color: #1B2B4B !important; /* Matches your brand */
    display: block !important;
    text-align: center !important;
}

/* 4. REMOVE ACCESSIBILITY WIDGET (IF PLUGIN IS STUBBORN) */
/* This hides common accessibility icons if you can't find the plugin */
.uway, #wp-accessibility-toolbar, .skipto, .oneclick-accessibility-modules {
    display: none !important;
}

/* ============================================================
   RESEARCH ARTICLES — readability + rhythm (single posts only)
   ============================================================ */
body.single-post .entry-content,
body.single-post .page-content{
  max-width:44rem;margin-left:auto;margin-right:auto;
  font-size:1.075rem;line-height:1.78;color:#23303f;
}
body.single-post .entry-title,
body.single-post h1.entry-title{
  max-width:44rem;margin:0 auto .35em;line-height:1.18;
  letter-spacing:-.02em;color:#132033;
}
body.single-post .entry-content > p{margin:0 0 1.35em}
body.single-post .entry-content h2{
  max-width:44rem;margin:2.4em auto .7em;font-size:1.6rem;line-height:1.25;
  letter-spacing:-.015em;color:#1B2B4B;padding-top:.55em;
  border-top:1px solid #e6eaef;
}
body.single-post .entry-content h2:first-of-type{border-top:0;padding-top:0;margin-top:1.2em}
body.single-post .entry-content h3{
  max-width:44rem;margin:1.9em auto .55em;font-size:1.16rem;color:#1B2B4B;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol{
  max-width:44rem;margin:0 auto 1.5em;padding-left:1.3em;
}
body.single-post .entry-content li{margin-bottom:.65em;padding-left:.2em}
body.single-post .entry-content strong{color:#132033;font-weight:650}

/* opening summary reads as a lede */
body.single-post .entry-content h2:first-of-type + p{
  font-size:1.19rem;line-height:1.65;color:#3a4757;
  border-left:3px solid #1B2B4B;padding:2px 0 2px 1.05rem;margin-bottom:1.6em;
}

/* hero image */
body.single-post .ra-hero{margin:0 auto 2.2em;max-width:44rem}
body.single-post .ra-hero img{
  width:100%;height:auto;border-radius:6px;display:block;
}

/* key-points callout */
body.single-post .ra-key{
  max-width:44rem;margin:2em auto;background:#f5f8fb;border:1px solid #dfe7ef;
  border-radius:6px;padding:1.25rem 1.5rem;
}
body.single-post .ra-key p{
  margin:0 0 .5em;font-size:.78rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:#5b6a7d;
}
body.single-post .ra-key ul{margin:0;padding-left:1.15em}
body.single-post .ra-key li{font-size:.985rem;margin-bottom:.45em;color:#33404f}

/* research-use-only notice */
body.single-post .ra-note{
  max-width:44rem;margin:2.6em auto 1em;background:#fbfaf6;
  border:1px solid #e8e2d2;border-left:4px solid #b8873b;border-radius:5px;
  padding:1.15rem 1.4rem;
}
body.single-post .ra-note h2{
  border:0;padding:0;margin:0 0 .45em;font-size:.8rem;letter-spacing:.13em;
  text-transform:uppercase;color:#8a6a2c;
}
body.single-post .ra-note p{font-size:.93rem;line-height:1.62;color:#54504a;margin:0}

/* image credit */
body.single-post .ra-credit{
  max-width:44rem;margin:2em auto 0;padding-top:.85em;
  border-top:1px solid #e6eaef;font-size:.82rem;color:#79838f;
}
body.single-post .ra-credit a{color:#79838f;text-decoration:underline}

@media (max-width:600px){
  body.single-post .entry-content,
  body.single-post .page-content{font-size:1.02rem;line-height:1.72}
  body.single-post .entry-content h2{font-size:1.34rem;margin-top:2em}
  body.single-post .entry-content h2:first-of-type + p{font-size:1.08rem}
}

/* Product description container fe3b7399: match the responsive padding used by
   the other containers in Single Product template 532 (80 / 40 / 20). */
@media (max-width:1024px){
  .elementor-element-fe3b7399{padding-left:40px !important;padding-right:40px !important}
}
@media (max-width:767px){
  .elementor-element-fe3b7399{padding-left:20px !important;padding-right:20px !important}
}

/* === Core mobile fixes 2026-08-08 === */
/* 1. Cart: this install renders the update button with an empty label, so it
      shows as a blank box. Label it without double-labelling if it ever fills. */

/* 2. Cart: the responsive table prints attr(data-title) ": " on every cell.
      Cells with no data-title (the thumbnail) render a stray colon. */
@media screen and (max-width:768px){
  .woocommerce table.shop_table_responsive tr td:not([data-title])::before,
  .woocommerce-page table.shop_table_responsive tr td:not([data-title])::before{
    content:"" !important;
  }
}

/* 4. Checkout "Your order" summary on phones. Was: dotted rules, price
      vertically misaligned from the product name, an orphaned "x 1" row, and a
      total at the same weight as everything else. Uses Core's own brand tokens
      (accent #33bae9, ink #1a1e23), not the Jak Ops palette. */
@media screen and (max-width:767px){
  /* CartFlows ships its own table rules, so these need !important to land. */
  .woocommerce-checkout-review-order-table,
  .woocommerce-checkout-review-order-table.cartflows_table{
    background:#fff !important;border:1px solid #e6e8ec !important;
    border-radius:10px !important;padding:2px 14px 6px !important;
    font-size:15px !important;border-collapse:collapse !important;
  }
  .woocommerce-checkout-review-order-table tr,
  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td{
    border-width:0 0 1px 0 !important;border-style:solid !important;
    border-color:#eef0f4 !important;
    padding:13px 0 !important;vertical-align:middle !important;
  }
  /* column headers: quieter, so the products lead */
  .woocommerce-checkout-review-order-table thead th{
    font-size:11px;letter-spacing:.08em;text-transform:uppercase;
    color:#8a929c;font-weight:600;padding-bottom:8px !important;
  }
  /* product cell becomes thumb | (name over qty) */
  .woocommerce-checkout-review-order-table tr.cart_item td.product-name{
    display:flex !important;align-items:center;gap:12px;line-height:1.35;
  }
  .woocommerce-checkout-review-order-table tr.cart_item td.product-name img{
    width:54px;height:54px;flex:0 0 54px;margin:0 !important;
    object-fit:cover;border-radius:8px;border:1px solid #eef0f4;
  }
  /* CartFlows sets this strong to display:flex, which forces it onto its own
     line. Block keeps it tucked under the product name. */
  .woocommerce-checkout-review-order-table .product-quantity{
    display:block !important;font-size:13px;font-weight:400;color:#6b7280;
    margin:2px 0 0 !important;
  }
  .woocommerce-checkout-review-order-table td.product-total{
    text-align:right;white-space:nowrap;font-weight:600;color:#1a1e23;
  }
  /* money rows */
  .woocommerce-checkout-review-order-table tr.cart-subtotal th,
  .woocommerce-checkout-review-order-table tr.cart-shipping th{
    font-weight:400;color:#5b636d;
  }
  .woocommerce-checkout-review-order-table tr.cart-subtotal td,
  .woocommerce-checkout-review-order-table tr.cart-shipping td{
    text-align:right;color:#1a1e23;
  }
  .woocommerce-checkout-review-order-table tr.cart-shipping td{
    font-size:13px;line-height:1.4;
  }
  /* the total is the number that matters */
  .woocommerce-checkout-review-order-table tr.order-total th,
  .woocommerce-checkout-review-order-table tr.order-total td{
    border-bottom:none !important;padding-top:15px !important;
    font-size:19px;font-weight:700;color:#1a1e23;
  }
  .woocommerce-checkout-review-order-table tr.order-total td{text-align:right}
  .woocommerce-checkout-review-order-table tr.order-total .amount{color:#1a1e23}
}

/* 5. Shop: two products per row on phones so the range is scannable. */
@media screen and (max-width:767px){
  .woocommerce ul.products.elementor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:12px;row-gap:24px;
  }
  /* Elementor sets 25px here, which wraps to 3 lines in a 220px card. */
  .woocommerce ul.products li.product h2.woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:17px !important;line-height:1.3 !important;
  }
  .woocommerce ul.products li.product .price{font-size:16px !important}
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .button{
    width:100%;min-height:44px !important;
    display:flex;align-items:center;justify-content:center;
    padding-left:8px !important;padding-right:8px !important;
    font-size:14px !important;
  }
}

/* === Core cart rebuild 2026-08-10 === */
/* Scoped to the basket page so nothing here leaks onto other templates. */

/* Safe replacement for the old html,body{overflow-x:hidden !important}.
   `clip` contains overflow WITHOUT creating a scroll container, so the
   sticky summary rail keeps working. */
.woocommerce-cart{overflow-x:clip}

/* ---------- shared shell for the three cart sections ---------- */
.woocommerce-cart .e-cart__container{gap:22px}
.woocommerce-cart .e-shop-table.e-cart-section,
.woocommerce-cart .coupon.e-cart-section,
.woocommerce-cart .e-cart-totals,
.woocommerce-cart .core-card{
  background:#fff;border:1px solid #e6e8ec;border-radius:8px;
}
.woocommerce-cart .core-card{padding:16px 18px;margin-top:14px}
.woocommerce-cart .core-card-h{
  display:flex;align-items:center;gap:8px;margin:0 0 12px;
  font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#1a1e23;
}

/* ---------- line items (desktop) ---------- */
.woocommerce-cart table.cart thead th{
  font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  color:#8a929c;font-weight:700;border-bottom:1px solid #e6e8ec;padding-bottom:10px;
}
.woocommerce-cart table.cart td{
  border-bottom:1px solid #eef0f4;padding:16px 10px;vertical-align:middle;
}
.woocommerce-cart table.cart tr:last-child td{border-bottom:0}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #eef0f4;
}
.woocommerce-cart table.cart td.product-name a{font-weight:700;line-height:1.3}
.woocommerce-cart table.cart td.product-subtotal{font-weight:700;white-space:nowrap}
.woocommerce-cart table.cart td.actions{border-bottom:0;padding:0}

/* ---------- quantity stepper (buttons injected by the snippet) ---------- */
.woocommerce-cart .quantity{display:inline-flex;align-items:center}
.woocommerce-cart .quantity.core-stepper{
  border:1px solid #e6e8ec;border-radius:999px;overflow:hidden;background:#fff;
}
.woocommerce-cart .quantity.core-stepper .core-step{
  width:34px;height:34px;border:0;background:transparent;color:#1a1e23;
  font-size:17px;line-height:1;cursor:pointer;padding:0;
}
.woocommerce-cart .quantity.core-stepper .core-step:hover{background:#eef8fd;color:#1ea8db}
.woocommerce-cart .quantity.core-stepper .core-step:disabled{opacity:.35;cursor:default}
.woocommerce-cart .quantity.core-stepper input.qty{
  width:38px !important;min-width:0 !important;border:0 !important;
  text-align:center;font-weight:700;font-size:14px;background:transparent;
  -moz-appearance:textfield;padding:0 !important;height:34px !important;
  min-height:0 !important;
}
.woocommerce-cart .quantity.core-stepper input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity.core-stepper input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}

/* ---------- spend progress ---------- */
.woocommerce-cart .core-prog{
  background:linear-gradient(180deg,#f2fbff,#fff);border-color:#bfe7f7;
}
.woocommerce-cart .core-prog.is-done{
  background:linear-gradient(180deg,#eefaf3,#fff);border-color:#bfe6d2;
}
.woocommerce-cart .core-prog-top{
  display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;line-height:1.35;
}
.woocommerce-cart .core-prog-top svg{width:19px;height:19px;color:#33bae9;flex:0 0 19px}
.woocommerce-cart .core-prog.is-done .core-prog-top svg{color:#2c8f5b}
.woocommerce-cart .core-track{
  height:8px;border-radius:999px;background:#e3edf2;overflow:hidden;margin-top:11px;
}
.woocommerce-cart .core-fill{
  height:100%;border-radius:999px;background:linear-gradient(90deg,#33bae9,#1ea8db);
  transition:width .45s ease;
}
.woocommerce-cart .core-prog.is-done .core-fill{background:linear-gradient(90deg,#3aa76d,#2c8f5b)}
.woocommerce-cart .core-track-l{
  display:flex;justify-content:space-between;font-size:11px;color:#6b7280;
  margin-top:5px;font-weight:600;font-variant-numeric:tabular-nums;
}

/* ---------- cross sell strip ---------- */
.woocommerce-cart .core-xs{
  display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #eef0f4;
}
.woocommerce-cart .core-xs:last-child{border-bottom:0;padding-bottom:0}
.woocommerce-cart .core-xs img{
  width:46px;height:46px;flex:0 0 46px;object-fit:cover;
  border-radius:6px;border:1px solid #eef0f4;
}
.woocommerce-cart .core-xs-b{flex:1;min-width:0}
.woocommerce-cart .core-xs-b .nm{
  font-weight:700;font-size:13px;line-height:1.3;display:block;color:#1a1e23;
  text-decoration:none;
}
.woocommerce-cart .core-xs-b .nm:hover{color:#1ea8db}
.woocommerce-cart .core-xs-b .pr{
  font-size:12.5px;color:#6b7280;margin-top:1px;font-variant-numeric:tabular-nums;
}
.woocommerce-cart .core-xs-add{
  width:36px;height:36px;flex:0 0 36px;border-radius:50%;
  border:1px solid #1b2b4b;background:#1b2b4b;color:#fff;
  font-size:19px;line-height:1;cursor:pointer;padding:0;
  display:grid;place-items:center;text-decoration:none;
}
.woocommerce-cart .core-xs-add:hover{background:#33bae9;border-color:#33bae9;color:#fff}
.woocommerce-cart .core-xs-add.is-loading{opacity:.5;pointer-events:none}
.woocommerce-cart .core-xs-add.is-in{
  background:#eaf7ee;border-color:#bfe0c9;color:#2c8f5b;font-size:15px;cursor:default;
}

/* ---------- trust rail + payment ---------- */
.woocommerce-cart .core-tp{display:flex;align-items:center;gap:8px}
.woocommerce-cart .core-stars{display:flex;gap:1px}
.woocommerce-cart .core-stars svg{width:14px;height:14px;color:#00b67a}
.woocommerce-cart .core-tp .sc{font-weight:800;font-size:13px}
.woocommerce-cart .core-tp .ct{font-size:11.5px;color:#6b7280}
.woocommerce-cart .core-promise{
  display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #eef0f4;
}
.woocommerce-cart .core-promise:last-child{border-bottom:0}
.woocommerce-cart .core-promise svg{width:17px;height:17px;color:#33bae9;flex:0 0 17px;margin-top:2px}
.woocommerce-cart .core-promise .t{font-size:12.5px;font-weight:700;line-height:1.35}
.woocommerce-cart .core-promise .d{font-size:11.5px;color:#6b7280;line-height:1.4;margin-top:1px}
.woocommerce-cart .core-pay{
  display:flex;gap:9px;align-items:flex-start;padding:10px;
  border:1px solid #e6e8ec;border-radius:6px;background:#fafbfc;
}
.woocommerce-cart .core-pay svg{width:20px;height:20px;color:#1b2b4b;flex:0 0 20px;margin-top:1px}
.woocommerce-cart .core-pay .t{font-size:12.5px;font-weight:700}
.woocommerce-cart .core-pay .d{font-size:11.5px;color:#6b7280;line-height:1.4;margin-top:1px}

/* ---------- coupon collapse ---------- */
.woocommerce-cart .coupon.e-cart-section.core-collapsed .form-row{display:none}
.woocommerce-cart .core-coupon-toggle{
  background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:700;
  color:#33bae9;cursor:pointer;text-decoration:underline;text-underline-offset:2px;
}
.woocommerce-cart .coupon.e-cart-section{padding:14px 18px}

/* ---------- phones: line items become cards ---------- */
@media screen and (max-width:767px){
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody{display:block;width:100%}
  .woocommerce-cart table.cart tr.cart_item{
    display:grid;
    grid-template-columns:64px 1fr auto;
    grid-template-areas:
      "thumb name   remove"
      "thumb qty    total";
    gap:4px 12px;align-items:center;
    padding:14px 0;border-bottom:1px solid #eef0f4;
  }
  /* WooCommerce's own small-screen sheet sets `display:block !important` and
     `text-align:right !important` on every cell of a responsive shop table.
     That right-aligns the product name and drags the price column back into
     view, so these have to answer in kind. */
  .woocommerce-cart table.cart tr.cart_item td{
    display:block !important;border:0;padding:0;width:auto;
    text-align:left !important;
  }
  .woocommerce-cart table.cart tr.cart_item td.product-subtotal,
  .woocommerce-cart table.cart tr.cart_item td.product-remove{
    text-align:right !important;
  }
  /* the responsive table prints attr(data-title) before every cell; the card
     layout labels itself, so suppress them all here rather than one by one. */
  .woocommerce-cart table.cart tr.cart_item td::before{content:"" !important;display:none !important}
  .woocommerce-cart table.cart tr.cart_item td.product-thumbnail{grid-area:thumb}
  .woocommerce-cart table.cart tr.cart_item td.product-name{grid-area:name}
  .woocommerce-cart table.cart tr.cart_item td.product-quantity{grid-area:qty}
  .woocommerce-cart table.cart tr.cart_item td.product-subtotal{grid-area:total;text-align:right}
  .woocommerce-cart table.cart tr.cart_item td.product-remove{grid-area:remove;text-align:right}
  /* Price column is redundant on a card: the line total already shows it.
     This has to carry `tr.cart_item` too, otherwise the rule above it scores
     (0,3,3) against this one's (0,3,2) and quietly wins the display fight. */
  .woocommerce-cart table.cart tr.cart_item td.product-price{display:none !important}
  .woocommerce-cart table.cart td.product-thumbnail img{
    width:64px !important;height:64px !important;max-width:none !important;
    display:block !important;
  }
  .woocommerce-cart table.cart td.product-name a{
    font-size:14px;line-height:1.3;display:inline-block;
  }
  /* the money on a card row should read as the line total, not a column */
  .woocommerce-cart table.cart td.product-subtotal{
    font-weight:700;white-space:nowrap;align-self:center;
  }
  .woocommerce-cart a.remove{
    display:inline-flex !important;align-items:center;justify-content:center;
    width:34px !important;height:34px !important;line-height:1 !important;
    font-size:20px !important;
  }
  .woocommerce-cart .e-shop-table.e-cart-section{padding:4px 14px}
  .woocommerce-cart .core-card{padding:14px 16px}
  /* keep the checkout button reachable without hunting */
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button{width:100%}
}

/* === Core checkout rebuild 2026-08-10 === */
/* Scoped to the CartFlows checkout step (503) via the body class, so none of
   this can leak onto another template. */

/* 1. LIVE BUG. The Fena gateway prints a <style> element inside its own
      payment label. Something on this page makes style elements visible, so
      the raw stylesheet text rendered on screen next to the payment option a
      customer is about to choose. */
.elementor-page-503 .wc_payment_method label style{display:none !important}

/* 2. The order summary sat underneath a 394px upsell, so while a customer
      filled in the form they could not see what they were buying or what it
      cost. wcf-order-wrap is the right column and ships the upsell first.
      inline-flex keeps CartFlows' inline-block column behaviour intact (the
      column's measured position is unchanged) while `order` moves the summary
      up. Doing it in CSS rather than moving DOM means it survives the
      checkout's AJAX refreshes. */
.elementor-page-503 .wcf-order-wrap{
  display:inline-flex !important;flex-direction:column;vertical-align:top;
}
.elementor-page-503 .wcf-order-wrap > h3{order:1;margin-top:0}
.elementor-page-503 .wcf-order-wrap > .woocommerce-checkout-review-order{order:2}
.elementor-page-503 .wcf-order-wrap > .wpcuf-uf-wrap{
  order:3;margin-top:20px;padding-top:18px;border-top:1px solid #e6e8ec;
}
/* the upsell was the hero of the page; make it a footnote to the order */
.elementor-page-503 .wpcuf-uf-wrap h2,
.elementor-page-503 .wpcuf-uf-wrap h3{font-size:14px !important;line-height:1.35 !important}
.elementor-page-503 .wpcuf-uf-wrap img{max-height:96px !important;width:auto !important}

/* 3. 327px of logo and heading before anything happened. */
.elementor-page-503 .elementor-element-1aab38c img{max-height:52px !important;width:auto !important}
.elementor-page-503 .elementor-element-1aab38c{margin-bottom:2px !important}
.elementor-page-503 .elementor-element-395ab44{padding-top:16px !important;padding-bottom:10px !important}
.elementor-page-503 .elementor-element-9b99f98{margin-bottom:6px !important}
.elementor-page-503 .elementor-element-9b99f98 h1,
.elementor-page-503 .elementor-element-9b99f98 h2{
  font-size:28px !important;line-height:1.15 !important;margin:0 !important;
}

/* 4. The three trust lines were #869498 on near-white, effectively invisible.
      They are painted through -webkit-text-fill-color, which overrides `color`
      entirely, so setting `color` alone does nothing here. */
.elementor-page-503 .elementor-element-8be2474 .elementor-icon-list-text,
.elementor-page-503 .elementor-element-8be2474 .elementor-icon-list-item{
  color:#1b2b4b !important;-webkit-text-fill-color:#1b2b4b !important;
  font-weight:600 !important;
}
.elementor-page-503 .elementor-element-8be2474 .elementor-icon-list-icon svg{fill:#33bae9 !important}
.elementor-page-503 .elementor-element-8be2474 .elementor-icon-list-icon i{color:#33bae9 !important}

/* 5. Keep the total in view while the form is filled in. */
@media screen and (min-width:1025px){
  .elementor-page-503 .wcf-order-wrap > .woocommerce-checkout-review-order{
    position:sticky;top:16px;
  }
}

/* 6. The short "before you pay" card injected by the HTML widget on step 503. */
.elementor-page-503 .core-co-card{
  background:#fff;border:1px solid #e6e8ec;border-radius:8px;
  padding:14px 16px;margin-top:14px;
}
.elementor-page-503 .core-co-card h4{
  margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#1a1e23;
}
.elementor-page-503 .core-co-row{
  display:flex;gap:9px;align-items:flex-start;padding:8px 0;
  border-bottom:1px solid #eef0f4;
}
.elementor-page-503 .core-co-row:last-child{border-bottom:0;padding-bottom:0}
.elementor-page-503 .core-co-row svg{
  width:17px;height:17px;color:#33bae9;flex:0 0 17px;margin-top:2px;
}
.elementor-page-503 .core-co-row .t{font-size:12.5px;font-weight:700;line-height:1.35;color:#1a1e23}
.elementor-page-503 .core-co-row .d{font-size:11.5px;color:#6b7280;line-height:1.4;margin-top:1px}

/* 7. Cards, so the two halves of the page read as objects rather than a wall
      of inputs. The billing wrapper is already display:flex, which is what
      makes the reorder below possible. */
.elementor-page-503 .woocommerce-billing-fields{
  background:#fff;border:1px solid #e6e8ec;border-radius:8px;padding:18px 20px 6px;
}
.elementor-page-503 .woocommerce-checkout-review-order{
  background:#fff;border:1px solid #e6e8ec;border-radius:8px;padding:16px 18px;
}
.elementor-page-503 .woocommerce-billing-fields > h3,
.elementor-page-503 .wcf-order-wrap > h3{
  font-size:13px !important;font-weight:800 !important;text-transform:uppercase;
  letter-spacing:.06em;margin:0 0 14px !important;color:#1a1e23;
}

/* 8. Ask in a human order: email first, then who you are, then the address
      lookup, and let it fill postcode, town and county for you. Postcode used
      to sit ABOVE street address, so a customer typed the postcode by hand and
      the very next field was the lookup asking for the address again, which
      then overwrote what they had just typed. Changed 20 Aug 2026. Done with flex
      `order` rather than moving DOM, so validation and the AJAX refresh are
      untouched. Widths are reset because the original wcf-column-33/50 classes
      were sized for the old sequence. */
.elementor-page-503 #billing_email_field{order:1}
.elementor-page-503 #billing_first_name_field{order:2}
.elementor-page-503 #billing_last_name_field{order:3}
.elementor-page-503 #billing_country_field{order:4}
.elementor-page-503 #billing_address_1_field{order:5}
.elementor-page-503 #billing_address_2_field{order:6}
.elementor-page-503 #billing_city_field{order:7}
.elementor-page-503 #billing_state_field{order:8}
.elementor-page-503 #billing_postcode_field{order:9}
.elementor-page-503 #billing_phone_field{order:10}
.elementor-page-503 #billing_email_field,
.elementor-page-503 #billing_phone_field,
.elementor-page-503 #billing_country_field,
.elementor-page-503 #billing_postcode_field,
.elementor-page-503 #billing_address_1_field,
.elementor-page-503 #billing_address_2_field{
  flex:0 0 100% !important;max-width:100% !important;width:100% !important;
}
.elementor-page-503 #billing_city_field,
.elementor-page-503 #billing_state_field{
  flex:0 0 50% !important;max-width:50% !important;width:50% !important;
}

/* 9. The order bump injected next to the pay button. */
.elementor-page-503 .core-bump{
  display:flex;gap:10px;align-items:center;margin:14px 0;
  border:1px dashed #33bae9;background:#f2fbff;border-radius:6px;padding:11px 12px;
  cursor:pointer;
}
.elementor-page-503 .core-bump input{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:#33bae9}
.elementor-page-503 .core-bump .t{flex:1;min-width:0;font-size:12.5px;line-height:1.4;color:#1a1e23}
.elementor-page-503 .core-bump .t b{font-weight:800}
.elementor-page-503 .core-bump .amt{font-weight:800;font-size:13px;white-space:nowrap}
.elementor-page-503 .core-bump.is-busy{opacity:.55;pointer-events:none}
.elementor-page-503 .core-bump.is-on{background:#eaf7ee;border-style:solid;border-color:#bfe0c9}