/* Scoped frontend CSS for POS User Registration */
.ast-plain-container {
	background-color: #f3f3f3;
}
.pos-user-auth-container {
	margin: 0 auto;
	padding: 20px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	font-family: inherit;
}

.pos-auth-tabs {
	display: flex;
	margin-bottom: 20px;
	border-bottom: 2px solid #eee;
}

.pos-tab-button {
	flex: 1;
	background: none;
	border: none;
	padding: 10px;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	color: #666;
	transition: all 0.3s ease;
}

.pos-tab-button.active {
	color: #007cba;
	border-bottom: 2px solid #007cba;
	margin-bottom: -2px;
}

.pos-auth-form {
	display: none;
}

.pos-auth-form.active {
	display: block;
}

.pos-form-group {
	margin-bottom: 15px;
}

.pos-form-group label {
	display: block;
	margin-bottom: 5px;
	font-weight: 500;
	color: #333;
}

.pos-required {
	color: #e2401c;
}

.pos-form-group input {
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-sizing: border-box;
}

.pos-submit-btn {
	width: 100%;
	padding: 12px;
	background: #007cba;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
	transition: background 0.3s ease;
}

.pos-submit-btn:hover {
	background: #005a87;
}

.pos-auth-messages {
	padding: 10px;
	margin-bottom: 15px;
	border-radius: 4px;
	font-weight: 500;
}

.pos-auth-error {
	background: #ffebe8;
	border: 1px solid #c00;
	color: #c00;
}

.pos-auth-success {
	background: #eef9eb;
	border: 1px solid #00a32a;
	color: #00a32a;
}

/* Dashboard Full View Scope */
.pos-dashboard-full-view {
	margin: 0 auto;
	min-height: 100vh;
	padding-top: 20px;
}

/* Dashboard Styles Overrides */
.pos-custom-dashboard-wrapper {
	background-color: transparent;
	padding-bottom: 20px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	margin: 0 auto;
	color: #000;
}

.pos-dashboard-header {
	display: flex;
	align-items: center;
	padding: 20px;
}

.pos-avatar-wrap {
	margin-right: 15px;
}

.pos-avatar-img {
	border-radius: 50%;
	width: 80px !important;
	height: 80px !important;
	object-fit: cover;
	display: block;
}

.pos-user-password {
	margin-top: 3px;
	font-size: 14px;
	font-weight: 400;
}

.pos-password-label {
	font-weight: 600;
}

.pos-password-value {
	font-style: italic;
	font-weight: 300;
	opacity: 0.7;
	letter-spacing: 0.03em;
}

.pos-user-info-text {
	display: flex;
	flex-direction: column;
	color: #000;
	font-weight: 700;
	font-size: 16px;
}

.pos-user-email {
	margin-bottom: 4px;
}

.pos-metrics-container {
	background: #fff;
	display: flex;
	justify-content: space-around;
	padding: 30px 0;
	margin-bottom: 20px;
}

.pos-metric-item {
	text-align: center;
}

.pos-metric-val {
	color: #000;
	margin-bottom: 4px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
}

.pos-metric-lbl {
	color: #000;
	margin-top: 4px;
	font-weight: 400;
	font-size: 14px;
}

.pos-actions-container {
	background: #fff;
	padding: 20px;
	margin-bottom: 20px;
}

.pos-actions-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr;
}

.pos-action-btn {
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #000;
	font-size: 1rem;
	font-weight: 400;
	position: relative;
	z-index: 1;
	border: 3px solid #000;
	padding: 30px 15px;
	text-align: center;
}

.pos-action-btn:hover,
.pos-action-btn:focus {
	background: #0CB3E5;
	border-color: #0CB3E5;
	color: #fff;
	z-index: 2;
	outline: none;
}

.pos-action-btn:hover .pos-action-icon,
.pos-action-btn:focus .pos-action-icon {
	stroke: #fff;
}

.pos-action-icon {
	width: 28px;
	height: 28px;
	margin-bottom: 12px;
	fill: none;
	stroke: #000;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pos-service-btn {
	grid-column: 1 / 3;
	flex-direction: row;
	padding: 30px 20px;
	gap: 10px;
}

.pos-service-btn .pos-action-icon {
	margin-bottom: 0;
}

.pos-freeze-notice {
	margin: 20px 0;
	padding: 15px;
	background: #fff8e5;
	border-left: 4px solid #f5c60d;
	color: #333;
}

/* Custom Logout Button */
.pos-logout-btn {
	display: block;
	text-align: center;
	padding: 5px 18px 12px;
	font-size: 20px;
	font-weight: 500;
	background: #e35252;
	color: #fff;
	text-decoration: none !important;
	margin: 0 auto;
	box-sizing: border-box;
	border-radius: 5px;
}

/* AJAX Form Styles */
.pos-form-header {
	display: flex;
	align-items: center;
	padding: 20px;
	border-bottom: 1px solid #eee;
	background: #fff;
	margin-bottom: 20px;
}

.pos-back-link {
	text-decoration: none;
	color: #000;
	margin-right: 15px;
	display: flex;
	align-items: center;
}

