/*
Theme Name:   Mwabu Storefront
Theme URI:    https://mwabu.com/
Description:  A child theme of the Storefront theme by WooCommerce, customized for Mwabu Store.
Author:       Mwabu
Author URI:   https://mwabu.com/
Template:     storefront
Version:      1.0.0
Requires PHP: 5.6.0
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  mwabu-storefront
Tags:         e-commerce, woocommerce, child-theme
*/

/* ==========================================================================
   Mwabu Brand Colors
   ========================================================================== */

:root {
	--mwabu-blue: #250e62;
	--mwabu-purple: #250e62;
	--mwabu-orange: #EA5B0C;
	--mwabu-white: #FFFFFF;
	--mwabu-pink: #e83974;
	--mwabu-green: #7ca72b;
	--mwabu-grey: #858584;
	--mwabu-light-bg: #F5EDED;
	--mwabu-dark-text: #250e62;
	--mwabu-purple-light: rgba(37, 14, 98, 0.1);
	--mwabu-orange-light: rgba(234, 91, 12, 0.05);
}

/* ==========================================================================
   Typography
   ========================================================================== */

body {
	font-family: Calibri, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: var(--mwabu-blue);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--mwabu-blue);
	font-family: Calibri, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

a {
	color: var(--mwabu-orange);
}

