/* =====================================================================
   ISOW Checkout — dark single-page cart, checkout and thank-you styles
   Scope: body.isow-checkout-page | body.isow-cart-page | body.isow-thankyou-page
   Loads after divi-style and woocommerce-general.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Tokens
   ------------------------------------------------------------------ */
body.isow-checkout-page,
body.isow-cart-page,
body.isow-thankyou-page {
	--isow-bg: #000000;
	--isow-surface: #232323;
	--isow-surface-2: #2c2c2c;
	--isow-surface-3: #333333;
	--isow-glass: rgba(255, 255, 255, 0.05);
	--isow-border: rgba(255, 255, 255, 0.12);
	--isow-border-strong: rgba(255, 255, 255, 0.24);
	--isow-accent: #0090b9;
	--isow-accent-2: #318ec3;
	--isow-accent-soft: rgba(0, 144, 185, 0.16);
	--isow-text: #ffffff;
	--isow-muted: #cccccc;
	--isow-dim: #828282;
	--isow-error: #ff4d4d;
	--isow-error-soft: rgba(255, 77, 77, 0.12);
	--isow-success: #28a745;
	--isow-success-soft: rgba(40, 167, 69, 0.14);
	--isow-radius: 10px;
	--isow-radius-sm: 8px;
	--isow-font: 'Gotham Book', Helvetica, Arial, sans-serif;
	--isow-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
	--isow-focus: 0 0 0 3px rgba(0, 144, 185, 0.35);
}

/* ---------------------------------------------------------------------
   2. Divi resets inside our scope
   ------------------------------------------------------------------ */
body.isow-checkout-page #main-header,
body.isow-checkout-page #top-header,
body.isow-checkout-page #et-secondary-nav,
body.isow-checkout-page .mobile-nav-icons,
body.isow-checkout-page .vertical-nav-cart,
body.isow-checkout-page .mobile-nav-cart,
body.isow-checkout-page #main-footer,
body.isow-checkout-page .et-l--footer,
body.isow-checkout-page #order_review_heading,
body.isow-checkout-page h1.entry-title {
	display: none !important;
}

body.isow-checkout-page #et-main-area,
body.isow-checkout-page.et_vertical_nav #et-main-area {
	margin-left: 0 !important;
}

body.isow-checkout-page #page-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.isow-checkout-page.et_boxed_layout #page-container,
body.isow-checkout-page #main-content {
	width: 100%;
	max-width: none;
	background: var(--isow-bg);
}

body.isow-checkout-page #main-content .container,
body.isow-checkout-page .et_pb_row {
	width: 100%;
	max-width: 1180px;
	padding: 0 24px;
}

body.isow-checkout-page .et_pb_section {
	padding: 24px 0 48px;
	background: var(--isow-bg) !important;
}

body.isow-checkout-page .et_pb_section,
body.isow-checkout-page .et_pb_row,
body.isow-checkout-page .et_pb_column,
body.isow-checkout-page .et_pb_module {
	overflow: visible;
}

body.isow-checkout-page .et_pb_text_inner > p:first-child:empty,
body.isow-checkout-page .et_pb_text_inner > p:last-child:empty {
	display: none;
}

/* Base typography inside the scope (Divi body line-height is 2.8em) */
body.isow-checkout-page .woocommerce,
body.isow-cart-page .woocommerce,
body.isow-thankyou-page .woocommerce,
body.isow-thankyou-page .woocommerce-order {
	font-family: var(--isow-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--isow-text);
}

body.isow-checkout-page .woocommerce p,
body.isow-cart-page .woocommerce p,
body.isow-thankyou-page .woocommerce p {
	line-height: 1.5;
	padding-bottom: 0;
}

body.isow-checkout-page .woocommerce a,
body.isow-cart-page .woocommerce a,
body.isow-thankyou-page .woocommerce a {
	color: var(--isow-accent-2);
}

/* Divi adds an arrow glyph on button hover; never on ours */
body.isow-checkout-page .woocommerce a.button:after,
body.isow-checkout-page .woocommerce button.button:after,
body.isow-checkout-page .woocommerce input.button:after,
body.isow-checkout-page .isow-btn:after,
body.isow-checkout-page #place_order:after,
body.isow-cart-page .woocommerce a.button:after,
body.isow-cart-page .woocommerce button.button:after,
body.isow-cart-page .woocommerce input.button:after,
body.isow-thankyou-page .woocommerce a.button:after,
body.isow-thankyou-page .woocommerce button.button:after {
	display: none !important;
	content: none !important;
}

/* ---------------------------------------------------------------------
   3. Headings, buttons, shared bits
   ------------------------------------------------------------------ */
.isow-heading {
	font-family: var(--isow-font);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--isow-text);
	margin: 0 0 18px;
	padding: 0;
	letter-spacing: 0;
}

.isow-heading--sm {
	font-size: 17px;
	margin-bottom: 14px;
}

.isow-btn,
body.isow-checkout-page .woocommerce .isow-btn,
body.isow-cart-page .woocommerce .isow-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.isow-btn:hover,
body.isow-checkout-page .woocommerce .isow-btn:hover,
body.isow-cart-page .woocommerce .isow-btn:hover {
	background: var(--isow-accent-2);
	color: #fff;
	padding: 0 18px;
}

.isow-btn:focus-visible {
	outline: none;
	box-shadow: var(--isow-focus);
}

.isow-btn--secondary,
body.isow-checkout-page .woocommerce .isow-btn--secondary {
	background: var(--isow-surface-3);
	border-color: var(--isow-border);
}

.isow-btn--secondary:hover,
body.isow-checkout-page .woocommerce .isow-btn--secondary:hover {
	background: #3d3d3d;
}

.isow-btn--ghost,
body.isow-checkout-page .woocommerce .isow-btn--ghost {
	background: transparent;
	border-color: var(--isow-border-strong);
	color: var(--isow-text);
}

.isow-btn--ghost:hover,
body.isow-checkout-page .woocommerce .isow-btn--ghost:hover {
	background: var(--isow-glass);
	color: var(--isow-text);
}

/* Custom checkbox (fee, create account) */
.isow-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
	color: var(--isow-muted);
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.isow-check__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.isow-check__box {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border: 1.5px solid var(--isow-border-strong);
	border-radius: 5px;
	background: var(--isow-surface-2);
	position: relative;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.isow-check__input:checked + .isow-check__box {
	background: var(--isow-accent);
	border-color: var(--isow-accent);
}

.isow-check__input:checked + .isow-check__box::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.isow-check__input:focus-visible + .isow-check__box {
	box-shadow: var(--isow-focus);
}

/* ---------------------------------------------------------------------
   4. Checkout layout
   ------------------------------------------------------------------ */
.isow-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 56px;
	align-items: start;
	max-width: 1130px;
	margin: 0 auto;
}

.isow-summary {
	position: sticky;
	top: 24px;
}

.isow-logo {
	display: inline-block;
	margin: 0 0 28px;
	line-height: 0;
}

.isow-logo img {
	max-height: 56px;
	width: auto;
	display: block;
}

.isow-summary__toggle {
	display: none;
}

.isow-form {
	padding-top: 84px; /* aligns "Contact Info" with "Your order" below the logo */
	min-width: 0;
}

.isow-checkout .isow-summary:not(:has(.isow-logo)) + .isow-form {
	padding-top: 0;
}

/* Notices ------------------------------------------------------------ */
body.isow-checkout-page .woocommerce-NoticeGroup,
body.isow-checkout-page .isow-notices {
	margin: 0 0 16px;
}

