/* menteDmente — integración con Astra, WooCommerce y Tutor LMS */

html { font-size: 100%; }
body.mdm, body.mdm.ast-separate-container, body.mdm.ast-plain-container { background: #fff; color: var(--texto); }

/* La cabecera y el menú móvil de Astra no se usan */
#masthead, #ast-mobile-popup-wrapper, .ast-mobile-popup-drawer, #ast-fixed-header, .ast-above-header-wrap, .ast-below-header-wrap { display: none !important; }

/* Con la barra de administración de WordPress visible */
.admin-bar .cabecera { top: 32px; }
@media (max-width: 782px) { .admin-bar .cabecera { top: 46px; } }
@media (max-width: 600px) { .admin-bar .cabecera { top: 0; } }

/* Número del carrito */
.carrito { position: relative; }
.carrito__num { position: absolute; top: 2px; right: -2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--rosa); color: #fff;
  font: 700 .7rem/18px var(--fuente-titulos); text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.carrito__num[data-n="0"] { display: none; }
@media (max-width: 921px) { .mdm-menu .carrito__num { position: static; } }

/* Páginas a todo lo ancho (portada, talleres, libros, acerca de, contacto) */
.mdm-ancho #content, .mdm-ancho .site-content { padding: 0 !important; }
.mdm-ancho #content > .ast-container { max-width: none; width: 100%; padding: 0; margin: 0; display: block; }
.mdm-main { display: block; }

/* Ola de la cabecera del mismo color que la sección que sigue */
.hero--onda-rosa .hero__onda { color: var(--rosa-claro); }
.hero--onda-amarilla .hero__onda { color: var(--amarillo); }

/* Cabecera compacta (productos, cursos, entradas) */
.hero--compacta { padding: 120px 0 84px; }
.hero--compacta .hero__titulo--pagina { font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 0; }

/* Páginas normales de WordPress, WooCommerce y Tutor */
.mdm:not(.mdm-ancho) #content > .ast-container { max-width: 1180px; padding: 48px 20px 88px; }
.mdm #primary { margin: 0 !important; padding: 0 !important; }
.mdm.ast-separate-container .ast-article-single, .mdm.ast-separate-container .ast-article-post,
.mdm.ast-separate-container .ast-woocommerce-container, .mdm.ast-separate-container .site-main > article,
.mdm.ast-separate-container .comments-area { background: transparent; padding: 0; box-shadow: none; border: 0; }
.mdm .entry-content { font-size: 1.0625rem; line-height: 1.75; }
.mdm .entry-content h2, .mdm .entry-content h3, .mdm .entry-content h4 { font-family: var(--fuente-titulos); color: var(--tinta); margin-top: 1.6em; }
.mdm .entry-content a:not(.button):not(.btn) { color: var(--rosa-fuerte); }

/* Botones de WordPress, WooCommerce y Tutor con el estilo del diseño */
.mdm .woocommerce a.button, .mdm .woocommerce button.button, .mdm .woocommerce input.button, .mdm .woocommerce #respond input#submit,
.mdm a.button, .mdm button.button, .mdm .single_add_to_cart_button, .mdm .checkout-button, .mdm #place_order,
.mdm .wc-block-components-button:not(.is-link), .mdm .wp-block-button__link, .mdm .tutor-btn-primary {
  background: var(--rosa-fuerte) !important; color: #fff !important; border: 2px solid var(--rosa-fuerte) !important; border-radius: 999px !important;
  font-family: var(--fuente-titulos) !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0;
  padding: .8em 1.6em !important; line-height: 1.2 !important; transition: transform .15s, background .15s; }
.mdm .woocommerce a.button:hover, .mdm .woocommerce button.button:hover, .mdm a.button:hover, .mdm button.button:hover,
.mdm .single_add_to_cart_button:hover, .mdm .checkout-button:hover, .mdm #place_order:hover,
.mdm .wc-block-components-button:not(.is-link):hover, .mdm .wp-block-button__link:hover, .mdm .tutor-btn-primary:hover {
  background: #a3134c !important; border-color: #a3134c !important; transform: translateY(-2px); }
.mdm .woocommerce a.added_to_cart { font-family: var(--fuente-titulos); color: var(--rosa-fuerte); margin-left: 10px; }

/* Campos de formularios */
.mdm .woocommerce input[type="text"], .mdm .woocommerce input[type="email"], .mdm .woocommerce input[type="tel"], .mdm .woocommerce input[type="password"],
.mdm .woocommerce input[type="number"], .mdm .woocommerce select, .mdm .woocommerce textarea, .mdm .woocommerce .select2-selection,
.mdm .contacto-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .mdm .contacto-form textarea, .mdm .contacto-form select {
  border: 1.5px solid #ead4e1 !important; border-radius: 12px !important; background: #fff; }
.mdm .woocommerce input:focus, .mdm .woocommerce select:focus, .mdm .woocommerce textarea:focus,
.mdm .contacto-form input:focus, .mdm .contacto-form textarea:focus { border-color: var(--rosa-fuerte) !important; outline: none; box-shadow: 0 0 0 3px rgba(194, 24, 91, .15); }

/* Avisos */
.mdm .woocommerce-message, .mdm .woocommerce-info, .mdm .woocommerce-error, .mdm .woocommerce-notices-wrapper > div {
  border-radius: 14px; background: var(--rosa-claro); border-top-color: var(--rosa-fuerte); color: var(--tinta); }
.mdm .woocommerce-message::before, .mdm .woocommerce-info::before { color: var(--rosa-fuerte); }
.mdm .woocommerce-error { background: #fff1f2; border-top-color: #be123c; }

/* Tienda y categorías: tarjetas de producto */
.mdm .woocommerce ul.products, .mdm.woocommerce ul.products { gap: 28px; }
.mdm ul.products li.product { background: #fff; border: 1px solid #f3e3ec; border-radius: var(--radio); box-shadow: var(--sombra); overflow: hidden; padding-bottom: 22px !important;
  transition: transform .45s var(--curva), box-shadow .45s var(--curva); }
.mdm ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(15, 23, 42, .14); }
.mdm ul.products li.product img { aspect-ratio: 1; object-fit: cover; width: 100%; margin: 0 0 16px !important; transition: transform .6s var(--curva); }
.mdm ul.products li.product .astra-shop-thumbnail-wrap { overflow: hidden; }
.mdm ul.products li.product:hover img { transform: scale(1.04); }
.mdm ul.products li.product .astra-shop-summary-wrap { padding: 0 20px; }
.mdm ul.products li.product .woocommerce-loop-product__title { font-family: var(--fuente-titulos); font-weight: 600; font-size: 1.12rem; color: var(--tinta); line-height: 1.3; }
.mdm ul.products li.product .ast-woo-product-category { color: var(--rosa-fuerte); font-family: var(--fuente-titulos); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: 1; }
.mdm ul.products li.product .price, .mdm .woocommerce div.product p.price, .mdm .woocommerce div.product span.price {
  font-family: var(--fuente-titulos); font-weight: 700; color: var(--tinta) !important; }
.mdm ul.products li.product .onsale, .mdm .woocommerce span.onsale { background: var(--rosa) !important; color: #fff; border-radius: 999px; font-family: var(--fuente-titulos); }
.mdm .woocommerce-result-count, .mdm .woocommerce-ordering select { font-size: .95rem; }
.mdm .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rosa-fuerte); color: #fff; }
.sin-movimiento.mdm ul.products li.product:hover, .sin-movimiento.mdm ul.products li.product:hover img { transform: none !important; }

/* Ficha de producto */
.mdm .woocommerce div.product .product_title { font-family: var(--fuente-titulos); font-weight: 700; color: var(--tinta); font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.mdm .woocommerce div.product div.images img { border-radius: var(--radio); }
.mdm .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--rosa-fuerte); }
.mdm .woocommerce div.product .woocommerce-tabs ul.tabs li.active::before, .mdm .woocommerce div.product .woocommerce-tabs ul.tabs li.active a::before { background: var(--rosa-fuerte); }
.mdm .woocommerce .quantity .qty { border-radius: 12px; }

/* Carrito y pago */
.mdm .woocommerce table.shop_table { border-radius: var(--radio); border-color: #f3e3ec; overflow: hidden; }
.mdm .woocommerce table.shop_table th { font-family: var(--fuente-titulos); color: var(--tinta); }
.mdm .woocommerce .cart-collaterals .cart_totals, .mdm .woocommerce-checkout-review-order, .mdm #order_review {
  background: var(--rosa-claro); border-radius: var(--radio); padding: 24px; border: 0; }
.mdm .woocommerce-checkout #payment, .mdm .woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 14px; }
.mdm .wc-block-cart, .mdm .wc-block-checkout { font-family: var(--fuente-texto); }

/* Aviso para pagos desde fuera de México */
.mdm-aviso-pago { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1.5px dashed var(--rosa); font-size: .92rem; line-height: 1.55; color: var(--texto); }
.mdm-aviso-pago__ico { font-size: 1.5rem; line-height: 1; }
.mdm-aviso-pago strong { display: block; font-family: var(--fuente-titulos); font-weight: 600; color: var(--tinta); font-size: 1rem; margin-bottom: 2px; }
.mdm-aviso-pago p { margin: 0; }
.mdm-aviso-pago a { color: var(--rosa-fuerte); font-weight: 600; }

/* Mi cuenta */
.mdm .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mdm .woocommerce-MyAccount-navigation li a { display: block; padding: .7em 1.1em; border-radius: 12px; color: var(--tinta); text-decoration: none; font-family: var(--fuente-titulos); font-weight: 500; }
.mdm .woocommerce-MyAccount-navigation li a:hover { background: var(--rosa-claro); }
.mdm .woocommerce-MyAccount-navigation li.is-active a { background: var(--rosa-fuerte) !important; color: #fff !important; }

/* La ruta ya está en la cabecera de página: sin la de Astra/WooCommerce */
.mdm .woocommerce-breadcrumb, .mdm .ast-breadcrumbs-wrapper { display: none !important; }
.mdm .woocommerce form.login, .mdm .woocommerce form.register { border-color: #f3e3ec; border-radius: var(--radio); }

/* Tutor LMS (cursos) */
.mdm .tutor-wrap, .mdm .tutor-container { font-family: var(--fuente-texto); }
.mdm .tutor-course-details-title, .mdm .tutor-dashboard-title { font-family: var(--fuente-titulos) !important; color: var(--tinta); }
.mdm { --tutor-color-primary: #c2185b; --tutor-color-primary-hover: #a3134c; }

/* Contacto: tarjeta con el formulario */
.contacto-form { margin-top: 48px; background: #fff; border: 1px solid #f3e3ec; border-radius: 20px; box-shadow: var(--sombra); padding: clamp(22px, 4vw, 40px); }
.contacto-form h2 { font-size: clamp(1.6rem, 3vw, 2rem); text-align: center; margin-bottom: 1em; }

@media (max-width: 921px) {
  .mdm:not(.mdm-ancho) #content > .ast-container { padding: 36px 16px 64px; }
}
