/* Abadi Tienda — WooCommerce con la identidad del sitio */
:root {
	--ab-verde: #316C6A; --ab-azul: #2F4054; --ab-beige: #F5E9DA; --ab-blanco: #FFFFFF; --ab-arena: #C4A98E;
	--ab-ink: #1C1C1C; --ab-ink-soft: rgba(28,28,28,.72); --ab-line: rgba(47,64,84,.16); --ab-line-strong: rgba(47,64,84,.32);
	--ab-serif: "Playfair", Georgia, serif; --ab-sans: "DM Sans", system-ui, sans-serif;
	--ab-r-sm: 8px; --ab-r-md: 16px; --ab-r-lg: 28px;
}

/* Botón del panel de cuenta: texto siempre visible */
.ab-form a.ab-form__btn, .ab-form a.ab-form__btn:visited { color: var(--ab-beige) !important; }

/* ---------- Venta del taller tras la guía ---------- */
.abt-upsell { margin-top: 1.25rem; border: 1px solid var(--ab-line); }
.abt-upsell .abt-upsell__eyebrow { margin: 0; font-style: italic; font-size: .9rem; color: var(--ab-verde); }
.abt-upsell .ab-form__title { font-family: var(--ab-serif); }
.abt-upsell__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: .95rem; color: var(--ab-ink-soft); }
.abt-upsell__list li { position: relative; padding-left: 1.4rem; }
.abt-upsell__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--ab-arena); }
.abt-upsell__price { margin: .25rem 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; }
.abt-upsell__price del { color: var(--ab-ink-soft); font-size: 1rem; }
.abt-upsell .abt-upsell__price strong, .abt-upsell .abt-upsell__price strong * { font-family: var(--ab-serif) !important; font-weight: 400 !important; font-size: 2rem !important; line-height: 1.1 !important; color: var(--ab-azul) !important; }
.abt-upsell .abt-upsell__price del, .abt-upsell .abt-upsell__price del * { font-size: 1rem !important; color: var(--ab-ink-soft) !important; }
.abt-upsell__price span { flex-basis: 100%; font-size: .85rem; color: var(--ab-verde); }

/* ---------- Gracias (pedido) ---------- */
.abt-ty { max-width: 720px; margin: 0 auto; }
.abt-ty__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 1.1rem 1.25rem; margin: 0 0 1.25rem; background: var(--ab-beige); border-radius: var(--ab-r-md); }
.abt-ty__summary > div > span { display: block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ab-ink-soft); }
.abt-ty__summary strong { display: block; font-weight: 500; color: var(--ab-azul); font-size: 1rem; margin-top: .2rem; }
.abt-ty__items { list-style: none; margin: 0 0 1.5rem; padding: 0; border-top: 1px solid var(--ab-line); }
.abt-ty__items li { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--ab-line); }
.abt-ty__items li span:first-child { color: var(--ab-azul); font-weight: 500; }
.abt-ty__coupon span { font-size: .9rem; color: var(--ab-verde) !important; font-weight: 400 !important; }
.abt-ty__steps { list-style: none; counter-reset: abty; margin: 0 0 1.75rem; padding: 0; display: grid; gap: .9rem; }
.abt-ty__steps li { counter-increment: abty; position: relative; padding-left: 2.6rem; color: var(--ab-ink-soft); line-height: 1.5; }
.abt-ty__steps li::before { content: counter(abty); position: absolute; left: 0; top: -.1rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; border: 1px solid var(--ab-line-strong); color: var(--ab-azul); background: var(--ab-blanco); }
.abt-ty__steps li.is-done::before { content: "✓"; background: var(--ab-verde); border-color: var(--ab-verde); color: var(--ab-beige); }
.abt-ty__steps li.is-next::before { border-color: var(--ab-verde); color: var(--ab-verde); }
.abt-ty__steps strong { color: var(--ab-ink); font-weight: 500; }
.abt-ty__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 0 0 1.75rem; }
.abt-ty__actions .abt-ty__cta { min-width: 240px; }
.abt-ty__link { font-size: .95rem; }
.abt-ty__gateway:empty { display: none; }
.abt-ty__gateway--bacs > p:first-of-type { display: none; }
.abt-ty__summary strong .amount, .abt-ty__summary strong bdi { white-space: nowrap; font-size: inherit; letter-spacing: 0; text-transform: none; color: inherit; display: inline; }
.abt-ty__gateway h2 { font-size: 1.2rem; margin-top: .5rem; }
.abt-ty__gateway .woocommerce-bacs-bank-details { margin-top: 0; }
.abt-ty__gateway ul.wc-bacs-bank-details li { font-size: .95rem; }
.abt-ty__more { border-top: 1px solid var(--ab-line); padding-top: 1.25rem; margin-top: .5rem; text-align: center; color: var(--ab-ink-soft); font-size: .95rem; }
.abt-ty__more p { margin: 0 0 .35rem; }
@media (max-width: 600px) {
	.abt-ty__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abt-ty__actions .abt-ty__cta { width: 100%; }
}

