/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Ians Training Solutions: design and layout accessibility fixes (2026-09-08) */
:root {
  --ians-colour-ink: #111315;
  --ians-colour-blue: #0057b8;
  --ians-colour-white: #ffffff;
}

/* Readable footer links and supporting text on the existing dark background. */
#brx-footer a {
  color: var(--ians-colour-white);
}

#brx-footer a:hover {
  color: var(--ians-colour-white);
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.2em;
}

#brx-footer a,
#brx-footer p,
#brx-footer li {
  font-size: 16px;
  line-height: 1.6;
}

/* Previously low-contrast service-card and supporting copy. */
body.single-service .trust-points__label,
body.single-service .qf-card__label,
body.single-service .leaarn-card__desc,
body.single-service .popular-card__desc,
body.single-service .faqs1__text,
body.single-service #brxe-gdqexj {
  color: var(--ians-colour-ink);
  font-size: 16px;
  line-height: 1.6;
}

body.single-service .ism-tab-button,
body.single-service .faq-1__question,
.wsf-form input:not([type="checkbox"]):not([type="radio"]),
.wsf-form select,
.wsf-form textarea,
.wsf-form button,
.wsf-form label,
.wsf-form .wsf-invalid-feedback {
  font-size: 16px;
  line-height: 1.5;
}

.wsf-form .wsf-invalid-feedback {
  font-weight: 600;
}

/* Header navigation remains compact while avoiding 14px navigation text. */
#brx-header .bt-header-section__navigation-link,
#brx-header .bt-header-section__dropdown-link,
#brx-header #brxe-lriflu {
  font-size: 15px;
  line-height: 1.4;
}

/* A consistent two-tone focus ring remains visible on light, blue and dark surfaces. */
#brx-header :where(a, button, input, select, textarea, [tabindex]):focus-visible,
#brx-content :where(a, button, input, select, textarea, [tabindex]):focus-visible,
#brx-footer :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--ians-colour-blue) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--ians-colour-white) !important;
}

#brx-footer :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--ians-colour-white) !important;
  box-shadow: 0 0 0 5px var(--ians-colour-blue) !important;
}

.brxe-button,
.wsf-form button,
.wsf-form input[type="submit"],
.ism-tab-button {
  min-height: 44px;
}

img,
iframe {
  max-width: 100%;
}

@media (max-width: 768px) {
  #brx-content p {
    font-size: 16px;
    line-height: 1.6;
  }

  #brx-header .bt-header-section__navigation-link,
  #brx-header .bt-header-section__dropdown-link,
  #brx-header #brxe-lriflu {
    font-size: 16px;
  }

  .brxe-button,
  .wsf-form button,
  .wsf-form input[type="submit"] {
    padding-block: 0.8rem;
    padding-inline: 1.25rem;
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 401px) {
  body.home #brxe-ohmlem p,
  body.home #brxe-fyxfxi p,
  body.single-service #brxe-servicewhyhead p,
  body.tax-service-category .hero-8__description p,
  body.search-no-results #brx-content p,
  body.error404 #brx-content p {
    text-align: left;
  }

  #brx-content h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 1.12;
    overflow-wrap: break-word;
  }

  #brx-content h2 {
    font-size: clamp(1.75rem, 7vw, 2.35rem);
    line-height: 1.16;
    overflow-wrap: break-word;
  }

  #brx-content h3 {
    line-height: 1.2;
    overflow-wrap: break-word;
  }
}

/* Normal card descriptions and FAQ controls previously authored at 12–14px. */
body.home .feature-column__desc,
.service-card__desc,
.service-card__desc p,
body.home .faq-11__question {
  font-size: 16px;
  line-height: 1.6;
}

body.home .category-new__link {
  font-size: 14px;
  line-height: 1.4;
}

/* Ians Training Solutions: button and link interaction refinements (2026-09-09) */
:root {
  --ians-interactive-hover: #003c80;
  --ians-interactive-soft: #e6f1ff;
}

