/*
 * ABA Design System — Tienda y cuenta (carrito, pago, Mi cuenta, registro, producto, escritorio de Tutor).
 * Solo se carga en esas páginas (includes/tienda.php), que llevan la clase body.aba-tienda.
 * Los widgets de WooCommerce de Elementor generan reglas muy específicas: aquí se usa !important
 * solo en lo que hay que imponer (tipografía, bordes, radios y colores de botones y campos).
 */

body.aba-tienda{background:var(--aba-crema)}
body.aba-tienda :is(.woocommerce,.woocommerce-page .elementor-widget-container,.tutor-wrap,.tutor-login-wrap,.tutor-registration-wrap,.tutor-page-wrap) :is(p,li,td,th,label,span,input,select,textarea,button,a,div){font-family:var(--aba-sans)!important}
body.aba-tienda .woocommerce{color:var(--aba-navy)}
body.aba-tienda .woocommerce a:not(.button):not(.checkout-button):not(.remove){color:var(--aba-acento-fuerte)}

/* ---------- Cabecera de página (título que añade tienda.php) ---------- */
body.aba-tienda .aba-tienda-cab{width:100%;margin:8px 0 28px;font-family:var(--aba-sans)}
body.aba-tienda .aba-tienda-cab__ante{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--aba-acento-fuerte)}
body.aba-tienda .aba-tienda-cab__ante::before{content:"";width:28px;height:1px;background:currentColor}
body.aba-tienda .aba-tienda-cab__titulo{font-family:var(--aba-serif)!important;font-weight:600!important;font-size:clamp(34px,4vw,46px)!important;line-height:1.05!important;color:var(--aba-navy)!important;margin:10px 0 6px!important;letter-spacing:0!important;text-transform:none!important}
body.aba-tienda .aba-tienda-cab__texto{margin:0!important;color:var(--aba-azul);font-size:15px}

/* ---------- Títulos de secciones ---------- */
body.aba-tienda .woocommerce :is(h2,h3):not(.aba-tienda-cab__titulo),
body.aba-tienda .e-checkout__container :is(h2,h3),
body.aba-tienda .cart_totals h2{font-family:var(--aba-serif)!important;font-weight:600!important;font-size:26px!important;line-height:1.15!important;color:var(--aba-navy)!important;text-transform:none!important;letter-spacing:0!important}

/* ---------- Tarjetas ---------- */
body.aba-tienda :is(.e-cart-section,.e-cart-totals,.e-checkout__column-start > *,.e-checkout__order_review,.e-checkout__order_review-2,.e-coupon-box,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){background:var(--aba-blanco)!important;border:1px solid var(--aba-linea)!important;border-radius:var(--aba-radio-card)!important;box-shadow:0 12px 32px -24px rgba(16,26,48,.35)!important}

