/* ═══════════════════════════════════════════════════════
   KCP ENHANCEMENTS
   Button consistency, WooCommerce overhaul, Login page
   Applied globally across all theme pages/posts
═══════════════════════════════════════════════════════ */

/* ═══════════════════════════════════
   BUTTON SYSTEM — global consistency
   All native WP/Gutenberg/WC buttons
   inherit the theme button style
═══════════════════════════════════ */

/* Base reset for all site buttons */
.wp-block-button__link,
.wp-element-button,
.wc-block-components-button,
.woocommerce-Button,
.woocommerce a.button,
.woocommerce input[type="submit"],
.woocommerce button[type="submit"],
.woocommerce .checkout-button,
.woocommerce-page .button,
.widget .button,
a.added_to_cart,
.single_add_to_cart_button,
.wc-forward,
input.button,
input[type="submit"].button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--kcp-teal) !important;
	color: #fff !important;
	border: 2px solid var(--kcp-teal) !important;
	border-radius: 4px !important;
	font-family: var(--kcp-ff-body) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 11px 24px !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all .25s !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce .checkout-button:hover,
.woocommerce-page .button:hover,
.single_add_to_cart_button:hover,
.wc-forward:hover,
a.added_to_cart:hover,
input[type="submit"].button:hover {
	background: var(--kcp-teal-dark) !important;
	border-color: var(--kcp-teal-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(2,102,127,.3) !important;
}

/* Secondary / ghost variant */
.wp-block-button.is-style-outline .wp-block-button__link,
.woocommerce a.button.alt,
.woocommerce .button.alt,
.woocommerce-Button.alt {
	background: transparent !important;
	color: var(--kcp-teal) !important;
	border-color: var(--kcp-teal) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.woocommerce a.button.alt:hover {
	background: var(--kcp-teal) !important;
	color: #fff !important;
}

/* ═══════════════════════════════════
   WOOCOMMERCE — FULL MODERN OVERHAUL
   Shop, Product, Cart, Checkout, Account
═══════════════════════════════════ */

/* ── Shop / Archive ── */
.woocommerce-page,
.woocommerce {
	background: var(--kcp-cream);
}

/* Products grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 20px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce ul.products li.product {
	background: var(--kcp-white) !important;
	border: 2px solid var(--kcp-ink) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	transition: transform .2s, box-shadow .2s !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 32px rgba(0,0,0,.1) !important;
}

/* Product image */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block !important;
	text-decoration: none !important;
}
.woocommerce ul.products li.product img {
	width: 100% !important;
	height: 220px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

/* Product content area */
.woocommerce ul.products li.product .product-inner,
.woocommerce ul.products li.product > .woocommerce-LoopProduct-link + *,
.woocommerce ul.products li.product > a + * {
	padding: 14px 16px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--kcp-ff-display) !important;
	font-size: 20px !important;
	letter-spacing: .5px !important;
	color: var(--kcp-ink) !important;
	line-height: 1.2 !important;
	margin: 12px 16px 6px !important;
	padding: 0 !important;
}
.woocommerce ul.products li.product .price {
	font-family: var(--kcp-ff-mono) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--kcp-teal) !important;
	margin: 0 16px 12px !important;
	display: block !important;
}
.woocommerce ul.products li.product .price del {
	color: var(--kcp-ink-light) !important;
	font-weight: 400 !important;
	margin-right: 6px !important;
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none !important;
	color: var(--kcp-teal) !important;
}

/* Category badges on products */
.woocommerce ul.products li.product .wc-block-grid__product-onsale,
.woocommerce span.onsale {
	background: var(--kcp-teal) !important;
	color: #fff !important;
	font-family: var(--kcp-ff-mono) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	border-radius: 3px !important;
	padding: 3px 8px !important;
	min-height: auto !important;
	min-width: auto !important;
	border: none !important;
	top: 10px !important;
	left: 10px !important;
	right: auto !important;
}

/* Add to cart button on loop */
.woocommerce ul.products li.product .button {
	width: calc(100% - 32px) !important;
	margin: 0 16px 16px !important;
	text-align: center !important;
}

