/*! Maharat Site Kit — skin for theme-rendered pages (Astra + WooCommerce + Tutor LMS + blog). CSS only: templates, checkout, enrolment and account logic are untouched. */

/* Astra layout alignment with the design grid */
.ast-container, .ast-container-fluid { max-width: calc(var(--m-container) + var(--m-gutter) * 2); padding-inline: var(--m-gutter); }
.ast-separate-container, .ast-plain-container, .ast-page-builder-template { background: var(--m-bg); }
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single, .ast-separate-container .comments-area, .ast-separate-container .ast-woocommerce-container { background: transparent; padding: 0; }
.site-content > .ast-container { padding-block: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.entry-title, .page-title, .woocommerce-products-header__title, .ast-archive-title { font: 700 var(--m-fs-3xl)/1.3 var(--m-font-head) !important; color: var(--m-ink) !important; }
.ast-archive-description, .ast-archive-entry-banner { background: var(--m-primary-50) !important; border-radius: var(--m-r-xl); padding: clamp(1.5rem, 3vw, 2.5rem) !important; margin-bottom: 2rem; border: 0 !important; }
.ast-breadcrumbs, .woocommerce-breadcrumb { font-size: .88rem !important; color: var(--m-muted) !important; margin-bottom: 1rem !important; }
.ast-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--m-primary) !important; text-decoration: none; }