body.isow-checkout-page .woocommerce .woocommerce-error,
body.isow-checkout-page .woocommerce .woocommerce-message,
body.isow-checkout-page .woocommerce .woocommerce-info,
body.isow-checkout-page .isow-notices .woocommerce-error,
body.isow-checkout-page .isow-notices .woocommerce-message,
body.isow-checkout-page .isow-notices .woocommerce-info,
body.isow-checkout-page .isow-coupon__notice .woocommerce-error,
body.isow-checkout-page .isow-coupon__notice .woocommerce-message,
body.isow-cart-page .woocommerce .woocommerce-error,
body.isow-cart-page .woocommerce .woocommerce-message,
body.isow-cart-page .woocommerce .woocommerce-info,
body.isow-thankyou-page .woocommerce .woocommerce-error,
body.isow-thankyou-page .woocommerce .woocommerce-message,
body.isow-thankyou-page .woocommerce .woocommerce-info {
	background: var(--isow-surface) !important;
	color: var(--isow-text) !important;
	border: 1px solid var(--isow-border) !important;
	border-left: 4px solid var(--isow-accent) !important;
	border-radius: var(--isow-radius-sm);
	padding: 14px 16px 14px 44px !important;
	margin: 0 0 14px !important;
	font-size: 14px;
	line-height: 1.45;
	list-style: none;
	word-wrap: break-word;
}

body.isow-checkout-page .woocommerce .woocommerce-error,
body.isow-checkout-page .isow-notices .woocommerce-error,
body.isow-checkout-page .isow-coupon__notice .woocommerce-error,
body.isow-cart-page .woocommerce .woocommerce-error,
body.isow-thankyou-page .woocommerce .woocommerce-error {
	border-left-color: var(--isow-error) !important;
}

body.isow-checkout-page .woocommerce .woocommerce-message,
body.isow-checkout-page .isow-notices .woocommerce-message,
body.isow-checkout-page .isow-coupon__notice .woocommerce-message,
body.isow-cart-page .woocommerce .woocommerce-message,
body.isow-thankyou-page .woocommerce .woocommerce-message {
	border-left-color: var(--isow-success) !important;
}

body.isow-checkout-page .woocommerce .woocommerce-error::before,
body.isow-checkout-page .woocommerce .woocommerce-message::before,
body.isow-checkout-page .woocommerce .woocommerce-info::before,
body.isow-checkout-page .isow-notices [class^='woocommerce-']::before,
body.isow-checkout-page .isow-coupon__notice [class^='woocommerce-']::before,
body.isow-cart-page .woocommerce .woocommerce-error::before,
body.isow-cart-page .woocommerce .woocommerce-message::before,
body.isow-cart-page .woocommerce .woocommerce-info::before,
body.isow-thankyou-page .woocommerce .woocommerce-error::before,
body.isow-thankyou-page .woocommerce .woocommerce-message::before,
body.isow-thankyou-page .woocommerce .woocommerce-info::before {
	top: 14px;
	left: 16px;
	color: var(--isow-muted);
}

body.isow-checkout-page .woocommerce .woocommerce-error li,
body.isow-checkout-page .isow-notices .woocommerce-error li,
body.isow-cart-page .woocommerce .woocommerce-error li {
	margin: 0 0 6px;
	padding: 0;
	list-style: none;
}

body.isow-checkout-page .woocommerce .woocommerce-error li:last-child {
	margin-bottom: 0;
}

body.isow-checkout-page .woocommerce .woocommerce-error a,
body.isow-cart-page .woocommerce .woocommerce-message a.button,
body.isow-cart-page .woocommerce .woocommerce-message a.button:hover {
	color: var(--isow-text);
}

/* The "Returning customer?" toggle is replaced by the email modal */
body.isow-checkout-page .woocommerce-form-login-toggle {
	display: none;
}

/* ---------------------------------------------------------------------
   5. Order summary table (WooCommerce review-order, reshaped)
   ------------------------------------------------------------------ */
.isow-summary__body {
	display: block;
}