/* Preserve strong text contrast and a clear state change on blue CTA controls. */
.price-new__btn:hover,
.popular-card__btn:hover,
.wsf-form .wsf-button:hover,
.wsf-form button:hover,
.wsf-form input[type="submit"]:hover {
  background-color: var(--ians-interactive-hover) !important;
  border-color: var(--ians-interactive-hover) !important;
  color: var(--ians-colour-white) !important;
  text-decoration: none;
}

/* Secondary interactive controls receive a visible but restrained hover state. */
.faq-11__question:hover,
.faq-1__question:hover,
.ism-tab-button:hover {
  background-color: var(--ians-interactive-soft);
  color: var(--ians-colour-ink);
}

#brx-footer .fr-social-alpha__icon-wrapper:hover {
  background-color: var(--ians-colour-blue);
  color: var(--ians-colour-white);
  text-decoration: none;
}

/* Show the current destination without relying on colour alone. */
#brx-header a[aria-current="page"] {
  color: var(--ians-colour-blue) !important;
  box-shadow: inset 0 -3px 0 var(--ians-colour-blue);
}

#brx-footer a[aria-current="page"] {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.2em;
}

/* Keep the custom focus ring consistent on navigation as well as content. */
#brx-header a:focus-visible,
#brx-header button:focus-visible,
#brx-header [tabindex]:focus-visible,
#brx-content a:focus-visible,
#brx-content button:focus-visible,
#brx-content input:focus-visible,
#brx-content select:focus-visible,
#brx-content textarea:focus-visible,
#brx-content [tabindex]:focus-visible {
  outline: 3px solid var(--ians-colour-blue) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px var(--ians-colour-white) !important;
}

/* A small physical response makes pressed controls distinguishable. */
.site-btn:active,
.price-new__btn:active,
.popular-card__btn:active,
.wsf-form .wsf-button:active,
.wsf-form button:active,
.wsf-form input[type="submit"]:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.22);
}

/* Align compact button typography while retaining primary/secondary hierarchy. */
.price-new__btn,
.popular-card__btn,
.wsf-form .wsf-button,
.wsf-form button,
.wsf-form input[type="submit"] {
  min-height: 44px;
  border-radius: 6px !important;
  font-size: 16px;
  line-height: 1.4;
  padding: 10px 16px;
  text-align: center;
}

.site-btn {
  border-radius: 6px !important;
}

/* Increase compact icon/control hit areas without enlarging their artwork. */
#brx-header .bt-header-section__toggle,
#brx-header .mini-cart-link,
#brx-footer .fr-social-alpha__icon-wrapper {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  #brx-header a[aria-current="page"] {
    background-color: var(--ians-interactive-soft);
  }
}

/* Compensate for the existing 0.9 mobile-menu transform so its rendered hit area remains at least 44px. */
@media (max-width: 768px) {
  #brx-header .bt-header-section__toggle {
    min-width: 49px !important;
    min-height: 49px !important;
  }
}


/* Requested visual/content/SEO fixes — 2026-09-21 */
/* Readable navigation text while retaining the established blue/dark/white identity. */
header nav a,
header .bricks-nav-menu a,
header .bt-header-section__dropdown-link {
  color: #404040;
}

/* Long-form copy should read as body copy, not a centred display block. */
#brx-content :is(.brxe-text, .brxe-rich-text):has(> p:nth-of-type(2)) > p {
  text-align: left;
}

/* Normal copy and form labels remain comfortably readable. */
#brx-content :is(.brxe-text, .brxe-rich-text) p,
#brx-content .brxe-text-basic,
.wsf-form .wsf-label,
.wsf-form .wsf-help,
.wsf-form .wsf-invalid-feedback {
  font-size: max(1rem, 1em);
  line-height: 1.5;
}

/* Service-enquiry labels use a high-contrast dark colour on the white form surface. */
.wsf-form .wsf-label,
.wsf-form .wsf-help {
  color: #1b2a41;
}

/* Error text meets AA contrast on white while remaining visibly distinct. */
.wsf-form .wsf-invalid-feedback {
  color: #b42318;
}

/* Consistent, balanced interactive target sizing without changing the visual system. */
:is(a.bricks-button, button.bricks-button, .wsf-form button, .wsf-form input[type="submit"]) {
  min-height: 44px;
  padding-block: 0.75rem;
  padding-inline: 1.5rem;
  line-height: 1.25;
}