/* ---------- Contenedor ---------- */
.abt-woo .ab-wrap, .abt-woo .ab-sc, .abt-woo .ab-sc .elementor-shortcode { max-width: 1040px; width: 100%; margin-left: auto; margin-right: auto; }
.abt-card {
	background: var(--ab-blanco); border-radius: var(--ab-r-lg); padding: clamp(1.25rem, 3vw, 2.5rem);
	color: var(--ab-ink); font-family: var(--ab-sans); font-size: 1rem; line-height: 1.6; text-align: left;
	box-shadow: 0 18px 50px -30px rgba(47,64,84,.35);
}
.abt-card *, .abt-card *::before, .abt-card *::after { box-sizing: border-box; }
.abt-card h2, .abt-card h3, .abt-card legend {
	font-family: var(--ab-serif); color: var(--ab-azul); font-weight: 400; line-height: 1.2;
	font-size: clamp(1.3rem, 2.2vw, 1.6rem); margin: 0 0 1rem; text-align: left;
}
.abt-card a { color: var(--ab-verde); text-decoration: underline; text-underline-offset: 3px; }
.abt-card p { margin: 0 0 1rem; }

/* ---------- Formularios ---------- */
.abt-card .form-row { display: flex; flex-direction: column; gap: .35rem; margin: 0 0 1rem; padding: 0; }
.abt-card .form-row label, .abt-card label { font-size: .9rem; color: var(--ab-azul); font-weight: 500; }
.abt-card .form-row .required { color: var(--ab-verde); text-decoration: none; border: 0; }
.abt-card .form-row-first, .abt-card .form-row-last { width: calc(50% - .5rem); float: left; }
.abt-card .form-row-last { float: right; }
.abt-card .form-row-wide, .abt-card .clear { clear: both; }
.abt-card input[type="text"], .abt-card input[type="email"], .abt-card input[type="tel"], .abt-card input[type="password"],
.abt-card input[type="number"], .abt-card select, .abt-card textarea, .abt-card .select2-selection {
	width: 100%; font-family: var(--ab-sans); font-size: 1rem; padding: .85rem 1rem; min-height: 3rem;
	border: 1px solid var(--ab-line-strong) !important; border-radius: var(--ab-r-sm) !important; background: var(--ab-beige) !important; color: var(--ab-ink) !important;
	box-shadow: none !important;
}
.abt-card input:focus, .abt-card select:focus, .abt-card textarea:focus {
	outline: 2px solid var(--ab-verde); outline-offset: 1px; border-color: var(--ab-verde);
}
.abt-card input[type="checkbox"], .abt-card input[type="radio"] { accent-color: var(--ab-verde); width: auto; min-height: 0; }
.abt-card .woocommerce-form__label-for-checkbox { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; color: var(--ab-ink-soft); }

/* ---------- Botones ---------- */
.abt-card .button, .abt-card button.button, .abt-card a.button, .abt-card input.button,
.abt-card #place_order, .abt-card .checkout-button, .abt-card .woocommerce-Button {
	display: inline-block; text-align: center; font-family: var(--ab-sans); font-size: .8rem; font-weight: 500;
	letter-spacing: .16em; text-transform: uppercase; text-decoration: none !important; line-height: 1.2;
	padding: 1.05rem 2rem; border-radius: 999px; border: 0; cursor: pointer;
	background: var(--ab-verde) !important; color: var(--ab-beige) !important; transition: filter .2s ease, transform .2s ease;
}
.abt-card .button:hover, .abt-card #place_order:hover, .abt-card .checkout-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.abt-card .button:disabled, .abt-card .button.disabled { opacity: .5; cursor: not-allowed; }
.abt-card #place_order, .abt-card .checkout-button { width: 100%; padding: 1.2rem 2rem; font-size: .85rem; }