/* Forms & buttons (global) */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="search"], input[type="number"], input[type="url"], select, textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container--default .select2-selection--single, .tutor-form-control {
	min-height: 50px; padding: .75rem 1rem; border-radius: var(--m-r) !important; border: 1px solid var(--m-line) !important; background: #fff; font: 400 1rem var(--m-font-body); color: var(--m-ink); box-shadow: none !important; transition: border-color var(--m-dur-fast), box-shadow var(--m-dur-fast);
}
textarea { min-height: 140px; }
input:focus, select:focus, textarea:focus, .tutor-form-control:focus { outline: none; border-color: var(--m-primary) !important; box-shadow: 0 0 0 4px rgba(27, 117, 187, .15) !important; }
.select2-container--default .select2-selection--single { display: flex; align-items: center; }
.woocommerce form .form-row label, .tutor-form-label { font: 600 .92rem/1.5 var(--m-font-body) !important; color: var(--m-ink) !important; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button, .wp-block-button__link, .ast-button, button.ast-button,
.tutor-btn.tutor-btn-primary, .tutor-btn-primary {
	display: inline-flex !important; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .6rem 1.5rem !important; border-radius: 999px !important; border: 0 !important; background: var(--m-primary) !important; color: #fff !important; font: 600 1rem/1.2 var(--m-font-body) !important; text-decoration: none; cursor: pointer; transition: background var(--m-dur-fast), transform var(--m-dur-fast) !important;
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .tutor-btn-primary:hover, .wp-block-button__link:hover { background: var(--m-primary-600) !important; transform: translateY(-1px); color: #fff !important; }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce #place_order, .woocommerce .checkout-button, .single_add_to_cart_button { background: var(--m-accent) !important; color: var(--m-ink) !important; }
.woocommerce .button.alt:hover, .woocommerce #place_order:hover, .single_add_to_cart_button:hover { background: #E8830C !important; color: var(--m-ink) !important; }
.tutor-btn-outline-primary { border-radius: 999px !important; border-color: var(--m-primary) !important; color: var(--m-primary) !important; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .tutor-alert { margin: 0 0 1.5rem !important; padding: 1rem 1.25rem !important; padding-inline-start: 3rem !important; border: 0 !important; border-radius: var(--m-r) !important; background: var(--m-primary-50) !important; color: var(--m-ink) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--m-primary) !important; inset-inline-start: 1.1rem; }
.woocommerce-error { background: #FDECEC !important; }

/* Shop loop (uses the design product card) */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0 !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0 !important; background: none; border: 0; }
.woocommerce .woocommerce-ordering select { min-height: 44px; border-radius: 999px !important; }
.woocommerce .woocommerce-result-count { color: var(--m-muted); font-size: .92rem; }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: .35rem .8rem; border-radius: 999px; background: var(--m-accent); color: var(--m-ink); font-weight: 700; line-height: 1.2; }
.woocommerce-pagination ul.page-numbers, .nav-links, .ast-pagination .nav-links { display: flex !important; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 2.5rem 0 0 !important; padding: 0; list-style: none; border: 0 !important; }
.page-numbers { display: inline-grid !important; place-items: center; min-width: 44px; height: 44px; padding: 0 .75rem !important; border-radius: 12px; border: 1px solid var(--m-line) !important; background: #fff; color: var(--m-ink) !important; text-decoration: none; font-weight: 600; }
.page-numbers.current, a.page-numbers:hover { background: var(--m-primary) !important; border-color: var(--m-primary) !important; color: #fff !important; }
.woocommerce-no-products-found .woocommerce-info { text-align: start; }

/* Single product */
.woocommerce div.product .product_title { font: 700 clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem)/1.3 var(--m-font-head); color: var(--m-ink); }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.6rem !important; color: var(--m-primary-800) !important; font-weight: 700; }
.woocommerce div.product p.price del { font-size: 1rem; color: var(--m-muted); opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-gallery__image img { border-radius: var(--m-r-xl); }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 54px; padding-inline: 2rem !important; }
.woocommerce .quantity .qty { min-height: 48px; width: 4.5rem; border-radius: var(--m-r); text-align: center; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: .5rem; margin: 0 0 1.5rem !important; padding: 0 !important; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem !important; border-radius: 999px; border: 1px solid var(--m-line); color: var(--m-ink) !important; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--m-ink); border-color: var(--m-ink); color: #fff !important; }
.woocommerce div.product .woocommerce-tabs .panel { padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--m-r-lg); background: #fff; border: 1px solid var(--m-line); }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { font: 700 clamp(1.4rem, 1.1rem + 1vw, 1.9rem)/1.3 var(--m-font-head); margin-bottom: 1.5rem; }

/* Cart & checkout (classic + blocks) */
.woocommerce table.shop_table { border: 1px solid var(--m-line) !important; border-radius: var(--m-r-lg) !important; border-collapse: separate !important; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th { background: var(--m-primary-50); font-weight: 600; padding: 1rem !important; }
.woocommerce table.shop_table td { padding: 1rem !important; border-top: 1px solid var(--m-line) !important; vertical-align: middle; }
.woocommerce table.shop_table img { width: 64px; border-radius: 12px; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .wc-block-components-sidebar .wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-block { border-radius: var(--m-r-lg); background: #fff; }
.woocommerce .cart-collaterals .cart_totals { padding: 1.5rem; border: 1px solid var(--m-line); }
#payment { border-radius: var(--m-r-lg) !important; background: var(--m-primary-50) !important; }
#payment div.payment_box { border-radius: var(--m-r) !important; background: #fff !important; }
#payment div.payment_box::before { border-bottom-color: #fff !important; }
.wc-block-cart, .wc-block-checkout { font-family: var(--m-font-body); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: var(--m-r) !important; }
.wc-block-components-main .wc-block-components-checkout-step, .wc-block-cart-items { background: #fff; border-radius: var(--m-r-lg); }
.wc-block-components-button:not(.is-link) { border-radius: 999px !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--m-accent) !important; color: var(--m-ink) !important; }

/* My account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: start; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; max-width: 960px; margin-inline: auto; }
.woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; position: sticky; top: calc(var(--m-header-h-compact) + 1.5rem); }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: .5rem; list-style: none; border-radius: var(--m-r-lg); background: #fff; border: 1px solid var(--m-line); display: grid; gap: 2px; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 46px; padding: 0 1rem; border-radius: 12px; color: var(--m-ink); text-decoration: none; font-weight: 500; }
.woocommerce-MyAccount-navigation a:hover { background: var(--m-primary-50); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--m-primary); color: #fff; }
.woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
/* login / register forms (WooCommerce) */
.woocommerce-account:not(.logged-in) #customer_login, .woocommerce form.login, .woocommerce form.register { border-radius: var(--m-r-xl) !important; }
.woocommerce form.login, .woocommerce form.register { padding: clamp(1.5rem, 3vw, 2.25rem) !important; border: 1px solid var(--m-line) !important; background: #fff; box-shadow: var(--m-shadow); margin-top: 1rem !important; }
#customer_login h2 { font: 700 1.5rem/1.3 var(--m-font-head); }
.woocommerce form .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; }

/* Tutor LMS (archive, single course, dashboard, auth) */
:root { --tutor-color-primary: #1B75BB; --tutor-color-primary-rgb: 27, 117, 187; --tutor-color-primary-hover: #155E99; --tutor-body-color: #2A3B4D; --tutor-color-secondary: #586779; }
.tutor-wrap, .tutor-container, .tutor-course-details-page { font-family: var(--m-font-body) !important; }
.tutor-container { max-width: calc(var(--m-container) + var(--m-gutter) * 2) !important; padding-inline: var(--m-gutter) !important; }
.tutor-card, .tutor-course-card { border-radius: var(--m-r-lg) !important; border: 1px solid var(--m-line) !important; box-shadow: none !important; overflow: hidden; background: #fff; transition: transform var(--m-dur), box-shadow var(--m-dur); }
.tutor-course-card:hover { transform: translateY(-4px); box-shadow: var(--m-shadow-lg) !important; }
.tutor-course-name a, .tutor-course-details-title, .tutor-fs-4, .tutor-fs-5, .tutor-fs-3 { font-family: var(--m-font-head) !important; color: var(--m-ink) !important; }
.tutor-course-thumbnail img, .tutor-ratio img { border-radius: calc(var(--m-r-lg) - 6px); }
.tutor-course-details-page .tutor-course-details-tab .tutor-nav-link.is-active { color: var(--m-primary) !important; border-color: var(--m-primary) !important; }
.tutor-dashboard .tutor-dashboard-menu-item.active a, .tutor-dashboard-permalinks a.active, .tutor-dashboard-menu-item-link.is-active { background: var(--m-primary) !important; color: #fff !important; border-radius: 12px; }
.tutor-progress-bar-fill, .tutor-progress-value { background: var(--m-primary) !important; }
.tutor-course-filter .tutor-form-check-input:checked { background-color: var(--m-primary) !important; border-color: var(--m-primary) !important; }
.tutor-sidebar-card, .tutor-course-sidebar-card { border-radius: var(--m-r-xl) !important; overflow: hidden; border: 1px solid var(--m-line) !important; box-shadow: var(--m-shadow-lg) !important; }
.tutor-accordion-item { border-radius: var(--m-r-lg) !important; overflow: hidden; border: 1px solid var(--m-line) !important; margin-bottom: .75rem; }
.tutor-accordion-item-header { font-family: var(--m-font-head) !important; }
#tutor-registration-wrap, .tutor-login-wrap, .tutor-login-form-wrapper { max-width: 560px; margin-inline: auto; padding: clamp(1.5rem, 3vw, 2.5rem) !important; border-radius: var(--m-r-xl); background: #fff; border: 1px solid var(--m-line); box-shadow: var(--m-shadow); }
.tutor-modal-content, .tutor-modal-content-white { border-radius: var(--m-r-xl) !important; }

/* Blog (Astra archive/single) */
.ast-separate-container .ast-article-post, .blog .ast-article-post, .archive .ast-article-post { border-radius: var(--m-r-lg); }
.ast-blog-layout-classic-grid .ast-article-inner, .ast-article-post .ast-article-inner { background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r-lg); overflow: hidden; transition: transform var(--m-dur) var(--m-ease), box-shadow var(--m-dur) var(--m-ease); }
.ast-article-post .ast-article-inner:hover { transform: translateY(-4px); box-shadow: var(--m-shadow); }
.ast-article-post .post-thumb-img-content img, .ast-article-post .ast-blog-featured-section img { border-radius: calc(var(--m-r-lg) - 6px); }
.entry-content { font-size: 1.08rem; line-height: 1.95; }
.entry-content blockquote { margin-inline: 0; padding: 1.25rem 1.5rem; border-radius: var(--m-r-lg); background: var(--m-primary-50); border: 0; font-weight: 500; }

@media (max-width: 1100px) { .woocommerce ul.products { --cols: 3; } }
@media (max-width: 900px) {
	.woocommerce ul.products { --cols: 2; }
	.woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; }
	.woocommerce-MyAccount-navigation li { flex: none; }
}
@media (max-width: 640px) { .woocommerce ul.products { --cols: 2; gap: .75rem; } .woocommerce .cart .button, .woocommerce .checkout-button, .woocommerce #place_order { width: 100%; } }
@media (max-width: 380px) { .woocommerce ul.products { --cols: 1; } }