/* Readable 16px normal copy — 2026-09-21 */
#brx-content :is(.brxe-text, .brxe-rich-text) p,
#brx-content .brxe-text-basic,
.wsf-form label.wsf-label,
.wsf-form .wsf-help,
.wsf-form .wsf-invalid-feedback {
  font-size: 16px !important;
  line-height: 1.5;
}

/* Final form readability specificity — 2026-09-21 */
.wsf-form p,
.wsf-form label.wsf-label {
  font-size: 16px !important;
  line-height: 1.5;
}

.wsf-form .wsf-invalid-feedback {
  color: #b42318 !important;
  font-size: 16px !important;
  font-weight: 600;
}

/* Readable navigation size — 2026-09-21 */
header nav a,
header .bricks-nav-menu a,
header .bt-header-section__dropdown-link {
  font-size: 16px;
  line-height: 1.4;
}

/* CODEX CART OVERFLOW FIX START */
/* Keep the WooCommerce cart block inside the viewport on desktop. */
body.woocommerce-cart #brx-content .wp-block-woocommerce-cart.alignwide {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
/* CODEX CART OVERFLOW FIX END */


/* CODEX CART POLISH START */
/* Site-matched presentation for the WooCommerce cart only. */
body.woocommerce-cart #brx-content .wp-block-woocommerce-cart.alignwide {
  background: #f5f7fb;
  box-sizing: border-box;
  padding: clamp(1.25rem, 3vw, 3rem) clamp(1rem, 3vw, 3rem);
}

body.woocommerce-cart #brx-content .wc-block-cart__main,
body.woocommerce-cart #brx-content .wc-block-cart__sidebar {
  box-sizing: border-box;
  min-width: 0;
  background: #ffffff;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgb(17 19 21 / 6%);
}

body.woocommerce-cart #brx-content .wc-block-cart__main,
body.woocommerce-cart #brx-content .wc-block-cart__sidebar {
  padding: clamp(1rem, 2vw, 2rem);
}

body.woocommerce-cart #brx-content .wc-block-cart-items__header,
body.woocommerce-cart #brx-content .wc-block-cart-items__row,
body.woocommerce-cart #brx-content .wc-block-cart-item {
  border-color: #dfe6ef;
}

body.woocommerce-cart #brx-content .wc-block-components-product-name {
  color: #111315;
  font-weight: 600;
}

body.woocommerce-cart #brx-content .wc-block-cart-item__image img {
  border-radius: 10px;
}

body.woocommerce-cart #brx-content .wc-block-cart-item__remove-link {
  color: #0057b8;
}

body.woocommerce-cart #brx-content .wc-block-components-totals-item,
body.woocommerce-cart #brx-content .wc-block-components-totals-footer-item {
  border-color: #dfe6ef;
}

body.woocommerce-cart #brx-content .wc-block-cart__submit-button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background-color: #0057b8 !important;
  color: #ffffff !important;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}

body.woocommerce-cart #brx-content .wc-block-cart__submit-button:hover {
  background-color: #003c80 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

body.woocommerce-cart #brx-content .wc-block-cart__submit-button:focus-visible {
  outline: 3px solid #0057b8;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body.woocommerce-cart #brx-content .wp-block-woocommerce-cart.alignwide {
    padding: 1rem;
  }

  body.woocommerce-cart #brx-content .wc-block-cart__main,
  body.woocommerce-cart #brx-content .wc-block-cart__sidebar {
    padding: 1rem;
  }
}
/* CODEX CART POLISH END */


/* CODEX OFFCANVAS CART POLISH START */
/* Site-matched presentation for the Bricks off-canvas mini-cart only. */
#brx-header .brxe-woocommerce-mini-cart .cart-detail.off-canvas.right {
  width: min(92vw, 440px);
  max-width: 100vw;
  box-sizing: border-box;
  background: #f5f7fb;
  border: 1px solid #dfe6ef;
  border-right: 0;
  border-radius: 16px 0 0 16px;
  box-shadow: -18px 0 40px rgb(17 19 21 / 18%);
  overflow: hidden;
}

