/*
Theme Name: Loud Child
Theme URI: https://wildish.community
Description: Child theme for Loud - A Modern WordPress Theme for the Music Industry
Author: Wildish
Author URI: https://wildish.community
Template: loud
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: loud-child
*/

/* Add your custom CSS below this line */

/* Easy Login error notices: keep the recovery link readable against the
 * light error background instead of inheriting the page's light text color. */
.xoo-el-main .xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr,
.xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr {
	color: #7f1d1d !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.xoo-el-main .xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr:hover,
.xoo-el-main .xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr:focus-visible,
.xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr:hover,
.xoo-el-notice .xoo-el-notice-error a.xoo-el-lostpw-tgr:focus-visible {
	color: #4c0519 !important;
	text-decoration-thickness: 2px;
}

/* ============================================================================
   WILDISH SITE-WIDE COLOR SYSTEM
   Mirrors the refined WordPress login palette while preserving intentional
   photo, video and light Visual Composer sections.
   ============================================================================ */
:root {
	--wildish-bg-deep: #111923;
	--wildish-bg: #18212c;
	--wildish-surface: #263241;
	--wildish-surface-soft: #2d3b4b;
	--wildish-border: #485a70;
	--wildish-text: #f3f6fa;
	--wildish-muted: #b8c4d2;
	--wildish-accent: #c9a45f;
	--wildish-accent-hover: #dbb973;
}

body.global-skin-dark {
	background:
		radial-gradient(circle at 50% 0%, rgba(73, 94, 119, 0.34), transparent 38%),
		linear-gradient(145deg, #202b38 0%, var(--wildish-bg) 48%, var(--wildish-bg-deep) 100%) fixed !important;
	color: var(--wildish-text);
}

body.global-skin-dark .site-container,
body.global-skin-dark #page,
body.global-skin-dark #page-content {
	background-color: transparent !important;
}

body.global-skin-dark #page-content .content-inner,
body.global-skin-dark .wvc-row-bg-default.wvc-background-color-default,
body.global-skin-dark .wvc-row.wvc-background-color-default:not(.wvc-row-bg-video):not(.wvc-row-bg-image) {
	background: linear-gradient(145deg, #202b38 0%, var(--wildish-bg) 55%, var(--wildish-bg-deep) 100%) !important;
}

body.global-skin-dark #masthead,
body.global-skin-dark.sticking #masthead,
body.global-skin-dark .site-header.sticking {
	background: rgba(24, 33, 44, 0.96) !important;
	border-bottom: 1px solid rgba(72, 90, 112, 0.7);
	box-shadow: 0 10px 30px rgba(4, 10, 18, 0.2);
}

body.global-skin-dark #colophon {
	background: linear-gradient(180deg, var(--wildish-surface) 0%, #202b38 100%) !important;
	border-top: 1px solid var(--wildish-border);
}

body.global-skin-dark .site-infos {
	background: var(--wildish-bg-deep) !important;
	border-top: 1px solid rgba(72, 90, 112, 0.58);
}

body.global-skin-dark #colophon,
body.global-skin-dark #colophon p,
body.global-skin-dark #colophon li,
body.global-skin-dark .site-infos {
	color: var(--wildish-muted) !important;
}

body.global-skin-dark #colophon h1,
body.global-skin-dark #colophon h2,
body.global-skin-dark #colophon h3,
body.global-skin-dark #colophon h4,
body.global-skin-dark #colophon a,
body.global-skin-dark .site-infos a {
	color: var(--wildish-text) !important;
}

body.global-skin-dark #colophon a:hover,
body.global-skin-dark .site-infos a:hover,
body.global-skin-dark .entry-content a:not(.button):hover {
	color: var(--wildish-accent-hover) !important;
}

body.global-skin-dark input[type="text"],
body.global-skin-dark input[type="email"],
body.global-skin-dark input[type="password"],
body.global-skin-dark input[type="tel"],
body.global-skin-dark input[type="number"],
body.global-skin-dark input[type="search"],
body.global-skin-dark select,
body.global-skin-dark textarea {
	background: var(--wildish-surface) !important;
	border-color: var(--wildish-border) !important;
	color: var(--wildish-text) !important;
	-webkit-text-fill-color: var(--wildish-text) !important;
}

body.global-skin-dark input::placeholder,
body.global-skin-dark textarea::placeholder {
	color: #9fadc0 !important;
	-webkit-text-fill-color: #9fadc0 !important;
	opacity: 1;
}

body.global-skin-dark input:focus,
body.global-skin-dark select:focus,
body.global-skin-dark textarea:focus {
	border-color: var(--wildish-accent) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 95, 0.2) !important;
}

body.global-skin-dark .button:not(.wp-hide-pw),
body.global-skin-dark button.button,
body.global-skin-dark input[type="submit"] {
	background: var(--wildish-accent) !important;
	border-color: var(--wildish-accent) !important;
	color: #17130c !important;
}

body.global-skin-dark .button:not(.wp-hide-pw):hover,
body.global-skin-dark button.button:hover,
body.global-skin-dark input[type="submit"]:hover {
	background: var(--wildish-accent-hover) !important;
	border-color: var(--wildish-accent-hover) !important;
}

/* ============================================================================
   EVENT BLUR FOR NON-LOGGED-IN USERS
   ============================================================================ */

/* Blur events for users who are not logged in */
body.user-not-logged-in .entry-event,
body.user-not-logged-in .hentry.event,
body.user-not-logged-in .event-list .entry,
body.user-not-logged-in .event-item,
body.user-not-logged-in article.event {
	filter: blur(5px);
	-webkit-filter: blur(5px);
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	position: relative;
	cursor: not-allowed;
}

/* My Account: keep the compact page hero requested for login/register. */
body.woocommerce-account #hero-content {
	padding: 1em !important;
}

/* EventPrime compatibility with Loud's global dark skin.
 * EventPrime mixes light cards with inherited theme text colors, which can
 * produce white-on-white and dark-on-black content. Keep all overrides scoped
 * to EventPrime's single-event root so other plugins and pages are untouched. */
body.page-id-5996 #ep_single_event_detail_page_content {
	color: #e7eef7;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-text-dark,
body.page-id-5996 #ep_single_event_detail_page_content .ep-text-secondary {
	color: #d7e0ea !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-text-muted {
	color: #98a8ba !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-button-text-color {
	color: #d7e0ea !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-btn-text-fill-color {
	fill: #d7e0ea !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section {
	background: linear-gradient(180deg, var(--wildish-surface) 0%, var(--wildish-surface-soft) 100%) !important;
	border-color: var(--wildish-border) !important;
	color: #eef3f8 !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h1,
body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h2,
body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h3,
body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h4,
body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h5,
body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section h6,
body.page-id-5996 #ep_single_event_detail_page_content #ep_single_event_ticket_price,
body.page-id-5996 #ep_single_event_detail_page_content .ep-qr-code-section {
	color: #eef3f8 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-buy-ticket-section .ep-border-top {
	border-color: #304156 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-ticket-btn {
	background: var(--wildish-surface) !important;
	border-color: #53657a !important;
	color: #e7eef7 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-ticket-btn.ep-ticket-active {
	background: #c9a45f !important;
	border-color: #c9a45f !important;
	color: #15110b !important;
}

body.page-id-5996 #ep_single_event_detail_page_content #ep_single_event_ticket_now_btn {
	background: #c9a45f !important;
	border-color: #c9a45f !important;
	color: #15110b !important;
}

body.page-id-5996 #ep_single_event_detail_page_content #ep_single_event_ticket_now_btn:hover,
body.page-id-5996 #ep_single_event_detail_page_content #ep_single_event_ticket_now_btn:focus {
	background: #d9b873 !important;
	border-color: #d9b873 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-body {
	background: var(--wildish-surface) !important;
	border-color: #304156 !important;
	color: #e7eef7 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h1,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h2,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h3,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h4,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h5,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content h6,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content strong,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content a:not(.ep-btn) {
	color: #eef3f8 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content input,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content select,
body.page-id-5996 #ep_single_event_detail_page_content .ep-modal-content textarea {
	background: var(--wildish-surface) !important;
	border-color: #405269 !important;
	color: #eef3f8 !important;
}

/* Event calendar export menu: prevent narrow, clipped labels and keep the
 * light popover readable against the site's dark background. */
body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content {
	left: auto !important;
	right: -20px !important;
	width: max-content !important;
	min-width: 220px !important;
	max-width: calc(100vw - 32px) !important;
	padding: 8px 0 !important;
	background: #ffffff !important;
	border: 1px solid #d7dde5 !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32) !important;
	z-index: 10000 !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content.ep-event-share .ep-event-social-icon {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content li a,
body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content li:first-child a {
	display: block !important;
	padding: 10px 16px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	color: #20242b !important;
	text-decoration: none !important;
}

body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content li a:hover,
body.page-id-5996 #ep_single_event_detail_page_content .ep-calendar-exp-dropdown-content li a:focus {
	background: #eef2f6 !important;
	color: #8a6728 !important;
	outline: none;
}

@media (max-width: 1068px) {
	body.page-id-5996 #ep_single_event_detail_page_content #ep-sl-left-area,
	body.page-id-5996 #ep_single_event_detail_page_content #ep-sl-right-area {
		flex: 0 0 100%;
		max-width: 100%;
	}

	body.page-id-5996 #ep_single_event_detail_page_content #ep-sl-right-area {
		margin-top: 1.5rem;
	}
}

