/*
Theme Name:  TrevorSphere - Bricks Builder Child Theme
Theme URI:   https://trevorsphere.com/
Template:    bricks
Version: 5.4.9
Author:      Trevor Roberts (TrevorSphere)
Author URI:  https://trevorsphere.com/
Text Domain: trevorsphere
Description: TrevorSphere Bricks child theme with site details, role manager, legal documents, testimonials, and performance optimisation.
Copyright: (c) 2026 Trevor Roberts (TrevorSphere). All rights reserved.
*/
/* Learna storefront — type and buttons (16–18px body) */
body {
	font-size: 17px;
	line-height: 1.5;
}
p, li, label, td, th, input, select, textarea, .woocommerce {
	font-size: 17px;
}
h3, .woocommerce-checkout h3, .woocommerce-account h2 {
	font-size: 22px;
}
.woocommerce #place_order,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce .woocommerce-Button,
button[type="submit"],
input[type="submit"],
.bricks-button,
.wp-element-button {
	background: #1cb841;
	background-color: #1cb841;
	color: #fff;
	border: 0;
}
.woocommerce #place_order:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.bricks-button:hover {
	background: #169a36;
	color: #fff;
}
.woocommerce-checkout .form-row label,
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-account label,
.woocommerce-account input.input-text {
	font-size: 17px;
}
.learna-teacher-grades,
.learna-teacher-grades label,
.learna-teacher-grades span {
	font-size: 16px;
}
.learna-teacher-grades h3,
.learna-teacher-grades h2 {
	font-size: 20px;
}
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field {
	float: left !important;
	width: 48% !important;
	max-width: 48% !important;
	clear: none !important;
}
.woocommerce-checkout #billing_last_name_field {
	float: right !important;
	margin-right: 0 !important;
}
.woocommerce-checkout #billing_country_field {
	clear: both !important;
}

.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content caption {
  margin-bottom: 16px;
}

.woocommerce-account table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
  padding: 12px 10px;
}

.woocommerce-account table.shop_table tbody tr:nth-child(even) {
  background: #f3f6f4;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  margin-top: 20px;
}