/* ── Shop page layout ── */
.kcp-wc-wrap {
	max-width: 1300px;
	margin: 0 auto;
	padding: 48px 48px 60px;
}
.woocommerce-ordering {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 28px;
}
.woocommerce-ordering select {
	border: 2px solid var(--kcp-ink) !important;
	border-radius: 4px !important;
	padding: 8px 12px !important;
	font-family: var(--kcp-ff-body) !important;
	font-size: 13px !important;
	background: var(--kcp-white) !important;
	color: var(--kcp-ink) !important;
}
.woocommerce-result-count {
	font-family: var(--kcp-ff-mono);
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--kcp-ink-light);
	text-transform: uppercase;
}

/* ── Single Product ── */
.woocommerce div.product {
	background: var(--kcp-white);
	border: 2px solid var(--kcp-ink);
	border-radius: 8px;
	padding: 32px !important;
}
.woocommerce div.product .product_title {
	font-family: var(--kcp-ff-display) !important;
	font-size: 48px !important;
	letter-spacing: 2px !important;
	color: var(--kcp-ink) !important;
	line-height: .95 !important;
	margin-bottom: 16px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--kcp-ff-mono) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--kcp-teal) !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 15px !important;
	color: var(--kcp-ink-mid) !important;
	line-height: 1.7 !important;
	margin-bottom: 20px !important;
}
.woocommerce div.product form.cart {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 20px 0 !important;
	border-top: 2px solid var(--kcp-cream-mid) !important;
	border-bottom: 2px solid var(--kcp-cream-mid) !important;
	margin: 20px 0 !important;
}
.woocommerce div.product form.cart .qty {
	width: 70px !important;
	padding: 10px 12px !important;
	border: 2px solid var(--kcp-ink) !important;
	border-radius: 4px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-align: center !important;
	font-family: var(--kcp-ff-body) !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 !important;
	padding: 12px 24px !important;
	font-size: 14px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 2.5px solid var(--kcp-ink) !important;
	padding: 0 !important;
	margin: 32px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--kcp-cream) !important;
	border: 2px solid var(--kcp-ink) !important;
	border-bottom: none !important;
	border-radius: 4px 4px 0 0 !important;
	margin-right: 4px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--kcp-white) !important;
	border-bottom-color: var(--kcp-white) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--kcp-ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--kcp-ink-light) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--kcp-teal) !important;
}

/* ── Cart ── */
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
	padding: 14px 16px !important;
	border-bottom: 1px solid var(--kcp-cream-mid) !important;
	vertical-align: middle !important;
}
.woocommerce-cart table.cart th {
	background: var(--kcp-ink) !important;
	color: #fff !important;
	font-family: var(--kcp-ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	border: none !important;
}
.woocommerce-cart table.cart td.product-name a {
	font-family: var(--kcp-ff-display) !important;
	font-size: 18px !important;
	color: var(--kcp-ink) !important;
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
	font-family: var(--kcp-ff-mono) !important;
	font-weight: 700 !important;
	color: var(--kcp-teal) !important;
}
.cart_totals h2, .woocommerce-checkout h3, .woocommerce-cart h2 {
	font-family: var(--kcp-ff-display) !important;
	font-size: 32px !important;
	letter-spacing: 1px !important;
	color: var(--kcp-ink) !important;
	margin-bottom: 20px !important;
}
.cart_totals table {
	border: 2px solid var(--kcp-ink) !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	width: 100% !important;
}
.cart_totals table th {
	background: var(--kcp-cream) !important;
	font-weight: 700 !important;
	color: var(--kcp-ink) !important;
	padding: 12px 16px !important;
}
.cart_totals table td {
	padding: 12px 16px !important;
	font-weight: 700 !important;
}
.cart_totals table tr.order-total th,
.cart_totals table tr.order-total td {
	background: var(--kcp-ink) !important;
	color: #fff !important;
}
.cart_totals table tr.order-total td * { color: #fff !important; }

/* ── Checkout ── */
.woocommerce-checkout #order_review_heading {
	font-family: var(--kcp-ff-display) !important;
	font-size: 28px !important;
	letter-spacing: 1px !important;
}
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce form .input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="password"] {
	border: 2px solid var(--kcp-cream-mid) !important;
	border-radius: 4px !important;
	padding: 10px 14px !important;
	font-family: var(--kcp-ff-body) !important;
	font-size: 14px !important;
	background: var(--kcp-white) !important;
	transition: border-color .2s !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.woocommerce form .input-text:focus,
.woocommerce form input:focus {
	border-color: var(--kcp-teal) !important;
	box-shadow: 0 0 0 3px rgba(2,102,127,.12) !important;
	outline: none !important;
}
.woocommerce form label {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .5px !important;
	text-transform: uppercase !important;
	color: var(--kcp-ink) !important;
	margin-bottom: 5px !important;
}
#place_order {
	width: 100% !important;
	padding: 16px !important;
	font-size: 15px !important;
	letter-spacing: 2px !important;
}