/* Prevent any clicks or interactions on blurred events */
body.user-not-logged-in .entry-event *,
body.user-not-logged-in .hentry.event *,
body.user-not-logged-in .event-list .entry *,
body.user-not-logged-in .event-item *,
body.user-not-logged-in article.event * {
	pointer-events: none;
	cursor: not-allowed;
}

/* Optional: Add an overlay message encouraging users to log in */
body.user-not-logged-in .event-list::before,
body.user-not-logged-in .entry-content .event-layout-standard::before {
	content: "Please log in to view event details";
	display: block;
	text-align: center;
	font-size: 1.2em;
	padding: 20px;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	margin-bottom: 20px;
	border-radius: 5px;
}

/* ============================================================================
   PASSWORD VISIBILITY TOGGLE FIX
   ============================================================================ */

/* Position password field container as relative for absolute positioning */
.woocommerce-form-row.woocommerce-form-row--wide,
.woocommerce form .form-row,
.password-input {
	position: relative;
}

/* Position the password toggle icon inside the field at top right */
.woocommerce .show-password-input,
.show-password-input,
.password-input .show-password-input,
.woocommerce-Input--password + .show-password-input {
	position: absolute !important;
	right: 15px !important;
	/* Center the control in the payment-method header row, not in the
	 * expanded description below it. */
	top: 37px !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	cursor: pointer;
	z-index: 10;
	display: inline-block !important;
}

/* Ensure password input has padding on right for the icon */
.woocommerce input[type="password"],
input[type="password"].woocommerce-Input {
	padding-right: 45px !important;
}

/* Style the toggle icon */
.show-password-input::before,
.show-password-input {
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
}

/* ============================================================================
   PASSWORD EYE ICON - WHITE LINE STYLE FOR DARK THEME
   ============================================================================ */

/* Style the eye icon to be white and visible */
.woocommerce .show-password-input,
.show-password-input {
	color: #fff !important;
	opacity: 1 !important;
	background: transparent !important;
	border: none !important;
	font-size: 18px !important;
}

/* Ensure the eye icon uses the correct font icon */
.show-password-input::before {
	content: "\f06e" !important; /* FontAwesome eye icon */
	font-family: "Font Awesome 5 Free", "FontAwesome" !important;
	font-weight: 400 !important;
	color: #fff !important;
	display: inline-block;
}

/* When password is visible, show eye-slash */
.show-password-input.display-password::before {
	content: "\f070" !important; /* FontAwesome eye-slash icon */
}

/* ============================================================================
   CART ICON VISIBILITY
   Hide the header cart while empty; reveal it as soon as WooCommerce or
   TicketO adds the first item. This works for guests and signed-in users.
   ============================================================================ */
body.wildish-cart-empty .cart-container.cta-item,
body.wildish-cart-empty .mobile-cart-menu-item {
	display: none !important;
}

body.wildish-cart-has-items .cart-container.cta-item {
	display: flex !important;
	align-items: center;
}

body.wildish-cart-has-items .wildish-header-cart.cart-container {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	align-self: center;
	justify-content: center;
	margin: 0 8px;
	position: relative;
}

body.wildish-cart-has-items .wildish-header-cart .cart-item-icon {
	display: block;
	width: 44px;
	height: 44px;
	position: relative;
}

/* Keep the injected desktop cart on the same centreline as the navigation
   links and social icons. Loud gives navigation anchors the full header
   line-height; without resetting it, the cart glyph drops below the row
   when the compact sticky header is active. */
body.wildish-cart-has-items #desktop-navigation .cta-container {
	display: flex;
	align-items: center;
}

body.wildish-cart-has-items #desktop-navigation .wildish-header-cart.cart-container {
	align-self: center !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	line-height: 1 !important;
}

body.wildish-cart-has-items #desktop-navigation .wildish-header-cart .cart-item-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	top: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	transform: none !important;
	line-height: 1 !important;
}

body.wildish-cart-has-items #desktop-navigation .wildish-header-cart .cart-item-icon::before {
	display: block;
	margin: 0 !important;
	transform: none !important;
	line-height: 1 !important;
}

#mobile-bar .cta-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

body.wildish-cart-has-items #mobile-bar .wildish-mobile-header-cart {
	display: flex !important;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	margin: 0;
}

body.wildish-cart-has-items #mobile-bar .wildish-mobile-header-cart .cart-item-icon {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 42px !important;
}

body.wildish-cart-has-items #mobile-bar .wildish-mobile-header-cart .cart-item-icon::before {
	display: block;
	line-height: 1 !important;
	margin: 0;
	transform: none;
}

body.wildish-cart-has-items #mobile-bar .wildish-mobile-header-cart .cart-icon-product-count {
	top: 2px !important;
	right: 1px !important;
	margin: 0 !important;
	line-height: 16px !important;
	transform: none !important;
}

body.wildish-cart-has-items .mobile-cart-menu-item {
	display: list-item !important;
}

/* The theme prints WordPress's logged-in editor shortcut after page content.
   Keep it out of TicketO's customer-facing event directory. */
body.page-id-6017 .edit-link,
body.page-id-6017 .post-edit-link {
	display: none !important;
}

/* ============================================================================
   CART DROPDOWN POSITIONING FIX - IMPROVED
   ============================================================================ */

/* Push cart dropdown higher - comprehensive targeting */
.header-cart-content,
.site-header .cart-dropdown,
.mini-cart-content,
.widget_shopping_cart_content,
.cta-item-cart .cta-dropdown,
.cta-item .cta-dropdown,
.widget_shopping_cart .widget_shopping_cart_content,
.site-header .mini-cart-content,
body .cta-dropdown {
	top: 70px !important;
	margin-top: 0 !important;
	transform: translateY(0) !important;
}

/* Ensure the dropdown container allows proper positioning */
.cta-item-cart,
.cta-item {
	position: relative;
}

/* ============================================================================
   EMPTY CART TEXT REPLACEMENT (CSS BACKUP)
   ============================================================================ */

/* Hide original text and replace with ticket-specific message */
.woocommerce-mini-cart__empty-message:empty::after,
p.cart-empty:empty::after {
	content: "No tickets in your cart yet.";
	display: block;
}

/* ============================================================================
   CHECKBOX ALIGNMENT FIX
   ============================================================================ */

/* Fix checkbox alignment - remove extra margin/padding */
.woocommerce-form-row--wide input[type="checkbox"],
.woocommerce-form-row input[type="checkbox"],
.woocommerce form .form-row input[type="checkbox"] {
	margin-left: 0 !important;
	margin-right: 8px !important;
	padding: 0 !important;
	vertical-align: middle;
}

/* Fix checkbox label alignment */
.woocommerce-form__label.woocommerce-form__label-for-checkbox,
.woocommerce-form-row--wide label,
.woocommerce form .form-row label {
	margin-left: 0 !important;
	padding-left: 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Fix the form row container */
.woocommerce-form-row--wide,
.woocommerce form .form-row {
	margin-bottom: 1em !important;
	padding: 0 !important;
}

/* Ensure checkbox and label are on same line */
.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	margin-bottom: 1.5em !important;
}


/* ============================================================================
   HIDE EASY LOGIN PLUGIN ELEMENTS (MODAL, OPAC, NOTICE)
   ============================================================================ */

/* Hide only modal, opacity overlay, and notice elements */
.xoo-el-modal,
.xoo-el-opac,
.xoo-el-popup-notice {
	display: none !important;
	visibility: hidden !important;
}

/* ============================================================================
   EASY LOGIN TABS STYLING
   ============================================================================ */