.pos-back-link svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

.pos-form-header h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	flex-grow: 1;
	text-align: center;
	margin-right: 39px;
	/* Balance the back arrow */
}

.pos-ajax-form {
	padding: 0 20px 20px;
}

.pos-form-field {
	background: #fff;
	padding: 15px;
	margin-bottom: 15px;
	border-radius: 4px;
}

.pos-form-field label {
	display: block;
	font-size: 12px;
	color: #666;
	margin-bottom: 5px;
}

.pos-form-field .req {
	color: red;
	margin-right: 2px;
}

.pos-form-field input {
	width: 100%;
	border: none;
	font-size: 16px;
	padding: 5px 0;
	color: #333;
	outline: none;
	background: transparent;
}

.pos-static-val {
	font-size: 16px;
	font-weight: 500;
	color: #333;
}

.pos-confirm-btn {
	display: block;
	width: 100%;
	padding: 18px;
	font-size: 20px;
	font-weight: 500;
	background: #df4d53;
	color: #fff;
	border: none;
	cursor: pointer;
	margin-top: 30px;
	transition: opacity 0.2s;
}

.pos-confirm-btn:hover {
	opacity: 0.9;
}

.pos-confirm-btn:disabled {
	background: #ccc;
	cursor: not-allowed;
}

/* Withdrawal Specific */
.pos-withdrawal-metrics {
	display: flex;
	justify-content: space-around;
	background: #fff;
	padding: 20px 0;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.pos-w-metric {
	text-align: center;
}

.pos-w-metric .val {
	font-weight: 700;
	font-size: 14px;
}

.pos-w-metric .lbl {
	font-size: 10px;
	color: #666;
}

.pos-card-info-box {
	background: #fff;
	padding: 15px 20px;
	margin-bottom: 20px;
	border-left: 4px solid #df4d53;
}

.pos-card-info-box p {
	margin: 0 0 10px;
	font-size: 14px;
}

.pos-card-info-box p:last-child {
	margin-bottom: 0;
}

.pos-card-info-box strong {
	font-size: 12px;
	color: #666;
}

.pos-card-info-box small {
	font-size: 14px;
	color: #000;
	display: block;
	margin-top: 2px;
}

/* Mobile Redesign: Product & Shop */
.pos-prod-header {
	padding: 10px 15px;
	background: #fff;
	border-bottom: 1px solid #eee;
	position: sticky;
	top: 0;
	z-index: 100;
}

.pos-prod-header svg {
	width: 24px;
	height: 24px;
	stroke: #333;
	fill: none;
	stroke-width: 2;
}

.single-product div.product {
	background: #f5f5f5;
}

.single-product .woocommerce-product-gallery {
	background: #fff;
	margin-bottom: 10px !important;
}

.single-product .summary {
	background: #fff;
	padding: 20px !important;
	margin-top: 0 !important;
}

.pos-top-add-to-cart {
	margin-bottom: 15px;
}

.pos-outline-btn {
	width: 100%;
	background: #fff;
	border: 1px solid #000;
	color: #000;
	padding: 10px;
	font-weight: 700;
	text-transform: none;
	border-radius: 0;
	cursor: pointer;
}

.single-product .product_title {
	font-size: 20px !important;
	font-weight: 600 !important;
	margin-bottom: 5px !important;
	line-height: 1.2;
}

.pos-seller-info {
	color: #000;
	font-size: 14px;
	margin-bottom: 10px;
}

.single-product .price {
	color: #000 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	margin-top: 20px !important;
	display: block;
}

.single-product .price::after {
	content: "Productos libres de impuestos";
	font-size: 10px;
	color: #666;
	margin-left: 10px;
	vertical-align: middle;
	font-weight: normal;
}

.widget_shopping_cart_content p.woocommerce-mini-cart__total.total,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
    display:none !important;
}

.woocommerce-js div.product form.cart div.quantity {
    margin-top: .5em;
}

.pos-buy-section {
	border-top: 1px solid #eee;
}

.pos-recompra-options label {
	font-size: 12px;
	color: #333;
	display: block;
	margin-bottom: 10px;
}

.pos-radios {
	display: flex;
	gap: 20px;
}

.pos-radios label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #333;
	cursor: pointer;
}

.pos-radios input {
	display: none;
}

.radio-dot {
	width: 18px;
	height: 18px;
	border: 2px solid #ccc;
	border-radius: 50%;
	display: inline-block;
	position: relative;
}

.pos-radios input:checked+.radio-dot {
	border-color: #000;
}

.pos-radios input:checked+.radio-dot::after {
	content: "";
	width: 10px;
	height: 10px;
	background: #000;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.pos-qty-and-buy {
	margin-top: 20px;
}

.pos-qty-selector {
	display: flex;
	align-items: center;
	width: fit-content;
	border: 1px solid #eee;
	background: #fff;
	margin-bottom: 15px;
}

.pos-qty-btn {
	width: 40px;
	height: 40px;
	border: none;
	background: none;
	font-size: 20px;
	color: #000;
	cursor: pointer;
}

