/* Bonos Regalo - Estilos públicos y admin */

.bonos-regalo-card {
	max-width: 520px;
	margin: 2rem auto;
	padding: 2rem;
	background: #fff;
	border: 1px solid #e5e0d5;
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(26, 77, 46, 0.08);
	text-align: center;
	font-family: Georgia, "Times New Roman", serif;
}

.bonos-regalo-logo img {
	max-width: 180px;
	height: auto;
	margin-bottom: 1rem;
}

.bonos-regalo-titulo {
	color: #1a4d2e;
	font-size: 1.5rem;
	margin: 0 0 0.75rem;
}

.bonos-regalo-descripcion {
	color: #555;
	font-size: 0.95rem;
	margin-bottom: 1rem;
	text-align: left;
}

.bonos-regalo-precio {
	margin: 1.25rem 0;
}

.bonos-regalo-precio-label {
	display: block;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
}

.bonos-regalo-precio-valor {
	font-size: 2rem;
	color: #1a4d2e;
	font-weight: bold;
}

.bonos-regalo-incluye {
	text-align: left;
	margin: 1.5rem 0;
}

.bonos-regalo-incluye h3 {
	font-size: 1rem;
	color: #1a4d2e;
	margin-bottom: 0.5rem;
}

.bonos-regalo-incluye ul {
	margin: 0;
	padding-left: 1.25rem;
}

.bonos-regalo-incluye li {
	margin-bottom: 0.35rem;
}

.bonos-regalo-codigo {
	margin: 1.5rem 0;
	padding: 1rem;
	background: #f8f6f1;
	border-radius: 8px;
}

.bonos-regalo-codigo-label {
	display: block;
	font-size: 0.8rem;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 0.35rem;
}

.bonos-regalo-codigo code {
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	color: #1a4d2e;
	background: transparent;
}

.bonos-regalo-btn {
	display: inline-block;
	padding: 0.75rem 1.75rem;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s;
}

.bonos-regalo-btn-primary {
	background: #1a4d2e;
	color: #fff !important;
}

.bonos-regalo-btn-primary:hover {
	background: #163f26;
	color: #fff;
}

.bonos-regalo-btn-secondary {
	background: #c9a227;
	color: #fff !important;
}

.bonos-regalo-btn-secondary:hover {
	background: #b08f1f;
	color: #fff;
}

.bonos-regalo-aviso {
	font-size: 0.85rem;
	color: #777;
	margin-top: 1rem;
}

.bonos-regalo-estado-msg {
	color: #b32d2e;
	font-weight: bold;
	margin-top: 1rem;
}

.bonos-regalo-error {
	color: #b32d2e;
}

/* Página de verificación */
.bonos-regalo-wrap {
	max-width: 640px;
	margin: 2rem auto;
	padding: 0 1rem;
}

.bonos-regalo-verificar-intro {
	color: #555;
}

.bonos-regalo-input {
	width: 100%;
	max-width: 320px;
	padding: 0.6rem 0.75rem;
	font-size: 1rem;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.bonos-regalo-verificar-form,
.bonos-regalo-marcar-form {
	margin: 1.5rem 0;
}

.bonos-regalo-verificar-resultado {
	margin-top: 2rem;
	padding: 1.5rem;
	background: #f8f6f1;
	border-radius: 8px;
}

.bonos-regalo-detalles {
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
}

.bonos-regalo-detalles li {
	margin-bottom: 0.5rem;
}

.bonos-regalo-notice {
	padding: 0.75rem 1rem;
	border-radius: 4px;
	margin: 1rem 0;
}

.bonos-regalo-notice-success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.bonos-regalo-notice-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.bonos-regalo-notice-warning {
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffeeba;
}

.bonos-regalo-notice-info {
	background: #d1ecf1;
	color: #0c5460;
	border: 1px solid #bee5eb;
}

/* Admin */
.bonos-regalo-admin .required {
	color: #b32d2e;
}

.bono-estado {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
}

.bono-estado-disponible {
	background: #d4edda;
	color: #155724;
}

.bono-estado-utilizado {
	background: #f8d7da;
	color: #721c24;
}

.bono-estado-caducado {
	background: #e2e3e5;
	color: #383d41;
}

.bonos-regalo-email-form {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #ddd;
}

.bono-delete-link {
	color: #b32d2e;
}

/* Consulta cliente (email + código) */
.bonos-regalo-cliente {
	max-width: 560px;
}

.bonos-regalo-intro {
	color: #555;
	margin-bottom: 1.5rem;
}

.bonos-regalo-login-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: #1a4d2e;
}

.bonos-regalo-cliente-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.bonos-regalo-sesion {
	font-size: 0.9rem;
	color: #666;
}

.bonos-regalo-sesion a {
	color: #1a4d2e;
}

.bonos-regalo-estado-card {
	background: #fff;
	border: 1px solid #e5e0d5;
	border-radius: 12px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	text-align: center;
}

.bonos-regalo-estado-badge {
	display: inline-block;
	padding: 0.35rem 1rem;
	border-radius: 20px;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 1rem;
}

