/* WooCommerce Premium Styling Overrides — Global Styles */

/* Buttons */
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #000000 !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	padding: 0.75rem 1.5rem !important;
	border-radius: 0.5rem !important;
	border: 1px solid transparent !important;
	transition: all 0.2s ease-in-out !important;
	font-size: 0.875rem !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover, 
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #222222 !important;
	color: #ffffff !important;
}

/* Primary / Alt Buttons */
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt, 
.woocommerce #respond input#submit.alt {
	background: linear-gradient(rgb(151, 8, 42) 0%, rgb(179, 9, 49) 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 6px -1px rgba(151, 8, 42, 0.2), 0 2px 4px -1px rgba(151, 8, 42, 0.1) !important;
}

.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover, 
.woocommerce #respond input#submit.alt:hover {
	opacity: 0.95 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 15px -3px rgba(151, 8, 42, 0.3) !important;
}

/* ================================================
   WooCommerce Notices — Toast / Balloon Style
   ================================================ */

/* Wrapper fixed top-right — floats above all content */
.woocommerce-notices-wrapper {
	position: fixed !important;
	top: 1.25rem !important;
	right: 1.25rem !important;
	z-index: 9999 !important;
	width: min(22rem, calc(100vw - 2.5rem)) !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}

@keyframes evo-notice-in {
	from { opacity: 0; transform: translateX(12px) scale(0.96); }
	to   { opacity: 1; transform: translateX(0)    scale(1); }
}

/* Base — shared by all notice types */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	pointer-events: all !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	border-radius: 0.875rem !important;
	border: 1px solid transparent !important;
	border-top: 1px solid transparent !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 0.625rem !important;
	box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.08) !important;
	animation: evo-notice-in 0.3s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

/* Mobile: stretch to near-full width at top */
@media (max-width: 480px) {
	.woocommerce-notices-wrapper {
		top: 0.75rem !important;
		right: 0.75rem !important;
		left: 0.75rem !important;
		width: auto !important;
	}
}

/* message / info — flex row: icon | text | action button */
.woocommerce-message,
.woocommerce-info {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
}

/* error is a <ul> — block with absolute-positioned icon */
.woocommerce-error {
	display: block !important;
	position: relative !important;
	padding-left: 3rem !important;
	list-style: none !important;
}

/* Icons via ::before — neutralise WC's WooCommerce icon font, then render SVG */
.woocommerce-message::before,
.woocommerce-info::before {
	content: '' !important;
	position: static !important;   /* WC sets position:absolute — reset to flex flow */
	top: auto !important;
	left: auto !important;
	flex-shrink: 0 !important;
	display: block !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	font-family: inherit !important;
	font-size: 0 !important;
	color: transparent !important;
	background-size: 1.25rem 1.25rem !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-error::before {
	content: '' !important;
	position: absolute !important;
	left: 1rem !important;
	top: 1rem !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	font-family: inherit !important;
	font-size: 0 !important;
	color: transparent !important;
	background-size: 1.25rem 1.25rem !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Success (message) — green */
.woocommerce-message {
	background: #f0fdf4 !important;
	border-color: #bbf7d0 !important;
	color: #15803d !important;
}
.woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") !important;
}

/* Info — blue */
.woocommerce-info {
	background: #eff6ff !important;
	border-color: #bfdbfe !important;
	color: #1d4ed8 !important;
}
.woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
}

/* Error — red */
.woocommerce-error {
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: #b91c1c !important;
}
.woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") !important;
}
.woocommerce-error li {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #b91c1c !important;
}
.woocommerce-error li + li {
	margin-top: 0.25rem !important;
}

/* Action buttons inside notices (e.g. "Ver Carrinho") */
.woocommerce-message .button,
.woocommerce-info .button {
	margin-left: auto !important;
	flex-shrink: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.375rem 0.875rem !important;
	border-radius: 0.5rem !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: none !important;
	white-space: nowrap !important;
	background: #16a34a !important;
	color: #fff !important;
	transition: opacity 0.15s !important;
}
.woocommerce-info .button {
	background: #2563eb !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	opacity: 0.85 !important;
	color: #fff !important;
}

/* Forms & Checkout General Overrides */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 0.5rem !important;
	outline: none !important;
	font-size: 0.875rem !important;
	transition: all 0.2s ease-in-out !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: #ed1b24 !important;
	box-ring: 4px rgba(237, 27, 36, 0.1) !important;
}

/* Cart & Checkout Layout shop_table override (Order Received details table) */
.woocommerce-checkout .shop_table {
	border-radius: 0.75rem !important;
	overflow: hidden !important;
	border: 1px solid #f1f5f9 !important;
}

.woocommerce-checkout .shop_table th {
	background: #f8fafc !important;
	color: #1e293b !important;
	font-weight: 700 !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.woocommerce-checkout .shop_table td {
	padding: 1.25rem !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

/* Allow WooCommerce cart/checkout content to expand to theme container width */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
	max-width: none !important;
}
.woocommerce-cart .entry-content > *,
.woocommerce-checkout .entry-content > *,
.woocommerce-account .entry-content > * {
	max-width: none !important;
}
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header {
	max-width: none !important;
}

/* Remove number input spinners/arrows for Quantity Selector globally */
.evo-qty-selector input[type="number"]::-webkit-inner-spin-button,
.evo-qty-selector input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.evo-qty-selector input[type="number"] {
	-moz-appearance: textfield !important;
}

/* Hide scrollbar for Chrome, Safari and Opera globally */
.no-scrollbar::-webkit-scrollbar {
	display: none !important;
}
/* Módulo 7 — link de login no lugar do preço/botão de compra, exibido para
   visitante não logado quando a opção está ativa no painel do plugin. */
.b2b-login-para-ver-preco {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	color: #ed1b24 !important;
	text-decoration: none !important;
}

.b2b-login-para-ver-preco:hover {
	text-decoration: underline !important;
}

.button.b2b-login-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ed1b24 !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.button.b2b-login-button:hover {
	background: #c81921 !important;
	color: #fff !important;
}

/* Hide scrollbar for IE, Edge and Firefox globally */
.no-scrollbar {
	-ms-overflow-style: none !important;  /* IE and Edge */
	scrollbar-width: none !important;  /* Firefox */
}