a:hover,
a:focus {
	color: var(--mwabu-orange);
	opacity: 0.85;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */

.site-header {
	background-color: var(--mwabu-white);
	border-bottom: 3px solid var(--mwabu-purple);
}

.site-header > .col-full {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.site-header > .col-full .site-branding,
.site-header > .col-full .site-search {
	margin-bottom: 0;
}

.main-navigation ul li a {
	color: var(--mwabu-purple);
	font-weight: 600;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
	color: var(--mwabu-orange);
}

.main-navigation ul.menu li.current-menu-item > a {
	color: var(--mwabu-orange);
}

/* Mobile menu toggle */
button.menu-toggle {
	background-color: var(--mwabu-purple);
	border-color: var(--mwabu-purple);
}

button.menu-toggle:hover {
	background-color: var(--mwabu-orange);
	border-color: var(--mwabu-orange);
}

/* Site branding */
.site-title a {
	color: var(--mwabu-purple);
}

.site-description {
	color: var(--mwabu-purple);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.widget a.button {
	background-color: var(--mwabu-orange);
	border-color: var(--mwabu-orange);
	color: var(--mwabu-white);
	border-radius: 4px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.widget a.button:hover {
	background-color: var(--mwabu-purple);
	border-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

/* Alt/secondary buttons */
.button.alt,
a.button.alt,
button.alt,
input[type="submit"].alt,
#respond input#submit.alt,
a.added_to_cart {
	background-color: var(--mwabu-grey);
	border-color: var(--mwabu-grey);
	color: var(--mwabu-white);
}

.button.alt:hover,
a.button.alt:hover,
button.alt:hover,
input[type="submit"].alt:hover,
#respond input#submit.alt:hover,
a.added_to_cart:hover {
	background-color: var(--mwabu-blue);
	border-color: var(--mwabu-blue);
	color: var(--mwabu-white);
}

/* ==========================================================================
   WooCommerce - Products
   ========================================================================== */

.woocommerce ul.products li.product .price {
	color: var(--mwabu-purple);
	font-weight: 700;
}

.woocommerce ul.products li.product .price ins {
	color: var(--mwabu-orange);
}

.woocommerce span.onsale {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
	font-weight: 700;
	border-color: var(--mwabu-orange);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--mwabu-purple);
}

.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
	color: var(--mwabu-orange);
}

/* Add to Cart buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
	border-radius: 4px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
}

/* ==========================================================================
   WooCommerce - Cart & Checkout
   ========================================================================== */

.site-header-cart .cart-contents {
	color: var(--mwabu-purple);
}

.site-header-cart .cart-contents:hover {
	color: var(--mwabu-orange);
}

.site-header-cart .widget_shopping_cart .buttons a {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
}

.woocommerce .woocommerce-ordering select {
	border-color: var(--mwabu-purple);
	color: var(--mwabu-purple);
}

table.cart td.product-name a {
	color: var(--mwabu-purple);
}

table.cart td.product-name a:hover {
	color: var(--mwabu-orange);
}

/* ==========================================================================
   WooCommerce - Notices & Badges
   ========================================================================== */

.woocommerce-info {
	border-top-color: var(--mwabu-purple);
}

.woocommerce-info::before {
	color: var(--mwabu-purple);
}

.woocommerce-message {
	border-top-color: var(--mwabu-orange);
}

.woocommerce-message::before {
	color: var(--mwabu-orange);
}

/* ==========================================================================
   Pagination & Tabs
   ========================================================================== */

.storefront-sorting,
nav.woocommerce-pagination ul li a:hover,
nav.woocommerce-pagination ul li span.current {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--mwabu-purple);
	border-bottom-color: var(--mwabu-orange);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--mwabu-orange);
}

/* ==========================================================================
   Star Ratings
   ========================================================================== */

.star-rating span::before,
.woocommerce p.stars a::before {
	color: var(--mwabu-orange);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

.site-footer a {
	color: var(--mwabu-white) !important;
}

.site-footer a:hover {
	color: var(--mwabu-orange) !important;
}

.site-footer .widget-area {
	color: var(--mwabu-white);
}

.site-footer .widget-area .widget h2.widget-title {
	color: var(--mwabu-white);
}

.site-info {
	color: rgba(255, 255, 255, 0.85);
}

.site-info a {
	color: var(--mwabu-white);
}

/* ==========================================================================
   Form Elements
   ========================================================================== */

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
.input-text:focus {
	border-color: var(--mwabu-orange);
	outline-color: var(--mwabu-orange);
}

/* ==========================================================================
   Selection highlight
   ========================================================================== */

::selection {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

::-moz-selection {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

/* ==========================================================================
   ENHANCED UX — Global Layout & Spacing
   ========================================================================== */

.col-full {
	max-width: 1200px;
}

/* Tighten spacing between breadcrumb → content → title */
.storefront-breadcrumb {
	margin-bottom: 0 !important;
	padding: 0.6em 0 !important;
}

.site-main {
	padding-top: 0.8em;
}

.entry-header {
	padding-bottom: 0.5em !important;
	margin-bottom: 0.5em !important;
}

.woocommerce-products-header {
	padding-bottom: 0.5em !important;
	margin-bottom: 0.5em !important;
}

/* Hide page title on homepage */
.home .entry-header,
.page-id-304 .entry-header {
	display: none !important;
}

/* ==========================================================================
   Homepage Branding
   ========================================================================== */

/* Hero CTA button — orange fill */
.home .wp-block-button.is-style-fill .wp-block-button__link {
	background-color: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.8em 2em !important;
	font-weight: 700 !important;
	font-size: 1em !important;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
	transition: all 0.25s ease !important;
}

.home .wp-block-button.is-style-fill .wp-block-button__link:hover {
	background-color: var(--mwabu-purple) !important;
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35) !important;
	transform: translateY(-1px);
}

/* Product "View Plans" buttons */
.home .wc-block-components-product-button .wp-block-button__link {
	background-color: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border-radius: 50px !important;
	padding: 0.6em 1.8em !important;
	font-weight: 700 !important;
	font-size: 0.85em !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
	transition: all 0.25s ease !important;
}

.home .wc-block-components-product-button .wp-block-button__link:hover {
	background-color: var(--mwabu-purple) !important;
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35) !important;
	transform: translateY(-1px);
}

/* Sale badges on homepage products */
.home .wc-block-components-product-sale-badge {
	background-color: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border-radius: 50px !important;
	padding: 0.2em 0.8em !important;
	font-size: 0.75em !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Separator lines — purple accent */
.home .wp-block-separator {
	border-color: rgba(37, 14, 98, 0.12) !important;
	opacity: 1 !important;
}

/* Homepage h1 hero heading */
.home .entry-content h1 {
	color: var(--mwabu-purple) !important;
}

/* Homepage h2 section headings */
.home .entry-content h2 {
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Homepage h3 feature headings */
.home .entry-content h3 {
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Homepage CTA link */
.home .has-text-align-center a {
	color: var(--mwabu-orange);
	font-weight: 600;
}

.home .has-text-align-center a:hover {
	color: var(--mwabu-purple);
}

/* Product titles on homepage */
.home .wp-block-post-title a {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

.home .wp-block-post-title a:hover {
	color: var(--mwabu-orange) !important;
}

/* Product price on homepage */
.home .wc-block-components-product-price {
	color: var(--mwabu-purple) !important;
	font-weight: 600;
}

/* Better page title styling */
.woocommerce-products-header__title.page-title,
.entry-title {
	font-size: 2em;
	font-weight: 700;
	text-align: left;
	margin-bottom: 0.3em;
    padding-left: 0px;
}

/* Smooth transitions everywhere */
a,
button,
input[type="submit"],
.button,
.product,
img {
	transition: all 0.25s ease;
}

/* ==========================================================================
   ENHANCED UX — Breadcrumbs
   ========================================================================== */

.woocommerce-breadcrumb {
	color: #888;
	font-size: 0.85em;
	padding: 0.8em 0;
	margin-bottom: 1em;
	border-bottom: 1px solid #eee;
}

.woocommerce-breadcrumb a {
	color: var(--mwabu-purple);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
	color: var(--mwabu-orange);
	text-decoration: underline;
}

/* ==========================================================================
   ENHANCED UX — Shop / Product Grid
   ========================================================================== */

/* Result count bar — subtler */
.woocommerce-result-count {
	color: #666;
	font-size: 0.85em;
}

.storefront-sorting {
	background-color: var(--mwabu-purple);
	padding: 0.6em 1em;
	border-radius: 6px;
	margin-bottom: 1.5em;
}

.storefront-sorting .woocommerce-result-count {
	color: rgba(255, 255, 255, 0.9);
}

/* Product cards */
.woocommerce ul.products li.product {
	text-align: center;
	padding: 1.5em;
	border: 1px solid var(--mwabu-blue);
	border-radius: 12px;
	background: var(--mwabu-white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	position: relative;
	overflow: hidden;
	color: var(--mwabu-blue);
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(37, 14, 98, 0.12);
}

/* Product images */
.woocommerce ul.products li.product a img {
	border-radius: 8px;
	margin-bottom: 0.75em;
}

/* Product titles in grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.1em;
	font-weight: 700;
	padding: 0.3em 0;
}

/* Price in grid */
.woocommerce ul.products li.product .price {
	font-size: 1.05em;
	margin-bottom: 0.75em;
	display: block;
}

/* Sale badge */
.woocommerce span.onsale {
	border-radius: 50px;
	padding: 0.4em 0.9em;
	font-size: 0.75em;
	min-height: auto;
	min-width: auto;
	line-height: 1.4;
	top: 0.5em;
	right: 0.5em;
	left: auto;
	z-index: 2;
}

/* "View Plans" button in grid */
.woocommerce ul.products li.product .button {
	border-radius: 50px;
	padding: 0.7em 1.8em;
	font-size: 0.85em;
	letter-spacing: 0.8px;
	display: inline-block;
	margin-top: 0.5em;
}

/* ==========================================================================
   ENHANCED UX — Single Product Page
   ========================================================================== */

/* Larger product image */
.woocommerce div.product div.images {
	margin-bottom: 2em;
}

.woocommerce div.product div.images img {
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* Product title */
.woocommerce div.product .product_title {
	font-size: 1.8em;
	font-weight: 800;
	color: var(--mwabu-purple);
	margin-bottom: 0.3em;
}

/* Price on single product */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 1.4em;
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1em;
	line-height: 1.7;
	color: #555;
	margin-bottom: 1.5em;
	padding-bottom: 1em;
	border-bottom: 1px solid #eee;
}

/* Variation selector — table row alignment */
.woocommerce div.product form.cart .variations td {
	display: table-cell !important;
	vertical-align: middle;
}

.woocommerce div.product form.cart .variations td.label {
	text-align: left !important;
	width: auto !important;
	padding-right: 1em;
	white-space: nowrap;
}

.woocommerce div.product form.cart .variations td.value {
	text-align: left !important;
	width: 100%;
}

.woocommerce div.product form.cart .variations {
	table-layout: auto !important;
}

.woocommerce div.product form.cart .variations select {
	border: 2px solid var(--mwabu-purple);
	border-radius: 8px;
	padding: 0.7em 1em;
	font-size: 1em;
	color: var(--mwabu-dark-text);
	background-color: #fafafa;
	cursor: pointer;
	min-width: 200px;
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: var(--mwabu-orange);
	box-shadow: 0 0 0 3px rgba(234, 91, 12, 0.15);
	outline: none;
}

.woocommerce div.product form.cart .variations label {
	font-weight: 700;
	color: var(--mwabu-purple);
	font-size: 0.95em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Quantity input */
.woocommerce div.product form.cart div.quantity .qty {
	border: 2px solid #ddd;
	border-radius: 8px;
	padding: 0.5em;
	width: 70px;
	text-align: center;
	font-size: 1em;
}

/* Subscribe Now button — single product */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	border-radius: 50px;
	padding: 0.9em 2.5em;
	font-size: 1em;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35);
	transform: translateY(-1px);
}

/* Trust badge */
.mwabu-trust-badge {
	display: flex;
	gap: 1.5em;
	margin-top: 1.2em;
	padding-top: 1.2em;
	border-top: 1px solid #eee;
	font-size: 0.9em;
	color: #666;
}

.mwabu-trust-badge span {
	display: flex;
	align-items: center;
	gap: 0.3em;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 3em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid #eee;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none;
	background: transparent;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-weight: 600;
	color: #888;
	padding: 0.8em 1.2em;
	border-bottom: 3px solid transparent;
	transition: all 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--mwabu-purple);
	border-bottom-color: var(--mwabu-orange);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--mwabu-orange);
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: 1.5em 0;
	line-height: 1.8;
}

/* ==========================================================================
   ENHANCED UX — Cart Page (Block-based)
   ========================================================================== */

/* Empty cart title — replace sad icon with a friendlier look */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	content: "📚";
	font-size: 2.5em;
	display: block;
	margin-bottom: 0.3em;
	filter: none;
	background: none;
}

.wc-block-cart__empty-cart__title {
	color: var(--mwabu-purple);
	font-size: 1.4em;
	font-weight: 700;
}

/* Empty cart container */
.wp-block-woocommerce-empty-cart-block {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	border-color: var(--mwabu-purple-light);
}

/* Reset left margin on WooCommerce product-collection lists */
.wp-block-woocommerce-product-collection ul,
.wp-block-woocommerce-product-collection ol,
ul.wc-block-product-template,
ul.wc-block-grid__products {
	margin-left: 0 !important;
}

/* Block grid products (New in store section) */
.wc-block-grid__product {
	border: 1px solid var(--mwabu-blue);
	border-radius: 12px;
	padding: 1em;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	color: var(--mwabu-blue);
}

.wc-block-grid__product:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.1);
}

.wc-block-grid__product-image img {
	border-radius: 8px;
}

.wc-block-grid__product-title {
	color: var(--mwabu-purple);
	font-weight: 700;
	font-size: 1em;
}

.wc-block-grid__product-price {
	color: var(--mwabu-purple);
	font-weight: 600;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
	border-radius: 50px;
	padding: 0.6em 1.5em;
	font-weight: 600;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.25s ease;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background-color: var(--mwabu-purple);
	color: var(--mwabu-white);
}

/* Sale badge in block grid */
.wc-block-grid__product-onsale span {
	background-color: var(--mwabu-orange);
	color: var(--mwabu-white);
	border-radius: 50px;
	padding: 0.2em 0.6em;
	font-size: 0.75em;
	font-weight: 700;
}

/* Prevent WooCommerce block cart from overflowing its container */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-cart {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Filled cart — block-based table styling */
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row {
	border-bottom: 1px solid #f0f0f0;
	padding: 1.2em 0;
}

/* Cart column headers */
.wc-block-cart-items__header span {
	color: var(--mwabu-purple) !important;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.5px;
}

/* Product name */
.wc-block-cart .wc-block-components-product-name {
	color: var(--mwabu-purple);
	font-weight: 600;
}

.wc-block-cart .wc-block-components-product-name:hover {
	color: var(--mwabu-orange);
}

/* Product image */
.wc-block-cart .wc-block-cart-item__image img {
	border-radius: 8px !important;
}

/* Sale / savings badge */
.wc-block-cart .wc-block-components-sale-badge {
	background-color: rgba(234, 91, 12, 0.1) !important;
	color: var(--mwabu-orange) !important;
	border: 1px solid var(--mwabu-orange) !important;
	border-radius: 50px !important;
	padding: 0.15em 0.6em !important;
	font-weight: 700;
	font-size: 0.75em;
}

/* Original (strikethrough) price */
.wc-block-cart .wc-block-components-product-price__regular {
	color: #999;
}

/* Sale price */
.wc-block-cart .wc-block-components-product-price__value {
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Quantity selector */
.wc-block-cart .wc-block-components-quantity-selector {
	border-radius: 8px !important;
	border: 2px solid #e0e0e0 !important;
	overflow: hidden;
}

.wc-block-cart .wc-block-components-quantity-selector__button {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

.wc-block-cart .wc-block-components-quantity-selector__button:hover {
	background-color: rgba(37, 14, 98, 0.08) !important;
}

/* Remove item link */
.wc-block-cart .wc-block-cart-item__remove-link {
	color: #999 !important;
	font-size: 0.8em !important;
	transition: color 0.2s ease;
}

.wc-block-cart .wc-block-cart-item__remove-link:hover {
	color: #e74c3c !important;
}

/* Duration & metadata */
.wc-block-cart .wc-block-components-product-metadata {
	color: #666;
	font-size: 0.85em;
}

/* Cart totals panel */
.wc-block-cart .wc-block-cart__totals-title {
	color: var(--mwabu-purple);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 0.9em;
}

/* Total due today label & amount */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

/* Recurring total / subscription info */
.wc-block-cart .wc-block-components-order-meta {
	font-size: 0.85em;
	color: #666;
}

/* Coupon / Add coupons toggle */
.wc-block-cart .wc-block-components-totals-coupon__button-text {
	color: var(--mwabu-purple);
}

/* Proceed to checkout block button */
.wc-block-cart__submit-button {
	background-color: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border-radius: 50px !important;
	padding: 0.9em 2em !important;
	font-weight: 700 !important;
	font-size: 1em !important;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
	transition: all 0.25s ease !important;
	text-transform: uppercase;
}

.wc-block-cart__submit-button:hover {
	background-color: var(--mwabu-purple) !important;
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35) !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   ENHANCED UX — Checkout Page (Block-based)
   ========================================================================== */

/* Prevent WooCommerce block checkout from overflowing its container */
.wp-block-woocommerce-checkout.alignwide,
.wp-block-woocommerce-checkout {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.wc-block-checkout {
	font-size: 0.95em;
}

/* Checkout section headings */
.wc-block-checkout .wc-block-components-checkout-step__heading {
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Checkout form inputs */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout select {
	border-radius: 8px !important;
	border: 2px solid #e0e0e0 !important;
	transition: border-color 0.2s ease;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus {
	border-color: var(--mwabu-orange) !important;
	box-shadow: 0 0 0 3px rgba(234, 91, 12, 0.1) !important;
}

/* Checkout labels */
.wc-block-checkout .wc-block-components-text-input label {
	color: var(--mwabu-purple);
}

/* Order summary in checkout */
.wc-block-checkout .wc-block-components-order-summary {
	border: 1px solid #eee;
	border-radius: 12px;
	padding: 1em;
	background: #fafbfc;
}

/* Place order button */
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	background-color: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border-radius: 50px !important;
	padding: 1em 3em !important;
	font-size: 1.1em !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
	transition: all 0.25s ease !important;
	text-transform: uppercase;
}

.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
	background-color: var(--mwabu-purple) !important;
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35) !important;
	transform: translateY(-1px);
}

/* Payment method selection */
.wc-block-checkout .wc-block-components-radio-control__option {
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 1em;
	margin-bottom: 0.5em;
	transition: border-color 0.2s;
}

.wc-block-checkout .wc-block-components-radio-control__option:hover {
	border-color: var(--mwabu-purple);
}

.wc-block-checkout .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__label {
	color: var(--mwabu-purple);
}

/* Checkout notices */
.wc-block-components-notice-banner {
	border-radius: 8px;
}

/* Checkout actions row — stack vertically, center */
.wc-block-checkout .wc-block-checkout__actions_row {
	flex-direction: column-reverse !important;
	align-items: center !important;
	gap: 1em !important;
}

/* Place Order button — full width */
.wc-block-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	width: 100% !important;
	justify-content: center !important;
}

/* Return to Cart link — centered below button */
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button {
	color: var(--mwabu-purple) !important;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
	font-size: 0.9em;
}

.wc-block-checkout .wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--mwabu-orange) !important;
}

/* Checkout Order Summary heading */
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary__button-text {
	color: var(--mwabu-purple);
	font-weight: 700;
}

/* Checkout total due today */
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

/* Checkout recurring / subscription info */
.wc-block-checkout .wc-block-components-order-meta {
	font-size: 0.85em;
	color: #666;
}

/* Checkout coupon area */
.wc-block-checkout .wc-block-components-totals-coupon__button-text {
	color: var(--mwabu-purple);
}

/* Terms and conditions text */
.wc-block-checkout .wc-block-checkout__terms {
	text-align: center !important;
	font-size: 0.85em;
	color: #666;
	padding-top: 1.5em !important;
	border-top: 1px solid #eee !important;
}

.wc-block-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label {
	color: #666;
}

.wc-block-checkout .wc-block-checkout__terms a {
	color: var(--mwabu-purple);
	font-weight: 600;
}

.wc-block-checkout .wc-block-checkout__terms a:hover {
	color: var(--mwabu-orange);
}

/* Checkout product name in summary */
.wc-block-checkout .wc-block-components-product-name {
	color: var(--mwabu-purple);
	font-weight: 600;
}

/* Checkout sidebar order summary panel */
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel {
	border-radius: 12px;
}

/* ==========================================================================
   ENHANCED UX — My Account Page
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fafbfc;
	border-radius: 12px;
	border: 1px solid #eee;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid #eee;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
.hentry .entry-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 0.9em 1.2em !important;
	color: var(--mwabu-dark-text);
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.hentry .entry-content .woocommerce-MyAccount-navigation ul li.is-active.woocommerce-MyAccount-navigation-link a {
	background: var(--mwabu-purple);
	color: var(--mwabu-white) !important;
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.hentry .entry-content .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link a:hover {
	background: var(--mwabu-purple-light);
	color: var(--mwabu-purple) !important;
}

/* Login form card */
.woocommerce-account .woocommerce form.woocommerce-form-login,
.woocommerce-account .woocommerce form.woocommerce-form-register {
	border: 1px solid #eee;
	border-radius: 12px;
	padding: 2em;
	background: var(--mwabu-white);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	max-width: 480px;
	margin: 0 auto;
}

.woocommerce-account h2 {
	text-align: center;
}

/* ==========================================================================
   ENHANCED UX — Header / Search
   ========================================================================== */

.site-header {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	position: relative;
	z-index: 100;
}

.site-search .widget_product_search input[type="search"],
.site-header .widget_product_search input[type="search"] {
	border: 2px solid #e0e0e0;
	border-radius: 50px;
	padding: 0.6em 1.2em;
	font-size: 0.9em;
	transition: border-color 0.2s ease;
}

/* Vertically centre the search magnifying-glass icon */
.site-search .widget_product_search form::before,
.site-header .widget_product_search form::before {
	top: 50% !important;
	transform: translateY(-50%);
}

.site-search .widget_product_search input[type="search"]:focus,
.site-header .widget_product_search input[type="search"]:focus {
	border-color: var(--mwabu-orange);
	box-shadow: 0 0 0 3px rgba(234, 91, 12, 0.1);
}

/* Cart icon in header */
.site-header-cart .cart-contents {
	font-weight: 600;
}

/* ==========================================================================
   ENHANCED UX — Footer
   ========================================================================== */

.site-footer {
	padding: 0;
	margin-top: 3em;
	border-top: 3px solid var(--mwabu-orange);
}

.site-footer .widget-area {
	padding: 2em 0;
}

.site-info {
	text-align: center;
	padding: 1.6em 1.2em;
	font-size: 0.95em;
	background: none;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0.02em;
}

.site-info a {
	color: var(--mwabu-white) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.site-info a:hover {
	color: var(--mwabu-orange) !important;
}

/* ── Mobile Handheld Footer Bar ──────────────────────── */

.storefront-handheld-footer-bar {
	background-color: var(--mwabu-purple) !important;
	border-top: 2px solid var(--mwabu-orange);
}

.storefront-handheld-footer-bar ul li > a,
.storefront-handheld-footer-bar ul li > a span {
	color: #fff !important;
	background-color: transparent !important;
}

.storefront-handheld-footer-bar ul li > a::before {
	color: #fff !important;
}

.storefront-handheld-footer-bar ul li.cart .count {
	background-color: var(--mwabu-orange) !important;
	color: #fff !important;
	border-color: var(--mwabu-orange) !important;
}

.storefront-handheld-footer-bar ul li.search .site-search {
	background-color: var(--mwabu-purple) !important;
	bottom: -200px !important;          /* push fully off-screen */
	opacity: 0;
	pointer-events: none;
	transition: bottom 0.3s ease, opacity 0.25s ease;
}

/* When search icon is tapped → slide up above the bar */
.storefront-handheld-footer-bar ul li.search.active .site-search {
	bottom: 100% !important;
	opacity: 1;
	pointer-events: auto;
}

.storefront-handheld-footer-bar ul li.search .site-search input[type="search"] {
	background-color: rgba(255, 255, 255, 0.15);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.3);
}

.storefront-handheld-footer-bar ul li.search .site-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

/* ==========================================================================
   ENHANCED UX — WooCommerce Notices
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 8px;
	padding: 1em 1.5em 1em 3em !important;
	color: #333 !important;
	border-left: none !important;
	position: relative;
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
	color: var(--mwabu-purple) !important;
	text-decoration: underline;
}

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-message a.woocommerce-Button,
.woocommerce-info a.woocommerce-Button,
.woocommerce-error a.woocommerce-Button {
	background: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.5em 1.5em !important;
	font-weight: 600;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none;
	float: right;
	transition: all 0.25s ease;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-message a.woocommerce-Button:hover,
.woocommerce-info a.woocommerce-Button:hover,
.woocommerce-error a.woocommerce-Button:hover {
	background: var(--mwabu-purple) !important;
}

.woocommerce-message {
	background: rgba(234, 91, 12, 0.06);
	border-top: 3px solid var(--mwabu-orange);
}

.woocommerce-info {
	background: rgba(37, 14, 98, 0.06);
	border-top: 3px solid var(--mwabu-purple);
}

/* ==========================================================================
   ENHANCED UX — Edwiser Bridge: All Courses Page
   ========================================================================== */

/* Wrapper & title */
.eb-courses__wrapper {
	background: transparent;
	padding: 0;
}

.eb-courses__wrapper .eb-title {
	color: var(--mwabu-purple);
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 1em !important;
}

/* Filter / sort controls */
.eb-courses__controls {
	margin-bottom: 1.5em;
}

.eb-courses__controls .mantine-Input-input,
.eb-courses__controls input[type="search"],
.eb-courses__controls input[type="text"] {
	border: 2px solid #e0e0e0 !important;
	border-radius: 8px !important;
	padding: 0.6em 1em !important;
	font-size: 0.9em;
	transition: border-color 0.2s ease;
}

.eb-courses__controls .mantine-Input-input:focus,
.eb-courses__controls input[type="search"]:focus {
	border-color: var(--mwabu-orange) !important;
	box-shadow: 0 0 0 3px rgba(234, 91, 12, 0.1) !important;
	outline: none;
}

.eb-courses__controls .mantine-Select-input {
	cursor: pointer;
}

/* Course card grid */
.eb-courses__grid {
	gap: 1.5em;
}

/* Course cards — All Courses page (React/block-based) */
.eb-courses__wrapper .eb-courses__course-card {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden;
	background: var(--mwabu-white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.eb-courses__wrapper .eb-courses__course-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(37, 14, 98, 0.12) !important;
}

/* Course thumbnail */
.eb-courses__wrapper .eb-courses__course-card .course-thumbnail-container {
	position: relative;
	overflow: visible;
}

.wp-block-edwiser-bridge-courses .eb-courses__course-card .course-thumbnail-container .course-thumbnail,
.eb-courses__wrapper .eb-courses__course-card .course-thumbnail {
	width: 100%;
	height: auto !important;
	object-fit: contain !important;
	display: block;
	transition: transform 0.3s ease;
}

.eb-courses__wrapper .eb-courses__course-card:hover .course-thumbnail {
	transform: scale(1.03);
}

/* Category badge on thumbnail */
.wp-block-edwiser-bridge-courses .eb-courses__course-card .course-thumbnail-container .course-category,
.eb-courses__wrapper .eb-courses__course-card .course-category {
	position: absolute;
	bottom: auto !important;
	top: auto !important;
	left: 0.6em;
	transform: translateY(-50%) !important;
	background: rgba(37, 14, 98, 0.85) !important;
	color: var(--mwabu-white) !important;
	padding: 0.3em 0.7em !important;
	border-radius: 6px;
	border: none !important;
	font-size: 0.75em;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 0.3em;
	backdrop-filter: blur(4px);
	height: auto !important;
	max-width: calc(100% - 1.2em);
	z-index: 10;
}

.eb-courses__wrapper .eb-courses__course-card .course-category svg {
	width: 14px;
	height: 14px;
}

/* Course meta area */
.eb-courses__wrapper .eb-courses__course-card .course-meta {
	padding: 1em 1.2em;
}

.eb-courses__wrapper .eb-courses__course-card .course-title {
	color: var(--mwabu-purple) !important;
	font-size: 1.05em;
	font-weight: 700 !important;
	margin: 0 0 0.3em;
	line-height: 1.3;
}

.eb-courses__wrapper .eb-courses__course-card .course-excerpt {
	color: #666;
	font-size: 0.85em;
	line-height: 1.5;
	margin: 0 0 0.8em;
}

/* Course details — price & button row */
.eb-courses__wrapper .eb-courses__course-card .course-details {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 0.8em;
	border-top: 1px solid #f0f0f0;
}

/* Enrolled badge */
.eb-courses__wrapper .eb-courses__course-card .enrolled {
	background: rgba(37, 14, 98, 0.1) !important;
	color: var(--mwabu-purple) !important;
	padding: 0.3em 0.8em !important;
	border-radius: 50px !important;
	font-size: 0.78em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* View Details link */
.eb-courses__wrapper .eb-courses__course-card .course-details .btn,
.eb-courses__wrapper .eb-courses__course-card .course-details a {
	color: var(--mwabu-orange) !important;
	font-weight: 600;
	font-size: 0.85em;
	text-decoration: none;
	transition: color 0.2s ease;
}

.eb-courses__wrapper .eb-courses__course-card .course-details .btn:hover,
.eb-courses__wrapper .eb-courses__course-card .course-details a:hover {
	color: var(--mwabu-purple) !important;
}

/* ==========================================================================
   ENHANCED UX — Edwiser Bridge: My Courses Page
   ========================================================================== */

/* Wrapper */
.eb-my-courses-wrapper {
	padding: 0;
}

.eb-my-courses-wrapper .eb-my-courses-h2 {
	color: var(--mwabu-purple);
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 1em;
}

/* My Courses grid */
.eb-my-course.eb_course_cards_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
}

/* Individual course card — My Courses */
.eb-my-courses-wrapper .eb-course-card.eb-course-col {
	border: 1px solid #eee !important;
	border-radius: 12px !important;
	overflow: hidden;
	background: var(--mwabu-white);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove inner grid border — the outer card already has its own */
.eb-my-courses-wrapper .eb-course-card .wdm-course-grid {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0;
	margin: 0;
}

.eb-my-courses-wrapper .eb-course-card.eb-course-col:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(37, 14, 98, 0.12);
}

/* Course image */
.eb-my-courses-wrapper .eb-course-card .wdm-course-image {
	overflow: hidden;
}

.eb-my-courses-wrapper .eb-course-card .wdm-course-image img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}

.eb-my-courses-wrapper .eb-course-card:hover .wdm-course-image img {
	transform: scale(1.03);
}

/* Category label */
.eb-my-courses-wrapper .eb-cat-wrapper-new {
	color: var(--mwabu-purple) !important;
	font-size: 0.72em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 0.2em;
	opacity: 0.7;
}

/* Course title */
.eb-my-courses-wrapper .eb-course-title.eb-course-card-title {
	color: var(--mwabu-purple) !important;
	font-size: 1.05em;
	font-weight: 700 !important;
	line-height: 1.3;
	margin-bottom: 0.4em;
}

/* Progress bar container — contains the bar, status text, and start button */
.eb-my-courses-wrapper .eb-course-progres-wrap {
	margin-top: 0.8em;
	padding-top: 0 !important;
}

.eb-course-action-progress-cont {
	position: relative;
	margin-bottom: 0.5em;
}

/* The actual progress bar track (use ::before as the track background) */
.eb-course-action-progress-cont::before {
	content: '';
	display: block;
	background: #eee;
	border-radius: 50px;
	height: 6px;
	width: 100%;
}

/* The filled portion of the progress bar */
.eb-course-action-progress {
	background: linear-gradient(90deg, var(--mwabu-purple), var(--mwabu-orange));
	height: 6px;
	border-radius: 50px;
	transition: width 0.5s ease;
	position: absolute;
	top: 0;
	left: 0;
}

/* Progress status text */
.eb-course-progress-status {
	color: #888;
	font-size: 0.78em;
	text-align: center;
	margin-top: 0.4em;
	margin-bottom: 0.5em;
}

/* Start / Resume / Continue button */
.eb-course-action-btn-start {
	display: block;
	background: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border: none;
	border-radius: 50px;
	padding: 0.6em 2em;
	font-size: 0.85em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-align: center;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 3px 10px rgba(234, 91, 12, 0.25);
}

.eb-course-action-btn-start:hover {
	background: var(--mwabu-purple) !important;
	box-shadow: 0 5px 16px rgba(37, 14, 98, 0.3);
	transform: translateY(-1px);
}

/* Caption area padding */
.eb-my-courses-wrapper .eb-course-card .wdm-caption {
	padding: 1em 1.2em 1.2em;
}

/* ==========================================================================
   ENHANCED UX — Edwiser Bridge: Single Course Page
   ========================================================================== */

/* Course content area */
.single-course .eb-course-summary .entry-title.eb_single_course_title,
.eb_course .entry-header .entry-title {
	color: var(--mwabu-purple) !important;
	font-size: 2em;
	font-weight: 800;
}

/* Enroll / Take Course / Access Course button on single course */
.eb-enroll-btn,
.eb-course-details-btn,
a.eb-btn,
.wdm_btn,
.wdm-btn,
a.wdm-btn.eb_primary_btn,
.eb_join_button a {
	background: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.8em 2.5em !important;
	font-weight: 700 !important;
	font-size: 1em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(234, 91, 12, 0.3);
	transition: all 0.25s ease !important;
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
}

.eb-enroll-btn:hover,
.eb-course-details-btn:hover,
a.eb-btn:hover,
.wdm_btn:hover,
.wdm-btn:hover,
a.wdm-btn.eb_primary_btn:hover,
.eb_join_button a:hover {
	background: var(--mwabu-purple) !important;
	box-shadow: 0 6px 20px rgba(37, 14, 98, 0.35) !important;
	transform: translateY(-1px);
}

/* Single course content layout — image + summary side by side */
.single-course .eb-course-img-wrapper {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	float: left;
	width: 45%;
	margin-right: 2em;
	margin-bottom: 1.5em;
}

.single-course .eb-course-img-wrapper img {
	display: block;
	width: 100%;
	height: auto !important;
	object-fit: contain;
}

.single-course .eb-course-summary {
	float: right;
	width: 48%;
	margin-bottom: 1.5em;
}

/* Course meta (category, access duration) */
.single-course .eb-course-summary .eb-course-cat {
	color: var(--mwabu-purple);
	font-size: 0.78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	opacity: 0.7;
	margin-bottom: 0.3em;
}

.single-course .eb-course-access-info {
	color: #666;
	font-size: 0.9em;
	margin-bottom: 1em;
}

/* Course overview heading */
.single-course .eb-course-content h2,
.single-course .entry-content h2 {
	color: var(--mwabu-purple);
	font-size: 1.3em;
	font-weight: 700;
	border-bottom: 2px solid var(--mwabu-light-bg);
	padding-bottom: 0.4em;
	margin-bottom: 0.8em;
}

/* Comment / Review form on single course */
.single-course .comment-respond {
	background: var(--mwabu-light-bg);
	border-radius: 12px;
	padding: 2em;
	margin-top: 2em;
}

.single-course .comment-respond .comment-reply-title {
	color: var(--mwabu-purple);
	font-size: 1.3em;
	font-weight: 700;
}

.single-course .comment-respond textarea {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 0.8em 1em;
	font-size: 0.95em;
	transition: border-color 0.2s ease;
}

.single-course .comment-respond textarea:focus {
	border-color: var(--mwabu-purple);
	outline: none;
	box-shadow: 0 0 0 3px rgba(37, 14, 98, 0.1);
}

.single-course .comment-respond input#submit.submit {
	background: var(--mwabu-orange) !important;
	color: var(--mwabu-white) !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 0.7em 2em !important;
	font-weight: 700;
	font-size: 0.9em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all 0.25s ease;
}