body.isow-checkout-page .woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	border: 0;
	border-collapse: collapse;
	margin: 0 0 20px;
	background: transparent;
	font-size: 15px;
	table-layout: auto;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table thead {
	display: none;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table th,
body.isow-checkout-page .woocommerce-checkout-review-order-table td {
	border: 0;
	padding: 12px 0;
	color: var(--isow-text);
	text-align: left;
	vertical-align: top;
	background: transparent;
	line-height: 1.4;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table td.product-total,
body.isow-checkout-page .woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	white-space: nowrap;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tbody tr.cart_item td {
	padding: 14px 0;
	border-bottom: 1px solid var(--isow-border);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
	position: relative;
	padding-left: 72px;
	min-height: 56px;
	font-weight: 400;
}

.isow-item__thumb {
	position: absolute;
	left: 0;
	top: 14px;
	width: 56px;
	height: 56px;
	border-radius: var(--isow-radius-sm);
	overflow: hidden;
	background: var(--isow-surface-2);
}

.isow-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.isow-item__name {
	display: block;
	color: var(--isow-text);
}

.isow-item__qty {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--isow-surface-2);
	color: var(--isow-muted);
	font-size: 12px;
	font-weight: 500;
	vertical-align: middle;
}

body.isow-checkout-page .woocommerce a.isow-item__remove {
	display: inline-block;
	margin-top: 4px;
	color: var(--isow-dim);
	font-size: 13px;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

body.isow-checkout-page .woocommerce a.isow-item__remove:hover {
	color: var(--isow-text);
	border-bottom-color: var(--isow-border-strong);
}

body.isow-checkout-page .woocommerce a.isow-item__remove.is-loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Variation / item meta (attributes, certificate names) */
body.isow-checkout-page .woocommerce-checkout-review-order-table dl.variation {
	margin: 6px 0 0;
	font-size: 13px;
	color: var(--isow-muted);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table dl.variation dt,
body.isow-checkout-page .woocommerce-checkout-review-order-table dl.variation dd {
	margin: 0;
	padding: 0;
	display: inline;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table dl.variation dd::after {
	content: '';
	display: block;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table dl.variation p {
	display: inline;
	margin: 0;
}

/* Product Bundles children */
body.isow-checkout-page .woocommerce-checkout-review-order-table tbody tr.bundled_table_item td.product-name {
	padding-left: 88px;
	padding-top: 6px;
	padding-bottom: 10px;
	color: var(--isow-muted);
	font-size: 14px;
	border-bottom: 0;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.bundled_table_item td.product-total {
	color: var(--isow-muted);
	font-size: 14px;
	padding-top: 6px;
	padding-bottom: 10px;
	border-bottom: 0;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.bundled_table_item + tr.cart_item td,
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.bundled_table_item:last-child td {
	border-top: 0;
}

/* Totals */
body.isow-checkout-page .woocommerce-checkout-review-order-table tfoot th {
	font-weight: 400;
	color: var(--isow-muted);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.isow-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child td {
	padding-top: 18px;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.cart-discount th,
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.cart-discount td {
	color: var(--isow-success);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.cart-discount .woocommerce-remove-coupon {
	margin-left: 6px;
	font-size: 12px;
	color: var(--isow-dim);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.cart-discount .woocommerce-remove-coupon:hover {
	color: var(--isow-text);
	border-bottom-color: var(--isow-border-strong);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.order-total th,
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--isow-border);
	color: var(--isow-text);
	font-size: 20px;
	font-weight: 700;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.order-total td small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--isow-dim);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.isow-then th,
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.isow-then td {
	padding-top: 2px;
	color: var(--isow-muted);
	font-size: 14px;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.isow-then td strong {
	font-weight: 500;
	color: var(--isow-text);
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.isow-then td small {
	display: block;
	font-size: 12px;
	color: var(--isow-dim);
}

/* Subscriptions' own recurring block (kept only when recurring shipping must be chosen) */
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.recurring-totals th,
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.recurring-totals td {
	color: var(--isow-muted);
	font-size: 14px;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.recurring-total td small {
	display: block;
	font-size: 12px;
	color: var(--isow-dim);
}

/* Shipping method choice inside the table */
body.isow-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
	vertical-align: top;
	padding-top: 14px;
}

body.isow-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	text-align: left;
	white-space: normal;
}

body.isow-checkout-page ul#shipping_method,
body.isow-checkout-page .woocommerce ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.isow-checkout-page ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 0;
	line-height: 1.4;
	text-indent: 0;
}

body.isow-checkout-page ul#shipping_method li:last-child {
	margin-bottom: 0;
}

body.isow-checkout-page ul#shipping_method input[type='radio'] {
	accent-color: var(--isow-accent);
	margin: 3px 0 0;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

body.isow-checkout-page ul#shipping_method label {
	display: inline;
	margin: 0;
	color: var(--isow-text);
	font-size: 14px;
	font-weight: 400;
}

body.isow-checkout-page .woocommerce-shipping-destination,
body.isow-checkout-page .woocommerce-shipping-calculator {
	font-size: 13px;
	color: var(--isow-dim);
	margin: 6px 0 0;
}

/* ---------------------------------------------------------------------
   6. Summary extras: fee, discount code, add-ons
   ------------------------------------------------------------------ */
.isow-fee {
	padding: 14px 16px;
	margin: 0 0 14px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-glass);
}

.isow-fee.is-empty {
	display: none;
}

.isow-coupon {
	margin: 0 0 28px;
}

.isow-coupon__toggle {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	color: var(--isow-accent-2);
	font-family: var(--isow-font);
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.isow-coupon__toggle:hover,
.isow-coupon__toggle[aria-expanded='true'] {
	border-bottom-color: currentColor;
}

.isow-coupon__toggle:focus-visible {
	outline: none;
	box-shadow: var(--isow-focus);
	border-radius: 3px;
}

.isow-coupon__form {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}

.isow-coupon__form[hidden] {
	display: none;
}

.isow-coupon__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
	text-transform: uppercase;
}

.isow-coupon__input::placeholder {
	text-transform: none;
	color: var(--isow-dim);
}

.isow-coupon__input:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

.isow-coupon__notice:not(:empty) {
	margin-top: 12px;
}

.isow-coupon__notice .woocommerce-error,
.isow-coupon__notice .woocommerce-message {
	margin: 0 !important;
}

/* Add-ons */
.isow-addons.is-empty {
	display: none;
}

.isow-addons {
	padding-top: 24px;
	border-top: 1px solid var(--isow-border);
}

.isow-addons__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.isow-addon {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 44px;
	gap: 14px;
	align-items: center;
	padding: 12px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-glass);
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.isow-addon:hover {
	border-color: var(--isow-border-strong);
	background: rgba(255, 255, 255, 0.07);
}

.isow-addon__thumb {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: var(--isow-radius-sm);
	overflow: hidden;
	background: var(--isow-surface-2);
	line-height: 0;
}

.isow-addon__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.isow-addon__body {
	min-width: 0;
}

body.isow-checkout-page .woocommerce a.isow-addon__name,
body.isow-cart-page .woocommerce a.isow-addon__name {
	display: block;
	color: var(--isow-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.isow-addon__price {
	display: block;
	margin-top: 3px;
	font-size: 14px;
	color: var(--isow-muted);
}

.isow-addon__price del {
	color: var(--isow-dim);
	margin-right: 4px;
}

.isow-addon__price ins {
	text-decoration: none;
}

body.isow-checkout-page .woocommerce .isow-addon__add,
body.isow-cart-page .woocommerce .isow-addon__add,
.isow-addon__add {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-accent);
	color: #fff;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, transform 0.15s ease;
	line-height: 0;
}

body.isow-checkout-page .woocommerce .isow-addon__add:hover,
body.isow-cart-page .woocommerce .isow-addon__add:hover,
.isow-addon__add:hover {
	background: var(--isow-accent-2);
	color: #fff;
	padding: 0;
	transform: translateY(-1px);
}

.isow-addon__add:focus-visible {
	outline: none;
	box-shadow: var(--isow-focus);
}

.isow-addon__add:disabled,
.isow-addon__add.is-loading {
	cursor: default;
	transform: none;
}

.isow-addon__add.is-loading svg {
	opacity: 0;
}

.isow-addon__spinner {
	display: none;
	position: absolute;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: isow-spin 0.7s linear infinite;
}

.isow-addon__add.is-loading .isow-addon__spinner {
	display: block;
}

@keyframes isow-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Name Your Price add-on */
.isow-addon__nyp-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
}

.isow-addon__currency {
	color: var(--isow-muted);
	font-size: 14px;
}

.isow-addon__nyp {
	width: 72px;
	height: 34px;
	padding: 0 8px;
	border: 1px solid var(--isow-border-strong);
	border-radius: 6px;
	background: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 14px;
}

.isow-addon__nyp:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

.isow-addon__chips {
	display: inline-flex;
	gap: 4px;
}

.isow-addon__chip {
	padding: 0 8px;
	height: 26px;
	border: 1px solid var(--isow-border);
	border-radius: 999px;
	background: transparent;
	color: var(--isow-muted);
	font-family: var(--isow-font);
	font-size: 12px;
	cursor: pointer;
}

.isow-addon__chip:hover,
.isow-addon__chip.is-active {
	border-color: var(--isow-accent);
	color: var(--isow-text);
}

/* ---------------------------------------------------------------------
   7. Form fields (right column)
   ------------------------------------------------------------------ */
body.isow-checkout-page .woocommerce .col2-set .col-1,
body.isow-checkout-page .woocommerce .col2-set .col-2,
body.isow-checkout-page .woocommerce-page .col2-set .col-1,
body.isow-checkout-page .woocommerce-page .col2-set .col-2 {
	float: none;
	width: 100%;
	max-width: none;
	padding: 0;
	margin: 0;
}

body.isow-checkout-page .woocommerce-billing-fields > h3,
body.isow-checkout-page .woocommerce-shipping-fields,
body.isow-checkout-page .woocommerce-additional-fields > h3 {
	display: none;
}

body.isow-checkout-page .woocommerce-billing-fields__field-wrapper,
body.isow-checkout-page .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 14px;
}

body.isow-checkout-page .woocommerce form .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	position: relative;
}

body.isow-checkout-page .woocommerce form .form-row-wide,
body.isow-checkout-page .woocommerce form .form-row.form-row-wide {
	grid-column: 1 / -1;
}

/* Address block only when the cart needs shipping */
body.isow-checkout-page:not(.isow-needs-shipping) .woocommerce form .form-row.isow-addr {
	display: none;
}

/* Labels */
body.isow-checkout-page .woocommerce form .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--isow-muted);
	font-family: var(--isow-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

body.isow-checkout-page .woocommerce form .form-row label.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: 0;
}

/* Keep the "Last name" input aligned with "First name" whose label is visible */
body.isow-checkout-page .woocommerce form .form-row.isow-name--last {
	padding-top: 23px;
}

body.isow-checkout-page .woocommerce form .form-row .required {
	color: var(--isow-error);
	text-decoration: none;
}

body.isow-checkout-page .woocommerce form .form-row .optional {
	color: var(--isow-dim);
	font-weight: 400;
}

/* Inputs */
body.isow-checkout-page .woocommerce form .form-row input.input-text,
body.isow-checkout-page .woocommerce form .form-row textarea,
body.isow-checkout-page .woocommerce form .form-row select,
body.isow-checkout-page .woocommerce form .form-row .select2-container--default .select2-selection--single,
body.isow-checkout-page .woocommerce-form-login input.input-text {
	display: block;
	width: 100%;
	height: 48px;
	padding: 0 14px;
	margin: 0;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background-color: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
	line-height: 46px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

body.isow-checkout-page .woocommerce form .form-row textarea {
	height: auto;
	min-height: 96px;
	padding: 12px 14px;
	line-height: 1.5;
}

body.isow-checkout-page .woocommerce form .form-row input.input-text::placeholder,
body.isow-checkout-page .woocommerce form .form-row textarea::placeholder {
	color: var(--isow-dim);
	opacity: 1;
}

body.isow-checkout-page .woocommerce form .form-row input.input-text:focus,
body.isow-checkout-page .woocommerce form .form-row textarea:focus,
body.isow-checkout-page .woocommerce form .form-row select:focus,
body.isow-checkout-page .woocommerce form .form-row .select2-container--default.select2-container--focus .select2-selection--single,
body.isow-checkout-page .woocommerce form .form-row .select2-container--default.select2-container--open .select2-selection--single,
body.isow-checkout-page .woocommerce-form-login input.input-text:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
	color: var(--isow-text);
	background-color: var(--isow-surface-2);
}

body.isow-checkout-page .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.isow-checkout-page .woocommerce form .form-row.woocommerce-invalid select,
body.isow-checkout-page .woocommerce form .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
	border-color: var(--isow-error);
	box-shadow: none;
}

body.isow-checkout-page .woocommerce form .form-row.woocommerce-validated input.input-text,
body.isow-checkout-page .woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--isow-border-strong);
}

body.isow-checkout-page .woocommerce form .form-row input.input-text:-webkit-autofill,
body.isow-checkout-page .woocommerce form .form-row input.input-text:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--isow-text);
	-webkit-box-shadow: 0 0 0 1000px var(--isow-surface-2) inset;
	transition: background-color 9999s ease-out;
}