#brx-header .brxe-woocommerce-mini-cart .off-canvas-overlay {
  background-color: rgb(17 19 21 / 52%);
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .widget_shopping_cart_content {
  gap: 1rem;
  padding: 4rem clamp(1rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem);
  overflow-y: auto;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li {
  margin: 0;
  padding: 0 2.5rem 1rem 0;
  border-bottom: 1px solid #dfe6ef;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li:last-child {
  border-bottom: 0;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li a:not(.remove) {
  color: #0057b8;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li .quantity {
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1.4;
  margin-top: 0.35rem;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
  margin-inline-end: 14px;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li .remove {
  align-items: center;
  background: #e6f1ff;
  border-radius: 50%;
  color: #0057b8;
  display: inline-flex;
  height: 30px;
  justify-content: center;
  opacity: 1;
  padding: 0;
  right: 0.25rem;
  top: 0.1rem;
  transition: background-color 160ms ease, color 160ms ease;
  width: 30px;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li .remove:hover {
  background: #0057b8;
  color: #ffffff;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .total {
  border-top-color: #dfe6ef;
  color: #111315;
  margin: 0;
  padding-top: 1rem;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .total strong {
  color: #0057b8;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons {
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.25rem;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a {
  border: 1px solid #0057b8;
  border-radius: 8px;
  min-height: 46px;
  padding: 0 1rem;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a:first-child {
  background: #e6f1ff;
  color: #0057b8;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a:last-child {
  background: #0057b8;
  color: #ffffff;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons a:hover {
  background: #003c80;
  color: #ffffff;
  transform: translateY(-1px);
}

#brx-header .brxe-woocommerce-mini-cart.show-cart-details .cart-detail :where(.bricks-mini-cart-close) {
  align-items: center;
  background: #e6f1ff;
  border-radius: 50%;
  color: #0057b8;
  display: grid;
  height: 38px;
  padding: 0;
  right: 1rem;
  top: 1rem;
  width: 38px;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__empty-message {
  color: #64748b;
  font-size: 1rem;
  line-height: 1.5;
  margin: 2rem 0;
}

@media (max-width: 480px) {
  #brx-header .brxe-woocommerce-mini-cart .cart-detail.off-canvas.right {
    width: 94vw;
  }

  #brx-header .brxe-woocommerce-mini-cart .cart-detail .woocommerce-mini-cart__buttons {
    grid-template-columns: 1fr;
  }
}
/* CODEX OFFCANVAS CART POLISH END */


/* CODEX CART GAP START */
/* Keep the desktop cart cards visually separated without changing mobile stacking. */
@media (min-width: 768px) {
  body.woocommerce-cart #brx-content .wp-block-woocommerce-cart.wc-block-cart {
    column-gap: clamp(1rem, 2vw, 1.5rem);
  }
}
/* CODEX CART GAP END */


/* CODEX CART GAP TEXT V2 START */
/* Correct the WooCommerce cart flex columns and improve mini-cart readability. */
@media (min-width: 768px) {
  body.woocommerce-cart #brx-content .wc-block-components-sidebar-layout.wc-block-cart {
    column-gap: 1.5rem;
  }

  body.woocommerce-cart #brx-content .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-main {
    width: calc(65% - 0.75rem);
  }

  body.woocommerce-cart #brx-content .wc-block-components-sidebar-layout.wc-block-cart > .wc-block-components-sidebar {
    width: calc(35% - 0.75rem);
  }
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li a:not(.remove) {
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
}

#brx-header .brxe-woocommerce-mini-cart .cart-detail li .quantity {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
/* CODEX CART GAP TEXT V2 END */


/* CODEX CHECKOUT POLISH START */
/* Brand-matched presentation for the WooCommerce Checkout Block only. */
body.woocommerce-checkout {
  background: #f5f7fb;
}

body.woocommerce-checkout #brx-content {
  background: #f5f7fb;
  overflow-x: clip;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout {
  box-sizing: border-box;
  max-width: 1240px;
  margin-inline: auto;
  padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 2rem) 4rem;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout {
  align-items: flex-start;
  column-gap: 1.5rem;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main {
  width: calc(65% - 0.75rem);
}

body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
  width: calc(35% - 0.75rem);
}

body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  box-shadow: 0 12px 28px rgb(17 19 21 / 8%);
  padding: clamp(1.25rem, 3vw, 2rem);
}

body.woocommerce-checkout .wc-block-checkout__form {
  max-width: 100%;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  border-bottom: 1px solid #dfe6ef;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title {
  color: #111315;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-blocks-components-select select,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input {
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid #cbd6e2;
  border-radius: 8px;
  background: #ffffff;
  color: #111315;
  padding: 0.75rem 1rem;
  font: inherit;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus,
body.woocommerce-checkout .wc-blocks-components-select select:focus,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus {
  border-color: #0057b8;
  box-shadow: 0 0 0 3px rgb(0 87 184 / 14%);
  outline: none;
}

body.woocommerce-checkout .wc-block-components-express-payment__event-buttons {
  gap: 0.75rem;
}

body.woocommerce-checkout .wc-block-components-express-payment__event-buttons button {
  min-height: 44px;
  border-radius: 8px;
}

body.woocommerce-checkout .wc-block-components-order-summary {
  margin: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid #dfe6ef;
  padding-block: 1rem;
}

body.woocommerce-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: 0;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description {
  color: #111315;
  font-size: 0.95rem;
  line-height: 1.4;
}

body.woocommerce-checkout .wc-block-components-totals-item {
  padding-block: 0.75rem;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
  border-top: 1px solid #dfe6ef;
  margin-top: 0.5rem;
  padding-top: 1rem;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: #0057b8;
  font-size: 1.35rem;
  font-weight: 700;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: #0057b8 !important;
  color: #ffffff !important;
  font-weight: 700;
  transition: background-color 160ms ease, transform 160ms ease;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: #003c80 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

body.woocommerce-checkout .wc-block-components-notice-banner.is-error,
body.woocommerce-checkout .woocommerce-error {
  border: 1px solid #e7b5b5;
  border-left: 4px solid #c62828;
  border-radius: 8px;
  background: #fff5f5;
  color: #7f1d1d;
  margin: 1rem auto;
  max-width: 1240px;
  padding: 1rem 1.25rem;
}

body.woocommerce-checkout .wc-block-checkout__terms {
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .wp-block-woocommerce-checkout {
    padding: 2rem 1rem 3rem;
  }

  body.woocommerce-checkout .wc-block-components-sidebar-layout {
    row-gap: 1rem;
  }

  body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
  body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
    width: 100%;
    padding: 1.25rem;
  }

  body.woocommerce-checkout .wc-block-components-checkout-step__title {
    font-size: 1.2rem;
  }
}
/* CODEX CHECKOUT POLISH END */

/* CODEX CHECKOUT SELECT FIX START */
/* Keep WooCommerce labelled selects clear of their floating labels. */
body.woocommerce-checkout .wc-blocks-components-select {
  position: relative;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
  top: 6px;
  left: 10px;
  z-index: 1;
  font-size: 13px;
  line-height: 1.4;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  box-sizing: border-box;
  height: 50px;
  min-height: 50px;
  border: 1px solid #cbd6e2;
  border-radius: 8px;
  background: #ffffff;
  color: #111315;
  padding: 16px 2.75rem 0 0.75rem !important;
  font-family: inherit;
  font-size: 16px;
  line-height: 25px !important;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: #0057b8;
  border-width: 1.5px;
  box-shadow: 0 0 0 3px rgb(0 87 184 / 14%);
  padding: 16px 2.7rem 0 0.7rem !important;
  outline: none;
}

body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
  right: 12px;
}
/* CODEX CHECKOUT SELECT FIX END */

/* CODEX THANK YOU POLISH START */
/* Brand-matched presentation for the WooCommerce order-received page only. */
body.woocommerce-order-received {
  background: #f5f7fb;
}

body.woocommerce-order-received #brx-content {
  background: #f5f7fb;
  overflow-x: clip;
}