/* ---------- Avisos ---------- */
.abt-card .woocommerce-message, .abt-card .woocommerce-info, .abt-card .woocommerce-error, .abt-card .woocommerce-notice,
.abt-woo .woocommerce-notices-wrapper > * {
	list-style: none; margin: 0 0 1.25rem; padding: 1rem 1.25rem; border-radius: var(--ab-r-md);
	background: var(--ab-beige); color: var(--ab-ink); border: 1px solid var(--ab-line); border-left: 4px solid var(--ab-verde);
}
.abt-card .woocommerce-error { border-left-color: #A23B3B; }
.abt-card .woocommerce-message::before, .abt-card .woocommerce-info::before, .abt-card .woocommerce-error::before { display: none; }
.abt-card .woocommerce-message .button, .abt-card .woocommerce-info .button { float: right; padding: .6rem 1.2rem; font-size: .7rem; margin-left: 1rem; }

/* ---------- Tablas (carrito, resumen, pedidos) ---------- */
.abt-card table.shop_table, .abt-card table.woocommerce-table, .abt-card table.woocommerce-orders-table {
	width: 100%; border-collapse: collapse; border: 0; margin: 0 0 1.5rem; font-size: .95rem; background: transparent;
}
.abt-card table th { font-family: var(--ab-sans); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ab-azul); font-weight: 500; text-align: left; }
.abt-card table th, .abt-card table td { padding: .9rem .75rem; border: 0; border-bottom: 1px solid var(--ab-line); vertical-align: middle; background: transparent; }
.abt-card table tfoot th, .abt-card table tfoot td, .abt-card .order-total th, .abt-card .order-total td { border-bottom: 0; }
.abt-card .order-total .amount { font-family: var(--ab-sans); font-size: 1.2rem; font-weight: 600; color: var(--ab-azul); }
.abt-card .product-thumbnail img { width: 64px; height: auto; border-radius: var(--ab-r-sm); }
.abt-card .product-name a { color: var(--ab-azul); text-decoration: none; font-weight: 500; }
.abt-card .product-remove a.remove { color: var(--ab-ink-soft) !important; background: transparent; font-size: 1.4rem; text-decoration: none; }
.abt-card .product-remove a.remove:hover { color: #A23B3B !important; }
.abt-card .product-quantity .quantity input { max-width: 4.5rem; text-align: center; }
/* Los talleres se compran de a uno: sin columna de cantidad en el carrito */
.abt-card table.cart th.product-quantity, .abt-card table.cart td.product-quantity { display: none !important; }
.abt-card .actions .coupon { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.abt-card .actions .coupon .input-text { width: auto; flex: 1 1 12rem; }
.abt-card .actions button[name="update_cart"] { background: transparent !important; color: var(--ab-verde) !important; border: 1px solid var(--ab-verde); }
.abt-card .cart-collaterals .cart_totals { width: 100%; max-width: 440px; margin-left: auto; float: none; }
.abt-card .cart-collaterals .cross-sells { display: none; }

/* ---------- Checkout ---------- */
.abt-pago .abt-card form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
	grid-template-areas: "notices notices" "details heading" "details review";
	grid-template-rows: auto auto 1fr; column-gap: 2.5rem; row-gap: .9rem; align-items: start;
}
.abt-pago .abt-card form.checkout > .woocommerce-NoticeGroup,
.abt-pago .abt-card form.checkout > .woocommerce-notices-wrapper { grid-area: notices; }
.abt-pago .abt-card form.checkout #customer_details { grid-area: details; }
.abt-pago .abt-card #customer_details .col-1, .abt-pago .abt-card #customer_details .col-2 { width: 100%; float: none; max-width: none; }
.abt-pago .abt-card form.checkout #order_review_heading { grid-area: heading; margin: 0; }
.abt-pago .abt-card form.checkout #order_review { grid-area: review; background: var(--ab-beige); border-radius: var(--ab-r-md); padding: 1.25rem 1.25rem 1rem; }
.abt-pago .abt-card #order_review table.shop_table { margin-bottom: 1rem; }
.abt-pago .abt-card #order_review table th, .abt-pago .abt-card #order_review table td { padding: .7rem .25rem; }
.abt-pago .abt-card #order_review .product-total, .abt-pago .abt-card #order_review tfoot td { text-align: right; }
.abt-pago .abt-card #order_review .product-quantity { color: var(--ab-ink-soft); font-weight: 400; }
/* Mercado Pago dentro del pago */
.abt-card #payment ul.payment_methods li { display: block; }
.abt-card #payment ul.payment_methods li > input.input-radio { margin: 0 .5rem 0 0; vertical-align: middle; }
.abt-card #payment li.payment_method_woo-mercado-pago-basic div.payment_box { background: transparent; padding: 0; }
.abt-card .mp-checkout-container, .abt-card .mp-checkout-pro-container { width: 100% !important; max-width: none !important; margin: 0 !important; }
.abt-card .mp-checkout-pro-content { padding: 1rem !important; border-radius: var(--ab-r-sm) !important; background: var(--ab-beige) !important; border: 0 !important; box-shadow: none !important; }
.abt-card .mp-checkout-pro-benefits-title { font-family: var(--ab-sans) !important; font-size: .95rem !important; font-weight: 500 !important; text-align: left !important; color: var(--ab-azul) !important; margin: 0 0 .75rem !important; }
.abt-card .mp-checkout-pro-benefits { display: grid !important; grid-template-columns: 1fr; gap: .5rem !important; }
.abt-card .mp-checkout-pro-benefit { width: auto !important; max-width: none !important; display: flex !important; gap: .5rem; align-items: flex-start; }
.abt-card .mp-checkout-pro-benefit-description { width: auto !important; margin: 0 !important; font-size: .85rem !important; line-height: 1.45 !important; color: var(--ab-ink-soft) !important; }
.abt-card .mp-checkout-pro-payment-methods { justify-content: flex-start !important; gap: .35rem; margin: .85rem 0 !important; }
.abt-card .mp-checkout-pro-redirect { background: var(--ab-blanco) !important; border-radius: var(--ab-r-sm) !important; padding: .75rem !important; text-align: left !important; }
.abt-card .mp-checkout-pro-redirect p { width: auto !important; margin: 0 !important; font-size: .82rem !important; text-align: left !important; }
.abt-card .mp-checkout-pro-content { display: flex !important; flex-direction: column !important; gap: .75rem !important; height: auto !important; min-height: 0 !important; }
body .abt-card #payment .mp-checkout-pro-content > * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; height: auto !important; }
body .abt-card #payment .mp-checkout-pro-content > .mp-checkout-pro-redirect { padding: .75rem !important; }
.abt-card .mp-checkout-pro-redirect, .abt-card .mp-checkout-pro-redirect * { text-align: left !important; justify-content: flex-start !important; align-items: center !important; }
.abt-card .mp-checkout-pro-redirect-title { display: flex !important; gap: .4rem; font-weight: 500 !important; color: var(--ab-ink) !important; }
.abt-card #payment { background: transparent; border-radius: 0; }
.abt-card #payment ul.payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; border: 0; }
.abt-card #payment ul.payment_methods li { padding: .9rem 1rem; margin: 0 0 .6rem; background: var(--ab-blanco); border: 1px solid var(--ab-line); border-radius: var(--ab-r-sm); }
.abt-card #payment ul.payment_methods li label { display: inline; color: var(--ab-ink); font-weight: 500; font-size: .92rem; line-height: 1.4; }
.abt-card #payment ul.payment_methods li img { max-height: 24px; vertical-align: middle; margin-left: .4rem; display: inline-block; }
.abt-card #payment div.payment_box { background: var(--ab-beige); color: var(--ab-ink-soft); border-radius: var(--ab-r-sm); padding: .9rem 1rem; margin: .75rem 0 0; font-size: .9rem; }
.abt-card #payment div.payment_box::before { display: none; }
.abt-card #payment .place-order { padding: 0; margin: 0; }
.abt-card .woocommerce-terms-and-conditions-wrapper, .abt-card .woocommerce-privacy-policy-text { font-size: .85rem; color: var(--ab-ink-soft); }
.abt-card .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 1rem; }
.abt-card form.login, .abt-card form.checkout_coupon { border: 1px solid var(--ab-line); border-radius: var(--ab-r-md); padding: 1.25rem; margin: 0 0 1.5rem; }