.single-course .comment-respond input#submit.submit:hover {
	background: var(--mwabu-purple) !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   ENHANCED UX — Edwiser Bridge: Filter Controls (All Courses)
   ========================================================================== */

/* Mantine select inputs — sorting & category filter */
.eb-courses__wrapper .mantine-Select-root .mantine-Select-input,
.eb-courses__wrapper .mantine-Input-wrapper input,
.eb-courses__wrapper .mantine-TextInput-root input {
	border-radius: 8px !important;
	border-color: #ddd !important;
	font-size: 0.9em;
	transition: border-color 0.2s ease;
}

.eb-courses__wrapper .mantine-Select-root .mantine-Select-input:focus,
.eb-courses__wrapper .mantine-Input-wrapper input:focus,
.eb-courses__wrapper .mantine-TextInput-root input:focus {
	border-color: var(--mwabu-purple) !important;
	box-shadow: 0 0 0 2px rgba(37, 14, 98, 0.1) !important;
}

/* Heading in the EB wrapper */
.eb-courses__wrapper h2 {
	color: var(--mwabu-purple) !important;
	font-weight: 700;
}

/* ==========================================================================
   ENHANCED UX — Responsive / Mobile
   ========================================================================== */

/* Hide duplicate bottom sorting bar */
.woocommerce .site-main > .storefront-sorting:last-of-type,
.woocommerce-page .storefront-sorting ~ .storefront-sorting {
	display: none;
}