/* Tab container */
.xoo-el-header ul.xoo-el-tabs {
	display: flex;
	gap: 0;
	border-bottom: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Inactive tab styling */
.xoo-el-header ul.xoo-el-tabs li {
	flex: 1;
	padding: 15px 20px !important;
	background-color: #1b1b1b !important;
	border: none !important;
	color: #f4f4f4 !important;
	cursor: pointer;
	font-size: 16px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease;
	text-transform: uppercase;
	text-align: center;
	margin: 0 !important;
}

/* Active tab styling */
.xoo-el-header ul.xoo-el-tabs li.xoo-el-active {
	background-color: #c09d5f !important;
	color: #000 !important;
	font-weight: 700 !important;
}

/* Hover effect for inactive tabs */
.xoo-el-header ul.xoo-el-tabs li:hover:not(.xoo-el-active) {
	background-color: #2a2a2a !important;
}

/* ============================================================================
   MY ACCOUNT PAGE - ENABLE VERTICAL SCROLL
   ============================================================================ */

/* Enable scrolling on the main container */
.xoo-el-container,
.xoo-el-main,
.xoo-el-srcont,
.xoo-el-form-container {
	overflow-y: auto !important;
	max-height: 100vh !important;
}

/* Allow content to wrap and scroll */
body.woocommerce-account {
	overflow-y: auto !important;
}

.woocommerce-MyAccount-content {
	overflow-y: auto !important;
	max-height: auto !important;
}

/* Fix form container height */
.xoo-el-form-inline {
	overflow-y: auto !important;
	max-height: fit-content !important;
}

/* Allow page body to scroll */
html, body {
	overflow-y: auto !important;
	height: auto !important;
}

/* ============================================================================
   EASY LOGIN INPUT FIELDS - FULL WIDTH
   ============================================================================ */

/* Form fields container - full width */
.xoo-el-fields-cont,
.xoo-aff-group,
.xoo-aff-cont-text,
.xoo-aff-cont-password,
.xoo-aff-cont-email,
.xoo-el-fields {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	margin-bottom: 15px !important;
}

/* Input fields full width */
.xoo-aff-input-group,
.xoo-aff-input-group input {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Input fields styling */
input[class*="xoo-aff"],
.xoo-el-form-container input[type="text"],
.xoo-el-form-container input[type="email"],
.xoo-el-form-container input[type="password"] {
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 15px !important;
	box-sizing: border-box !important;
}

/* Remove any parent container constraints */
.xoo-el-section {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Form container full width */
.xoo-el-form-inline {
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* ============================================================================
   SIGN IN / SIGN UP BUTTONS - FULL WIDTH
   ============================================================================ */

/* Button full width */
.xoo-el-action-btn,
.xoo-el-login-btn,
.xoo-el-register-btn,
button.xoo-el-action-btn,
.xoo-el-form-container button[type="submit"] {
	width: 100% !important;
	margin: 0 !important;
	padding: 15px 20px !important;
	box-sizing: border-box !important;
}

/* ============================================================================
   CHECKBOX ALIGNMENT FIX - TERMS OF SERVICE
   ============================================================================ */

/* Checkbox field container - flex layout */
.xoo-el-login-btm-fields,
.xoo-aff-group.xoo-aff-cont-checkbox {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 15px 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Checkbox input alignment */
input[type="checkbox"][class*="xoo"],
.xoo-el-form-container input[type="checkbox"] {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 18px !important;
	height: 18px !important;
	cursor: pointer;
	flex-shrink: 0;
}

/* Checkbox label alignment */
label[class*="xoo-el"],
.xoo-el-form-label,
.xoo-aff-group label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-weight: normal;
}

/* Terms text alignment */
.xoo-el-form-label + *,
label + span {
	margin-left: 0 !important;
}

/* ============================================================================
   LOGIN FORM WIDTH - 600PX
   ============================================================================ */

/* Make login form wider */
#login {
	width: 600px !important;
	max-width: 100% !important;
	margin: 0 auto !important;
}

#login form {
	width: 100% !important;
}

/* Center the login wrapper */
body.login {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
}

/* Adjust pending message width */
.pending-message {
	width: 100% !important;
	box-sizing: border-box !important;
}

/* ============================================================================
   HIDE REGISTRATION ERRORS ON LOGIN PAGE
   ============================================================================ */

/* Hide WooCommerce registration form errors when pending */
body.login #login .woocommerce-error,
body.login #login .woocommerce-message,
body.login #login ul.woocommerce-error,
body.login #login .notice:not(.pending-message-notice) {
	display: none !important;
}

/* Hide the registration form when showing pending message */
body.login #login form {
	display: none;
}

/* Show only pending message */
body.login #login .pending-message-notice,
body.login #login .pending-message {
	display: block !important;
}

/* Ensure login message area is visible */
body.login #login {
	margin-top: 50px;
}

/* ============================================================================
   HIDE ALL FORMS AND ERRORS ON PENDING REGISTRATION PAGE
   ============================================================================ */

/* Hide everything on pending page */
body.login.wp-login #login form,
body.login #login_error,
body.login #login .login form,
body.login .woocommerce-form,
body.login form.woocommerce-form-register,
body.login .xoo-el-form-container,
body.login .xoo-el-form-inline {
	display: none !important;
	visibility: hidden !important;
}

/* Hide all error messages */
body.login #login .woocommerce-error,
body.login #login .error,
body.login .woocommerce,
body.login .woocommerce-info,
body.login .woocommerce-message {
	display: none !important;
}

/* Make pending message visible and centered */
body.login #login .pending-message-notice {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	margin: 50px 0 !important;
	padding: 0 !important;
}

body.login #login .pending-message {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
}

/* Hide login nav */
body.login #login nav,
body.login #backtoblog {
	display: none !important;
}

/* ============================================================================
   EVENTS PAGE BLUR (GUEST USERS)
   ============================================================================ */

/* WooCommerce's product loop ships with light-theme grays on this archive.
 * Map the Events typography to the Wildish dark palette. */
body.page-title-events #shop-index .entry-product,
body.page-title-events #shop-index .product_cat-event {
	color: var(--wildish-muted) !important;
}

body.page-title-events #shop-index .entry-product .woocommerce-loop-product__link,
body.page-title-events #shop-index .entry-product .woocommerce-loop-product__title,
body.page-title-events #shop-index .entry-product h2,
body.page-title-events #shop-index .product_cat-event .woocommerce-loop-product__link,
body.page-title-events #shop-index .product_cat-event .woocommerce-loop-product__title,
body.page-title-events #shop-index .product_cat-event h2 {
	color: var(--wildish-text) !important;
}

body.page-title-events #shop-index .entry-product .price,
body.page-title-events #shop-index .entry-product .price ins,
body.page-title-events #shop-index .entry-product .price ins .amount,
body.page-title-events #shop-index .entry-product .price > .amount,
body.page-title-events #shop-index .product_cat-event .price,
body.page-title-events #shop-index .product_cat-event .price ins,
body.page-title-events #shop-index .product_cat-event .price ins .amount,
body.page-title-events #shop-index .product_cat-event .price > .amount {
	color: var(--wildish-accent-hover) !important;
}

body.page-title-events #shop-index .entry-product .price del,
body.page-title-events #shop-index .entry-product .price del .amount,
body.page-title-events #shop-index .product_cat-event .price del,
body.page-title-events #shop-index .product_cat-event .price del .amount {
	color: var(--wildish-muted) !important;
	opacity: 0.78;
}

body.page-title-events #shop-index .entry-product .onsale,
body.page-title-events #shop-index .product_cat-event .onsale {
	background: var(--wildish-accent) !important;
	color: #17130c !important;
}

/* Apply same blur/lock behavior to /events cards for non-logged-in users */
body.user-not-logged-in.page-title-events #shop-index .entry-product,
body.user-not-logged-in.page-title-events #shop-index .product_cat-event {
	filter: blur(5px);
	-webkit-filter: blur(5px);
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	position: relative;
	cursor: not-allowed;
}

body.user-not-logged-in.page-title-events #shop-index .entry-product *,
body.user-not-logged-in.page-title-events #shop-index .product_cat-event * {
	pointer-events: none;
	cursor: not-allowed;
}

body.user-not-logged-in.page-title-events #shop-index::before {
	content: "Please log in to view event details";
	display: block;
	text-align: center;
	font-size: 1.2em;
	padding: 20px;
	background: rgba(45, 59, 75, 0.96);
	border: 1px solid var(--wildish-border);
	color: var(--wildish-text);
	margin-bottom: 20px;
	border-radius: 5px;
}

/* ============================================================================
   WOOCOMMERCE VISUAL REFRESH (ACCOUNT / CART / CHECKOUT)
   ============================================================================ */

body.woocommerce-page {
	--wc-bg: var(--wildish-bg);
	--wc-panel: var(--wildish-surface);
	--wc-panel-soft: var(--wildish-surface-soft);
	--wc-border: var(--wildish-border);
	--wc-text: var(--wildish-text);
	--wc-muted: var(--wildish-muted);
	--wc-accent: var(--wildish-accent);
	--wc-accent-strong: var(--wildish-accent-hover);
}

/* Make WooCommerce page hero blend with the page background */
body.woocommerce-page #hero,
body.woocommerce-page .post-header-container {
	background: var(--wc-bg) !important;
}

body.woocommerce-page .page-entry-content .woocommerce {
	max-width: 1120px;
	margin: 0 auto;
	color: var(--wc-text);
}

body.woocommerce-page .page-entry-content .woocommerce a {
	color: var(--wc-accent-strong);
}

body.woocommerce-page .page-entry-content .woocommerce a:hover {
	color: #f1d9ab;
}

body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-error {
	background: rgba(17, 24, 33, 0.96);
	color: var(--wc-text);
	border: 1px solid var(--wc-border);
	border-left: 4px solid var(--wc-accent);
	border-radius: 12px;
	padding: 14px 18px;
	margin-bottom: 18px;
}

body.woocommerce-page .page-entry-content .woocommerce .button,
body.woocommerce-page .page-entry-content .woocommerce button.button,
body.woocommerce-page .page-entry-content .woocommerce input.button {
	border-radius: 10px !important;
	border: 1px solid rgba(192, 157, 95, 0.45) !important;
	background: rgba(192, 157, 95, 0.16) !important;
	color: #f2efe7 !important;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 13px 18px !important;
	transition: all 0.2s ease;
}

body.woocommerce-page .page-entry-content .woocommerce .button:hover,
body.woocommerce-page .page-entry-content .woocommerce button.button:hover,
body.woocommerce-page .page-entry-content .woocommerce input.button:hover {
	background: rgba(192, 157, 95, 0.28) !important;
	border-color: rgba(192, 157, 95, 0.8) !important;
	transform: translateY(-1px);
}

body.woocommerce-page .page-entry-content .woocommerce input.input-text,
body.woocommerce-page .page-entry-content .woocommerce select,
body.woocommerce-page .page-entry-content .woocommerce textarea {
	background: var(--wildish-surface) !important;
	border: 1px solid var(--wc-border) !important;
	color: var(--wc-text) !important;
	border-radius: 10px !important;
	min-height: 46px;
}

body.woocommerce-page .page-entry-content .woocommerce input.input-text:focus,
body.woocommerce-page .page-entry-content .woocommerce select:focus,
body.woocommerce-page .page-entry-content .woocommerce textarea:focus {
	border-color: var(--wc-accent) !important;
	box-shadow: 0 0 0 3px rgba(192, 157, 95, 0.16) !important;
}

body.woocommerce-page .page-entry-content .woocommerce ::placeholder {
	color: #8ea0b3;
}