/* ── My Account ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	display: flex !important;
	gap: 2px !important;
	flex-wrap: wrap !important;
	padding: 0 !important;
	margin: 0 0 32px !important;
	border-bottom: 2.5px solid var(--kcp-ink) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block !important;
	padding: 10px 18px !important;
	font-family: var(--kcp-ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--kcp-ink-light) !important;
	border: 2px solid transparent !important;
	border-bottom: none !important;
	border-radius: 4px 4px 0 0 !important;
	transition: all .2s !important;
	text-decoration: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--kcp-teal) !important;
	border-color: var(--kcp-ink) !important;
	background: var(--kcp-cream) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
}
.woocommerce-account h2,
.woocommerce-account h3 {
	font-family: var(--kcp-ff-display) !important;
	letter-spacing: 1px !important;
	color: var(--kcp-ink) !important;
}

/* ── WC notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 6px !important;
	border-left-width: 4px !important;
	font-family: var(--kcp-ff-body) !important;
	padding: 14px 20px !important;
	margin-bottom: 20px !important;
}
.woocommerce-message { border-left-color: var(--kcp-teal) !important; background: rgba(2,102,127,.06) !important; }
.woocommerce-info    { border-left-color: #2196f3 !important; background: rgba(33,150,243,.06) !important; }
.woocommerce-error   { border-left-color: #c62828 !important; background: rgba(198,40,40,.06) !important; }

/* ── WC responsive ── */
@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.kcp-wc-wrap { padding: 32px 24px 40px; }
	.woocommerce div.product { padding: 20px !important; }
	.woocommerce div.product .product_title { font-size: 36px !important; }
}
@media (max-width: 600px) {
	.woocommerce ul.products { grid-template-columns: 1fr !important; }
	.kcp-wc-wrap { padding: 24px 16px 32px; }
	.woocommerce div.product .product_title { font-size: 28px !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: column !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		border-radius: 4px !important;
		border: 2px solid var(--kcp-cream-mid) !important;
	}
}

/* ═══════════════════════════════════
   WP LOGIN / REGISTER PAGE
   Full styling — all elements visible,
   properly spaced, checkbox working
═══════════════════════════════════ */

/* ── Page background & layout ── */
body.login {
	background: linear-gradient(135deg, #f5f9fa 0%, #e4eff2 100%);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: #2c3e50;
}
body.login #login {
	width: 360px;
	max-width: 100%;
	padding: 2rem 1.5rem;
	box-sizing: border-box;
}

/* ── Logo area ── */
body.login h1 a {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 100%;
	height: 80px;
	display: block;
	margin-bottom: 8px;
}

/* ── Form card ── */
body.login form#loginform,
body.login form#registerform,
body.login form#lostpasswordform,
body.login form {
	background: #ffffff;
	border: 1px solid rgba(2,102,127,.2);
	border-radius: 14px;
	box-shadow: 0 8px 32px rgba(0,0,0,.07);
	padding: 28px 26px;
	margin-top: 16px;
}

/* ── Labels ── */
body.login label {
	display: block;
	color: #2c3e50;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 5px;
	letter-spacing: .3px;
}

