/* Music Club: propuesta móvil aislada para el cuerpo de portada 15. */
@media (max-width: 767px) {
  .elementor-15 .elementor-element.elementor-element-2bed393,
  .elementor-15 .elementor-element.elementor-element-4b81122 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .elementor-15 .elementor-element.elementor-element-b6f7368 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .elementor-15 .elementor-element.elementor-element-b6f7368 .elementor-widget-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-15 .elementor-element.elementor-element-b6f7368 .elementor-element-8d5963c {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
}

/* Music Club: propuesta aislada para la cuadrícula de Eventos, página 36. */
@media (max-width: 767px) {
  .elementor-36 .elementor-element.elementor-element-98955ce {
    margin-top: 8px !important;
    padding-top: 16px !important;
  }
}
@media (min-width: 375px) and (max-width: 767px) {
  .elementor-36 .elementor-element.elementor-element-a82f410 .products-loop > .product {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  .elementor-36 .elementor-element.elementor-element-a82f410 .products-loop > .product .content-product {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .elementor-36 .elementor-element.elementor-element-a82f410 .products-loop > .product .product-details {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
  }
  .elementor-36 .elementor-element.elementor-element-a82f410 .products-loop > .product .product-details > a.button {
    margin-top: auto;
    min-height: 57px;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .elementor-36 .elementor-element.elementor-element-a82f410 .products-loop > .product .product-details > .price {
    margin-bottom: 8px;
  }
}

/* Music Club: prueba aislada de galería en dos columnas, página 2156. */
@media (max-width: 767px) {
  .elementor-2156 .elementor-element.elementor-element-e01b27a {
    margin-top: 8px !important;
    padding-top: 16px !important;
  }
}
@media (min-width: 360px) and (max-width: 767px) {
  .elementor-2156 .elementor-element.elementor-element-8756a43 .premium-gallery-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto !important;
    align-items: start;
  }
  .elementor-2156 .elementor-element.elementor-element-8756a43 .premium-gallery-item {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 5px !important;
  }
}

/* Propuesta: hacer legible la tabla de cookies y ajustar sus columnas. */
@media (max-width: 768px) {
  body.page-id-4608 #cmplz-cookies-overview .cookies-per-purpose {
    grid-template-columns: minmax(0, 100px) minmax(0, 1fr);
  }
  body.page-id-4608 #cmplz-cookies-overview .cookies-per-purpose > * {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #111;
  }
  body.page-id-4608 #cmplz-cookies-overview .cookies-per-purpose h4,
  body.page-id-4608 #cmplz-cookies-overview .cookies-per-purpose h5,
  body.page-id-4608 #cmplz-cookies-overview .cookies-per-purpose a {
    color: #111;
  }
}

