/* CC Raffles — My Account modernization. Pure CSS over stock Woo/Jet markup
   inside JetWooBuilder wrapper 39348; tokens come from cc-raffles.css.
   The sidebar overrides fight hardcoded Elementor values in post-39348.css —
   that's what the documented !important block is for. */

/* ============ Shared chrome ============ */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .jet-myaccount-content {
	color: var(--ccr-text);
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--ccr-text);
}

/* Notices */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
	background: var(--ccr-card-bg) !important;
	border: 1px solid var(--ccr-card-border) !important;
	border-left: 3px solid var(--ccr-blue) !important;
	border-radius: 10px;
	color: var(--ccr-text) !important;
	padding: 1em 1.25em !important;
}
body.woocommerce-account .woocommerce-error {
	border-left-color: var(--ccr-accent) !important;
}
body.woocommerce-account .woocommerce-message a,
body.woocommerce-account .woocommerce-info a {
	color: var(--ccr-blue);
}

/* Buttons */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .jet-woo-account-orders-content .woocommerce-button,
body.woocommerce-account .jet-woo-account-orders-content .button,
body.woocommerce-account [class*="jet-woo-account-"] button[type="submit"],
body.woocommerce-account .woocommerce-form button[type="submit"] {
	background: linear-gradient(135deg, var(--ccr-accent), var(--ccr-accent-2)) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 0.65em 1.4em !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.85rem !important;
	text-decoration: none !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	cursor: pointer;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .jet-woo-account-orders-content .woocommerce-button:hover,
body.woocommerce-account .jet-woo-account-orders-content .button:hover,
body.woocommerce-account [class*="jet-woo-account-"] button[type="submit"]:hover,
body.woocommerce-account .woocommerce-form button[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: var(--ccr-glow);
}

/* Status chips (dashboard + orders share these) */
.ccr-chip--status-completed { border-color: var(--ccr-badge-active); color: #7bd389; }
.ccr-chip--status-processing { border-color: var(--ccr-badge-drawn); color: var(--ccr-blue); }
.ccr-chip--status-on-hold, .ccr-chip--status-pending { border-color: var(--ccr-badge-soon); color: #ffb26b; }
.ccr-chip--status-cancelled, .ccr-chip--status-refunded, .ccr-chip--status-failed { border-color: var(--ccr-badge-ended); color: var(--ccr-text-dim); }

/* ============ Sidebar (jet-custom-menu, menu 49964) ============ */
/* Overrides for hardcoded values in post-39348.css AND a pre-existing
   `--ac-*` account CSS layer that colors .jet-custom-item-label spans —
   specificity here is deliberately boosted above both. */
body.woocommerce-account .elementor-column:has(.jet-custom-nav),
body.woocommerce-account .e-con:has(> .e-con-inner .jet-custom-nav),
body.woocommerce-account .elementor-widget-jet-custom-menu {
	background: transparent !important;
}
/* The "My Account" heading widget carries a hardcoded #000 background. */
body.woocommerce-account .elementor-widget-heading .elementor-widget-container {
	background: transparent !important;
}
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-nav__item-link,
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-nav__item-link .jet-custom-item-label {
	color: var(--ccr-text-dim) !important;
}
/* post-39348.css hardcodes 28px on the label span — clamp it to the link's
   1rem (the old Customizer layer used to do this). */
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-item-label {
	font-size: 1rem !important;
	line-height: 1.3 !important;
}
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-nav__item-link {
	display: flex !important;
	align-items: center !important;
	gap: 0.7rem;
}
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-menu-link-text {
	display: inline !important;
}
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-nav__item-link:hover,
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item .jet-custom-nav__item-link:hover .jet-custom-item-label {
	color: var(--ccr-text) !important;
}
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item.ccr-active .jet-custom-nav__item-link,
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item.ccr-active .jet-custom-nav__item-link .jet-custom-item-label,
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item.current-menu-item .jet-custom-nav__item-link,
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item.current-menu-item .jet-custom-nav__item-link .jet-custom-item-label {
	color: var(--ccr-text) !important;
}
body.woocommerce-account .jet-custom-nav {
	background: var(--ccr-card-bg) !important;
	border: 1px solid var(--ccr-card-border);
	border-radius: 14px;
	overflow: hidden;
	position: relative;
	padding: 0.75rem 0 !important;
}
body.woocommerce-account .jet-custom-nav::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--ccr-accent), var(--ccr-accent-2), var(--ccr-blue));
}
body.woocommerce-account .jet-custom-nav__item {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
}
body.woocommerce-account .jet-custom-nav__item-link {
	color: var(--ccr-text-dim) !important;
	background: transparent !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	padding: 0.8rem 1.4rem !important;
	display: flex !important;
	align-items: center;
	gap: 0.7rem;
	border-left: 3px solid transparent;
	transition: color 0.15s ease, background 0.15s ease;
}
body.woocommerce-account .jet-custom-nav__item-link:hover {
	color: var(--ccr-text) !important;
	background: rgba(255, 255, 255, 0.03) !important;
}
body.woocommerce-account .jet-custom-nav__item.ccr-active > .jet-custom-nav__item-link,
body.woocommerce-account .jet-custom-nav__item.current-menu-item > .jet-custom-nav__item-link {
	color: var(--ccr-text) !important;
	border-left-color: var(--ccr-accent);
	background: linear-gradient(90deg, rgba(210, 64, 52, 0.14), transparent) !important;
}