/* ── Text / password / email inputs ── */
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"],
body.login form .input {
	width: 100% !important;
	box-sizing: border-box;
	border: 1.5px solid #ccdde2 !important;
	border-radius: 10px !important;
	padding: 10px 13px !important;
	font-size: 14px !important;
	color: #2c3e50 !important;
	background: #f8fbfc !important;
	transition: border-color .2s, box-shadow .2s;
	outline: none;
	margin-bottom: 2px;
}
body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus,
body.login form .input:focus {
	border-color: #02667f !important;
	box-shadow: 0 0 0 3px rgba(2,102,127,.13) !important;
	background: #fff !important;
}

/* ── Submit button ── */
body.login .button-primary,
body.login .wp-submit,
body.login input[type="submit"],
body.login p.submit input {
	display: block !important;
	width: 100% !important;
	background: #02667f !important;
	color: #ffffff !important;
	border: 2px solid #02667f !important;
	border-radius: 10px !important;
	padding: 11px 16px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .5px !important;
	text-align: center !important;
	text-shadow: none !important;
	box-shadow: 0 4px 16px rgba(2,102,127,.25) !important;
	cursor: pointer !important;
	transition: all .22s ease !important;
	margin-top: 6px;
}
body.login .button-primary:hover,
body.login .wp-submit:hover,
body.login input[type="submit"]:hover {
	background: #014e60 !important;
	color: #ffffff !important;
	border-color: #014e60 !important;
	box-shadow: 0 8px 22px rgba(2,102,127,.32) !important;
	transform: translateY(-1px) !important;
}

/* ── "Remember Me" row ── */
body.login .forgetmenot {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 14px !important;
	padding: 2px 0 !important;
}
body.login .forgetmenot label {
	margin: 0 !important;
	font-size: 13px !important;
	color: #2c3e50 !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	line-height: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
}

/* ── Checkbox — custom styled ── */
body.login input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	border: 2px solid #99bdc6 !important;
	border-radius: 5px !important;
	background: #f8fbfc !important;
	cursor: pointer !important;
	position: relative !important;
	flex-shrink: 0 !important;
	transition: all .15s !important;
	vertical-align: middle !important;
	margin: 0 !important;
}
body.login input[type="checkbox"]:checked {
	background: #02667f !important;
	border-color: #02667f !important;
}
body.login input[type="checkbox"]:checked::after {
	content: "" !important;
	position: absolute !important;
	top: 2px !important;
	left: 5px !important;
	width: 4px !important;
	height: 8px !important;
	border: 2px solid #fff !important;
	border-top: none !important;
	border-left: none !important;
	transform: rotate(45deg) !important;
	display: block !important;
}
body.login input[type="checkbox"]:focus {
	box-shadow: 0 0 0 3px rgba(2,102,127,.18) !important;
	outline: none !important;
}

/* ── Login form field spacing ── */
body.login .login-password,
body.login .login-username,
body.login .user-pass-wrap,
body.login .user-login-wrap,
body.login p {
	margin-bottom: 14px !important;
}
body.login p:last-child { margin-bottom: 0 !important; }

/* ── Password toggle button (WP 5.8+) ── */
body.login .wp-hide-pw {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: #99bdc6 !important;
	cursor: pointer !important;
	padding: 4px !important;
}
body.login .wp-hide-pw:hover { color: #02667f !important; }

/* ── Nav links (Lost password / Register / Back) ── */
body.login #nav,
body.login #backtoblog {
	text-align: center;
	margin-top: 14px;
	padding: 0;
}
body.login #nav a,
body.login #backtoblog a {
	color: #02667f !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: color .2s !important;
}
body.login #nav a:hover,
body.login #backtoblog a:hover {
	color: #014e60 !important;
	text-decoration: underline !important;
}

/* ── Notices / errors ── */
body.login .message,
body.login .success {
	border-left: 4px solid #02667f !important;
	background: rgba(2,102,127,.05) !important;
	color: #014e60 !important;
	border-radius: 0 6px 6px 0 !important;
	padding: 12px 16px !important;
	font-size: 13px !important;
}
body.login #login_error {
	border-left: 4px solid #c62828 !important;
	background: rgba(198,40,40,.05) !important;
	color: #8b0000 !important;
	border-radius: 0 6px 6px 0 !important;
	padding: 12px 16px !important;
	font-size: 13px !important;
}

