/**
 * Busca Apps — WooCommerce skin.
 * Matches the theme design system: Inter, deep navy accent, surface cards.
 * Loaded only when WooCommerce is active.
 */

/* ------------------------------------------------------------ container */
.busa-woo { padding-top: 48px; }

/* Cart / checkout / account are classic-shortcode pages that render inside
 * .busa-entry-content, which caps prose at 68ch. WooCommerce layouts need
 * the full container width. */
.woocommerce-cart .busa-entry-content,
.woocommerce-checkout .busa-entry-content,
.woocommerce-account .busa-entry-content,
.woocommerce-cart .busa-entry-content > .woocommerce,
.woocommerce-checkout .busa-entry-content > .woocommerce,
.woocommerce-account .busa-entry-content > .woocommerce {
	max-width: none;
	width: 100%;
}

.woocommerce-breadcrumb {
	font-size: 13px !important;
	color: var(--busa-text-mute) !important;
	margin-bottom: 24px !important;
}
.woocommerce-breadcrumb a { color: var(--busa-text-soft); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--busa-accent); }

.woocommerce-products-header__title.page-title {
	font-size: clamp(30px, 3vw, 44px);
	letter-spacing: -0.012em;
	margin-bottom: 12px;
}

.woocommerce-result-count { color: var(--busa-text-mute); font-size: 13px; }

.woocommerce .woocommerce-ordering select {
	font: inherit;
	font-size: 14px;
	padding: 8px 12px;
	background: var(--busa-surface);
	border: 1px solid var(--busa-divider);
	border-radius: var(--busa-radius-md);
	color: var(--busa-text);
}

/* ------------------------------------------------------------- products */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--busa-surface);
	border-radius: var(--busa-radius-md);
	padding: 16px 16px 20px;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.woocommerce ul.products li.product:hover {
	box-shadow: var(--busa-shadow-md);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a img {
	border-radius: var(--busa-radius-sm);
	margin-bottom: 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--busa-font);
	font-weight: var(--busa-heading-weight);
	font-size: 16px;
	padding: 0;
	color: var(--busa-text);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--busa-accent-strong);
	font-weight: var(--busa-heading-weight);
	font-size: 15px;
}
.woocommerce div.product p.price { font-size: 24px; }

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del { opacity: 0.5; font-weight: 400; }

.woocommerce ins { text-decoration: none; }

/* Sale badge — brand chip. */
.woocommerce span.onsale {
	background: var(--busa-accent);
	color: #fff;
	font-size: 11px;
	font-weight: var(--busa-heading-weight);
	letter-spacing: 0.03em;
	min-width: 0;
	min-height: 0;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 6px;
	top: 10px;
	left: 10px;
	margin: 0;
}

/* Ratings. */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: var(--busa-accent); }
.woocommerce .star-rating { font-size: 0.85em; }

/* --------------------------------------------------------------- buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.wc-block-components-button {
	font-family: var(--busa-font);
	font-weight: var(--busa-heading-weight);
	font-size: 14px;
	line-height: 1.2;
	color: #fff;
	background-color: var(--busa-accent);
	border: 1px solid var(--busa-accent);
	border-radius: var(--busa-radius-md);
	padding: 10px 18px;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	color: #fff;
	background-color: var(--busa-accent-strong);
	border-color: var(--busa-accent-strong);
}

.woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple,
.woocommerce a.button.product_type_variable {
	color: var(--busa-accent);
	background: transparent;
	border-color: var(--busa-accent);
}
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce a.button.product_type_simple:hover,
.woocommerce a.button.product_type_variable:hover {
	color: var(--busa-accent-strong);
	background: rgba(0, 5, 82, 0.12);
	border-color: var(--busa-accent-strong);
}

.woocommerce #respond input#submit.disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled[disabled] {
	color: #fff;
	background-color: var(--busa-neutral-400);
	border-color: var(--busa-neutral-400);
}

/* --------------------------------------------------------- single product */
.woocommerce div.product .product_title {
	font-size: clamp(26px, 2.4vw, 34px);
	letter-spacing: -0.01em;
}

.woocommerce div.product div.images img { border-radius: var(--busa-radius-lg); }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: var(--busa-radius-sm); }

.woocommerce div.product form.cart div.quantity .qty,
.woocommerce .quantity .qty {
	min-height: 42px;
	font: inherit;
	font-size: 14px;
	background: var(--busa-surface);
	border: 1px solid var(--busa-divider);
	border-radius: var(--busa-radius-md);
	color: var(--busa-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin-bottom: 20px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--busa-divider); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 18px 0 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-weight: var(--busa-heading-weight);
	font-size: 14px;
	color: var(--busa-text-mute);
	padding: 10px 2px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--busa-accent);
	box-shadow: inset 0 -2px 0 var(--busa-accent);
}