/* Sidebar icons — mask-image longhand (the `mask` shorthand composed with
   var() fails silently in some engines); SVGs URL-encoded. Degrades to
   text-only links. */
body.woocommerce-account .jet-custom-nav .jet-custom-nav__item-link::before {
	content: "" !important;
	display: inline-block;
	width: 1.05em; height: 1.05em; flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask-image: var(--ccr-icon, none);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: var(--ccr-icon, none);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
body.woocommerce-account .jet-custom-nav__item-link[href$="/my-account/"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="/orders"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M21 8l-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='M3 8l9 5 9-5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="raffle-tickets"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 9V7a2 2 0 012-2h14a2 2 0 012 2v2a3 3 0 000 6v2a2 2 0 01-2 2H5a2 2 0 01-2-2v-2a3 3 0 000-6z'/%3E%3Cpath d='M13 5v2M13 11v2M13 17v2'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="edit-address"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1116 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="payment-methods"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="edit-account"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
body.woocommerce-account .jet-custom-nav__item-link[href*="customer-logout"],
body.woocommerce-account .jet-custom-nav__item-link[href*="wp-login.php?action=logout"] { --ccr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E"); }

/* ============ Dashboard ============ */
body.woocommerce-account :where(div):has(> .ccr-dash) > p { display: none; }
.ccr-dash { display: flex; flex-direction: column; gap: 1.25rem; }
.ccr-dash__win { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: space-between; }
.ccr-dash__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 600px) { .ccr-dash__stats { grid-template-columns: 1fr; } }
.ccr-dash__stat {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border);
	border-radius: 12px; padding: 1.1rem 1.25rem; text-decoration: none !important;
	display: flex; flex-direction: column; gap: 0.15rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.ccr-dash__stat:hover { transform: translateY(-2px); border-color: var(--ccr-accent); box-shadow: var(--ccr-glow); }
.ccr-dash__stat-num { font-size: 1.9rem; font-weight: 800; color: var(--ccr-blue); line-height: 1.1; }
.ccr-dash__stat-label { color: var(--ccr-text-dim); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; }
.ccr-dash__card {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border);
	border-radius: 12px; padding: 1.25rem 1.4rem; position: relative; overflow: hidden;
}
.ccr-dash__card::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--ccr-accent), var(--ccr-accent-2), var(--ccr-blue));
}
.ccr-dash__card h3 { margin: 0 0 0.85rem; font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.05em; }
.ccr-dash__orders, .ccr-dash__raffles { list-style: none; margin: 0; padding: 0; }
.ccr-dash__orders li, .ccr-dash__raffles li {
	display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap;
	padding: 0.6rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.ccr-dash__orders li:last-child, .ccr-dash__raffles li:last-child { border-bottom: 0; }
.ccr-dash__orders a, .ccr-dash__raffles a { color: var(--ccr-text); font-weight: 700; text-decoration: none; }
.ccr-dash__orders a:hover, .ccr-dash__raffles a:hover { color: var(--ccr-accent-hover); }
.ccr-dash__order-date { color: var(--ccr-text-dim); font-size: 0.85rem; }
.ccr-dash__order-total { margin-left: auto; font-weight: 700; }
.ccr-dash__odds { margin-left: auto; color: var(--ccr-blue); font-size: 0.85rem; font-weight: 600; }
.ccr-dash__more { display: inline-block; margin-top: 0.75rem; color: var(--ccr-blue) !important; font-size: 0.9rem; text-decoration: none !important; }
.ccr-dash__links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 700px) { .ccr-dash__links { grid-template-columns: repeat(2, 1fr); } }
.ccr-dash__link {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border);
	border-radius: 10px; padding: 1rem; text-align: center;
	color: var(--ccr-text-dim) !important; font-weight: 600; text-decoration: none !important;
	transition: transform 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ccr-dash__link:hover { transform: translateY(-2px); color: var(--ccr-text) !important; border-color: var(--ccr-blue); }