.pos-qty-selector input {
	width: 50px;
	text-align: center;
	border: none;
	font-size: 16px;
	-moz-appearance: textfield;
}

.pos-qty-selector input::-webkit-outer-spin-button,
.pos-qty-selector input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.pos-black-buy-btn {
	width: 100%;
	background: #000;
	color: #fff;
	padding: 15px;
	font-size: 18px;
	font-weight: 700;
	border: none;
	text-transform: none;
	border-radius: 0;
	cursor: pointer;
}

.pos-product-details-tab {
	margin-top: 30px;
	border-bottom: 2px solid #eee;
}

.pos-product-details-tab h3 {
	color: #000;
	font-size: 18px;
	padding-bottom: 10px;
	margin: 0;
	border-bottom: 2px solid #000;
	display: inline-block;
}

.pos-sticky-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #fff;
	padding: 15px 20px;
	border-top: 1px solid #eee;
	z-index: 1000;
	box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
	box-sizing: border-box;
}

.pos-sticky-bottom .button {
	padding: 15px;
	font-size: 16px;
	width: 100%;
	font-weight: 700;
	cursor: pointer;
	transition:.3s ease;
	border-radius: 0;
	display: block;
	text-align: center;
}

/* Hide duplicate quantity boxes in summary (fallback) */
.single-product .summary.entry-summary .cart:not(:last-of-type) {
    display: none !important;
}

/* Hide default add to cart button in summary */
.single-product .summary .cart .single_add_to_cart_button {
    display: none !important;
}

button.single_add_to_cart_button.button.alt {
    background: transparent;
    color: #000;
    border: 1px solid #000;
    transition:.3s ease;
}
.pos-sticky-bottom .pos-outline-btn:hover,
button.single_add_to_cart_button.button.alt:hover {
    background:#000;
    color:#fff;
}



/* Shop Filters */
.pos-shop-filters {
	margin-bottom: 15px;
}

.pos-shop-filters>.pos-filter-group:first-child {
	margin-bottom: 20px;
}

.pos-filter-group {
	border-bottom: 1px solid #eee;
	background: #fff;
}

.pos-filter-head {
	padding: 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 500;
	cursor: pointer;
}

.pos-toggle-icon {
	width: 20px;
	height: 20px;
	transition: transform 0.3s;
}

.pos-filter-group.active .pos-toggle-icon {
	transform: rotate(180deg);
}

.pos-filter-content {
	padding: 0 15px 15px;
	display: none;
}

.pos-filter-group.active .pos-filter-content {
	display: block;
}

.pos-price-inputs {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}

.pos-price-inputs input {
	flex: 1;
	padding: 10px;
	border: 1px solid #000;
}

.pos-confirm-filter {
	width: 100%;
	background: #475a6c;
	color: #fff;
	padding: 12px;
	border: none;
	font-weight: 600;
}

.pos-order-radios {
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
}

/* ---- Shop Product Cards ---- */
.woocommerce ul.products li.product {
	background: #fff;
	border-radius: 0;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: none;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #333 !important;
	padding: 8px 10px 4px !important;
	line-height: 1.3;
	flex: 1;
}

/* Price + Cart row */
.woocommerce ul.products li.product {
	position: relative;
}

.woocommerce ul.products li.product .price {
	color: #e87a00 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	padding: 4px 10px 10px !important;
	display: block;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

/* Cart icon button — absolutely positioned bottom-right */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button {
	position: absolute !important;
	bottom: 10px !important;
	right: 10px !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	color: transparent !important;
	font-size: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .1) !important;
	cursor: pointer !important;
}

/* Draw cart icon via background SVG */
.woocommerce ul.products li.product .add_to_cart_button::after,
.woocommerce ul.products li.product .button::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

.woocommerce ul.products {
	gap: 20px;
}

.woocommerce nav.woocommerce-pagination ul li > span.current, .woocommerce nav.woocommerce-pagination ul li > .page-numbers,
.woocommerce nav.woocommerce-pagination ul li {
    border-color: #000000;
}
#ast-scroll-top,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #000000;
    color: #ffffff;
}
.woocommerce nav.woocommerce-pagination ul li > .page-numbers{
	color: #000000;
}

.woocommerce nav.woocommerce-pagination ul li a:hover{
	background: #000000;
}
.astra-shop-thumbnail-wrap a.ast-on-card-button.ast-select-options-trigger.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    display:none !important;
}

/* Responsive CSS */
@media(max-width:767px) {

	.woocommerce ul.products {
		grid-template-columns: 1fr 1fr !important;

	}
}

/* Standard add-to-cart button visibility restored */
.single-product .single_add_to_cart_button {
	display: inline-block !important;
}

/* Order History Card Styles */
.pos-order-card {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.pos-order-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.pos-order-row:last-child {
    margin-bottom: 0;
}

.pos-order-label {
    color: #999;
    font-size: 14px;
    font-weight: 500;
}

.pos-order-value {
    color: #000;
    font-size: 14px;
    font-weight: 600;
    text-align: right;
}