/**
 * WooCommerce styles for the Pharma Uno Akademie theme.
 *
 * Themes WooCommerce to the navy/gold design system using the design tokens
 * declared in style.css :root. Everything is scoped under .woocommerce (or the
 * body/account contexts WooCommerce adds) so it stays conflict-free with the
 * rest of the theme and with Elementor widgets.
 *
 * Loaded ONLY on WooCommerce contexts (see inc/enqueue.php).
 *
 * @package Pharma_Uno_Akademie
 * @since   1.0.0
 */

/* =====================================================================
   Layout wrappers (theme wrappers replace default Woo wrappers)
   ===================================================================== */
.woocommerce .pua-wrap,
.woocommerce-page .pua-wrap {
	max-width: var(--pua-maxw);
	margin: 0 auto;
	/* 10px oben/unten: sonst überschreibt diese (spezifischere) Regel das
	   vertikale Padding von .pua-nav auf Shop-Seiten und der Header wird platt. */
	padding: 10px 32px;
}

.pua-site-main .woocommerce,
.pua-site-main.woocommerce {
	padding: 56px 0 80px;
}

.woocommerce img,
.woocommerce-page img {
	max-width: 100%;
	height: auto;
}

/* =====================================================================
   Buttons — map Woo buttons to the .pua-btn--primary look (gold pill)
   ===================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce .wc-forward,
.woocommerce a.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: 999px;
	border: 2px solid transparent;
	background: var(--pua-gold);
	color: var(--pua-navy);
	font-family: var(--pua-font-body);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	min-height: 44px;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.woocommerce .wc-forward:hover,
.woocommerce a.added_to_cart:hover {
	background: var(--pua-gold-light);
	color: var(--pua-navy);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(240, 168, 0, .35);
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce .button:focus-visible,
.woocommerce #respond input#submit:focus-visible,
.woocommerce #place_order:focus-visible {
	outline: 2px solid var(--pua-gold) !important;
	outline-offset: 3px;
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce input.button:disabled,
.woocommerce .button.disabled {
	opacity: .55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Secondary / alt-neutral buttons -> outline-navy.
   Woo uses .alt for the "main" action; the plain / neutral buttons
   (e.g. "Update cart", "Continue shopping", "View cart") read as secondary. */
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"],
.woocommerce input[name="update_cart"],
.woocommerce .cart .button:not(.checkout-button):not(.alt),
.woocommerce .return-to-shop .button,
.woocommerce .woocommerce-message .button:not(.alt),
.woocommerce-account .woocommerce-MyAccount-content .button:not(.alt) {
	background: transparent;
	color: var(--pua-navy);
	border-color: var(--pua-navy);
	box-shadow: none;
}

.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce input[name="update_cart"]:hover,
.woocommerce .cart .button:not(.checkout-button):not(.alt):hover,
.woocommerce .return-to-shop .button:hover,
.woocommerce .woocommerce-message .button:not(.alt):hover,
.woocommerce-account .woocommerce-MyAccount-content .button:not(.alt):hover {
	background: var(--pua-navy);
	color: var(--pua-white);
	border-color: var(--pua-navy);
	box-shadow: none;
	transform: translateY(-2px);
}

/* =====================================================================
   Product loop / archive cards (li.product) — match .pua-offer-card
   ===================================================================== */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product-category {
	width: auto;
	float: none;
	margin: 0;
	padding: 22px 22px 26px;
	background: var(--pua-bg-card);
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	box-shadow: var(--pua-shadow);
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	text-align: left;
	transition: transform .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(13, 27, 62, .12);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	width: 100%;
	height: auto;
	margin: 0 0 6px;
	border-radius: 10px;
	background: var(--pua-bg-light);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	padding: 0;
	margin: 0;
	font-family: var(--pua-font-head);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--pua-text-dark);
}

.woocommerce ul.products li.product .woocommerce-loop-category__title {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	margin: 0;
	color: var(--pua-navy);
	font-family: var(--pua-font-head);
	font-weight: 700;
	font-size: 20px;
}