.bono-estado-disponible .bonos-regalo-estado-badge {
	background: #d4edda;
	color: #155724;
}

.bono-estado-utilizado .bonos-regalo-estado-badge {
	background: #f8d7da;
	color: #721c24;
}

.bono-estado-caducado .bonos-regalo-estado-badge {
	background: #e2e3e5;
	color: #383d41;
}

.bonos-regalo-estado-ok {
	color: #155724;
	font-weight: 600;
}

.bonos-regalo-aviso-disponibilidad {
	background: #eef5f0;
	border: 1px solid #c5dcc9;
	border-radius: 8px;
	padding: 1rem 1.25rem;
	margin: 1.5rem 0;
}

.bonos-regalo-aviso-disponibilidad h3 {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	color: #1a4d2e;
}

.bonos-regalo-aviso-disponibilidad p {
	margin: 0;
	font-size: 0.9rem;
	color: #3d5c48;
	line-height: 1.5;
}

.bonos-regalo-qr {
	text-align: center;
	margin: 1.5rem 0;
	padding: 1rem;
	background: #f8f6f1;
	border-radius: 8px;
}

.bonos-regalo-qr-label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888;
	margin-bottom: 0.75rem;
}

.bonos-regalo-qr-hint {
	font-size: 0.85rem;
	color: #777;
	margin-top: 0.5rem;
}

.bonos-regalo-consulta-link,
.bonos-regalo-imprimir-link {
	margin-top: 1rem;
}

/* Página independiente (sin tema / sin carrito WooCommerce) */
body.bonos-regalo-standalone {
	margin: 0;
	min-height: 100vh;
	background: #f4f1ea;
	font-family: Georgia, "Times New Roman", serif;
}

.bonos-regalo-standalone-header {
	text-align: center;
	padding: 16px;
	background: #1a4d2e;
}

.bonos-regalo-standalone-header a {
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	letter-spacing: 0.04em;
}

.bonos-regalo-standalone-main {
	max-width: 640px;
	margin: 0 auto;
	padding: 32px 16px 48px;
}

/* Si el formulario va dentro del tema (shortcode), evitar que el carrito lo tape */
.bonos-regalo-wrap {
	position: relative;
	z-index: 1000001;
	isolation: isolate;
}

body.bonos-regalo-has-shortcode .wc-block-mini-cart,
body.bonos-regalo-has-shortcode .widget_shopping_cart,
body.bonos-regalo-has-shortcode .xoo-wsc-basket,
body.bonos-regalo-has-shortcode .xoo-wsc-modal,
body.bonos-regalo-has-shortcode .elementor-menu-cart__toggle,
body.bonos-regalo-has-shortcode .et-cart-info,
body.bonos-regalo-has-shortcode .oceanwp-cart-sidebar,
body.bonos-regalo-has-shortcode .cart-contents,
body.bonos-regalo-has-shortcode .wcmenucart,
body.bonos-regalo-has-shortcode [class*="mini-cart"],
body.bonos-regalo-has-shortcode [class*="slide-cart"],
body.bonos-regalo-has-shortcode [class*="side-cart"],
/* Astra + WooCommerce */
body.bonos-regalo-has-shortcode .ast-header-woo-cart,
body.bonos-regalo-has-shortcode .ast-site-header-cart,
body.bonos-regalo-has-shortcode .ast-cart-menu-wrap,
body.bonos-regalo-has-shortcode .ast-mobile-cart-wrap,
body.bonos-regalo-has-shortcode .astra-cart-drawer,
body.bonos-regalo-has-shortcode #astra-mobile-cart-drawer,
body.bonos-regalo-has-shortcode .ast-mobile-cart-overlay,
body.bonos-regalo-has-shortcode .ast-slidein-cart,
body.bonos-regalo-has-shortcode .ast-cart-drawer,
body.bonos-regalo-has-shortcode .ast-off-canvas-sidebar,
body.bonos-regalo-has-shortcode .ast-off-canvas-active::before,
body.bonos-regalo-has-shortcode.ast-off-canvas-active::before {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

/* Overlay del carrito Astra abierto por error en página de consulta */
body.bonos-regalo-has-shortcode.ast-main-header-nav-open,
body.bonos-regalo-has-shortcode.ast-popup-open {
	overflow: auto !important;
}

body.bonos-regalo-has-shortcode .bonos-regalo-wrap,
body.bonos-regalo-standalone .bonos-regalo-wrap {
	position: relative;
	z-index: 1000001 !important;
	pointer-events: auto !important;
}

.bonos-regalo-contacto {
	background: #faf9f7;
	border: 1px solid #e5e0d5;
	border-radius: 8px;
	padding: 1rem 1.25rem;
	margin: 1.5rem 0;
	text-align: left;
}

.bonos-regalo-contacto h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	color: #1a4d2e;
}

.bonos-regalo-contacto p {
	margin: 0.35rem 0;
	font-size: 0.95rem;
	color: #444;
}

.bonos-regalo-contacto a {
	color: #1a4d2e;
}

.bonos-regalo-contacto-print {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e5e0d5;
}