/* ── Page title (above form) ── */
body.login #login_header h1 { display: none; }

/* ── Mobile ── */
@media (max-width: 400px) {
	body.login #login { width: 100%; padding: 1rem; }
	body.login form { padding: 20px 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT — Two-column layout (image left, info right)
   Image is capped at 45% width, info panel takes the rest.
   Price + cart form sit beside the image, not below it.
═══════════════════════════════════════════════════════════════ */

/* Override WC's default flex/float layout */
.woocommerce div.product {
	display: grid !important;
	grid-template-columns: minmax(0,45%) minmax(0,1fr) !important;
	grid-template-rows: auto !important;
	column-gap: 40px !important;
	align-items: start !important;
	padding: 32px !important;
}

/* Image column — left */
.woocommerce div.product .woocommerce-product-gallery {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	float: none !important;
	width: 100% !important;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery img {
	width: 100% !important;
	height: auto !important;
	border-radius: 6px !important;
	border: 2px solid var(--kcp-cream-mid) !important;
	display: block !important;
}

/* Info column — right (title, price, form, short desc) */
.woocommerce div.product .summary {
	grid-column: 2 !important;
	grid-row: 1 !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

/* Product title in info column */
.woocommerce div.product .summary .product_title {
	font-size: 36px !important;
	line-height: 1 !important;
	margin-bottom: 8px !important;
}

/* Price — prominent, directly under title */
.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price {
	font-size: 26px !important;
	margin-bottom: 14px !important;
	display: block !important;
}

/* Short description */
.woocommerce div.product .summary .woocommerce-product-details__short-description {
	font-size: 14px !important;
	margin-bottom: 18px !important;
	padding-bottom: 18px !important;
	border-bottom: 1px solid var(--kcp-cream-mid) !important;
}

/* Cart form (qty + add to cart) */
.woocommerce div.product .summary form.cart {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	border: none !important;
}
.woocommerce div.product .summary form.cart .qty {
	width: 64px !important;
	padding: 10px 8px !important;
	font-size: 15px !important;
}
.woocommerce div.product .summary form.cart .single_add_to_cart_button {
	flex: 1 !important;
	padding: 12px 20px !important;
	font-size: 13px !important;
}

/* Meta (SKU, categories, tags) */
.woocommerce div.product .summary .product_meta {
	font-size: 12px !important;
	color: var(--kcp-ink-light) !important;
	margin-top: 12px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

/* Tabs — full width below both columns */
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	margin-top: 32px !important;
	width: 100% !important;
	clear: both !important;
}

/* Tab list */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 0 !important;
	border-bottom: 2.5px solid var(--kcp-ink) !important;
	padding: 0 !important;
	margin: 0 0 0 !important;
	list-style: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--kcp-cream) !important;
	border: 2px solid var(--kcp-ink) !important;
	border-bottom: none !important;
	border-radius: 5px 5px 0 0 !important;
	margin-right: 4px !important;
	margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
	border: none !important;
	box-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--kcp-white) !important;
	border-bottom-color: var(--kcp-white) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--kcp-ff-mono) !important;
	font-size: 11px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	color: var(--kcp-ink-light) !important;
	padding: 10px 20px !important;
	display: block !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--kcp-teal) !important;
}

/* Tab panel content */
.woocommerce div.product .woocommerce-tabs .panel {
	padding: 28px 0 !important;
	border: none !important;
	background: none !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--kcp-ff-display) !important;
	font-size: 28px !important;
	letter-spacing: 1px !important;
	color: var(--kcp-ink) !important;
	margin-bottom: 16px !important;
}
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li {
	font-size: 15px !important;
	line-height: 1.75 !important;
	color: var(--kcp-ink-mid) !important;
}