/* Learna type: Inter site-wide */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
html,body,button,input,select,textarea,.bricks-site-wrapper,h1,h2,h3,h4,h5,h6,.brxe-heading,.brxe-text,.brxe-text-basic{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.woocommerce-account .ts-subs-my-account > h2 {
	margin: 0 0 20px;
	font-size: 22px;
}
.woocommerce-account .ts-subs-my-account table.ts-subs-table {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-account .ts-subs-my-account table.ts-subs-table th,
.woocommerce-account .ts-subs-my-account table.ts-subs-table td {
	padding: 12px 10px;
}
.woocommerce-account .ts-subs-my-account table.ts-subs-table tbody tr:nth-child(even) {
	background: #f3f6f4;
}
.woocommerce-account .ts-subs-pause-note {
	margin-top: 24px;
}

.learna-paused-banner{background:#c1121f;color:#fff;padding:12px 16px;margin:0 24px 20px;border-radius:8px;font-size:17px;line-height:1.4;font-weight:600;box-sizing:border-box;}
.learna-paused-banner a{color:#fff;text-decoration:underline;}

.learna-student-paused{background:#c1121f;color:#fff;padding:16px 20px;margin:0 24px 20px;border-radius:8px;font-size:17px;line-height:1.45;font-weight:600;box-sizing:border-box;}
.learna-student-paused p{margin:0 0 8px;color:#fff;}
.learna-student-paused p:last-child{margin:0;}

/* Subscriptions table — same hairlines as Orders */
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	border-bottom: 1px solid #d9ddd9;
}
.woocommerce-account table.shop_table {
	border-top: 1px solid #d9ddd9;
}
/* Cancel subscription modal */
.ts-subs-modal[hidden]{display:none!important}
.ts-subs-modal{position:fixed;inset:0;z-index:100000}
.ts-subs-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,15,.55)}
.ts-subs-modal__panel{position:relative;z-index:1;max-width:480px;margin:12vh auto 0;background:#fff;border-radius:12px;padding:28px 28px 24px;box-shadow:0 16px 48px rgba(0,0,0,.2)}
.ts-subs-modal__panel h2{margin:0 0 12px;font-size:22px}
.ts-subs-modal__panel p{margin:0 0 16px;font-size:17px;line-height:1.45}
.ts-subs-modal__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.woocommerce a.button.ts-subs-modal__confirm,.woocommerce-account a.button.ts-subs-modal__confirm,.ts-subs-modal__confirm{background:#c0392b!important;background-color:#c0392b!important;color:#fff!important;border:0!important}.woocommerce a.button.ts-subs-modal__confirm:hover,.ts-subs-modal__confirm:hover{background:#a93226!important;color:#fff!important}
.ts-subs-modal__keep{background:#e8ebe8!important;color:#222!important}

/* Learna shop archive */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
}
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #d5ddd8;
  border-radius: 12px;
  padding: 16px 16px 20px;
  box-sizing: border-box;
  box-shadow: 0 2px 10px rgba(11,42,107,.06);
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 8px;
  margin: 0 0 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
}
.woocommerce ul.products li.product .price {
  text-align: center;
  font-size: 17px;
  margin-top: auto;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block;
  text-align: center;
  width: 100%;
  margin-top: 12px;
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 20px;
}
/* related products 3-col */
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
@media (max-width: 782px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce .related.products ul.products {
    grid-template-columns: 1fr;
  }
}
.learna-page-header {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #50855c;
  box-sizing: border-box;
}
.woocommerce .woocommerce-breadcrumb {
  max-width: 1400px;
  margin: 16px auto;
  padding: 0 24px;
}
.learna-page-header h1 {
  margin: 0;
  color: #fefefe;
  font-size: 56px;
  line-height: 1.3;
  text-align: center;
  text-shadow: 1px 1px 0 #000;
  font-weight: 700;
}
@media (max-width: 782px) {
  .learna-page-header { height: 110px; }
  .learna-page-header h1 { font-size: 32px; }
}
/* mini-cart variation rows */
.widget_shopping_cart .variation,
.woocommerce-mini-cart .variation,
.woocommerce-mini-cart-item .variation {
  display: grid;
  grid-template-columns: 152px 1fr;
  column-gap: 8px;
  row-gap: 2px;
  margin: 4px 0 0;
}
.widget_shopping_cart .variation dt,
.widget_shopping_cart .variation dd,
.woocommerce-mini-cart .variation dt,
.woocommerce-mini-cart .variation dd {
  display: inline;
  margin: 0;
  float: none;
  padding: 0;
}
.widget_shopping_cart .variation dd p,
.woocommerce-mini-cart .variation dd p {
  display: inline;
  margin: 0;
}
/* mini-cart line price */
.widget_shopping_cart .woocommerce-mini-cart-item .quantity,
.woocommerce-mini-cart-item .quantity {
  display: block;
  width: 100%;
  text-align: right;
  font-weight: 700;
  color: #0b2a6b;
  border-top: 1px solid #d5dde8;
  margin-top: 8px;
  padding-top: 8px;
}
.widget_shopping_cart .woocommerce-mini-cart-item .quantity .amount,
.woocommerce-mini-cart-item .quantity .amount {
  font-weight: 700;
  color: #0b2a6b;
}
/* mini-cart subtotal navy */
.widget_shopping_cart .total .amount,
.woocommerce-mini-cart__total .amount,
.widget_shopping_cart p.total strong,
.woocommerce-mini-cart__total strong {
  color: #0b2a6b;
  font-weight: 800;
}
/* learna cart checkout polish */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  max-width: 1400px;
  margin: 0 auto;
  padding: 24px;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
  width: 100%;
}
.woocommerce-cart table.cart .variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation {
  display: grid;
  grid-template-columns: 152px 1fr;
  column-gap: 8px;
  row-gap: 2px;
  margin: 6px 0 0;
}
.woocommerce-cart table.cart .variation dt,
.woocommerce-cart table.cart .variation dd,
.woocommerce-checkout .variation dt,
.woocommerce-checkout .variation dd {
  display: inline;
  margin: 0;
  float: none;
  padding: 0;
}
.woocommerce-cart table.cart .variation dd p,
.woocommerce-checkout .variation dd p {
  display: inline;
  margin: 0;
}
.woocommerce-cart td.product-subtotal .amount,
.woocommerce-cart .order-total .amount,
.woocommerce-cart .cart-subtotal .amount,
.woocommerce-checkout .shop_table .amount {
  color: #0b2a6b;
  font-weight: 800;
}
.woocommerce-cart .cart_totals h2 {
  font-size: 18px;
}
.woocommerce-cart .product-name a {
  font-weight: 700;
}
.woocommerce-checkout .form-row {
  margin-bottom: 12px;
}
.woocommerce-checkout #order_review {
  margin-top: 8px;
}
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-cart .learna-page-header + .woocommerce .woocommerce-cart-form > h1,
body.woocommerce-cart h1:not(.learna-page-header h1):not(.site-title) {
  /* keep theme h1 in header only where possible */
}
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1 {
  display: none;
}
/* learna js dialog */
body.learna-js-dialog-open { overflow: hidden; }
.learna-js-dialog[hidden] { display: none !important; }
.learna-js-dialog {
  position: fixed;
  inset: 0;
  z-index: 100000;
}
.learna-js-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 42, 107, 0.45);
}
.learna-js-dialog__panel {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 12vh auto 0;
  background: #fff;
  border-radius: 12px;
  padding: 22px 22px 18px;
  box-shadow: 0 16px 40px rgba(11, 42, 107, 0.25);
}
.learna-js-dialog__title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 700;
  color: #0b2a6b;
}
.learna-js-dialog__msg {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.45;
  color: #222;
}
.learna-js-dialog__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.learna-js-dialog__btn {
  border: 0;
  border-radius: 8px;
  padding: 8px 16px;
  font-weight: 700;
  cursor: pointer;
}
.learna-js-dialog__ok {
  background: #1cb841;
  color: #fff;
}
.learna-js-dialog__cancel {
  background: #e8eef6;
  color: #0b2a6b;
}
/* classic cart lines */
.woocommerce-cart table.shop_table .product-name .variation {
  display: grid !important;
  grid-template-columns: 120px 1fr;
  column-gap: 8px;
  margin-top: 8px;
}
.woocommerce-cart table.shop_table .product-name .variation dt,
.woocommerce-cart table.shop_table .product-name .variation dd {
  float: none !important;
  margin: 0 !important;
  display: block;
}
.woocommerce-cart .product-remove a.remove { font-size: 22px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; }
.woocommerce-cart .cart-collaterals { margin-top: 24px; }
.woocommerce-cart .cart_totals .order-total .amount { color:#0b2a6b; font-weight:800; }
/* hide save for later */
.woocommerce-cart .save_for_later, .woocommerce-cart a.save_for_later_button, .woocommerce-cart .wlfmc_add_to_wishlist { display:none !important; }

/* cart totals right */
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals {
  width: 100%;
  float: none;
}
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals .shop_table {
  width: 100%;
}
.woocommerce-cart .cart_totals table th {
  text-align: left;
}
.woocommerce-cart .cart_totals table td {
  text-align: right;
}
.woocommerce-cart .cart_totals table td .amount {
  display: inline-block;
  text-align: right;
}
/* checkout page polish */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  width: 100%;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation {
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 8px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd {
  float: none;
  margin: 0;
}
.woocommerce-checkout #order_review .shop_table tfoot th { text-align: left; }
.woocommerce-checkout #order_review .shop_table tfoot td { text-align: right; }
.woocommerce-checkout h3#order_review_heading { margin-top: 0; }
.woocommerce-checkout form.woocommerce-checkout { display: block; }
.woocommerce-checkout .learna-children,
.woocommerce-checkout .learna-seats,
.woocommerce-checkout [class*="learna_child"],
.woocommerce-checkout .form-row:has([name^="learna_"]) {
  max-width: 100%;
}
/* checkout two-column desktop */
@media (min-width: 960px) {
  body.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    column-gap: 40px;
    row-gap: 16px;
    align-items: start;
  }
  body.woocommerce-checkout form.checkout > * { grid-column: 1; }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .col2-set {
    grid-column: 1;
    width: 100% !important;
    float: none !important;
    max-width: none !important;
  }
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    max-width: none !important;
  }
  body.woocommerce-checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  body.woocommerce-checkout #order_review {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    position: sticky;
    top: 24px;
    background: #fff;
    border: 1px solid #d5dde8;
    border-radius: 12px;
    padding: 16px 18px 20px;
    box-shadow: 0 8px 24px rgba(11, 42, 107, 0.08);
  }
  body.woocommerce-checkout #customer_details + *,
  body.woocommerce-checkout .learna-family-fields,
  body.woocommerce-checkout .learna-teacher-fields {
    grid-column: 1;
  }
}
@media (max-width: 959px) {
  body.woocommerce-checkout #order_review {
    border: 1px solid #d5dde8;
    border-radius: 12px;
    padding: 16px;
  }
}
/* learna checkout aside */
form.learna-checkout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 420px !important;
  column-gap: 40px !important;
  align-items: start;
}
form.learna-checkout-grid > *:not(.learna-checkout-aside) {
  grid-column: 1;
  width: 100% !important;
  float: none !important;
  max-width: none !important;
}
.learna-checkout-aside {
  grid-column: 2;
  grid-row: 1 / span 20;
  background: #fff;
  border: 1px solid #cfd8e3;
  border-radius: 14px;
  padding: 20px 22px 22px;
  box-shadow: 0 10px 28px rgba(11, 42, 107, 0.1);
  position: sticky;
  top: 20px;
}
.learna-checkout-aside #order_review_heading {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d5dde8;
  font-size: 22px;
  font-weight: 800;
  color: #0b2a6b;
}
.learna-checkout-aside #order_review {
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: static !important;
  background: transparent !important;
}
.learna-checkout-aside .shop_table {
  width: 100%;
  border-collapse: collapse;
}
.learna-checkout-aside .shop_table th,
.learna-checkout-aside .shop_table td {
  padding: 10px 0;
  font-size: 16px;
  border-top: 1px solid #e4eaf1;
  vertical-align: top;
}
.learna-checkout-aside .shop_table thead th {
  border-top: 0;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #5b6b80;
}
.learna-checkout-aside .shop_table tfoot th { text-align: left; font-weight: 700; }
.learna-checkout-aside .shop_table tfoot td,
.learna-checkout-aside .shop_table .product-total { text-align: right; }
.learna-checkout-aside .shop_table .amount {
  color: #0b2a6b;
  font-weight: 800;
}
.learna-checkout-aside .shop_table .variation {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 2px 8px;
  margin-top: 6px;
  font-size: 15px;
}
.learna-checkout-aside #place_order { width: 100%; margin-top: 8px; }
@media (max-width: 959px) {
  form.learna-checkout-grid {
    grid-template-columns: 1fr !important;
  }
  .learna-checkout-aside {
    grid-column: 1;
    grid-row: auto;
    position: static;
    margin-top: 16px;
  }
}
form.learna-checkout-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 40px !important;
}
form.learna-checkout-grid .learna-checkout-main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  float: none !important;
}
form.learna-checkout-grid .learna-checkout-aside {
  flex: 0 0 420px !important;
  width: 420px !important;
  max-width: 420px !important;
  margin-left: 0 !important;
  float: none !important;
  position: sticky !important;
  top: 20px !important;
  align-self: flex-start !important;
}
@media (max-width: 959px) {
  form.learna-checkout-grid {
    flex-direction: column !important;
  }
  form.learna-checkout-grid .learna-checkout-aside {
    flex-basis: auto !important;
    width: 100% !important;
    max-width: none !important;
    position: static !important;
  }
}