@media screen and (max-width: 768px) {

	/* ── Header / Navigation ─────────────────────────── */

	/* Make header a positioning context for the menu toggle */
	.site-header {
		position: relative;
	}

	/* Branding row: logo left, menu toggle right, vertically centred */
	.site-header > .col-full {
		flex-wrap: wrap;
		gap: 0.5em;
		padding-top: 0.8em;
		padding-bottom: 0.8em;
	}

	.site-header > .col-full .site-branding {
		flex: 1 1 0;
		min-width: 0;
	}

	.site-header > .col-full .site-branding img,
	.site-header > .col-full .site-branding .custom-logo {
		max-width: 140px;
		height: auto;
	}

	.site-header > .col-full .site-search {
		flex: 0 0 auto;
		width: auto;
		min-width: 0;
	}

	.site-header .site-search .widget_product_search {
		width: auto;
	}

	.site-search .widget_product_search input[type="search"],
	.site-header .widget_product_search input[type="search"] {
		width: 160px;
		font-size: 0.8em;
		padding: 0.5em 0.8em 0.5em 2em;
	}

	/* Search icon sizing for smaller input */
	.site-search .widget_product_search form::before,
	.site-header .widget_product_search form::before {
		left: 10px !important;
		font-size: 12px;
		width: 12px;
		height: 12px;
	}

	/* ── Menu Toggle Button ──────────────────────────── */
	button.menu-toggle {
		background-color: var(--mwabu-purple) !important;
		border: none !important;
		border-radius: 6px;
		color: #fff !important;
		padding: 0.55em 1em 0.55em 2.2em;
		font-size: 0.85em;
		font-weight: 600;
		letter-spacing: 0.02em;
		box-shadow: none;
		position: relative;
		z-index: 10001;
		float: none;
		display: inline-block;
		max-width: none;
		margin: 0;
	}

	button.menu-toggle::before,
	button.menu-toggle::after,
	button.menu-toggle span::before {
		background-color: #fff;
		left: 0.8em;
		width: 16px;
		height: 2px;
	}

	button.menu-toggle:hover,
	button.menu-toggle:active {
		background-color: var(--mwabu-orange) !important;
	}

	/* Pull nav bar up into the header row */
	.storefront-primary-navigation {
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		display: flex;
		align-items: center;
		z-index: 10000;
	}

	.storefront-primary-navigation > .col-full {
		display: flex;
		align-items: center;
		padding: 0 1em 0 0;
	}

	/* Handheld (mobile) navigation menu items */
	.handheld-navigation {
		position: fixed;
		top: 0;
		right: 0;
		width: 75vw;
		max-width: 300px;
		height: 100vh;
		background: #fff;
		box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
		z-index: 9999;
		padding: 4.5em 0 2em;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}

	/* Show when menu is toggled */
	.main-navigation.toggled .handheld-navigation {
		transform: translateX(0);
	}

	.handheld-navigation ul.menu {
		padding: 0 !important;
		margin: 0 !important;
	}

	.handheld-navigation ul.menu li a {
		color: var(--mwabu-purple);
		font-weight: 600;
		font-size: 1.05em;
		padding: 0.9em 1.5em;
		border-bottom: 1px solid #eee;
		display: block;
	}

	.handheld-navigation ul.menu li a:hover {
		color: var(--mwabu-orange);
	}

	/* Mobile cart icon in nav row */
	.site-header-cart .cart-contents {
		padding: 0.5em 0;
	}

	/* Reduce Storefront's huge header margin on the homepage */
	.home .site-header,
	.page-id-304 .site-header {
		margin-bottom: 0 !important;
	}

	/* Reduce header internal padding */
	.site-header {
		padding-top: 0.5em !important;
		padding-bottom: 0.3em !important;
	}

	/* ── Homepage ─────────────────────────────────────── */

	/* Hero section */
	.home .entry-content h1,
	.page-id-304 .entry-content h1 {
		font-size: 1.6em !important;
	}

	.home .entry-content > p,
	.page-id-304 .entry-content > p {
		font-size: 0.95em;
	}

	/* 3-column feature blocks → stack on mobile */
	.home .wp-block-columns,
	.page-id-304 .wp-block-columns {
		flex-direction: column !important;
		gap: 1.5em;
	}

	.home .wp-block-columns .wp-block-column,
	.page-id-304 .wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	/* Subscription Plan product cards — stack to single column */
	.wc-block-product-template.columns-2,
	.is-flex-container.columns-2.wc-block-product-template {
		flex-direction: column !important;
		gap: 1.5em;
	}

	.wc-block-product-template.columns-2 > .wc-block-product,
	.is-flex-container.columns-2 > .wc-block-product {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Homepage section headings */
	.home .entry-content h2,
	.page-id-304 .entry-content h2 {
		font-size: 1.4em;
	}

	.home .entry-content h3,
	.page-id-304 .entry-content h3 {
		font-size: 1.1em;
	}

	/* CTA button full width on mobile */
	.home .wp-block-button .wp-block-button__link,
	.page-id-304 .wp-block-button .wp-block-button__link {
		display: block;
		text-align: center;
	}

	/* ── Shop / Products ──────────────────────────────── */
	.woocommerce ul.products li.product {
		padding: 1em;
		border-radius: 8px;
	}

	.woocommerce div.product .product_title {
		font-size: 1.4em;
	}

	.woocommerce div.product p.price {
		font-size: 1.2em;
	}

	/* Variations table: stack label + select on small screens */
	.woocommerce div.product form.cart table.variations td {
		display: block !important;
		width: 100% !important;
		padding: 0.2em 0;
	}

	.woocommerce div.product form.cart table.variations tr {
		display: block;
		margin-bottom: 0.5em;
	}

	.woocommerce div.product form.cart .button,
	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100%;
		text-align: center;
	}

	.mwabu-trust-badge {
		flex-direction: column;
		gap: 0.6em;
	}

	/* ── Cart & Checkout ──────────────────────────────── */
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		padding: 1em;
	}

	.woocommerce-account .woocommerce form.woocommerce-form-login {
		padding: 1.5em;
		max-width: 100%;
	}

	/* ── My Account sidebar → stack ───────────────────── */
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 1.5em;
	}

	/* ── Edwiser Bridge mobile ────────────────────────── */
	.eb-courses__grid {
		gap: 1em;
	}

	.eb-courses__course-card .course-meta {
		padding: 0.8em 1em;
	}

	.eb-my-course.eb_course_cards_wrap {
		gap: 1em;
	}

	.eb-course-card .wdm-caption {
		padding: 0.6em 0.8em 0.8em;
	}

	/* Single course page mobile */
	.single-course .eb-course-img-wrapper,
	.single-course .eb-course-summary {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.single-course .eb_single_course_title {
		font-size: 1.4em !important;
	}

	.single-course .comment-respond {
		padding: 1.2em;
	}

	.eb_join_button a,
	a.wdm-btn.eb_primary_btn {
		width: 100%;
		text-align: center;
	}

	/* ── Footer ───────────────────────────────────────── */
	.site-footer {
		margin-top: 2em;
	}

	.site-info {
		font-size: 0.85em;
		padding: 1.2em 1em;
	}
}