/* Reviews inside tab */
#reviews #comments ol.commentlist li {
	border-bottom: 1px solid var(--kcp-cream-mid) !important;
	padding: 20px 0 !important;
	margin: 0 !important;
	list-style: none !important;
}
#reviews #comments ol.commentlist li .comment_container {
	display: flex !important;
	gap: 16px !important;
	align-items: flex-start !important;
}
#reviews #comments ol.commentlist li img.avatar {
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
	flex-shrink: 0 !important;
	border: 2px solid var(--kcp-cream-mid) !important;
}
#reviews #comments ol.commentlist li .comment-text .meta strong {
	font-family: var(--kcp-ff-display) !important;
	font-size: 17px !important;
	color: var(--kcp-ink) !important;
}
#reviews #comments ol.commentlist li .comment-text .meta time {
	font-size: 11px !important;
	color: var(--kcp-ink-light) !important;
	font-family: var(--kcp-ff-mono) !important;
}
/* star-rating color handled below */

/* ── Single product responsive ── */
@media (max-width: 860px) {
	.woocommerce div.product {
		grid-template-columns: 1fr !important;
	}
	.woocommerce div.product .woocommerce-product-gallery {
		grid-column: 1 !important;
		grid-row: 1 !important;
		max-width: 480px !important;
		margin: 0 auto !important;
	}
	.woocommerce div.product .summary {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
	.woocommerce div.product .woocommerce-tabs {
		grid-row: 3 !important;
	}
	.woocommerce div.product .summary .product_title {
		font-size: 28px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT — Order Summary (right column / below form)
   Clean table layout, product names readable on all devices.
═══════════════════════════════════════════════════════════════ */

/* Order review heading */
#order_review_heading {
	font-family: var(--kcp-ff-display) !important;
	font-size: 26px !important;
	letter-spacing: 1px !important;
	color: var(--kcp-ink) !important;
	margin-bottom: 16px !important;
	padding-bottom: 10px !important;
	border-bottom: 2.5px solid var(--kcp-ink) !important;
}

/* Order review table */
#order_review table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 2px solid var(--kcp-ink) !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	font-size: 14px !important;
}
#order_review table.shop_table thead tr th {
	background: var(--kcp-ink) !important;
	color: #fff !important;
	font-family: var(--kcp-ff-mono) !important;
	font-size: 10px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 10px 14px !important;
	border: none !important;
}
#order_review table.shop_table tbody tr td {
	padding: 12px 14px !important;
	border-bottom: 1px solid var(--kcp-cream-mid) !important;
	vertical-align: middle !important;
	color: var(--kcp-ink) !important;
}
/* Product name column — prevent overflow, allow wrap */
#order_review table.shop_table tbody tr td.product-name {
	font-weight: 600 !important;
	word-break: break-word !important;
	min-width: 0 !important;
	max-width: 200px !important;
	line-height: 1.4 !important;
}
#order_review table.shop_table tbody tr td.product-name .product-quantity {
	display: block !important;
	font-size: 11px !important;
	color: var(--kcp-ink-light) !important;
	font-family: var(--kcp-ff-mono) !important;
	margin-top: 3px !important;
}
/* Price column */
#order_review table.shop_table tbody tr td.product-total {
	font-family: var(--kcp-ff-mono) !important;
	font-weight: 700 !important;
	color: var(--kcp-teal) !important;
	white-space: nowrap !important;
	text-align: right !important;
}
/* Subtotal / Total rows */
#order_review table.shop_table tfoot tr th {
	font-weight: 700 !important;
	font-size: 13px !important;
	color: var(--kcp-ink) !important;
	padding: 10px 14px !important;
	border-top: 1px solid var(--kcp-cream-mid) !important;
	background: var(--kcp-cream) !important;
}
#order_review table.shop_table tfoot tr td {
	padding: 10px 14px !important;
	border-top: 1px solid var(--kcp-cream-mid) !important;
	font-family: var(--kcp-ff-mono) !important;
	font-weight: 700 !important;
	color: var(--kcp-teal) !important;
	text-align: right !important;
	background: var(--kcp-cream) !important;
}
/* Order total row highlighted */
#order_review table.shop_table tfoot tr.order-total th,
#order_review table.shop_table tfoot tr.order-total td {
	background: var(--kcp-ink) !important;
	color: #fff !important;
	font-size: 15px !important;
}
#order_review table.shop_table tfoot tr.order-total td * {
	color: #fff !important;
}