body.isow-checkout-page .woocommerce form .form-row .woocommerce-input-wrapper {
	display: block;
}

body.isow-checkout-page .woocommerce form .form-row .checkout-inline-error-message {
	color: var(--isow-error);
	font-size: 12px;
	margin: 6px 0 0;
}

/* Native select fallback (state when select2 is off) */
body.isow-checkout-page .woocommerce form .form-row select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23cccccc' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
}

/* Select2 (country / state) */
body.isow-checkout-page .woocommerce form .form-row .select2-container {
	display: block;
	width: 100% !important;
}

body.isow-checkout-page .woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--isow-text);
	line-height: 46px;
	padding-left: 0;
	padding-right: 30px;
}

body.isow-checkout-page .woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--isow-dim);
}

body.isow-checkout-page .woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: 10px;
}

body.isow-checkout-page .woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--isow-muted) transparent transparent transparent;
}

body.isow-checkout-page .woocommerce form .form-row .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent var(--isow-muted) transparent;
}

/* The dropdown is appended to <body> */
body.isow-checkout-page .select2-container--default .select2-dropdown,
body.isow-cart-page .select2-container--default .select2-dropdown {
	background: var(--isow-surface-2);
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	box-shadow: var(--isow-shadow);
	overflow: hidden;
	font-family: var(--isow-font);
}

body.isow-checkout-page .select2-container--default .select2-search--dropdown .select2-search__field,
body.isow-cart-page .select2-container--default .select2-search--dropdown .select2-search__field {
	background: var(--isow-surface);
	border: 1px solid var(--isow-border);
	border-radius: 6px;
	color: var(--isow-text);
	padding: 8px 10px;
	font-family: var(--isow-font);
}

body.isow-checkout-page .select2-container--default .select2-results__option,
body.isow-cart-page .select2-container--default .select2-results__option {
	color: var(--isow-text);
	padding: 9px 12px;
	font-size: 14px;
}

body.isow-checkout-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.isow-checkout-page .select2-container--default .select2-results__option--highlighted[data-selected],
body.isow-cart-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.isow-cart-page .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--isow-accent);
	color: #fff;
}

body.isow-checkout-page .select2-container--default .select2-results__option[aria-selected='true'],
body.isow-checkout-page .select2-container--default .select2-results__option[data-selected='true'],
body.isow-cart-page .select2-container--default .select2-results__option[aria-selected='true'],
body.isow-cart-page .select2-container--default .select2-results__option[data-selected='true'] {
	background: var(--isow-surface-3);
}

/* Create account checkbox (guest, non-course carts) */
body.isow-checkout-page .woocommerce-account-fields {
	margin: 4px 0 0;
}

body.isow-checkout-page .woocommerce-account-fields .create-account {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}

body.isow-checkout-page .woocommerce-account-fields .create-account label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--isow-muted);
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
}

body.isow-checkout-page .woocommerce-account-fields input[type='checkbox'] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--isow-accent);
}

body.isow-checkout-page .woocommerce-account-fields .woocommerce-privacy-policy-text,
body.isow-checkout-page .woocommerce-account-fields .form-row {
	grid-column: 1 / -1;
}

/* Third-party opt-in fields: Mailchimp newsletter / SMS, AutomateWoo birthday */
body.isow-checkout-page .woocommerce form .form-row.mailchimp-newsletter,
body.isow-checkout-page .mailchimp-newsletter,
body.isow-checkout-page .mailchimp-sms-consent,
body.isow-checkout-page .automatewoo-birthday-section {
	grid-column: 1 / -1;
	margin: 6px 0 0;
	padding: 0;
	float: none;
	width: auto;
}

body.isow-checkout-page .mailchimp-newsletter label.woocommerce-form__label-for-checkbox,
body.isow-checkout-page .mailchimp-sms-consent label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--isow-muted);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

body.isow-checkout-page .mailchimp-newsletter input[type="checkbox"],
body.isow-checkout-page .mailchimp-sms-consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--isow-accent);
}

body.isow-checkout-page .automatewoo-birthday-section > label,
body.isow-checkout-page .automatewoo-birthday-section__collapsible > label {
	display: block;
	margin: 0 0 6px;
	color: var(--isow-muted);
	font-family: var(--isow-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}

body.isow-checkout-page .automatewoo-birthday-field {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.1fr;
	gap: 10px;
}

/* The three selects inherit the dark field styling from the .form-row select rules; just size the boxes. */
body.isow-checkout-page .automatewoo-birthday-field select,
body.isow-checkout-page .woocommerce form .automatewoo-birthday-field select.automatewoo-select {
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0 34px 0 14px;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background-color: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
	line-height: 46px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23cccccc' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

body.isow-checkout-page .automatewoo-birthday-field select:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

body.isow-checkout-page .automatewoo-birthday-section .automatewoo-birthday-section__description,
body.isow-checkout-page .automatewoo-birthday-section > p,
body.isow-checkout-page .automatewoo-birthday-section small,
body.isow-checkout-page .mailchimp-newsletter .description {
	display: block;
	margin: 8px 0 0;
	color: var(--isow-dim);
	font-size: 12px;
	font-style: normal;
	line-height: 1.45;
}

/* Spacing between the fields block and payment */
body.isow-checkout-page #customer_details {
	margin: 0 0 32px;
}

/* ---------------------------------------------------------------------
   8. Express checkout (Stripe ECE) + separator
   ------------------------------------------------------------------ */
body.isow-checkout-page #wc-stripe-express-checkout-element {
	margin: 0 0 8px !important;
	clear: both;
}

body.isow-checkout-page #wc-stripe-express-checkout-button-separator {
	display: flex !important;
	align-items: center;
	gap: 14px;
	margin: 14px 0 22px !important;
	color: var(--isow-dim);
	font-size: 13px;
	text-align: center;
	text-transform: none;
	letter-spacing: 0.02em;
}

body.isow-checkout-page #wc-stripe-express-checkout-button-separator[style*='display: none'],
body.isow-checkout-page #wc-stripe-express-checkout-button-separator[style*='display:none'] {
	display: none !important;
}

body.isow-checkout-page #wc-stripe-express-checkout-button-separator::before,
body.isow-checkout-page #wc-stripe-express-checkout-button-separator::after {
	content: '';
	flex: 1 1 auto;
	height: 1px;
	background: var(--isow-border);
}

body.isow-checkout-page .woocommerce-pay-buttons {
	display: none;
}

/* ---------------------------------------------------------------------
   9. Payment
   ------------------------------------------------------------------ */
body.isow-checkout-page #order_review {
	margin: 0;
}

body.isow-checkout-page .woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin: 0;
}