/* Account page (logged in) */
body.woocommerce-account.logged-in .page-entry-content .woocommerce {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 26px;
	align-items: start;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid var(--wc-border);
	background: var(--wc-panel);
	color: var(--wc-text);
	text-decoration: none;
	font-size: 14px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link.is-active a {
	background: linear-gradient(135deg, #d8ba80 0%, #b99356 100%);
	border-color: #c8a368;
	color: #1e1a12;
	font-weight: 700;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
	padding: 24px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p {
	color: #dce5ef;
	line-height: 1.75;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table {
	background: var(--wildish-surface);
	border: 1px solid var(--wc-border);
	border-radius: 12px;
	overflow: hidden;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table td {
	border-color: var(--wc-border) !important;
	padding: 14px 12px;
}

/* Cart page */
body.woocommerce-cart .page-entry-content .woocommerce {
	--wc-cart-thumb-size: 76px;
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.95fr);
	gap: 28px;
	align-items: stretch;
	width: 100%;
	max-width: 1280px;
	direction: ltr;
	text-align: left;
}

body.woocommerce-cart .page-entry-content .woocommerce-cart-form,
body.woocommerce-cart .page-entry-content .cart-collaterals .cart_totals {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
}

body.woocommerce-cart .page-entry-content .woocommerce-cart-form {
	padding: 10px 16px 8px;
	margin: 0;
	float: none;
	width: 100%;
	grid-column: 1;
}

body.woocommerce-cart table.shop_table.cart {
	border: 0;
	background: transparent;
	margin: 0;
	width: 100%;
	table-layout: auto;
}

body.woocommerce-cart table.shop_table.cart thead th {
	color: #c7d3df;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--wc-border);
	padding: 10px 10px 12px;
}

body.woocommerce-cart table.shop_table.cart thead th.product-remove,
body.woocommerce-cart table.shop_table.cart thead th.product-thumbnail {
	color: transparent;
	padding: 0;
	border-bottom-color: transparent;
}

body.woocommerce-cart table.shop_table.cart td {
	border-top: 1px solid var(--wc-border);
	padding: 10px 10px;
	color: #e7eef7;
	vertical-align: middle;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

body.woocommerce-cart table.shop_table.cart .product-remove {
	width: 34px;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	vertical-align: top;
	text-align: center;
	position: relative;
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove {
	color: #ff8677 !important;
	border: 1px solid rgba(255, 134, 119, 0.35);
	border-radius: 50%;
	width: 30px;
	height: 30px;
	line-height: 1;
	text-align: center;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	margin: 0 !important;
	padding: 0;
	position: absolute;
	left: 50%;
	top: calc(14px + (var(--wc-cart-thumb-size) - 30px) / 2 - 6px);
	transform: translateX(-50%);
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover {
	background: rgba(255, 85, 85, 0.16) !important;
}

body.woocommerce-cart table.shop_table.cart .qty {
	width: 90px;
	text-align: center;
}

body.woocommerce-cart table.shop_table.cart .actions {
	display: none;
}

body.woocommerce-cart table.shop_table.cart .actions .coupon {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
}

body.woocommerce-cart table.shop_table.cart .actions .button {
	margin: 0 !important;
}

body.woocommerce-cart .cart-collaterals {
	margin-top: 0;
	display: flex;
	float: none;
	width: 100%;
	height: 100%;
	grid-column: 2;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100%;
	max-width: none;
	padding: 18px;
	margin-left: 0;
	position: static;
	height: 100%;
	display: flex;
	flex-direction: column;
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
	margin-bottom: 16px;
	font-size: 30px;
}

body.woocommerce-cart .cart-collaterals .cart_totals .shop_table {
	border: 0;
	margin-bottom: 20px;
}

body.woocommerce-cart .cart-collaterals .cart_totals .shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals .shop_table td {
	border-color: var(--wc-border);
	padding: 10px 0;
}

body.woocommerce-cart .wc-proceed-to-checkout {
	margin-top: auto;
	padding-top: 12px;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	padding: 14px 16px !important;
}

/* Checkout page */
body.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: block;
}

body.woocommerce-checkout .wc-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
	gap: 24px;
	align-items: start;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .wc-checkout-sidebar {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
}

body.woocommerce-checkout #customer_details {
	padding: 22px;
}

body.woocommerce-checkout .wc-checkout-sidebar {
	padding: 18px 20px 20px;
	position: sticky;
	top: 120px;
	align-self: start;
}

body.woocommerce-checkout #order_review_heading {
	padding: 0;
	margin: 0 0 16px;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

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

body.woocommerce-checkout #payment {
	padding: 14px 0 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

body.woocommerce-checkout #customer_details {
	display: flex !important;
	flex-direction: column;
	gap: 18px;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .wc_payment_methods,
body.woocommerce-checkout .place-order {
	margin: 0;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last {
	float: none;
	width: 100%;
	flex: 0 0 auto;
	margin: 0;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
	order: initial;
}

body.woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-additional-fields .notes,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields textarea {
	width: 100%;
	max-width: none;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	display: grid;
	gap: 14px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: block;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
	width: 100% !important;
	float: none !important;
	clear: both;
}

body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout .woocommerce-page form .form-row label,
body.woocommerce-checkout #customer_details label,
body.woocommerce-checkout #payment label,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	color: var(--wc-text) !important;
}

body.woocommerce-checkout .wc-checkout-sidebar,
body.woocommerce-checkout .wc-checkout-sidebar th,
body.woocommerce-checkout .wc-checkout-sidebar td,
body.woocommerce-checkout .wc-checkout-sidebar p,
body.woocommerce-checkout .wc-checkout-sidebar li,
body.woocommerce-checkout .wc-checkout-sidebar strong,
body.woocommerce-checkout .wc-checkout-sidebar span,
body.woocommerce-checkout .wc-checkout-sidebar .amount,
body.woocommerce-checkout .wc-checkout-sidebar .product-name,
body.woocommerce-checkout .wc-checkout-sidebar .woocommerce-privacy-policy-text,
body.woocommerce-checkout .wc-checkout-sidebar .woocommerce-privacy-policy-text p,
body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box,
body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box p {
	color: var(--wc-text) !important;
}

body.woocommerce-checkout .wc-checkout-sidebar a,
body.woocommerce-checkout .wc-checkout-sidebar a:visited {
	color: var(--wc-text) !important;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--wc-border);
}

body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box::before {
	border-bottom-color: rgba(255, 255, 255, 0.04) !important;
}

body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .woocommerce-page input.input-text,
body.woocommerce-checkout .woocommerce-page select,
body.woocommerce-checkout .woocommerce-page textarea {
	color: var(--wc-text) !important;
}

body.woocommerce-checkout .woocommerce textarea::placeholder,
body.woocommerce-checkout .woocommerce input.input-text::placeholder {
	color: #8ea0b3 !important;
}

body.woocommerce-checkout textarea#order_comments {
	min-height: 96px;
	height: 96px;
	resize: vertical;
}

body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td {
	border-color: var(--wc-border) !important;
	padding: 12px 0;
}

body.woocommerce-checkout #place_order {
	width: 100%;
	padding: 14px 16px !important;
}

/* Thank you / order received page */
body.woocommerce-order-received .page-entry-content .woocommerce {
	max-width: 1280px;
}

body.woocommerce-order-received .woocommerce-order {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
	gap: 24px 28px;
	align-items: start;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview {
	grid-column: 1 / -1;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0;
	padding: 18px 22px;
	background: linear-gradient(180deg, rgba(192, 157, 95, 0.14) 0%, rgba(192, 157, 95, 0.06) 100%);
	border: 1px solid rgba(192, 157, 95, 0.28);
	border-radius: 14px;
	color: var(--wc-text);
	font-size: 18px;
	line-height: 1.6;
}

body.woocommerce-order-received .woocommerce-order-overview {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

body.woocommerce-order-received .woocommerce-order-overview li {
	margin: 0;
	padding: 16px 18px;
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
	color: var(--wc-muted);
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 104px;
	font-size: 13px;
	line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
	color: var(--wc-text);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
	grid-column: 2;
	margin: 0;
	padding: 16px 18px;
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
	color: var(--wc-text);
	line-height: 1.75;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-received .wc-bacs-bank-details-heading {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
}

body.woocommerce-order-received .woocommerce-order-details {
	grid-column: 1;
	padding: 22px 24px;
	margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-bacs-bank-details,
body.woocommerce-order-received .wc-bacs-bank-details-heading {
	grid-column: 2;
	margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-bacs-bank-details {
	padding: 22px 24px;
}

body.woocommerce-order-received .wc-bacs-bank-details-heading {
	padding: 18px 24px;
	font-size: 30px;
	line-height: 1.2;
	color: var(--wc-text);
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
	margin: 0 0 18px;
	font-size: 30px;
	line-height: 1.2;
	color: var(--wc-text);
}

body.woocommerce-order-received .woocommerce-table--order-details,
body.woocommerce-order-received .wc-bacs-bank-details {
	width: 100%;
	margin: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-order-received .woocommerce-table--order-details thead th {
	color: #c7d3df;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--wc-border);
	padding: 12px 0 14px;
}

body.woocommerce-order-received .woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce-table--order-details td,
body.woocommerce-order-received .wc-bacs-bank-details th,
body.woocommerce-order-received .wc-bacs-bank-details td {
	padding: 14px 0;
	border-color: var(--wc-border);
	color: var(--wc-text);
	vertical-align: top;
}

body.woocommerce-order-received .woocommerce-table--order-details .product-name a,
body.woocommerce-order-received .woocommerce-table--order-details .product-name,
body.woocommerce-order-received .woocommerce-table--order-details .product-total,
body.woocommerce-order-received .woocommerce-table--order-details .amount {
	color: var(--wc-text);
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot th {
	color: #d7e0ea;
}

body.woocommerce-order-received .woocommerce-table--order-details tfoot .order-actions--heading,
body.woocommerce-order-received .woocommerce-table--order-details tfoot .order-actions--heading + td {
	padding-top: 18px;
}

body.woocommerce-order-received .woocommerce-order-details .order-actions-button {
	margin: 0 10px 0 0;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	margin: 0;
	padding: 16px 18px;
	background: var(--wildish-surface);
	border: 1px solid var(--wc-border);
	border-radius: 12px;
	font-style: normal;
	color: var(--wc-text);
	line-height: 1.85;
}

body.woocommerce-order-received .woocommerce-customer-details address p {
	margin: 0;
}

body.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

/* Order payment page */
body.woocommerce-order-pay .page-entry-content .woocommerce {
	max-width: 1280px;
}

body.woocommerce-order-pay form#order_review {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
	gap: 24px 28px;
	align-items: start;
}

body.woocommerce-order-pay form#order_review > table.shop_table,
body.woocommerce-order-pay form#order_review > #payment {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
	margin: 0;
}

body.woocommerce-order-pay form#order_review > table.shop_table {
	grid-column: 1;
	padding: 18px 24px;
	border-collapse: separate;
	border-spacing: 0;
}

body.woocommerce-order-pay form#order_review > #payment {
	grid-column: 2;
	padding: 18px 20px 20px;
	position: sticky;
	top: 120px;
	align-self: start;
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%) !important;
}

body.woocommerce-order-pay form#order_review > table.shop_table thead th {
	color: #c7d3df;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--wc-border);
	padding: 12px 0 14px;
}

body.woocommerce-order-pay form#order_review > table.shop_table th,
body.woocommerce-order-pay form#order_review > table.shop_table td {
	border-color: var(--wc-border);
	padding: 14px 0;
	color: var(--wc-text);
	vertical-align: top;
}

body.woocommerce-order-pay form#order_review > table.shop_table td,
body.woocommerce-order-pay form#order_review > table.shop_table .product-name,
body.woocommerce-order-pay form#order_review > table.shop_table .product-name a,
body.woocommerce-order-pay form#order_review > table.shop_table .product-total,
body.woocommerce-order-pay form#order_review > table.shop_table .product-subtotal,
body.woocommerce-order-pay form#order_review > table.shop_table .amount,
body.woocommerce-order-pay form#order_review > table.shop_table .woocommerce-Price-amount {
	color: var(--wc-text) !important;
}

body.woocommerce-order-pay form#order_review > table.shop_table tfoot th {
	color: #d7e0ea;
}