body.woocommerce-order-received .woocommerce-order {
  box-sizing: border-box;
  max-width: 1160px;
  margin-inline: auto;
  padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 2rem) 4rem;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  box-sizing: border-box;
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid #b8d5f2;
  border-left: 4px solid #0057b8;
  border-radius: 8px;
  background: #e6f1ff;
  color: #0057b8;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

body.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 3rem;
  padding: 0;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgb(17 19 21 / 8%);
  list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  min-width: 0;
  margin: 0;
  padding: 1.25rem 1rem;
  border-right: 1px solid #dfe6ef;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.4;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child {
  border-right: 0;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 0.35rem;
  color: #111315;
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order-downloads {
  box-sizing: border-box;
  margin: 0 0 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgb(17 19 21 / 8%);
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-order-downloads__title {
  margin: 0 0 1.25rem;
  color: #111315;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.25;
}

body.woocommerce-order-received .woocommerce-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  color: #334155;
}

body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  border: 0;
  border-bottom: 1px solid #dfe6ef;
  padding: 1rem;
  text-align: left;
  vertical-align: top;
}

body.woocommerce-order-received .woocommerce-table thead th {
  background: #f5f7fb;
  color: #475569;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-table thead th:first-child {
  border-radius: 8px 0 0 8px;
}