body.isow-checkout-page #order_review::before {
	content: 'Payment';
	display: block;
	font-family: var(--isow-font);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 0 18px;
	color: var(--isow-text);
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	text-align: left;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li {
	position: relative;
	margin: 0 0 10px;
	padding: 0;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-surface);
	overflow: hidden;
	line-height: 1.4;
	text-indent: 0;
	list-style: none;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li:has(> input[type='radio']:checked) {
	border-color: var(--isow-accent);
	box-shadow: 0 0 0 1px var(--isow-accent) inset;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > input.input-radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	line-height: 1.3;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label::before {
	content: '';
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--isow-border-strong);
	border-radius: 50%;
	background: var(--isow-surface-2);
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > input[type='radio']:checked + label::before {
	border-color: var(--isow-accent);
	border-width: 5px;
	background: #fff;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > input[type='radio']:focus-visible + label::before {
	box-shadow: var(--isow-focus);
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li:only-child > label::before {
	display: none;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label img {
	max-height: 24px;
	width: auto;
	margin: 0 0 0 auto;
	vertical-align: middle;
	padding: 0;
	background: #fff;
	border-radius: 4px;
	padding: 2px 4px;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label .stripe-icon,
body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label .stripe-icon img {
	background: transparent;
	padding: 0;
	margin-left: 4px;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.payment_methods li > label a.about_paypal {
	margin-left: auto;
	margin-right: 8px;
	font-size: 12px;
	color: var(--isow-dim);
	line-height: 1.2;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box {
	position: relative;
	width: auto;
	margin: 0;
	padding: 2px 16px 16px;
	border-radius: 0;
	background: var(--isow-surface);
	color: var(--isow-muted);
	font-size: 14px;
	line-height: 1.5;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box p {
	margin: 0 0 8px;
	color: var(--isow-muted);
	line-height: 1.5;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box p:last-child {
	margin-bottom: 0;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	background: transparent;
}

body.isow-checkout-page .woocommerce-checkout #payment div.payment_box .form-row {
	margin: 0 0 10px;
	padding: 0;
}

/* Stripe UPE element wrapper: Stripe computes the element theme from #billing_first_name and this background */
body.isow-checkout-page .wc-stripe-upe-element,
body.isow-checkout-page #wc-stripe-upe-form {
	margin: 4px 0 0;
}

body.isow-checkout-page #wc-stripe-upe-errors,
body.isow-checkout-page .wc-stripe-error,
body.isow-checkout-page .woocommerce-checkout #payment div.payment_box .woocommerce-SavedPaymentMethods-saveNew {
	color: var(--isow-muted);
}

/* Saved payment methods */
body.isow-checkout-page .woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	padding: 10px 12px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	overflow: visible;
	box-shadow: none;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li input[type='radio'] {
	position: static;
	opacity: 1;
	width: 16px;
	height: 16px;
	accent-color: var(--isow-accent);
	pointer-events: auto;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li label {
	display: inline;
	margin: 0;
	padding: 0;
	color: var(--isow-text);
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
}

body.isow-checkout-page .woocommerce-checkout #payment ul.woocommerce-SavedPaymentMethods li label::before {
	display: none;
}

body.isow-checkout-page .woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 0;
	font-size: 14px;
}

body.isow-checkout-page .woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input[type='checkbox'] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--isow-accent);
}

body.isow-checkout-page .woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label {
	display: inline;
	margin: 0;
	color: var(--isow-muted);
	font-weight: 400;
	cursor: pointer;
}

/* Place order */
body.isow-checkout-page .woocommerce-checkout #payment div.form-row.place-order {
	padding: 0;
	margin: 22px 0 0;
	overflow: hidden;
}

body.isow-checkout-page .woocommerce #payment .place-order noscript {
	display: block;
	margin-bottom: 12px;
	color: var(--isow-muted);
	font-size: 13px;
}

.isow-terms,
body.isow-checkout-page .woocommerce .isow-terms,
body.isow-checkout-page .woocommerce-privacy-policy-text p,
body.isow-checkout-page .woocommerce-terms-and-conditions-wrapper p {
	margin: 0 0 14px;
	color: var(--isow-dim);
	font-size: 13px;
	line-height: 1.5;
}

body.isow-checkout-page .woocommerce .isow-terms a,
body.isow-checkout-page .woocommerce-privacy-policy-text a {
	color: var(--isow-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.isow-checkout-page .woocommerce .isow-terms a:hover {
	color: var(--isow-text);
}

body.isow-checkout-page .woocommerce #payment #place_order,
body.isow-checkout-page .woocommerce-checkout #payment #place_order,
body.isow-checkout-page .woocommerce button.button.alt#place_order {
	display: block;
	float: none;
	clear: both;
	width: 100%;
	height: 56px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: var(--isow-radius);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 18px;
	font-weight: 500;
	line-height: 56px;
	letter-spacing: 0.01em;
	text-transform: none;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0, 144, 185, 0.28);
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

body.isow-checkout-page .woocommerce #payment #place_order:hover,
body.isow-checkout-page .woocommerce-checkout #payment #place_order:hover {
	background: var(--isow-accent-2);
	color: #fff;
	padding: 0 20px;
	transform: translateY(-1px);
	box-shadow: 0 10px 28px rgba(0, 144, 185, 0.36);
}

body.isow-checkout-page .woocommerce #payment #place_order:focus-visible {
	outline: none;
	box-shadow: var(--isow-focus), 0 8px 24px rgba(0, 144, 185, 0.28);
}

body.isow-checkout-page .woocommerce #payment #place_order:disabled,
body.isow-checkout-page .woocommerce #payment #place_order[disabled] {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}

.isow-secured {
	clear: both;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	margin: 16px 0 0;
	color: var(--isow-dim);
	font-size: 12px;
	line-height: 1.5;
	text-align: left;
}

.isow-secured__icon {
	flex: 0 0 auto;
	margin-top: 2px;
}

/* Cloudflare Turnstile widget sits before the button */
body.isow-checkout-page .cf-turnstile {
	margin: 0 0 14px;
}

/* Advanced Coupons store credit / coupon accordion (renders in #order_review before #payment) */
body.isow-checkout-page .acfw-checkout-ui-block,
body.isow-checkout-page .acfw-store-credits-checkout-ui {
	margin: 0 0 22px;
	background: var(--isow-surface);
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	overflow: hidden;
	color: var(--isow-text);
}

/* ACFW ships high-specificity light-theme rules (.acfw-checkout-ui-block .acfw-accordion …),
   so these overrides use !important to win regardless of source order. */
body.isow-checkout-page .acfw-accordion h3,
body.isow-checkout-page .acfw-checkout-ui-block .acfw-accordion h3 {
	margin: 0;
	padding: 14px 16px;
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	color: var(--isow-text) !important;
	background: transparent !important;
	border: 0;
	cursor: pointer;
}

body.isow-checkout-page .acfw-accordion .acfw-accordion-inner,
body.isow-checkout-page .acfw-checkout-ui-block .acfw-accordion .acfw-accordion-inner {
	background: transparent !important;
	padding: 0;
}

body.isow-checkout-page .acfw-accordion-content,
body.isow-checkout-page .acfw-checkout-ui-block .acfw-accordion .acfw-accordion-content {
	padding: 4px 16px 16px;
	color: var(--isow-muted);
	font-size: 14px;
	background: transparent !important;
}

body.isow-checkout-page .acfw-accordion-content p,
body.isow-checkout-page .acfw-store-credit-instructions,
body.isow-checkout-page .acfw-store-credit-user-balance {
	color: var(--isow-muted) !important;
}

body.isow-checkout-page .acfw-store-credit-user-balance strong,
body.isow-checkout-page .acfw-store-credit-user-balance .woocommerce-Price-amount,
body.isow-checkout-page .acfw-store-credit-user-balance .woocommerce-Price-currencySymbol {
	color: var(--isow-text) !important;
}

body.isow-checkout-page .acfw-accordion .caret img {
	filter: invert(1);
}

body.isow-checkout-page .acfw-store-credit-user-balance .woocommerce-Price-amount,
body.isow-checkout-page .acfw-store-credit-user-balance strong {
	color: var(--isow-text);
}

body.isow-checkout-page .acfw-redeem-store-credit-form-field input[type='text'],
body.isow-checkout-page .acfw-checkout-ui-block input[type='text'] {
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
}

body.isow-checkout-page .acfw-redeem-store-credit-form-field input[type='text']:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