.related.products > h2,
.upsells.products > h2,
.cross-sells > h2,
.cart_totals > h2,
#order_review_heading,
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3 {
	font-size: 22px;
	letter-spacing: -0.01em;
}

/* ------------------------------------------------------------ cart table */
.woocommerce table.shop_table {
	border: 1px solid var(--busa-neutral-200);
	border-radius: var(--busa-radius-md);
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
}
.woocommerce table.shop_table th {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--busa-text-mute);
	background: var(--busa-surface);
}
.woocommerce table.shop_table td { border-top: 1px solid var(--busa-neutral-200); }
.woocommerce table.shop_table td.product-name a { text-decoration: none; }
.woocommerce a.remove {
	color: var(--busa-text-mute) !important;
	font-weight: 400;
}
.woocommerce a.remove:hover {
	color: #fff !important;
	background: #b3423a;
}

.woocommerce #coupon_code.input-text {
	min-height: 42px;
	width: 140px;
	font: inherit;
	font-size: 13px;
	padding: 6px 12px;
	background: var(--busa-surface);
	border: 1px solid var(--busa-divider);
	border-radius: var(--busa-radius-md);
}

/* --------------------------------------------------------------- checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	min-height: 42px;
	font: inherit;
	font-size: 14px;
	padding: 8px 12px;
	color: var(--busa-text);
	background: var(--busa-surface);
	border: 1px solid var(--busa-divider);
	border-radius: var(--busa-radius-md);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--busa-accent);
	outline: none;
}
.woocommerce form .form-row label {
	font-size: 13px;
	color: var(--busa-text-soft);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: var(--busa-surface);
	border-radius: var(--busa-radius-md);
}
.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border-radius: var(--busa-radius-sm);
	font-size: 13px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* ---------------------------------------------------------------- notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 0;
	border-left: 3px solid var(--busa-accent);
	background: var(--busa-surface);
	border-radius: var(--busa-radius-md);
	color: var(--busa-text);
	font-size: 14px;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--busa-accent); }
.woocommerce-error { border-left-color: #b3423a; }
.woocommerce-error::before { color: #b3423a; }

/* ------------------------------------------------------------- pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	gap: 4px;
	display: inline-flex;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
	overflow: hidden;
	border-radius: var(--busa-radius-sm);
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	padding: 8px 13px;
	font-size: 14px;
	color: var(--busa-text-soft);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--busa-accent);
	color: #fff;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--busa-surface);
	color: var(--busa-accent);
}

/* --------------------------------------------- single product: app layout */
.woocommerce div.product { position: relative; }

.woocommerce div.product div.summary {
	background: var(--busa-surface);
	border-radius: var(--busa-radius-lg);
	padding: 30px 30px 26px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--busa-text-soft);
}

.woocommerce div.product form.cart { margin-top: 8px; }

/* Variants — plan / licence selects. */
.woocommerce div.product form.cart table.variations { margin-bottom: 4px; }
.woocommerce div.product form.cart .variations th.label {
	font-size: 12px;
	font-weight: var(--busa-heading-weight);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--busa-text-soft);
	padding: 8px 12px 8px 0;
	vertical-align: middle;
}
.woocommerce div.product form.cart .variations td.value { padding: 6px 0; }
.woocommerce div.product form.cart .variations select {
	min-height: 42px;
	width: 100%;
	max-width: 320px;
	font: inherit;
	font-size: 14px;
	padding: 8px 36px 8px 12px;
	color: var(--busa-text);
	background: #fff;
	border: 1px solid var(--busa-divider);
	border-radius: var(--busa-radius-md);
}
.woocommerce div.product form.cart .variations select:focus {
	border-color: var(--busa-accent);
	outline: none;
}
.woocommerce div.product form.cart .reset_variations {
	font-size: 12px;
	color: var(--busa-text-mute);
}

/* Live price for the chosen variant. */
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation {
	margin-bottom: 14px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--busa-neutral-200);
	border-radius: var(--busa-radius-md);
}
.woocommerce div.product .woocommerce-variation-price span.price {
	font-size: 22px;
	color: var(--busa-accent-strong);
}
.woocommerce div.product .woocommerce-variation-availability { font-size: 12px; }

.woocommerce div.product form.cart .button.single_add_to_cart_button {
	min-height: 46px;
	padding: 12px 26px;
	font-size: 15px;
}

