/*
 * MaiShop Builder - estilos del frontend.
 * Extraido de forma automatica y textual de la version 1.26.62 (bloque
 * inline en wp_head) al pasar a v1.26.63, sin modificar ninguna regla.
 * Los pocos valores que dependen de los ajustes del panel (colores y
 * fondo configurados en Ajustes > MaiShop) se inyectan como variables
 * CSS (--maishop-*) desde un bloque inline muy pequeno generado por
 * maishop_builder_frontend_dynamic_css().
 */
        html, body { overflow-x: hidden; }

        /* MaiShop Builder v1.26.43: evita duplicar el footer del tema en la tienda/demo. */
        body.maishop-builder-replaces-theme-footer #colophon,
        body.maishop-builder-replaces-theme-footer #site-footer,
        body.maishop-builder-replaces-theme-footer footer.site-footer:not(.maishop-home-footer),
        body.maishop-builder-replaces-theme-footer .site-footer:not(.maishop-home-footer),
        body.maishop-builder-replaces-theme-footer .ast-footer-overlay,
        body.maishop-builder-replaces-theme-footer .elementor-location-footer,
        body.maishop-builder-replaces-theme-footer .wp-site-blocks > footer:not(.maishop-home-footer),
        body.maishop-builder-replaces-theme-footer footer.wp-block-template-part:not(.maishop-home-footer) {
            display: none !important;
        }

        /* MaiShop Builder v1.28.0: evita duplicar el header del tema (mismo
           patrón que el footer de arriba, cobertura defensiva Astra +
           temas de bloques + Elementor, no solo Astra). */
        body.maishop-builder-replaces-theme-header #masthead,
        body.maishop-builder-replaces-theme-header .site-header:not(.maishop-site-header),
        body.maishop-builder-replaces-theme-header header.site-header:not(.maishop-site-header),
        body.maishop-builder-replaces-theme-header .ast-header-break-point,
        body.maishop-builder-replaces-theme-header .elementor-location-header,
        body.maishop-builder-replaces-theme-header .wp-site-blocks > header:not(.maishop-site-header),
        body.maishop-builder-replaces-theme-header header.wp-block-template-part:not(.maishop-site-header) {
            display: none !important;
        }

        body.maishop-site-background-active {
            background-color: var(--maishop-site-bg-color) !important;
            background-image: var(--maishop-site-bg-image-desktop) !important;
            background-position: var(--maishop-site-bg-position) !important;
            background-repeat: no-repeat !important;
            background-size: cover !important;
            background-attachment: scroll !important;
        }

        body.maishop-site-background-active #content,
        body.maishop-site-background-active .site-content,
        body.maishop-site-background-active .content-area,
        body.maishop-site-background-active .site-main,
        body.maishop-site-background-active .site-content > .ast-container,
        body.maishop-site-background-active .site-content .ast-container,
        body.maishop-site-background-active .maishop-contact-wrapper,
        body.maishop-site-background-active .maishop-about-wrapper,
        body.maishop-site-background-active .maishop-legal-wrapper,
        body.maishop-site-background-active .maishop-faq-page {
            background-color: transparent !important;
        }

        @media (max-width: 782px) {
            body.maishop-site-background-active {
                background-image: var(--maishop-site-bg-image-mobile) !important;
            }
        }

        .maishop-page, .maishop-page * { box-sizing: border-box; }
        .maishop-page { width: 100%; max-width: 100%; margin: 0; padding: 0; overflow-x: visible; }

        body.maishop-scroll-animation-soft .maishop-scroll-reveal {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity .56s ease, transform .56s ease;
            will-change: opacity, transform;
        }

        body.maishop-scroll-animation-soft .maishop-scroll-reveal.is-visible {
            opacity: 1;
            transform: translateY(0);
            will-change: auto;
        }

        @media (prefers-reduced-motion: reduce) {
            body.maishop-scroll-animation-soft .maishop-scroll-reveal {
                opacity: 1 !important;
                transform: none !important;
                transition: none !important;
                will-change: auto !important;
            }
        }

        body.maishop-typography-modern .maishop-page {
            --maishop-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            --maishop-font-heading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            --maishop-heading-weight: 820;
            --maishop-heading-tracking: -0.055em;
        }

        body.maishop-typography-elegant .maishop-page {
            --maishop-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            --maishop-font-heading: Georgia, "Times New Roman", ui-serif, serif;
            --maishop-heading-weight: 700;
            --maishop-heading-tracking: -0.025em;
        }

        body.maishop-typography-editorial .maishop-page {
            --maishop-font-body: Georgia, "Times New Roman", ui-serif, serif;
            --maishop-font-heading: Georgia, "Times New Roman", ui-serif, serif;
            --maishop-heading-weight: 700;
            --maishop-heading-tracking: -0.018em;
        }

        body.maishop-typography-minimal .maishop-page {
            --maishop-font-body: Arial, Helvetica, system-ui, sans-serif;
            --maishop-font-heading: Arial, Helvetica, system-ui, sans-serif;
            --maishop-heading-weight: 760;
            --maishop-heading-tracking: -0.035em;
        }

        body[class*="maishop-typography-"] .maishop-page,
        body[class*="maishop-typography-"] .maishop-page p,
        body[class*="maishop-typography-"] .maishop-page li,
        body[class*="maishop-typography-"] .maishop-page a,
        body[class*="maishop-typography-"] .maishop-page span,
        body[class*="maishop-typography-"] .maishop-page strong,
        body[class*="maishop-typography-"] .maishop-page button,
        body[class*="maishop-typography-"] .maishop-page input,
        body[class*="maishop-typography-"] .maishop-page textarea,
        body[class*="maishop-typography-"] .maishop-page select {
            font-family: var(--maishop-font-body) !important;
        }

        body[class*="maishop-typography-"] .maishop-page h1,
        body[class*="maishop-typography-"] .maishop-page h2,
        body[class*="maishop-typography-"] .maishop-page h3,
        body[class*="maishop-typography-"] .maishop-page h4,
        body[class*="maishop-typography-"] .maishop-hero h1,
        body[class*="maishop-typography-"] .maishop-section-heading h2,
        body[class*="maishop-typography-"] .maishop-contact-page__hero h1,
        body[class*="maishop-typography-"] .maishop-contact-form-block__intro h2,
        body[class*="maishop-typography-"] .maishop-about-page__content h1,
        body[class*="maishop-typography-"] .maishop-about-page__story h2,
        body[class*="maishop-typography-"] .maishop-legal-page h1,
        body[class*="maishop-typography-"] .maishop-legal-page h2,
        body[class*="maishop-typography-"] .maishop-faq-page h1 {
            font-family: var(--maishop-font-heading) !important;
            font-weight: var(--maishop-heading-weight) !important;
            letter-spacing: var(--maishop-heading-tracking) !important;
        }

        body.maishop-typography-editorial .maishop-page p,
        body.maishop-typography-editorial .maishop-page li {
            line-height: 1.82;
        }

        .maishop-home {
            width: 100%;
            max-width: 100%;
            margin: 0 auto;
            background: var(--ms-hero-background, linear-gradient(135deg, #ffffff 0%, var(--ms-hero-bg) 100%));
            padding: 76px 24px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            overflow: hidden;
        }

        .maishop-hero {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
            gap: 52px;
            align-items: center;
        }

        .maishop-home--centered .maishop-hero { grid-template-columns: 1fr; max-width: 920px; text-align: center; }
        .maishop-home--no-hero-image .maishop-hero { grid-template-columns: 1fr; max-width: 920px; }
        .maishop-home--cover { position: relative; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); background-size: cover; background-position: var(--ms-hero-cover-position, center center); background-repeat: no-repeat; }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-strength-none { background-image: var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-soft { background-image: linear-gradient(90deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.24) 52%, rgba(255,255,255,.06) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-medium { background-image: linear-gradient(90deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.38) 52%, rgba(255,255,255,.14) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-strong { background-image: linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.52) 52%, rgba(255,255,255,.24) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-soft { background-image: linear-gradient(90deg, rgba(8,17,24,.34) 0%, rgba(8,17,24,.20) 52%, rgba(8,17,24,.06) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-medium { background-image: linear-gradient(90deg, rgba(8,17,24,.48) 0%, rgba(8,17,24,.32) 52%, rgba(8,17,24,.12) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-strong { background-image: linear-gradient(90deg, rgba(8,17,24,.64) 0%, rgba(8,17,24,.46) 52%, rgba(8,17,24,.22) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.28) 48%, rgba(255,255,255,.10) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.42) 48%, rgba(255,255,255,.20) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.58) 48%, rgba(255,255,255,.32) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(8,17,24,.38) 0%, rgba(8,17,24,.24) 48%, rgba(8,17,24,.10) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(8,17,24,.52) 0%, rgba(8,17,24,.36) 48%, rgba(8,17,24,.18) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(8,17,24,.68) 0%, rgba(8,17,24,.50) 48%, rgba(8,17,24,.28) 100%), var(--ms-hero-cover-image); }
        .maishop-home--cover .maishop-hero { grid-template-columns: 1fr; min-height: 560px; align-items: center; }
        .maishop-home--cover .maishop-hero__content { max-width: 720px; }
        .maishop-home--cover-centered .maishop-hero { text-align: center; justify-items: center; }
        .maishop-home--cover-centered .maishop-hero__content { max-width: 920px; margin-left: auto; margin-right: auto; }
        .maishop-home--cover-centered .maishop-hero__subtitle, .maishop-home--cover-centered .maishop-hero__buttons { margin-left: auto; margin-right: auto; justify-content: center; }
        .maishop-home--cover-dark .maishop-hero__brand { color: rgba(255,255,255,.88) !important; }
        .maishop-home--cover-dark .maishop-hero__title { color: var(--ms-hero-title-color, #ffffff); }
        .maishop-home--cover-dark .maishop-hero__subtitle { color: var(--ms-hero-subtitle-color, #e7ecef); }
        .maishop-home--cover-dark .maishop-benefits__heading h2 { color: var(--ms-section-title-color, #10202b); text-shadow: none; }
        .maishop-home--cover-dark .maishop-benefits__heading p { color: var(--ms-section-subtitle-color, #5f6977); text-shadow: none; }
        .maishop-home--cover-dark .maishop-button--outline { background: rgba(255,255,255,.10); color: #ffffff !important; border-color: rgba(255,255,255,.84); }
        .maishop-home--centered .maishop-hero__subtitle, .maishop-home--centered .maishop-hero__buttons { margin-left: auto; margin-right: auto; justify-content: center; }
        .maishop-hero__content, .maishop-hero__visual { min-width: 0; width: 100%; }

        .maishop-hero__brand { color: var(--maishop-primary); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; margin: 0 0 18px; }
        .maishop-hero__title { font-size: clamp(42px, 6vw, 76px); line-height: 1.02; margin: 0 0 24px; color: var(--ms-hero-title-color, #10202b); font-family: Georgia, "Times New Roman", serif; overflow-wrap: anywhere; text-wrap: balance; }
        .maishop-hero__title span { color: var(--maishop-primary); display: block; }
        .maishop-hero__subtitle { font-size: 20px; line-height: 1.6; color: var(--ms-hero-subtitle-color, #5f6977); max-width: 560px; margin: 0 0 32px; }
        .maishop-hero__buttons { display: flex; gap: 16px; flex-wrap: wrap; }

        .maishop-button { display: inline-flex; align-items: center; justify-content: center; padding: 14px 22px; border-radius: 999px; text-decoration: none !important; font-weight: 800; transition: transform .2s ease, opacity .2s ease; line-height: 1.2; }
        .maishop-button:hover { transform: translateY(-2px); opacity: .92; }
        .maishop-button--primary { background: var(--maishop-primary); color: #fff !important; box-shadow: none; }
        .maishop-button--outline { border: 2px solid var(--maishop-primary); color: var(--maishop-primary) !important; background: rgba(255,255,255,.55); }
        .maishop-home.maishop-home--secondary-bg-transparent .maishop-button--outline {
            background: transparent !important;
            background-color: transparent !important;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .maishop-home.maishop-home--secondary-bg-soft .maishop-button--outline {
            background: rgba(255,255,255,.76) !important;
            background-color: rgba(255,255,255,.76) !important;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        .maishop-hero__card { width: 100%; min-height: 430px; border-radius: 30px; background: linear-gradient(135deg, #ffffff, var(--ms-hero-frame, #EAFBFD)); box-shadow: 0 24px 80px rgba(16, 32, 43, .13); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #10202b; text-align: center; padding: 24px; overflow: hidden; }
        .maishop-hero__card img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; border-radius: 22px; display: block; }
        .maishop-hero__card--no-frame { background: transparent; box-shadow: none; padding: 0; }
        .maishop-hero__card--no-frame img { border-radius: 24px; }
        .maishop-hero__card p { font-size: 28px; font-weight: 800; margin: 0 0 8px; }
        .maishop-hero__card small { color: #6b7280; }

        .maishop-benefits {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 64px 24px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-section-heading { text-align: center; max-width: 720px; margin: 0 auto 30px; }
        .maishop-section-heading h2 { font-family: Georgia, "Times New Roman", serif; color: var(--ms-section-title-color, #10202b); font-size: clamp(32px, 4vw, 52px); line-height: 1.08; margin: 0 0 12px; overflow-wrap: anywhere; }
        .maishop-section-heading p { color: var(--ms-section-subtitle-color, #5f6977); font-size: 18px; line-height: 1.6; margin: 0; }

        .maishop-benefits__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
        .maishop-benefits__grid--1 { grid-template-columns: minmax(0, 420px); justify-content: center; }
        .maishop-benefits__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin: 0 auto; }

        .maishop-benefit-card { background: #fff; border: 1px solid rgba(16,32,43,.08); border-radius: 22px; padding: 24px; box-shadow: 0 16px 38px rgba(16,32,43,.06); min-height: 0; }
        .maishop-benefit-card__icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--maishop-primary); color: #fff; font-weight: 900; margin-bottom: 15px; }
        .maishop-benefit-card h3 { color: #10202b; font-size: 21px; margin: 0 0 8px; }
        .maishop-benefit-card p { color: #5f6977; font-size: 16px; line-height: 1.58; margin: 0; }

        @media (max-width: 900px) {
            .maishop-home { padding: 58px 20px; }
            .maishop-hero { max-width: 640px; grid-template-columns: 1fr; gap: 32px; text-align: center; justify-items: center; }
            .maishop-home--cover .maishop-hero { min-height: 520px; text-align: left; justify-items: start; }
            .maishop-home--cover { background-position: var(--ms-hero-cover-position-mobile, var(--ms-hero-cover-position, center center)); }
            .maishop-home--cover .maishop-hero__subtitle, .maishop-home--cover .maishop-hero__buttons { margin-left: 0; margin-right: 0; justify-content: flex-start; }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-strength-none { background-image: var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered .maishop-hero { text-align: center; justify-items: center; }
            .maishop-home--cover-centered .maishop-hero__subtitle, .maishop-home--cover-centered .maishop-hero__buttons { margin-left: auto; margin-right: auto; justify-content: center; }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.28) 52%, rgba(255,255,255,.10) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.42) 52%, rgba(255,255,255,.20) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.58) 52%, rgba(255,255,255,.32) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(8,17,24,.38) 0%, rgba(8,17,24,.24) 52%, rgba(8,17,24,.10) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(8,17,24,.52) 0%, rgba(8,17,24,.36) 52%, rgba(8,17,24,.18) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(8,17,24,.68) 0%, rgba(8,17,24,.50) 52%, rgba(8,17,24,.28) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.28) 52%, rgba(255,255,255,.10) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.42) 52%, rgba(255,255,255,.20) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-light.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.58) 52%, rgba(255,255,255,.32) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-soft { background-image: linear-gradient(180deg, rgba(8,17,24,.38) 0%, rgba(8,17,24,.24) 52%, rgba(8,17,24,.10) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-medium { background-image: linear-gradient(180deg, rgba(8,17,24,.52) 0%, rgba(8,17,24,.36) 52%, rgba(8,17,24,.18) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-home--cover-centered.maishop-home--has-bg.maishop-home--cover-dark.maishop-home--cover-strength-strong { background-image: linear-gradient(180deg, rgba(8,17,24,.68) 0%, rgba(8,17,24,.50) 52%, rgba(8,17,24,.28) 100%), var(--ms-hero-cover-image-mobile, var(--ms-hero-cover-image)); }
            .maishop-hero__content, .maishop-hero__visual { max-width: 100%; margin-left: auto; margin-right: auto; }
            .maishop-hero__subtitle, .maishop-hero__buttons { margin-left: auto; margin-right: auto; justify-content: center; }
            .maishop-hero__title { font-size: clamp(38px, 11vw, 58px); }
            .maishop-hero__subtitle { font-size: 18px; }
            .maishop-hero__card { min-height: 260px; max-width: 520px; margin-left: auto; margin-right: auto; padding: 14px; border-radius: 24px; }
            .maishop-hero__card img { min-height: 230px; border-radius: 18px; }
            .maishop-hero__card--no-frame { padding: 0; }
            .maishop-hero__card--no-frame img { border-radius: 20px; }
            .maishop-hide-image-mobile .maishop-hero__visual { display: none; }

            .maishop-benefits { padding: 46px 20px; }
            .maishop-section-heading { margin-bottom: 24px; }
            .maishop-benefits__grid,
            .maishop-benefits__grid--1,
            .maishop-benefits__grid--2 { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; gap: 16px; }
        }

        @media (max-width: 480px) {
            .maishop-home { padding: 40px 16px; }
            .maishop-hero { width: 100%; max-width: 100%; gap: 24px; }
            .maishop-hero__brand { font-size: 13px; margin-bottom: 14px; }
            .maishop-hero__title { font-size: clamp(34px, 12vw, 48px); margin-bottom: 18px; max-width: 100%; }
            .maishop-hero__subtitle { font-size: 16px; margin-bottom: 24px; max-width: 100%; }
            .maishop-hero__buttons { width: 100%; gap: 12px; }
            .maishop-home--cover .maishop-hero { min-height: 560px; }
            .maishop-home--cover .maishop-hero__content { max-width: 100%; }
            .maishop-button { width: 100%; padding: 14px 18px; }
            .maishop-hero__card { width: 100%; min-height: 210px; }
            .maishop-hero__card img { min-height: 200px; }

            .maishop-benefits { padding: 36px 16px; }
            .maishop-section-heading h2 { font-size: clamp(30px, 9vw, 42px); }
            .maishop-section-heading p { font-size: 16px; }
            .maishop-benefit-card { padding: 22px; border-radius: 20px; }
        }

        /* MaiShop v0.5: beneficios integrados en el hero */
        .maishop-hero__visual {
            position: relative;
        }

        .maishop-trust-cards {
            width: calc(100% - 56px);
            margin: -44px auto 0;
            position: relative;
            z-index: 4;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }

        .maishop-benefits__heading {
            margin-top: 30px;
            margin-bottom: 22px;
        }

        .maishop-benefits__heading + .maishop-trust-cards {
            margin-top: 0;
        }

        .maishop-trust-cards--1 {
            grid-template-columns: minmax(0, 1fr);
            max-width: 360px;
        }

        .maishop-trust-cards--2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 520px;
        }

        .maishop-trust-card {
            min-width: 0;
            background: rgba(255,255,255,.94);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(16,32,43,.08);
            border-radius: 14px;
            padding: 12px 14px;
            box-shadow: 0 14px 34px rgba(16,32,43,.12);
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .maishop-trust-card__icon {
            width: 30px;
            height: 30px;
            min-width: 30px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: var(--ms-hero-card-icon, #0F9F9A);
            color: #fff;
            font-weight: 900;
            line-height: 1;
        }

        .maishop-trust-card__content {
            min-width: 0;
            display: block;
        }

        .maishop-trust-card strong {
            display: block;
            color: #10202b;
            font-size: 15px;
            line-height: 1.18;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .maishop-trust-card small {
            display: block;
            color: #5f6977;
            font-size: 13px;
            line-height: 1.25;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            margin-top: 2px;
        }

        .maishop-benefits {
            display: none;
        }

        @media (max-width: 900px) {
            .maishop-trust-cards {
                width: calc(100% - 28px);
                max-width: 520px;
                margin-top: -38px;
                grid-template-columns: 1fr;
                gap: 8px;
            }

            .maishop-trust-cards--2 {
                grid-template-columns: 1fr;
            }

            .maishop-trust-card {
                padding: 10px 12px;
                border-radius: 12px;
            }

            .maishop-trust-card__icon {
                width: 28px;
                height: 28px;
                min-width: 28px;
            }

            .maishop-trust-card strong {
                font-size: 15px;
            }

            .maishop-trust-card small {
                font-size: 13px;
            }
        }

        @media (max-width: 480px) {
            .maishop-trust-cards {
                width: calc(100% - 20px);
                margin-top: -34px;
            }

            .maishop-trust-card {
                padding: 9px 10px;
            }
        }


        /* MaiShop v0.6: barra de confianza horizontal, integrada y responsive */
        .maishop-home {
            padding-bottom: 54px;
        }

        .maishop-trust-cards {
            width: 100%;
            max-width: 1080px;
            margin: 34px auto 0;
            position: relative;
            z-index: 4;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
        }

        .maishop-trust-cards--1 {
            grid-template-columns: minmax(0, 420px);
            justify-content: center;
        }

        .maishop-trust-cards--2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 760px;
        }

        .maishop-trust-card {
            min-width: 0;
            background: rgba(255,255,255,.96);
            border: 1px solid rgba(16,32,43,.08);
            border-radius: 16px;
            padding: 14px 18px;
            box-shadow: 0 12px 30px rgba(16,32,43,.10);
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .maishop-trust-card__icon {
            width: 36px;
            height: 36px;
            min-width: 36px;
            font-size: 18px;
        }

        .maishop-trust-card strong {
            font-size: 17px;
            white-space: normal;
            overflow: visible;
            text-overflow: initial;
        }

        .maishop-trust-card small {
            font-size: 14px;
            white-space: normal;
            overflow: visible;
            text-overflow: initial;
            line-height: 1.35;
        }

        @media (max-width: 900px) {
            .maishop-trust-cards {
                max-width: 520px;
                margin-top: -22px;
                grid-template-columns: 1fr;
                gap: 10px;
                padding-left: 14px;
                padding-right: 14px;
            }

            .maishop-trust-cards--2 {
                grid-template-columns: 1fr;
            }

            .maishop-trust-card {
                padding: 11px 14px;
                border-radius: 13px;
                box-shadow: 0 10px 26px rgba(16,32,43,.12);
            }

            .maishop-trust-card__icon {
                width: 32px;
                height: 32px;
                min-width: 32px;
                font-size: 16px;
            }

            .maishop-trust-card strong {
                font-size: 16px;
                line-height: 1.18;
            }

            .maishop-trust-card small {
                font-size: 14px;
                line-height: 1.25;
            }
        }

        @media (max-width: 480px) {
            .maishop-home {
                padding-bottom: 34px;
            }

            .maishop-trust-cards {
                width: 100%;
                max-width: 100%;
                margin-top: -18px;
                padding-left: 8px;
                padding-right: 8px;
                gap: 8px;
            }

            .maishop-trust-card {
                padding: 10px 12px;
            }
        }


        /* MaiShop v0.7: móvil compacto con tarjetas deslizables */
        @media (max-width: 700px) {
            .maishop-trust-cards {
                width: 100%;
                max-width: 100%;
                margin: 14px auto 0;
                padding: 0 0 8px;
                display: grid;
                grid-auto-flow: column;
                grid-auto-columns: minmax(235px, 84%);
                grid-template-columns: none !important;
                gap: 10px;
                overflow-x: auto;
                overflow-y: hidden;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
            }

            .maishop-trust-cards::-webkit-scrollbar {
                display: none;
            }

            .maishop-trust-card {
                scroll-snap-align: center;
                min-height: 76px;
                padding: 12px 14px;
                border-radius: 16px;
                box-shadow: 0 10px 24px rgba(16,32,43,.10);
            }

            .maishop-trust-card__icon {
                width: 34px;
                height: 34px;
                min-width: 34px;
                font-size: 17px;
            }

            .maishop-trust-card strong {
                font-size: 16px;
                line-height: 1.15;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .maishop-trust-card small {
                font-size: 13px;
                line-height: 1.25;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
        }

        @media (max-width: 420px) {
            .maishop-trust-cards {
                grid-auto-columns: minmax(230px, 88%);
                margin-top: 12px;
            }

            .maishop-trust-card {
                min-height: 72px;
                padding: 11px 13px;
            }

            .maishop-trust-card small {
                -webkit-line-clamp: 1;
            }
        }


        /* MaiShop v0.8: carrusel móvil automático de beneficios */
        @media (max-width: 700px) {
            .maishop-trust-cards[data-maishop-carousel="true"] {
                width: 100%;
                max-width: 100%;
                margin: 14px auto 0;
                padding: 0;
                display: flex;
                gap: 0;
                overflow: hidden;
                scroll-snap-type: none;
                position: relative;
            }

            .maishop-trust-cards[data-maishop-carousel="true"] .maishop-trust-card {
                width: 100%;
                min-width: 100%;
                flex: 0 0 100%;
                transform: translateX(0);
                transition: transform .45s ease;
                min-height: 82px;
                margin: 0;
            }

            .maishop-trust-cards[data-maishop-carousel="true"] .maishop-trust-card strong {
                white-space: normal;
                overflow: visible;
                text-overflow: initial;
            }

            .maishop-trust-cards[data-maishop-carousel="true"] .maishop-trust-card small {
                display: block;
                white-space: normal;
                overflow: visible;
                text-overflow: initial;
                -webkit-line-clamp: unset;
            }
        }

        @media (max-width: 420px) {
            .maishop-trust-cards[data-maishop-carousel="true"] {
                margin-top: 12px;
            }

            .maishop-trust-cards[data-maishop-carousel="true"] .maishop-trust-card {
                min-height: 78px;
            }
        }


        /* MaiShop v0.9: limpieza visual de tarjetas en carrusel móvil */
        @media (max-width: 700px) {
            .maishop-trust-cards[data-maishop-carousel="true"] {
                background: transparent;
                box-shadow: none;
                border-radius: 0;
                padding: 0;
            }

            .maishop-trust-cards[data-maishop-carousel="true"] .maishop-trust-card {
                box-shadow: none;
                border: 1px solid rgba(16,32,43,.07);
                background: #ffffff;
                overflow: hidden;
            }
        }


        /* MaiShop Builder v1.26.04: tres vistas móviles para las tarjetas de beneficios. */
        @media (max-width: 700px) {
            .maishop-trust-cards--mobile-static {
                width: 100%;
                max-width: 100%;
                margin: 14px auto 0;
                padding: 0;
                display: grid;
                grid-template-columns: minmax(0, 1fr) !important;
                grid-auto-flow: row;
                grid-auto-columns: auto;
                gap: 10px;
                overflow: visible;
                scroll-snap-type: none;
            }

            .maishop-trust-cards--mobile-static .maishop-trust-card {
                width: 100%;
                min-width: 0;
                min-height: 82px;
                transform: none !important;
                transition: none;
                scroll-snap-align: none;
            }

            .maishop-trust-cards--mobile-smooth_carousel {
                width: 100%;
                max-width: 100%;
                min-height: 106px;
                margin: 14px auto 0;
                padding: 8px;
                display: grid;
                grid-template-columns: minmax(0, 1fr) !important;
                grid-auto-flow: row;
                grid-auto-columns: auto;
                gap: 0;
                overflow: hidden;
                position: relative;
                border: 1px solid rgba(16,32,43,.07);
                border-radius: 22px;
                background: rgba(255,255,255,.74);
                box-shadow: 0 18px 44px rgba(16,32,43,.08);
                backdrop-filter: blur(14px);
                scroll-snap-type: none;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card {
                grid-area: 1 / 1;
                width: 100%;
                min-width: 100%;
                min-height: 90px;
                margin: 0;
                padding: 16px;
                border-radius: 16px;
                background: linear-gradient(180deg, #ffffff, #fbfdfd);
                box-shadow: none;
                opacity: 0;
                transform: translateX(18px);
                pointer-events: none;
                will-change: opacity, transform;
                scroll-snap-align: none;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card strong,
            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card small {
                white-space: normal;
                overflow: visible;
                text-overflow: initial;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card small {
                display: block;
                -webkit-line-clamp: unset;
            }

            .maishop-trust-cards--mobile-smooth_carousel.maishop-trust-cards--2 .maishop-trust-card {
                animation: maishopBenefitsSmoothCarouselTwo 8s infinite ease-in-out;
            }

            .maishop-trust-cards--mobile-smooth_carousel.maishop-trust-cards--3 .maishop-trust-card {
                animation: maishopBenefitsSmoothCarouselThree 12s infinite ease-in-out;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card:nth-child(1) {
                animation-delay: 0s;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card:nth-child(2) {
                animation-delay: 4s;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card:nth-child(3) {
                animation-delay: 8s;
            }

            .maishop-trust-cards--mobile-smooth_carousel.maishop-trust-cards--1 .maishop-trust-card {
                opacity: 1;
                transform: translateX(0);
                pointer-events: auto;
            }
        }

        @keyframes maishopBenefitsSmoothCarouselTwo {
            0% {
                opacity: 0;
                transform: translateX(18px);
                pointer-events: none;
            }

            12% {
                opacity: 1;
                transform: translateX(0);
                pointer-events: auto;
            }

            42% {
                opacity: 1;
                transform: translateX(0);
                pointer-events: auto;
            }

            50% {
                opacity: 0;
                transform: translateX(-18px);
                pointer-events: none;
            }

            100% {
                opacity: 0;
                transform: translateX(-18px);
                pointer-events: none;
            }
        }

        @keyframes maishopBenefitsSmoothCarouselThree {
            0% {
                opacity: 0;
                transform: translateX(18px);
                pointer-events: none;
            }

            8% {
                opacity: 1;
                transform: translateX(0);
                pointer-events: auto;
            }

            28% {
                opacity: 1;
                transform: translateX(0);
                pointer-events: auto;
            }

            36% {
                opacity: 0;
                transform: translateX(-18px);
                pointer-events: none;
            }

            100% {
                opacity: 0;
                transform: translateX(-18px);
                pointer-events: none;
            }
        }

        @media (max-width: 700px) and (prefers-reduced-motion: reduce) {
            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card {
                animation: none !important;
                opacity: 0 !important;
                transform: none !important;
                pointer-events: none !important;
            }

            .maishop-trust-cards--mobile-smooth_carousel .maishop-trust-card:nth-child(1) {
                opacity: 1 !important;
                pointer-events: auto !important;
            }
        }

        /* MaiShop v1.1: categorías destacadas */
        .maishop-categories {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 74px 24px 40px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-categories__heading {
            text-align: center;
            max-width: 720px;
            margin: 0 auto 34px;
        }

        .maishop-categories__heading h2 {
            font-family: Georgia, "Times New Roman", serif;
            color: var(--ms-section-title-color, #10202b);
            font-size: clamp(34px, 4vw, 54px);
            line-height: 1.08;
            margin: 0 0 12px;
            letter-spacing: -0.03em;
        }

        .maishop-categories__heading p {
            color: var(--ms-section-subtitle-color, #5f6977);
            font-size: 18px;
            line-height: 1.6;
            margin: 0;
        }

        .maishop-categories__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 18px;
        }

        .maishop-categories__grid--1 {
            grid-template-columns: minmax(0, 420px);
            justify-content: center;
        }

        .maishop-categories__grid--2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 780px;
            margin: 0 auto;
        }

        .maishop-categories__grid--3 {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .maishop-category-card {
            position: relative;
            min-height: 220px;
            border-radius: 24px;
            overflow: hidden;
            background:
                radial-gradient(circle at top right, rgba(15, 159, 154, .14), transparent 42%),
                linear-gradient(135deg, #ffffff, #EAFBFD);
            box-shadow: 0 18px 44px rgba(16,32,43,.09);
            text-decoration: none !important;
            display: flex;
            align-items: flex-end;
            isolation: isolate;
            transition: transform .22s ease, box-shadow .22s ease;
        }

        .maishop-category-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 60px rgba(16,32,43,.13);
        }

        .maishop-category-card img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: -2;
        }

        .maishop-category-card__overlay {
            position: absolute;
            inset: 0;
            z-index: -1;
            background: var(--maishop-category-overlay-bg);
        }

        .maishop-category-card__content {
            width: 100%;
            padding: 20px;
            color: var(--maishop-category-text-desktop);
            text-shadow: none;
        }

        .maishop-category-card__content strong {
            display: block;
            font-size: 22px;
            line-height: 1.15;
            margin-bottom: 6px;
        }

        .maishop-category-card__content small {
            display: inline-flex;
            color: currentColor;
            opacity: .9;
            font-size: 14px;
            font-weight: 700;
        }

        @media (max-width: 767px) {
            .maishop-category-card__content {
                color: var(--maishop-category-text-mobile);
            }
        }

        @media (max-width: 900px) {
            .maishop-categories {
                padding: 58px 20px 32px;
            }

            .maishop-categories__grid,
            .maishop-categories__grid--3,
            .maishop-categories__grid--4 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .maishop-category-card {
                min-height: 190px;
                border-radius: 20px;
            }
        }

        @media (max-width: 520px) {
            .maishop-categories {
                padding: 46px 16px 26px;
            }

            .maishop-categories__heading {
                margin-bottom: 24px;
            }

            .maishop-categories__heading h2 {
                font-size: clamp(30px, 9vw, 42px);
            }

            .maishop-categories__heading p {
                font-size: 16px;
            }

            .maishop-categories__grid,
            .maishop-categories__grid--1,
            .maishop-categories__grid--2,
            .maishop-categories__grid--3,
            .maishop-categories__grid--4 {
                grid-template-columns: 1fr;
                max-width: 100%;
            }

            .maishop-category-card {
                min-height: 156px;
                border-radius: 18px;
            }

            .maishop-category-card__content {
                padding: 18px;
            }

            .maishop-category-card__content strong {
                font-size: 21px;
            }
        }


        /* MaiShop v1.2: opciones de vista móvil para categorías */
        @media (max-width: 520px) {
            .maishop-categories__grid--mobile-vertical,
            .maishop-categories__grid--mobile-vertical.maishop-categories__grid--1,
            .maishop-categories__grid--mobile-vertical.maishop-categories__grid--2,
            .maishop-categories__grid--mobile-vertical.maishop-categories__grid--3,
            .maishop-categories__grid--mobile-vertical.maishop-categories__grid--4 {
                display: grid;
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .maishop-categories__grid--mobile-two_columns,
            .maishop-categories__grid--mobile-two_columns.maishop-categories__grid--1,
            .maishop-categories__grid--mobile-two_columns.maishop-categories__grid--2,
            .maishop-categories__grid--mobile-two_columns.maishop-categories__grid--3,
            .maishop-categories__grid--mobile-two_columns.maishop-categories__grid--4 {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 12px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card {
                min-height: 138px;
                border-radius: 16px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card__content {
                padding: 14px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card__content strong {
                font-size: 17px;
                line-height: 1.12;
                overflow-wrap: anywhere;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card__content small {
                font-size: 12px;
            }

            .maishop-categories__grid--mobile-carousel,
            .maishop-categories__grid--mobile-carousel.maishop-categories__grid--1,
            .maishop-categories__grid--mobile-carousel.maishop-categories__grid--2,
            .maishop-categories__grid--mobile-carousel.maishop-categories__grid--3,
            .maishop-categories__grid--mobile-carousel.maishop-categories__grid--4 {
                display: grid;
                grid-auto-flow: column;
                grid-auto-columns: minmax(230px, 82%);
                grid-template-columns: none;
                gap: 14px;
                overflow-x: auto;
                overflow-y: hidden;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                padding-bottom: 8px;
            }

            .maishop-categories__grid--mobile-carousel::-webkit-scrollbar {
                display: none;
            }

            .maishop-categories__grid--mobile-carousel .maishop-category-card {
                scroll-snap-align: center;
                min-height: 168px;
            }

            /* MaiShop Builder v1.26.48: carrusel compacto de categorías, aislado de productos. */
            .maishop-categories__grid--mobile-app_carousel,
            .maishop-categories__grid--mobile-app_carousel.maishop-categories__grid--1,
            .maishop-categories__grid--mobile-app_carousel.maishop-categories__grid--2,
            .maishop-categories__grid--mobile-app_carousel.maishop-categories__grid--3,
            .maishop-categories__grid--mobile-app_carousel.maishop-categories__grid--4 {
                display: grid;
                grid-auto-flow: column;
                grid-auto-columns: clamp(118px, 32vw, 130px);
                grid-template-columns: none;
                align-items: start;
                gap: 12px;
                width: 100%;
                max-width: 100%;
                margin: 0;
                overflow-x: auto;
                overflow-y: hidden;
                scroll-snap-type: x proximity;
                scroll-padding-inline: 0;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                padding: 2px 0 8px;
            }

            .maishop-categories__grid--mobile-app_carousel::-webkit-scrollbar {
                display: none;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card {
                display: grid;
                grid-template-columns: minmax(0, 1fr);
                grid-template-rows: auto auto;
                align-items: start;
                min-width: 0;
                min-height: 0;
                border-radius: 0;
                overflow: visible;
                background: transparent;
                box-shadow: none;
                scroll-snap-align: start;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card:hover {
                transform: none;
                box-shadow: none;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card > img,
            .maishop-categories__grid--mobile-app_carousel .maishop-category-card > .maishop-category-card__overlay {
                position: relative;
                inset: auto;
                grid-column: 1;
                grid-row: 1;
                display: block;
                width: 100%;
                height: auto;
                aspect-ratio: 1;
                border-radius: 20px;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card > img {
                z-index: 0;
                object-fit: cover;
                box-shadow: 0 10px 24px rgba(16, 32, 43, .10);
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card > .maishop-category-card__overlay {
                z-index: 1;
                pointer-events: none;
                background:
                    radial-gradient(circle at top right, rgba(15, 159, 154, .18), transparent 44%),
                    linear-gradient(135deg, #ffffff, #EAFBFD);
                box-shadow: 0 10px 24px rgba(16, 32, 43, .10);
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card:has(> img) > .maishop-category-card__overlay {
                background: none;
                box-shadow: none;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card__content,
            .maishop-categories__grid--mobile-app_carousel .maishop-category-card:not(:has(img)) .maishop-category-card__content {
                position: relative;
                z-index: 2;
                grid-column: 1;
                grid-row: 2;
                width: 100%;
                margin: 0;
                padding: 9px 2px 0;
                color: var(--maishop-category-text-mobile);
                text-align: center;
                text-shadow: none;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card__content strong {
                display: -webkit-box;
                min-height: 36px;
                margin: 0;
                overflow: hidden;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                font-size: 15px;
                font-weight: 750;
                line-height: 1.2;
                overflow-wrap: anywhere;
            }

            .maishop-categories__grid--mobile-app_carousel .maishop-category-card__content small {
                display: none;
            }
        }

        @media (max-width: 380px) {
            .maishop-categories__grid--mobile-two_columns {
                gap: 10px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card {
                min-height: 126px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card__content {
                padding: 12px;
            }

            .maishop-categories__grid--mobile-two_columns .maishop-category-card__content strong {
                font-size: 15px;
            }

            .maishop-categories__grid--mobile-carousel {
                grid-auto-columns: minmax(220px, 86%);
            }
        }


        /* MaiShop v1.3: botón de categorías y página todas las categorías */
        .maishop-categories__button-wrap {
            display: flex;
            justify-content: center;
            margin-top: 30px;
        }

        .maishop-categories__button {
            min-width: 210px;
        }

        .maishop-all-categories {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 76px 24px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-all-categories__heading {
            text-align: center;
            max-width: 760px;
            margin: 0 auto 40px;
        }

        .maishop-all-categories__heading h1 {
            font-family: Georgia, "Times New Roman", serif;
            color: var(--ms-section-title-color, #10202b);
            font-size: clamp(42px, 5vw, 68px);
            line-height: 1.04;
            letter-spacing: -0.035em;
            margin: 0 0 14px;
        }

        .maishop-all-categories__heading p {
            color: var(--ms-section-subtitle-color, #5f6977);
            font-size: 18px;
            line-height: 1.6;
            margin: 0;
        }

        .maishop-all-categories__grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 22px;
        }

        .maishop-all-category-card {
            overflow: hidden;
            border-radius: 24px;
            background: #ffffff;
            border: 1px solid rgba(16,32,43,.08);
            box-shadow: 0 16px 42px rgba(16,32,43,.08);
            text-decoration: none !important;
            color: inherit;
            transition: transform .22s ease, box-shadow .22s ease;
        }

        .maishop-all-category-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 60px rgba(16,32,43,.12);
        }

        .maishop-all-category-card__image {
            display: block;
            min-height: 190px;
            background:
                radial-gradient(circle at top right, rgba(15, 159, 154, .14), transparent 42%),
                linear-gradient(135deg, #ffffff, #EAFBFD);
        }

        .maishop-all-category-card__image img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            display: block;
        }

        .maishop-all-category-card__body {
            display: block;
            padding: 22px;
        }

        .maishop-all-category-card__body strong {
            display: block;
            color: #10202b;
            font-size: 23px;
            line-height: 1.15;
            margin-bottom: 8px;
        }

        .maishop-all-category-card__body small {
            display: block;
            color: #5f6977;
            font-size: 15px;
            line-height: 1.45;
            margin-bottom: 16px;
        }

        .maishop-all-category-card__body em {
            display: inline-flex;
            font-style: normal;
            color: var(--maishop-primary, #0F9F9A);
            font-weight: 800;
            font-size: 14px;
        }

        @media (max-width: 900px) {
            .maishop-all-categories {
                padding: 58px 20px;
            }

            .maishop-all-categories__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 560px) {
            .maishop-categories__button-wrap {
                margin-top: 22px;
            }

            .maishop-categories__button {
                width: 100%;
            }

            .maishop-all-categories {
                padding: 46px 16px;
            }

            .maishop-all-categories__heading {
                margin-bottom: 28px;
            }

            .maishop-all-categories__heading h1 {
                font-size: clamp(34px, 10vw, 48px);
            }

            .maishop-all-categories__heading p {
                font-size: 16px;
            }

            .maishop-all-categories__grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .maishop-all-category-card__image {
                min-height: 150px;
            }

            .maishop-all-category-card__image img {
                height: 180px;
            }

            .maishop-all-category-card__body {
                padding: 19px;
            }
        }


        /* MaiShop v1.4: página de categorías con estética igual a la home */
        .maishop-all-categories__grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 20px;
        }

        .maishop-all-category-card.maishop-category-card {
            min-height: 245px;
            color: inherit;
        }

        .maishop-all-category-card.maishop-category-card .maishop-category-card__content {
            padding: 24px;
        }

        .maishop-all-category-card.maishop-category-card .maishop-category-card__content strong {
            color: inherit;
            font-size: 27px;
            line-height: 1.12;
            margin-bottom: 8px;
        }

        .maishop-all-category-card.maishop-category-card .maishop-category-card__content small {
            display: block;
            color: inherit;
            opacity: .95;
            font-size: 15px;
            font-weight: 800;
            line-height: 1.35;
        }

        @media (max-width: 900px) {
            .maishop-all-categories__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .maishop-all-category-card.maishop-category-card {
                min-height: 210px;
            }
        }

        @media (max-width: 560px) {
            .maishop-all-categories__grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .maishop-all-category-card.maishop-category-card {
                min-height: 170px;
                border-radius: 22px;
            }

            .maishop-all-category-card.maishop-category-card .maishop-category-card__content {
                padding: 20px;
            }

            .maishop-all-category-card.maishop-category-card .maishop-category-card__content strong {
                font-size: 25px;
            }
        }


        /* MaiShop v1.6.1: productos de la home */
        .maishop-products {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 56px 24px 76px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-products__heading {
            text-align: center;
            max-width: 720px;
            margin: 0 auto 34px;
        }

        .maishop-products__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 22px;
        }

        .maishop-product-card {
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border-radius: 24px;
            background: #ffffff;
            border: 1px solid rgba(16,32,43,.08);
            box-shadow: 0 16px 42px rgba(16,32,43,.07);
            text-decoration: none !important;
            color: inherit;
            transition: transform .22s ease, box-shadow .22s ease;
            /* v1.35.1: ver el comentario junto a ".maishop-site-header__action"
               más abajo -mismo motivo, aplicado ahora a la tarjeta de producto,
               que también es un enlace <a>. */
            -webkit-tap-highlight-color: transparent;
            /* v1.35.3 (revierte parte de v1.35.2): "-webkit-touch-callout:
               none" quitaba también la opción real de "Abrir en una pestaña
               nueva" del menú de iOS, que sí se quería conservar -se retira-.
               Se deja solo la selección de texto desactivada: el recuadro de
               color que aparecía sobre el título recortado ("...") era el
               inicio de una selección accidental durante la pulsación larga,
               no el menú en sí, así que con esto debería bastar para que no
               se quede pegado ningún resaltado, sin perder el menú nativo. */
            -webkit-user-select: none;
            user-select: none;
        }

        .maishop-product-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 24px 62px rgba(16,32,43,.12);
        }

        /* v1.35.1: la tarjeta de producto es un enlace <a> completo -sin esto,
           el tema (Astra) puede pintar su color de ":visited"/":focus"/":active"
           por encima del "color: inherit" de arriba (el verde que se quedaba
           pegado al soltar tras mantener presionado en móvil), igual que ya
           pasaba con el buscador y el carrito del header (v1.30.2/1.30.3). Se
           neutraliza el color en todos los estados y se deja solo un contorno
           de foco por teclado, sin afectar al toque táctil. */
        .maishop-product-card:focus,
        .maishop-product-card:active,
        .maishop-product-card:visited {
            color: inherit !important;
            background: #ffffff !important;
        }

        .maishop-product-card:focus-visible {
            outline: 2px solid currentColor !important;
            outline-offset: 2px;
        }

        .maishop-product-card__image {
            position: relative;
            display: block;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            background:
                radial-gradient(circle at top right, rgba(15, 159, 154, .12), transparent 42%),
                linear-gradient(135deg, #ffffff, #EAFBFD);
        }

        .maishop-product-card__image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .32s ease;
        }

        .maishop-product-card:hover .maishop-product-card__image img {
            transform: scale(1.04);
        }

        .maishop-product-card__badge {
            position: absolute;
            top: 14px;
            left: 14px;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 7px 11px;
            border-radius: 999px;
            background: rgba(255,255,255,.92);
            color: #10202b;
            font-size: 12px;
            font-weight: 900;
            box-shadow: 0 10px 24px rgba(16,32,43,.12);
        }

        .maishop-product-card__body {
            display: flex;
            flex-direction: column;
            gap: 9px;
            padding: 18px;
            min-height: 142px;
        }

        .maishop-product-card__body strong {
            color: #10202b;
            font-size: 17px;
            line-height: 1.25;
            letter-spacing: -.01em;
        }

        .maishop-product-card__price {
            color: #5f6977;
            font-size: 15px;
            font-weight: 800;
        }

        .maishop-product-card__price del {
            opacity: .55;
            margin-right: 6px;
        }

        .maishop-product-card__price ins {
            text-decoration: none;
            color: inherit;
        }

        .maishop-product-card__body em {
            margin-top: auto;
            display: inline-flex;
            color: #0F9F9A;
            font-style: normal;
            font-size: 14px;
            font-weight: 900;
        }

        @media (max-width: 980px) {
            .maishop-products__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        /* MaiShop Builder v1.26.49: distribución móvil estable, sin carrusel de productos. */
        @media (max-width: 700px) {
            .maishop-products__grid--mobile-two_columns {
                grid-auto-flow: row;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                grid-auto-columns: auto;
                overflow: visible;
            }

            .maishop-products__grid--mobile-one_column {
                grid-auto-flow: row;
                grid-template-columns: minmax(0, 1fr);
                grid-auto-columns: auto;
                overflow: visible;
            }

            .maishop-products__grid--mobile-two_columns > .maishop-product-card,
            .maishop-products__grid--mobile-one_column > .maishop-product-card {
                width: 100%;
                min-width: 0;
            }
        }

        @media (max-width: 560px) {
            .maishop-products {
                padding: 42px 16px 58px;
            }

            .maishop-products__heading {
                margin-bottom: 24px;
            }

            .maishop-products__grid {
                gap: 14px;
            }

            .maishop-product-card {
                border-radius: 20px;
            }

            .maishop-product-card__body {
                padding: 15px;
                min-height: 132px;
            }

            .maishop-product-card__body strong {
                font-size: 15px;
            }

            .maishop-product-card__price,
            .maishop-product-card__body em {
                font-size: 13px;
            }
        }

        @media (max-width: 380px) {
            .maishop-products__grid--mobile-two_columns {
                gap: 10px;
            }

            .maishop-products__grid--mobile-two_columns .maishop-product-card__body {
                padding: 12px;
            }
        }


        /* MaiShop Builder v1.25.84: Catálogo visual global en productos destacados de la home */
        .maishop-products--cards-catalog .maishop-products__grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 46px 22px;
        }

        .maishop-products--cards-catalog .maishop-product-card {
            border: 0;
            border-radius: 0;
            box-shadow: none;
            background: transparent;
            overflow: visible;
        }

        .maishop-products--cards-catalog .maishop-product-card:hover {
            transform: none;
            box-shadow: none;
        }

        .maishop-products--cards-catalog .maishop-product-card__image {
            border-radius: 0;
            aspect-ratio: 1 / 1;
            background: #f6f5f2;
        }

        .maishop-products--cards-catalog .maishop-product-card__image img {
            border-radius: 0;
        }

        .maishop-products--cards-catalog .maishop-product-card__body {
            padding: 16px 0 0;
            min-height: 0;
            gap: 9px;
        }

        .maishop-products--cards-catalog .maishop-product-card__body small {
            margin-bottom: 0;
            color: #98a2ad;
            font-size: 14px;
            font-weight: 500;
        }

        .maishop-products--cards-catalog .maishop-product-card__body strong {
            font-size: 18px;
            line-height: 1.24;
            letter-spacing: -0.035em;
        }

        .maishop-products--cards-catalog .maishop-product-card__price,
        .maishop-products--cards-catalog .maishop-product-card__body em {
            font-size: 16px;
            line-height: 1.3;
        }

        .maishop-products--cards-catalog .maishop-product-card__body em {
            width: 100%;
            min-height: 48px;
            margin-top: 14px;
            border-radius: 0;
            background: var(--maishop-accent, var(--maishop-shop-search-color, #0F9F9A));
            color: #ffffff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 850;
            text-decoration: none;
        }

        @media (max-width: 980px) {
            .maishop-products--cards-catalog .maishop-products__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 44px 16px;
            }
        }

        @media (max-width: 560px) {
            .maishop-products--cards-catalog {
                width: 100vw;
                max-width: 100vw;
                margin-left: calc(50% - 50vw);
                margin-right: calc(50% - 50vw);
                padding-left: 0;
                padding-right: 0;
            }

            .maishop-products--cards-catalog .maishop-products__heading,
            .maishop-products--cards-catalog .maishop-products__button-wrap {
                padding-left: 16px;
                padding-right: 16px;
            }

            .maishop-products--cards-catalog .maishop-products__grid {
                gap: 38px 8px;
                width: 100%;
                padding-left: 0;
                padding-right: 0;
            }

            .maishop-products--cards-catalog .maishop-product-card__body {
                padding: 14px 10px 0;
                gap: 8px;
            }

            .maishop-products--cards-catalog .maishop-product-card__body small {
                font-size: 13px;
            }

            .maishop-products--cards-catalog .maishop-product-card__body strong {
                font-size: 16px;
                line-height: 1.22;
            }

            .maishop-products--cards-catalog .maishop-product-card__price,
            .maishop-products--cards-catalog .maishop-product-card__body em {
                font-size: 15px;
                line-height: 1.28;
            }

            .maishop-products--cards-catalog .maishop-product-card__body em {
                min-height: 46px;
            }
        }

        @media (max-width: 380px) {
            .maishop-products--cards-catalog .maishop-products__heading,
            .maishop-products--cards-catalog .maishop-products__button-wrap {
                padding-left: 14px;
                padding-right: 14px;
            }

            .maishop-products--cards-catalog .maishop-products__grid {
                gap: 36px 6px;
            }

            .maishop-products--cards-catalog .maishop-product-card__body {
                padding-left: 9px;
                padding-right: 9px;
            }

            .maishop-products--cards-catalog .maishop-product-card__body strong {
                font-size: 15px;
            }

            .maishop-products--cards-catalog .maishop-product-card__price,
            .maishop-products--cards-catalog .maishop-product-card__body em {
                font-size: 14px;
            }
        }


        /* MaiShop Builder v1.26.28: Galería limpia fiel al buscador móvil. */
        body.maishop-visual-cards-soft .maishop-products--cards-gallery {
            --maishop-gallery-radius: 13px;
        }

        body.maishop-visual-cards-rounded .maishop-products--cards-gallery {
            --maishop-gallery-radius: 22px;
        }

        body.maishop-visual-cards-large .maishop-products--cards-gallery {
            --maishop-gallery-radius: 30px;
        }

        .maishop-products--cards-gallery .maishop-products__grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 40px 22px;
        }

        .maishop-products--cards-gallery .maishop-product-card {
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
            overflow: visible;
            transform: none;
        }

        .maishop-products--cards-gallery .maishop-product-card:hover {
            transform: none;
            box-shadow: none;
        }

        .maishop-products--cards-gallery .maishop-product-card__image {
            aspect-ratio: 4 / 5;
            border-radius: var(--maishop-gallery-radius, 20px);
            background: #f6f5f2;
        }

        .maishop-products--cards-gallery .maishop-product-card__image img {
            border-radius: inherit;
        }

        .maishop-products--cards-gallery .maishop-product-card__badge {
            display: none !important;
        }

        .maishop-products--cards-gallery .maishop-product-card__body {
            min-height: 0;
            gap: 8px;
            padding: 15px 2px 0;
        }

        .maishop-products--cards-gallery .maishop-product-card__body strong {
            display: -webkit-box;
            min-height: 42px;
            overflow: hidden;
            color: #10202b;
            font-size: 17px;
            line-height: 1.24;
            font-weight: 780;
            letter-spacing: -0.025em;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .maishop-products--cards-gallery .maishop-product-card__price {
            color: #66727f;
            font-size: 16px;
            line-height: 1.3;
            font-weight: 760;
        }

        .maishop-products--cards-gallery .maishop-product-card__body em {
            display: none !important;
        }

        @media (max-width: 980px) {
            .maishop-products--cards-gallery .maishop-products__grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 34px 18px;
            }
        }

        @media (max-width: 700px) {
            .maishop-products--cards-gallery {
                width: 100vw;
                max-width: 100vw;
                margin-left: calc(50% - 50vw);
                margin-right: calc(50% - 50vw);
                padding-left: 20px;
                padding-right: 20px;
                box-sizing: border-box;
            }

            .maishop-products--cards-gallery .maishop-products__grid {
                display: grid;
                gap: 36px 12px;
                width: 100%;
                min-width: 0;
            }

            .maishop-products--cards-gallery .maishop-products__grid--mobile-one_column {
                grid-auto-flow: row;
                grid-template-columns: minmax(0, 1fr);
                grid-auto-columns: auto;
                overflow: visible;
            }

            .maishop-products--cards-gallery .maishop-products__grid--mobile-two_columns {
                grid-auto-flow: row;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                grid-auto-columns: auto;
                overflow: visible;
            }

            .maishop-products--cards-gallery .maishop-product-card__body {
                padding: 11px 0 0;
                gap: 5px;
            }

            .maishop-products--cards-gallery .maishop-product-card__body strong {
                display: block;
                min-height: 0;
                overflow: hidden;
                font-size: 15.5px;
                line-height: 1.28;
                text-overflow: ellipsis;
                white-space: nowrap;
                -webkit-line-clamp: unset;
            }

            .maishop-products--cards-gallery .maishop-product-card__price {
                font-size: 15px;
                line-height: 1.35;
            }
        }


        /* MaiShop Builder v1.25.84: Diseño del tema real en productos destacados de la home, global */
        .maishop-products__woocommerce {
            width: 100%;
        }

        .maishop-products__woocommerce ul.products {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 34px 22px;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .maishop-products__woocommerce ul.products::before,
        .maishop-products__woocommerce ul.products::after {
            display: none !important;
            content: none !important;
        }

        .maishop-products__woocommerce ul.products li.product {
            float: none !important;
            width: auto !important;
            margin: 0 !important;
            clear: none !important;
        }

        @media (max-width: 980px) {
            .maishop-products--cards-theme .maishop-products__woocommerce ul.products {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 32px 16px;
            }
        }

        @media (max-width: 700px) {
            .maishop-products--cards-theme .maishop-products__woocommerce ul.maishop-products__theme-grid--mobile-two_columns {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 28px 12px;
            }

            .maishop-products--cards-theme .maishop-products__woocommerce ul.maishop-products__theme-grid--mobile-one_column {
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 28px 12px;
            }
        }


        /* MaiShop v1.6.2: botón final de productos */
        .maishop-products__button-wrap {
            display: flex;
            justify-content: center;
            margin-top: 30px;
        }

        .maishop-products__button {
            min-width: 220px;
        }

        @media (max-width: 560px) {
            .maishop-products__button-wrap {
                margin-top: 22px;
            }

            .maishop-products__button {
                width: 100%;
            }
        }


        /* MaiShop v1.7: banner promocional */
        .maishop-promo {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding: 18px 24px 86px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-promo--width-full {
            max-width: 100vw;
            width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding-left: 0;
            padding-right: 0;
        }

        .maishop-promo--width-full .maishop-promo__inner {
            border-radius: 0;
            border-left: 0;
            border-right: 0;
            padding-left: max(24px, calc((100vw - 1180px) / 2 + 56px));
            padding-right: max(24px, calc((100vw - 1180px) / 2 + 56px));
        }

        .maishop-promo__inner {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 1fr;
            align-items: center;
            justify-items: center;
            gap: 0;
            min-height: 430px;
            border-radius: 34px;
            padding: 64px 56px;
            background: var(--ms-promo-bg, #F2FCFD);
            background-size: cover;
            background-position: center;
            border: 1px solid rgba(16,32,43,.08);
            box-shadow: 0 22px 70px rgba(16,32,43,.10);
            text-align: center;
        }

        .maishop-promo--has-bg-image .maishop-promo__inner {
            background-image:
                linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.42)),
                var(--ms-promo-bg-image);
            background-size: cover;
            background-position: center;
        }

        .maishop-promo--text_left .maishop-promo__inner {
            justify-items: flex-start;
            text-align: left;
            padding-left: 70px;
            padding-right: 70px;
        }

        .maishop-promo--text_left.maishop-promo--has-bg-image .maishop-promo__inner {
            background-image:
                linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.58) 48%, rgba(255,255,255,.14) 100%),
                var(--ms-promo-bg-image);
        }

        .maishop-promo__content {
            position: relative;
            z-index: 2;
            max-width: 680px;
        }

        .maishop-promo--text_center .maishop-promo__content {
            margin-left: auto;
            margin-right: auto;
        }

        .maishop-promo__badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 16px;
            padding: 8px 14px;
            border-radius: 999px;
            background: rgba(255,255,255,.86);
            color: var(--ms-promo-badge-text, #0F9F9A);
            font-size: 13px;
            font-weight: 900;
            box-shadow: 0 12px 28px rgba(16,32,43,.08);
        }

        .maishop-promo__content h2 {
            margin: 0 0 16px;
            color: #10202b;
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(34px, 4vw, 58px);
            line-height: 1.04;
            letter-spacing: -0.035em;
        }

        .maishop-promo__content p {
            margin: 0 0 24px;
            color: #5f6977;
            font-size: 17px;
            line-height: 1.65;
        }

        .maishop-promo__button {
            min-width: 168px;
        }

        @media (max-width: 900px) {
            .maishop-promo__inner {
                min-height: 380px;
                padding: 44px 34px;
                text-align: center;
                justify-items: center;
            }

            .maishop-promo--text_left .maishop-promo__inner {
                text-align: left;
                justify-items: flex-start;
                padding-left: 38px;
                padding-right: 38px;
            }

            .maishop-promo--text_left.maishop-promo--has-bg-image .maishop-promo__inner {
                background-image:
                    linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.58) 56%, rgba(255,255,255,.18) 100%),
                    var(--ms-promo-bg-image);
            }
        }

        @media (max-width: 560px) {
            .maishop-promo {
                padding: 12px 16px 62px;
            }

            .maishop-promo--width-full {
                padding-left: 0;
                padding-right: 0;
            }

            .maishop-promo__inner {
                min-height: 330px;
                padding: 36px 24px;
                border-radius: 26px;
            }

            .maishop-promo--width-full .maishop-promo__inner {
                border-radius: 0;
                padding-left: 24px;
                padding-right: 24px;
            }

            .maishop-promo--text_left .maishop-promo__inner {
                text-align: left;
                justify-items: flex-start;
                padding: 34px 24px;
            }

            .maishop-promo__content h2 {
                font-size: clamp(30px, 11vw, 44px);
            }

            .maishop-promo__content p {
                font-size: 15px;
            }

            .maishop-promo__button {
                width: 100%;
                justify-content: center;
            }
        }


        /* MaiShop v1.8: FAQ editable */
        .maishop-faq {
            width: 100%;
            max-width: 980px;
            margin: 0 auto;
            padding: 18px 24px 86px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-faq__heading {
            text-align: center;
            max-width: 720px;
            margin: 0 auto 34px;
        }

        .maishop-faq__list {
            display: grid;
            gap: 14px;
        }

        .maishop-faq__item {
            overflow: hidden;
            border-radius: 22px;
            background: #ffffff;
            border: 1px solid rgba(16,32,43,.08);
            box-shadow: 0 14px 38px rgba(16,32,43,.06);
        }

        .maishop-faq__item summary {
            cursor: pointer;
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 22px 24px;
            color: #10202b;
            font-size: 18px;
            font-weight: 900;
            line-height: 1.25;
            -webkit-user-select: none;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
        }

        .maishop-faq__item summary:focus,
        .maishop-faq__item summary:focus-visible {
            outline: none;
        }

        .maishop-faq__item summary::-webkit-details-marker {
            display: none;
        }

        .maishop-faq__item summary em {
            flex: 0 0 auto;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(0,167,167,.10);
            color: var(--maishop-primary, #0F9F9A);
            font-style: normal;
            font-size: 22px;
            font-weight: 900;
            transition: transform .2s ease;
            -webkit-user-select: none;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
            outline: none;
        }

        .maishop-faq__item summary em::selection {
            background: transparent;
        }

        .maishop-faq__item[open] summary em {
            transform: rotate(45deg);
        }

        .maishop-faq__answer {
            padding: 0 24px 24px;
            color: #5f6977;
            font-size: 16px;
            line-height: 1.65;
        }

        .maishop-faq__answer p {
            margin: 0;
        }

        .maishop-faq__button-wrap {
            margin-top: 30px;
            text-align: center;
        }

        .maishop-faq__button {
            min-width: 280px;
        }

        .maishop-faq-page {
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            background: #ffffff;
            padding: 70px 24px 96px;
        }

        .maishop-faq-page__hero {
            width: 100%;
            max-width: 720px;
            margin: 0 auto 34px;
            text-align: center;
        }

        .maishop-faq-page__hero span {
            display: inline-flex;
            padding: 10px 18px;
            border-radius: 999px;
            background: rgba(15,159,154,.10);
            color: var(--maishop-primary, #0F9F9A);
            font-size: 15px;
            font-weight: 800;
            margin-bottom: 16px;
        }

        .maishop-faq-page__hero h1 {
            margin: 0;
            color: var(--ms-faq-page-title, #10202b);
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(32px, 4vw, 52px);
            line-height: 1.08;
            letter-spacing: normal;
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        .maishop-faq-page__hero p {
            max-width: 720px;
            margin: 12px auto 0;
            color: var(--ms-faq-page-subtitle, #5f6977);
            font-size: 18px;
            line-height: 1.6;
        }

        .maishop-faq--page {
            padding-top: 0;
            padding-bottom: 0;
        }

        @media (max-width: 560px) {
            .maishop-faq {
                padding: 12px 16px 62px;
            }

            .maishop-faq__heading {
                margin-bottom: 24px;
            }

            .maishop-faq__item {
                border-radius: 18px;
            }

            .maishop-faq__item summary {
                padding: 19px 18px;
                font-size: 16px;
            }

            .maishop-faq__item summary em {
                width: 30px;
                height: 30px;
                font-size: 20px;
            }

            .maishop-faq__answer {
                padding: 0 18px 20px;
                font-size: 15px;
            }

            .maishop-faq__button-wrap {
                margin-top: 24px;
            }

            .maishop-faq-page {
                padding: 46px 16px 72px;
            }

            .maishop-faq-page__hero {
                margin-bottom: 24px;
            }

            .maishop-faq-page__hero span {
                padding: 9px 16px;
                font-size: 14px;
                margin-bottom: 14px;
            }

            .maishop-faq-page__hero h1 {
                font-size: clamp(30px, 9vw, 42px);
            }

            .maishop-faq-page__hero p {
                font-size: 16px;
            }
        }


        /* MaiShop v1.9: Bloque final de contacto */
        .maishop-final-cta {
            width: 100%;
            max-width: 980px;
            margin: 0 auto;
            padding: 0 24px 96px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-final-cta--width-full {
            max-width: 100vw;
            width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding-left: 0;
            padding-right: 0;
        }

        .maishop-final-cta--width-full .maishop-final-cta__inner {
            border-radius: 0;
            padding-left: max(24px, calc((100vw - 980px) / 2 + 40px));
            padding-right: max(24px, calc((100vw - 980px) / 2 + 40px));
        }

        .maishop-final-cta__inner {
            position: relative;
            overflow: hidden;
            text-align: center;
            border-radius: 34px;
            padding: 54px 40px;
            background:
                radial-gradient(circle at top left, rgba(0,167,167,.20), transparent 38%),
                linear-gradient(135deg, #10202b, #1f3443);
            color: #ffffff;
            box-shadow: 0 24px 75px rgba(16,32,43,.18);
        }

        .maishop-final-cta__badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 16px;
            padding: 8px 14px;
            border-radius: 999px;
            background: rgba(255,255,255,.12);
            color: #ffffff;
            font-size: 13px;
            font-weight: 900;
            border: 1px solid rgba(255,255,255,.16);
        }

        .maishop-final-cta h2 {
            max-width: 760px;
            margin: 0 auto 16px;
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(34px, 4.5vw, 60px);
            line-height: 1.04;
            letter-spacing: -0.035em;
            color: #ffffff;
        }

        .maishop-final-cta p {
            max-width: 650px;
            margin: 0 auto 26px;
            color: rgba(255,255,255,.82);
            font-size: 17px;
            line-height: 1.65;
        }

        .maishop-final-cta__button {
            background: #ffffff !important;
            color: #10202b !important;
            min-width: 170px;
        }

        .maishop-final-cta__button:hover {
            background: rgba(255,255,255,.92) !important;
        }

        @media (max-width: 560px) {
            .maishop-final-cta {
                padding: 0 16px 68px;
            }

            .maishop-final-cta--width-full {
                padding-left: 0;
                padding-right: 0;
            }

            .maishop-final-cta__inner {
                padding: 36px 24px;
                border-radius: 26px;
            }

            .maishop-final-cta--width-full .maishop-final-cta__inner {
                border-radius: 0;
                padding-left: 24px;
                padding-right: 24px;
            }

            .maishop-final-cta h2 {
                font-size: clamp(31px, 9vw, 43px);
            }

            .maishop-final-cta p {
                font-size: 15.5px;
            }

            .maishop-final-cta__button {
                width: 100%;
            }
        }


        /* MaiShop v1.10.4: colores configurables */
        .maishop-page .maishop-hero__title span,
        .maishop-page .maishop-hero h1 span,
        .maishop-page .maishop-hero__highlight,
        .maishop-page .maishop-highlight {
            color: var(--ms-hero-highlight) !important;
        }

        .maishop-page .maishop-button--primary,
        .maishop-page .maishop-hero__buttons .maishop-button:first-child {
            background: var(--ms-button-primary-bg) !important;
            color: var(--ms-button-primary-text) !important;
            border-color: var(--ms-button-primary-bg) !important;
        }

        .maishop-page .maishop-hero__buttons .maishop-button:first-child {
            box-shadow: none !important;
        }

        .maishop-page .maishop-button--outline,
        .maishop-page .maishop-button--secondary,
        .maishop-page .maishop-hero__buttons .maishop-button:nth-child(2) {
            background: transparent !important;
            color: var(--ms-button-secondary) !important;
            border-color: var(--ms-button-secondary) !important;
        }

        .maishop-page .maishop-benefit__icon,
        .maishop-page .maishop-benefit-card__icon,
        .maishop-page .maishop-benefits__icon,
        .maishop-page .maishop-feature__icon {
            background: var(--ms-hero-card-icon) !important;
            color: #ffffff !important;
        }

        .maishop-page .maishop-promo__badge {
            color: var(--ms-promo-badge-text) !important;
        }

        .maishop-page .maishop-faq__item summary {
            color: var(--ms-faq-text) !important;
        }

        .maishop-page .maishop-faq__item summary em {
            color: var(--ms-faq-icon) !important;
        }

        .maishop-page .maishop-promo--no-bg-image .maishop-promo__inner {
            background: var(--ms-promo-bg) !important;
        }

        .maishop-page .maishop-promo--has-bg-image .maishop-promo__inner {
            background-color: var(--ms-promo-bg) !important;
            background-image:
                linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.42)),
                var(--ms-promo-bg-image) !important;
            background-size: cover !important;
            background-position: center !important;
        }

        .maishop-page .maishop-promo--text_left.maishop-promo--has-bg-image .maishop-promo__inner {
            background-image:
                linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.58) 48%, rgba(255,255,255,.14) 100%),
                var(--ms-promo-bg-image) !important;
        }

        .maishop-page .maishop-promo__content h2,
        .maishop-page .maishop-promo__content p {
            color: var(--ms-promo-text) !important;
        }

        .maishop-page .maishop-promo__button {
            background: var(--ms-promo-button-bg) !important;
            color: var(--ms-promo-button-text) !important;
            border-color: var(--ms-promo-button-bg) !important;
        }

        .maishop-page .maishop-final-cta__inner {
            background: var(--ms-cta-bg) !important;
            color: var(--ms-cta-text) !important;
        }

        .maishop-page .maishop-final-cta h2,
        .maishop-page .maishop-final-cta p {
            color: var(--ms-cta-text) !important;
        }

        .maishop-page .maishop-final-cta__badge {
            color: var(--ms-cta-badge-color) !important;
        }

        .maishop-page .maishop-final-cta__button {
            background: var(--ms-cta-button-bg) !important;
            color: var(--ms-cta-button-text) !important;
            border-color: var(--ms-cta-button-bg) !important;
        }


        .maishop-page .maishop-hero__brand {
            color: var(--ms-brand-color, var(--maishop-primary, #0F9F9A)) !important;
        }

        .maishop-page.maishop-contact-wrapper {
            overflow: visible;
        }

        .maishop-contact-page {
            width: 100%;
            max-width: none;
            margin: 0;
            padding: 0 24px 82px;
            box-sizing: border-box;
            overflow: visible;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-contact-page__hero {
            max-width: 780px;
            margin: 0 auto 34px;
            padding-top: 82px;
            text-align: center;
            box-sizing: border-box;
        }

        .maishop-contact-page__hero--visual {
            width: 100vw;
            max-width: none;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            margin-bottom: 48px;
            padding: 96px max(24px, calc((100vw - 1180px) / 2 + 24px));
            border-radius: 0;
            border: 0;
            box-shadow: none;
            box-sizing: border-box;
        }

        .maishop-contact-page__hero-content {
            max-width: 860px;
            margin: 0 auto;
        }

        .maishop-contact-page__hero--image .maishop-contact-page__hero-content {
            max-width: min(860px, 92vw);
            margin: 0 auto;
        }

        .maishop-contact-page__hero--image h1,
        .maishop-contact-page__hero--image p {
            text-shadow: 0 2px 18px rgba(255, 255, 255, .70), 0 1px 3px rgba(16, 32, 43, .18);
        }

        .maishop-contact-page__hero h1 {
            color: var(--maishop-contact-hero-title, #10202b);
        }

        .maishop-contact-page__hero p {
            color: var(--maishop-contact-hero-subtitle, #10202b);
        }

        .maishop-contact-page__hero--visual .maishop-contact-page__button {
            background: #ffffff !important;
            color: #10202b !important;
            border-color: #ffffff !important;
            box-shadow: 0 12px 30px rgba(16, 32, 43, .12);
        }

        .maishop-contact-page__hero h1 {
            margin: 0 0 18px;
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(40px, 6vw, 76px);
            font-weight: 700;
            line-height: 1.02;
            letter-spacing: normal;
            overflow-wrap: anywhere;
        }

        .maishop-contact-page__hero p {
            max-width: 680px;
            margin: 0 auto 28px;
            color: var(--maishop-contact-hero-subtitle, #5f6773);
            font-size: 18px;
            line-height: 1.7;
        }

        .maishop-contact-page__button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 52px;
            padding: 0 24px;
        }

        .maishop-contact-page__message {
            max-width: 780px;
            margin: 0 auto 28px;
            padding: 20px 24px;
            border-radius: 22px;
            background: #F2FCFD;
            border: 1px solid rgba(152, 97, 62, .14);
            text-align: center;
        }

        .maishop-contact-page__message p {
            margin: 0;
            color: #5f6773;
            font-size: 16px;
            line-height: 1.65;
        }

        .maishop-contact-page__grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 22px;
            width: 100%;
            max-width: 980px;
            margin: 34px auto 0;
        }

        .maishop-contact-card {
            min-width: 0;
            min-height: 148px;
            padding: 28px 30px;
            border-radius: 28px;
            background: #ffffff;
            border: 1px solid #edf0f4;
            box-shadow: 0 14px 34px rgba(16, 32, 43, .06);
        }

        .maishop-contact-card span {
            display: block;
            margin-bottom: 12px;
            color: #8a93a0;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .maishop-contact-card strong,
        .maishop-contact-card a {
            color: #10202b;
            font-size: 19px;
            font-weight: 800;
            line-height: 1.35;
            text-decoration: none;
            overflow-wrap: break-word;
            word-break: normal;
        }

        .maishop-contact-card a:hover {
            color: var(--maishop-primary, #0F9F9A);
        }

        .maishop-contact-page__socials {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 14px 18px;
            max-width: 980px;
            margin: 30px auto 0;
            color: #5f6773;
        }

        .maishop-contact-page__socials > span {
            font-weight: 800;
            color: #10202b;
        }

        .maishop-contact-page__socials div {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
        }

        .maishop-contact-page__socials a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            border-radius: 999px;
            background: #ffffff;
            color: #10202b;
            border: 1px solid #edf0f4;
            text-decoration: none;
            box-shadow: 0 10px 24px rgba(16, 32, 43, .06);
            transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
        }

        .maishop-contact-page__socials a:hover {
            transform: translateY(-1px);
            background: var(--maishop-contact-social-bg, #F2FCFD);
            color: var(--maishop-contact-social-hover, var(--maishop-primary, #0F9F9A));
            border-color: var(--maishop-contact-social-border, rgba(15, 159, 154, .28));
        }

        .maishop-contact-page__socials svg {
            width: 20px;
            height: 20px;
            display: block;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .maishop-contact-page__socials svg path,
        .maishop-contact-page__socials svg circle,
        .maishop-contact-page__socials svg rect {
            vector-effect: non-scaling-stroke;
        }

        .maishop-sr-only {
            position: absolute !important;
            width: 1px !important;
            height: 1px !important;
            padding: 0 !important;
            margin: -1px !important;
            overflow: hidden !important;
            clip: rect(0, 0, 0, 0) !important;
            white-space: nowrap !important;
            border: 0 !important;
        }

        .maishop-contact-form-block {
            width: 100%;
            max-width: 980px;
            margin: 38px auto 0;
            padding: 34px;
            border-radius: 30px;
            background: #ffffff;
            border: 1px solid #edf0f4;
            box-shadow: 0 18px 55px rgba(16, 32, 43, .07);
            box-sizing: border-box;
        }

        .maishop-contact-form-block--layout-full {
            max-width: 1120px;
            padding: 0;
            background: transparent;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }

        .maishop-contact-form-block--layout-full .maishop-contact-form-block__embed {
            max-width: 980px;
            margin: 0 auto;
        }

        .maishop-contact-form-block__intro {
            max-width: 680px;
            margin: 0 auto 28px;
            text-align: center;
        }

        .maishop-contact-form-block__intro h2 {
            margin: 0 0 12px;
            color: #10202b;
            font-size: clamp(30px, 4vw, 48px);
            line-height: 1.05;
            letter-spacing: -0.05em;
        }

        .maishop-contact-form-block__intro p {
            margin: 0;
            color: #687384;
            font-size: 17px;
            line-height: 1.7;
        }

        .maishop-contact-form-block__embed {
            width: 100%;
        }

        .maishop-contact-form-block--styled .forminator-ui,
        .maishop-contact-form-block--styled .forminator-custom-form {
            margin: 0 !important;
        }

        .maishop-contact-form-block--styled .forminator-ui .forminator-label,
        .maishop-contact-form-block--styled .forminator-custom-form .forminator-label {
            color: #10202b !important;
            font-weight: 800 !important;
        }

        .maishop-contact-form-block--styled .forminator-ui input,
        .maishop-contact-form-block--styled .forminator-ui textarea,
        .maishop-contact-form-block--styled .forminator-ui select,
        .maishop-contact-form-block--styled .forminator-custom-form input,
        .maishop-contact-form-block--styled .forminator-custom-form textarea,
        .maishop-contact-form-block--styled .forminator-custom-form select {
            border-radius: 16px !important;
            border-color: #e2ecef !important;
            background: #ffffff !important;
            box-shadow: none !important;
        }

        .maishop-contact-form-block--styled .forminator-ui input:focus,
        .maishop-contact-form-block--styled .forminator-ui textarea:focus,
        .maishop-contact-form-block--styled .forminator-ui select:focus,
        .maishop-contact-form-block--styled .forminator-custom-form input:focus,
        .maishop-contact-form-block--styled .forminator-custom-form textarea:focus,
        .maishop-contact-form-block--styled .forminator-custom-form select:focus {
            border-color: var(--maishop-primary, #0F9F9A) !important;
            box-shadow: 0 0 0 3px rgba(15, 159, 154, .12) !important;
            outline: none !important;
        }

        .maishop-contact-form-block--styled .forminator-ui .forminator-button-submit,
        .maishop-contact-form-block--styled .forminator-custom-form .forminator-button-submit,
        .maishop-contact-form-block--styled .forminator-ui button[type=submit],
        .maishop-contact-form-block--styled .forminator-custom-form button[type=submit] {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-width: 132px !important;
            min-height: 48px !important;
            padding: 11px 32px !important;
            border-radius: 999px !important;
            background: var(--maishop-primary, #0F9F9A) !important;
            border-color: var(--maishop-primary, #0F9F9A) !important;
            color: #ffffff !important;
            font-weight: 800 !important;
            line-height: 1.15 !important;
            box-shadow: 0 14px 32px rgba(16, 32, 43, .10) !important;
            appearance: none !important;
            -webkit-appearance: none !important;
        }

        .maishop-contact-form-block--styled .forminator-ui a,
        .maishop-contact-form-block--styled .forminator-custom-form a {
            color: var(--maishop-primary, #0F9F9A) !important;
        }

        .maishop-about-wrapper {
            overflow: visible;
        }

        .maishop-about-page {
            width: 100%;
            max-width: 1120px;
            margin: 0 auto;
            padding: 82px 24px;
            box-sizing: border-box;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-about-page__hero {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
            gap: 52px;
            align-items: center;
            margin-bottom: 42px;
        }

        .maishop-about-page--image-left .maishop-about-page__image {
            order: -1;
        }

        .maishop-about-page--text-only .maishop-about-page__hero {
            grid-template-columns: 1fr;
            max-width: 880px;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }

        .maishop-about-page__content h1 {
            margin: 0 0 22px;
            color: var(--ms-about-title, #10202b);
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(40px, 5.2vw, 68px);
            font-weight: 700;
            line-height: 1.04;
            letter-spacing: normal;
            overflow-wrap: normal;
            word-break: normal;
            hyphens: none;
            text-wrap: balance;
        }

        .maishop-about-page__content p {
            margin: 0;
            color: var(--ms-about-intro, #5f6773);
            font-size: 19px;
            line-height: 1.75;
            max-width: 680px;
        }

        .maishop-about-page--text-only .maishop-about-page__content p {
            margin-left: auto;
            margin-right: auto;
        }

        .maishop-about-page__image {
            margin: 0;
            min-width: 0;
        }

        .maishop-about-page__image img {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            border-radius: 32px;
            box-shadow: 0 20px 48px rgba(16, 32, 43, .10);
        }

        .maishop-about-page__story {
            max-width: 880px;
            margin: 0 auto;
            padding: 34px 0 0;
        }

        .maishop-about-page__story h2 {
            margin: 0 0 14px;
            color: var(--ms-about-story-title, #10202b);
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(32px, 3.8vw, 50px);
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: normal;
            overflow-wrap: normal;
            word-break: normal;
            hyphens: none;
            text-wrap: balance;
        }

        .maishop-about-page__story p {
            margin: 0;
            color: var(--ms-about-story-text, #5f6773);
            font-size: 17px;
            line-height: 1.8;
        }

        .maishop-about-page__highlight {
            max-width: 880px;
            margin: 34px auto 0;
            padding: 26px 30px;
            border-radius: 28px;
            background: #F2FCFD;
            border: 1px solid rgba(152, 97, 62, .14);
            text-align: center;
        }

        .maishop-about-page__highlight p {
            margin: 0;
            color: var(--ms-about-highlight, #10202b);
            font-size: 20px;
            line-height: 1.55;
            font-weight: 800;
        }

        .maishop-about-page__actions {
            display: flex;
            justify-content: center;
            margin-top: 34px;
        }

        .maishop-about-page__actions .maishop-button {
            min-width: 170px;
            border: 1.5px solid rgba(16, 32, 43, 0.26);
            background: #ffffff;
            color: #10202b !important;
            box-shadow: none;
        }

        .maishop-about-page__actions .maishop-button:hover {
            border-color: #10202b;
            background: #ffffff;
            color: #10202b !important;
            opacity: 1;
        }

        .maishop-legal-wrapper {
            overflow: visible;
        }

        .maishop-legal-page {
            width: 100%;
            max-width: 920px;
            margin: 0 auto;
            padding: 82px 24px;
            box-sizing: border-box;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-legal-page h1 {
            margin: 0 0 26px;
            color: #10202b;
            font-size: clamp(38px, 5vw, 64px);
            line-height: 1.02;
            letter-spacing: -0.05em;
            text-align: center;
        }

        .maishop-legal-page__content {
            color: #5f6773;
            font-size: 16px;
            line-height: 1.85;
        }

        .maishop-legal-page__content p {
            margin: 0 0 18px;
        }


        .maishop-shop-header {
            max-width: 1120px;
            margin: 0 auto 34px;
            padding: 48px 34px;
            border-radius: 34px;
            background: var(--maishop-shop-header-bg, #F2FCFD);
            border: 1px solid rgba(16, 32, 43, .08);
            box-sizing: border-box;
            text-align: center;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            box-shadow: 0 22px 60px rgba(16, 32, 43, .06);
        }
        .maishop-shop-header--bg-gradient {
            background: linear-gradient(135deg, var(--maishop-shop-header-bg, #F2FCFD) 0%, rgba(255, 255, 255, 0) 100%);
        }
        .maishop-shop-header--bg-solid {
            background: var(--maishop-shop-header-bg, #F2FCFD);
        }

        .maishop-shop-header--left { text-align: left; }
        .maishop-shop-header--center { text-align: center; }

        .maishop-shop-header__kicker {
            display: inline-flex;
            margin-bottom: 16px;
            padding: 8px 15px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .72);
            color: var(--maishop-shop-kicker-text, #0F9F9A);
            font-size: 13px;
            line-height: 1;
            font-weight: 800;
            letter-spacing: .01em;
        }

        .maishop-shop-header h1 {
            margin: 0 0 16px;
            color: var(--maishop-shop-header-text, #10202b);
            font-size: clamp(40px, 5vw, 72px);
            line-height: .98;
            letter-spacing: -0.06em;
            font-weight: 800;
        }

        .maishop-shop-header p {
            max-width: 720px;
            margin: 0 auto;
            color: var(--maishop-shop-header-text, #5f6773);
            font-size: clamp(17px, 2vw, 21px);
            line-height: 1.7;
            opacity: .78;
        }

        .maishop-shop-header--left p {
            margin-left: 0;
            margin-right: 0;
        }

        .maishop-shop-header__note {
            margin-top: 18px !important;
            font-size: 15px !important;
            font-weight: 700;
            opacity: .72 !important;
        }

        .maishop-shop-search {
            max-width: 1120px;
            margin: -12px auto 34px;
            padding: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            box-sizing: border-box;
        }

        .maishop-shop-search__form {
            display: flex;
            align-items: center;
            gap: 8px;
            max-width: 760px;
            margin: 0 auto;
            padding: 5px 7px 5px 20px;
            border: 1px solid var(--maishop-shop-search-border, #d7dde2);
            border-radius: 999px;
            background: #ffffff;
            box-shadow: 0 18px 46px rgba(16, 32, 43, .07);
            box-sizing: border-box;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .maishop-shop-search__form:focus-within {
            border-color: var(--maishop-shop-search-focus, #b9c2ca);
            box-shadow: 0 18px 46px rgba(16, 32, 43, .08), 0 0 0 3px var(--maishop-shop-search-soft, rgba(16, 32, 43, .055));
        }

        .maishop-shop-search__input {
            flex: 1 1 auto;
            min-width: 0;
            width: 100%;
            min-height: 48px;
            margin: 0 !important;
            padding: 0 10px 0 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            color: #10202b;
            font-size: 15px;
            line-height: 1.2;
            text-align: left;
            box-shadow: none !important;
            outline: none !important;
            box-sizing: border-box;
        }

        .maishop-shop-search__input:focus {
            border: 0 !important;
            box-shadow: none !important;
            outline: none !important;
        }

        .maishop-shop-search__button {
            display: inline-flex;
            flex: 0 0 48px;
            align-items: center;
            justify-content: center;
            width: 48px;
            min-width: 48px;
            max-width: 48px;
            min-height: 48px;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: transparent !important;
            color: var(--maishop-shop-search-color, #6f7b86) !important;
            font-size: 0 !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            text-decoration: none !important;
            box-shadow: none !important;
            cursor: pointer;
            transition: transform .2s ease, background .2s ease, opacity .2s ease;
        }

        .maishop-shop-search__button-text {
            display: none;
        }

        .maishop-shop-search__submit-icon {
            display: block;
            width: 21px;
            height: 21px;
        }

        .maishop-shop-search__button:hover,
        .maishop-shop-search__button:focus {
            background: var(--maishop-shop-search-soft, rgba(16, 32, 43, .055)) !important;
            opacity: .95;
            transform: translateX(1px);
            outline: none;
        }

        .maishop-shop-search--shortcode {
            max-width: 100%;
            margin: 0;
            padding: 0;
        }

        .maishop-shop-help {
            max-width: 1120px;
            margin: 0 auto 34px;
            padding: 0;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            box-sizing: border-box;
        }

        .maishop-shop-help h2 {
            margin: 0 0 18px;
            color: #10202b;
            font-size: clamp(28px, 3vw, 40px);
            line-height: 1.08;
            letter-spacing: -0.045em;
            font-weight: 800;
            text-align: center;
        }

        .maishop-shop-help__grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
        }

        .maishop-shop-help__step {
            position: relative;
            padding: 24px;
            border-radius: 24px;
            background: #ffffff;
            border: 1px solid rgba(152, 97, 62, .12);
            box-shadow: 0 16px 42px rgba(16, 32, 43, .045);
            box-sizing: border-box;
        }

        .maishop-shop-help__number {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 14px;
            border-radius: 999px;
            background: #f5ece6;
            color: #0F9F9A;
            font-size: 14px;
            font-weight: 900;
            line-height: 1;
        }

        .maishop-shop-help__step h3 {
            margin: 0 0 8px;
            color: #10202b;
            font-size: 20px;
            line-height: 1.18;
            letter-spacing: -0.035em;
            font-weight: 800;
        }

        .maishop-shop-help__step p {
            margin: 0;
            color: #657280;
            font-size: 15px;
            line-height: 1.65;
        }

        .maishop-shop-help__note {
            max-width: 720px;
            margin: 18px auto 0;
            color: #657280;
            font-size: 15px;
            line-height: 1.65;
            text-align: center;
            font-weight: 700;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product,
        .maishop-products-style-enabled .woocommerce ul.products li.product {
            overflow: hidden;
            padding: 0 !important;
            border: 1px solid rgba(152, 97, 62, .12);
            border-radius: 24px;
            background: #ffffff;
            box-shadow: 0 16px 42px rgba(16, 32, 43, .055);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
            box-sizing: border-box;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product:hover,
        .maishop-products-style-enabled .woocommerce ul.products li.product:hover {
            transform: translateY(-4px);
            border-color: rgba(152, 97, 62, .22);
            box-shadow: 0 22px 58px rgba(16, 32, 43, .09);
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product a,
        .maishop-products-style-enabled .woocommerce ul.products li.product a {
            text-decoration: none !important;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product a img,
        .maishop-products-style-enabled .woocommerce ul.products li.product a img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            margin: 0 0 18px !important;
            border-radius: 24px 24px 0 0;
            background: #f7f3ef;
            box-shadow: none !important;
        }

        /* MaiShop Builder v1.25.83: categoría alineada en tienda para Clásico MaiShop */
        .maishop-product-cards-classic.woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-classic .woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-classic.woocommerce ul.products li.product .product-category,
        .maishop-product-cards-classic .woocommerce ul.products li.product .product-category,
        .maishop-product-cards-classic.woocommerce ul.products li.product .posted_in,
        .maishop-product-cards-classic .woocommerce ul.products li.product .posted_in {
            display: block !important;
            padding: 0 18px !important;
            margin: 0 0 8px !important;
            color: #98a2ad !important;
            font-size: 14px !important;
            line-height: 1.35 !important;
            font-weight: 500 !important;
            letter-spacing: -0.01em !important;
            text-align: left !important;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .woocommerce-loop-product__title,
        .maishop-products-style-enabled .woocommerce ul.products li.product .woocommerce-loop-product__title {
            padding: 0 18px !important;
            margin: 0 0 8px !important;
            color: #10202b;
            font-size: 17px !important;
            line-height: 1.25;
            font-weight: 800;
            letter-spacing: -0.025em;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .price,
        .maishop-products-style-enabled .woocommerce ul.products li.product .price {
            display: block;
            padding: 0 18px !important;
            margin: 0 0 14px !important;
            font-size: 16px !important;
            font-weight: 800;
            line-height: 1.35;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .price del,
        .maishop-products-style-enabled .woocommerce ul.products li.product .price del {
            opacity: .72;
            font-weight: 600;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .price ins,
        .maishop-products-style-enabled .woocommerce ul.products li.product .price ins {
            text-decoration: none;
            font-weight: 900;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .button,
        .maishop-products-style-enabled .woocommerce ul.products li.product .button,
        .maishop-products-style-enabled.woocommerce ul.products li.product a.button,
        .maishop-products-style-enabled .woocommerce ul.products li.product a.button {
            --maishop-shop-button-color: var(--maishop-shop-search-color, var(--global-palette1, var(--wp--preset--color--primary, #0F9F9A)));
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: calc(100% - 36px);
            min-height: 44px;
            margin: 0 18px 18px !important;
            padding: 0 16px !important;
            border: 2px solid var(--maishop-shop-button-color) !important;
            border-radius: 999px !important;
            background: transparent !important;
            color: var(--maishop-shop-button-color) !important;
            font-size: 14px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            text-align: center;
            text-decoration: none !important;
            box-shadow: none !important;
            transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
        }

        .maishop-products-style-enabled.woocommerce ul.products li.product .button:hover,
        .maishop-products-style-enabled .woocommerce ul.products li.product .button:hover,
        .maishop-products-style-enabled.woocommerce ul.products li.product a.button:hover,
        .maishop-products-style-enabled .woocommerce ul.products li.product a.button:hover {
            background: var(--maishop-shop-button-color) !important;
            border-color: var(--maishop-shop-button-color) !important;
            color: #ffffff !important;
        }

        .maishop-products-style-enabled.woocommerce span.onsale,
        .maishop-products-style-enabled .woocommerce span.onsale,
        .maishop-products-style-enabled.woocommerce ul.products li.product .onsale,
        .maishop-products-style-enabled .woocommerce ul.products li.product .onsale {
            min-width: auto;
            min-height: auto;
            padding: 7px 11px;
            border-radius: 999px;
            background: #10202b;
            color: #ffffff;
            font-size: 12px;
            font-weight: 900;
            line-height: 1;
            box-shadow: 0 10px 24px rgba(16, 32, 43, .16);
        }

        @media (max-width: 640px) {
            /*
             * v1.35.5: causa real del parpadeo al entrar en Tienda,
             * encontrada comparando fotograma a fotograma un vídeo real: el
             * estilo "Clásico MaiShop" nunca fija cómo se reparte
             * "ul.products" en columnas -a diferencia del estilo "Catálogo
             * visual" (ver más abajo, "v1.25.76"), que sí lo hace explícito
             * con "!important" en todos sus anchos-. Sin eso, el número de
             * columnas depende del cálculo propio de Astra/WooCommerce para
             * ese ancho, y en el primer fotograma tras la navegación ese
             * cálculo llega inestable: las tarjetas se comprimen a un ancho
             * menor y se quedan pegadas al lado derecho de la pantalla, y un
             * fotograma después Astra recalcula bien y las dos columnas
             * ocupan todo el ancho -de ahí el parpadeo, confirmado con el
             * vídeo-. Fijar aquí las mismas 2 columnas que ya usa "Catálogo
             * visual" en este ancho hace que el resultado no dependa de ese
             * cálculo: es correcto desde el primer fotograma, sin esperar a
             * que Astra decida.
             */
            .maishop-product-cards-classic.woocommerce ul.products,
            .maishop-product-cards-classic .woocommerce ul.products {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }

            .maishop-product-cards-classic.woocommerce ul.products li.product .ast-woo-product-category,
            .maishop-product-cards-classic .woocommerce ul.products li.product .ast-woo-product-category,
            .maishop-product-cards-classic.woocommerce ul.products li.product .product-category,
            .maishop-product-cards-classic .woocommerce ul.products li.product .product-category,
            .maishop-product-cards-classic.woocommerce ul.products li.product .posted_in,
            .maishop-product-cards-classic .woocommerce ul.products li.product .posted_in {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }

            .maishop-product-cards-classic.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-classic .woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-classic.woocommerce ul.products li.product .price,
            .maishop-product-cards-classic .woocommerce ul.products li.product .price {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }

            .maishop-product-cards-classic.woocommerce ul.products li.product .button,
            .maishop-product-cards-classic .woocommerce ul.products li.product .button,
            .maishop-product-cards-classic.woocommerce ul.products li.product a.button,
            .maishop-product-cards-classic .woocommerce ul.products li.product a.button {
                width: calc(100% - 32px);
                margin-left: 16px !important;
                margin-right: 16px !important;
                margin-bottom: 16px !important;
            }
        }

        /* MaiShop v1.25.76: Catálogo visual aislado del estilo clásico */
        .maishop-product-cards-catalog.woocommerce ul.products,
        .maishop-product-cards-catalog .woocommerce ul.products {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 46px 22px !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products::before,
        .maishop-product-cards-catalog.woocommerce ul.products::after,
        .maishop-product-cards-catalog .woocommerce ul.products::before,
        .maishop-product-cards-catalog .woocommerce ul.products::after {
            display: none !important;
            content: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product,
        .maishop-product-cards-catalog .woocommerce ul.products li.product {
            float: none !important;
            clear: none !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
            text-align: left !important;
            box-sizing: border-box !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product:hover {
            transform: none !important;
            box-shadow: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product a,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a {
            text-decoration: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product a img,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a img {
            width: 100% !important;
            aspect-ratio: 1 / 1 !important;
            height: auto !important;
            object-fit: cover !important;
            display: block !important;
            margin: 0 0 18px !important;
            border-radius: 0 !important;
            background: #f6f5f2 !important;
            box-shadow: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title {
            margin: 0 0 9px !important;
            padding: 0 !important;
            color: #10202b !important;
            font-size: 18px !important;
            line-height: 1.24 !important;
            font-weight: 850 !important;
            letter-spacing: -0.025em !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
            display: block !important;
            margin: 0 0 16px !important;
            color: #5f6977 !important;
            font-size: 17px !important;
            line-height: 1.3 !important;
            font-weight: 800 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price del,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price del {
            opacity: .6 !important;
            font-weight: 650 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price ins,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price ins {
            text-decoration: none !important;
            font-weight: 900 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .button,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .button,
        .maishop-product-cards-catalog.woocommerce ul.products li.product a.button,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a.button {
            --maishop-shop-button-color: var(--maishop-shop-search-color, var(--global-palette1, var(--wp--preset--color--primary, #0F9F9A)));
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 100% !important;
            min-height: 48px !important;
            margin: 2px 0 0 !important;
            padding: 0 16px !important;
            border: 2px solid var(--maishop-shop-button-color) !important;
            border-radius: 0 !important;
            background: var(--maishop-shop-button-color) !important;
            color: #ffffff !important;
            font-size: 15px !important;
            font-weight: 850 !important;
            line-height: 1 !important;
            text-align: center !important;
            text-decoration: none !important;
            box-shadow: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .button:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .button:hover,
        .maishop-product-cards-catalog.woocommerce ul.products li.product a.button:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a.button:hover {
            opacity: .9 !important;
            transform: none !important;
            background: var(--maishop-shop-button-color) !important;
            border-color: var(--maishop-shop-button-color) !important;
            color: #ffffff !important;
        }

        .maishop-product-cards-catalog.woocommerce span.onsale,
        .maishop-product-cards-catalog .woocommerce span.onsale,
        .maishop-product-cards-catalog.woocommerce ul.products li.product .onsale,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .onsale {
            top: 14px !important;
            left: 14px !important;
            right: auto !important;
            min-width: auto !important;
            min-height: auto !important;
            padding: 7px 11px !important;
            border-radius: 999px !important;
            background: rgba(255,255,255,.92) !important;
            color: #10202b !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            box-shadow: 0 10px 24px rgba(16,32,43,.12) !important;
        }

        @media (max-width: 980px) {
            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 44px 16px !important;
            }
        }

        @media (max-width: 640px) {
            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products {
                width: 100vw !important;
                max-width: 100vw !important;
                margin-left: calc(50% - 50vw) !important;
                margin-right: calc(50% - 50vw) !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 42px 8px !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product,
            .maishop-product-cards-catalog .woocommerce ul.products li.product {
                width: auto !important;
                max-width: none !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title {
                font-size: 16px !important;
                line-height: 1.25 !important;
                padding-left: 12px !important;
                padding-right: 12px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
                font-size: 15px !important;
                padding-left: 12px !important;
                padding-right: 12px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog.woocommerce ul.products li.product a.button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product a.button {
                min-height: 46px !important;
                font-size: 15px !important;
                width: calc(100% - 24px) !important;
                margin-left: 12px !important;
                margin-right: 12px !important;
            }
        }

        @media (max-width: 380px) {
            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products {
                gap: 40px 6px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title {
                font-size: 15px !important;
                padding-left: 10px !important;
                padding-right: 10px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
                font-size: 14px !important;
                padding-left: 10px !important;
                padding-right: 10px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog.woocommerce ul.products li.product a.button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product a.button {
                width: calc(100% - 20px) !important;
                margin-left: 10px !important;
                margin-right: 10px !important;
            }
        }

        @media (max-width: 760px) {
            .maishop-contact-page__grid {
                grid-template-columns: 1fr;
                max-width: 520px;
            }
        }

        @media (max-width: 640px) {
            .maishop-shop-search {
                margin-top: -10px;
                padding: 0 18px;
            }

            .maishop-shop-search__form {
                flex-direction: row;
                align-items: center;
                gap: 8px;
                padding: 5px 7px 5px 18px;
                border-radius: 999px;
            }

            .maishop-shop-search__input {
                min-height: 46px;
                text-align: left;
            }

            .maishop-shop-search__button {
                flex: 0 0 44px;
                width: 44px;
                min-width: 44px;
                max-width: 44px;
                min-height: 44px;
                border-radius: 999px !important;
            }

            .maishop-shop-search--shortcode {
                margin: 0;
                padding: 0;
            }

            .maishop-about-page {
                padding: 58px 18px;
            }

            .maishop-about-page__hero {
                grid-template-columns: 1fr;
                gap: 24px;
                text-align: center;
                margin-bottom: 28px;
            }

            .maishop-about-page--image-left .maishop-about-page__image {
                order: 0;
            }

            .maishop-about-page__content p {
                margin-left: auto;
                margin-right: auto;
                font-size: 16px;
            }

            .maishop-about-page__image img {
                border-radius: 24px;
            }

            .maishop-about-page__story {
                padding-top: 18px;
                text-align: center;
            }

            .maishop-about-page__story p {
                font-size: 16px;
            }

            .maishop-about-page__highlight {
                padding: 22px;
                border-radius: 22px;
            }

            .maishop-about-page__highlight p {
                font-size: 18px;
            }


            .maishop-shop-header {
                margin-bottom: 24px;
                padding: 34px 22px;
                border-radius: 26px;
            }

            .maishop-shop-header--left {
                text-align: left;
            }

            .maishop-shop-header--center {
                text-align: center;
            }

            .maishop-shop-header h1 {
                font-size: 42px;
            }

            .maishop-shop-header p {
                font-size: 16px;
            }

            .maishop-shop-header--left p {
                margin-left: 0;
                margin-right: 0;
            }

            .maishop-shop-header--center p {
                margin-left: auto;
                margin-right: auto;
            }

            .maishop-shop-help {
                margin-bottom: 28px;
            }

            .maishop-shop-help h2 {
                text-align: left;
                font-size: 30px;
            }

            .maishop-shop-help__grid[data-maishop-shop-help-carousel="true"] {
                display: flex;
                grid-template-columns: none;
                gap: 0;
                overflow: hidden;
                width: 100%;
                max-width: 100%;
            }

            .maishop-shop-help__grid[data-maishop-shop-help-carousel="true"] .maishop-shop-help__step {
                flex: 0 0 100%;
                width: 100%;
                min-width: 100%;
                padding: 20px;
                border-radius: 20px;
                transform: translateX(0);
                transition: transform .45s ease;
            }

            .maishop-shop-help__note {
                text-align: left;
                margin-left: 0;
                margin-right: 0;
            }

            .maishop-legal-page {
                padding: 58px 18px;
            }

            .maishop-legal-page h1 {
                text-align: left;
            }

            .maishop-legal-page__content {
                font-size: 15px;
            }

            .maishop-contact-page {
                padding: 0 18px 58px;
            }

            .maishop-contact-page__hero {
                padding-top: 58px;
                text-align: center;
            }

            .maishop-contact-page__hero--visual {
                padding: 58px 22px;
            }

            .maishop-contact-page__hero--image .maishop-contact-page__hero-content {
                width: min(100%, 92vw);
            }

            .maishop-contact-page__hero p {
                font-size: 16px;
            }

            .maishop-contact-page__button {
                width: 100%;
            }

            .maishop-contact-page__grid {
                grid-template-columns: 1fr;
                gap: 14px;
            }

            .maishop-contact-card {
                min-height: auto;
                padding: 20px;
                border-radius: 22px;
            }

            .maishop-contact-form-block {
                margin-top: 28px;
                padding: 22px;
                border-radius: 24px;
            }

            .maishop-contact-form-block__intro {
                margin-bottom: 22px;
                text-align: left;
            }

            .maishop-contact-form-block__intro p {
                font-size: 15px;
            }
        }


        /* Ajustes visuales globales MaiShop: solo afectan a bloques propios del plugin */
        body.maishop-visual-cards-soft .maishop-benefit-card,
        body.maishop-visual-cards-soft .maishop-trust-card,
        body.maishop-visual-cards-soft .maishop-category-card,
        body.maishop-visual-cards-soft .maishop-product-card,
        body.maishop-visual-cards-soft .maishop-promo__inner,
        body.maishop-visual-cards-soft .maishop-faq__item,
        body.maishop-visual-cards-soft .maishop-final-cta__inner,
        body.maishop-visual-cards-soft .maishop-contact-card,
        body.maishop-visual-cards-soft .maishop-contact-page__hero--visual,
        body.maishop-visual-cards-soft .maishop-contact-page__message,
        body.maishop-visual-cards-soft .maishop-contact-form-block,
        body.maishop-visual-cards-soft .maishop-about-page__image img,
        body.maishop-visual-cards-soft .maishop-about-page__highlight,
        body.maishop-visual-cards-soft .maishop-legal-page,
        body.maishop-visual-cards-soft .maishop-shop-header,
        body.maishop-visual-cards-soft .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-cards-soft ul.products li.product {
            border-radius: 16px !important;
        }

        body.maishop-visual-cards-rounded .maishop-benefit-card,
        body.maishop-visual-cards-rounded .maishop-trust-card,
        body.maishop-visual-cards-rounded .maishop-category-card,
        body.maishop-visual-cards-rounded .maishop-product-card,
        body.maishop-visual-cards-rounded .maishop-promo__inner,
        body.maishop-visual-cards-rounded .maishop-faq__item,
        body.maishop-visual-cards-rounded .maishop-final-cta__inner,
        body.maishop-visual-cards-rounded .maishop-contact-card,
        body.maishop-visual-cards-rounded .maishop-contact-page__hero--visual,
        body.maishop-visual-cards-rounded .maishop-contact-page__message,
        body.maishop-visual-cards-rounded .maishop-contact-form-block,
        body.maishop-visual-cards-rounded .maishop-about-page__image img,
        body.maishop-visual-cards-rounded .maishop-about-page__highlight,
        body.maishop-visual-cards-rounded .maishop-legal-page,
        body.maishop-visual-cards-rounded .maishop-shop-header,
        body.maishop-visual-cards-rounded .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-cards-rounded ul.products li.product {
            border-radius: 24px !important;
        }

        body.maishop-visual-cards-large .maishop-benefit-card,
        body.maishop-visual-cards-large .maishop-trust-card,
        body.maishop-visual-cards-large .maishop-category-card,
        body.maishop-visual-cards-large .maishop-product-card,
        body.maishop-visual-cards-large .maishop-promo__inner,
        body.maishop-visual-cards-large .maishop-faq__item,
        body.maishop-visual-cards-large .maishop-final-cta__inner,
        body.maishop-visual-cards-large .maishop-contact-card,
        body.maishop-visual-cards-large .maishop-contact-page__hero--visual,
        body.maishop-visual-cards-large .maishop-contact-page__message,
        body.maishop-visual-cards-large .maishop-contact-form-block,
        body.maishop-visual-cards-large .maishop-about-page__image img,
        body.maishop-visual-cards-large .maishop-about-page__highlight,
        body.maishop-visual-cards-large .maishop-legal-page,
        body.maishop-visual-cards-large .maishop-shop-header,
        body.maishop-visual-cards-large .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-cards-large ul.products li.product {
            border-radius: 34px !important;
        }

        body.maishop-visual-buttons-soft .maishop-button,
        body.maishop-visual-buttons-soft .maishop-promo__button,
        body.maishop-visual-buttons-soft .maishop-final-cta__button,
        body.maishop-visual-buttons-soft .maishop-contact-page__button,
        body.maishop-visual-buttons-soft .maishop-about-page__actions a,
        body.maishop-visual-buttons-soft .maishop-categories__button,
        body.maishop-visual-buttons-soft .maishop-products__button,
        body.maishop-visual-buttons-soft .maishop-mobile-search__view-all,
        body.maishop-visual-buttons-soft .wc-block-product-filters__apply,
        body.maishop-visual-buttons-soft .maishop-shop-filters-apply__button,
        body.maishop-products-style-enabled.maishop-visual-buttons-soft ul.products li.product .button {
            border-radius: 10px !important;
        }

        body.maishop-visual-buttons-rounded .maishop-button,
        body.maishop-visual-buttons-rounded .maishop-promo__button,
        body.maishop-visual-buttons-rounded .maishop-final-cta__button,
        body.maishop-visual-buttons-rounded .maishop-contact-page__button,
        body.maishop-visual-buttons-rounded .maishop-about-page__actions a,
        body.maishop-visual-buttons-rounded .maishop-categories__button,
        body.maishop-visual-buttons-rounded .maishop-products__button,
        body.maishop-visual-buttons-rounded .maishop-mobile-search__view-all,
        body.maishop-visual-buttons-rounded .wc-block-product-filters__apply,
        body.maishop-visual-buttons-rounded .maishop-shop-filters-apply__button,
        body.maishop-products-style-enabled.maishop-visual-buttons-rounded ul.products li.product .button {
            border-radius: 18px !important;
        }

        body.maishop-visual-buttons-pill .maishop-button,
        body.maishop-visual-buttons-pill .maishop-promo__button,
        body.maishop-visual-buttons-pill .maishop-final-cta__button,
        body.maishop-visual-buttons-pill .maishop-contact-page__button,
        body.maishop-visual-buttons-pill .maishop-about-page__actions a,
        body.maishop-visual-buttons-pill .maishop-categories__button,
        body.maishop-visual-buttons-pill .maishop-products__button,
        body.maishop-visual-buttons-pill .maishop-mobile-search__view-all,
        body.maishop-visual-buttons-pill .wc-block-product-filters__apply,
        body.maishop-visual-buttons-pill .maishop-shop-filters-apply__button,
        body.maishop-products-style-enabled.maishop-visual-buttons-pill ul.products li.product .button {
            border-radius: 999px !important;
        }

        body.maishop-visual-shadows-none .maishop-benefit-card,
        body.maishop-visual-shadows-none .maishop-trust-card,
        body.maishop-visual-shadows-none .maishop-category-card,
        body.maishop-visual-shadows-none .maishop-product-card,
        body.maishop-visual-shadows-none .maishop-promo__inner,
        body.maishop-visual-shadows-none .maishop-faq__item,
        body.maishop-visual-shadows-none .maishop-final-cta__inner,
        body.maishop-visual-shadows-none .maishop-contact-card,
        body.maishop-visual-shadows-none .maishop-contact-page__hero--visual,
        body.maishop-visual-shadows-none .maishop-contact-page__message,
        body.maishop-visual-shadows-none .maishop-contact-form-block,
        body.maishop-visual-shadows-none .maishop-about-page__image,
        body.maishop-visual-shadows-none .maishop-about-page__highlight,
        body.maishop-visual-shadows-none .maishop-legal-page,
        body.maishop-visual-shadows-none .maishop-shop-header,
        body.maishop-visual-shadows-none .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-shadows-none ul.products li.product {
            box-shadow: none !important;
        }

        body.maishop-visual-shadows-soft .maishop-benefit-card,
        body.maishop-visual-shadows-soft .maishop-trust-card,
        body.maishop-visual-shadows-soft .maishop-category-card,
        body.maishop-visual-shadows-soft .maishop-product-card,
        body.maishop-visual-shadows-soft .maishop-promo__inner,
        body.maishop-visual-shadows-soft .maishop-faq__item,
        body.maishop-visual-shadows-soft .maishop-final-cta__inner,
        body.maishop-visual-shadows-soft .maishop-contact-card,
        body.maishop-visual-shadows-soft .maishop-contact-page__hero--visual,
        body.maishop-visual-shadows-soft .maishop-contact-page__message,
        body.maishop-visual-shadows-soft .maishop-contact-form-block,
        body.maishop-visual-shadows-soft .maishop-about-page__image,
        body.maishop-visual-shadows-soft .maishop-about-page__highlight,
        body.maishop-visual-shadows-soft .maishop-legal-page,
        body.maishop-visual-shadows-soft .maishop-shop-header,
        body.maishop-visual-shadows-soft .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-shadows-soft ul.products li.product {
            box-shadow: 0 18px 55px rgba(16, 32, 43, 0.08) !important;
        }

        body.maishop-visual-backgrounds-clean .maishop-promo__inner,
        body.maishop-visual-backgrounds-clean .maishop-faq__item,
        body.maishop-visual-backgrounds-clean .maishop-contact-card,
        body.maishop-visual-backgrounds-clean .maishop-contact-page__message,
        body.maishop-visual-backgrounds-clean .maishop-contact-form-block,
        body.maishop-visual-backgrounds-clean .maishop-about-page__highlight,
        body.maishop-visual-backgrounds-clean .maishop-legal-page,
        body.maishop-visual-backgrounds-clean .maishop-shop-header,
        body.maishop-visual-backgrounds-clean .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-backgrounds-clean ul.products li.product {
            background: #ffffff !important;
        }

        body.maishop-visual-backgrounds-soft .maishop-promo__inner,
        body.maishop-visual-backgrounds-soft .maishop-faq__item,
        body.maishop-visual-backgrounds-soft .maishop-contact-card,
        body.maishop-visual-backgrounds-soft .maishop-contact-page__message,
        body.maishop-visual-backgrounds-soft .maishop-contact-form-block,
        body.maishop-visual-backgrounds-soft .maishop-about-page__highlight,
        body.maishop-visual-backgrounds-soft .maishop-legal-page,
        body.maishop-visual-backgrounds-soft .maishop-shop-header,
        body.maishop-visual-backgrounds-soft .maishop-shop-help__step,
        body.maishop-products-style-enabled.maishop-visual-backgrounds-soft ul.products li.product {
            background: linear-gradient(135deg, #ffffff 0%, #F2FCFD 100%) !important;
        }


        /* MaiShop Builder v1.26.32: buscador avanzado único para móvil y escritorio. */
        .maishop-shop-search__toggle {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: #10202b;
            box-shadow: none;
            cursor: pointer;
            transition: transform .2s ease, background .2s ease, color .2s ease;
        }

        .maishop-shop-search__toggle:hover {
            background: rgba(16, 32, 43, .055);
            color: #5f6b75;
            transform: translateY(-1px);
            outline: none;
        }

        .maishop-shop-search__toggle:focus {
            background: transparent;
            color: #10202b;
            outline: none;
        }

        .maishop-shop-search__toggle svg {
            width: 21px;
            height: 21px;
            display: block;
        }

        .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__panel {
            display: none !important;
        }

        .maishop-mobile-search {
            display: none;
        }

        body.maishop-search-open {
            overflow: hidden !important;
        }

        @media (max-width: 640px) {
            .maishop-shop-search--shortcode.maishop-shop-search--header-ready {
                display: inline-flex;
                align-items: center;
                justify-content: flex-end;
                width: auto;
                max-width: none;
                margin: 0;
                padding: 0;
                position: relative;
                z-index: 9999;
            }

            .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__toggle {
                display: inline-flex !important;
                flex: 0 0 auto;
                transform: translateY(2px);
            }

            .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__toggle:hover,
            .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__toggle:focus {
                background: transparent !important;
                color: #10202b !important;
                transform: translateY(2px);
            }

            .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__panel {
                display: none !important;
            }

            .maishop-mobile-search {
                display: block;
                position: fixed;
                inset: 0;
                z-index: 2147483000;
                width: 100%;
                height: 100vh;
                height: 100dvh;
                background: #ffffff;
                color: #10202b;
                font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transform: translate3d(0, 28px, 0);
                transition: opacity .24s ease, transform .28s cubic-bezier(.22, .78, .2, 1), visibility 0s linear .28s;
                box-sizing: border-box;
            }

            .maishop-mobile-search.is-active {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translate3d(0, 0, 0);
                transition-delay: 0s;
            }

            .maishop-mobile-search__shell {
                display: flex;
                flex-direction: column;
                width: 100%;
                height: 100%;
                background: #ffffff;
            }

            .maishop-mobile-search__topbar {
                display: grid;
                grid-template-columns: 44px minmax(0, 1fr);
                align-items: center;
                gap: 10px;
                flex: 0 0 auto;
                padding: max(14px, env(safe-area-inset-top)) 16px 14px;
                border-bottom: 1px solid #edf0f2;
                background: rgba(255, 255, 255, .98);
                box-sizing: border-box;
            }

            .maishop-mobile-search__back {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 44px;
                height: 44px;
                margin: 0;
                padding: 0;
                border: 0;
                border-radius: 999px;
                background: transparent;
                color: #10202b;
                box-shadow: none;
                cursor: pointer;
            }

            .maishop-mobile-search__back svg {
                width: 25px;
                height: 25px;
            }

            .maishop-mobile-search__form {
                display: grid !important;
                grid-template-columns: 22px minmax(0, 1fr) 42px;
                align-items: center !important;
                gap: 9px !important;
                width: 100%;
                min-height: 52px;
                margin: 0 !important;
                padding: 4px 5px 4px 16px !important;
                border: 1px solid #d9dee3 !important;
                border-radius: 14px !important;
                background: #f7f8f9 !important;
                box-shadow: none !important;
                box-sizing: border-box;
            }

            .maishop-mobile-search__form:focus-within {
                border-color: #b8c0c7 !important;
                background: #ffffff !important;
                box-shadow: 0 0 0 3px rgba(16, 32, 43, .055) !important;
            }

            .maishop-mobile-search__search-icon {
                width: 21px;
                height: 21px;
                color: #626d76;
            }

            .maishop-mobile-search__input {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 42px;
                margin: 0 !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: #10202b !important;
                font-family: inherit !important;
                font-size: 16px !important;
                line-height: 1.2 !important;
                text-align: left !important;
                outline: none !important;
                box-shadow: none !important;
                -webkit-appearance: none;
                appearance: none;
            }

            .maishop-mobile-search__input::-webkit-search-cancel-button {
                display: none;
            }

            .maishop-mobile-search__submit {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                width: 42px !important;
                min-width: 42px !important;
                height: 42px !important;
                min-height: 42px !important;
                margin: 0 !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 11px !important;
                background: transparent !important;
                color: #5f6b75 !important;
                box-shadow: none !important;
                cursor: pointer;
            }

            .maishop-mobile-search__submit svg {
                width: 20px;
                height: 20px;
            }

            .maishop-mobile-search__body {
                flex: 1 1 auto;
                min-height: 0;
                overflow-y: auto;
                overscroll-behavior: contain;
                -webkit-overflow-scrolling: touch;
                padding: 24px 20px calc(42px + env(safe-area-inset-bottom));
                background: #ffffff;
                box-sizing: border-box;
            }

            .maishop-mobile-search__section + .maishop-mobile-search__section {
                margin-top: 34px;
            }

            .maishop-mobile-search__section h2 {
                margin: 0 0 16px;
                color: #10202b;
                font-family: inherit;
                font-size: 14px;
                font-weight: 850;
                line-height: 1.25;
                letter-spacing: .055em;
                text-transform: uppercase;
            }

            .maishop-mobile-search__chips {
                display: flex;
                gap: 10px;
                overflow-x: auto;
                margin: 0 -20px;
                padding: 0 20px 4px;
                scrollbar-width: none;
                -webkit-overflow-scrolling: touch;
            }

            .maishop-mobile-search__chips::-webkit-scrollbar,
            .maishop-mobile-search__categories::-webkit-scrollbar {
                display: none;
            }

            .maishop-mobile-search__chips a {
                display: inline-flex;
                flex: 0 0 auto;
                align-items: center;
                gap: 8px;
                min-height: 44px;
                padding: 0 15px;
                border: 1px solid #d8dde2;
                border-radius: 12px;
                background: #ffffff;
                color: #233440;
                font-size: 15px;
                font-weight: 650;
                line-height: 1;
                text-decoration: none;
                box-shadow: none;
            }

            .maishop-mobile-search__chips svg {
                width: 17px;
                height: 17px;
                color: #89939b;
            }

            .maishop-mobile-search__featured-products {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 18px 12px;
            }

            .maishop-mobile-search__product {
                display: flex;
                min-width: 0;
                color: #10202b;
                text-decoration: none;
                box-shadow: none;
            }

            .maishop-mobile-search__featured-products .maishop-mobile-search__product {
                flex-direction: column;
                gap: 10px;
            }

            /* MaiShop Builder v1.26.29: las recomendaciones heredan el estilo global de tarjeta. */
            .maishop-mobile-search__featured-products .maishop-product-card {
                width: 100%;
                min-width: 0;
            }

            /* MaiShop Builder v1.26.30: Diseño del tema usa el marcado real de WooCommerce. */
            .maishop-mobile-search__featured-products--style-theme {
                display: block;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce,
            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products {
                width: 100%;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 22px 14px !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products::before,
            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products::after {
                display: none !important;
                content: none !important;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products li.product {
                float: none !important;
                width: auto !important;
                min-width: 0 !important;
                margin: 0 !important;
            }

            .maishop-mobile-search__featured-products--style-classic .maishop-product-card__body {
                min-height: 128px;
                padding: 14px;
            }

            .maishop-mobile-search__featured-products--style-classic .maishop-product-card__body strong {
                font-size: 15px;
                line-height: 1.3;
            }

            .maishop-mobile-search__featured-products--style-classic .maishop-product-card__price,
            .maishop-mobile-search__featured-products--style-classic .maishop-product-card__body em {
                font-size: 13px;
            }

            .maishop-mobile-search__featured-products--style-classic .maishop-product-card__badge {
                top: 10px;
                left: 10px;
                padding: 6px 9px;
                font-size: 11px;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card {
                overflow: visible;
                border: 0;
                border-radius: 0;
                background: transparent;
                box-shadow: none;
                transform: none;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card:hover {
                box-shadow: none;
                transform: none;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__image {
                aspect-ratio: 1 / 1;
                border-radius: 0;
                background: #f6f5f2;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__image img {
                border-radius: 0;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__body {
                min-height: 0;
                gap: 7px;
                padding: 12px 0 0;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__body strong {
                font-size: 15px;
                line-height: 1.28;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__price {
                font-size: 14px;
                line-height: 1.3;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__body em {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 42px;
                margin-top: 7px;
                border-radius: 0;
                background: var(--maishop-mobile-search-button-bg, #10202b);
                color: var(--maishop-mobile-search-button-text, #ffffff);
                font-size: 13px;
                font-weight: 850;
            }

            body.maishop-visual-cards-soft .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 13px;
            }

            body.maishop-visual-cards-rounded .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 22px;
            }

            body.maishop-visual-cards-large .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 30px;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card {
                overflow: visible;
                border: 0;
                border-radius: 0;
                background: transparent;
                box-shadow: none;
                transform: none;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card:hover {
                box-shadow: none;
                transform: none;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__image {
                aspect-ratio: 4 / 5;
                border-radius: var(--maishop-search-gallery-radius, 14px);
                background: #f6f5f2;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__image img {
                border-radius: inherit;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__badge,
            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body em {
                display: none !important;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body {
                min-height: 0;
                gap: 5px;
                padding: 10px 0 0;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body strong {
                display: block;
                min-height: 0;
                overflow: hidden;
                color: #10202b;
                font-size: 15px;
                line-height: 1.35;
                font-weight: 750;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__price {
                color: #596670;
                font-size: 14px;
                line-height: 1.35;
                font-weight: 400;
            }

            .maishop-mobile-search__product-image {
                display: block;
                overflow: hidden;
                width: 100%;
                aspect-ratio: 4 / 5;
                border-radius: 14px;
                background: #f3f5f6;
            }

            .maishop-mobile-search__product-image img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .maishop-mobile-search__product-copy {
                display: flex;
                flex-direction: column;
                min-width: 0;
                gap: 5px;
            }

            .maishop-mobile-search__product-copy strong {
                overflow: hidden;
                color: #10202b;
                font-size: 15px;
                font-weight: 750;
                line-height: 1.35;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .maishop-mobile-search__product-price {
                color: #596670;
                font-size: 14px;
                line-height: 1.35;
            }

            .maishop-mobile-search__product-price del {
                opacity: .56;
            }

            .maishop-mobile-search__product-price ins {
                color: #10202b;
                font-weight: 750;
                text-decoration: none;
            }

            .maishop-mobile-search__categories {
                display: flex;
                gap: 14px;
                overflow-x: auto;
                margin: 0 -20px;
                padding: 0 20px 6px;
                scrollbar-width: none;
                -webkit-overflow-scrolling: touch;
            }

            .maishop-mobile-search__category {
                display: flex;
                flex: 0 0 min(68vw, 270px);
                flex-direction: column;
                color: #10202b;
                text-decoration: none;
                box-shadow: none;
            }

            .maishop-mobile-search__category-image {
                display: block;
                width: 100%;
                aspect-ratio: 4 / 5;
                margin-bottom: 12px;
                border-radius: 16px;
                background: linear-gradient(145deg, #f2f5f6, #e9f7f6);
                background-position: center;
                background-repeat: no-repeat;
                background-size: cover;
            }

            .maishop-mobile-search__category strong {
                font-size: 20px;
                font-weight: 780;
                line-height: 1.25;
            }

            .maishop-mobile-search__category > span:last-child {
                width: max-content;
                margin-top: 5px;
                padding-bottom: 3px;
                border-bottom: 1px solid currentColor;
                color: #51606b;
                font-size: 12px;
                font-weight: 750;
                letter-spacing: .08em;
                text-transform: uppercase;
            }

            .maishop-mobile-search__status {
                margin: 0 0 14px;
                color: #66727c;
                font-size: 14px;
                line-height: 1.5;
            }

            .maishop-mobile-search__results {
                display: grid;
                gap: 10px;
            }

            .maishop-mobile-search__product--compact {
                display: grid;
                grid-template-columns: 72px minmax(0, 1fr) 22px;
                align-items: center;
                gap: 13px;
                min-height: 88px;
                padding: 8px;
                border: 1px solid #edf0f2;
                border-radius: 15px;
                background: #ffffff;
            }

            .maishop-mobile-search__product--compact .maishop-mobile-search__product-image {
                width: 72px;
                aspect-ratio: 1 / 1;
                border-radius: 11px;
            }

            .maishop-mobile-search__product--compact .maishop-mobile-search__product-copy strong {
                white-space: normal;
            }

            .maishop-mobile-search__product-arrow {
                width: 21px;
                height: 21px;
                color: #7b8790;
            }

            .maishop-mobile-search__view-all {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 50px;
                margin-top: 18px;
                border: 1px solid var(--maishop-search-view-all-bg, #10202b);
                border-radius: 13px;
                background: var(--maishop-search-view-all-bg, #10202b);
                color: var(--maishop-search-view-all-text, #ffffff);
                font-size: 15px;
                font-weight: 800;
                text-decoration: none;
                box-sizing: border-box;
            }

            .maishop-mobile-search__view-all:hover,
            .maishop-mobile-search__view-all:focus,
            .maishop-mobile-search__view-all:active,
            .maishop-mobile-search__view-all:visited {
                border-color: var(--maishop-search-view-all-bg, #10202b) !important;
                background: var(--maishop-search-view-all-bg, #10202b) !important;
                color: var(--maishop-search-view-all-text, #ffffff) !important;
                text-decoration: none !important;
            }

            .maishop-mobile-search__view-all[hidden],
            .maishop-mobile-search__live[hidden] {
                display: none !important;
            }
        }

        @media (min-width: 641px) {
            .maishop-shop-search--shortcode.maishop-shop-search--header-ready {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: auto;
                max-width: none;
                margin: 0;
                padding: 0;
            }

            .maishop-shop-search--shortcode.maishop-shop-search--header-ready .maishop-shop-search__toggle {
                display: inline-flex !important;
                width: 38px;
                height: 38px;
            }

            .maishop-mobile-search {
                display: block;
                position: fixed;
                inset: 0;
                z-index: 2147483000;
                width: 100%;
                height: 100vh;
                height: 100dvh;
                background: #ffffff;
                color: #10202b;
                font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transform: translate3d(0, -22px, 0);
                transition: opacity .22s ease, transform .28s cubic-bezier(.22, .78, .2, 1), visibility 0s linear .28s;
                box-sizing: border-box;
            }

            .maishop-mobile-search.is-active {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translate3d(0, 0, 0);
                transition-delay: 0s;
            }

            .maishop-mobile-search__shell {
                display: flex;
                flex-direction: column;
                width: 100%;
                height: 100%;
                background: #ffffff;
            }

            .maishop-mobile-search__topbar {
                display: grid;
                grid-template-columns: 50px minmax(0, 760px) 50px;
                align-items: center;
                justify-content: center;
                gap: 18px;
                flex: 0 0 auto;
                padding: 24px max(32px, calc((100vw - 1180px) / 2));
                border-bottom: 1px solid #edf0f2;
                background: rgba(255, 255, 255, .985);
                box-sizing: border-box;
            }

            .maishop-mobile-search__back {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 46px;
                height: 46px;
                margin: 0;
                padding: 0;
                border: 0;
                border-radius: 999px;
                background: transparent;
                color: #10202b;
                box-shadow: none;
                cursor: pointer;
                transition: background .2s ease, transform .2s ease;
            }

            .maishop-mobile-search__back:hover,
            .maishop-mobile-search__back:focus-visible {
                background: rgba(16, 32, 43, .055);
                transform: translateX(-1px);
                outline: none;
            }

            .maishop-mobile-search__back svg {
                width: 26px;
                height: 26px;
            }

            .maishop-mobile-search__form {
                display: grid !important;
                grid-template-columns: 24px minmax(0, 1fr) 46px;
                align-items: center !important;
                gap: 12px !important;
                width: 100%;
                min-height: 58px;
                margin: 0 !important;
                padding: 5px 6px 5px 19px !important;
                border: 1px solid #d7dde2 !important;
                border-radius: 16px !important;
                background: #f7f8f9 !important;
                box-shadow: none !important;
                box-sizing: border-box;
            }

            .maishop-mobile-search__form:focus-within {
                border-color: #b9c2ca !important;
                background: #ffffff !important;
                box-shadow: 0 0 0 3px rgba(16, 32, 43, .055) !important;
            }

            .maishop-mobile-search__search-icon {
                width: 22px;
                height: 22px;
                color: #6f7b86;
            }

            .maishop-mobile-search__input {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 46px;
                margin: 0 !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: #10202b !important;
                font-family: inherit !important;
                font-size: 18px !important;
                line-height: 1.2 !important;
                text-align: left !important;
                outline: none !important;
                box-shadow: none !important;
                appearance: none;
            }

            .maishop-mobile-search__input::-webkit-search-cancel-button {
                display: none;
            }

            .maishop-mobile-search__submit {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                width: 46px !important;
                min-width: 46px !important;
                height: 46px !important;
                min-height: 46px !important;
                margin: 0 !important;
                padding: 0 !important;
                border: 0 !important;
                border-radius: 12px !important;
                background: transparent !important;
                color: #5f6b75 !important;
                box-shadow: none !important;
                cursor: pointer;
            }

            .maishop-mobile-search__submit svg {
                width: 22px;
                height: 22px;
            }

            .maishop-mobile-search__body {
                flex: 1 1 auto;
                min-height: 0;
                width: 100%;
                max-width: 1180px;
                margin: 0 auto;
                overflow-y: auto;
                overscroll-behavior: contain;
                padding: 34px 32px 64px;
                background: #ffffff;
                box-sizing: border-box;
            }

            .maishop-mobile-search__section + .maishop-mobile-search__section {
                margin-top: 42px;
            }

            .maishop-mobile-search__section h2 {
                margin: 0 0 18px;
                color: #10202b;
                font-family: inherit;
                font-size: 15px;
                font-weight: 850;
                line-height: 1.25;
                letter-spacing: .055em;
                text-transform: uppercase;
            }

            .maishop-mobile-search__chips {
                display: flex;
                flex-wrap: wrap;
                gap: 11px;
                margin: 0;
                padding: 0;
            }

            .maishop-mobile-search__chips a {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                min-height: 44px;
                padding: 0 16px;
                border: 1px solid #d8dde2;
                border-radius: 12px;
                background: #ffffff;
                color: #233440;
                font-size: 15px;
                font-weight: 650;
                line-height: 1;
                text-decoration: none;
            }

            .maishop-mobile-search__chips svg {
                width: 17px;
                height: 17px;
                color: #89939b;
            }

            .maishop-mobile-search__featured-products {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 30px 20px;
            }

            .maishop-mobile-search__featured-products .maishop-product-card {
                width: 100%;
                min-width: 0;
            }

            .maishop-mobile-search__featured-products--style-theme {
                display: block;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce,
            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products {
                width: 100%;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 30px 20px !important;
                margin: 0 !important;
                padding: 0 !important;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products::before,
            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products::after {
                display: none !important;
                content: none !important;
            }

            .maishop-mobile-search__featured-products--style-theme .woocommerce ul.products li.product {
                float: none !important;
                width: auto !important;
                min-width: 0 !important;
                margin: 0 !important;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card,
            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card {
                overflow: visible;
                border: 0;
                background: transparent;
                box-shadow: none;
                transform: none;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__image {
                aspect-ratio: 1 / 1;
                border-radius: 0;
            }

            body.maishop-visual-cards-soft .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 13px;
            }

            body.maishop-visual-cards-rounded .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 22px;
            }

            body.maishop-visual-cards-large .maishop-mobile-search__featured-products--style-gallery {
                --maishop-search-gallery-radius: 30px;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__image {
                overflow: hidden;
                aspect-ratio: 4 / 5;
                border-radius: var(--maishop-search-gallery-radius, 14px);
                background: #f6f5f2;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__image img {
                border-radius: inherit;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__badge,
            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body em {
                display: none !important;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body,
            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__body {
                min-height: 0;
                padding: 12px 0 0;
            }

            .maishop-mobile-search__featured-products--style-gallery .maishop-product-card__body strong {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .maishop-mobile-search__featured-products--style-catalog .maishop-product-card__body em {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-height: 44px;
                margin-top: 8px;
                background: var(--maishop-mobile-search-button-bg, #10202b);
                color: var(--maishop-mobile-search-button-text, #ffffff);
                font-size: 13px;
                font-weight: 850;
            }

            .maishop-mobile-search__categories {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
                gap: 24px;
                margin: 0;
                padding: 0;
            }

            .maishop-mobile-search__category {
                display: flex;
                min-width: 0;
                flex-direction: column;
                color: #10202b;
                text-decoration: none;
            }

            .maishop-mobile-search__category-image {
                display: block;
                width: 100%;
                aspect-ratio: 4 / 5;
                margin-bottom: 12px;
                border-radius: 16px;
                background: linear-gradient(145deg, #f2f5f6, #edf0f2);
                background-position: center;
                background-repeat: no-repeat;
                background-size: cover;
            }

            .maishop-mobile-search__category strong {
                font-size: 20px;
                line-height: 1.25;
            }

            .maishop-mobile-search__category > span:last-child {
                width: max-content;
                margin-top: 5px;
                padding-bottom: 3px;
                border-bottom: 1px solid currentColor;
                color: #51606b;
                font-size: 12px;
                font-weight: 750;
                letter-spacing: .08em;
                text-transform: uppercase;
            }

            .maishop-mobile-search__status {
                max-width: 920px;
                margin: 0 auto 16px;
                color: #66727c;
                font-size: 15px;
                line-height: 1.5;
            }

            .maishop-mobile-search__results {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 12px;
                max-width: 920px;
                margin: 0 auto;
            }

            .maishop-mobile-search__product--compact {
                display: grid;
                grid-template-columns: 82px minmax(0, 1fr) 24px;
                align-items: center;
                gap: 15px;
                min-height: 100px;
                padding: 9px;
                border: 1px solid #edf0f2;
                border-radius: 16px;
                background: #ffffff;
                color: #10202b;
                text-decoration: none;
            }

            .maishop-mobile-search__product--compact .maishop-mobile-search__product-image {
                display: block;
                overflow: hidden;
                width: 82px;
                aspect-ratio: 1 / 1;
                border-radius: 12px;
                background: #f3f5f6;
            }

            .maishop-mobile-search__product--compact .maishop-mobile-search__product-image img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .maishop-mobile-search__product-copy {
                display: flex;
                min-width: 0;
                flex-direction: column;
                gap: 5px;
            }

            .maishop-mobile-search__product-copy strong {
                color: #10202b;
                font-size: 16px;
                font-weight: 750;
                line-height: 1.35;
            }

            .maishop-mobile-search__product-price {
                color: #596670;
                font-size: 14px;
                line-height: 1.35;
            }

            .maishop-mobile-search__product-price del {
                opacity: .56;
            }

            .maishop-mobile-search__product-price ins {
                color: #10202b;
                font-weight: 750;
                text-decoration: none;
            }

            .maishop-mobile-search__product-arrow {
                width: 22px;
                height: 22px;
                color: #7b8790;
            }

            .maishop-mobile-search__view-all {
                display: flex;
                align-items: center;
                justify-content: center;
                width: fit-content;
                min-width: 250px;
                max-width: calc(100% - 40px);
                min-height: 54px;
                margin: 20px auto 0;
                padding: 0 30px;
                border: 1px solid var(--maishop-search-view-all-bg, #10202b);
                border-radius: 13px;
                background: var(--maishop-search-view-all-bg, #10202b);
                color: var(--maishop-search-view-all-text, #ffffff);
                font-size: 15px;
                font-weight: 800;
                text-decoration: none;
                box-sizing: border-box;
            }

            .maishop-mobile-search__view-all:hover,
            .maishop-mobile-search__view-all:focus,
            .maishop-mobile-search__view-all:active,
            .maishop-mobile-search__view-all:visited {
                border-color: var(--maishop-search-view-all-bg, #10202b) !important;
                background: var(--maishop-search-view-all-bg, #10202b) !important;
                color: var(--maishop-search-view-all-text, #ffffff) !important;
                text-decoration: none !important;
            }

            .maishop-mobile-search__view-all[hidden],
            .maishop-mobile-search__live[hidden] {
                display: none !important;
            }
        }

    
        /* MaiShop Builder v1.25.87: Catálogo visual con ancho real, limpio desde v1.25.84 */
        .maishop-catalog-visual-active.woocommerce-page .site-content .ast-container,
        .maishop-catalog-visual-active.woocommerce .site-content .ast-container,
        .maishop-catalog-visual-active.woocommerce-page .content-area,
        .maishop-catalog-visual-active.woocommerce .content-area,
        .maishop-catalog-visual-active.woocommerce-page .site-main,
        .maishop-catalog-visual-active.woocommerce .site-main {
            max-width: none !important;
            width: 100% !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products,
        .maishop-product-cards-catalog.woocommerce-page ul.products,
        .maishop-product-cards-catalog .woocommerce ul.products {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            width: calc(100vw - 64px) !important;
            max-width: 1840px !important;
            margin-left: calc(50% - 50vw + 32px) !important;
            margin-right: calc(50% - 50vw + 32px) !important;
            padding: 0 !important;
            gap: 58px 28px !important;
            list-style: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products::before,
        .maishop-product-cards-catalog.woocommerce ul.products::after,
        .maishop-product-cards-catalog.woocommerce-page ul.products::before,
        .maishop-product-cards-catalog.woocommerce-page ul.products::after,
        .maishop-product-cards-catalog .woocommerce ul.products::before,
        .maishop-product-cards-catalog .woocommerce ul.products::after {
            display: none !important;
            content: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product,
        .maishop-product-cards-catalog .woocommerce ul.products li.product {
            float: none !important;
            clear: none !important;
            width: auto !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
            display: flex !important;
            flex-direction: column !important;
            min-height: 100% !important;
            text-align: left !important;
            transform: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product:hover,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product:hover {
            transform: none !important;
            box-shadow: none !important;
            border-color: transparent !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product a img,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product a img,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a img {
            display: block !important;
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 1.05 / 1 !important;
            object-fit: cover !important;
            margin: 0 0 22px !important;
            padding: 0 !important;
            border-radius: 0 !important;
            background: #f6f5f2 !important;
            box-shadow: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-catalog.woocommerce ul.products li.product .product-category,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .product-category,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .product-category {
            display: block !important;
            margin: 0 0 8px !important;
            padding: 0 !important;
            color: #98a2ad !important;
            font-size: 14px !important;
            line-height: 1.35 !important;
            font-weight: 500 !important;
            text-align: left !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .maishop-product-brand,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .maishop-product-brand,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .maishop-product-brand,
        .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-catalog.woocommerce ul.products li.product .pwb-brands-in-loop,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .pwb-brands-in-loop,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .pwb-brands-in-loop {
            display: block !important;
            margin: 0 0 7px !important;
            padding: 0 !important;
            color: #202832 !important;
            font-size: 16px !important;
            line-height: 1.25 !important;
            font-weight: 760 !important;
            letter-spacing: -0.018em !important;
            text-align: left !important;
        }



        .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title {
            min-height: 44px !important;
            margin: 0 0 11px !important;
            padding: 0 !important;
            color: #10202b !important;
            font-size: 17px !important;
            line-height: 1.28 !important;
            font-weight: 500 !important;
            letter-spacing: -0.018em !important;
            text-align: left !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .price,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
            display: block !important;
            min-height: 28px !important;
            margin: 0 0 18px !important;
            padding: 0 !important;
            color: #5f6977 !important;
            font-size: 19px !important;
            line-height: 1.3 !important;
            font-weight: 820 !important;
            text-align: left !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price ins,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .price ins,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price ins {
            text-decoration: none !important;
            font-weight: 900 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .price del,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .price del,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .price del {
            opacity: .6 !important;
            font-weight: 650 !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .button,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .button,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .button,
        .maishop-product-cards-catalog.woocommerce ul.products li.product a.button,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product a.button,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a.button {
            --maishop-shop-button-color: var(--maishop-shop-search-color, var(--global-palette1, var(--wp--preset--color--primary, #0F9F9A)));
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 100% !important;
            min-height: 52px !important;
            margin: auto 0 0 !important;
            padding: 0 16px !important;
            border: 2px solid var(--maishop-shop-button-color) !important;
            border-radius: 0 !important;
            background: var(--maishop-shop-button-color) !important;
            color: #ffffff !important;
            font-size: 16px !important;
            font-weight: 850 !important;
            line-height: 1 !important;
            text-align: center !important;
            text-decoration: none !important;
            box-shadow: none !important;
            transform: none !important;
        }

        .maishop-product-cards-catalog.woocommerce ul.products li.product .button:hover,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .button:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .button:hover,
        .maishop-product-cards-catalog.woocommerce ul.products li.product a.button:hover,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product a.button:hover,
        .maishop-product-cards-catalog .woocommerce ul.products li.product a.button:hover {
            opacity: .9 !important;
            background: var(--maishop-shop-button-color) !important;
            border-color: var(--maishop-shop-button-color) !important;
            color: #ffffff !important;
            transform: none !important;
        }

        .maishop-product-cards-catalog.woocommerce span.onsale,
        .maishop-product-cards-catalog.woocommerce-page span.onsale,
        .maishop-product-cards-catalog .woocommerce span.onsale,
        .maishop-product-cards-catalog.woocommerce ul.products li.product .onsale,
        .maishop-product-cards-catalog.woocommerce-page ul.products li.product .onsale,
        .maishop-product-cards-catalog .woocommerce ul.products li.product .onsale {
            top: 14px !important;
            left: 14px !important;
            right: auto !important;
            min-width: auto !important;
            min-height: auto !important;
            padding: 7px 11px !important;
            border-radius: 999px !important;
            background: rgba(255,255,255,.92) !important;
            color: #10202b !important;
            font-size: 12px !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            box-shadow: 0 10px 24px rgba(16,32,43,.12) !important;
        }

        .maishop-products--cards-catalog {
            width: calc(100vw - 64px) !important;
            max-width: 1840px !important;
            margin-left: calc(50% - 50vw + 32px) !important;
            margin-right: calc(50% - 50vw + 32px) !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .maishop-products--cards-catalog .maishop-products__grid {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            gap: 58px 28px !important;
            width: 100% !important;
            max-width: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }

        .maishop-products--cards-catalog .maishop-product-card {
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            background: transparent !important;
            overflow: visible !important;
            transform: none !important;
        }

        .maishop-products--cards-catalog .maishop-product-card__image,
        .maishop-products--cards-catalog .maishop-product-card__image img {
            border-radius: 0 !important;
        }

        .maishop-products--cards-catalog .maishop-product-card__body {
            padding: 18px 0 0 !important;
            min-height: 0 !important;
            gap: 10px !important;
        }

        .maishop-products--cards-catalog .maishop-product-card__body strong {
            min-height: 44px !important;
            font-size: 17px !important;
            line-height: 1.28 !important;
            font-weight: 500 !important;
            letter-spacing: -0.02em !important;
        }

        .maishop-products--cards-catalog .maishop-product-card__price,
        .maishop-products--cards-catalog .maishop-product-card__body em {
            font-size: 18px !important;
            line-height: 1.3 !important;
        }

        .maishop-products--cards-catalog .maishop-product-card__body em {
            width: 100% !important;
            min-height: 52px !important;
            margin-top: 16px !important;
            border-radius: 0 !important;
            background: var(--maishop-accent, var(--maishop-shop-search-color, #0F9F9A)) !important;
            color: #ffffff !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-weight: 850 !important;
            text-decoration: none !important;
        }

        @media (min-width: 701px) and (max-width: 1179px) {
            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog.woocommerce-page ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products,
            .maishop-products--cards-catalog .maishop-products__grid {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 48px 22px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog.woocommerce-page ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products,
            .maishop-products--cards-catalog {
                width: calc(100vw - 42px) !important;
                margin-left: calc(50% - 50vw + 21px) !important;
                margin-right: calc(50% - 50vw + 21px) !important;
            }
        }

        @media (max-width: 700px) {
            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog.woocommerce-page ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 42px 8px !important;
            }

            .maishop-products--cards-catalog .maishop-products__grid {
                gap: 42px 8px !important;
            }

            .maishop-products--cards-catalog .maishop-products__grid--mobile-two_columns {
                grid-auto-flow: row !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                grid-auto-columns: auto !important;
                overflow: visible !important;
            }

            .maishop-products--cards-catalog .maishop-products__grid--mobile-one_column {
                grid-auto-flow: row !important;
                grid-template-columns: minmax(0, 1fr) !important;
                grid-auto-columns: auto !important;
                overflow: visible !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products,
            .maishop-product-cards-catalog.woocommerce-page ul.products,
            .maishop-product-cards-catalog .woocommerce ul.products,
            .maishop-products--cards-catalog {
                width: 100vw !important;
                max-width: 100vw !important;
                margin-left: calc(50% - 50vw) !important;
                margin-right: calc(50% - 50vw) !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            .maishop-products--cards-catalog .maishop-products__heading,
            .maishop-products--cards-catalog .maishop-products__button-wrap {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog.woocommerce ul.products li.product .ast-woo-product-category,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .ast-woo-product-category,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .ast-woo-product-category,
            .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .price,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
                padding-left: 12px !important;
                padding-right: 12px !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .button,
            .maishop-product-cards-catalog.woocommerce ul.products li.product a.button,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product a.button,
            .maishop-product-cards-catalog .woocommerce ul.products li.product a.button {
                width: calc(100% - 24px) !important;
                min-height: 46px !important;
                margin-left: 12px !important;
                margin-right: 12px !important;
                font-size: 15px !important;
            }

            .maishop-products--cards-catalog .maishop-product-card__body {
                padding: 14px 10px 0 !important;
            }

            .maishop-products--cards-catalog .maishop-product-card__body strong {
                min-height: 0 !important;
                font-size: 15.5px !important;
                line-height: 1.24 !important;
                font-weight: 540 !important;
            }

            .maishop-products--cards-catalog .maishop-product-card__price,
            .maishop-products--cards-catalog .maishop-product-card__body em {
                font-size: 15px !important;
            }

            .maishop-products--cards-catalog .maishop-product-card__body em {
                min-height: 46px !important;
            }
        }

        
        @media (max-width: 700px) {
            .maishop-product-cards-catalog.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .woocommerce-loop-product__title {
                font-size: 16px !important;
                line-height: 1.25 !important;
                font-weight: 540 !important;
            }

            .maishop-product-cards-catalog.woocommerce ul.products li.product .price,
            .maishop-product-cards-catalog.woocommerce-page ul.products li.product .price,
            .maishop-product-cards-catalog .woocommerce ul.products li.product .price {
                font-size: 16.5px !important;
                font-weight: 820 !important;
            }
        }

        

        /* MaiShop Builder v1.26.28: cuarto estilo global, Galería limpia fiel al buscador móvil. */
        body.maishop-product-cards-gallery {
            --maishop-gallery-radius: 20px;
        }

        body.maishop-product-cards-gallery.maishop-visual-cards-soft {
            --maishop-gallery-radius: 13px;
        }

        body.maishop-product-cards-gallery.maishop-visual-cards-rounded {
            --maishop-gallery-radius: 22px;
        }

        body.maishop-product-cards-gallery.maishop-visual-cards-large {
            --maishop-gallery-radius: 30px;
        }

        .maishop-product-cards-gallery.woocommerce ul.products,
        .maishop-product-cards-gallery.woocommerce-page ul.products,
        .maishop-product-cards-gallery .woocommerce ul.products {
            display: grid !important;
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            gap: 42px 22px !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products::before,
        .maishop-product-cards-gallery.woocommerce ul.products::after,
        .maishop-product-cards-gallery.woocommerce-page ul.products::before,
        .maishop-product-cards-gallery.woocommerce-page ul.products::after,
        .maishop-product-cards-gallery .woocommerce ul.products::before,
        .maishop-product-cards-gallery .woocommerce ul.products::after {
            display: none !important;
            content: none !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product,
        .maishop-product-cards-gallery .woocommerce ul.products li.product {
            float: none !important;
            clear: none !important;
            width: auto !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
            transform: none !important;
            text-align: left !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product:hover,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product:hover,
        .maishop-product-cards-gallery .woocommerce ul.products li.product:hover {
            border: 0 !important;
            box-shadow: none !important;
            transform: none !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
            overflow: hidden !important;
            margin: 0 0 15px !important;
            border-radius: var(--maishop-gallery-radius, 20px) !important;
            background: #f6f5f2 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap img,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
            margin-bottom: 0 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
        .maishop-product-cards-gallery .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
            display: block !important;
            color: inherit !important;
            text-decoration: none !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product a img,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product a img,
        .maishop-product-cards-gallery .woocommerce ul.products li.product a img {
            display: block !important;
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 4 / 5 !important;
            margin: 0 0 15px !important;
            border-radius: var(--maishop-gallery-radius, 20px) !important;
            background: #f6f5f2 !important;
            object-fit: cover !important;
            box-shadow: none !important;
            transition: transform .28s ease !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .astra-shop-summary-wrap,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .astra-shop-summary-wrap,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .astra-shop-summary-wrap {
            padding: 0 2px !important;
            text-align: left !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .ast-woo-product-category,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .product-category,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .product-category,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .product-category,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .posted_in,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .posted_in,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .posted_in,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .maishop-product-brand,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .maishop-product-brand,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .maishop-product-brand,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .woocommerce-loop-product__brand,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .pwb-brands-in-loop,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .pwb-brands-in-loop,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .pwb-brands-in-loop {
            display: none !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .woocommerce-loop-product__title,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .woocommerce-loop-product__title {
            display: -webkit-box !important;
            min-height: 42px !important;
            margin: 0 0 9px !important;
            padding: 0 !important;
            overflow: hidden !important;
            color: #10202b !important;
            font-size: 17px !important;
            line-height: 1.24 !important;
            font-weight: 780 !important;
            letter-spacing: -0.025em !important;
            text-align: left !important;
            -webkit-box-orient: vertical !important;
            -webkit-line-clamp: 2 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .price,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .price,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .price {
            display: block !important;
            margin: 0 !important;
            padding: 0 !important;
            color: #66727f !important;
            font-size: 16px !important;
            line-height: 1.3 !important;
            font-weight: 760 !important;
            text-align: left !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .price ins,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .price ins,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .price ins {
            text-decoration: none !important;
            font-weight: 850 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .price del,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .price del,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .price del {
            opacity: .68 !important;
            font-weight: 560 !important;
        }

        .maishop-product-cards-gallery.woocommerce ul.products li.product .button,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .button,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .button,
        .maishop-product-cards-gallery.woocommerce ul.products li.product a.button,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product a.button,
        .maishop-product-cards-gallery .woocommerce ul.products li.product a.button {
            display: none !important;
        }

        .maishop-product-cards-gallery.woocommerce span.onsale,
        .maishop-product-cards-gallery.woocommerce-page span.onsale,
        .maishop-product-cards-gallery .woocommerce span.onsale,
        .maishop-product-cards-gallery.woocommerce ul.products li.product .onsale,
        .maishop-product-cards-gallery.woocommerce-page ul.products li.product .onsale,
        .maishop-product-cards-gallery .woocommerce ul.products li.product .onsale {
            display: none !important;
        }

        @media (min-width: 701px) and (max-width: 1179px) {
            .maishop-product-cards-gallery.woocommerce ul.products,
            .maishop-product-cards-gallery.woocommerce-page ul.products,
            .maishop-product-cards-gallery .woocommerce ul.products {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 36px 18px !important;
            }
        }

        @media (max-width: 700px) {
            .maishop-product-cards-gallery.woocommerce ul.products,
            .maishop-product-cards-gallery.woocommerce-page ul.products,
            .maishop-product-cards-gallery .woocommerce ul.products {
                width: calc(100vw - 40px) !important;
                max-width: calc(100vw - 40px) !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 36px 12px !important;
                margin-left: calc(50% - 50vw + 20px) !important;
                margin-right: calc(50% - 50vw + 20px) !important;
            }

            .maishop-product-cards-gallery.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
            .maishop-product-cards-gallery.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap,
            .maishop-product-cards-gallery .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
            .maishop-product-cards-gallery.woocommerce ul.products li.product a img,
            .maishop-product-cards-gallery.woocommerce-page ul.products li.product a img,
            .maishop-product-cards-gallery .woocommerce ul.products li.product a img {
                margin-bottom: 11px !important;
            }

            .maishop-product-cards-gallery.woocommerce ul.products li.product .astra-shop-summary-wrap,
            .maishop-product-cards-gallery.woocommerce-page ul.products li.product .astra-shop-summary-wrap,
            .maishop-product-cards-gallery .woocommerce ul.products li.product .astra-shop-summary-wrap {
                padding: 0 !important;
            }

            .maishop-product-cards-gallery.woocommerce ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-gallery.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
            .maishop-product-cards-gallery .woocommerce ul.products li.product .woocommerce-loop-product__title {
                display: block !important;
                min-height: 0 !important;
                margin-bottom: 6px !important;
                overflow: hidden !important;
                font-size: 15.5px !important;
                line-height: 1.28 !important;
                text-overflow: ellipsis !important;
                white-space: nowrap !important;
                -webkit-line-clamp: unset !important;
            }

            .maishop-product-cards-gallery.woocommerce ul.products li.product .price,
            .maishop-product-cards-gallery.woocommerce-page ul.products li.product .price,
            .maishop-product-cards-gallery .woocommerce ul.products li.product .price {
                font-size: 15px !important;
                line-height: 1.35 !important;
            }
        }

        /* MaiShop Builder v1.25.91: Comercial rojo solo en precio rebajado real, no en rangos variables */
        .maishop-sale-price-red.woocommerce ul.products li.product .price,
        .maishop-sale-price-red.woocommerce-page ul.products li.product .price,
        .maishop-sale-price-red .woocommerce ul.products li.product .price,
        .maishop-sale-price-red .maishop-product-card__price {
            color: #5f6977 !important;
        }

        .maishop-sale-price-red.woocommerce ul.products li.product .price ins,
        .maishop-sale-price-red.woocommerce-page ul.products li.product .price ins,
        .maishop-sale-price-red .woocommerce ul.products li.product .price ins,
        .maishop-sale-price-red .maishop-product-card__price ins {
            color: #d93025 !important;
            font-weight: 850 !important;
            text-decoration: none !important;
        }

        .maishop-sale-price-red.woocommerce ul.products li.product .price del,
        .maishop-sale-price-red.woocommerce-page ul.products li.product .price del,
        .maishop-sale-price-red .woocommerce ul.products li.product .price del,
        .maishop-sale-price-red .maishop-product-card__price del {
            color: #7d8793 !important;
            opacity: .82 !important;
            font-weight: 500 !important;
            text-decoration-thickness: 1.5px !important;
        }

        .maishop-sale-price-elegant.woocommerce ul.products li.product .price ins,
        .maishop-sale-price-elegant.woocommerce-page ul.products li.product .price ins,
        .maishop-sale-price-elegant .woocommerce ul.products li.product .price ins,
        .maishop-sale-price-elegant .maishop-product-card__price ins {
            color: inherit !important;
            text-decoration: none !important;
        }

        .maishop-sale-price-elegant.woocommerce ul.products li.product .price del,
        .maishop-sale-price-elegant.woocommerce-page ul.products li.product .price del,
        .maishop-sale-price-elegant .woocommerce ul.products li.product .price del,
        .maishop-sale-price-elegant .maishop-product-card__price del {
            color: #98a2ad !important;
            opacity: .75 !important;
        }

        /* MaiShop Builder v1.26.26: el buscador móvil respeta el estilo global de precios en oferta. */
        body.maishop-sale-price-red .maishop-mobile-search__product-price {
            color: #596670 !important;
        }

        body.maishop-sale-price-red .maishop-mobile-search__product-price ins {
            color: #d93025 !important;
            font-weight: 850 !important;
            text-decoration: none !important;
        }

        body.maishop-sale-price-red .maishop-mobile-search__product-price del {
            color: #7d8793 !important;
            opacity: .82 !important;
            font-weight: 500 !important;
            text-decoration-thickness: 1.5px !important;
        }

        body.maishop-sale-price-elegant .maishop-mobile-search__product-price ins {
            color: #10202b !important;
            font-weight: 750 !important;
            text-decoration: none !important;
        }

        body.maishop-sale-price-elegant .maishop-mobile-search__product-price del {
            color: #98a2ad !important;
            opacity: .75 !important;
        }

        
        /* MaiShop Builder v1.25.95: footer de home Basic con color personalizado/neutro y fondo suave/sólido */
        .maishop-home-footer {
            --maishop-footer-accent: var(--maishop-footer-custom, #0F9F9A);
            color: #10202b;
            box-sizing: border-box;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .maishop-home-footer *,
        .maishop-home-footer *::before,
        .maishop-home-footer *::after {
            box-sizing: border-box;
        }

        .maishop-home-footer--color-neutral {
            --maishop-footer-accent: #64748b;
        }

        .maishop-home-footer--color-custom {
            --maishop-footer-accent: var(--maishop-footer-custom, #0F9F9A);
        }

        .maishop-home-footer--full {
            width: 100vw;
            max-width: 100vw;
            margin-top: clamp(48px, 8vw, 92px);
            margin-bottom: 0;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding: clamp(34px, 5vw, 62px) 24px;
            border-top: 1px solid rgba(16, 32, 43, .08);
            border-bottom: 1px solid rgba(16, 32, 43, .08);
            border-radius: 0;
            background:
                radial-gradient(circle at 8% 14%, color-mix(in srgb, var(--maishop-footer-accent) 17%, transparent), transparent 26%),
                linear-gradient(90deg,
                    color-mix(in srgb, var(--maishop-footer-accent) 7%, #ffffff) 0%,
                    color-mix(in srgb, var(--maishop-footer-accent) 3%, #ffffff) 25%,
                    #ffffff 43%,
                    #ffffff 100%
                );
            box-shadow: none;
        }

        .maishop-home-footer--boxed {
            width: min(1180px, calc(100% - 32px));
            margin: clamp(48px, 8vw, 96px) auto 0;
            padding: clamp(26px, 4vw, 42px);
            border: 1px solid rgba(16, 32, 43, .08);
            border-radius: 32px;
            background:
                radial-gradient(circle at 9% 14%, color-mix(in srgb, var(--maishop-footer-accent) 17%, transparent), transparent 28%),
                linear-gradient(90deg,
                    color-mix(in srgb, var(--maishop-footer-accent) 7%, #ffffff) 0%,
                    color-mix(in srgb, var(--maishop-footer-accent) 3%, #ffffff) 27%,
                    #ffffff 45%,
                    #ffffff 100%
                );
            box-shadow: 0 22px 70px rgba(16, 32, 43, .06);
        }

        .maishop-home-footer--bg-solid {
            background: var(--maishop-footer-accent) !important;
            border-color: color-mix(in srgb, #ffffff 18%, transparent) !important;
            color: #ffffff !important;
        }

        .maishop-home-footer--boxed.maishop-home-footer--bg-solid {
            box-shadow: 0 22px 70px color-mix(in srgb, var(--maishop-footer-accent) 26%, transparent);
        }

        .maishop-home-footer--full .maishop-home-footer__inner,
        .maishop-home-footer--full .maishop-home-footer__bottom {
            width: min(1180px, 100%);
            margin-left: auto;
            margin-right: auto;
        }

        .maishop-home-footer__inner {
            display: grid;
            grid-template-columns: minmax(240px, 1.1fr) minmax(0, 1.9fr);
            gap: clamp(28px, 5vw, 64px);
            align-items: start;
        }

        .maishop-home-footer__brand strong {
            display: block;
            color: #10202b;
            font-size: clamp(22px, 2.6vw, 30px);
            line-height: 1.08;
            font-weight: 900;
            letter-spacing: -0.04em;
        }

        .maishop-home-footer__brand p {
            max-width: 420px;
            margin: 14px 0 0;
            color: #627081;
            font-size: 16px;
            line-height: 1.65;
        }

        .maishop-home-footer__socials {
            display: flex;
            flex-wrap: wrap;
            gap: 9px;
            margin-top: 22px;
        }

        .maishop-home-footer__brand > .maishop-home-footer__socials:first-child {
            margin-top: 0;
        }

        .maishop-home-footer__socials a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 36px;
            padding: 0 14px;
            border: 1px solid color-mix(in srgb, var(--maishop-footer-accent) 24%, transparent);
            border-radius: 999px;
            color: var(--maishop-footer-accent) !important;
            background: color-mix(in srgb, var(--maishop-footer-accent) 7%, transparent);
            font-size: 13px;
            line-height: 1;
            font-weight: 850;
            text-decoration: none !important;
            transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
        }

        .maishop-home-footer__socials a:hover {
            transform: translateY(-2px);
            border-color: color-mix(in srgb, var(--maishop-footer-accent) 40%, transparent);
            background: color-mix(in srgb, var(--maishop-footer-accent) 12%, transparent);
            text-decoration: none !important;
        }

        .maishop-home-footer__nav {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(18px, 3vw, 36px);
        }

        .maishop-home-footer__column h3 {
            margin: 0 0 14px;
            color: #10202b;
            font-size: 14px;
            line-height: 1.2;
            font-weight: 900;
            letter-spacing: .05em;
            text-transform: uppercase;
        }

        .maishop-home-footer__column ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 10px;
        }

        .maishop-home-footer__column a {
            color: #627081 !important;
            font-size: 15px;
            line-height: 1.35;
            font-weight: 650;
            text-decoration: none !important;
            transition: color .2s ease;
        }

        .maishop-home-footer__column a:hover {
            color: var(--maishop-footer-accent) !important;
            text-decoration: none !important;
        }

        .maishop-home-footer__bottom {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            margin-top: clamp(28px, 4vw, 42px);
            padding-top: 22px;
            border-top: 1px solid rgba(16, 32, 43, .08);
            color: #6a7482;
            font-size: 14px;
            line-height: 1.45;
            font-weight: 600;
        }

        .maishop-home-footer--text-light .maishop-home-footer__brand strong,
        .maishop-home-footer--text-light .maishop-home-footer__column h3 {
            color: #ffffff !important;
        }

        .maishop-home-footer--text-light .maishop-home-footer__brand p,
        .maishop-home-footer--text-light .maishop-home-footer__column a,
        .maishop-home-footer--text-light .maishop-home-footer__bottom {
            color: rgba(255,255,255,.82) !important;
        }

        .maishop-home-footer--text-light .maishop-home-footer__column a:hover {
            color: #ffffff !important;
        }

        .maishop-home-footer--text-light .maishop-home-footer__bottom {
            border-top-color: rgba(255,255,255,.20);
        }

        .maishop-home-footer--text-light .maishop-home-footer__socials a {
            color: #ffffff !important;
            border-color: rgba(255,255,255,.30);
            background: rgba(255,255,255,.12);
        }

        .maishop-home-footer--text-light .maishop-home-footer__socials a:hover {
            border-color: rgba(255,255,255,.44);
            background: rgba(255,255,255,.18);
        }

        .maishop-home-footer--text-dark .maishop-home-footer__brand strong,
        .maishop-home-footer--text-dark .maishop-home-footer__column h3 {
            color: #10202b !important;
        }

        .maishop-home-footer--text-dark .maishop-home-footer__brand p,
        .maishop-home-footer--text-dark .maishop-home-footer__column a,
        .maishop-home-footer--text-dark .maishop-home-footer__bottom {
            color: rgba(16,32,43,.72) !important;
        }

        .maishop-home-footer--text-dark .maishop-home-footer__column a:hover {
            color: #10202b !important;
        }

        .maishop-home-footer--text-dark .maishop-home-footer__bottom {
            border-top-color: rgba(16,32,43,.12);
        }

        .maishop-home-footer--text-dark .maishop-home-footer__socials a {
            color: #10202b !important;
            border-color: rgba(16,32,43,.16);
            background: rgba(255,255,255,.34);
        }

        .maishop-home-footer--text-dark .maishop-home-footer__socials a:hover {
            border-color: rgba(16,32,43,.28);
            background: rgba(255,255,255,.52);
        }

        /* MaiShop Builder v1.26.05: footer global y variante compacta para compra/cuenta */
        .maishop-home-footer--compact {
            padding-top: clamp(24px, 3.5vw, 38px);
            padding-bottom: clamp(24px, 3.5vw, 38px);
        }

        .maishop-home-footer--compact .maishop-home-footer__inner--compact {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 22px 32px;
        }

        .maishop-home-footer--compact .maishop-home-footer__brand--compact {
            flex: 0 1 auto;
        }

        .maishop-home-footer--compact .maishop-home-footer__brand strong {
            font-size: clamp(20px, 2vw, 26px);
        }

        .maishop-home-footer__compact-links {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-end;
            gap: 10px 18px;
        }

        .maishop-home-footer__compact-links a {
            color: #627081 !important;
            font-size: 14px;
            line-height: 1.35;
            font-weight: 700;
            text-decoration: none !important;
            transition: color .2s ease;
        }

        .maishop-home-footer__compact-links a:hover {
            color: var(--maishop-footer-accent) !important;
            text-decoration: none !important;
        }

        .maishop-home-footer--compact .maishop-home-footer__bottom {
            margin-top: 20px;
            padding-top: 18px;
        }

        .maishop-home-footer--text-light .maishop-home-footer__compact-links a {
            color: rgba(255,255,255,.82) !important;
        }

        .maishop-home-footer--text-light .maishop-home-footer__compact-links a:hover {
            color: #ffffff !important;
        }

        .maishop-home-footer--text-dark .maishop-home-footer__compact-links a {
            color: rgba(16,32,43,.72) !important;
        }

        .maishop-home-footer--text-dark .maishop-home-footer__compact-links a:hover {
            color: #10202b !important;
        }

        @media (max-width: 820px) {
            .maishop-home-footer__inner {
                grid-template-columns: 1fr;
            }

            .maishop-home-footer__nav {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 640px) {
            .maishop-home-footer--full {
                margin-top: 56px;
                padding: 34px 18px;
            }

            .maishop-home-footer--boxed {
                width: calc(100% - 24px);
                margin-top: 56px;
                padding: 28px 22px;
                border-radius: 28px;
            }

            .maishop-home-footer__brand strong {
                font-size: 28px;
            }

            .maishop-home-footer__brand p {
                font-size: 15px;
                line-height: 1.6;
            }

            .maishop-home-footer__nav {
                grid-template-columns: 1fr;
                gap: 24px;
            }

            .maishop-home-footer__column ul {
                gap: 8px;
            }

            .maishop-home-footer--compact .maishop-home-footer__inner--compact {
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 18px;
                text-align: center;
            }

            .maishop-home-footer__compact-links {
                justify-content: center;
                gap: 10px 16px;
            }

            .maishop-home-footer--compact.maishop-home-footer--full,
            .maishop-home-footer--compact.maishop-home-footer--boxed {
                padding-top: 28px;
                padding-bottom: 28px;
            }

            .maishop-home-footer__bottom {
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 8px;
                font-size: 13px;
                text-align: center;
            }
        }

                /* MaiShop Builder v1.25.99 móvil footer suave */

        @media (max-width: 820px) {
            .maishop-home-footer--full:not(.maishop-home-footer--bg-solid),
            .maishop-home-footer--boxed:not(.maishop-home-footer--bg-solid) {
                background:
                    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--maishop-footer-accent) 13%, transparent), transparent 30%),
                    linear-gradient(180deg, color-mix(in srgb, var(--maishop-footer-accent) 3%, #ffffff), #ffffff 72%) !important;
            }
        }

        
        /* MaiShop Builder v1.26.00: redes en modo suave usan el color elegido */
        .maishop-home-footer:not(.maishop-home-footer--bg-solid) .maishop-home-footer__socials a {
            color: var(--maishop-footer-accent) !important;
            border-color: color-mix(in srgb, var(--maishop-footer-accent) 24%, transparent) !important;
            background: color-mix(in srgb, var(--maishop-footer-accent) 7%, transparent) !important;
        }

        .maishop-home-footer:not(.maishop-home-footer--bg-solid) .maishop-home-footer__socials a:hover {
            color: #ffffff !important;
            border-color: var(--maishop-footer-accent) !important;
            background: var(--maishop-footer-accent) !important;
        }

        
        /* MaiShop Builder v1.26.01: modo Neutro del footer limpio y sin acento */
        .maishop-home-footer--color-neutral:not(.maishop-home-footer--bg-solid) {
            --maishop-footer-accent: #10202b;
            background: #ffffff !important;
        }

        .maishop-home-footer--color-neutral.maishop-home-footer--boxed:not(.maishop-home-footer--bg-solid) {
            background: #ffffff !important;
        }

        .maishop-home-footer--color-neutral:not(.maishop-home-footer--bg-solid) .maishop-home-footer__socials a {
            color: #10202b !important;
            border-color: rgba(16, 32, 43, .16) !important;
            background: rgba(16, 32, 43, .025) !important;
        }

        .maishop-home-footer--color-neutral:not(.maishop-home-footer--bg-solid) .maishop-home-footer__socials a:hover {
            color: #10202b !important;
            border-color: rgba(16, 32, 43, .28) !important;
            background: rgba(16, 32, 43, .055) !important;
        }

        .maishop-home-footer--color-neutral.maishop-home-footer--bg-solid {
            --maishop-footer-accent: #ffffff;
            background: #ffffff !important;
            border-color: rgba(16, 32, 43, .08) !important;
        }

        /*
         * Filtros de la tienda (ver "Filtros de la tienda" en Ajustes > MaiShop
         * y maishop_builder_shop_filters_block() en includes/frontend.php).
         *
         * Reviste el bloque nativo "Filtros de productos" de WooCommerce con la
         * estetica de MaiShop, apoyandose en las variables CSS que el propio
         * bloque ya expone para personalizacion (verificadas en el codigo
         * fuente de WooCommerce: product-filter-checkbox-list-style.css,
         * product-filter-price-slider-style.css y product-filter-removable-
         * chips-style.css) en vez de sobreescribir su marcado interno a ciegas.
         * Si WooCommerce cambia el diseno interno de estos bloques en una
         * futura version, esta capa sigue funcionando mientras esas variables
         * sigan existiendo; en el peor caso, el bloque vuelve a su
         * aspecto por defecto (sigue funcionando, solo pierde el estilo).
         *
         * v1.26.70 probo "overlayMode":"always" (un atributo del bloque de
         * WooCommerce) para que el panel con boton "Aplicar" se usara tambien
         * en escritorio, no solo en movil. En la prueba real rompio el
         * aspecto de escritorio (aparecia sin tarjeta, sin cajon, sin fondo,
         * el contenido suelto en la pagina) y en movil siguio recargando la
         * pagina al marcar una casilla igual que antes -es decir, no
         * soluciono nada y encima estropeo lo que ya funcionaba-, asi que
         * v1.26.71 lo revierte: vuelve al comportamiento de v1.26.69 (tarjeta
         * blanca con los filtros siempre visibles en escritorio, cajon solo
         * por debajo de 600px), conservando la tipografia y los colores de
         * chip que si se pidieron y si funcionaban bien (estetica igual a la
         * del buscador movil de MaiShop). Lo de que marcar un filtro recargue
         * la pagina en vez de esperar a "Aplicar" no es una cuestion de CSS
         * ni de este atributo: en un tema clasico (no de bloques, como Astra)
         * WordPress desactiva la navegacion "sin recargar" de su Interactivity
         * API (wp_interactivity_config('core/router',
         * ['clientNavigationDisabled' => true]), confirmado en el propio
         * codigo de WooCommerce) y cada interaccion de filtro navega de
         * verdad -con o sin cajon, con o sin boton "Aplicar" visible-.
         * Conseguir un "marca varias casillas y luego aplica" de verdad ahi
         * exigiria JavaScript propio que sustituya ese comportamiento nativo,
         * no un ajuste de estilos.
         */
        .maishop-shop-filters-wrap {
            --wc-product-filter-checkbox-list-option-element: #ffffff;
            --wc-product-filter-checkbox-list-option-element-border: #d8dde2;
            --wc-product-filter-checkbox-list-option-element-selected: var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A));
            --wc-product-filter-checkbox-list-label-element: #233440;
            --wc-product-filter-price-slider: var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A));
            --wc-product-filter-price-slider-handle: #ffffff;
            --wc-product-filter-price-slider-handle-border: var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A));
            --wc-product-filter-removable-chips-background: color-mix(in srgb, var(--maishop-filters-chips-color, var(--maishop-brand-color, #0F9F9A)) 10%, #ffffff);
            --wc-product-filter-removable-chips-border: color-mix(in srgb, var(--maishop-filters-chips-color, var(--maishop-brand-color, #0F9F9A)) 45%, transparent);
            --wc-product-filter-removable-chips-text: #10202b;
            margin: 0 0 28px;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        /* Botón propio "Filtros" (v1.26.75, rediseñado en v1.26.77): en
           escritorio el panel ya no está visible todo el rato -se abre/cierra
           con este botón, independiente del cajón nativo de móvil que sigue
           funcionando exactamente igual que antes-. Oculto en móvil porque
           ahí ya existe el botón nativo "Filtrar y ordenar" que abre el
           cajón; no queremos dos botones.
           v1.26.77: la primera versión era una barra ancha con borde, y al
           pasar el cursor el texto se volvía casi ilegible -el tema (Astra)
           pone su propio estilo de <button> al pasar el cursor (letra
           blanca), y como aquí faltaba el "!important" que sí llevan el
           resto de botones de este archivo, ganaba el tema-. Ahora es
           deliberadamente discreto: sin borde ni fondo, solo icono + texto
           pequeño, alineado a la derecha (con "width:fit-content" +
           "margin-left:auto", que funciona igual dentro de un contenedor de
           bloque normal o de flexbox, sin depender de cómo esté maquetado el
           elemento que lo contiene), y con "!important" en todas las
           propiedades visuales para que el estilo de <button> del tema no
           pueda colarse ni en :hover. */
        .maishop-shop-filters-wrap {
            position: relative;
        }

        .maishop-shop-filters-toggle {
            display: none;
        }

        @media (min-width: 601px) {
            .maishop-shop-filters-toggle {
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 6px !important;
                width: fit-content !important;
                min-height: auto !important;
                margin: 0 0 14px auto !important;
                padding: 5px 2px !important;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: var(--maishop-filters-button-color, var(--maishop-brand-color, #0F9F9A)) !important;
                font-family: inherit !important;
                font-weight: 650 !important;
                font-size: 13px !important;
                cursor: pointer !important;
                box-shadow: none !important;
                opacity: 1 !important;
                transition: opacity .18s ease;
            }

            .maishop-shop-filters-toggle:hover {
                opacity: .7 !important;
            }

            .maishop-shop-filters-panel {
                display: none;
            }

            .maishop-shop-filters-wrap.is-filters-open .maishop-shop-filters-panel {
                display: block;
            }
        }

        .maishop-shop-filters-toggle svg {
            width: 15px;
            height: 15px;
            flex: none;
        }

        /* En escritorio (por encima de 600px) WooCommerce muestra los
           filtros siempre visibles, sin cajón ni botón "Aplicar" -esto es
           así aunque no se le pida nada especial, es su comportamiento de
           fábrica-, así que esta tarjeta blanca es lo que se ve la mayor
           parte del tiempo: hace de contenedor de todo el panel.
           v1.26.78: esta tarjeta vivía sin media query, así que también se
           pintaba en móvil -antes no se notaba porque el botón "Filtrar y
           ordenar" ocupaba todo el ancho y tapaba la tarjeta con su propio
           fondo blanco, pero al hacerlo pequeño y discreto en v1.26.77 la
           tarjeta quedó visible detrás como un rectángulo suelto-. Ahora solo
           se pinta a partir de 601px; en móvil este mismo div queda sin
           fondo, borde, sombra ni relleno. */
        .maishop-shop-filters-wrap .wc-block-product-filters {
            display: block;
            width: 100%;
        }

        @media (min-width: 601px) {
            .maishop-shop-filters-wrap .wc-block-product-filters {
                background: #ffffff;
                border: 1px solid rgba(16, 32, 43, .08);
                border-radius: 22px;
                box-shadow: 0 16px 38px rgba(16, 32, 43, .05);
                padding: 24px 26px 28px;
            }
        }

        @media (max-width: 600px) {
            .maishop-shop-filters-wrap .wc-block-product-filters {
                background: transparent;
                border: 0;
                box-shadow: none;
                padding: 0;
            }
        }

        /* Botón "Filtrar productos" que WooCommerce ya trae para móvil (abre
           el mismo panel en un cajón inferior): oculto por defecto -en
           escritorio los filtros se ven siempre, sin necesidad de él- y solo
           visible por debajo de 600px, el mismo punto de corte en el que
           WooCommerce pasa de "siempre visible" a "cajón móvil". Con
           !important en las propiedades visuales porque el tema (Astra)
           también pone sus propios estilos de <button> y sin !important
           ganaba el tema.
           v1.26.77: mismo rediseño "discreto" que el botón "Filtros" de
           escritorio -sin borde ni fondo, solo icono + texto pequeño,
           alineado a la derecha con "width:fit-content" + "margin-left:auto"-
           y con el mismo color personalizable (antes era un gris fijo, sin
           selector). Al dejar de tener borde/fondo, el radio de esquina de
           "Estilo y tipografía" ya no pinta nada aquí, así que se ha quitado
           de los grupos ".maishop-visual-buttons-*" de más arriba. */
        .maishop-shop-filters-wrap .wc-block-product-filters__open-overlay {
            display: none !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            width: fit-content !important;
            min-height: auto !important;
            margin: 0 0 14px auto !important;
            padding: 5px 2px !important;
            border: 0 !important;
            background: transparent !important;
            color: var(--maishop-filters-button-color, var(--maishop-brand-color, #0F9F9A)) !important;
            font-family: inherit !important;
            font-weight: 650 !important;
            font-size: 13px !important;
            box-shadow: none !important;
            opacity: 1 !important;
            transition: opacity .18s ease;
        }

        .maishop-shop-filters-wrap .wc-block-product-filters__open-overlay:hover {
            opacity: .7 !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filters__open-overlay svg {
            width: 15px !important;
            height: 15px !important;
        }

        @media (max-width: 600px) {
            .maishop-shop-filters-wrap .wc-block-product-filters__open-overlay {
                display: flex !important;
            }
        }

        /* Dentro del panel: título "Filtrar y ordenar", con la tipografía de
           sistema del resto del panel (no la de marca, ver nota de arriba). */
        .maishop-shop-filters-wrap .wp-block-heading {
            color: #10202b;
            font-size: 19px;
            font-weight: 800;
            font-family: inherit;
        }

        /* "Clasificar por": mismas opciones que el desplegable clásico de
           WooCommerce (Por defecto/Novedades/Los más vendidos...), como una
           fila de pastillas horizontal con scroll en vez de un <select>. El
           rótulo comparte estilo exacto con las cabeceras de sección del
           buscador móvil ("Búsquedas destacadas", "Ofertas destacadas"). */
        .maishop-shop-sort {
            margin-top: 14px;
        }

        .maishop-shop-sort__label,
        .maishop-filter-group__summary span {
            font-family: inherit;
            color: #10202b;
            font-size: 14px;
            font-weight: 850;
            line-height: 1.25;
            letter-spacing: .055em;
            text-transform: uppercase;
        }

        .maishop-shop-sort__label {
            margin: 0 0 10px;
        }

        .maishop-shop-sort__pills {
            display: flex;
            flex-wrap: nowrap;
            gap: 10px;
            overflow-x: auto;
            padding-bottom: 2px;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }

        .maishop-shop-sort__pills::-webkit-scrollbar {
            display: none;
        }

        .maishop-shop-sort__pill {
            flex: none;
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 0 15px;
            border: 1px solid #d8dde2;
            border-radius: 12px;
            background: #ffffff;
            color: #233440;
            font-family: inherit;
            font-size: 15px;
            font-weight: 650;
            line-height: 1;
            text-decoration: none;
            white-space: nowrap;
            box-shadow: none;
            transition: border-color .18s ease, background .18s ease, color .18s ease;
        }

        .maishop-shop-sort__pill:hover {
            border-color: color-mix(in srgb, var(--maishop-filters-sort-color, var(--maishop-brand-color, #0F9F9A)) 55%, #d8dde2);
        }

        /* Pastilla activa de "Clasificar por" con contorno, no relleno sólido
           (fondo blanco, borde y texto en el color de acento) -pedido
           explícitamente para que se vea "más elegante"-. */
        .maishop-shop-sort__pill.is-active {
            border-color: var(--maishop-filters-sort-color, var(--maishop-brand-color, #0F9F9A));
            background: #ffffff;
            color: var(--maishop-filters-sort-color, var(--maishop-brand-color, #0F9F9A));
        }

        /* Cada grupo de filtro (Precio, Categoría, un atributo...) es un
           <details>/<summary> nativo: acordeón sin JS, cerrado por defecto,
           para que la lista sea compacta en vez de mostrarlo todo expandido. */
        .maishop-filter-group {
            border: none;
        }

        .maishop-filter-group__summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            list-style: none;
            cursor: pointer;
            padding: 2px 0;
        }

        .maishop-filter-group__summary::-webkit-details-marker {
            display: none;
        }

        .maishop-filter-group__summary::marker {
            content: '';
        }

        .maishop-filter-group__chevron {
            flex: none;
            color: #89939b;
            transition: transform .2s ease;
        }

        .maishop-filter-group[open] > .maishop-filter-group__summary .maishop-filter-group__chevron {
            transform: rotate(180deg);
            color: var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A));
        }

        .maishop-filter-group__body {
            padding-top: 12px;
        }

        /* Filas de filtros (Precio, Categoría, Disponibilidad, cada atributo):
           ritmo vertical consistente en vez del salto grande por defecto. */
        .maishop-shop-filters-wrap .wc-block-product-filters__overlay-content > * + * {
            margin-top: 18px;
            padding-top: 18px;
            border-top: 1px solid rgba(16, 32, 43, .06);
        }

        /* "Filtrar y ordenar" + "Clasificar por" + resumen de filtros activos
           comparten cabecera, sin línea divisoria entre ellos. */
        .maishop-shop-filters-wrap .wc-block-product-filter-active,
        .maishop-shop-filters-wrap .maishop-shop-sort {
            margin-top: 10px !important;
            padding-top: 0 !important;
            border-top: 0 !important;
        }

        /* Casillas -> botones de esquinas redondeadas (no pastilla completa),
           en cuadrícula que envuelve en varias columnas -como las opciones de
           filtro de referencia-, no una lista apilada de una sola columna.
           Nota: el contenedor real de cada opción es
           ".wc-block-product-filter-checkbox-list__items" (un nivel más
           adentro de lo que parece: WooCommerce mete un <fieldset
           style="display:contents"> -transparente para el layout- entre
           medias), así que el ajuste de columnas va ahí, no en el bloque. */
        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__items {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__item {
            flex: none;
        }

        /* El cuadrado de checkbox nativo se oculta visualmente -el botón
           entero hace de checkbox- pero sigue ahí para teclado/lectores de
           pantalla (oculto sin display:none, que rompería el foco). */
        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__input-wrapper {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        /* Mismos tokens que los chips del buscador móvil
           (.maishop-mobile-search__chips a): borde #d8dde2, radio 12px,
           mínimo 44px de alto, 15px/650. */
        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__label {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-height: 44px;
            margin: 0;
            padding: 0 15px;
            border: 1px solid #d8dde2;
            border-radius: 12px;
            background: #ffffff;
            color: #233440;
            font-family: inherit;
            font-size: 15px;
            font-weight: 650;
            line-height: 1;
            text-align: center;
            cursor: pointer;
            transition: border-color .18s ease, background .18s ease;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__label:hover {
            border-color: color-mix(in srgb, var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A)) 55%, #d8dde2);
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__label:has(input:checked) {
            border-color: var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A));
            background: color-mix(in srgb, var(--maishop-filters-accent-color, var(--maishop-brand-color, #0F9F9A)) 12%, #ffffff);
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__count {
            color: #89939b;
            font-size: 13px;
        }

        /* Recálculo en vivo (v1.26.74, solo con "Marcar varios filtros antes de
           aplicar" activo). Una opción que se queda sin productos con lo que hay
           marcado no desaparece -eso haría saltar la lista y perder la
           referencia-: se atenúa y deja de poder marcarse, igual que en los
           paneles de filtro de las tiendas grandes. Las opciones que no tienen
           ningún producto en toda la tienda sí se ocultan, que es lo que hace
           WooCommerce de fábrica. */
        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__item.maishop-filter-option--hidden {
            display: none !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__item.maishop-filter-option--empty > label {
            border-color: #e7ebee;
            background: #f7f8f9;
            color: #a8b1b8;
            cursor: not-allowed;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__item.maishop-filter-option--empty > label:hover {
            border-color: #e7ebee;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-checkbox-list__item.maishop-filter-option--empty .wc-block-product-filter-checkbox-list__count {
            color: #bcc4ca;
        }

        /* Mientras se están recalculando los contadores. Es deliberadamente
           discreto: en una tienda pequeña la respuesta llega en décimas y un
           indicador llamativo se vería como un parpadeo. */
        .maishop-shop-filters-wrap.maishop-shop-filters--recalculating .wc-block-product-filter-checkbox-list__count {
            opacity: .45;
            transition: opacity .12s ease;
        }

        /* Botón "Aplicar" propio para escritorio (v1.26.74). WooCommerce solo
           trae botón de aplicar dentro del cajón móvil: en escritorio su pie
           (.wc-block-product-filters__overlay-footer) está en display:none, así
           que con "marcar varios filtros antes de aplicar" activo no había
           forma de aplicar lo marcado. Este botón solo se pinta cuando ese modo
           está activo, y solo se ve de 600px en adelante -por debajo manda el
           cajón nativo, que ya trae el suyo-. */
        .maishop-shop-filters-wrap .maishop-shop-filters-apply {
            display: none;
        }

        @media (min-width: 600px) {
            .maishop-shop-filters-wrap .maishop-shop-filters-apply {
                display: block;
                margin-top: 18px;
            }
        }

        .maishop-shop-filters-wrap .maishop-shop-filters-apply__button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            padding: 0 22px;
            border: 0;
            border-radius: 12px;
            background: var(--maishop-filters-apply-color, var(--maishop-brand-color, #0F9F9A));
            color: #ffffff;
            font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
            font-size: 15px;
            font-weight: 650;
            line-height: 1;
            cursor: pointer;
            transition: opacity .18s ease;
        }

        .maishop-shop-filters-wrap .maishop-shop-filters-apply__button:hover {
            opacity: .88;
        }

        /* Precio: caja con los dos campos numéricos a juego con el resto de
           inputs de MaiShop. */
        .maishop-shop-filters-wrap .wc-block-product-filter-price-slider {
            margin-top: 4px;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-price-slider .text input[type="text"] {
            border: 1px solid #d8dde2 !important;
            border-radius: 10px !important;
            padding: 8px 10px !important;
            font-size: 13px;
            color: #10202b;
        }

        /* Resumen de filtros activos: pastillas suaves + botón "Vaciar
           filtros" con el mismo lenguaje visual que el resto de botones
           secundarios de MaiShop (contorno redondeado en el color de marca).
           Son pastillas de resumen, no botones de acción del sitio, así que
           mantienen su propio radio fijo en vez de seguir "Estilo y
           tipografía" -igual que las migas del buscador móvil-. */
        .maishop-shop-filters-wrap .wc-block-product-filter-removable-chips__item {
            border-radius: 999px !important;
            font-size: 12.5px !important;
            padding: 6px 12px !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-clear-button .wp-block-button__link {
            display: inline-flex;
            align-items: center;
            min-height: 34px;
            padding: 0 14px !important;
            border: 1px solid color-mix(in srgb, var(--maishop-filters-chips-color, var(--maishop-brand-color, #0F9F9A)) 55%, transparent) !important;
            border-radius: 999px !important;
            background: #ffffff !important;
            color: var(--maishop-filters-chips-color, var(--maishop-brand-color, #0F9F9A)) !important;
            font-weight: 800;
            font-size: 13px;
        }

        .maishop-shop-filters-wrap .wc-block-product-filter-clear-button .wp-block-button__link:hover {
            background: color-mix(in srgb, var(--maishop-filters-chips-color, var(--maishop-brand-color, #0F9F9A)) 10%, #ffffff) !important;
        }

        /* Botón "Cerrar" del cajón móvil: la misma forma de chip que el resto
           del panel (borde gris, esquinas redondeadas a 12px, fondo blanco)
           para que haya consistencia con "Clasificar por" y las opciones de
           cada filtro -no un círculo suelto sin borde, y no la forma de
           botón elegida en "Estilo y tipografía" (ese ajuste es para los
           botones de acción del sitio, no para esta pastilla de cabecera)-.
           A propósito NO usa ninguno de los colores personalizables del
           panel, ni siquiera al pasar el cursor: es un control neutro de
           cabecera, no una acción de marca. */
        .maishop-shop-filters-wrap .wc-block-product-filters__close-overlay {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 6px !important;
            width: auto !important;
            height: auto !important;
            min-height: 38px !important;
            margin: 0 !important;
            padding: 8px 14px !important;
            border: 1px solid #d8dde2 !important;
            border-radius: 12px !important;
            background: #ffffff !important;
            color: #233440 !important;
            font-family: inherit !important;
            font-weight: 650 !important;
            font-size: 13.5px !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filters__close-overlay:hover {
            border-color: #b7c0c7 !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filters__close-overlay svg {
            width: 16px !important;
            height: 16px !important;
        }

        /* Botón "Aplicar" del cajón móvil, pinchado abajo del todo gracias al
           footer nativo de WooCommerce; sigue la forma de botón elegida en
           "Estilo y tipografía" igual que el botón que abre el cajón. */
        .maishop-shop-filters-wrap .wc-block-product-filters__apply {
            width: 100% !important;
            min-height: 48px !important;
            margin: 0 !important;
            border: none !important;
            background: var(--maishop-filters-apply-color, var(--maishop-brand-color, #0F9F9A)) !important;
            color: #ffffff !important;
            font-family: inherit !important;
            font-weight: 800 !important;
            font-size: 14.5px !important;
        }

        .maishop-shop-filters-wrap .wc-block-product-filters__apply:hover {
            background: color-mix(in srgb, var(--maishop-filters-apply-color, var(--maishop-brand-color, #0F9F9A)) 88%, #10202b) !important;
        }

        @media (max-width: 600px) {
            /* Estética de "hoja" inferior para el cajón de filtros: esquinas
               cuadradas (sin redondear, a propósito) y sombra hacia arriba,
               en vez del rectángulo a pantalla completa por defecto. Solo
               tiene sentido aquí -en escritorio el contenido deja de ser un
               cajón y pasa a mostrarse en línea, dentro de la tarjeta blanca
               de arriba. */
            .maishop-shop-filters-wrap .wc-block-product-filters__overlay-dialog {
                background-color: #ffffff !important;
                border-radius: 0 !important;
                box-shadow: 0 -12px 40px rgba(16, 32, 43, .18) !important;
            }

            .maishop-shop-filters-wrap .wc-block-product-filters__overlay-header {
                padding: 18px 20px 0 !important;
            }

            .maishop-shop-filters-wrap .wc-block-product-filters__overlay-footer {
                background-color: #ffffff !important;
            }
        }



/* ===========================================================================
   Menú tipo app (barra inferior, solo móvil)
   ---------------------------------------------------------------------------
   Barra fija en la parte inferior de la pantalla, con entre 3 y 5 botones
   configurables desde el panel. Solo visible por debajo de 782px (el mismo
   punto de corte que ya usa WordPress para "vista móvil"); en escritorio no
   se imprime nada distinto -el <nav> existe en el HTML pero permanece oculto-.

   Cuidados para no chocar con nada más de la propia tienda:
   - z-index modesto (600): el cajón nativo de filtros de WooCommerce en
     móvil usa su propio <dialog>, que en los navegadores actuales se pinta
     siempre por encima de cualquier elemento normal de la página aunque
     tenga un z-index mayor -así que se solapa automáticamente sin tocar
     nada aquí-. El buscador a pantalla completa de MaiShop
     (.maishop-mobile-search) usa un z-index deliberadamente altísimo
     (2147483000), muy por encima de esta barra, así que al abrirse la
     cubre por completo sin dejar nada suelto debajo.
   - body.maishop-app-nav-active añade un padding-bottom equivalente a la
     altura de la barra (más el "safe area" del propio dispositivo) para que
     el footer y el final de cualquier página no queden tapados detrás.
   =========================================================================== */
.maishop-app-nav {
    display: none;
}

@media (max-width: 781px) {
    body.maishop-app-nav-active .maishop-app-nav {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 600;
        align-items: stretch;
        justify-content: space-around;
        background: var(--maishop-app-nav-bg, #ffffff);
        border-top: 1px solid rgba(16, 32, 43, .08);
        box-shadow: 0 -8px 24px rgba(16, 32, 43, .08);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        /*
         * v1.35.4: analizado fotograma a fotograma un vídeo real del
         * "parpadeo" al entrar en Tienda desde el menú app. Confirmado: no es
         * la animación de scroll ni un reflow de WooCommerce -es la propia
         * barra. En el primer fotograma tras la navegación la barra
         * simplemente no está pintada todavía (se ve la tienda ocupando toda
         * la pantalla, sin hueco reservado abajo); un fotograma después
         * aparece de golpe y el contenido "se compacta" porque Safari ajusta
         * en ese momento el área visible de la página para dejarle sitio.
         * Es un retraso conocido de iOS Safari al montar un elemento
         * "position: fixed" recién llegado a la página -lo trata como una
         * capa aparte y a veces tarda un fotograma en crearla-. Forzar esa
         * capa desde el primer instante (con una transformación 3D que no
         * mueve nada, solo le dice al navegador "esto va aparte") es la
         * solución habitual para este retraso concreto.
         */
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        will-change: transform;
    }

    body.maishop-app-nav-active {
        padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    }

    /* Instalada como app (PWA "Añadir a pantalla de inicio"): en el navegador
       normal, la propia barra de Safari deja un margen debajo de esta barra;
       en modo app instalada esa barra desaparece y el contenido llega hasta
       el borde físico del móvil, así que sin refuerzo queda pegada abajo.
       Nota: el tema no declara "viewport-fit=cover" en su <meta viewport>,
       así que "env(safe-area-inset-bottom)" siempre vale 0 aquí -por eso el
       aire de más es un valor fijo (28px), no una medida real del dispositivo-. */
    @media (display-mode: standalone) {
        body.maishop-app-nav-active .maishop-app-nav {
            padding-bottom: max(28px, env(safe-area-inset-bottom, 0px));
        }

        body.maishop-app-nav-active {
            padding-bottom: calc(58px + max(28px, env(safe-area-inset-bottom, 0px)));
        }
    }

    .maishop-app-nav__btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        flex: 1 1 0;
        min-width: 0;
        padding: 8px 4px 7px;
        color: var(--maishop-app-nav-icon-color, #6f7b86) !important;
        text-decoration: none;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        transition: color .18s ease;
        /* v1.35.0: es un <a> real (navega a otra página), así que el
           navegador pinta su propio "flash" gris/oscuro al tocarlo si nadie
           lo desactiva -mismo motivo por el que ya se hizo esto en el
           acordeón de FAQ-. Sin esto, el rectángulo se ve un instante en
           cada toque y, en según qué móvil/versión, puede quedarse pintado
           un momento más de la cuenta al cambiar de página. */
        -webkit-tap-highlight-color: transparent;
    }

    /* A propósito, sin ":hover": el color activo se reserva solo para el
       botón que de verdad es la página actual (".is-current") y para el
       foco por teclado (accesibilidad, ":focus-visible"). Pasar el dedo o
       el cursor por encima ya no cambia el color de ningún botón.
       Los "!important" son defensivos: el tema puede tener su propio
       "a:hover { color: ... }" genérico que, sin esto, seguiría pintando
       estos botones al pasar el cursor por encima aunque el plugin ya no
       tenga ninguna regla de color propia para ":hover". */
    .maishop-app-nav__btn:focus-visible,
    .maishop-app-nav__btn.is-current {
        color: var(--maishop-app-nav-active-color, #0F9F9A) !important;
    }

    .maishop-app-nav__btn:hover:not(.is-current):not(:focus-visible) {
        color: var(--maishop-app-nav-icon-color, #6f7b86) !important;
    }

    .maishop-app-nav__icon {
        display: block;
        width: 22px;
        height: 22px;
        line-height: 0;
    }

    .maishop-app-nav__icon svg {
        display: block;
        width: 100%;
        height: 100%;
    }

    .maishop-app-nav__label {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 10.5px;
        font-weight: 650;
    }
}

@media (min-width: 782px) {
    /* Cinturón y tirantes: en escritorio la barra no debe verse nunca,
       aunque algún tema añadiera su propia regla "display" a esta misma
       clase más adelante. */
    body.maishop-app-nav-active .maishop-app-nav {
        display: none !important;
    }

    body.maishop-app-nav-active {
        padding-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .maishop-app-nav__btn {
        transition: none !important;
    }
}

/* ===========================================================================
   Header propio de MaiShop (v1.28.0)
   ---------------------------------------------------------------------------
   Sustituye al header del tema (ver más arriba la regla que lo oculta según
   la clase "maishop-builder-replaces-theme-header" del <body>). Un único
   layout con 3 variantes de alineación del logo (izquierda/centro/derecha),
   igual en escritorio y en móvil salvo por el menú, que en móvil se pliega
   en un icono de hamburguesa -mismo punto de corte (781/782px) que el resto
   del plugin (menú tipo app, buscador, filtros)-.
   =========================================================================== */
.maishop-site-header {
    position: relative;
    z-index: 500;
    background: var(--maishop-site-header-bg, #ffffff);
    border-bottom: 1px solid rgba(16, 32, 43, .08);
}

body.maishop-site-header-sticky .maishop-site-header {
    position: sticky;
    top: 0;
    z-index: 700;
}

.maishop-site-header__inner {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 12px 24px;
    box-sizing: border-box;
}

.maishop-site-header__menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: none;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--maishop-site-header-icon, #10202b);
    cursor: pointer;
    /* v1.35.0: ver el mismo comentario en ".maishop-app-nav__btn". */
    -webkit-tap-highlight-color: transparent;
}

/* v1.30.3: sin estas reglas, el color que se ve al tocar/enfocar el botón
   de menú (y, más abajo, el buscador/carrito) no lo pone el plugin -es el
   estilo por defecto de "botón"/"enlace" del propio TEMA (fondo azulado en
   :focus, verde en :active/:visited, etc.) "colándose" porque el plugin
   nunca dice nada para esos estados, solo para el estado normal-. Mismo
   patrón de bug ya visto y arreglado en el menú tipo app (v1.27.4/v1.27.5)
   con el "a:hover" verde del tema. Aquí se simplifica igual: sin colores de
   tema en ningún estado -tocar el icono no cambia su color-, y se deja solo
   un contorno neutro (con el propio color del icono, sin necesitar un
   selector de color nuevo en el panel) para quien navega con teclado. */
.maishop-site-header__menu-toggle:hover,
.maishop-site-header__menu-toggle:focus,
.maishop-site-header__menu-toggle:active {
    background: transparent !important;
    color: var(--maishop-site-header-icon, #10202b) !important;
}

.maishop-site-header__menu-toggle:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px;
}

.maishop-site-header__menu-icon {
    display: block;
    width: 22px;
    height: 22px;
}

.maishop-site-header__menu-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.maishop-site-header__menu-icon--close {
    display: none;
}

.maishop-site-header.is-menu-open .maishop-site-header__menu-icon--open {
    display: none;
}

.maishop-site-header.is-menu-open .maishop-site-header__menu-icon--close {
    display: block;
}

.maishop-site-header__brand {
    display: flex;
    align-items: center;
    flex: none;
    text-decoration: none;
    color: var(--maishop-site-header-text, #10202b);
}

/* "!important" en escritorio (v1.30.2): sin él, un tema (ej. Astra) puede
   traer su propia regla de altura para imágenes dentro del header -con
   igual o mayor especificidad, o simplemente cargada después- que gane la
   cascada y deje fijo el tamaño del logo, ignorando el campo "Escritorio"
   del panel. La versión móvil (ver bloque "@media" más abajo) ya se libraba
   de este problema porque, al ser la ÚLTIMA regla del propio CSS del
   plugin, ganaba igualmente aunque no llevara "!important" -por eso solo
   fallaba en escritorio-. Ahora ambas llevan "!important" para que el
   ajuste del panel mande siempre, sea cual sea el tema. */
.maishop-site-header__logo-img {
    display: block;
    width: auto !important;
    height: var(--maishop-site-header-logo-h-desktop, 40px) !important;
    max-width: none !important;
}

.maishop-site-header__logo-text {
    font-weight: 800;
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
}

.maishop-site-header__nav {
    display: flex;
}

.maishop-site-header__menu {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.maishop-site-header__menu li {
    margin: 0;
    position: relative;
}

.maishop-site-header__menu a {
    display: block;
    padding: 8px 2px;
    color: var(--maishop-site-header-text, #10202b);
    text-decoration: none;
    font-weight: 650;
    font-size: 15px;
    white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
    .maishop-site-header__menu a:hover {
        opacity: .7;
    }
}

.maishop-site-header__menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    margin: 0;
    padding: 8px;
    list-style: none;
    background: var(--maishop-site-header-bg, #ffffff);
    border: 1px solid rgba(16, 32, 43, .08);
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(16, 32, 43, .12);
    z-index: 10;
}

.maishop-site-header__menu li:hover > .sub-menu,
.maishop-site-header__menu li:focus-within > .sub-menu {
    display: block;
}

.maishop-site-header__menu .sub-menu a {
    padding: 8px 10px;
    border-radius: 8px;
}

.maishop-site-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: none;
}

/* El icono de buscador reutiliza el buscador a pantalla completa que ya usa
   la tienda (con resultados en vivo, historial del navegador, etc.),
   imprimiendo la misma sección ".maishop-shop-search" que genera el
   shortcode [maishop_product_search] -pero aquí, en vez de vivir en el
   contenido de una página como un buscador visible, solo aporta el botón
   que lo abre-. Esa sección trae sus propios "max-width"/margen pensados
   para cuando SÍ se ve como buscador en el contenido; "display:contents"
   hace que la propia sección desaparezca del diseño del header y solo
   cuenten sus hijos (el botón, con el estilo de icono del header) dentro
   del flex/grid de ".maishop-site-header__actions". */
.maishop-site-header__actions .maishop-shop-search {
    display: contents;
}

.maishop-site-header__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--maishop-site-header-icon, #10202b);
    text-decoration: none;
    cursor: pointer;
    /* v1.35.0: ver el mismo comentario en ".maishop-app-nav__btn". */
    -webkit-tap-highlight-color: transparent;
}

/* v1.30.3: mismo motivo que ".maishop-site-header__menu-toggle" de más
   arriba -sin esto, el carrito (un enlace <a>) puede heredar el color de
   ":visited"/":hover"/":active" del tema (de ahí el verde sin explicación,
   igual que el buscador puede heredar el color de ":focus" de un botón
   genérico)-. Se simplifica igual: ningún estado cambia el color del icono,
   solo un contorno neutro en el foco por teclado. */
.maishop-site-header__action:hover,
.maishop-site-header__action:focus,
.maishop-site-header__action:active,
.maishop-site-header__action:visited {
    background: transparent !important;
    color: var(--maishop-site-header-icon, #10202b) !important;
}

.maishop-site-header__action:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px;
}

/* v1.35.0: cuando se cierra el buscador (con el dedo, no con el teclado),
   el JS devuelve el foco al icono de la lupa a propósito -es lo correcto
   para quien navega con teclado o lector de pantalla-. El problema es que
   Safari/Chrome en móvil, al ser un foco puesto por código y no por una
   pulsación de Tab, a veces sí lo trata como "focus-visible" y deja el
   contorno cuadrado pintado de forma indefinida, aunque hayas tocado con
   el dedo. El JS añade esta clase justo antes de ese "focus()" y la quita
   en cuanto el botón pierde el foco -mientras tanto, este contorno se
   fuerza a invisible-. La navegación real por teclado (Tab) nunca pasa
   por esta clase, así que sigue mostrando el contorno con normalidad. */
.maishop-site-header__action.maishop-is-restoring-focus:focus-visible {
    outline: none !important;
}

.maishop-site-header__action svg {
    display: block;
    width: 22px;
    height: 22px;
}

.maishop-site-header__cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--maishop-site-header-icon, #10202b);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
}

.maishop-site-header__cart-count.is-empty {
    display: none;
}

/* Disposición del header (v1.30.0). Antes ("alineación del logo") solo se
   podía mover el logo, dejando el icono de menú/enlaces siempre fijo en un
   lado -si el logo se ponía a la izquierda, "competía" con el menú por el
   mismo borde en vez de quedar cada uno donde se esperaba, y era imposible
   elegir dónde iban el menú o los iconos-. Ahora cada preset describe la
   disposición completa (menú, logo, iconos). Se aplica igual en escritorio
   y en móvil.

   "menu-left-icons-right" (por defecto): patrón clásico de tienda -menú a
   la izquierda, logo centrado, iconos a la derecha-. Usa CSS Grid, no
   flexbox, para que el logo quede realmente centrado sin importar el ancho
   del menú o de los iconos a cada lado. */
.maishop-site-header--menu-left-icons-right .maishop-site-header__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* "grid-row: 1" explícito: por defecto el reparto automático de filas de
   CSS Grid no vuelve atrás -al colocar el logo en la columna 2 "avanza el
   cursor" hasta esa columna, y el nav (columna 1, va después del logo en el
   HTML) ya no encuentra hueco en la fila 1 y cae solo a la fila 2-. Fijando
   la fila a la 1 se evita ese salto. La columna 1 sigue reservando su hueco
   ("1fr") aunque no haya menú -por eso el logo se mantiene centrado también
   con "Mostrar el menú de navegación" desactivado, sin ningún ajuste
   especial para ese caso-. */
.maishop-site-header--menu-left-icons-right .maishop-site-header__nav {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
}

.maishop-site-header--menu-left-icons-right .maishop-site-header__brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
}

.maishop-site-header--menu-left-icons-right .maishop-site-header__actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

/* "logo-left-rest-right" / "logo-right-rest-left": el logo ocupa él solo un
   borde; el menú (los enlaces, en escritorio) y los iconos se agrupan
   juntos en el borde contrario. En vez de mover el "grupo contrario"
   -complicado cuando el menú puede no existir (deshabilitado, o sin ningún
   menú asignado en Apariencia → Menús)-, se reordena el LOGO -un único
   elemento que siempre está presente- con "order" y se le da todo el hueco
   libre con "margin: auto". Así, si el menú no existe, el resto del grupo
   se cierra solo, sin dejar huecos ni necesitar reglas aparte para ese
   caso. Válido igual en escritorio (donde el "menú" son los enlaces) y en
   móvil (donde es el icono de menú, ver el icono de menú en el bloque
   "@media" de abajo). */
.maishop-site-header--logo-left-rest-right .maishop-site-header__brand {
    order: -1;
    margin-right: auto;
}

/* Dentro del grupo "el resto", el menú (enlaces en escritorio, icono de
   hamburguesa en móvil) se manda al final -pegado al borde de la pantalla,
   con la lupa y el carrito entre el logo y el menú- en vez de quedar pegado
   al logo con la lupa y el carrito sueltos en el borde. Es el orden que
   pidió Nacho: "lupa, carrito y menú pegado a la derecha". Sin este
   "order", el menú aparecería primero por ser el primero en el HTML. */
.maishop-site-header--logo-left-rest-right .maishop-site-header__nav,
.maishop-site-header--logo-left-rest-right .maishop-site-header__menu-toggle {
    order: 1;
}

.maishop-site-header--logo-right-rest-left .maishop-site-header__brand {
    order: 1;
    margin-left: auto;
}

/* Aquí el grupo "el resto" ya queda con el menú al principio -que es
   también el borde de la pantalla, al ser este preset el reflejo del
   anterior-, así que no hace falta ningún "order" adicional: el orden del
   HTML (menú, luego lupa y carrito) ya coincide con "menú pegado al
   borde, lupa y carrito entre el menú y el logo". */

@media (max-width: 781px) {
    .maishop-site-header__inner {
        gap: 12px;
        padding: 10px 16px;
    }

    .maishop-site-header__menu-toggle {
        display: inline-flex !important;
    }

    .maishop-site-header__logo-img {
        height: var(--maishop-site-header-logo-h-mobile, 32px) !important;
    }

    /* "logo-left-rest-right" y "logo-right-rest-left" no necesitan reglas
       aparte aquí: las reglas universales de ".maishop-site-header__brand"
       de más arriba (fuera de este "@media") ya reordenan el logo con
       "order" y le dan el hueco libre con "margin: auto" -funciona igual en
       escritorio y en móvil sin duplicar nada-.

       "menu-left-icons-right" (por defecto) sí necesita su propia versión
       aquí: en escritorio ese preset centra el logo colocando el MENÚ
       (los enlaces) en la columna 1, pero en móvil los enlaces no forman
       parte de la fila del header -están posicionados aparte, como panel
       desplegable, ver más abajo-; aquí el elemento real que ocupa esa
       columna es el ICONO de menú. */
    .maishop-site-header--menu-left-icons-right .maishop-site-header__inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
    }

    .maishop-site-header--menu-left-icons-right .maishop-site-header__menu-toggle {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .maishop-site-header--menu-left-icons-right .maishop-site-header__brand {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }

    .maishop-site-header--menu-left-icons-right .maishop-site-header__actions {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .maishop-site-header__nav {
        grid-column: 1 / -1;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        max-height: 70vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--maishop-site-header-bg, #ffffff);
        border-top: 1px solid rgba(16, 32, 43, .08);
        box-shadow: 0 16px 32px rgba(16, 32, 43, .12);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-6px);
        transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
        z-index: 650;
    }

    .maishop-site-header.is-menu-open .maishop-site-header__nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .maishop-site-header__menu {
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        /* Sin "env(safe-area-inset-bottom)" a propósito (v1.30.4): a
           diferencia de la barra del menú tipo app (".maishop-app-nav", que sí
           está pegada al borde físico de abajo y necesita ese hueco), este
           menú es una tarjeta flotante con "max-height: 70vh" y scroll propio
           -nunca toca el borde inferior real de la pantalla-. Añadir esa
           "safe area" aquí solo sumaba aire de más debajo del último enlace,
           muy visible con pocos enlaces (p.ej. uno solo) y aún más grande en
           modo app instalada, donde el hueco de "safe area" es mayor. */
        padding: 10px 16px 16px;
    }

    .maishop-site-header__menu a {
        padding: 12px 4px;
        border-bottom: 1px solid rgba(16, 32, 43, .06);
    }

    .maishop-site-header__menu .sub-menu {
        /* En móvil no hay ":hover" -se muestran siempre desplegados bajo su
           padre en vez de depender de un gesto que no existe en táctil. */
        display: block !important;
        position: static;
        margin: 0 0 0 12px;
        padding: 0;
        border: 0;
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .maishop-site-header__nav {
        transition: none !important;
    }
}

/* MaiShop Builder v1.31.0: instalar la tienda como app (visitantes).
   Tarjeta discreta al final de la página, debajo del footer -no dentro de
   sus enlaces, para no mezclarla con la navegación normal-. Se apoya en
   "position: sticky" solo dentro de su propio contenedor de página, así que
   no interfiere con el sticky del header. */
.maishop-install-app {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 960px;
    margin: 0 auto;
    padding: 14px 20px;
    background: #ffffff;
    border-top: 1px solid rgba(16, 32, 43, .08);
}

.maishop-install-app[hidden] {
    display: none;
}

.maishop-install-app__intro {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.maishop-install-app__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex: 0 0 auto;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(16, 32, 43, .12);
}

.maishop-install-app__copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.maishop-install-app__copy strong {
    font-size: 14px;
    color: #10202b;
}

.maishop-install-app__copy small {
    font-size: 12.5px;
    color: #5f6b75;
}

.maishop-install-app__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.maishop-install-app__install {
    border: 0;
    border-radius: 999px;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    background: var(--maishop-brand-color, #0F9F9A);
    cursor: pointer;
}

.maishop-install-app__install:disabled {
    opacity: .6;
    cursor: default;
}

.maishop-install-app__instructions {
    flex-basis: 100%;
    font-size: 12.5px;
    color: #5f6b75;
}

.maishop-install-app__instructions summary {
    cursor: pointer;
    color: var(--maishop-brand-color, #0F9F9A);
}

.maishop-install-app__instructions ol {
    margin: 8px 0 0;
    padding-left: 18px;
}

.maishop-install-app__instructions li + li {
    margin-top: 6px;
}

@media (max-width: 600px) {
    .maishop-install-app {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }

    .maishop-install-app__actions {
        justify-content: space-between;
    }
}