.woocommerce ul.products li.product .price ins {
	color: var(--pua-gold);
	text-decoration: none;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del {
	color: var(--pua-text-muted);
	font-weight: 500;
	font-size: 15px;
	opacity: .8;
}

.woocommerce ul.products li.product .price .woocommerce-Price-amount {
	color: inherit;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	align-self: flex-start;
	margin-top: 4px;
}

.woocommerce ul.products li.product .star-rating {
	margin: 0;
}

/* Result count + ordering bar */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	color: var(--pua-text-muted);
	font-size: 14px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
	padding: 10px 14px;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	background: var(--pua-white);
	color: var(--pua-text-dark);
	font-family: var(--pua-font-body);
	font-size: 14px;
}

/* =====================================================================
   Sale flash badge — gold pill
   ===================================================================== */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce ul.products li.product .onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	min-height: 0;
	min-width: 0;
	margin: 0;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--pua-gold);
	color: var(--pua-navy);
	font-family: var(--pua-font-head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1.4;
}

.woocommerce ul.products li.product,
.woocommerce div.product {
	position: relative;
}

/* =====================================================================
   Single product layout
   ===================================================================== */
.woocommerce div.product,
.woocommerce-page div.product {
	display: block;
}

.woocommerce div.product .product_title,
.woocommerce-page div.product .product_title {
	font-family: var(--pua-font-head);
	font-size: clamp(26px, 3.4vw, 36px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--pua-text-dark);
	margin: 0 0 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {
	color: var(--pua-navy);
	font-family: var(--pua-font-head);
	font-weight: 700;
	font-size: 30px;
	margin-bottom: 18px;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	color: var(--pua-gold);
	text-decoration: none;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--pua-text-muted);
	font-size: 20px;
	opacity: .8;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--pua-text-muted);
	font-size: 16px;
	margin-bottom: 22px;
}

.woocommerce div.product form.cart {
	margin-bottom: 28px;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 24px;
	padding: 0;
	border-bottom: 1px solid var(--pua-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: var(--pua-border);
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 12px 18px;
	color: var(--pua-text-muted);
	font-weight: 600;
	font-family: var(--pua-font-head);
	border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--pua-navy);
	border-bottom-color: var(--pua-gold);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
}

/* Related / upsell headings */
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	font-family: var(--pua-font-head);
	font-size: 24px;
	color: var(--pua-text-dark);
	margin-bottom: 24px;
}

/* =====================================================================
   Star ratings — gold
   ===================================================================== */
.woocommerce .star-rating,
.woocommerce p.stars a {
	color: var(--pua-gold);
}

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
	color: var(--pua-gold);
}

.woocommerce .star-rating span {
	color: var(--pua-gold);
}

.woocommerce p.stars a::before {
	color: var(--pua-gold);
}

/* =====================================================================
   Quantity inputs
   ===================================================================== */
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty {
	width: 74px;
	padding: 12px 10px;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	background: var(--pua-white);
	color: var(--pua-text-dark);
	font-family: var(--pua-font-body);
	font-size: 15px;
	text-align: center;
	min-height: 44px;
}

.woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--pua-gold);
	box-shadow: 0 0 0 3px rgba(240, 168, 0, .2);
}

/* =====================================================================
   Form fields (checkout, account, coupon, reviews)
   ===================================================================== */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce #order_review input.input-text,
.woocommerce .woocommerce-account-fields input.input-text,
.woocommerce .woocommerce-form-login input.input-text,
.woocommerce .woocommerce-form-register input.input-text,
.woocommerce input#coupon_code,
.woocommerce #comment {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	background: var(--pua-white);
	color: var(--pua-text-dark);
	font-family: var(--pua-font-body);
	font-size: 15px;
	line-height: 1.5;
	min-height: 46px;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce #order_review input.input-text:focus,