body.woocommerce-order-received .woocommerce-table thead th:last-child {
  border-radius: 0 8px 8px 0;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name a {
  color: #0057b8;
  font-weight: 600;
  text-decoration: none;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name a:hover {
  color: #003c80;
  text-decoration: underline;
}

body.woocommerce-order-received .woocommerce-table tbody .product-quantity {
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 600;
}

body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  font-size: 0.95rem;
}

body.woocommerce-order-received .woocommerce-table tfoot th {
  color: #111315;
  font-weight: 700;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child th,
body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  color: #0057b8;
  font-size: 1.2rem;
  font-weight: 700;
}

body.woocommerce-order-received .woocommerce-customer-details address {
  margin: 0;
  padding: 1rem 1.25rem;
  border: 1px solid #dfe6ef;
  border-radius: 8px;
  background: #f5f7fb;
  color: #334155;
  font-style: normal;
  line-height: 1.7;
}

body.woocommerce-order-received .woocommerce-customer-details--email,
body.woocommerce-order-received .woocommerce-customer-details--phone {
  margin: 0.5rem 0 0;
}

body.woocommerce-order-received .woocommerce-info {
  margin: 0 0 2rem;
  padding: 1rem 1.25rem;
  border: 1px solid #b8d5f2;
  border-left: 4px solid #0057b8;
  border-radius: 8px;
  background: #e6f1ff;
  color: #0057b8;
  line-height: 1.5;
}

body.woocommerce-order-received .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
  width: auto;
}

@media (max-width: 900px) {
  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.woocommerce-order-received .woocommerce-order-overview li:nth-child(2n) {
    border-right: 0;
  }

  body.woocommerce-order-received .woocommerce-order-overview li:nth-child(n + 3) {
    border-top: 1px solid #dfe6ef;
  }
}

@media (max-width: 640px) {
  body.woocommerce-order-received .woocommerce-order {
    padding: 2rem 1rem 3rem;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .woocommerce-order-overview li,
  body.woocommerce-order-received .woocommerce-order-overview li:nth-child(2n) {
    border-right: 0;
    border-top: 1px solid #dfe6ef;
  }

  body.woocommerce-order-received .woocommerce-order-overview li:first-child {
    border-top: 0;
  }

  body.woocommerce-order-received .woocommerce-table th,
  body.woocommerce-order-received .woocommerce-table td {
    padding: 0.75rem 0.5rem;
  }

  body.woocommerce-order-received .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
}
/* CODEX THANK YOU POLISH END */

/* CODEX THANK YOU REFINEMENT START */
/* Align the page title with the order content and restore readable hierarchy. */
body.woocommerce-order-received #brx-content h1 {
  box-sizing: border-box;
  width: min(1160px, calc(100% - 2rem));
  max-width: 1160px;
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 3.5rem) 0 1.5rem;
  color: #111315;
  font-size: clamp(2.5rem, 5vw, 3.75rem) !important;
  font-weight: 500;
  line-height: 1.05 !important;
  text-align: left;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.05rem !important;
  line-height: 1.5 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  display: flex;
  min-height: 88px;
  flex-direction: column;
  justify-content: center;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-order-downloads__title {
  font-size: clamp(1.5rem, 2.2vw, 1.85rem) !important;
  font-weight: 600;
}