/* ---------- Gracias ---------- */
.abt-card .woocommerce-thankyou-order-received { font-family: var(--ab-serif); font-size: 1.3rem; color: var(--ab-azul); border-left: 0; background: transparent; padding: 0; }
.abt-card ul.woocommerce-order-overview { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: 1rem 1.25rem; margin: 0 0 1.5rem; background: var(--ab-beige); border-radius: var(--ab-r-md); }
.abt-card ul.woocommerce-order-overview li { border: 0; margin: 0; padding: 0; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ab-ink-soft); }
.abt-card ul.woocommerce-order-overview li strong { display: block; text-transform: none; letter-spacing: 0; font-size: 1rem; color: var(--ab-ink); }
.abt-card .woocommerce-bacs-bank-details { background: var(--ab-beige); border-radius: var(--ab-r-md); padding: 1.25rem; margin: 0 0 1.5rem; }
.abt-card ul.wc-bacs-bank-details { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }

/* ---------- Mis compras ---------- */
.abt-compras .abt-card .woocommerce-MyAccount-navigation { float: left; width: 26%; }
.abt-compras .abt-card .woocommerce-MyAccount-content { float: right; width: 70%; }
.abt-compras .abt-card::after { content: ""; display: table; clear: both; }
.abt-card .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.abt-card .woocommerce-MyAccount-navigation li a { display: block; padding: .7rem 1rem; border-radius: var(--ab-r-sm); color: var(--ab-azul); text-decoration: none; font-size: .95rem; }
.abt-card .woocommerce-MyAccount-navigation li.is-active a, .abt-card .woocommerce-MyAccount-navigation li a:hover { background: var(--ab-beige); color: var(--ab-verde); }
.abt-card .woocommerce-MyAccount-navigation-link--downloads,
.abt-card .woocommerce-MyAccount-navigation-link--edit-address { display: none; }
.abt-card .woocommerce-MyAccount-navigation-link--dashboard { display: none; }
.abt-card .woocommerce-orders-table .button { padding: .55rem 1rem; font-size: .68rem; margin: 0 .25rem .25rem 0; }