body.woocommerce-order-pay #payment,
body.woocommerce-order-pay #payment label,
body.woocommerce-order-pay #payment p,
body.woocommerce-order-pay #payment li,
body.woocommerce-order-pay #payment span,
body.woocommerce-order-pay #payment strong,
body.woocommerce-order-pay #payment .amount,
body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text,
body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text p,
body.woocommerce-order-pay #payment .payment_box,
body.woocommerce-order-pay #payment .payment_box p {
	color: var(--wc-text) !important;
}

body.woocommerce-order-pay #payment a,
body.woocommerce-order-pay #payment a:visited {
	color: var(--wc-accent-strong) !important;
}

body.woocommerce-order-pay #payment .wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

body.woocommerce-order-pay #payment .wc_payment_methods > li {
	margin: 0;
	padding: 14px 0;
	border-top: 1px solid var(--wc-border);
}

body.woocommerce-order-pay #payment .wc_payment_methods > li:first-child {
	padding-top: 0;
	border-top: 0;
}

body.woocommerce-order-pay #payment .wc_payment_methods input[type="radio"] {
	accent-color: var(--wc-accent);
}

body.woocommerce-order-pay #payment .wc_payment_methods label {
	font-weight: 600;
}

body.woocommerce-order-pay #payment div.payment_box {
	margin: 14px 0 0 !important;
	padding: 16px 18px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--wc-border);
	border-radius: 12px;
}

body.woocommerce-order-pay #payment div.payment_box::before {
	border-bottom-color: rgba(255, 255, 255, 0.04) !important;
}

body.woocommerce-order-pay #payment textarea,
body.woocommerce-order-pay #payment input[type="text"],
body.woocommerce-order-pay #payment input.input-text {
	background: var(--wildish-surface) !important;
	border: 1px solid var(--wc-border) !important;
	color: var(--wc-text) !important;
	border-radius: 10px !important;
}

body.woocommerce-order-pay #payment textarea {
	min-height: 120px;
	height: 120px;
	resize: vertical;
}

body.woocommerce-order-pay #payment textarea::placeholder,
body.woocommerce-order-pay #payment input[type="text"]::placeholder,
body.woocommerce-order-pay #payment input.input-text::placeholder {
	color: #8ea0b3 !important;
}

body.woocommerce-order-pay #payment .form-row {
	margin: 0;
	padding-top: 14px;
}

body.woocommerce-order-pay #payment #place_order {
	width: 100%;
	padding: 14px 16px !important;
}

body.woocommerce-order-pay.user-not-logged-in .woocommerce > .woocommerce-info,
body.woocommerce-order-pay.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

body.woocommerce-order-pay.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline {
	background: linear-gradient(180deg, var(--wc-panel) 0%, var(--wc-panel-soft) 100%);
	border: 1px solid var(--wc-border);
	border-radius: 14px;
}

/* My Account (guest) - cleaner login/register card */
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 18px 0 !important;
	max-width: 600px !important;
	margin: 0 auto;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container small {
	color: var(--wc-muted);
}

/* Registration UI polish: spacing + alignment + upload field */
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline {
	padding: 22px 0 18px !important;
}