/* ══════════════════════════════════════════════════════
   HOMEPAGE CLICKABLE CARDS
   ══════════════════════════════════════════════════════ */
.mwabu-card {
	position: relative;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mwabu-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

/* Stretch the button link over the entire card */
.mwabu-card .mwabu-card__btn a.wp-block-button__link {
	/* Keep the button visible normally */
}

/* Make the card CTA button stand out on hover */
.mwabu-card:hover .mwabu-card__btn a.wp-block-button__link {
	opacity: 0.9;
}

/* Zambia card hover glow */
.mwabu-card--zambia:hover {
	box-shadow: 0 6px 24px rgba(37, 14, 98, 0.18);
}

/* International card hover glow */
.mwabu-card--international:hover {
	box-shadow: 0 6px 24px rgba(234, 91, 12, 0.18);
}

/* Anchor section headings */
#zambian-plans .wp-block-heading,
#international-plans .wp-block-heading {
	color: #250e62;
}

#international-plans .wp-block-heading {
	color: #ea5b0c;
}

/* Smooth scroll for anchor links */
html {
	scroll-behavior: smooth;
}

/* ══════════════════════════════════════════════════════
   HOMEPAGE PRODUCT COLLECTION — compact cards
   ══════════════════════════════════════════════════════ */

/* Constrain the product grid to a sensible max width */
#zambian-plans .wp-block-woocommerce-product-collection,
#international-plans .wp-block-woocommerce-product-collection {
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}

/* Product template grid: smaller cards */
#zambian-plans .wc-block-product-template,
#international-plans .wc-block-product-template {
	gap: 1.5em !important;
}

/* Individual product card */
#zambian-plans .wc-block-product-template > li,
#international-plans .wc-block-product-template > li {
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
}

/* Product images: contain within card, auto aspect ratio */
#zambian-plans .wc-block-components-product-image img,
#international-plans .wc-block-components-product-image img {
	max-height: 160px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	margin: 0 auto;
	display: block;
	border-radius: 8px;
}

/* Override forced 1:1 aspect ratio on the image wrapper */
#zambian-plans .wc-block-components-product-image,
#international-plans .wc-block-components-product-image {
	aspect-ratio: auto !important;
	max-height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