@media (max-width: 600px) {
	.abt-card table.shop_table_responsive, .abt-card table.shop_table_responsive tbody, .abt-card table.shop_table_responsive tr { display: block; width: 100%; }
	.abt-card table.shop_table_responsive tr td { box-sizing: border-box; width: 100%; gap: 1rem; }
	.abt-card table.shop_table_responsive tr td.product-name { flex-wrap: wrap; }
	.abt-card .actions { display: block !important; }
	.abt-card .actions .coupon { flex-direction: column; align-items: stretch; }
	.abt-card .actions .coupon { display: flex !important; width: 100% !important; float: none !important; }
	.abt-card .actions .coupon .input-text, .abt-card .actions .button { width: 100% !important; max-width: none !important; float: none !important; flex: none !important; margin: 0 0 .5rem !important; box-sizing: border-box !important; }
}
/* ---------- Mobile ---------- */
@media (max-width: 860px) {
	.abt-pago .abt-card form.checkout { display: block; }
	.abt-pago .abt-card #order_review { margin-top: 1rem; }
	.abt-compras .abt-card .woocommerce-MyAccount-navigation,
	.abt-compras .abt-card .woocommerce-MyAccount-content { float: none; width: 100%; }
	.abt-card .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; margin-bottom: 1.25rem; }
}
@media (max-width: 600px) {
	.abt-card .form-row-first, .abt-card .form-row-last { width: 100%; float: none; }
	.abt-card table.shop_table_responsive thead { display: none; }
	.abt-card table.shop_table_responsive tr td { display: flex; justify-content: space-between; text-align: right; }
	.abt-card table.shop_table_responsive tr td::before { content: attr(data-title); font-weight: 500; color: var(--ab-azul); margin-right: 1rem; }
	.abt-card table.shop_table_responsive tr td.product-remove::before, .abt-card table.shop_table_responsive tr td.actions::before { content: none; }
	.abt-card .product-thumbnail { display: none !important; }
	.abt-card .woocommerce-message .button { float: none; display: block; margin: .75rem 0 0; }
}