.woocommerce input#coupon_code:focus,
.woocommerce #comment:focus,
.woocommerce .select2-container--focus .select2-selection {
	outline: none;
	border-color: var(--pua-gold);
	box-shadow: 0 0 0 3px rgba(240, 168, 0, .2);
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
	color: var(--pua-text-dark);
}

.woocommerce form .form-row .required {
	color: var(--pua-gold);
	text-decoration: none;
	border: 0;
}

.woocommerce .select2-container .select2-selection--single {
	height: 46px;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	background: var(--pua-white);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 14px;
	color: var(--pua-text-dark);
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
	height: 44px;
}

.woocommerce .select2-dropdown {
	border-color: var(--pua-border);
}

.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--pua-navy);
	color: var(--pua-white);
}

/* Coupon block */
.woocommerce .cart .coupon {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

.woocommerce .cart .coupon input#coupon_code {
	width: auto;
	flex: 1;
	min-width: 180px;
}

/* =====================================================================
   Cart + checkout tables — clean, serious
   ===================================================================== */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	width: 100%;
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--pua-bg-card);
	box-shadow: var(--pua-shadow);
	margin-bottom: 28px;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
	padding: 16px 18px;
	background: var(--pua-bg-light);
	color: var(--pua-text-dark);
	font-family: var(--pua-font-head);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .02em;
	text-align: left;
	border-bottom: 1px solid var(--pua-border);
}

.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
	padding: 16px 18px;
	color: var(--pua-text-dark);
	font-size: 15px;
	border-top: 1px solid var(--pua-border);
	vertical-align: middle;
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	background: var(--pua-bg-light);
	font-weight: 700;
}

.woocommerce table.shop_table .amount,
.woocommerce table.shop_table .woocommerce-Price-amount {
	color: var(--pua-navy);
	font-weight: 600;
}

.woocommerce table.shop_table tfoot .order-total .amount {
	color: var(--pua-navy);
	font-family: var(--pua-font-head);
	font-size: 19px;
	font-weight: 700;
}

.woocommerce a.remove {
	color: var(--pua-navy) !important;
	border: 1px solid var(--pua-border);
	background: var(--pua-white);
	line-height: 22px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	font-weight: 600;
}

.woocommerce a.remove:hover {
	color: var(--pua-white) !important;
	background: var(--pua-navy);
	border-color: var(--pua-navy);
}

.woocommerce .cart_totals h2,
.woocommerce #order_review_heading,
.woocommerce-checkout h3 {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
	font-size: 20px;
	margin-bottom: 16px;
}

/* Checkout two-column feel — customer details + order review */
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3 {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
	font-size: 18px;
	margin-bottom: 14px;
}

.woocommerce #order_review {
	background: var(--pua-bg-card);
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	box-shadow: var(--pua-shadow);
	padding: 24px;
}

.woocommerce #payment,
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: var(--pua-radius);
}

.woocommerce #payment ul.payment_methods {
	border-bottom: 1px solid var(--pua-border);
	padding: 0 0 16px;
}

.woocommerce #payment ul.payment_methods li {
	color: var(--pua-text-dark);
}

.woocommerce #payment div.payment_box {
	background: var(--pua-bg-light);
	color: var(--pua-text-muted);
	border-radius: 10px;
	font-size: 14px;
}

.woocommerce #payment div.payment_box::before {
	border-bottom-color: var(--pua-bg-light);
}

.woocommerce #payment .place-order {
	padding-top: 16px;
}

.woocommerce-checkout #payment #place_order,
.woocommerce #place_order {
	width: 100%;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	background: var(--pua-bg-card);
	padding: 22px 24px;
}

.woocommerce-form-login__rememberme,
.woocommerce-terms-and-conditions-wrapper {
	color: var(--pua-text-muted);
	font-size: 14px;
}

/* Cross-sells / cart collaterals */
.woocommerce .cart-collaterals .cart_totals {
	background: var(--pua-bg-card);
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	box-shadow: var(--pua-shadow);
	padding: 22px 24px;
}