.woocommerce div.product form.cart div.quantity { margin-right: 10px; }

.woocommerce div.product .product_meta {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--busa-divider);
	font-size: 12.5px;
	color: var(--busa-text-mute);
}
.woocommerce div.product .product_meta a { color: var(--busa-text-soft); }
.woocommerce div.product .product_meta a:hover { color: var(--busa-accent); }

/* Features table (attributes / "Features" tab). */
.woocommerce table.woocommerce-product-attributes {
	border: 1px solid var(--busa-neutral-200);
	border-radius: var(--busa-radius-md);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 14px;
}
.woocommerce table.woocommerce-product-attributes th,
.woocommerce table.woocommerce-product-attributes td {
	padding: 12px 16px;
	border: 0;
	border-top: 1px solid var(--busa-neutral-200);
	font-style: normal;
	background: transparent;
}
.woocommerce table.woocommerce-product-attributes tr:first-child th,
.woocommerce table.woocommerce-product-attributes tr:first-child td { border-top: 0; }
.woocommerce table.woocommerce-product-attributes th {
	width: 34%;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--busa-text-soft);
	background: var(--busa-surface);
}
.woocommerce table.woocommerce-product-attributes td p { margin: 0; }

/* --------------------------------------------- product comparison tables */
.busa-compare-wrap { overflow-x: auto; margin: 20px 0 8px; }

table.busa-compare {
	width: 100%;
	min-width: 560px;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--busa-neutral-200);
	border-radius: var(--busa-radius-md);
	overflow: hidden;
	font-size: 13.5px;
	line-height: 1.5;
}
table.busa-compare thead th {
	background: var(--busa-section);
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.03em;
	padding: 12px 16px;
	text-align: left;
}
table.busa-compare thead th:not(:first-child) { text-align: center; }
table.busa-compare td,
table.busa-compare tbody th {
	padding: 11px 16px;
	border-top: 1px solid var(--busa-neutral-200);
	vertical-align: top;
}
table.busa-compare tbody th {
	text-align: left;
	font-weight: 600;
	color: var(--busa-text);
	background: var(--busa-surface);
	width: 34%;
}
table.busa-compare td { text-align: center; color: var(--busa-text-soft); }
table.busa-compare tbody tr:nth-child(even) td { background: rgba(243, 245, 254, 0.5); }
table.busa-compare .yes { color: #1c7a3d; font-weight: 600; }
table.busa-compare .no { color: var(--busa-text-mute); }
table.busa-compare .busa-compare-price {
	font-weight: 600;
	color: var(--busa-accent);
}

/* ------------------------------------------------- checkout: two columns */
form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 8px 48px;
	align-items: start;
}
form.checkout.woocommerce-checkout .col2-set {
	grid-column: 1;
	grid-row: 1 / span 4;
	width: 100%;
	float: none;
}
form.checkout.woocommerce-checkout .col2-set .col-1,
form.checkout.woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	float: none;
}
form.checkout.woocommerce-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 4px;
}
form.checkout.woocommerce-checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	background: var(--busa-surface);
	border-radius: var(--busa-radius-lg);
	padding: 22px;
	position: sticky;
	top: 90px;
}
form.checkout.woocommerce-checkout > .blockUI,
form.checkout.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }

@media (max-width: 920px) {
	form.checkout.woocommerce-checkout { display: block; }
	form.checkout.woocommerce-checkout #order_review { position: static; margin-top: 24px; }
}

form.checkout #order_review table.shop_table {
	background: transparent;
	border: 0;
	margin-bottom: 8px;
}
form.checkout #order_review table.shop_table th,
form.checkout #order_review table.shop_table td {
	background: transparent;
	border-top: 1px solid var(--busa-divider);
	font-size: 14px;
	padding: 10px 4px;
}
form.checkout #order_review table.shop_table thead th { border-top: 0; }
form.checkout #order_review table.shop_table tr.order-total td,
form.checkout #order_review table.shop_table tr.order-total th {
	font-size: 16px;
	font-weight: var(--busa-heading-weight);
	color: var(--busa-accent-strong);
}

.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--busa-divider);
	padding: 4px 0 14px;
}
.woocommerce-checkout #payment div.form-row { padding: 14px 0 0; }
.woocommerce-checkout #payment #place_order {
	width: 100%;
	min-height: 46px;
	font-size: 15px;
}

/* --------------------------------------------------------------- account */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	font-size: 14px;
	text-decoration: none;
	border-radius: var(--busa-radius-md);
	color: var(--busa-text-soft);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	background: var(--busa-surface);
	color: var(--busa-accent);
}