/* LOCKED MINI-CART — do not change unless explicitly requested */
.widget_shopping_cart .variation,
.woocommerce-mini-cart .variation,
.woocommerce-mini-cart-item .variation {
  display: grid !important;
  grid-template-columns: 152px 1fr !important;
  column-gap: 8px !important;
  row-gap: 2px !important;
  margin: 4px 0 0 !important;
}
.widget_shopping_cart .variation dt,
.widget_shopping_cart .variation dd,
.woocommerce-mini-cart .variation dt,
.woocommerce-mini-cart .variation dd {
  display: block !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
}
.widget_shopping_cart .variation dd p,
.woocommerce-mini-cart .variation dd p {
  display: inline !important;
  margin: 0 !important;
}
.widget_shopping_cart .woocommerce-mini-cart-item .quantity,
.woocommerce-mini-cart-item .quantity {
  display: block !important;
  width: 100% !important;
  text-align: right !important;
  font-weight: 700 !important;
  color: #0b2a6b !important;
  border-top: 1px solid #d5dde8 !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
}
.widget_shopping_cart .woocommerce-mini-cart-item .quantity .amount,
.woocommerce-mini-cart-item .quantity .amount {
  font-weight: 700 !important;
  color: #0b2a6b !important;
}
.widget_shopping_cart .total,
.woocommerce-mini-cart__total {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #0b2a6b !important;
  color: #fff !important;
  padding: 10px 12px !important;
  margin: 12px 0 !important;
  border-radius: 8px !important;
}
.widget_shopping_cart .total strong,
.widget_shopping_cart .total .amount,
.woocommerce-mini-cart__total strong,
.woocommerce-mini-cart__total .amount {
  color: #fff !important;
  font-weight: 800 !important;
}
.widget_shopping_cart .buttons,
.woocommerce-mini-cart__buttons {
  display: flex !important;
  gap: 8px !important;
}
.widget_shopping_cart .buttons .button,
.woocommerce-mini-cart__buttons .button,
.widget_shopping_cart a.button,
.woocommerce-mini-cart__buttons a.button {
  background: #1cb841 !important;
  background-color: #1cb841 !important;
  color: #fff !important;
  border: 0 !important;
  flex: 1 1 0 !important;
  text-align: center !important;
}
.widget_shopping_cart .buttons .button:hover,
.woocommerce-mini-cart__buttons .button:hover {
  background: #169a36 !important;
  color: #fff !important;
}