/* =====================================================================
   Notices — success / info / error, themed
   ===================================================================== */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error {
	border-radius: var(--pua-radius);
	border-top: none;
	padding: 16px 18px 16px 20px;
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
	box-shadow: var(--pua-shadow);
}

.woocommerce .woocommerce-message {
	background: #EEF7EE;
	border-left: 4px solid #2E7D32;
	color: #1B4620;
}

.woocommerce .woocommerce-message::before {
	color: #2E7D32;
}

.woocommerce .woocommerce-info {
	background: var(--pua-bg-light);
	border-left: 4px solid var(--pua-navy);
	color: var(--pua-text-dark);
}

.woocommerce .woocommerce-info::before {
	color: var(--pua-navy);
}

.woocommerce .woocommerce-error {
	background: #FDECEC;
	border-left: 4px solid #C62828;
	color: #7A1C1C;
}

.woocommerce .woocommerce-error::before {
	color: #C62828;
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
	margin-left: 12px;
}

/* =====================================================================
   My-account navigation
   ===================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	overflow: hidden;
	background: var(--pua-bg-card);
	box-shadow: var(--pua-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--pua-border);
}

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

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 18px;
	color: var(--pua-text-dark);
	font-weight: 500;
	font-size: 15px;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--pua-bg-light);
	color: var(--pua-navy);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--pua-navy);
	color: var(--pua-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pua-gold);
	margin-right: 10px;
	vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content {
	color: var(--pua-text-dark);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
}

.woocommerce-account .addresses .title h3 {
	font-family: var(--pua-font-head);
}

.woocommerce-account .col2-set,
.woocommerce .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	width: 100%;
}

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	width: auto;
	float: none;
	min-width: 0;
}

/* WooCommerce hängt an .col2-set einen Clearfix (::before/::after mit
   display:table). In einem Grid-Container werden daraus zwei leere Grid-Items,
   die die Karten diagonal verschieben. Deshalb neutralisieren. */
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce .col2-set::before,
.woocommerce .col2-set::after {
	content: none;
	display: none;
}

/* =====================================================================
   Breadcrumb (Woo default, when used)
   ===================================================================== */
.woocommerce .woocommerce-breadcrumb {
	color: var(--pua-text-muted);
	font-size: 13.5px;
	margin-bottom: 24px;
}

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

.woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--pua-gold);
}

/* =====================================================================
   Pagination
   ===================================================================== */
.woocommerce nav.woocommerce-pagination ul {
	border: none;
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	min-height: 44px;
	padding: 10px 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	background: var(--pua-white);
	color: var(--pua-text-dark);
	font-weight: 600;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--pua-navy);
	color: var(--pua-white);
	border-color: var(--pua-navy);
}

/* =====================================================================
   Reviews
   ===================================================================== */
.woocommerce #reviews h2 {
	font-family: var(--pua-font-head);
	color: var(--pua-text-dark);
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	padding: 18px 20px;
	background: var(--pua-bg-card);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	border: 1px solid var(--pua-border);
	border-radius: 50%;
	background: var(--pua-bg-light);
}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.woocommerce .pua-wrap,
	.woocommerce-page .pua-wrap {
		padding: 0 20px;
	}

	/* Header-Leiste NICHT vertikal platt quetschen: die Regel darüber nullt
	   sonst das vertikale Padding der Kopfzeile auf Shop-/Kassen-Seiten, wodurch
	   Logo/Buttons oben/unten kleben und das Warenkorb-Badge oben herausragt. */
	.woocommerce .pua-wrap.pua-nav,
	.woocommerce-page .pua-wrap.pua-nav {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.woocommerce-account .col2-set,
	.woocommerce .col2-set {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce table.shop_table thead {
		display: none;
	}

	.woocommerce table.shop_table.shop_table_responsive tr td {
		display: block;
		text-align: right;
		padding: 12px 16px;
		border-top: 1px solid var(--pua-border);
	}

	.woocommerce table.shop_table.shop_table_responsive tr td::before {
		content: attr(data-title);
		float: left;
		font-weight: 600;
		color: var(--pua-text-muted);
	}

	.woocommerce .cart .coupon {
		flex-direction: column;
		align-items: stretch;
	}

	.woocommerce .cart .coupon input#coupon_code {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: 1fr;
	}

	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #place_order {
		width: 100%;
	}
}