body.isow-checkout-page .acfw-redeem-store-credit-form-field button.button,
body.isow-checkout-page .acfw-checkout-ui-block button.button {
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-3);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 42px;
}

body.isow-checkout-page .acfw-redeem-store-credit-form-field button.button:hover {
	background: #3d3d3d;
	padding: 0 16px;
}

/* Smart Coupons available-coupons list */
body.isow-checkout-page .woocommerce .sc-coupons-list,
body.isow-checkout-page .woocommerce #sc-cc {
	color: var(--isow-muted);
}

/* ---------------------------------------------------------------------
   10. Login modal + login form
   ------------------------------------------------------------------ */
.isow-modal[hidden] {
	display: none;
}

.isow-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	font-family: var(--isow-font);
}

.isow-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(4px);
}

.isow-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 440px;
	padding: 28px 28px 24px;
	border: 1px solid var(--isow-border);
	border-radius: 14px;
	background: var(--isow-surface);
	color: var(--isow-text);
	box-shadow: var(--isow-shadow);
	animation: isow-pop 0.18s ease-out;
}

@keyframes isow-pop {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.isow-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--isow-dim);
	font-size: 26px;
	line-height: 36px;
	cursor: pointer;
}

.isow-modal__close:hover {
	background: var(--isow-glass);
	color: var(--isow-text);
}

.isow-modal__title {
	margin: 0 0 10px;
	font-family: var(--isow-font);
	font-size: 22px;
	font-weight: 500;
	color: var(--isow-text);
	line-height: 1.25;
	padding: 0;
}

.isow-modal__intro p {
	margin: 0 0 20px;
	color: var(--isow-muted);
	font-size: 15px;
	line-height: 1.5;
	padding: 0;
}

.isow-modal__email {
	color: var(--isow-text);
	word-break: break-all;
}

.isow-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.isow-modal.is-login .isow-modal__intro {
	display: none;
}

.isow-modal__login-wrap:empty {
	display: none;
}

body.isow-modal-open {
	overflow: hidden;
}

/* WooCommerce login form (moved into the modal by JS, otherwise hidden) */
body.isow-checkout-page .woocommerce > form.woocommerce-form-login,
body.isow-checkout-page .woocommerce-checkout > form.woocommerce-form-login,
body.isow-checkout-page .woocommerce form.woocommerce-form-login {
	display: none;
}

.isow-modal__login-wrap form.woocommerce-form-login,
body.isow-checkout-page .isow-modal__login-wrap form.woocommerce-form-login {
	display: block !important;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.isow-modal__login-wrap form.woocommerce-form-login > p:first-child {
	color: var(--isow-muted);
	font-size: 14px;
	margin: 0 0 16px;
}

.isow-modal__login-wrap .form-row {
	float: none;
	width: 100%;
	margin: 0 0 12px;
	padding: 0;
}

.isow-modal__login-wrap .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--isow-muted);
	font-size: 13px;
	font-weight: 500;
}

.isow-modal__login-wrap .form-row input.input-text {
	display: block;
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
}

.isow-modal__login-wrap .form-row input.input-text:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

.isow-modal__login-wrap .clear {
	display: none;
}

.isow-modal__login-wrap .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--isow-muted);
	font-size: 14px;
	cursor: pointer;
}

.isow-modal__login-wrap .woocommerce-form-login__rememberme input {
	accent-color: var(--isow-accent);
	width: 16px;
	height: 16px;
	margin: 0;
}

.isow-modal__login-wrap button.woocommerce-form-login__submit,
body.isow-checkout-page .isow-modal__login-wrap .woocommerce button.button {
	display: block;
	width: 100%;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 48px;
	cursor: pointer;
}

.isow-modal__login-wrap button.woocommerce-form-login__submit:hover {
	background: var(--isow-accent-2);
	padding: 0;
}

.isow-modal__login-wrap .lost_password {
	margin: 12px 0 0;
	text-align: center;
	font-size: 13px;
}

.isow-modal__login-wrap .lost_password a {
	color: var(--isow-muted);
}

/* ---------------------------------------------------------------------
   11. Responsive (checkout)
   ------------------------------------------------------------------ */
@media (max-width: 980px) {
	.isow-checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.isow-summary {
		position: static;
		border: 1px solid var(--isow-border);
		border-radius: var(--isow-radius);
		background: var(--isow-glass);
		padding: 0;
	}

	.isow-logo {
		display: block;
		margin: 0;
		padding: 18px 18px 0;
	}

	.isow-logo img {
		max-height: 44px;
	}

	.isow-summary__toggle {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 16px 18px;
		border: 0;
		background: transparent;
		color: var(--isow-text);
		font-family: var(--isow-font);
		font-size: 15px;
		text-align: left;
		cursor: pointer;
	}

	.isow-summary__toggle-label {
		color: var(--isow-accent-2);
	}

	.isow-summary__toggle-total {
		margin-left: auto;
		font-weight: 700;
		font-size: 17px;
	}

	.isow-summary__chevron {
		width: 9px;
		height: 9px;
		border: solid var(--isow-muted);
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
		margin-top: -4px;
		transition: transform 0.15s ease;
	}

	.isow-summary.is-open .isow-summary__chevron {
		transform: rotate(-135deg);
		margin-top: 4px;
	}

	.isow-summary__body {
		display: none;
		padding: 0 18px 18px;
		border-top: 1px solid var(--isow-border);
	}

	.isow-summary.is-open .isow-summary__body {
		display: block;
		padding-top: 16px;
	}

	.isow-summary__body > .isow-heading {
		display: none;
	}

	.isow-form,
	.isow-checkout .isow-summary:not(:has(.isow-logo)) + .isow-form {
		padding-top: 0;
	}

	body.isow-checkout-page .et_pb_section {
		padding: 16px 0 40px;
	}

	body.isow-checkout-page #main-content .container,
	body.isow-checkout-page .et_pb_row {
		padding: 0 16px;
	}
}

@media (max-width: 560px) {
	body.isow-checkout-page .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	body.isow-checkout-page .woocommerce form .form-row.isow-name--last {
		padding-top: 0;
	}

	body.isow-checkout-page .woocommerce form .form-row.form-row-first,
	body.isow-checkout-page .woocommerce form .form-row.form-row-last {
		grid-column: 1 / -1;
	}

	body.isow-checkout-page .automatewoo-birthday-field {
		grid-template-columns: 1fr 1fr;
	}

	.isow-addon {
		grid-template-columns: 48px minmax(0, 1fr) 40px;
		gap: 10px;
	}

	.isow-addon__thumb {
		width: 48px;
		height: 48px;
	}

	body.isow-checkout-page .woocommerce .isow-addon__add,
	.isow-addon__add {
		width: 40px;
		height: 40px;
	}

	body.isow-checkout-page .woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
		padding-left: 62px;
	}

	.isow-item__thumb {
		width: 48px;
		height: 48px;
	}

	.isow-modal__dialog {
		padding: 24px 20px 20px;
	}
}

/* ---------------------------------------------------------------------
   12. Cart page
   ------------------------------------------------------------------ */
body.isow-cart-page .woocommerce {
	color: var(--isow-text);
}

body.isow-cart-page .woocommerce h2,
body.isow-cart-page .woocommerce .cart_totals h2 {
	font-family: var(--isow-font);
	font-size: 20px;
	font-weight: 500;
	color: var(--isow-text);
	margin: 0 0 16px;
	padding: 0;
}

body.isow-cart-page .woocommerce-cart-form {
	margin: 0 0 32px;
}