/* ---------- Campos ---------- */
body.aba-tienda :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],textarea,select):not([type=hidden]),
body.aba-tienda .select2-container--default .select2-selection--single{font-size:15px!important;color:var(--aba-navy)!important;background:var(--aba-blanco)!important;border:1px solid rgba(16,26,48,.2)!important;border-radius:var(--aba-radio-sm)!important;box-shadow:none!important;min-height:46px}
body.aba-tienda :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=search],textarea,select){padding:11px 14px!important}
body.aba-tienda input.qty{min-height:40px;padding:6px 8px!important;text-align:center}
body.aba-tienda .select2-container--default .select2-selection--single{height:auto!important;display:flex;align-items:center}
body.aba-tienda .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0 30px 0 14px!important;line-height:44px!important;color:var(--aba-navy)!important}
body.aba-tienda .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px!important;top:0!important;right:8px!important}
body.aba-tienda :is(input,textarea,select):focus,
body.aba-tienda .select2-container--focus .select2-selection--single{outline:none!important;border-color:var(--aba-acento)!important;box-shadow:0 0 0 3px var(--aba-acento-suave)!important}
body.aba-tienda ::placeholder{color:#8a93a3!important;opacity:1}
body.aba-tienda .woocommerce label{font-size:14px!important;font-weight:600!important;color:var(--aba-navy)!important}
body.aba-tienda .woocommerce .required{color:var(--aba-acento-fuerte)!important;text-decoration:none}
body.aba-tienda input[type=checkbox],body.aba-tienda input[type=radio]{accent-color:var(--aba-navy)}

/* ---------- Botones ---------- */
body.aba-tienda :is(.checkout-button,#place_order,.single_add_to_cart_button,.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-Button,.woocommerce .button.alt,#tutor_register_student_btn,button[name=tutor_register_student_btn],.tutor-btn-primary){display:inline-flex!important;align-items:center;justify-content:center;gap:8px;background:var(--aba-navy)!important;color:var(--aba-crema)!important;border:1px solid var(--aba-navy)!important;border-radius:var(--aba-radio-btn)!important;font-size:15px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;padding:14px 28px!important;box-shadow:none!important;opacity:1!important;transition:background .2s,border-color .2s}
body.aba-tienda :is(.checkout-button,#place_order,.single_add_to_cart_button,.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-Button,.woocommerce .button.alt,#tutor_register_student_btn,button[name=tutor_register_student_btn],.tutor-btn-primary):is(:hover,:focus-visible){background:var(--aba-navy-suave)!important;border-color:var(--aba-navy-suave)!important;color:var(--aba-crema)!important}
body.aba-tienda :is(.checkout-button,#place_order){width:100%}
/* Secundarios: actualizar carrito, aplicar cupón, ver pedido… */
body.aba-tienda :is(button[name=update_cart],button[name=apply_coupon],.e-apply-coupon,.woocommerce-orders-table .button,.woocommerce-MyAccount-content .button:not(.alt)){background:transparent!important;color:var(--aba-navy)!important;border:1px solid rgba(16,26,48,.35)!important;border-radius:var(--aba-radio-btn)!important;font-size:14px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;padding:11px 20px!important;box-shadow:none!important;min-height:44px;line-height:1.2!important}
body.aba-tienda :is(button[name=update_cart],button[name=apply_coupon],.e-apply-coupon,.woocommerce-orders-table .button,.woocommerce-MyAccount-content .button:not(.alt)):is(:hover,:focus-visible){border-color:var(--aba-navy)!important;background:var(--aba-blanco)!important}
body.aba-tienda button[name=update_cart]:disabled{opacity:.45!important}

/* ---------- Tablas (carrito, resumen del pedido, pedidos) ---------- */
body.aba-tienda .shop_table{border:0!important;border-collapse:collapse!important}
body.aba-tienda .shop_table :is(th,td){border:0!important;border-bottom:1px solid var(--aba-linea)!important;padding:14px 10px!important;vertical-align:middle}
body.aba-tienda .shop_table thead th,body.aba-tienda .shop_table tfoot th{font-size:12px!important;font-weight:600!important;letter-spacing:.1em;text-transform:uppercase;color:var(--aba-azul)!important}
body.aba-tienda .shop_table .product-name,body.aba-tienda .shop_table .product-name a{font-weight:600;color:var(--aba-navy)!important}
body.aba-tienda .shop_table .order-total :is(th,td),body.aba-tienda .shop_table .order-total .amount{font-size:18px!important;font-weight:700!important;color:var(--aba-navy)!important;border-bottom:0!important}
body.aba-tienda .shop_table .order-total small{font-weight:400;font-size:12px;color:var(--aba-azul)}
body.aba-tienda .shop_table a.remove{color:var(--aba-azul)!important;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-weight:400!important}
body.aba-tienda .shop_table a.remove:hover{background:var(--aba-acento-suave)!important;color:var(--aba-acento-fuerte)!important}
body.aba-tienda .shop_table .product-thumbnail img{border-radius:var(--aba-radio-sm);width:64px!important;height:auto}

/* ---------- Pago (Redsys) ---------- */
body.aba-tienda .woocommerce-checkout-payment{background:transparent!important}
body.aba-tienda .wc_payment_methods{border:0!important;padding:0!important}
body.aba-tienda .wc_payment_method label{font-weight:600!important}
body.aba-tienda .payment_box{background:var(--aba-crema)!important;color:var(--aba-navy)!important;border-radius:var(--aba-radio-sm)!important;font-size:14px}
body.aba-tienda .payment_box::before{display:none!important}
body.aba-tienda .woocommerce-terms-and-conditions-wrapper{font-size:14px;margin:14px 0}

/* ---------- Avisos ---------- */
body.aba-tienda :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice){background:var(--aba-blanco)!important;color:var(--aba-navy)!important;border:1px solid var(--aba-linea)!important;border-left:4px solid var(--aba-acento)!important;border-radius:12px!important;font-size:15px;padding:14px 18px 14px 48px!important}
body.aba-tienda .woocommerce-error{border-left-color:#c0392b!important}
body.aba-tienda :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{color:var(--aba-acento-fuerte)!important}
body.aba-tienda .cart-empty.woocommerce-info{text-align:left}
body.aba-tienda .return-to-shop .button{background:var(--aba-navy)!important;color:var(--aba-crema)!important;border-radius:var(--aba-radio-btn)!important;padding:13px 24px!important;text-transform:none!important}

/* ---------- Mi cuenta ---------- */
body.aba-tienda.woocommerce-account .woocommerce{max-width:1120px;margin:48px auto 72px!important;padding:0 20px}
body.aba-tienda.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
body.aba-tienda.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content){grid-column:1/-1}
body.aba-tienda .woocommerce-MyAccount-navigation,body.aba-tienda .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important}
body.aba-tienda .woocommerce-MyAccount-navigation{padding:12px!important}
body.aba-tienda .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:0!important}
body.aba-tienda .woocommerce-MyAccount-navigation li{margin:0!important;list-style:none!important}
body.aba-tienda .woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:var(--aba-radio-sm);color:var(--aba-navy)!important;font-weight:500;text-decoration:none!important}
body.aba-tienda .woocommerce-MyAccount-navigation li a:hover{background:var(--aba-crema)}
body.aba-tienda .woocommerce-MyAccount-navigation li.is-active a{background:var(--aba-navy);color:var(--aba-crema)!important}
body.aba-tienda .woocommerce-MyAccount-content{padding:28px 32px!important;font-size:15px;line-height:1.6}
/* Acceso / registro (sin sesión) */
body.aba-tienda.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)){max-width:520px}
body.aba-tienda :is(.woocommerce-form-login,.woocommerce-form-register){padding:28px 30px!important;margin:0 0 20px!important}
body.aba-tienda :is(.woocommerce-form-login,.woocommerce-form-register) .form-row{margin-bottom:16px!important}
body.aba-tienda .woocommerce-form-login__rememberme{display:flex!important;align-items:center;gap:8px;margin-bottom:14px!important;font-weight:400!important}
body.aba-tienda .woocommerce-form-login__submit{width:100%}
body.aba-tienda .woocommerce-LostPassword{margin:14px 0 0!important;font-size:14px;text-align:center}
body.aba-tienda.woocommerce-account .woocommerce > h2{display:none}