/* ── Checkout order summary responsive ── */
@media (max-width: 700px) {
	#order_review table.shop_table,
	#order_review table.shop_table thead,
	#order_review table.shop_table tbody,
	#order_review table.shop_table tfoot,
	#order_review table.shop_table tr {
		display: block !important;
		width: 100% !important;
	}
	#order_review table.shop_table thead { display: none !important; }
	#order_review table.shop_table tbody tr {
		display: flex !important;
		justify-content: space-between !important;
		align-items: flex-start !important;
		padding: 12px 0 !important;
		border-bottom: 1px solid var(--kcp-cream-mid) !important;
		gap: 12px !important;
	}
	#order_review table.shop_table tbody tr td {
		border: none !important;
		padding: 0 !important;
	}
	#order_review table.shop_table tbody tr td.product-name {
		flex: 1 !important;
		max-width: none !important;
	}
	#order_review table.shop_table tbody tr td.product-total {
		flex-shrink: 0 !important;
	}
	#order_review table.shop_table tfoot tr {
		display: flex !important;
		justify-content: space-between !important;
		padding: 10px 14px !important;
	}
	#order_review_heading { font-size: 22px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   STAR RATINGS — modern CSS-only approach
   WooCommerce uses .star-rating with a span inside that holds
   the filled-star width as a percentage via inline style.
   We replace the legacy font glyphs with proper Unicode stars.
═══════════════════════════════════════════════════════════════ */

/* Star ratings — pure CSS Unicode stars */
.star-rating {
	position: relative !important;
	display: inline-block !important;
	width: 5.6em !important;
	height: 1em !important;
	line-height: 1 !important;
	font-size: 18px !important;
	vertical-align: middle !important;
	/* Kill WC icon font so Unicode renders */
	font-family: Georgia, serif !important;
	color: transparent !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}
/* Empty star track */
.star-rating::before {
	content: "★★★★★" !important;
	color: #ddd !important;
	position: absolute !important;
	top: 0; left: 0 !important;
	letter-spacing: 0.12em !important;
	font-family: Georgia, serif !important;
	font-size: 1em !important;
}
/* Filled stars — width% set inline by WooCommerce */
.star-rating > span {
	display: block !important;
	position: absolute !important;
	top: 0; left: 0 !important;
	height: 100% !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}
.star-rating > span::before {
	content: "★★★★★" !important;
	color: var(--kcp-gold) !important;
	position: absolute !important;
	top: 0; left: 0 !important;
	letter-spacing: 0.12em !important;
	font-family: Georgia, serif !important;
	font-size: 1em !important;
}
/* Hide the numeric rating text WC puts in the span */
.star-rating > span abbr,
.star-rating > span .rating {
	display: none !important;
}

/* Stars in review form */
#respond .stars a {
	font-size: 22px !important;
	color: #ddd !important;
	text-decoration: none !important;
	transition: color .15s !important;
	letter-spacing: 2px !important;
	margin-right: 2px !important;
}
#respond .stars a:hover,
#respond .stars a.active,
#respond .stars.selected a.active,
#respond .stars.selected a {
	color: var(--kcp-gold) !important;
}
#respond .stars.selected a.active ~ a {
	color: #ddd !important;
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT ORDER SUMMARY — desktop fixes
   Reduce product name size, proper alignment, no max-width cap.
═══════════════════════════════════════════════════════════════ */

/* Override the previous 200px cap and reduce font size */
#order_review table.shop_table tbody tr td.product-name {
	font-size: 13px !important;
	font-weight: 600 !important;
	max-width: none !important;
	vertical-align: top !important;
	padding-top: 14px !important;
	line-height: 1.45 !important;
}