/* ============ Orders table (+ generic Woo account tables) ============ */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-paymentMethods,
body.woocommerce-account .woocommerce-table--order-downloads,
body.woocommerce-account .woocommerce-table--order-details {
	border-collapse: separate !important;
	border-spacing: 0 0.7rem !important;
	background: transparent !important;
	border: 0 !important;
	width: 100%;
}
/* NOTE: the Jet-templated Orders endpoint has NO .woocommerce-MyAccount-content
   wrapper — its table sits in .jet-woo-account-orders-content — so every table
   rule scopes to both wrappers. */
body.woocommerce-account .woocommerce-MyAccount-content thead th,
body.woocommerce-account .jet-woo-account-orders-content thead th {
	background: transparent !important;
	color: var(--ccr-text-dim) !important;
	font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em;
	border: 0 !important; padding: 0 1rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-content tbody tr,
body.woocommerce-account .jet-woo-account-orders-content tbody tr {
	background: var(--ccr-card-bg);
}
body.woocommerce-account .woocommerce-MyAccount-content tbody td,
body.woocommerce-account .jet-woo-account-orders-content tbody td {
	border: 0 !important;
	border-top: 1px solid var(--ccr-card-border) !important;
	border-bottom: 1px solid var(--ccr-card-border) !important;
	padding: 0.9rem 1rem !important;
	color: var(--ccr-text) !important;
	background: var(--ccr-card-bg) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content tbody td:first-child,
body.woocommerce-account .jet-woo-account-orders-content tbody td:first-child {
	border-left: 1px solid var(--ccr-card-border) !important;
	border-radius: 10px 0 0 10px;
}
body.woocommerce-account .woocommerce-MyAccount-content tbody td:last-child,
body.woocommerce-account .jet-woo-account-orders-content tbody td:last-child {
	border-right: 1px solid var(--ccr-card-border) !important;
	border-radius: 0 10px 10px 0;
}
body.woocommerce-account .woocommerce-MyAccount-content tbody tr:hover td,
body.woocommerce-account .jet-woo-account-orders-content tbody tr:hover td {
	border-color: var(--ccr-accent) !important;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-number a { color: var(--ccr-blue); font-weight: 700; text-decoration: none; }

/* Order status → chip look via row modifiers */
body.woocommerce-account .woocommerce-orders-table__cell-order-status { font-weight: 700; font-size: 0.85rem; }
body.woocommerce-account tr.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status { color: #7bd389; }
body.woocommerce-account tr.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status { color: var(--ccr-blue); }
body.woocommerce-account tr.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status,
body.woocommerce-account tr.woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status { color: #ffb26b; }
body.woocommerce-account tr.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
body.woocommerce-account tr.woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status,
body.woocommerce-account tr.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status { color: var(--ccr-text-dim); }

/* Mobile stacked cards */
@media (max-width: 768px) {
	body.woocommerce-account .woocommerce-orders-table thead { display: none; }
	body.woocommerce-account .woocommerce-orders-table tbody td {
		display: flex; justify-content: space-between; align-items: center; gap: 1rem;
		border-radius: 0 !important; border-top: 0 !important; border-bottom: 0 !important;
	}
	body.woocommerce-account .woocommerce-orders-table tbody td:first-child { border-radius: 10px 10px 0 0; border-top: 1px solid var(--ccr-card-border) !important; }
	body.woocommerce-account .woocommerce-orders-table tbody td:last-child { border-radius: 0 0 10px 10px; border-bottom: 1px solid var(--ccr-card-border) !important; }
	body.woocommerce-account .woocommerce-orders-table tbody td::before {
		content: attr(data-title);
		color: var(--ccr-text-dim); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em;
	}
	body.woocommerce-account .woocommerce-orders-table tbody tr { display: block; margin-bottom: 0.9rem; }
}

/* ============ view-order ============ */
body.woocommerce-account .woocommerce-MyAccount-content mark,
body.woocommerce-account .elementor-jet-myaccount-content mark {
	background: transparent; color: var(--ccr-blue); font-weight: 700;
}
body.woocommerce-account ul.order_details {
	display: flex; flex-wrap: wrap; gap: 0.75rem; list-style: none; margin: 0 0 1.25rem; padding: 0;
}
body.woocommerce-account ul.order_details li {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border);
	border-radius: 10px; padding: 0.75rem 1rem; border-right-width: 1px !important;
	color: var(--ccr-text-dim); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em;
}
body.woocommerce-account ul.order_details li strong { display: block; color: var(--ccr-text); font-size: 1rem; text-transform: none; letter-spacing: 0; margin-top: 0.2rem; }
body.woocommerce-account .woocommerce-customer-details address,
body.woocommerce-account .woocommerce-column--billing-address address,
body.woocommerce-account .woocommerce-column--shipping-address address {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border) !important;
	border-radius: 10px; padding: 1rem 1.2rem !important; color: var(--ccr-text-dim);
}
body.woocommerce-account .woocommerce-column__title { color: var(--ccr-text); }

/* ============ Payment methods / downloads ============ */
body.woocommerce-account .payment-method--is-default td { position: relative; }
body.woocommerce-account .payment-method .woocommerce-PaymentMethod--default,
body.woocommerce-account .payment-method--is-default .default {
	color: var(--ccr-blue); font-weight: 700;
}

/* ============ Forms (addresses, account details, add payment) ============ */
body.woocommerce-account .woocommerce-MyAccount-content .form-row input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content .form-row textarea,
body.woocommerce-account .woocommerce-MyAccount-content .form-row select,
body.ccr-account-auth .woocommerce-form .woocommerce-Input {
	background: #0b111e !important;
	border: 1px solid var(--ccr-card-border) !important;
	border-radius: 8px !important;
	color: var(--ccr-text) !important;
	padding: 0.7em 0.9em !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content .form-row input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content .form-row textarea:focus,
body.woocommerce-account .woocommerce-MyAccount-content .form-row select:focus,
body.ccr-account-auth .woocommerce-form .woocommerce-Input:focus {
	border-color: var(--ccr-blue) !important;
	box-shadow: 0 0 0 3px rgba(56, 174, 232, 0.22) !important;
	outline: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content label { color: var(--ccr-text-dim); font-size: 0.85rem; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset,
body.woocommerce-account [class*="jet-woo-account-"] fieldset {
	border: 1px solid var(--ccr-card-border); border-radius: 10px; padding: 1rem 1.25rem; margin: 1.25rem 0;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset legend,
body.woocommerce-account [class*="jet-woo-account-"] fieldset legend {
	color: var(--ccr-text) !important; padding: 0 0.5rem; font-weight: 700;
}

/* selectWoo dark */
body.woocommerce-account .select2-container--default .select2-selection--single {
	background: #0b111e !important; border: 1px solid var(--ccr-card-border) !important;
	border-radius: 8px !important; height: auto !important; padding: 0.5em 0.7em;
}
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ccr-text) !important; }
.select2-dropdown {
	background: var(--ccr-card-bg) !important; border: 1px solid var(--ccr-card-border) !important; color: var(--ccr-text);
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--ccr-accent) !important; color: #fff !important;
}
.select2-search--dropdown .select2-search__field {
	background: #0b111e !important; border: 1px solid var(--ccr-card-border) !important; color: var(--ccr-text) !important;
}

/* Addresses landing cards */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	background: var(--ccr-card-bg); border: 1px solid var(--ccr-card-border);
	border-radius: 12px; padding: 1.25rem 1.4rem;
}
body.woocommerce-account .woocommerce-Address-title h3 { margin: 0; }
body.woocommerce-account .woocommerce-Address-title .edit { color: var(--ccr-blue); text-decoration: none; }
body.woocommerce-account .woocommerce-Address address { color: var(--ccr-text-dim); border: 0 !important; padding: 0.5rem 0 0 !important; background: transparent; }

/* ============ Login / register (logged out — cacheable page) ============ */
body.ccr-account-auth #cc-login-panel,
body.ccr-account-auth #cc-register-panel {
	background: var(--ccr-card-bg);
	border: 1px solid var(--ccr-card-border);
	border-radius: 14px;
	padding: 1.75rem;
	position: relative;
	overflow: hidden;
}
body.ccr-account-auth #cc-login-panel::before,
body.ccr-account-auth #cc-register-panel::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--ccr-accent), var(--ccr-accent-2), var(--ccr-blue));
}
body.ccr-account-auth .woocommerce-form label { color: var(--ccr-text-dim); }
body.ccr-account-auth .woocommerce-form-login__rememberme { color: var(--ccr-text-dim); }
body.ccr-account-auth .lost_password a,
body.ccr-account-auth .woocommerce-LostPassword a { color: var(--ccr-blue); }
body.ccr-account-auth .woocommerce-privacy-policy-text { color: var(--ccr-text-dim); font-size: 0.8rem; }
body.ccr-account-auth .cf-turnstile { margin: 0.75rem 0; }
body.ccr-account-auth form.woocommerce-ResetPassword .woocommerce-Input {
	background: #0b111e !important; border: 1px solid var(--ccr-card-border) !important;
	border-radius: 8px !important; color: var(--ccr-text) !important;
}

/* ============ Tickets chrome harmonization ============ */
body.woocommerce-account .ccr-mytickets__raffle { border-radius: 12px; }
body.woocommerce-account .ccr-mytickets__raffle::before { height: 3px; }

/* Raffle titles on the Tickets tab: standard heading color, not link blue.
   Tripled class out-specifies the migrated content-link rule above — its
   three :not() arguments give it 5 class-level components. */
body.woocommerce-account .elementor-jet-myaccount-content .ccr-mytickets__raffle.ccr-mytickets__raffle.ccr-mytickets__raffle h3 a {
	color: var(--ccr-text) !important;
	-webkit-text-fill-color: var(--ccr-text) !important;
}
body.woocommerce-account .elementor-jet-myaccount-content .ccr-mytickets__raffle.ccr-mytickets__raffle.ccr-mytickets__raffle h3 a:hover {
	color: var(--ccr-accent-hover) !important;
	-webkit-text-fill-color: var(--ccr-accent-hover) !important;
}

/* CTA buttons in account content: the pre-existing account CSS layer
   colors content links — out-specify it so .ccr-btn text stays white. */
body.woocommerce-account .elementor-jet-myaccount-content a.ccr-btn.ccr-btn,
body.woocommerce-account .elementor-jet-myaccount-content a.ccr-btn.ccr-btn:hover,
body.woocommerce-account .elementor-jet-myaccount-content a.ccr-btn.ccr-btn:visited,
body.woocommerce-account .woocommerce-MyAccount-content a.ccr-btn.ccr-btn,
body.woocommerce-account .woocommerce-MyAccount-content a.ccr-btn.ccr-btn:hover,
body.woocommerce-account .woocommerce-MyAccount-content a.ccr-btn.ccr-btn:visited {
	color: #fff !important;
	text-decoration: none !important;
}

/* Orders (and sibling) table rows: consistent vertical rhythm. */
body.woocommerce-account .woocommerce-MyAccount-content tbody td,
body.woocommerce-account .jet-woo-account-orders-content tbody td {
	vertical-align: middle !important;
	line-height: 1.4;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
	text-align: right;
}
/* Something injects empty <p> elements into table cells (the site's
   Additional CSS already fights the same on forms) — plus stray template
   whitespace creates phantom line boxes that push the order-number link
   below the row's vertical center. Kill both. */
body.woocommerce-account .woocommerce-MyAccount-content td p:empty,
body.woocommerce-account .jet-woo-account-orders-content td p:empty {
	display: none !important;
	margin: 0 !important;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	display: block;
	font-size: 1rem !important;
	line-height: 1.4 !important;
}
/* ROOT CAUSE of the misaligned order number: a wpautop pass over the Jet
   orders-widget output converts the template newline inside the anchor
   into a literal <br>, pushing "#123" onto a second line. Remove it (and
   any sibling artifacts in account tables). */
body.woocommerce-account .woocommerce-orders-table__cell-order-number a br,
body.woocommerce-account .woocommerce-MyAccount-content td > a > br:first-child,
body.woocommerce-account .elementor-jet-myaccount-content td > a > br:first-child {
	display: none !important;
}

/* ============================================================
   Migrated from the Customizer "Additional CSS" account skin
   (removed 2026-08-06). Only the pieces this file didn't already
   cover were ported, re-tokenized from --ac-* to --ccr-*.
   ============================================================ */

/* Account typography — Jet account templates otherwise inherit hardcoded
   Outfit from post-39348.css. */
body.woocommerce-account .jet-woo-builder,
body.woocommerce-account .jet-woo-builder * { font-family: 'DM Sans', sans-serif !important; }

/* Page headings: light weight; content-area titles at 2rem (the sidebar's
   "My Account" heading is outside the content wrapper and stays put). */
body.woocommerce-account .elementor-widget-heading .elementor-heading-title {
	color: #fff !important;
	font-weight: 300 !important;
	letter-spacing: -0.02em !important;
}
body.woocommerce-account .elementor-jet-myaccount-content h2.elementor-heading-title,
body.woocommerce-account [class*="jet-woo-account-"] h2.elementor-heading-title {
	font-size: 2rem !important;
	line-height: 1.2 !important;
}
/* Sub-page h2s ("Billing address", …) — quiet uppercase section labels. */
body.woocommerce-account .jet-woo-builder h2 {
	color: var(--ccr-text) !important;
	font-size: 1rem !important; font-weight: 500 !important;
	letter-spacing: 0.08em !important; text-transform: uppercase !important;
	border-bottom: 1px solid var(--ccr-card-border) !important;
	padding-bottom: 0.75rem !important; margin-bottom: 1.25rem !important;
}

/* Content links — blue with white hover, on every endpoint (orders table lives
   in .jet-woo-account-orders-content, outside .woocommerce-MyAccount-content).
   Raffle CTAs and dashboard tiles carry their own colors — excluded. */
body.woocommerce-account .elementor-jet-myaccount-content a:not(.button):not(.ccr-btn):not([class*="ccr-dash"]),
body.woocommerce-account .jet-woo-account-orders-content a:not(.button),
body.woocommerce-account .woocommerce-orders-table a:not(.button),
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.ccr-btn):not([class*="ccr-dash"]) {
	color: var(--ccr-blue) !important;
	-webkit-text-fill-color: var(--ccr-blue) !important;
	text-decoration: none !important;
}
body.woocommerce-account .elementor-jet-myaccount-content a:not(.button):not(.ccr-btn):not([class*="ccr-dash"]):hover,
body.woocommerce-account .jet-woo-account-orders-content a:not(.button):hover,
body.woocommerce-account .woocommerce-orders-table a:not(.button):hover,
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.ccr-btn):not([class*="ccr-dash"]):hover {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Notice icons — WooCommerce's ::before glyphs come from an icon font this
   theme doesn't load, rendering as tofu squares over the text. */
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error::before,
body.woocommerce-account .woocommerce-message::before {
	display: none !important;
	content: none !important;
}

/* Prices in account tables read mono. */
body.woocommerce-account .woocommerce-MyAccount-content td .woocommerce-Price-amount,
body.woocommerce-account .jet-woo-account-orders-content td .woocommerce-Price-amount {
	font-family: 'DM Mono', monospace;
}

/* ---- Login / register (JetTabs switcher + stock Woo forms) ---- */

/* Hide the redundant "Login"/"Register" H2s the form widgets auto-output —
   the JetTabs labels already name each panel. */
body.woocommerce-account .elementor-jet-myaccount-login-form > h2,
body.woocommerce-account .elementor-jet-myaccount-registration-form > h2 {
	display: none !important;
}

/* (The old Customizer layer also styled a JetTabs login/register switcher —
   the live login template uses the custom #cc-login-panel/#cc-register-panel
   markup instead, so those rules were dead and were not ported.) */

/* Form top spacing + uppercase field labels. */
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register {
	margin-top: 24px !important;
}
body.woocommerce-account .woocommerce-form label,
body.woocommerce-account form .form-row label {
	display: inline-block !important;
	color: var(--ccr-text-dim) !important;
	font-size: 0.72rem !important; font-weight: 500 !important;
	letter-spacing: 0.1em !important; text-transform: uppercase !important;
	margin-bottom: 8px !important;
	background: transparent !important;
}
body.woocommerce-account .required { color: var(--ccr-accent) !important; border: none !important; }

/* Generic account inputs — catches the login/register/lost-password fields the
   narrower .woocommerce-MyAccount-content rules above don't reach. Same skin. */
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account .woocommerce-Input {
	background: #0b111e !important;
	border: 1px solid var(--ccr-card-border) !important;
	border-radius: 8px !important;
	color: var(--ccr-text) !important;
	-webkit-text-fill-color: var(--ccr-text) !important;
	font-size: 0.875rem !important;
	padding: 0.7em 0.9em !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	width: 100% !important;
}
body.woocommerce-account input[type="text"]:focus,
body.woocommerce-account input[type="email"]:focus,
body.woocommerce-account input[type="password"]:focus,
body.woocommerce-account input[type="tel"]:focus {
	border-color: var(--ccr-blue) !important;
	box-shadow: 0 0 0 3px rgba(56, 174, 232, 0.22) !important;
	outline: none !important;
}
body.woocommerce-account input::placeholder {
	color: var(--ccr-text-dim) !important;
	-webkit-text-fill-color: var(--ccr-text-dim) !important;
}
body.woocommerce-account select {
	background: #0b111e !important;
	border: 1px solid var(--ccr-card-border) !important;
	border-radius: 8px !important;
	color: var(--ccr-text) !important;
	-webkit-text-fill-color: var(--ccr-text) !important;
	padding: 0.7em 0.9em !important;
	box-sizing: border-box !important;
}
body.woocommerce-account select option { background: #0b111e !important; color: var(--ccr-text) !important; }

/* Password show/hide toggle sits inside the field, vertically centered. */
body.woocommerce-account .password-input { position: relative !important; display: block !important; }
body.woocommerce-account .show-password-input {
	position: absolute !important; right: 0.7rem !important; top: 50% !important;
	transform: translateY(-50%) !important; background: transparent !important;
	border: none !important; cursor: pointer !important; padding: 0 !important;
}

/* Remember me row — flex column with an explicit gap so the checkbox sits
   evenly between the Turnstile widget and the Log in button (they share one
   form-row; the <br>s between them are hidden). */
body.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-top: 10px !important;
}
body.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) br {
	display: none !important;
}
body.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important; align-items: center !important;
	gap: 0.45rem !important; margin: 0 !important;
	color: var(--ccr-text) !important; font-size: 0.82rem !important;
	font-weight: 400 !important; letter-spacing: 0 !important;
	text-transform: none !important; line-height: 1.2 !important;
}
body.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
	accent-color: var(--ccr-accent) !important;
	width: 15px !important; height: 15px !important;
	margin: 0 !important; flex-shrink: 0 !important;
	position: static !important; vertical-align: middle !important;
}
body.woocommerce-account .woocommerce-form-login__rememberme span { line-height: 1.2 !important; }

