/* ==========================================================================
   WooCommerce – redesigned form inputs
   Applies to: checkout, my-account, registration, edit-address
   ========================================================================== */

/* ── CSS custom properties ─────────────────────────────────────────────────── */
:root {
	--hv-input-border:        #d0d5dd;
	--hv-input-border-focus:  #555;
	--hv-input-bg:            #fff;
	--hv-input-radius:        6px;
	--hv-input-padding:       10px 14px;
	--hv-input-font-size:     0.9rem;
	--hv-input-color:         #1a1a1a;
	--hv-input-placeholder:   #9ba3af;
	--hv-label-color:         #374151;
	--hv-label-size:          0.8rem;
	--hv-label-weight:        600;
}

/* ── Labels ────────────────────────────────────────────────────────────────── */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	display:       block;
	margin-bottom: 4px;
	font-size:     var(--hv-label-size);
	font-weight:   var(--hv-label-weight);
	color:         var(--hv-label-color);
	line-height:   1.4;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Required asterisk */
.woocommerce form .form-row label abbr,
.woocommerce-page form .form-row label abbr {
	color:           #e53e3e;
	text-decoration: none;
	margin-left:     2px;
}

/* ── Text / email / tel / number / password inputs ─────────────────────────── */
.woocommerce form .form-row .input-text,
.woocommerce-page form .form-row .input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="number"],
.woocommerce form input[type="password"],
.woocommerce form input[type="search"],
.woocommerce form input[type="url"],
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"] {
	width:            100%;
	padding:          var(--hv-input-padding);
	background:       var(--hv-input-bg);
	border:           1px solid var(--hv-input-border);
	border-radius:    var(--hv-input-radius);
	font-size:        var(--hv-input-font-size);
	color:            var(--hv-input-color);
	line-height:      1.5;
	outline:          none;
	transition:       border-color 0.15s ease, box-shadow 0.15s ease;
	box-shadow:       none;
	-webkit-appearance: none;
	appearance:       none;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce-page form .form-row .input-text:focus,