body.woocommerce-order-received .woocommerce-table {
  font-size: 1rem !important;
}

body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name {
  font-size: 1.05rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-quantity {
  font-size: 0.95rem !important;
}

body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  font-size: 1rem !important;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  font-size: 1.25rem !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-info {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

@media (max-width: 640px) {
  body.woocommerce-order-received #brx-content h1 {
    width: calc(100% - 2rem);
    padding-top: 2rem;
    font-size: clamp(2.25rem, 10vw, 3rem) !important;
  }
}
/* CODEX THANK YOU REFINEMENT END */

/* CODEX THANK YOU REFINEMENT V2 START */
/* Match the title's content edge to the padded order panels and improve readability. */
body.woocommerce-order-received #brx-content h1 {
  width: min(1160px, calc(100% - 2rem));
  padding-right: clamp(1rem, 3vw, 2rem);
  padding-left: clamp(1rem, 3vw, 2rem);
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.15rem !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 1rem !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  font-size: 1.15rem !important;
}

body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  font-size: 1.1rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name {
  font-size: 1.15rem !important;
  font-weight: 600;
}

body.woocommerce-order-received .woocommerce-table tbody .product-quantity {
  font-size: 1rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-total {
  color: #111315;
  font-size: 1.1rem !important;
  font-weight: 600;
}

body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  font-size: 1.05rem !important;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  font-size: 1.35rem !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-info {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
}

@media (max-width: 640px) {
  body.woocommerce-order-received #brx-content h1 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
/* CODEX THANK YOU REFINEMENT V2 END */

/* CODEX THANK YOU TYPE SCALE V3 START */
/* Increase supporting text on the order-received page without changing layout. */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.2rem !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 1.1rem !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  font-size: 1.25rem !important;
}

body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  font-size: 1.15rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name {
  font-size: 1.2rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-quantity {
  font-size: 1.1rem !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-total {
  font-size: 1.15rem !important;
}

body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  font-size: 1.1rem !important;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  font-size: 1.45rem !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-info {
  font-size: 1.15rem !important;
}
/* CODEX THANK YOU TYPE SCALE V3 END */

/* CODEX THANK YOU TYPE SCALE V4 START */
/* Use pixel sizes here because the site intentionally sets its root scale to 62.5%. */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 18px !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  font-size: 17px !important;
  line-height: 1.4 !important;
}

body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-name {
  font-size: 17px !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-quantity {
  font-size: 15px !important;
}

body.woocommerce-order-received .woocommerce-table tbody .product-total {
  font-size: 16px !important;
}

body.woocommerce-order-received .woocommerce-table tfoot th,
body.woocommerce-order-received .woocommerce-table tfoot td {
  font-size: 16px !important;
}

body.woocommerce-order-received .woocommerce-table tfoot tr:last-child td {
  font-size: 20px !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-info {
  font-size: 16px !important;
  line-height: 1.65 !important;
}

@media (max-width: 640px) {
  body.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 16px !important;
  }

  body.woocommerce-order-received .woocommerce-order-overview li {
    font-size: 15px !important;
  }

  body.woocommerce-order-received .woocommerce-order-overview li strong {
    font-size: 16px !important;
  }

  body.woocommerce-order-received .woocommerce-table th,
  body.woocommerce-order-received .woocommerce-table td {
    font-size: 15px !important;
  }

  body.woocommerce-order-received .woocommerce-table tbody .product-name {
    font-size: 16px !important;
  }

  body.woocommerce-order-received .woocommerce-customer-details address,
  body.woocommerce-order-received .woocommerce-info {
    font-size: 15px !important;
  }
}
/* CODEX THANK YOU TYPE SCALE V4 END */

/* Keep the guest Login CTA readable against the blue header background. */
#brx-header #brxe-ifpspc {
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
}