/* Global: reglas transversales que sobreviven del CSS adicional del Customizer */

/* Astra: ocultar su cabecera móvil (la cabecera real es la plantilla Elementor) */
@media (max-width: 921px) {
  .ast-mobile-menu-trigger,
  .ast-mobile-menu-buttons,
  #ast-mobile-header,
  .ast-header-break-point .main-header-bar-navigation,
  .ast-header-break-point .ast-main-header-wrap .ast-search-menu-icon { display: none !important; }
  .ast-header-break-point body.ast-header-nav-opened { overflow: auto !important; }
  .main-header-bar { padding: 0 !important; }
  #masthead, .site-header { z-index: 999 !important; }
}

/* Mini-carrito abierto por encima de todo */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__container,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__main { z-index: 1000000 !important; }

/* ==========================================================================
   BOTÓN PRIMARIO ÚNICO (rosa)
   Una sola definición para todos los botones rosas de la tienda.
   Se carga la última y gana a las reglas de cada bloque.
   ========================================================================== */
:root {
  --mqt-btn-pink: #efcad6;
  --mqt-btn-pink-deep: #d4a0b0;
  --mqt-btn-ink: #2a2520;
}

html body.single-product form.cart .single_add_to_cart_button,
html body.woocommerce-cart .wc-block-cart__submit-button,
html body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
html body .elementor-menu-cart__container .elementor-button--checkout,
html body.woocommerce-account .woocommerce button[type="submit"].button,
html body.woocommerce-account .woocommerce button[type="submit"].woocommerce-Button,
html body.woocommerce-account .woocommerce .woocommerce-form-login__submit,
html body.woocommerce-account .woocommerce .woocommerce-form-register__submit,
html body .mqt-shop .price_slider_amount .button,
html body .mqt-shop .mqt-filters-apply {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: center !important;
  color: var(--mqt-btn-ink) !important;
  background: var(--mqt-btn-pink) !important;
  border: 1px solid var(--mqt-btn-pink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
  transition: background .2s, border-color .2s !important;
}
html body.single-product form.cart .single_add_to_cart_button:hover,
html body.woocommerce-cart .wc-block-cart__submit-button:hover,
html body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover:not(:disabled),
html body .elementor-menu-cart__container .elementor-button--checkout:hover,
html body.woocommerce-account .woocommerce button[type="submit"].button:hover,
html body.woocommerce-account .woocommerce button[type="submit"].woocommerce-Button:hover,
html body.woocommerce-account .woocommerce .woocommerce-form-login__submit:hover,
html body.woocommerce-account .woocommerce .woocommerce-form-register__submit:hover,
html body .mqt-shop .price_slider_amount .button:hover,
html body .mqt-shop .mqt-filters-apply:hover {
  color: var(--mqt-btn-ink) !important;
  background: var(--mqt-btn-pink-deep) !important;
  border-color: var(--mqt-btn-pink-deep) !important;
}
/* Ficha: ancho completo y alto de la fila */
html body.single-product form.cart .single_add_to_cart_button { width: 100% !important; height: 52px !important; }
/* Filtro de precio: botón compacto */
html body .mqt-shop .price_slider_amount .button { min-height: 40px !important; padding: 0 18px !important; width: auto !important; }

/* ==========================================================================
   BOTÓN DE TARJETA DE PRODUCTO (tienda y relacionados): mismo estilo
   Contorno tinta; al pasar el ratón, rosa.
   ========================================================================== */
html body.single-product .products li.product a.button,
html body.single-product .products li.product button.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 14px 0 0 !important;
  padding: 0 14px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  color: var(--mqt-btn-ink) !important;
  background: transparent !important;
  border: 1px solid var(--mqt-btn-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background .2s, border-color .2s !important;
}
html body.single-product .products li.product a.button:hover,
html body.single-product .products li.product button.button:hover {
  color: var(--mqt-btn-ink) !important;
  background: var(--mqt-btn-pink) !important;
  border-color: var(--mqt-btn-pink) !important;
}

/* ==========================================================================
   AVISOS DE WOOCOMMERCE (añadido al carrito, información, errores)
   Plano, fondo crema, filete rosa a la izquierda. Mi Cuenta tiene el suyo.
   ========================================================================== */
html body:not(.woocommerce-account) .woocommerce-message,
html body:not(.woocommerce-account) .woocommerce-info,
html body:not(.woocommerce-account) .woocommerce-error {
  position: relative;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0 0 20px !important;
  padding: 16px 20px !important;
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: var(--mqt-btn-ink) !important;
  background: #faf8f5 !important;
  border: 1px solid #e6e0d8 !important;
  border-left: 3px solid var(--mqt-btn-pink-deep) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  list-style: none;
}
html body:not(.woocommerce-account) .woocommerce-error { border-left-color: #b4574c !important; }
html body:not(.woocommerce-account) .woocommerce-error li { margin: 0; }
/* Icono propio: check fino */
html body:not(.woocommerce-account) .woocommerce-message::before,
html body:not(.woocommerce-account) .woocommerce-info::before,
html body:not(.woocommerce-account) .woocommerce-error::before {
  content: "" !important;
  position: static !important;
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a2520' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M7.5 12.5l3 3 6-6.5'/%3E%3C/svg%3E");
}
html body:not(.woocommerce-account) .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='%232a2520' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E");
}
html body:not(.woocommerce-account) .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='%23b4574c' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7v6M12 16.5v.5'/%3E%3C/svg%3E");
}
html body:not(.woocommerce-account) .woocommerce-message strong { font-weight: 700; }
html body:not(.woocommerce-account) .woocommerce-message .mqt-notice-text { flex: 1 1 200px; min-width: 0; }
/* Botón del aviso: secundario, a la derecha */
html body:not(.woocommerce-account) .woocommerce-message .button,
html body:not(.woocommerce-account) .woocommerce-info .button {
  order: 3;
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: none;
  min-height: 38px;
  margin: 0 0 0 auto !important;
  padding: 0 18px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--mqt-btn-ink) !important;
  background: transparent !important;
  border: 1px solid var(--mqt-btn-ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background .2s, border-color .2s !important;
}
html body:not(.woocommerce-account) .woocommerce-message .button:hover,
html body:not(.woocommerce-account) .woocommerce-info .button:hover {
  background: var(--mqt-btn-pink) !important;
  border-color: var(--mqt-btn-pink) !important;
}
@media (max-width: 600px) {
  html body:not(.woocommerce-account) .woocommerce-message .button,
  html body:not(.woocommerce-account) .woocommerce-info .button { flex: 1 1 100%; margin: 4px 0 0 !important; }
}
/* El aviso recibe el foco al aparecer: sin recuadro negro del navegador */
html body .woocommerce-message:focus,
html body .woocommerce-info:focus,
html body .woocommerce-error:focus { outline: none !important; }
html body .woocommerce-message:focus-visible,
html body .woocommerce-info:focus-visible,
html body .woocommerce-error:focus-visible { outline: none !important; }