@media (max-width: 480px) {
  body.page-id-2293 .elementor-element-32cdddf .etheme-headline {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  body.page-id-2293 .elementor-element-4d22aff {
    padding-top: 20px !important;
  }
  body.page-id-2293 .etheme-product-list-content p {
    font-size: 14px;
    line-height: 1.4;
  }
  body.page-id-2293 .etheme-product-list-content .etheme-product-list-button {
    min-height: 44px;
    padding: 9px 10px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 768px) {
  body.page-id-3460 .elementor-element-3e5cf98,
  body.page-id-3460 .elementor-element-2344211,
  body.page-id-3460 .elementor-element-a137644 {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  body.page-id-3460 .elementor-element-3e5cf98 > .elementor-container,
  body.page-id-3460 .elementor-element-2344211 > .elementor-container,
  body.page-id-3460 .elementor-element-a137644 > .elementor-container {
    min-height: 0;
  }
  body.page-id-3460 .elementor-element-3e5cf98 .elementor-widget-divider,
  body.page-id-3460 .elementor-element-2344211 .elementor-widget-divider,
  body.page-id-3460 .elementor-element-a137644 .elementor-widget-divider {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
  }
}

/* Fichas móviles. Galería completa y detalles compactos sin alterar el orden del formulario. */
@media (max-width: 991px) {
  body.single-product .page-heading .woocommerce-breadcrumb {
    line-height: 1.35;
  }

  body.single-product .page-heading h1.title {
    font-size: clamp(1rem, 4.2vw, 1.25rem);
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  body.single-product .elementor-4263 .elementor-element-6647be68 .woocommerce-product-gallery img.wp-post-image,
  body.single-product.product-template-elementor_theme .single-product-page .product-images img.wp-post-image {
    display: block;
    max-block-size: clamp(365px, 49svh, 465px);
    margin-inline: auto;
    object-fit: contain;
  }

  body.single-product:has(.page-heading h1.title) .elementor-4263 .elementor-element-1e775771 {
    display: none;
  }

  body.single-product .elementor-4263 .elementor-element-f7b8e02 > .elementor-widget-wrap {
    padding-block: 10px;
  }

  body.single-product .elementor-4263 .elementor-element-f7b8e02 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
    margin-block-end: 12px;
  }

  body.single-product .elementor-4263 :is(.elementor-element-ab31194, .elementor-element-74cdad1) {
    display: none;
  }

  body.single-product .elementor-4263 .elementor-element-2cf0d6e7 form.cart > .quantity {
    margin-inline-end: 10px;
  }

  body.single-product .elementor-4263 .elementor-element-2cf0d6e7 form.cart > .single_add_to_cart_button {
    min-width: 0;
    min-height: 44px;
    font-size: max(16px, 1rem);
    white-space: normal;
  }

  body.single-product.product-template-elementor_theme .single-product-page .product-information {
    margin-block-start: 16px;
  }

  body.single-product.product-template-elementor_theme .single-product-page .woocommerce-product-details__short-description {
    font-size: max(16px, 1rem);
    line-height: 1.5;
  }
}

@media (max-width: 991px) and (pointer: coarse) {
  body.single-product .elementor-4263 .elementor-element-6647be68 .woocommerce-product-gallery .zoomImg,
  body.single-product.product-template-elementor_theme .single-product-page .product-images .zoomImg {
    pointer-events: none;
  }
}

@media (min-width: 701px) and (max-width: 991px) {
  body.single-product .elementor-4263 .elementor-element-6647be68 > .elementor-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }

  body.single-product .elementor-4263 .elementor-element-6647be68 > .elementor-container > .elementor-column {
    width: 100%;
  }
}

/* Catálogo y compra. Solo superficies móviles de WooCommerce y XStore. */
@media (max-width: 991px) {
  body:is(.woocommerce-shop, .tax-product_cat) .products-loop .product-title {
    font-size: max(16px, 1rem);
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout) .et_column:has(> .cart-checkout-nav-simple) {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100% !important;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout) .cart-checkout-nav-simple {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 8px;
    width: 100%;
    max-width: 100%;
    padding: 8px 0;
    white-space: normal;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout) .cart-checkout-nav-simple > .et-icon {
    display: none;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout) .cart-checkout-nav-simple > a {
    justify-content: center;
    min-height: 44px;
    min-width: 0;
    margin: 0;
    font-size: max(14px, .875rem);
    line-height: 1.3;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.woocommerce-cart .elementor-17 :is(.woocommerce-cart-form, .cart_totals),
  body.woocommerce-checkout .elementor-18 :is(.etheme-elementor-cart-checkout-page-coupon, .woocommerce-billing-fields) {
    padding: clamp(14px, 4vw, 20px) !important;
  }

  body.woocommerce-cart .elementor-17 .product-details a.product-title {
    font-size: max(16px, 1rem) !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  body.woocommerce-cart .elementor-17 .coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body.woocommerce-cart .elementor-17 .coupon :is(#coupon_code, .btn) {
    position: static;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding-inline: 12px;
    font-size: max(16px, 1rem);
  }

  body.woocommerce-account .content-page form.woocommerce-form-login :is(#username, #password) {
    font-size: max(16px, 1rem) !important;
    min-height: 44px;
  }
}

@media (min-width: 640px) and (max-width: 991px) {
  body:is(.woocommerce-cart, .woocommerce-checkout) .cart-checkout-nav-simple {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.woocommerce-cart .elementor-17 .coupon {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}