/* =========================================================================
   WOOCOMMERCE BLOCKS – Cart & Checkout (Navy/Gold)
   Der Block-Checkout (React) nutzt .wc-block-* Klassen statt des klassischen
   Markups. Markenkritische Eigenschaften (Buttons, Fokus, Akzente) mit
   gezieltem !important, da die Block-Styles teils hohe Spezifität mitbringen.
   ========================================================================= */

.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
	font-family: var(--pua-font-body);
	color: var(--pua-text-dark);
	max-width: none;
	width: 100%;
}

/* Shop-Seiten auf die Standard-Theme-Breite (.pua-wrap = 1180px, wie die
   Startseite): NUR die Lese-Breiten-Begrenzung (.pua-entry 760px) aufheben,
   damit der Inhalt den normalen Container füllt – nicht breiter, einheitlich. */
body.woocommerce-checkout .pua-entry,
body.woocommerce-checkout .pua-entry-content,
body.woocommerce-cart .pua-entry,
body.woocommerce-cart .pua-entry-content,
body.woocommerce-account .pua-entry,
body.woocommerce-account .pua-entry-content {
	max-width: none !important;
}
/* Warenkorb/Kasse/Konto: Luft zwischen dem (sticky) Header und dem Inhalt.
   Normale Seiten holen diesen Abstand aus ihren .pua-section-Blöcken – diese
   Shop-Seiten haben keine, daher hier direkt Padding auf den Main-Container,
   damit der Header nicht „gequetscht" wirkt. */
body.woocommerce-checkout .pua-site-main,
body.woocommerce-cart .pua-site-main,
body.woocommerce-account .pua-site-main {
	/* !important, da elementor.css auf Elementor-Seiten padding:0 auf
	   .pua-site-main setzt und den Titel sonst an den Header quetscht. */
	padding-top: 64px !important;
}
body.woocommerce-checkout .pua-entry-header,
body.woocommerce-account .pua-entry-header {
	margin-top: 0;
	margin-bottom: 8px;
}
.wc-block-checkout,
.wc-block-cart,
.wc-block-checkout__form,
.wc-block-checkout__main {
	max-width: none !important;
	width: 100%;
}

/* Schritt-Überschriften (Kontakt / Rechnungsadresse / Zahlungsoptionen) */
.wc-block-components-title,
.wc-block-components-checkout-step__title {
	font-family: var(--pua-font-head) !important;
	color: var(--pua-navy) !important;
	letter-spacing: -0.01em;
	font-weight: 600 !important;
}
.wc-block-components-checkout-step__description,
.wc-block-components-express-payment__title-and-divider {
	color: var(--pua-text-muted);
}
.wc-block-checkout__main .wc-block-components-checkout-step {
	border-color: var(--pua-border);
}

/* Formularfelder */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select .wc-blocks-components-select__select,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout select,
.wc-block-checkout textarea {
	border: 1px solid var(--pua-border) !important;
	border-radius: 10px !important;
	background: var(--pua-white);
	color: var(--pua-text-dark);
	font-family: var(--pua-font-body);
	font-size: 15px !important;
	box-shadow: none !important;
}
/* Floating-Label ebenfalls dezenter */
.wc-block-components-text-input label {
	font-size: 14px;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input.is-active input,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus {
	border-color: var(--pua-gold) !important;
	outline: 2px solid rgba(240, 168, 0, 0.25) !important;
	outline-offset: 0;
}
.wc-block-components-text-input.is-active label {
	color: var(--pua-navy);
}

/* Buttons: „Bestellung aufgeben" + allg. gefüllte Block-Buttons */
.wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
	background: var(--pua-gold) !important;
	color: var(--pua-navy) !important;
	border: 2px solid var(--pua-gold) !important;
	border-radius: 999px !important;
	font-family: var(--pua-font-body) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	min-height: 52px;
	box-shadow: none !important;
	transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.wc-block-components-button.contained:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--pua-gold-light) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(240, 168, 0, 0.35) !important;
}
.wc-block-components-button__text {
	color: inherit !important;
}