/* Keep Easy Login fields consistent in Safari and Windows Chrome. Browser
 * autofill can otherwise repaint them white and hide the typed text against
 * the dark account page. */
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="text"],
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="email"],
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="password"],
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="tel"],
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="number"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-color: var(--wildish-surface) !important;
	color: #eef3f8 !important;
	-webkit-text-fill-color: #eef3f8 !important;
	caret-color: #c09d5f !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="text"]:-webkit-autofill,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="email"]:-webkit-autofill,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="password"]:-webkit-autofill,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="tel"]:-webkit-autofill,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="number"]:-webkit-autofill,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="text"]:-webkit-autofill:hover,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="email"]:-webkit-autofill:hover,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="password"]:-webkit-autofill:hover,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="tel"]:-webkit-autofill:hover,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="number"]:-webkit-autofill:hover,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="text"]:-webkit-autofill:focus,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="email"]:-webkit-autofill:focus,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="password"]:-webkit-autofill:focus,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="tel"]:-webkit-autofill:focus,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline input[type="number"]:-webkit-autofill:focus {
	-webkit-text-fill-color: #eef3f8 !important;
	-webkit-box-shadow: 0 0 0 1000px var(--wildish-surface) inset !important;
	box-shadow: 0 0 0 1000px var(--wildish-surface) inset !important;
	caret-color: #c09d5f !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-header ul.xoo-el-tabs {
	margin: 0 14px 14px !important;
	border: 1px solid var(--wc-border);
	border-radius: 12px;
	overflow: hidden;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-el-fields {
	padding: 0 14px 2px !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-el-action-form {
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-el-fields-cont,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-aff-group,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-aff-input-group {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-login-btm-fields,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox_single,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox {
	padding-inline: 14px !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox_single .xoo-aff-checkbox_single {
	width: 100%;
	text-align: left;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox_single .xoo-aff-checkbox_single label {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100%;
	text-align: left !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox_single input[type="checkbox"] {
	margin-top: 2px !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-form-register .xoo_el_reg_terms_cont {
	padding-inline: 14px !important;
	margin: 6px 0 10px !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-form-register .xoo_el_reg_terms_cont .xoo-aff-checkbox_single label {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 10px !important;
	width: 100%;
	text-align: left !important;
	line-height: 1.45;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-form-register .xoo_el_reg_terms_cont .xoo-aff-checkbox_single .xoo-terms-text {
	display: inline;
	margin: 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-form-register .xoo_el_reg_terms_cont .xoo-aff-checkbox_single .xoo-terms-text a {
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-action-btn {
	width: calc(100% - 28px) !important;
	margin: 8px 14px 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_reference_name_cont,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_nic_number_cont,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont {
	padding-inline: 14px !important;
	margin-bottom: 14px !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_reference_name_cont label,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_nic_number_cont label,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont label {
	display: block !important;
	font-weight: 600;
	color: var(--wc-text);
	margin: 0 0 8px !important;
	padding: 0 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_reference_name_cont input[type="text"],
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_nic_number_cont input[type="text"] {
	height: 48px;
	padding: 12px 14px !important;
	border-radius: 10px !important;
	border: 1px solid var(--wc-border) !important;
	background: var(--wildish-surface) !important;
	color: #eef3f8 !important;
	-webkit-text-fill-color: #eef3f8 !important;
	caret-color: #c09d5f !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_reference_name_cont input[type="text"]::placeholder,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_nic_number_cont input[type="text"]::placeholder {
	color: #91a3b7 !important;
	-webkit-text-fill-color: #91a3b7 !important;
	opacity: 1;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont input[type="file"] {
	width: 100% !important;
	display: block;
	border: 1px dashed #3b4d63 !important;
	border-radius: 10px !important;
	background: var(--wildish-surface) !important;
	color: #d8e2ed !important;
	padding: 8px !important;
	line-height: 1.4 !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont input[type="file"]::file-selector-button,
body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont input[type="file"]::-webkit-file-upload-button {
	background: rgba(192, 157, 95, 0.18);
	border: 1px solid rgba(192, 157, 95, 0.62);
	border-radius: 8px;
	color: #f2e8d2;
	padding: 9px 14px;
	margin-right: 10px;
	font-weight: 600;
	cursor: pointer;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont input[type="file"]:hover {
	border-color: var(--wc-accent) !important;
}

body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont small {
	display: block;
	margin-top: 8px;
	line-height: 1.45;
	color: #9db0c3 !important;
}

/* Registration is a focused flow; remove the normal site footer from the
 * logged-out My Account screen only. */
body.woocommerce-account.user-not-logged-in #colophon,
body.woocommerce-account.user-not-logged-in .music-social-icons-container,
body.woocommerce-account.user-not-logged-in .site-infos {
	display: none !important;
}

/* Responsive */
@media (max-width: 1024px) {
	body.woocommerce-account.logged-in .page-entry-content .woocommerce {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .page-entry-content .woocommerce {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .page-entry-content .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals {
		grid-column: auto;
	}

	body.woocommerce-cart .cart-collaterals .cart_totals {
		max-width: none;
		position: static;
		height: auto;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		min-width: max-content;
	}

	body.woocommerce-checkout .wc-checkout-layout {
		grid-template-columns: 1fr;
	}

	body.woocommerce-checkout .wc-checkout-sidebar {
		position: static;
		top: auto;
	}

	body.woocommerce-order-received .woocommerce-order {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice),
	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details,
	body.woocommerce-order-received .wc-bacs-bank-details,
	body.woocommerce-order-received .wc-bacs-bank-details-heading {
		grid-column: auto;
	}

	body.woocommerce-order-pay form#order_review {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-pay form#order_review > table.shop_table,
	body.woocommerce-order-pay form#order_review > #payment {
		grid-column: auto;
	}

	body.woocommerce-order-pay form#order_review > #payment {
		position: static;
		top: auto;
	}
}

@media (max-width: 768px) {
	body.woocommerce-page #hero .post-title {
		font-size: 38px;
	}

	body.woocommerce-page .page-entry-content .woocommerce {
		padding-inline: 8px;
	}

	body.woocommerce-order-received .woocommerce-thankyou-order-received,
	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details,
	body.woocommerce-order-received .wc-bacs-bank-details,
	body.woocommerce-order-received .wc-bacs-bank-details-heading {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title,
	body.woocommerce-order-received .wc-bacs-bank-details-heading {
		font-size: 24px;
	}

	body.woocommerce-order-received .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .page-entry-content .woocommerce {
		--wc-cart-thumb-size: 70px;
	}

	body.woocommerce-cart .page-entry-content .woocommerce-cart-form {
		padding: 10px 12px 14px;
	}

	body.woocommerce-cart table.shop_table.cart .actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	body.woocommerce-cart table.shop_table.cart .actions .coupon {
		width: 100%;
	}

	body.woocommerce-cart table.shop_table.cart .actions .coupon .input-text {
		flex: 1;
	}

	body.woocommerce-cart table.shop_table_responsive tr td::before,
	body.woocommerce-page table.shop_table_responsive tr td::before {
		color: var(--wc-muted) !important;
		font-size: 11px;
		letter-spacing: 0.07em;
		text-transform: uppercase;
	}

	body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
		width: 70px;
		height: 70px;
	}

	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-header ul.xoo-el-tabs,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-section .xoo-el-fields,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-login-btm-fields,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-aff-group.xoo-aff-cont-checkbox_single,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_reference_name_cont,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_nic_number_cont,
	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .loud_instagram_screenshots_cont {
		padding-inline: 10px !important;
		margin-inline: 0 !important;
	}

	body.woocommerce-account.user-not-logged-in .xoo-el-form-container.xoo-el-form-inline .xoo-el-action-btn {
		width: calc(100% - 20px) !important;
		margin: 8px 10px 0 !important;
	}

	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout #payment {
		padding: 16px;
	}
}

/* WooCommerce notice bar — owned by the Loud child theme, not TicketO. */
body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper {
	width: 100%;
	margin: 0 0 20px;
}

body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: row !important;
	width: 100%;
	min-height: 72px;
	align-items: center;
	justify-content: flex-start !important;
	gap: 18px;
	margin: 0 !important;
	padding: 14px 16px 14px 20px !important;
	border: 1px solid var(--wc-border) !important;
	border-left: 4px solid var(--wc-accent) !important;
	border-radius: 14px !important;
	background: var(--wc-panel) !important;
	color: var(--wc-text) !important;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
}

body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message::before {
	content: "✓" !important;
	position: static !important;
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	margin: 0 !important;
	border: 1px solid rgba(192, 157, 95, 0.42);
	border-radius: 50%;
	color: var(--wc-accent) !important;
	font-size: 15px;
	line-height: 1;
}

body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message .button {
	order: initial !important;
	display: inline-flex !important;
	min-width: 124px;
	min-height: 42px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin: 0 0 0 auto !important;
	padding: 10px 16px !important;
	border: 1px solid rgba(192, 157, 95, 0.58) !important;
	border-radius: 9px !important;
	background: rgba(192, 157, 95, 0.14) !important;
	color: var(--wc-text) !important;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
}

body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message .button:hover {
	border-color: var(--wc-accent) !important;
	background: rgba(192, 157, 95, 0.24) !important;
	transform: none;
}

@media (max-width: 640px) {
	body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message {
		flex-wrap: wrap;
		padding: 14px !important;
	}

	body.woocommerce-page .page-entry-content .woocommerce-notices-wrapper .woocommerce-message .button {
		width: 100%;
		margin-left: 0 !important;
	}
}

/* Wildish BACS details — compact order-received card */
body.woocommerce-order-received .woocommerce-bacs-bank-details {
	grid-column: 2;
	box-sizing: border-box;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--wc-border);
	border-radius: 14px;
	background: var(--wc-panel);
	color: var(--wc-text);
	font-family: inherit;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
	margin: 0 0 20px;
	padding: 0 0 16px;
	border: 0;
	border-bottom: 1px solid var(--wc-border);
	border-radius: 0;
	background: transparent;
	color: var(--wc-text);
	font-family: inherit;
	font-size: clamp(22px, 2vw, 26px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name {
	margin: 0 0 12px;
	color: var(--wc-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	list-style: none;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li {
	box-sizing: border-box;
	display: flex;
	min-width: 0;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 13px 14px;
	border: 1px solid var(--wc-border);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.035);
	color: #b8c6d5;
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li strong {
	overflow-wrap: anywhere;
	color: var(--wc-text);
	font-size: 14px;
	font-weight: 500;
	text-align: right;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
	font-family: inherit;
	font-size: clamp(22px, 2vw, 26px);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

@media (max-width: 760px) {
	body.woocommerce-order-received .woocommerce-bacs-bank-details {
		padding: 20px;
	}
}

/* Wildish cart quantity spinner contrast — child theme only, 2026-07-28 */
body.woocommerce-cart table.shop_table.cart .qty {
	color-scheme: dark;
	-webkit-appearance: auto;
	appearance: auto;
}

body.woocommerce-cart table.shop_table.cart input.qty::-webkit-inner-spin-button,
body.woocommerce-cart table.shop_table.cart input.qty::-webkit-outer-spin-button {
	-webkit-appearance: inner-spin-button;
	opacity: 1;
	filter: invert(1) brightness(1.35);
	cursor: pointer;
	margin-inline-end: 3px;
}

/*
 * Cart quantity controls — keep the native controls functional while making
 * their contrast reliable in Safari/WebKit and Chromium dark themes. This is
 * intentionally scoped to the child theme stylesheet so it is independent of
 * the active parent theme and applies to both cart and checkout.
 */
html body.woocommerce-cart .quantity input[type="number"],
html body.woocommerce-cart input.qty,
html body.woocommerce-checkout .quantity input[type="number"],
html body.woocommerce-checkout input.qty {
	-webkit-appearance: auto !important;
	-moz-appearance: auto;
	appearance: auto !important;
	color-scheme: dark;
}

html body.woocommerce-cart .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-cart .quantity input[type="number"]::-webkit-outer-spin-button,
html body.woocommerce-cart input.qty::-webkit-inner-spin-button,
html body.woocommerce-cart input.qty::-webkit-outer-spin-button,
html body.woocommerce-checkout .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-checkout .quantity input[type="number"]::-webkit-outer-spin-button,
html body.woocommerce-checkout input.qty::-webkit-inner-spin-button,
html body.woocommerce-checkout input.qty::-webkit-outer-spin-button {
	-webkit-appearance: inner-spin-button !important;
	opacity: 1 !important;
	filter: invert(1) brightness(1.35) !important;
	cursor: pointer;
}

/* Light Ticketify/WooCommerce mode should retain a dark, readable glyph. */
html body.woocommerce-cart.ticketo-theme-light .quantity input[type="number"],
html body.woocommerce-cart.ticketo-theme-light input.qty,
html body.woocommerce-checkout.ticketo-theme-light .quantity input[type="number"],
html body.woocommerce-checkout.ticketo-theme-light input.qty,
html body.woocommerce-cart:not(.global-skin-dark):not(.ticketo-theme-dark) .quantity input[type="number"],
html body.woocommerce-cart:not(.global-skin-dark):not(.ticketo-theme-dark) input.qty,
html body.woocommerce-checkout:not(.global-skin-dark):not(.ticketo-theme-dark) .quantity input[type="number"],
html body.woocommerce-checkout:not(.global-skin-dark):not(.ticketo-theme-dark) input.qty {
	color-scheme: light;
}

html body.woocommerce-cart.ticketo-theme-light .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-cart.ticketo-theme-light .quantity input[type="number"]::-webkit-outer-spin-button,
html body.woocommerce-cart.ticketo-theme-light input.qty::-webkit-inner-spin-button,
html body.woocommerce-cart.ticketo-theme-light input.qty::-webkit-outer-spin-button,
html body.woocommerce-checkout.ticketo-theme-light .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-checkout.ticketo-theme-light .quantity input[type="number"]::-webkit-outer-spin-button,
html body.woocommerce-checkout.ticketo-theme-light input.qty::-webkit-inner-spin-button,
html body.woocommerce-checkout.ticketo-theme-light input.qty::-webkit-outer-spin-button,
html body.woocommerce-cart:not(.global-skin-dark):not(.ticketo-theme-dark) .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-cart:not(.global-skin-dark):not(.ticketo-theme-dark) input.qty::-webkit-inner-spin-button,
html body.woocommerce-checkout:not(.global-skin-dark):not(.ticketo-theme-dark) .quantity input[type="number"]::-webkit-inner-spin-button,
html body.woocommerce-checkout:not(.global-skin-dark):not(.ticketo-theme-dark) input.qty::-webkit-inner-spin-button {
	filter: none !important;
}

/* Wildish checkout + thank-you polish — flat panels, compact information flow */
html body,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body button,
html body input,
html body select,
html body textarea {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .wc-checkout-sidebar {
	background: var(--wc-panel) !important;
	border: 0 !important;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(2, 10, 22, 0.16);
}

body.woocommerce-checkout #customer_details {
	padding: 24px;
}

body.woocommerce-checkout .wc-checkout-sidebar {
	padding: 22px;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment ul.wc_payment_methods {
	display: grid;
	gap: 8px;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method {
	overflow: hidden;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-radius: 10px;
	background: var(--wc-panel-soft);
	cursor: pointer;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method > label {
	box-sizing: border-box;
	display: flex;
	min-height: 54px;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	cursor: pointer;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method input[type="radio"] {
	cursor: pointer;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method > label img {
	width: auto;
	max-width: 112px;
	height: auto;
	max-height: 28px;
	margin: 0 0 0 auto;
	object-fit: contain;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box {
	margin: 0 -14px !important;
	padding: 12px 14px 16px !important;
	border: 0 !important;
	border-top: 1px solid var(--wc-border) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box::before,
body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box::after {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wildish-card-brands {
	box-sizing: border-box;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	width: 76px;
	margin-left: auto;
	padding-left: 12px;
	line-height: 1;
	white-space: nowrap;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method > label .wildish-card-brands img {
	display: block;
	width: 32px !important;
	height: auto !important;
	max-width: 32px !important;
	max-height: 18px !important;
	margin: 0 !important;
	object-fit: contain;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method > label .wildish-card-brands img[alt="Visa"] {
	filter: brightness(0) invert(1);
}

body.woocommerce-checkout .wc-checkout-sidebar #payment .wc_payment_method > label .wildish-card-brands img[alt="Mastercard"] {
	width: 26px !important;
	height: 18px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields {
	display: block !important;
}

body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout #order_comments_field {
	display: none !important;
}

body.woocommerce-checkout .wc-checkout-sidebar #payment div.payment_box p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

body.woocommerce-order-received .woocommerce-order {
	grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
	gap: 18px;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	padding: 15px 18px;
	border: 0;
	border-radius: 12px;
	background: var(--wc-panel) !important;
	box-shadow: 0 12px 32px rgba(2, 10, 22, 0.12);
	font-size: 16px;
}

body.woocommerce-order-received .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding: 8px 10px;
	border: 0;
	border-radius: 14px;
	background: var(--wc-panel);
	box-shadow: 0 12px 32px rgba(2, 10, 22, 0.12);
}

body.woocommerce-order-received .woocommerce-order-overview li {
	flex: 1 1 190px;
	min-height: 0;
	margin: 0 !important;
	padding: 10px 16px;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	font-size: 12px;
	line-height: 1.4;
}

body.woocommerce-order-received .woocommerce-order-overview li + li {
	border-left: 1px solid var(--wc-border) !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
	margin-top: 3px;
	font-size: 15px;
	font-weight: 500;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details {
	border: 0 !important;
	background: var(--wc-panel) !important;
	box-shadow: 0 12px 32px rgba(2, 10, 22, 0.12);
}

body.woocommerce-order-received .woocommerce-order-details {
	padding: 22px;
}

body.woocommerce-order-received .woocommerce-customer-details {
	padding: 22px;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
	margin-bottom: 16px;
	font-size: 23px;
	font-weight: 500;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	background: transparent;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details {
	box-sizing: border-box;
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: minmax(180px, 0.7fr) minmax(0, 2.3fr);
	align-items: center;
	gap: 16px 24px;
	padding: 16px 20px;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 20px;
	font-weight: 500;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name {
	display: none;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	margin: 0;
	padding: 0;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li {
	display: inline-flex;
	flex: 1 1 220px;
	align-items: baseline;
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 12px;
}

body.woocommerce-order-received .woocommerce-bacs-bank-details ul.wc-bacs-bank-details li strong {
	font-size: 14px;
	font-weight: 500;
	text-align: left;
}

@media (max-width: 1024px) {
	body.woocommerce-order-received .woocommerce-order {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details {
		grid-column: 1;
	}
}

@media (max-width: 760px) {
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout .wc-checkout-sidebar {
		padding: 18px;
	}

	body.woocommerce-order-received .woocommerce-order-overview {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.woocommerce-order-received .woocommerce-order-overview li {
		padding: 10px;
	}

	body.woocommerce-order-received .woocommerce-order-overview li + li {
		border-left: 0 !important;
	}

	body.woocommerce-order-received .woocommerce-bacs-bank-details {
		grid-template-columns: 1fr;
		padding: 18px;
	}
}

@media (max-width: 480px) {
	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}

/* ============================================================================
   HEADER MINI-CART — COMPACT CHILD-THEME UI
   Keep the dropdown visually attached to the cart control and isolate the
   component from Loud's legacy PT Sans / table-based mini-cart presentation.
   ============================================================================ */
body.wildish-cart-has-items .cart-container.cta-item:not(.wildish-mobile-header-cart) {
	position: relative;
}

body.wildish-cart-has-items .cart-container.cta-item:not(.wildish-mobile-header-cart) > .cart-panel {
	box-sizing: border-box;
	top: calc(100% + 8px) !important;
	right: 0 !important;
	left: auto !important;
	width: 360px !important;
	max-width: calc(100vw - 24px);
	margin: 0 !important;
	padding: 18px !important;
	transform: none !important;
	border: 1px solid #2d415a !important;
	border-radius: 12px !important;
	background: #101f33 !important;
	box-shadow: 0 20px 48px rgba(2, 9, 20, 0.34) !important;
	color: #f5f7fb !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

body.wildish-cart-has-items .cart-panel .cart-item-list {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wildish-cart-has-items .cart-panel .cart-item-list-item {
	box-sizing: border-box;
	display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) 36px;
	align-items: center;
	gap: 14px;
	width: 100% !important;
	min-height: 56px;
	margin: 0 !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid #2d415a !important;
	color: #f5f7fb !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

body.wildish-cart-has-items .cart-panel .cart-item-image,
body.wildish-cart-has-items .cart-panel .cart-item-details {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

body.wildish-cart-has-items .cart-panel .cart-item-image {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
}

body.wildish-cart-has-items .cart-panel .cart-item-details {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	min-width: 0;
}

body.wildish-cart-has-items .cart-panel .cart-item-image img {
	display: block;
	width: 56px !important;
	height: 56px !important;
	margin: 0 !important;
	border: 1px solid #334962;
	border-radius: 9px;
	background: #fff;
	object-fit: cover;
}

body.wildish-cart-has-items .cart-panel .cart-item-title {
	display: block;
	margin: 0 0 3px;
	color: #f5f7fb !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.wildish-cart-has-items .cart-panel .cart-item-price {
	display: block;
	color: #aebbd0 !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4;
}

body.wildish-cart-has-items .cart-panel .cart-panel-subtotal {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100% !important;
	margin: 0 !important;
	padding: 16px 0 !important;
	color: #f5f7fb !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.35;
}

body.wildish-cart-has-items .cart-panel .cart-subtotal-label,
body.wildish-cart-has-items .cart-panel .cart-subtotal {
	display: block !important;
	padding: 0 !important;
	color: inherit !important;
	font-family: inherit !important;
	font-weight: 500 !important;
	text-align: left !important;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a {
	box-sizing: border-box;
	display: inline-flex !important;
	min-width: 0;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 12px !important;
	border: 1px solid #3b526d !important;
	border-radius: 8px;
	background: #182a42 !important;
	color: #f5f7fb !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a:last-child {
	border-color: #2f66e8 !important;
	background: #2f66e8 !important;
	color: #fff !important;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a:hover,
body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a:focus-visible {
	border-color: #5c7695 !important;
	background: #1a2c43 !important;
	color: #fff !important;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a:last-child:hover,
body.wildish-cart-has-items .cart-panel .cart-panel-buttons > a:last-child:focus-visible {
	border-color: #2458d6 !important;
	background: #2458d6 !important;
}

body.wildish-cart-has-items .cart-panel .cart-panel-buttons .fa {
	color: currentColor !important;
	font-size: 14px !important;
	line-height: 1 !important;
}

/* Native Loud desktop mini-cart: accessible per-item remove control. */
body.wildish-cart-has-items .cart-container.cta-item:not(.wildish-mobile-header-cart) > .cart-panel {
	position: absolute;
}

body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close {
	position: static !important;
	grid-column: 3;
	grid-row: 1;
	align-self: center;
	justify-self: end;
	display: inline-grid !important;
	place-items: center !important;
	width: 36px !important;
	min-width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #3b526d !important;
	border-radius: 4px !important;
	background: #182a42 !important;
	color: #f5f7fb !important;
	box-shadow: none !important;
	cursor: pointer !important;
	line-height: 1 !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease !important;
}

body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close:hover,
body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close:focus-visible {
	border-color: #65a6ff !important;
	background: #203754 !important;
	color: #ffffff !important;
}

body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close:focus-visible {
	outline: 2px solid #65a6ff !important;
	outline-offset: 2px !important;
}

body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close svg {
	display: block !important;
	width: 17px !important;
	height: 17px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.9 !important;
	stroke-linecap: round !important;
}

body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close:disabled,
body.wildish-cart-has-items .cart-panel .wildish-cart-item-removing {
	opacity: 0.55 !important;
	pointer-events: none !important;
}

/* Keep the rendered desktop header logo compact and consistent. */
@media (min-width: 1025px) {
	.site-header .logo img.logo-img {
		width: 140px !important;
		max-width: 140px !important;
		height: auto !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.wildish-cart-has-items .cart-panel .wildish-cart-panel-close {
		transition: none !important;
	}
}

@media (max-width: 480px) {
	body.wildish-cart-has-items .cart-container.cta-item:not(.wildish-mobile-header-cart) > .cart-panel {
		right: -8px !important;
		width: min(360px, calc(100vw - 20px)) !important;
		padding: 16px !important;
	}
}

/* Keep the logged-out Events prompt and its CTA centered as one unit. */
.wildish-events-locked {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center !important;
}

.wildish-events-locked > p {
	width: 100%;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

.wildish-events-locked > .button {
	align-self: center;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Wildish CTA shape — one consistent 4px radius across theme, WooCommerce and TicketO. */
html body a.button,
html body button,
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"],
html body .wp-block-button__link,
html body .wvc-button,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body .xoo-el-action-btn,
html body .ticketo-button,
html body .ticketo-checkin-button,
html body .ticketo-modal-cancel,
html body .ticketo-modal-confirm {
	border-radius: 4px !important;
}

/* Wildish CTA content alignment — center labels and icons without changing CTA sizing. */
html body a.button,
html body .wp-block-button__link,
html body .wvc-button,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .xoo-el-action-btn,
html body .ticketo-button,
html body .ticketo-checkin-button,
html body .ticketo-modal-cancel,
html body .ticketo-modal-confirm {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	line-height: 1.2 !important;
	text-align: center !important;
	vertical-align: middle;
}

html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"],
html body .woocommerce input.button {
	box-sizing: border-box;
	line-height: 1.2 !important;
	text-align: center !important;
	vertical-align: middle;
}

/* TicketO single events: match the lighter Wildish shell and remove theme post paging. */
html body.single-ticketo_event .site-content,
html body.single-ticketo_event .site-content .content-inner,
html body.single-ticketo_event .site-content main.ticketo-public-page {
	background: #18212c !important;
	background-image: none !important;
}

body.single-ticketo_event nav.single-post-pagination {
	display: none !important;
}

/* Checkout: Ticketify payment rows, notice removal and sticky order summary.
 * These selectors are isolated to checkout and live in the child theme so
 * parent-theme updates cannot overwrite the behavior. */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message {
	display: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
	position: relative !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > input.input-radio {
	position: absolute !important;
	/* Align the control with the payment-method title row.  The expanded
	 * description below the title must not affect its vertical position. */
	top: 37px !important;
	left: 28px !important;
	z-index: 2;
	width: 22px !important;
	height: 22px !important;
	margin: -11px 0 0 !important;
	cursor: pointer;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label {
	box-sizing: border-box !important;
	display: flex !important;
	min-height: 74px !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 22px 28px 22px 68px !important;
	line-height: 1.2 !important;
	cursor: pointer;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label img,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label img {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 112px !important;
	height: 32px !important;
	max-height: 32px !important;
	margin: 0 0 0 auto !important;
	object-fit: contain !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label .wildish-card-brands,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label .wildish-card-brands {
	display: inline-flex !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	width: auto !important;
	margin-left: auto !important;
	padding-left: 12px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label .wildish-card-brands img,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label .wildish-card-brands img {
	width: auto !important;
	height: 32px !important;
	max-width: 56px !important;
	margin: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box::before,
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box::after,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method .payment_box::before,
body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method .payment_box::after {
	display: none !important;
}

@media (min-width: 901px) {
    body.woocommerce-checkout .wc-checkout-sidebar {
        position: sticky !important;
        top: 24px !important;
        align-self: flex-start !important;
        /* The grid item must keep its natural height for native sticky
         * positioning to work.  A nested overflow scroll region makes the
         * summary move with the holder form in some parent themes. */
        height: max-content !important;
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto;
    }

	/* Keep the final action in view even when the payment/review panel is
		taller than the viewport (for example, when a buyer has many holders).
		The panel itself remains in the checkout grid; only its action row sticks
		to the lower edge of the viewport while scrolling. */
    /* Only the sidebar wrapper is sticky; nested sticky elements can fight
     * each other while the checkout form is scrolled. */
    body.woocommerce-checkout .wc-checkout-sidebar .place-order,
    body.woocommerce-checkout .wc-checkout-sidebar .place-order #place_order {
        position: static !important;
    }

    body.woocommerce-checkout .wc-checkout-sidebar #order_review,
    body.woocommerce-checkout .wc-checkout-sidebar .woocommerce-checkout-review-order {
        position: static !important;
    }

    body.woocommerce-checkout .wc-checkout-layout {
        align-items: start !important;
    }

	body.woocommerce-checkout form.checkout,
	body.woocommerce-checkout .woocommerce-checkout {
		align-items: flex-start !important;
	}
}

@media (max-width: 900px) {
	body.woocommerce-checkout .wc-checkout-sidebar,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout .woocommerce-checkout-review-order,
	body.woocommerce-checkout .wc-checkout-sidebar .place-order {
		position: static !important;
	}
}

/* Ticket quantity stepper: keep the minus, value and plus optically centred
 * on the same axis across Safari, Chrome and the parent theme's button reset. */
html body.single-ticketo_event .ticketo-public-page .ticketo-quantity-stepper {
	align-items: stretch !important;
	vertical-align: middle !important;
}

html body.single-ticketo_event .ticketo-public-page .ticketo-quantity-stepper > button {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	transform: none !important;
}

html body.single-ticketo_event .ticketo-public-page .ticketo-quantity-stepper > input[type="number"] {
	box-sizing: border-box !important;
	display: block !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	line-height: normal !important;
	vertical-align: middle !important;
	text-align: center !important;
}

/* Friends & Family account forms: extend the Safari-safe dropdown treatment
 * to the gender select, which is outside the checkout selector scope above. */
html body[class*="ticketo-theme-"] :is(
	.ticketo-account-form select,
	.ticketo-person-editor select,
	.woocommerce-MyAccount-content .ticketo-account-form select,
	.woocommerce-MyAccount-content .ticketo-person-editor select
) {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: var(--ticketo-control-height, 46px) !important;
	min-height: var(--ticketo-control-height, 46px) !important;
	margin: 0 !important;
	padding: 0 48px 0 16px !important;
	border: 1px solid var(--ticketo-line, #33465f) !important;
	border-radius: var(--ticketo-button-radius, 10px) !important;
	background-color: var(--ticketo-panel-2, #17243a) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%23d8e2ed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 20px 20px !important;
	color: var(--ticketo-text, #f8fafc) !important;
	-webkit-text-fill-color: var(--ticketo-text, #f8fafc) !important;
	font: inherit !important;
	line-height: normal !important;
	text-align: left !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	color-scheme: dark;
}

html body[class*="ticketo-theme-"] :is(
	.ticketo-account-form select,
	.ticketo-person-editor select,
	.woocommerce-MyAccount-content .ticketo-account-form select,
	.woocommerce-MyAccount-content .ticketo-person-editor select
):focus {
	border-color: var(--ticketo-accent, #6ea8ff) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(110, 168, 255, .18) !important;
}

html body.ticketo-theme-light :is(
	.ticketo-account-form select,
	.ticketo-person-editor select,
	.woocommerce-MyAccount-content .ticketo-account-form select,
	.woocommerce-MyAccount-content .ticketo-person-editor select
) {
	background-color: #eef4ff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	color-scheme: light;
}

/* Checkout add-person form: keep the primary action and its result message
 * in a clear vertical hierarchy. Pending approval copy should never compete
 * with or squeeze the button horizontally. */
html body[class*="ticketo-theme-"] .ticketo-checkout-person-form .ticketo-person-form-actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
}

html body[class*="ticketo-theme-"] .ticketo-checkout-person-form .ticketo-person-form-actions > button {
	align-self: flex-start !important;
	margin: 0 !important;
}

html body[class*="ticketo-theme-"] .ticketo-checkout-person-form .ticketo-person-form-actions > small {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}