/* ---------- Registro de alumnas (Tutor) ---------- */
body.aba-tienda :is(.tutor-registration-wrap,.tutor-login-wrap,.tutor-form-wrap){max-width:520px;margin:48px auto 72px!important}
body.aba-tienda .tutor-card:has([name=tutor_register_student_btn]){max-width:520px;margin:48px auto 72px!important;background:var(--aba-blanco)!important;border:1px solid var(--aba-linea)!important;border-radius:var(--aba-radio-card)!important;box-shadow:0 12px 32px -24px rgba(16,26,48,.35)!important;padding:32px 6px 20px!important}
body.aba-tienda form:has([name=tutor_register_student_btn]){background:transparent!important;border:0!important;box-shadow:none!important;padding:0 24px!important}
body.aba-tienda form:has([name=tutor_register_student_btn]) label{font-size:14px!important;font-weight:600!important;color:var(--aba-navy)!important}
body.aba-tienda #tutor_register_student_btn,body.aba-tienda button[name=tutor_register_student_btn]{width:100%}
body.aba-tienda :is(.tutor-registration-wrap,.tutor-form-wrap,.elementor-widget-container) .aba-tienda-cab{text-align:center}
body.aba-tienda .aba-tienda-cab:has(+ form),body.aba-tienda :is(.tutor-registration-wrap,.woocommerce) > .aba-tienda-cab{text-align:center}
body.aba-tienda :is(.tutor-registration-wrap,.woocommerce) > .aba-tienda-cab .aba-tienda-cab__ante::before{display:none}

/* ---------- Ficha de producto ---------- */
body.aba-tienda.single-product :is(.product_title,.elementor-widget-woocommerce-product-title .elementor-heading-title){font-family:var(--aba-serif)!important;font-weight:600!important;font-size:clamp(34px,4vw,48px)!important;line-height:1.05!important;color:var(--aba-navy)!important;text-transform:none!important;letter-spacing:0!important}
body.aba-tienda.single-product :is(.price,.elementor-widget-woocommerce-product-price .price){font-family:var(--aba-sans)!important;font-size:28px!important;font-weight:700!important;color:var(--aba-navy)!important}
body.aba-tienda.single-product .price del{color:var(--aba-azul)!important;font-weight:400;font-size:20px}
body.aba-tienda.single-product .price ins{text-decoration:none;color:var(--aba-acento-fuerte)!important}
body.aba-tienda.single-product .woocommerce-product-gallery img{border-radius:var(--aba-radio-card)}
body.aba-tienda.single-product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* ---------- Escritorio de Tutor: solo la tipografía (los colores los marca Tutor → Ajustes → Diseño) ---------- */
body.aba-tienda.tutor-screen-frontend-dashboard,
body.aba-tienda.tutor-screen-frontend-dashboard :is(h1,h2,h3,h4,h5,p,span,a,button,input,select,textarea,label,div){font-family:var(--aba-sans)}

@media (max-width:900px){
  body.aba-tienda.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr}
  body.aba-tienda .woocommerce-MyAccount-content{padding:22px 20px!important}
}

/* Retoques */
body.aba-tienda .shop_table{width:100%!important}
body.aba-tienda .shop_table .order-total small .amount{font-size:12px!important;font-weight:600!important}
body.aba-tienda.woocommerce-account .woocommerce::before,body.aba-tienda.woocommerce-account .woocommerce::after{display:none!important}
body.aba-tienda .aba-tienda-alta{text-align:center;font-size:15px;margin:4px 0 0}
body.aba-tienda .aba-tienda-alta a{font-weight:600;color:var(--aba-acento-fuerte)!important}