/* Text-/Link-Elemente */
.wc-block-checkout a,
.wc-block-cart a,
.wc-block-components-button.wc-block-components-button--text {
	color: var(--pua-navy);
}
.wc-block-checkout a:hover,
.wc-block-cart a:hover {
	color: var(--pua-gold);
}

/* Bestellübersicht: die Produktliste bekommt KEINE eigene Box mehr –
   sie sitzt flach in der äußeren „Bestellübersicht"-Card (keine Box-in-Box).
   Seitlicher Abstand (WooCommerce-Standard 16px) bleibt erhalten, damit die
   Produktzeile bündig mit Titel, Gutschein und Summen ist. */
.wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 16px !important;
}
.wc-block-components-totals-item {
	color: var(--pua-text-dark);
	font-size: 15px;
}
.wc-block-components-totals-item__label {
	color: var(--pua-text-muted);
}
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--pua-navy) !important;
	font-family: var(--pua-font-head);
	font-weight: 700;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 20px;
}
/* Bestellübersicht kompakter: Produktnamen, Preise und Meta kleiner */
.wc-block-components-order-summary-item .wc-block-components-product-name {
	font-size: 14px !important;
	line-height: 1.35;
	font-weight: 600;
}
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__individual-price {
	color: var(--pua-navy);
	font-weight: 700;
	font-size: 14px !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item .wc-block-components-product-price {
	font-size: 13px !important;
}
.wc-block-components-order-summary-item__quantity {
	background: var(--pua-navy) !important;
	color: var(--pua-white) !important;
	border: none !important;
}

/* Zahlungsoptionen (Radios) */
.wc-block-components-radio-control__option {
	border: 1px solid var(--pua-border);
	border-radius: 12px;
	padding: 16px 18px;
	margin-bottom: 10px;
	transition: border-color .15s ease, background .15s ease;
}
.wc-block-components-radio-control__option:hover {
	border-color: var(--pua-navy);
}
.wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--pua-gold);
	background: rgba(240, 168, 0, 0.05);
}
.wc-block-components-radio-control__label {
	color: var(--pua-text-dark);
	font-weight: 600;
}

/* Radios & Checkboxen in Gold */
.wc-block-checkout input[type="radio"],
.wc-block-checkout input[type="checkbox"],
.wc-block-cart input[type="radio"],
.wc-block-cart input[type="checkbox"],
.wc-block-components-checkbox__input,
.wc-block-components-radio-control__input {
	accent-color: var(--pua-gold);
}
.wc-block-components-checkbox__label {
	color: var(--pua-text-dark);
}

/* Express-Zahlung: KEINE graue (Doppel-)Box – Buttons stehen flach */
.wc-block-checkout__express-payment,
.wc-block-components-express-payment,
.wc-block-components-express-payment__event-buttons {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Hinweise */
.wc-block-components-notice-banner {
	border-radius: var(--pua-radius) !important;
}

/* Warenkorb-Überschriften (leerer Warenkorb + Cross-Sells) angenehm klein */
.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h1,
.wp-block-woocommerce-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block .wp-block-heading,
.wp-block-woocommerce-cart-cross-sells-block h2,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
	font-size: clamp(22px, 3.2vw, 30px) !important;
	line-height: 1.2 !important;
}
.wp-block-woocommerce-empty-cart-block p {
	font-size: 16px !important;
}

/* Warenkorb-Seitentitel (Elementor-Seite → per the_content-Filter ergänzt).
   Hohe Spezifität + !important, da die Elementor-Kit-h1-Typografie sonst
   gewinnt und den Titel riesig macht. */