.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="tel"]:focus,
.woocommerce form input[type="number"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce-page input[type="text"]:focus,
.woocommerce-page input[type="email"]:focus,
.woocommerce-page input[type="tel"]:focus,
.woocommerce-page input[type="password"]:focus {
	border-color: var(--hv-input-border-focus);
	box-shadow:   0 0 0 3px rgba(85, 85, 85, 0.1);
}

/* Placeholder */
.woocommerce form .input-text::placeholder,
.woocommerce-page form .input-text::placeholder,
.woocommerce form input::placeholder,
.woocommerce-page input::placeholder {
	color:   var(--hv-input-placeholder);
	opacity: 1;
}

/* ── Select (native) ────────────────────────────────────────────────────────── */
.woocommerce form select,
.woocommerce-page form select {
	width:            100%;
	padding:          var(--hv-input-padding);
	padding-right:    36px;
	background:       var(--hv-input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
	background-size:  12px;
	border:           1px solid var(--hv-input-border);
	border-radius:    var(--hv-input-radius);
	font-size:        var(--hv-input-font-size);
	color:            var(--hv-input-color);
	line-height:      1.5;
	outline:          none;
	cursor:           pointer;
	transition:       border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance:       none;
}

.woocommerce form select:focus,
.woocommerce-page form select:focus {
	border-color: var(--hv-input-border-focus);
	box-shadow:   0 0 0 3px rgba(85, 85, 85, 0.1);
}

/* ── Select2 (WooCommerce's fancy country/state dropdowns) ─────────────────── */
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page .select2-container .select2-selection--single {
	height:        auto !important;
	padding:       var(--hv-input-padding);
	background:    var(--hv-input-bg);
	border:        1px solid var(--hv-input-border) !important;
	border-radius: var(--hv-input-radius) !important;
	outline:       none;
	transition:    border-color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce .select2-container--open .select2-selection--single,
.woocommerce .select2-container--focus .select2-selection--single,
.woocommerce-page .select2-container--focus .select2-selection--single {
	border-color: var(--hv-input-border-focus) !important;
	box-shadow:   0 0 0 3px rgba(85, 85, 85, 0.1) !important;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered,
.woocommerce-page .select2-container .select2-selection--single .select2-selection__rendered {
	padding:      0;
	font-size:    var(--hv-input-font-size);
	color:        var(--hv-input-color);
	line-height:  1.5;
}

.woocommerce .select2-selection--single .select2-selection__arrow,
.woocommerce-page .select2-selection--single .select2-selection__arrow {
	top:    50% !important;
	right:  10px !important;
	transform: translateY(-50%);
	height: auto !important;
}

.woocommerce .select2-dropdown,
.woocommerce-page .select2-dropdown {
	border:        1px solid var(--hv-input-border);
	border-radius: var(--hv-input-radius);
	box-shadow:    0 4px 16px rgba(0, 0, 0, 0.08);
	font-size:     var(--hv-input-font-size);
}

.woocommerce .select2-results__option--highlighted,
.woocommerce-page .select2-results__option--highlighted {
	background: #f3f4f6 !important;
	color:      var(--hv-input-color) !important;
}

/* ── Textarea ───────────────────────────────────────────────────────────────── */
.woocommerce form textarea,
.woocommerce-page form textarea {
	width:         100%;
	padding:       var(--hv-input-padding);
	background:    var(--hv-input-bg);
	border:        1px solid var(--hv-input-border);
	border-radius: var(--hv-input-radius);
	font-size:     var(--hv-input-font-size);
	color:         var(--hv-input-color);
	line-height:   1.6;
	resize:        vertical;
	outline:       none;
	transition:    border-color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce form textarea:focus,
.woocommerce-page form textarea:focus {
	border-color: var(--hv-input-border-focus);
	box-shadow:   0 0 0 3px rgba(85, 85, 85, 0.1);
}

/* ── Form row spacing ───────────────────────────────────────────────────────── */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
	padding:       0;
	margin-bottom: 16px;
}

/* ── Validation states ──────────────────────────────────────────────────────── */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: #e53e3e;
}

.woocommerce form .form-row.woocommerce-valid .input-text,
.woocommerce form .form-row.woocommerce-valid select {
	border-color: #38a169;
}

/* ── Checkbox ───────────────────────────────────────────────────────────────── */
.woocommerce form .form-row input[type="checkbox"],
.woocommerce-page form .form-row input[type="checkbox"] {
	width:         16px;
	height:        16px;
	margin-right:  8px;
	accent-color:  #555;
	cursor:        pointer;
	vertical-align: middle;
	position:      relative;
	top:           -1px;
}

/* ── Primary button ─────────────────────────────────────────────────────────── */
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce-page input.button.alt {
	padding:       12px 28px;
	border-radius: var(--hv-input-radius);
	font-size:     0.9rem;
	font-weight:   600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition:    background 0.2s ease, opacity 0.2s ease;
}

.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page button.button.alt:hover {
	opacity: 0.88;
}

/* ── Secondary / ghost button ───────────────────────────────────────────────── */
.woocommerce button.button:not(.alt),
.woocommerce a.button:not(.alt),
.woocommerce-page button.button:not(.alt),
.woocommerce-page a.button:not(.alt) {
	padding:       10px 22px;
	border-radius: var(--hv-input-radius);
	font-size:     0.875rem;
	font-weight:   600;
	border:        1px solid var(--hv-input-border);
	transition:    border-color 0.15s ease, background 0.15s ease;
}

/* ── Cart block: SKU item meta styling ───────────────────────────────────────── */
.wc-block-components-product-metadata .wc-block-components-product-metadata__description {
	font-size: 0.8rem;
	color: #888;
}

/* ── Cart block: larger item total ──────────────────────────────────────────── */
.wc-block-cart-item__total,
.wc-block-cart-item__total .wc-block-formatted-money-amount {
	font-size: 1.1rem;
	font-weight: 600;
}

/* ── WooCommerce notices / errors ───────────────────────────────────────────── */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border-radius: var(--hv-input-radius);
	font-size:     0.9rem;
}

/* ── My Account – navigation icons ─────────────────────────────────────────── */
.woocommerce-MyAccount-navigation-link a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	width: 1.2em;
	margin-right: 8px;
	text-align: center;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.woocommerce-MyAccount-navigation-link--orders a::before          { content: "\f291"; } /* fa-shopping-bag   */
.woocommerce-MyAccount-navigation-link--edit-address a::before    { content: "\f015"; } /* fa-home           */
.woocommerce-MyAccount-navigation-link--edit-account a::before    { content: "\f007"; } /* fa-user           */
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; } /* fa-sign-out-alt   */

/* ── My Account – edit / action link icons ──────────────────────────────────── */
.woocommerce-Address-title a.edit::before,
.woocommerce-orders-table__cell-order-actions a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	display: inline-block;
	margin-right: 5px;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.woocommerce-Address-title a.edit::before                          { content: "\f044"; } /* fa-edit           */
.woocommerce-orders-table__cell-order-actions a.view::before       { content: "\f06e"; } /* fa-eye            */
.woocommerce-orders-table__cell-order-actions a.cancel::before     { content: "\f057"; } /* fa-times-circle   */
.woocommerce-orders-table__cell-order-actions a.pay::before        { content: "\f09d"; } /* fa-credit-card    */

/* ── Order details: Lieferzeit on its own line ──────────────────────────────── */
.product-name .hv-order-lieferzeit {
	display: block;
	font-size: 0.82em;
	color: #666;
	margin-top: 3px;
}

/* ── Order details: price amount and tax on separate lines ──────────────────── */
.woocommerce-table.order_details .product-total .woocommerce-Price-amount,
.woocommerce-table.order_details .product-total .product-tax {
	display: block;
}
.woocommerce-table.order_details .product-total .product-tax {
	margin-top: 2px;
	font-size: 0.85em;
	color: #555;
}