/* Product description (variation text below name) */
#order_review table.shop_table tbody tr td.product-name dl.variation,
#order_review table.shop_table tbody tr td.product-name dl.variation dt,
#order_review table.shop_table tbody tr td.product-name dl.variation dd,
#order_review table.shop_table tbody tr td.product-name .wc-item-meta {
	font-size: 11px !important;
	color: var(--kcp-ink-light) !important;
	font-family: var(--kcp-ff-mono) !important;
	margin: 3px 0 0 !important;
	line-height: 1.5 !important;
	display: block !important;
}
#order_review table.shop_table tbody tr td.product-name dl.variation {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 2px 8px !important;
}

/* Align price column to top too */
#order_review table.shop_table tbody tr td.product-total {
	vertical-align: top !important;
	padding-top: 14px !important;
	font-size: 13px !important;
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT — Layout + order summary title/text fixes
═══════════════════════════════════════════════════════════════ */

/* ── Fix: .woocommerce-checkout h3 was 32px — override just for
   the product name <h3> inside the order summary table ── */
.woocommerce-checkout #order_review table.shop_table h3,
.woocommerce-checkout #order_review table.shop_table tbody tr td.product-name h3,
.woocommerce-checkout #order_review table.shop_table tbody tr td.product-name > a,
.woocommerce-checkout #order_review .product-name h3 {
	font-family: var(--kcp-ff-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	color: var(--kcp-ink) !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
}

/* ── Product name cell — let it breathe, don't squeeze ── */
#order_review table.shop_table tbody tr td.product-name {
	min-width: 160px !important;
	max-width: none !important;
	font-size: 13px !important;
	white-space: normal !important;
	word-break: break-word !important;
}

/* ── Prevent any text in the table from wrapping into a vertical
   mess by giving each column a sensible minimum ── */
#order_review table.shop_table {
	table-layout: fixed !important;
	width: 100% !important;
}
#order_review table.shop_table colgroup col:first-child,
#order_review table.shop_table tbody tr td:first-child {
	width: 75% !important;
}
#order_review table.shop_table tbody tr td:last-child,
#order_review table.shop_table tfoot tr td:last-child {
	width: 25% !important;
	text-align: right !important;
	white-space: nowrap !important;
}


/* ── WooCommerce block checkout: product name font size ── */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name {
	font-size: 13px !important;
}

/* ── Single product: hide Sale badge ── */
.woocommerce div.product span.onsale { display: none !important; }

/* ── Single product gallery: hover has no effect, only trigger icon zooms ── */
/* Kill hover zoom overlay */
.woocommerce div.product .woocommerce-product-gallery .zoomImg {
	display: none !important;
	pointer-events: none !important;
}
/* Block ALL mouse interaction on the gallery image and its anchor */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a,
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	pointer-events: none !important;
	cursor: default !important;
}
/* Trigger icon sits above — re-enable it exclusively */
.woocommerce div.product .woocommerce-product-gallery__trigger {
	pointer-events: auto !important;
	cursor: zoom-in !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 10 !important;
	position: absolute !important;
}

/* ── Review form: label alignment + smaller textarea ── */
#review_form #respond {
	padding: 0 !important;
}
#review_form #respond .comment-reply-title,
#review_form #respond #reply-title {
	font-family: var(--kcp-ff-display) !important;
	font-size: 22px !important;
	letter-spacing: 1px !important;
	color: var(--kcp-ink) !important;
	margin: 0 0 16px !important;
	display: block !important;
}
#review_form .comment-form label {
	display: block !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	color: var(--kcp-ink) !important;
	margin-bottom: 5px !important;
}
#review_form .comment-form-comment label {
	margin-bottom: 6px !important;
}
#review_form .comment-form-comment textarea#comment {
	width: 100% !important;
	height: 100px !important;
	min-height: 100px !important;
	max-height: 200px !important;
	resize: vertical !important;
	padding: 10px 12px !important;
	font-size: 14px !important;
	border: 1.5px solid var(--kcp-cream-mid) !important;
	border-radius: 6px !important;
	font-family: var(--kcp-ff-body) !important;
	color: var(--kcp-ink) !important;
	box-sizing: border-box !important;
}
#review_form .comment-form-comment textarea#comment:focus {
	border-color: var(--kcp-teal) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(2,102,127,.1) !important;
}