/* ==========================================================================
   Categorías: texto de apoyo y preguntas frecuentes (SEO)
   ========================================================================== */
.mqt-seo { max-width: 820px; margin: 72px auto 24px; padding-top: 48px; border-top: 1px solid #e6e0d8; font-family: "Manrope", sans-serif; color: #2a2520; }
.mqt-seo-content h2, .mqt-seo-title { margin: 0 0 18px; font-family: "Noto Serif", serif; font-size: 26px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; color: #2a2520; }
.mqt-seo-content p { margin: 0 0 16px; font-size: 15px; line-height: 1.75; color: #4a433d; }
.mqt-seo-content a { color: #2a2520; text-decoration: underline; text-underline-offset: 3px; }
.mqt-seo-faq { margin-top: 40px; }
.mqt-faq-item { border-bottom: 1px solid #e6e0d8; }
.mqt-faq-item summary { position: relative; padding: 18px 36px 18px 0; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.mqt-faq-item summary::-webkit-details-marker { display: none; }
.mqt-faq-item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 20px; font-weight: 300; }
.mqt-faq-item[open] summary::after { content: "−"; }
.mqt-faq-item p { margin: 0 0 18px; font-size: 14px; line-height: 1.7; color: #4a433d; }
@media (max-width: 900px) { .mqt-seo { margin: 48px 20px 16px; padding-top: 32px; } .mqt-seo-content h2, .mqt-seo-title { font-size: 21px; } }

/* ============ PÁGINAS DE INFORMACIÓN (envíos, devoluciones…) ============ */
body.page-id-1322 .entry-header { display: none; }
body.page-id-1322 .site-content > .ast-container { display: block; }
.mqt-info { max-width: 760px; margin: 0 auto; padding: 56px 16px 80px; color: #2a2520; font-family: "Manrope", sans-serif; }
.mqt-info__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #8a8178; margin: 0 0 16px; }
.mqt-info h1 { font-family: "Noto Serif", Georgia, serif; font-weight: 400; font-size: clamp(32px, 5vw, 48px); line-height: 1.15; margin: 0 0 20px; color: #1a1c1b; }
.mqt-info h1 em { color: #7e534f; }
.mqt-info__lead { font-size: 16px; line-height: 1.7; color: #5a524a; margin: 0 0 40px; max-width: 58ch; }
.mqt-info__facts { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid #e6e0d8; margin: 0 0 48px; }
.mqt-info__fact { padding: 22px 24px; border-right: 1px solid #e6e0d8; border-bottom: 1px solid #e6e0d8; background: #faf8f5; }
.mqt-info__fact:nth-child(2n) { border-right: 0; }
.mqt-info__fact:nth-last-child(-n+2) { border-bottom: 0; }
.mqt-info__fact b { display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #8a8178; font-weight: 700; margin-bottom: 8px; }
.mqt-info__fact span { font-family: "Noto Serif", Georgia, serif; font-size: 20px; line-height: 1.35; }
.mqt-info h2 { font-family: "Noto Serif", Georgia, serif; font-weight: 400; font-size: 26px; line-height: 1.25; margin: 48px 0 14px; padding-top: 32px; border-top: 1px solid #e6e0d8; color: #1a1c1b; }
.mqt-info p, .mqt-info li { font-size: 15px; line-height: 1.75; color: #3d3630; }
.mqt-info ul { margin: 12px 0 0; padding-left: 20px; }
.mqt-info li { margin-bottom: 8px; }
.mqt-info a { color: #2a2520; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #d4a0b0; }
.mqt-info a:hover { text-decoration-color: #2a2520; }
.mqt-info__note { border-left: 3px solid #d4a0b0; background: #faf8f5; padding: 18px 22px; margin: 20px 0 0; }
.mqt-info__note p { margin: 0; }
@media (max-width: 600px) {
	.mqt-info { padding-top: 36px; }
	.mqt-info__facts { grid-template-columns: 1fr; }
	.mqt-info__fact { border-right: 0 !important; border-bottom: 1px solid #e6e0d8 !important; }
	.mqt-info__fact:last-child { border-bottom: 0 !important; }
}

/* Botón volver arriba con los colores de la marca */
#ast-scroll-top { background: #7e534f !important; border-radius: 0 !important; color: #fff !important; }
#ast-scroll-top:hover { background: #2a2520 !important; }

/* Móvil: tipografías mínimas legibles y enlaces de contacto más fáciles de tocar */
@media (max-width: 600px) {
	.mqt-announcement__text, .mqt-announcement__text a { font-size: 12px !important; }
	.mqt-search__trigger-label { font-size: 12px !important; }
	.elementor-location-footer a[href^="tel:"], .elementor-location-footer a[href^="mailto:"] { display: inline-block; padding: 10px 0; }
}

/* "Hecho para perdurar": los tres iconos en una sola fila en móvil */
@media (max-width: 767px) {
	.mqt-craft .mqt-craft__badges { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px !important; flex-wrap: nowrap !important; align-items: start; }
	.mqt-craft .mqt-craft__badge-label { font-size: 9px; letter-spacing: .1em; line-height: 1.4; }
}

/* Menú móvil: el desplegable de Tienda no debe ser más ancho que el panel (evita el desplazamiento lateral) */
@media (max-width: 900px) {
	html body #mqt-nav .mqt-menu .mqt-dropdown--mega { width: 100% !important; max-width: 100% !important; margin: 0 !important; left: auto !important; right: auto !important; }
	html body #mqt-nav .mqt-menu { overflow-x: hidden !important; }
}