body.isow-cart-page .woocommerce table.shop_table.cart {
	border: 0;
	border-collapse: collapse;
	margin: 0;
	background: transparent;
	border-radius: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart thead {
	display: none;
}

body.isow-cart-page .woocommerce table.shop_table.cart th,
body.isow-cart-page .woocommerce table.shop_table.cart td {
	border: 0;
	padding: 18px 12px;
	vertical-align: middle;
	color: var(--isow-text);
	background: transparent;
	line-height: 1.45;
}

body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td {
	border-bottom: 1px solid var(--isow-border);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-remove {
	width: 40px;
	padding-left: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart a.remove,
body.isow-cart-page .woocommerce a.remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	color: var(--isow-dim) !important;
	background: var(--isow-surface-2);
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.isow-cart-page .woocommerce a.remove:hover {
	background: var(--isow-error) !important;
	color: #fff !important;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-thumbnail {
	width: 88px;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-thumbnail img,
body.isow-cart-page .woocommerce-cart table.cart img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	display: block;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-name a {
	color: var(--isow-text);
	font-weight: 500;
	text-decoration: none;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-name a:hover {
	color: var(--isow-accent-2);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-name dl.variation {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--isow-muted);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-name dl.variation dt,
body.isow-cart-page .woocommerce table.shop_table.cart td.product-name dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-name dl.variation dd p {
	display: inline;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-price,
body.isow-cart-page .woocommerce table.shop_table.cart td.product-subtotal {
	white-space: nowrap;
	color: var(--isow-muted);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-subtotal {
	text-align: right;
	color: var(--isow-text);
	font-weight: 500;
	padding-right: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-price del {
	color: var(--isow-dim);
	margin-right: 4px;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.product-price ins {
	text-decoration: none;
}

/* Bundled children on the cart page */
body.isow-cart-page .woocommerce table.shop_table.cart tr.bundled_table_item td {
	padding-top: 6px;
	padding-bottom: 10px;
	color: var(--isow-muted);
	font-size: 14px;
	border-bottom: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart tr.bundled_table_item td.product-thumbnail img {
	width: 40px;
	height: 40px;
	margin-left: 32px;
}

/* Quantity */
body.isow-cart-page .woocommerce .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	overflow: hidden;
}

body.isow-cart-page .woocommerce .quantity input.qty,
body.isow-cart-page .woocommerce .quantity .qty {
	width: 64px;
	height: 40px;
	padding: 0 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--isow-text);
	font-family: var(--isow-font);
	font-size: 15px;
	text-align: center;
	-moz-appearance: textfield;
}

body.isow-cart-page .woocommerce .quantity input.qty:focus {
	outline: none;
	box-shadow: var(--isow-focus) inset;
}

body.isow-cart-page .woocommerce .quantity .qty::-webkit-outer-spin-button,
body.isow-cart-page .woocommerce .quantity .qty::-webkit-inner-spin-button {
	opacity: 1;
	filter: invert(0.8);
}

body.isow-cart-page .woocommerce .quantity label {
	display: none;
}

/* Actions row: coupon + update + empty cart */
body.isow-cart-page .woocommerce table.shop_table.cart td.actions {
	padding: 18px 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .coupon {
	display: flex;
	flex: 1 1 320px;
	gap: 10px;
	float: none;
	padding: 0;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .coupon label {
	display: none;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .coupon .input-text,
body.isow-cart-page .woocommerce table.cart td.actions .coupon .input-text,
body.isow-cart-page .woocommerce input#coupon_code {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	margin: 0;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2) !important;
	color: var(--isow-text) !important;
	font-family: var(--isow-font);
	font-size: 15px;
	line-height: 42px;
	text-transform: uppercase;
	-webkit-appearance: none;
}

body.isow-cart-page .woocommerce input#coupon_code::placeholder {
	text-transform: none;
	color: var(--isow-dim);
}

body.isow-cart-page .woocommerce input#coupon_code:focus {
	outline: none;
	border-color: var(--isow-accent);
	box-shadow: var(--isow-focus);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button,
body.isow-cart-page .woocommerce table.shop_table.cart td.actions button.button,
body.isow-cart-page .woocommerce table.shop_table.cart td.actions a.button {
	height: 44px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-3);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 42px;
	text-transform: none;
	cursor: pointer;
	white-space: nowrap;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button:hover {
	background: #3d3d3d;
	color: #fff;
	padding: 0 16px;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button:disabled,
body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button[disabled] {
	opacity: 0.45;
	color: #fff !important;
	padding: 0 16px;
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button[name='empty_cart'],
body.isow-cart-page .woocommerce table.shop_table.cart td.actions a[href*='empty_cart'] {
	margin-left: auto;
	background: transparent;
	border-color: var(--isow-border);
	color: var(--isow-muted);
}

body.isow-cart-page .woocommerce table.shop_table.cart td.actions a[href*='empty_cart']:hover {
	color: var(--isow-text);
	border-color: var(--isow-border-strong);
	background: var(--isow-glass);
}

/* Add-ons block on the cart page */
body.isow-cart-page .isow-addons {
	margin: 28px 0 0;
	padding-top: 24px;
}

body.isow-cart-page .isow-addons__list {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* Totals card */
body.isow-cart-page .woocommerce .cart-collaterals {
	display: flex;
	justify-content: flex-end;
}

body.isow-cart-page .woocommerce .cart-collaterals .cart_totals,
body.isow-cart-page .woocommerce-page .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: 420px;
	padding: 24px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-surface);
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table {
	border: 0;
	border-collapse: collapse;
	margin: 0 0 18px;
	background: transparent;
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table th,
body.isow-cart-page .woocommerce .cart_totals table.shop_table td {
	border: 0;
	padding: 10px 0;
	color: var(--isow-muted);
	font-weight: 400;
	text-align: left;
	background: transparent;
	line-height: 1.45;
	vertical-align: top;
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table td {
	text-align: right;
	color: var(--isow-text);
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.cart-discount th,
body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.cart-discount td {
	color: var(--isow-success);
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.cart-discount .woocommerce-remove-coupon {
	margin-left: 6px;
	font-size: 12px;
	color: var(--isow-dim);
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.order-total th,
body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--isow-border);
	color: var(--isow-text);
	font-size: 20px;
	font-weight: 700;
}

body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.order-total td small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--isow-dim);
}

body.isow-cart-page .woocommerce .cart_totals tr.woocommerce-shipping-totals td {
	text-align: left;
}

body.isow-cart-page .woocommerce .cart_totals ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.isow-cart-page .woocommerce .cart_totals ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 8px;
	padding: 0;
	text-indent: 0;
}

body.isow-cart-page .woocommerce .cart_totals ul#shipping_method input[type='radio'] {
	accent-color: var(--isow-accent);
	margin: 3px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

body.isow-cart-page .woocommerce .cart_totals ul#shipping_method label {
	display: inline;
	margin: 0;
	color: var(--isow-text);
	font-size: 14px;
}

body.isow-cart-page .woocommerce .cart_totals .woocommerce-shipping-destination,
body.isow-cart-page .woocommerce .cart_totals .woocommerce-shipping-calculator {
	font-size: 13px;
	color: var(--isow-dim);
	margin: 6px 0 0;
}

body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-button {
	color: var(--isow-accent-2);
}

body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-form .form-row {
	margin: 0 0 10px;
	padding: 0;
}

body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-form input.input-text,
body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-form select,
body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-form .select2-selection--single {
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--isow-border-strong);
	border-radius: var(--isow-radius-sm);
	background: var(--isow-surface-2);
	color: var(--isow-text);
	font-family: var(--isow-font);
	line-height: 42px;
}

body.isow-cart-page .woocommerce .cart_totals .shipping-calculator-form .select2-selection__rendered {
	color: var(--isow-text);
	line-height: 42px;
}

body.isow-cart-page .woocommerce .wc-proceed-to-checkout {
	padding: 0;
	margin: 0;
}

body.isow-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button,
body.isow-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button.button.alt {
	display: block;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: var(--isow-radius);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 17px;
	font-weight: 500;
	line-height: 54px;
	text-align: center;
	text-transform: none;
	box-shadow: 0 8px 24px rgba(0, 144, 185, 0.28);
	transition: background-color 0.15s ease, transform 0.15s ease;
}

body.isow-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--isow-accent-2);
	color: #fff;
	padding: 0 20px;
	transform: translateY(-1px);
}

body.isow-cart-page .woocommerce .wc-proceed-to-checkout #wc-stripe-express-checkout-element {
	margin: 12px 0 0 !important;
}

/* Subscriptions recurring totals on cart */
body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.recurring-totals th,
body.isow-cart-page .woocommerce .cart_totals table.shop_table tr.recurring-totals td {
	padding-top: 16px;
	font-size: 13px;
	color: var(--isow-dim);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Empty cart */
body.isow-cart-page .woocommerce .cart-empty,
body.isow-cart-page .woocommerce .wc-empty-cart-message .cart-empty {
	color: var(--isow-text);
	font-size: 18px;
	margin: 0 0 20px;
	background: transparent;
	border: 0;
	padding: 0;
}

body.isow-cart-page .woocommerce .cart-empty::before {
	display: none;
}

body.isow-cart-page .woocommerce .return-to-shop a.button {
	display: inline-block;
	height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 48px;
	text-transform: none;
}

body.isow-cart-page .woocommerce .return-to-shop a.button:hover {
	background: var(--isow-accent-2);
	padding: 0 22px;
	color: #fff;
}

/* Cart responsive: WooCommerce's smallscreen CSS turns rows into blocks < 768px */
@media (max-width: 767px) {
	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr) 30px;
		grid-template-areas:
			'thumb name remove'
			'thumb price price'
			'thumb qty subtotal';
		gap: 6px 12px;
		padding: 16px 0;
		border-bottom: 1px solid var(--isow-border);
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td {
		display: block;
		padding: 0;
		border: 0;
		text-align: left;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td::before {
		display: none;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-thumbnail {
		grid-area: thumb;
		display: block;
		width: auto;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-remove {
		grid-area: remove;
		width: auto;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-name {
		grid-area: name;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-price {
		grid-area: price;
		font-size: 14px;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-quantity {
		grid-area: qty;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart tr.cart_item td.product-subtotal {
		grid-area: subtotal;
		text-align: right;
		align-self: center;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart td.actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart td.actions .coupon {
		flex-basis: auto;
	}

	body.isow-cart-page .woocommerce table.shop_table.cart td.actions .button[name='empty_cart'],
	body.isow-cart-page .woocommerce table.shop_table.cart td.actions a[href*='empty_cart'] {
		margin-left: 0;
	}

	body.isow-cart-page .woocommerce .cart-collaterals .cart_totals {
		max-width: none;
	}
}

/* ---------------------------------------------------------------------
   13. Thank-you page (order-received)
   ------------------------------------------------------------------ */
body.isow-thankyou-page .woocommerce-order {
	color: var(--isow-text);
}

body.isow-thankyou-page .woocommerce-order > p,
body.isow-thankyou-page .woocommerce-thankyou-order-received {
	font-size: 20px;
	font-weight: 500;
	color: var(--isow-text);
	margin: 0 0 20px;
	line-height: 1.4;
}

body.isow-thankyou-page .woocommerce-order-overview,
body.isow-thankyou-page ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

body.isow-thankyou-page .woocommerce-order-overview li,
body.isow-thankyou-page ul.order_details li {
	float: none;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--isow-border);
	border-right: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-surface);
	color: var(--isow-dim);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

body.isow-thankyou-page .woocommerce-order-overview li strong,
body.isow-thankyou-page ul.order_details li strong {
	display: block;
	margin-top: 6px;
	color: var(--isow-text);
	font-size: 16px;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
}

body.isow-thankyou-page .woocommerce-order-overview::before,
body.isow-thankyou-page .woocommerce-order-overview::after,
body.isow-thankyou-page ul.order_details::before,
body.isow-thankyou-page ul.order_details::after {
	display: none;
}

body.isow-thankyou-page .woocommerce-order-details,
body.isow-thankyou-page .woocommerce-customer-details {
	margin: 0 0 28px;
	padding: 24px;
	border: 1px solid var(--isow-border);
	border-radius: var(--isow-radius);
	background: var(--isow-surface);
}

body.isow-thankyou-page .woocommerce-order-details__title,
body.isow-thankyou-page .woocommerce-column__title,
body.isow-thankyou-page .woocommerce-customer-details h2,
body.isow-thankyou-page .woocommerce-order-details h2 {
	font-family: var(--isow-font);
	font-size: 18px;
	font-weight: 500;
	color: var(--isow-text);
	margin: 0 0 14px;
	padding: 0;
}

body.isow-thankyou-page .woocommerce table.shop_table.order_details,
body.isow-thankyou-page .woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
	margin: 0;
	background: transparent;
}

body.isow-thankyou-page .woocommerce table.shop_table th,
body.isow-thankyou-page .woocommerce table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--isow-border);
	padding: 12px 0;
	color: var(--isow-text);
	background: transparent;
	text-align: left;
	line-height: 1.45;
}

body.isow-thankyou-page .woocommerce table.shop_table thead th {
	color: var(--isow-dim);
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-total,
body.isow-thankyou-page .woocommerce table.shop_table th.product-total,
body.isow-thankyou-page .woocommerce table.shop_table tfoot td {
	text-align: right;
}

body.isow-thankyou-page .woocommerce table.shop_table tfoot th {
	color: var(--isow-muted);
	font-weight: 400;
}

body.isow-thankyou-page .woocommerce table.shop_table tfoot tr:last-child th,
body.isow-thankyou-page .woocommerce table.shop_table tfoot tr:last-child td {
	border-bottom: 0;
	color: var(--isow-text);
	font-size: 18px;
	font-weight: 700;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-name a {
	color: var(--isow-text);
	text-decoration: none;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-name .product-quantity {
	color: var(--isow-muted);
	font-weight: 400;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-name dl.variation {
	font-size: 13px;
	color: var(--isow-muted);
	margin: 4px 0 0;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-name dl.variation dt,
body.isow-thankyou-page .woocommerce table.shop_table td.product-name dl.variation dd {
	display: inline;
	margin: 0;
}

body.isow-thankyou-page .woocommerce table.shop_table td.product-name dl.variation dd p {
	display: inline;
}

body.isow-thankyou-page .woocommerce-customer-details address {
	border: 0;
	padding: 0;
	margin: 0;
	border-radius: 0;
	color: var(--isow-muted);
	font-style: normal;
	line-height: 1.6;
}

body.isow-thankyou-page .woocommerce-customer-details .woocommerce-customer-details--phone,
body.isow-thankyou-page .woocommerce-customer-details .woocommerce-customer-details--email {
	margin: 6px 0 0;
	padding-left: 0;
}

body.isow-thankyou-page .woocommerce-customer-details .woocommerce-customer-details--phone::before,
body.isow-thankyou-page .woocommerce-customer-details .woocommerce-customer-details--email::before {
	display: none;
}

/* Duplicate invoice button from WooCommerce PIP */
body.isow-thankyou-page .woocommerce-order-details > a.button.wc_pip_view_invoice {
	display: none !important;
}

/* Buttons on the thank-you page (LearnDash "Go to dashboard", downloads, subscriptions) */
body.isow-thankyou-page .woocommerce a.button,
body.isow-thankyou-page .woocommerce button.button {
	display: inline-block;
	height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--isow-radius-sm);
	background: var(--isow-accent);
	color: #fff;
	font-family: var(--isow-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 46px;
	text-transform: none;
	text-decoration: none;
}

body.isow-thankyou-page .woocommerce a.button:hover,
body.isow-thankyou-page .woocommerce button.button:hover {
	background: var(--isow-accent-2);
	color: #fff;
	padding: 0 20px;
}

body.isow-thankyou-page .woocommerce table.shop_table td.download-file .button {
	height: 36px;
	line-height: 36px;
	padding: 0 14px;
	font-size: 13px;
}

@media (max-width: 767px) {
	body.isow-thankyou-page .woocommerce-order-details,
	body.isow-thankyou-page .woocommerce-customer-details {
		padding: 18px;
	}

	body.isow-thankyou-page .woocommerce-order-overview,
	body.isow-thankyou-page ul.order_details {
		grid-template-columns: 1fr 1fr;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.isow-btn,
	.isow-addon__add,
	#place_order,
	.isow-modal__dialog {
		transition: none !important;
		animation: none !important;
	}
}