/* Submit buttons are styled by the gradient rule near the top of this file.
   NOTE: never set opacity or pointer-events on them — Cloudflare Turnstile
   dims and disables them until verification passes, then re-enables via JS.
   Forcing opacity would break that gating. */

/* Body text + links (lost password, privacy, register intro). */
body.woocommerce-account .woocommerce-form-register > p,
body.woocommerce-account .woocommerce-privacy-policy-text,
body.woocommerce-account .woocommerce-privacy-policy-text p {
	color: var(--ccr-text-dim) !important;
	-webkit-text-fill-color: var(--ccr-text-dim) !important;
	font-size: 0.85rem !important;
}
body.woocommerce-account .lost_password a,
body.woocommerce-account .woocommerce-privacy-policy-text a,
body.woocommerce-account .woocommerce-privacy-policy-link {
	color: var(--ccr-blue) !important;
	-webkit-text-fill-color: var(--ccr-blue) !important;
	text-decoration: none !important;
}
body.woocommerce-account .lost_password a:hover,
body.woocommerce-account .woocommerce-privacy-policy-text a:hover,
body.woocommerce-account .woocommerce-privacy-policy-link:hover {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Google Sign-In container (iframe interior is Google-rendered; only space it). */
body.woocommerce-account .googlesitekit-sign-in-with-google__frontend-output-button {
	margin: 0 0 1rem 0 !important;
}

/* Turnstile leftover spacer + stray empty <p>s in forms. */
body.woocommerce-account .cf-turnstile-br { display: none !important; }
body.woocommerce-account form p:has(.cf-turnstile-br) { margin: 0 !important; line-height: 0 !important; }
body.woocommerce-account form p:empty { display: none !important; margin: 0 !important; }

/* ---- Endpoint layout fixes (from the later Customizer patches) ---- */

/* Addresses: heading and its Edit link on one row (Woo absolutely-positions
   .edit over the title otherwise). */
body.woocommerce-account .woocommerce-Address-title {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 1rem !important;
}
body.woocommerce-account .woocommerce-Address-title .edit { position: static !important; }
body.woocommerce-account .woocommerce-Address-title p { margin: 0 !important; }
body.woocommerce-account .woocommerce-Address-title p br { display: none !important; }

/* Collapse the stray empty <p></p> tags WordPress injects after headers and
   address blocks — each holds a line's worth of margin. */
body.woocommerce-account .elementor-jet-myaccount-content p:empty,
body.woocommerce-account [class*="jet-woo-account-"] p:empty,
body.woocommerce-account .woocommerce-Address p:empty,
body.woocommerce-account .woocommerce-Addresses p:empty {
	display: none !important;
	margin: 0 !important;
}

/* Save-changes button: wpautop injects <br>s inside/around the label. */
body.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"] br,
body.woocommerce-account form.edit-account button.woocommerce-Button br,
body.woocommerce-account .elementor-jet-myaccount-content button.woocommerce-Button br {
	display: none !important;
}
body.woocommerce-account .woocommerce-EditAccountForm button[name="save_account_details"],
body.woocommerce-account form.edit-account button.woocommerce-Button {
	line-height: normal !important;
	white-space: nowrap !important;
}