/* Checkout / basket order total bar */
.woocommerce-checkout .shop_table tfoot .order-total th,
.woocommerce-checkout .shop_table tfoot .order-total td,
.learna-checkout-aside .shop_table tfoot .order-total th,
.learna-checkout-aside .shop_table tfoot .order-total td,
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  background: #0b2a6b !important;
  color: #fff !important;
}
.woocommerce-checkout .shop_table tfoot .order-total .amount,
.learna-checkout-aside .shop_table tfoot .order-total .amount,
.woocommerce-cart .cart_totals .order-total .amount {
  color: #fff !important;
  font-weight: 800 !important;
}
/* checkout total inset — mini-cart untouched */
.woocommerce-checkout .shop_table tfoot .order-total th,
.woocommerce-checkout .shop_table tfoot .order-total td,
.learna-checkout-aside .shop_table tfoot .order-total th,
.learna-checkout-aside .shop_table tfoot .order-total td {
  padding-left: 8px !important;
  padding-right: 8px !important;
}
body.learna-legal-open { overflow: hidden; }
.learna-legal-modal[hidden] { display: none !important; }
.learna-legal-modal { position: fixed; inset: 0; z-index: 100010; }
.learna-legal-modal__backdrop { position: absolute; inset: 0; background: rgba(11,42,107,.5); }
.learna-legal-modal__panel { position: relative; z-index: 1; width: min(900px, calc(100vw - 32px)); height: min(80vh, 800px); margin: 8vh auto 0; background: #fff; border-radius: 12px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 16px 40px rgba(11,42,107,.25); }
.learna-legal-modal__bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: #0b2a6b; color: #fff; }
.learna-legal-modal__title { margin: 0; font-weight: 700; }
.learna-legal-modal__x { background: transparent; border: 0; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.learna-legal-modal__frame { border: 0; width: 100%; flex: 1; background: #fff; }
/* hide woo inline terms */
.woocommerce-checkout .woocommerce-terms-and-conditions{display:none!important;}

.learna-contact-details h3 { margin: 20px 0 6px; font-size: 18px; }
.learna-contact-details .learna-hours { list-style: none; margin: 0; padding: 0; }
.learna-contact-details .learna-hours li { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; border-bottom: 1px solid #e4eaf1; }
.learna-contact-details .learna-contact-legal { list-style: none; margin: 0; padding: 0; }
.learna-contact-details .learna-contact-legal li { padding: 3px 0; }
/* Single product bottom padding */
body.single-product .brxe-woocommerce-products-archive,
body.single-product .brxe-product-tabs,
body.single-product div.product,
body.single-product .woocommerce-Tabs-panel,
body.single-product #main {
  /* keep product internals unchanged */
}
body.single-product .bricks-site-main,
body.single-product main,
body.single-product .woocommerce.single-product {
  padding-bottom: 64px;
}

/* Office hours — one day per row */
.learna-hours-table { width: 100%; }
.learna-hours-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  border-bottom: 1px dotted #aaaaaa;
  padding: 4px 0 2px;
  font-size: 16px;
  line-height: 1.4;
  color: #1a1a1a;
}
.learna-hours-row .day { font-weight: 400; }
.learna-hours-row .time { text-align: right; white-space: nowrap; }
/* learna-full-viewport */
html {
  min-height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
}
body.brx-body.bricks-is-frontend {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
}
#brx-header,
#brx-footer {
  flex-shrink: 0;
  width: 100%;
}
#brx-content {
  flex: 1 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
}
#brx-footer {
  margin-top: auto;
}