.pua-cart-title,
body.woocommerce-cart h1.pua-cart-title {
	font-family: var(--pua-font-head) !important;
	font-weight: 700 !important;
	color: var(--pua-navy) !important;
	font-size: clamp(28px, 4vw, 40px) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 20px !important;
}

/* =========================================================================
   MEIN KONTO – Login-Seite (CI-Card) + Adressen-Layout
   ========================================================================= */

/* Login-Seite (ausgeloggt): zentrierte Card, ohne Registrierung (per Option aus) */
.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
}
.woocommerce-account:not(.logged-in) form.woocommerce-form-login {
	background: #fff;
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	box-shadow: var(--pua-shadow);
	padding: 28px 26px;
	margin: 0;
}
.woocommerce-account form.woocommerce-form-login input.input-text {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--pua-border);
	border-radius: 10px;
	font-size: 15px;
}
.woocommerce-account form.woocommerce-form-login input.input-text:focus {
	border-color: var(--pua-gold);
	outline: 2px solid rgba(240, 168, 0, 0.25);
	outline-offset: 0;
}
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__submit {
	background: var(--pua-gold) !important;
	color: var(--pua-navy) !important;
	border: 2px solid var(--pua-gold) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
}

/* Adressen: sauberes 2-Spalten-Grid statt verschobener Floats */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-top: 8px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--pua-border);
	border-radius: var(--pua-radius);
	padding: 20px 22px;
}
/* Woo hängt auch an .addresses .title einen Clearfix (::before/::after mit
   display:table). Im Flex-Container werden daraus leere Items, die die
   Überschrift in die Mitte drücken. Neutralisieren -> Titel linksbündig. */
.woocommerce-account .addresses .title::before,
.woocommerce-account .addresses .title::after,
.woocommerce-account .woocommerce-Address-title.title::before,
.woocommerce-account .woocommerce-Address-title.title::after {
	content: none;
	display: none;
}
.woocommerce-account .woocommerce-Address-title.title {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 16px;
	row-gap: 4px;
	text-align: left;
	margin: 0 0 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pua-border);
}
.woocommerce-account .woocommerce-Address-title.title h2,
.woocommerce-account .woocommerce-Address-title.title h3 {
	margin: 0;
	width: auto;
	font-family: var(--pua-font-head);
	font-size: 18px;
	line-height: 1.25;
	color: var(--pua-text-dark);
	text-align: left !important;
}
.woocommerce-account .woocommerce-Address-title.title .edit {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--pua-gold);
	text-decoration: none;
}
.woocommerce-account .woocommerce-Address-title.title .edit:hover {
	color: var(--pua-navy);
	text-decoration: underline;
}
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	color: var(--pua-text-dark);
	line-height: 1.7;
}
@media (max-width: 700px) {
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}

/* =====================================================================
   Bestellungen: Aktions-Buttons nebeneinander statt gestapelt
   ===================================================================== */
.woocommerce-orders-table__cell-order-actions {
	white-space: nowrap;
}
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-orders-table__cell-order-actions .woocommerce-button {
	display: inline-flex;
	margin: 0 12px 0 0;
	padding: 6px 15px;
	min-height: 0;
	border-width: 1.5px;
	font-size: 13px;
}
.woocommerce-orders-table__cell-order-actions .button:last-child,
.woocommerce-orders-table__cell-order-actions .woocommerce-button:last-child {
	margin-right: 0;
}
@media (max-width: 768px) {
	/* Im responsiven (gestapelten) Tabellen-Modus rechtsbündig, mit Umbruch */
	.woocommerce-orders-table__cell-order-actions {
		white-space: normal;
	}
	.woocommerce-orders-table__cell-order-actions .button,
	.woocommerce-orders-table__cell-order-actions .woocommerce-button {
		margin: 0 0 10px 10px;
	}
}

@media (max-width: 768px) {
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 20px;
	}
	.wc-block-components-express-payment {
		padding: 16px;
	}
}