/* Order received — same header as checkout; swap title */
.learna-order-received-header{}
body.woocommerce-order-received #brxe-chktitle{display:none!important}body.woocommerce-order-received #brxe-chkthank{display:block!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #brxe-chkthank{display:none!important}
body.woocommerce-order-received #brxe-chkcon,
body.woocommerce-order-received .woocommerce-order{
  padding-top:64px;
  padding-bottom:64px;
}
body.woocommerce-order-received .woocommerce-order{
  max-width:1400px;
  margin:0 auto;
}
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-table--order-details{
  width:100%;
}
body.woocommerce-order-received .woocommerce-order-overview{
  display:flex;
  flex-wrap:wrap;
  gap:16px 24px;
  list-style:none;
  padding:0;
  margin:0 0 24px;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-size:22px;
  font-weight:600;
  color:#1a1a1a;
  text-align:left;
  margin:0 0 24px;
}
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-order p,
body.woocommerce-order-received .woocommerce-order li,
body.woocommerce-order-received .woocommerce-order td,
body.woocommerce-order-received .woocommerce-order th,
body.woocommerce-order-received .woocommerce-info {
	font-size: 18px;
	line-height: 1.5;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 22px;
	font-weight: 600;
	color: #1a1a1a;
	text-align: left;
	margin: 0 0 24px;
}
body.woocommerce-order-received .woocommerce-info {
	background: #eef6ff;
	border: 0;
	padding: 16px 20px;
	color: #0b2a6b;
}
/* basket total inset — mini-cart untouched */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Full-bleed Woo headers */
body.woocommerce-order-received #brx-content,
body.woocommerce-cart #brx-content,
body.woocommerce-checkout #brx-content {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#brxe-tyhead, #brxe-chkhead, #brxe-bskhead, #brxe-shphead {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box;
}
/* Basket: hide Woo caption and duplicate coupon */
.learna-hide-cart-caption{}
body.woocommerce-cart .woocommerce-cart-form > h2,
body.woocommerce-cart .cart_totals h2,
body.woocommerce-cart .shop_table.cart caption,
body.woocommerce-cart form.woocommerce-cart-form caption {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0);
}
body.woocommerce-cart .coupon + .coupon,
body.woocommerce-cart .woocommerce-cart-form .coupon:nth-of-type(n+2) {
  display: none !important;
}
.learna-teacher__back { text-align: left; margin: 0 0 16px; font-size: 16px; }
.learna-teacher__back a { color: #0b2a6b; text-decoration: none; font-weight: 600; }
.learna-teacher__back a:hover { text-decoration: underline; }
.learna-teacher__btn--back { background: #fff !important; color: #0b2a6b !important; border: 1px solid #0b2a6b !important; }
/* learna-mobile-gutter: tablet portrait and down. Campus (Fluent) excluded — not Bricks. */
@media (max-width: 991px) {
  .bricks-is-frontend .brxe-section > .brxe-container,
  .bricks-is-frontend .brxe-section > .brxe-block {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  body.woocommerce-account .woocommerce,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce,
  body.woocommerce-page #main .woocommerce,
  body.single-legal_document .brxe-post-content,
  body.single-legal .brxe-post-content,
  .learna-teacher-directory,
  .learna-teacher-single,
  .learna-teacher-edit {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
}
@media (max-width: 767px) {
  .bricks-is-frontend .brxe-section > .brxe-container,
  .bricks-is-frontend .brxe-section > .brxe-block {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* learna-single-product-gutter */
@media (max-width: 991px) {
  body.single-product #brx-content,
  body.single-product .woocommerce div.product,
  body.single-product .summary,
  body.single-product .woocommerce-tabs,
  body.single-product .related.products {
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }
  body.single-product .brxe-section > .brxe-container,
  body.single-product .brxe-section > .brxe-block {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* learna-single-product-title-gap */
@media (max-width: 991px) {
  body.single-product div.product .product_title,
  body.single-product div.product h1.entry-title {
    margin-top: 24px;
  }
}
/* learna-a11y-signoff */
.skip-link.screen-reader-text {
  position: absolute;
  left: 8px;
  top: -60px;
  z-index: 100000;
  padding: 8px 16px;
  background: #0b2a6b;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.skip-link.screen-reader-text:focus {
  top: 8px;
  clip: auto !important;
  clip-path: none;
  width: auto;
  height: auto;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.woocommerce-Button:focus-visible,
.bricks-button:focus-visible,
.learna-teacher__btn:focus-visible {
  outline: 3px solid #0b2a6b;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* learna-home-posts */
.learna-home-posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.learna-home-post {
  background: #fff;
  border: 1px solid #c5cdd6;
  border-radius: 12px;
  padding: 16px 16px 20px;
  box-shadow: 0 2px 8px rgba(11,42,107,.08);
  display: flex;
  flex-direction: column;
}
.learna-home-post__img img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}
.learna-home-post__date {
  margin: 12px 0 4px;
  font-size: 14px;
  color: #4b5563;
}
.learna-home-post__title {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.3;
}
.learna-home-post__title a {
  color: #0b2a6b;
  text-decoration: none;
}
.learna-home-post__title a:hover { text-decoration: underline; }
.learna-home-post__excerpt {
  margin: 0 0 12px;
  flex: 1;
}
.learna-home-post__more {
  font-weight: 600;
  color: #0b2a6b;
  text-decoration: none;
}
.learna-home-post__more:hover { text-decoration: underline; }
.learna-home-posts__all {
  text-align: center;
  margin: 28px 0 0;
}
.learna-home-posts__all a {
  font-weight: 700;
  color: #0b2a6b;
}
@media (max-width: 1024px) {
  .learna-home-posts {
    grid-template-columns: 1fr !important;
  }
  .learna-home-post {
    width: 100% !important;
    max-width: 100% !important;
  }
}




/* learna-post-card */
.brxe-lrnqcd a,
.learna-post-card__title a,
.brxe-lrnqtt a {
  text-decoration: none;
  color: var(--learna-navy);
}
.brxe-lrnqcd a:hover,
.learna-post-card__title a:hover {
  text-decoration: underline;
}
.brxe-lrnqgd {
  align-items: stretch;
}
.brxe-lrnqcd {
  min-height: 280px;
}


/* learna-post-card-universal */
.learna-post-grid,
.brxe-lrnqgd {
  align-items: stretch;
}
.learna-post-card,
.brxe-lrnqcd,
.brxe-cfzkmd {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.learna-post-card__title a,
.brxe-lrnqtt a,
.brxe-imeppg a,
.brxe-lrnqcd a {
  text-decoration: none !important;
}
.learna-post-card__title a:hover,
.brxe-lrnqtt a:hover,
.brxe-imeppg a:hover {
  text-decoration: none !important;
}
/* learna-post-card__title-clamp */
.learna-post-card__title,
.brxe-lrnqtt,
.brxe-imeppg {
  min-height: 120px;
  max-height: 120px;
  overflow: hidden;
}
.learna-post-card__title,
.learna-post-card__title a,
.brxe-lrnqtt,
.brxe-lrnqtt a,
.brxe-imeppg,
.brxe-imeppg a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
}

/* learna-hide-wc-register */
.woocommerce-form-register,
.u-column2.col-2 { display: none !important; }
#brxe-lrnaccin .u-column1.col-1,
#brxe-lrnaccin .woocommerce,
#brxe-lrnaccin .woocommerce-form-login,
#brxe-lrnaccbox,
#brxe-lrnaccbox .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
#brxe-lrnaccin {
  align-items: stretch;
}
#brxe-lrnaccbox .woocommerce-form-login {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 24px;
  box-sizing: border-box;
}

/* learna-account-login-h */
#brxe-lrnaccbox .woocommerce h2,
#brxe-lrnaccbox .woocommerce-form-login h2,
#brxe-lrnacclcol .woocommerce h2 {
  font-size: var(--h3) !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  text-align: left !important;
}
#brxe-lrnaccbox .woocommerce-form-login,
#brxe-lrnaccbox form.login {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
#brxe-lrnaccbox .woocommerce {
  text-align: left;
}
#brxe-lrnaccbox .woocommerce h2 + .woocommerce-form-login,
#brxe-lrnaccbox .woocommerce h2 + form.login,
#brxe-lrnaccbox form.woocommerce-form-login,
#brxe-lrnaccbox form.login {
  margin-top: 8px !important;
}
#brxe-lrnaccbox .woocommerce-form-login {
  padding-top: 16px !important;
}
#brxe-lrnaccbox form.woocommerce-form-login,
#brxe-lrnaccbox form.login,
#brxe-lrnaccbox .woocommerce-form-login {
  margin-top: -30px !important;
}
#brxe-lrnacclcol .woocommerce,
#brxe-lrnaccbox .woocommerce,
#brxe-lrnaccbox .u-column1 {
  margin-top: 0 !important;
}
#brxe-lrnacclcol .woocommerce-form-login,
#brxe-lrnaccbox .woocommerce-form-login,
#brxe-lrnaccbox form.login {
  margin-top: -30px !important;
  padding-top: 12px !important;
}