/* ======================================================================
   MERTHERAPY | EXPERIENCIA WOOCOMMERCE PREMIUM | v2.1 — SELECTORES CORREGIDOS PARA GENERATEPRESS
   Anadir AL FINAL del CSS original de Mertherapy.
   No modifica el HTML ni la logica de compras, stock, precios o pagos.
   Compatible visualmente con WooCommerce clasico y Cart/Checkout Blocks.
   ====================================================================== */

/* 01. SISTEMA VISUAL / ESTRUCTURA -------------------------------------- */
body.woocommerce,
body.woocommerce-page {
    --mw-bg: #fcfaf7;
    --mw-paper: #ffffff;
    --mw-warm: #f7f2ec;
    --mw-warm-2: #efe8e1;
    --mw-ink: #202936;
    --mw-dark: #403630;
    --mw-copy: #545f68;
    --mw-muted: #7c8389;
    --mw-border: #e7dfd8;
    --mw-accent: #18c5d1;
    --mw-cta: #087d88;
    --mw-cta-hover: #08636d;
    --mw-radius: 12px;
    --mw-shadow: 0 12px 40px rgba(64,54,48,.055);
    background: var(--mw-bg);
    color: var(--mw-ink);
}

body.woocommerce :is(.woocommerce, .woocommerce-page),
body.woocommerce-page :is(.woocommerce, .woocommerce-page) {
    color: var(--mw-ink);
}

/* Eliminar la barra lateral de blog SOLO en paginas comerciales. */
body.woocommerce-page :is(#secondary, #sidebar, .widget-area, aside.sidebar, .sidebar-primary),
body.woocommerce :is(#secondary, #sidebar, .widget-area, aside.sidebar, .sidebar-primary) {
    display: none !important;
}
body.woocommerce-page :is(#primary, .content-area, .site-main),
body.woocommerce :is(#primary, .content-area, .site-main) {
    float: none !important;
    width: 100% !important;
    max-width: none;
    min-width: 0;
}

/* Ancho editorial, sin afectar cabecera ni pie personalizados. */
body.woocommerce-page :is(.site-content, .site-main, main#main, .woocommerce, .wp-block-post-content),
body.woocommerce :is(.site-content, .site-main, main#main, .woocommerce, .wp-block-post-content) {
    box-sizing: border-box;
}
body.woocommerce-page :is(.site-content, main#main),
body.woocommerce :is(.site-content, main#main) {
    width: min(100% - 64px, 1320px);
    max-width: 1320px;
    margin-inline: auto;
}
body.woocommerce-page .woocommerce,
body.woocommerce .woocommerce { width: 100%; }
body.woocommerce-page :is(.entry-header, .page-header, .woocommerce-products-header),
body.woocommerce :is(.entry-header, .page-header, .woocommerce-products-header) {
    margin: 0 0 28px;
}
body.woocommerce-page :is(h1.entry-title, .page-title, .woocommerce-products-header__title),
body.woocommerce :is(h1.entry-title, .page-title, .woocommerce-products-header__title) {
    color: var(--mw-ink);
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(43px, 4.4vw, 70px);
    font-weight: 500 !important;
    line-height: 1.07;
    letter-spacing: -.025em !important;
}
body.woocommerce-page :is(.woocommerce-breadcrumb, .site-content .woocommerce-breadcrumb),
body.woocommerce :is(.woocommerce-breadcrumb, .site-content .woocommerce-breadcrumb) {
    margin: 0 0 32px;
    color: var(--mw-muted);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .035em;
    line-height: 1.7;
}
body.woocommerce-page .woocommerce-breadcrumb a,
body.woocommerce .woocommerce-breadcrumb a {
    color: var(--mw-copy);
    text-decoration: none;
}
body.woocommerce-page .woocommerce-breadcrumb a:hover,
body.woocommerce .woocommerce-breadcrumb a:hover { color: var(--mw-cta); }

/* Controles compartidos. */
body.woocommerce-page :is(.woocommerce, .wc-block-components-main, .wc-block-components-sidebar) :is(button, input, select, textarea),
body.woocommerce :is(.woocommerce, .wc-block-components-main, .wc-block-components-sidebar) :is(button, input, select, textarea) {
    font-family: 'Manrope', Arial, sans-serif;
}
body.woocommerce-page .site-content :is(a.button, button.button, input.button, #respond input#submit, a.added_to_cart),
body.woocommerce .site-content :is(a.button, button.button, input.button, #respond input#submit, a.added_to_cart),
body.woocommerce-page :is(.wc-block-components-button, .wc-block-grid__product-add-to-cart .wp-block-button__link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    padding: 13px 23px;
    border: 1px solid var(--mw-cta);
    border-radius: 5px;
    background: var(--mw-cta);
    box-shadow: none;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .012em;
    line-height: 1.25;
    text-decoration: none;
    transition: background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
body.woocommerce-page .site-content :is(a.button, button.button, input.button, #respond input#submit, a.added_to_cart):hover,
body.woocommerce .site-content :is(a.button, button.button, input.button, #respond input#submit, a.added_to_cart):hover,
body.woocommerce-page :is(.wc-block-components-button, .wc-block-grid__product-add-to-cart .wp-block-button__link):hover {
    background: var(--mw-cta-hover);
    border-color: var(--mw-cta-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 9px 22px rgba(8,125,136,.14);
}
body.woocommerce-page .site-content :is(a.button, button.button, input.button, #respond input#submit):disabled,
body.woocommerce-page .site-content :is(a.button, button.button, input.button, #respond input#submit).disabled,
body.woocommerce-page .wc-block-components-button:disabled {
    opacity: .5;
    transform: none;
    cursor: not-allowed;
}
body.woocommerce-page :is(a, button, input, select, textarea):focus-visible,
body.woocommerce :is(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--mw-cta);
    outline-offset: 3px;
}
body.woocommerce-page :is(.woocommerce, .wc-block-components-main) :is(input.input-text, input[type='text'], input[type='email'], input[type='tel'], input[type='password'], select, textarea),
body.woocommerce :is(.woocommerce, .wc-block-components-main) :is(input.input-text, input[type='text'], input[type='email'], input[type='tel'], input[type='password'], select, textarea) {
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 12px 15px;
    border: 1px solid #dcd5ce;
    border-radius: 5px;
    outline: 0;
    background: #fff;
    box-shadow: none;
    color: var(--mw-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    transition: border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-page :is(.woocommerce, .wc-block-components-main) textarea,
body.woocommerce :is(.woocommerce, .wc-block-components-main) textarea { min-height: 115px; }
body.woocommerce-page :is(.woocommerce, .wc-block-components-main) :is(input, select, textarea):focus,
body.woocommerce :is(.woocommerce, .wc-block-components-main) :is(input, select, textarea):focus {
    border-color: var(--mw-cta);
    box-shadow: 0 0 0 3px rgba(24,197,209,.11);
}
body.woocommerce-page .site-content form .form-row label,
body.woocommerce .site-content form .form-row label {
    margin-bottom: 6px;
    color: var(--mw-ink);
    font-size: 12px;
    font-weight: 700;
}
body.woocommerce-page .site-content form .form-row { margin-bottom: 15px; }
body.woocommerce-page .site-content .required { color: var(--mw-cta); }
body.woocommerce-page .select2-container--default .select2-selection--single {
    min-height: 50px;
    border: 1px solid #dcd5ce;
    border-radius: 5px;
    background: #fff;
}
body.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 11px 35px 11px 15px;
    color: var(--mw-ink);
    line-height: 26px;
}
body.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 12px;
    right: 12px;
}

/* 02. FICHA INDIVIDUAL ------------------------------------------------ */
body.single-product .site-content div.product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    column-gap: clamp(32px, 5vw, 78px);
    row-gap: 45px;
    margin: 4px auto 75px;
    align-items: start;
}
body.single-product .site-content div.product :is(div.images, .woocommerce-product-gallery) {
    grid-column: 1;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
}
body.single-product .site-content div.product div.summary {
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 20px 0 0;
}
body.single-product .site-content div.product :is(.woocommerce-tabs, .related, .upsells) {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin: 0;
}
body.single-product .site-content div.product div.images .woocommerce-product-gallery__wrapper,
body.single-product .site-content div.product div.images .woocommerce-product-gallery__image:first-child {
    border-radius: var(--mw-radius);
}
body.single-product .site-content div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
    overflow: hidden;
    border: 1px solid var(--mw-border);
    background: #fff;
}
body.single-product .site-content div.product div.images img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
body.single-product .site-content div.product .flex-viewport {
    overflow: hidden;
    border: 1px solid var(--mw-border);
    border-radius: var(--mw-radius);
    background: #fff;
}
body.single-product .site-content div.product .flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 13px;
    list-style: none;
}
body.single-product .site-content div.product .flex-control-thumbs li {
    float: none;
    overflow: hidden;
    border: 1px solid var(--mw-border);
    border-radius: 6px;
    background: #fff;
}
body.single-product .site-content div.product .flex-control-thumbs li img { border-radius: 5px; }
body.single-product .site-content div.product .woocommerce-product-gallery__trigger {
    z-index: 2;
    top: 15px;
    right: 15px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 16px rgba(32,41,54,.09);
}
body.single-product .site-content div.product span.onsale {
    position: absolute;
    z-index: 4;
    top: 19px;
    right: auto;
    left: 18px;
    min-height: auto;
    min-width: auto;
    margin: 0;
    padding: 9px 13px;
    border-radius: 3px;
    background: var(--mw-cta);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
body.single-product .site-content div.product .product_title {
    margin: 0 0 20px;
    color: var(--mw-ink);
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(40px, 3.6vw, 60px);
    font-weight: 500 !important;
    line-height: 1.08;
    letter-spacing: -.028em !important;
}
body.single-product .site-content div.product .summary > .price {
    display: block;
    margin: 0 0 20px;
    padding: 0 0 22px;
    border-bottom: 1px solid var(--mw-border);
    color: var(--mw-dark);
    font-size: clamp(25px, 2.4vw, 32px);
    font-weight: 700;
    line-height: 1.3;
}
body.single-product .site-content div.product .summary > .price :is(bdi, .woocommerce-Price-amount) {
    color: var(--mw-dark);
}
body.single-product .site-content div.product .price del {
    margin-right: 8px;
    opacity: .5;
    font-size: .72em;
}
body.single-product .site-content div.product .price ins { text-decoration: none; }
body.single-product .site-content div.product .woocommerce-product-details__short-description {
    margin-bottom: 25px;
    color: var(--mw-copy);
    font-size: 15px;
    line-height: 1.9;
}
body.single-product .site-content div.product .woocommerce-product-details__short-description p { margin: 0 0 12px; }
body.single-product .site-content div.product .stock { margin: 0 0 18px; font-size: 13px; font-weight: 700; }
body.single-product .site-content div.product .stock.in-stock { color: #347c65; }
body.single-product .site-content div.product .stock.out-of-stock { color: #b45252; }
body.single-product .site-content div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin: 20px 0 27px;
}
body.single-product .site-content div.product form.cart .quantity {
    display: flex;
    align-items: center;
    float: none;
    margin: 0;
}
body.single-product .site-content div.product form.cart .quantity .qty {
    width: 88px;
    min-height: 56px;
    padding: 0 8px;
    border: 1px solid #dcd5ce;
    border-radius: 5px;
    background: #fff;
    color: var(--mw-ink);
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}
body.single-product .site-content div.product form.cart .single_add_to_cart_button {
    flex: 1 1 220px;
    min-height: 56px;
    margin: 0;
    border-radius: 5px;
    font-size: 14px;
}
body.single-product .site-content div.product form.cart table.variations { width: 100%; margin: 0 0 12px; }
body.single-product .site-content div.product form.cart table.variations :is(td, th) { padding: 7px 0; }
body.single-product .site-content div.product form.cart table.variations select { max-width: 100%; }
body.single-product .site-content div.product .single_variation_wrap { width: 100%; }
body.single-product .site-content div.product .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; gap: 12px; }
body.single-product .site-content div.product .product_meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 23px;
    border-top: 1px solid var(--mw-border);
    color: var(--mw-muted);
    font-size: 12px;
    line-height: 1.7;
}
body.single-product .site-content div.product .product_meta a {
    color: var(--mw-dark);
    font-weight: 600;
    text-decoration: none;
}
body.single-product .site-content div.product .product_meta a:hover { color: var(--mw-cta); }
body.single-product .site-content div.product .woocommerce-product-rating {
    margin: 0 0 15px;
    font-size: 12px;
}
body.single-product .site-content div.product .woocommerce-product-rating a { color: var(--mw-muted); }

/* Tabs, ficha complementaria y resenas. */
body.single-product .site-content div.product .woocommerce-tabs {
    margin-top: 20px;
    padding-top: 30px;
    border-top: 1px solid var(--mw-border);
}
body.single-product .site-content div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 27px;
    margin: 0 0 28px;
    padding: 0;
    border-bottom: 1px solid var(--mw-border);
}
body.single-product .site-content div.product .woocommerce-tabs ul.tabs::before,
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0 0 16px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--mw-cta); }
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li a {
    padding: 0;
    color: var(--mw-muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .01em;
}
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product .site-content div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--mw-ink); }
body.single-product .site-content div.product .woocommerce-tabs .panel { max-width: 1100px; margin: 0 0 20px; }
body.single-product .site-content div.product .woocommerce-tabs .panel h2,
body.single-product .site-content div.product :is(.related, .upsells) > h2 {
    margin: 0 0 21px;
    color: var(--mw-ink);
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(31px, 3vw, 43px);
    font-weight: 500 !important;
    line-height: 1.15;
}
body.single-product .site-content div.product .woocommerce-tabs .panel p {
    color: var(--mw-copy);
    font-size: 14px;
    line-height: 1.9;
}
body.single-product .site-content #reviews #comments ol.commentlist li .comment-text {
    margin-left: 75px;
    padding: 20px;
    border: 1px solid var(--mw-border);
    border-radius: 8px;
    background: #fff;
}
body.single-product .site-content #review_form #respond { max-width: 760px; padding: 20px 0; }
body.single-product .site-content #review_form #respond .form-submit { margin-top: 12px; }
body.single-product .site-content div.product :is(.related, .upsells) { padding-top: 28px; border-top: 1px solid var(--mw-border); }

/* 03. TIENDA / CATEGORIAS / PRODUCTOS RELACIONADOS --------------------- */
body.woocommerce-page .site-content :is(.woocommerce-result-count, .woocommerce-ordering) {
    margin-bottom: 27px;
    color: var(--mw-muted);
    font-size: 13px;
}
body.woocommerce-page .site-content .woocommerce-ordering select {
    min-height: 45px;
    padding: 8px 35px 8px 14px;
    border: 1px solid var(--mw-border);
    border-radius: 5px;
    background: #fff;
    color: var(--mw-copy);
    font-size: 13px;
}
body.woocommerce-page .site-content ul.products,
body.woocommerce .site-content ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px;
    clear: both;
    margin: 0 0 54px;
    padding: 0;
}
body.woocommerce-page .site-content ul.products::before,
body.woocommerce-page .site-content ul.products::after { display: none; }
body.woocommerce-page .site-content ul.products li.product,
body.woocommerce .site-content ul.products li.product {
    position: relative;
    float: none !important;
    clear: none !important;
    display: flex;
    flex-direction: column;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 12px 12px 15px;
    overflow: hidden;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
body.woocommerce-page .site-content ul.products li.product:hover,
body.woocommerce .site-content ul.products li.product:hover {
    transform: translateY(-3px);
    border-color: #d6e7e7;
    box-shadow: var(--mw-shadow);
}
body.woocommerce-page .site-content ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce .site-content ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    flex: 1;
    color: inherit;
    text-decoration: none;
}
body.woocommerce-page .site-content ul.products li.product a img,
body.woocommerce .site-content ul.products li.product a img {
    display: block;
    width: 100%;
    height: 235px;
    margin: 0 0 16px;
    border-radius: 5px;
    background: #faf8f5;
    object-fit: contain;
    transition: transform .35s ease;
}
body.woocommerce-page .site-content ul.products li.product:hover a img,
body.woocommerce .site-content ul.products li.product:hover a img { transform: scale(1.025); }
body.woocommerce-page .site-content ul.products li.product .woocommerce-loop-product__title,
body.woocommerce .site-content ul.products li.product .woocommerce-loop-product__title {
    min-height: 50px;
    padding: 0;
    margin: 0 0 12px;
    color: var(--mw-ink);
    font-family: 'Manrope', Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.55;
    letter-spacing: 0 !important;
}
body.woocommerce-page .site-content ul.products li.product .price,
body.woocommerce .site-content ul.products li.product .price {
    margin: 0 0 13px;
    color: var(--mw-dark);
    font-size: 16px;
    font-weight: 700;
}
body.woocommerce-page .site-content ul.products li.product .price del { display: inline; opacity: .45; font-size: 12px; }
body.woocommerce-page .site-content ul.products li.product .price ins { text-decoration: none; }
body.woocommerce-page .site-content ul.products li.product :is(.button, .added_to_cart),
body.woocommerce .site-content ul.products li.product :is(.button, .added_to_cart) {
    display: flex;
    width: 100%;
    min-height: 45px;
    margin: auto 0 0;
    padding: 11px 10px;
    font-size: 12px;
    text-align: center;
}
body.woocommerce-page .site-content ul.products li.product .added_to_cart,
body.woocommerce .site-content ul.products li.product .added_to_cart {
    margin-top: 8px;
    border-color: var(--mw-border);
    background: var(--mw-warm);
    color: var(--mw-dark);
}
body.woocommerce-page .site-content ul.products li.product .onsale,
body.woocommerce .site-content ul.products li.product .onsale {
    position: absolute;
    z-index: 2;
    top: 23px;
    right: auto;
    left: 23px;
    min-height: 0;
    min-width: 0;
    margin: 0;
    padding: 8px 11px;
    border-radius: 3px;
    background: var(--mw-cta);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
body.woocommerce-page .site-content nav.woocommerce-pagination ul { display: inline-flex; gap: 8px; border: 0; }
body.woocommerce-page .site-content nav.woocommerce-pagination ul li { overflow: hidden; border: 1px solid var(--mw-border); border-radius: 4px; }
body.woocommerce-page .site-content nav.woocommerce-pagination ul li :is(a, span) { min-width: 37px; padding: 11px; }
body.woocommerce-page .site-content nav.woocommerce-pagination ul li span.current {
    background: var(--mw-cta);
    color: #fff;
}

/* 04. AVISOS, CÓDIGOS DE DESCUENTO Y MENSAJES --------------------------- */
body.woocommerce-page .site-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.woocommerce .site-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    margin: 0 0 25px;
    padding: 18px 21px 18px 52px;
    border: 1px solid #d7e9e9;
    border-left: 3px solid var(--mw-cta);
    border-top-width: 1px;
    border-radius: 6px;
    background: #f0f9f8;
    box-shadow: none;
    color: var(--mw-ink);
    font-size: 13px;
    line-height: 1.7;
}
body.woocommerce-page .site-content .woocommerce-error {
    border-color: #eed6d6;
    border-left-color: #bd5151;
    background: #fff4f4;
}
body.woocommerce-page .site-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
    left: 20px;
    top: 19px;
    color: var(--mw-cta);
}
body.woocommerce-page .site-content .woocommerce-error::before { color: #bd5151; }
body.woocommerce-page .site-content :is(.woocommerce-message, .woocommerce-info) a { color: var(--mw-cta); font-weight: 700; }
body.woocommerce-page .site-content .woocommerce-message a.button { float: right; margin: -7px 0 -7px 15px; }
body.woocommerce-checkout .site-content form.checkout_coupon,
body.woocommerce-checkout .site-content form.login,
body.woocommerce-checkout .site-content .woocommerce-form-coupon-toggle + form {
    padding: 22px;
    border: 1px solid var(--mw-border);
    border-radius: 8px;
    background: #fff;
}

/* 05. CARRITO CLÁSICO -------------------------------------------------- */
body.woocommerce-cart .site-content table.shop_table {
    border: 1px solid var(--mw-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 9px;
    background: #fff;
    overflow: hidden;
}
body.woocommerce-cart .site-content table.shop_table :is(th, td) {
    padding: 17px 18px;
    border: 0;
    border-bottom: 1px solid var(--mw-border);
    color: var(--mw-copy);
    font-size: 13px;
    vertical-align: middle;
}
body.woocommerce-cart .site-content table.shop_table thead th {
    padding: 19px 18px;
    background: var(--mw-warm);
    color: var(--mw-ink);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}
body.woocommerce-cart .site-content table.shop_table tr:last-child td { border-bottom: 0; }
body.woocommerce-cart .site-content table.shop_table .product-thumbnail img {
    width: 82px;
    height: 82px;
    border-radius: 5px;
    background: #faf8f5;
    object-fit: contain;
}
body.woocommerce-cart .site-content table.shop_table .product-name a {
    color: var(--mw-ink);
    font-weight: 700;
    text-decoration: none;
}
body.woocommerce-cart .site-content table.shop_table .product-name a:hover { color: var(--mw-cta); }
body.woocommerce-cart .site-content table.shop_table .product-remove a.remove {
    display: inline-grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border: 1px solid #ead8d8;
    border-radius: 50%;
    color: #a95c5c !important;
    font-size: 20px;
    line-height: 1;
}
body.woocommerce-cart .site-content table.shop_table .product-remove a.remove:hover { background: #a95c5c; color: #fff !important; }
body.woocommerce-cart .site-content table.shop_table .quantity .qty { width: 80px; min-height: 44px; text-align: center; }
body.woocommerce-cart .site-content table.shop_table .coupon { display: flex; flex-wrap: wrap; gap: 9px; }
body.woocommerce-cart .site-content table.shop_table .coupon #coupon_code { width: 190px; min-width: 150px; }
body.woocommerce-cart .site-content .cart-collaterals { margin: 32px 0 75px; }
body.woocommerce-cart .site-content .cart-collaterals .cart_totals {
    float: right;
    width: min(100%, 475px);
    padding: 26px 27px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
    box-shadow: var(--mw-shadow);
}
body.woocommerce-cart .site-content .cart_totals h2 {
    margin: 0 0 22px;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 34px;
    font-weight: 500 !important;
}
body.woocommerce-cart .site-content .cart_totals table { border: 0; background: transparent; }
body.woocommerce-cart .site-content .cart_totals table :is(th, td) { padding: 14px 6px; border-bottom: 1px solid var(--mw-border); font-size: 13px; }
body.woocommerce-cart .site-content .cart_totals .order-total :is(th, td) { color: var(--mw-dark); font-size: 17px; font-weight: 700; }
body.woocommerce-cart .site-content .wc-proceed-to-checkout { padding: 20px 0 0; }
body.woocommerce-cart .site-content .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    width: 100%;
    min-height: 55px;
    margin: 0;
    padding: 16px;
    font-size: 14px;
}
body.woocommerce-cart .site-content .cart-empty {
    padding: 30px;
    border: 1px solid var(--mw-border);
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

/* 06. FINALIZAR COMPRA CLÁSICO ----------------------------------------- */
body.woocommerce-checkout .site-content form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
    gap: 0 36px;
    align-items: start;
    margin-bottom: 80px;
}
body.woocommerce-checkout .site-content form.checkout > .col2-set {
    display: block;
    grid-column: 1;
    grid-row: 1 / span 2;
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 28px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
}
body.woocommerce-checkout .site-content form.checkout > .col2-set :is(.col-1, .col-2) {
    float: none;
    width: 100%;
    max-width: 100%;
}
body.woocommerce-checkout .site-content form.checkout > .col2-set .col-2 { margin-top: 25px; }
body.woocommerce-checkout .site-content form.checkout h3 {
    margin: 0 0 18px;
    color: var(--mw-ink);
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(28px, 2.6vw, 37px);
    font-weight: 500 !important;
    line-height: 1.12;
}
body.woocommerce-checkout .site-content form.checkout > #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    padding: 26px 27px 8px;
    border: 1px solid var(--mw-border);
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    background: #fff;
}
body.woocommerce-checkout .site-content form.checkout > #order_review {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    min-width: 0;
    margin: 0;
    padding: 10px 27px 27px;
    border: 1px solid var(--mw-border);
    border-top: 0;
    border-radius: 0 0 9px 9px;
    background: #fff;
    box-shadow: var(--mw-shadow);
}
body.woocommerce-checkout .site-content form.checkout #order_review table.shop_table {
    width: 100%;
    margin: 0 0 18px;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}
body.woocommerce-checkout .site-content form.checkout #order_review table.shop_table :is(td, th) {
    padding: 14px 4px;
    border: 0;
    border-bottom: 1px solid var(--mw-border);
    color: var(--mw-copy);
    font-size: 13px;
    line-height: 1.55;
}
body.woocommerce-checkout .site-content form.checkout #order_review table.shop_table th { color: var(--mw-ink); }
body.woocommerce-checkout .site-content form.checkout #order_review table.shop_table .order-total :is(th, td) {
    color: var(--mw-dark);
    font-size: 17px;
    font-weight: 700;
}
body.woocommerce-checkout .site-content form.checkout #payment {
    padding: 0;
    border: 1px solid var(--mw-border);
    border-radius: 6px;
    background: var(--mw-warm);
}
body.woocommerce-checkout .site-content form.checkout #payment ul.payment_methods {
    padding: 20px;
    border-bottom: 1px solid var(--mw-border);
}
body.woocommerce-checkout .site-content form.checkout #payment ul.payment_methods li { margin-bottom: 10px; font-size: 13px; }
body.woocommerce-checkout .site-content form.checkout #payment div.payment_box {
    border-radius: 5px;
    background: #fff;
    color: var(--mw-copy);
    font-size: 12px;
    line-height: 1.7;
}
body.woocommerce-checkout .site-content form.checkout #payment div.payment_box::before { border-bottom-color: #fff; }
body.woocommerce-checkout .site-content form.checkout #payment .place-order { padding: 20px; }
body.woocommerce-checkout .site-content form.checkout #place_order {
    float: none;
    display: flex;
    width: 100%;
    min-height: 55px;
    margin: 14px 0 0;
    font-size: 14px;
}
body.woocommerce-checkout .site-content form.checkout #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout .site-content form.checkout #payment .woocommerce-terms-and-conditions-wrapper {
    color: var(--mw-copy);
    font-size: 12px;
    line-height: 1.75;
}
body.woocommerce-checkout .site-content form.checkout .woocommerce-additional-fields { margin-top: 20px; }

/* 07. CARRITO Y CHECKOUT EN BLOQUES WOOCOMMERCE ------------------------ */
body.woocommerce-page .wc-block-cart,
body.woocommerce-page .wc-block-checkout { margin: 10px auto 75px; color: var(--mw-ink); }
body.woocommerce-page :is(.wc-block-cart__main, .wc-block-checkout__main) { min-width: 0; }
body.woocommerce-page :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { min-width: 0; }
body.woocommerce-page .wc-block-components-sidebar-layout { gap: 32px; align-items: start; }
body.woocommerce-page :is(.wc-block-cart__main, .wc-block-checkout__main) :is(.wc-block-components-checkout-step, .wc-block-cart-items),
body.woocommerce-page :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) .wc-block-components-totals-wrapper {
    border-color: var(--mw-border);
}
body.woocommerce-page .wc-block-components-checkout-step {
    margin-bottom: 16px;
    padding: 24px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
}
body.woocommerce-page :is(.wc-block-components-checkout-step__heading, .wc-block-components-title) {
    color: var(--mw-ink);
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.2;
}
body.woocommerce-page :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
    padding: 25px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
    box-shadow: var(--mw-shadow);
}
body.woocommerce-page :is(.wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-components-totals-item) {
    color: var(--mw-ink);
    border-color: var(--mw-border);
}
body.woocommerce-page .wc-block-components-product-name {
    color: var(--mw-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}
body.woocommerce-page .wc-block-components-product-name:hover { color: var(--mw-cta); }
body.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--mw-dark);
    font-size: 17px;
    font-weight: 700;
}
body.woocommerce-page .wc-block-components-text-input input,
body.woocommerce-page .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-page .wc-block-components-form .wc-block-components-text-input input {
    min-height: 52px;
    border: 1px solid #dcd5ce;
    border-radius: 5px;
    background: #fff;
    color: var(--mw-ink);
    font-family: 'Manrope', Arial, sans-serif;
}
body.woocommerce-page .wc-block-components-text-input label,
body.woocommerce-page .wc-block-components-combobox label {
    color: var(--mw-copy);
    font-family: 'Manrope', Arial, sans-serif;
}
body.woocommerce-page :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-button {
    width: 100%;
    min-height: 55px;
    border-radius: 5px;
    font-size: 14px;
}
body.woocommerce-page .wc-block-components-radio-control__option { border-color: var(--mw-border); }
body.woocommerce-page .wc-block-components-payment-methods { font-family: 'Manrope', Arial, sans-serif; }
body.woocommerce-page .wc-block-components-notice-banner {
    border-radius: 6px;
    font-family: 'Manrope', Arial, sans-serif;
}
body.woocommerce-page .wc-block-cart-items {
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
}
body.woocommerce-page .wc-block-cart-items th { background: var(--mw-warm); }
body.woocommerce-page .wc-block-components-quantity-selector {
    border-color: var(--mw-border);
    border-radius: 5px;
}
body.woocommerce-page .wc-block-components-order-summary-item__image img,
body.woocommerce-page .wc-block-cart-item__image img { border-radius: 5px; }

/* 08. MI CUENTA, PEDIDOS Y GRACIAS POR TU COMPRA ----------------------- */
body.woocommerce-account .woocommerce { display: flow-root; margin-bottom: 75px; }
body.woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 255px;
    margin: 0 30px 0 0;
    padding: 12px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--mw-border); }
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 14px 16px;
    border-radius: 4px;
    color: var(--mw-copy);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: #eaf7f5;
    color: var(--mw-cta);
}
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    margin-left: 285px;
    min-height: 260px;
    padding: 28px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
    color: var(--mw-copy);
    font-size: 14px;
    line-height: 1.8;
}
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--mw-cta); }
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
    margin: 15px 0;
    padding: 18px;
    border: 1px solid var(--mw-border);
    border-radius: 6px;
}
body.woocommerce-account .site-content :is(.u-columns, .woocommerce-form-login, .woocommerce-form-register) { margin-bottom: 30px; }
body.woocommerce-account .site-content form.login,
body.woocommerce-account .site-content form.register {
    padding: 27px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
}
body.woocommerce-account .site-content table.my_account_orders,
body.woocommerce-account .site-content table.woocommerce-table {
    width: 100%;
    border: 1px solid var(--mw-border);
    border-collapse: separate;
    border-radius: 7px;
    background: #fff;
}
body.woocommerce-account .site-content :is(table.my_account_orders, table.woocommerce-table) :is(th, td) {
    padding: 14px;
    border-color: var(--mw-border);
    font-size: 13px;
}
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-checkout .woocommerce-order {
    margin: 20px 0 75px;
    color: var(--mw-copy);
}
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    padding: 22px 25px;
    border-left: 3px solid var(--mw-cta);
    border-radius: 5px;
    background: #eff9f8;
    color: var(--mw-ink);
    font-weight: 700;
}
body.woocommerce-order-received .site-content ul.order_details {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 22px;
    border: 1px solid var(--mw-border);
    border-radius: 8px;
    background: #fff;
}
body.woocommerce-order-received .site-content ul.order_details li { margin-bottom: 0; }
body.woocommerce-order-received .site-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 34px;
    font-weight: 500 !important;
}

/* 09. CATALOGO EN BLOQUES / MINI CARRITO ------------------------------- */
body.woocommerce-page :is(ul.wc-block-grid__products, ul.wp-block-woocommerce-product-template) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 19px;
    margin-bottom: 48px;
    padding: 0;
}
body.woocommerce-page :is(ul.wc-block-grid__products li.wc-block-grid__product,
                           ul.wp-block-woocommerce-product-template li.wp-block-post) {
    box-sizing: border-box;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--mw-border);
    border-radius: 9px;
    background: #fff;
    text-align: left;
}
body.woocommerce-page .wc-block-grid__product-image img,
body.woocommerce-page .wp-block-woocommerce-product-template .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: 230px;
    border-radius: 5px;
    object-fit: contain;
    background: #faf8f5;
}
body.woocommerce-page .wc-block-grid__product-title,
body.woocommerce-page .wp-block-woocommerce-product-template .wp-block-post-title {
    color: var(--mw-ink);
    font-family: 'Manrope', Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.55;
    letter-spacing: 0 !important;
}
body.woocommerce-page :is(.wc-block-grid__product-price, .wp-block-woocommerce-product-price) {
    color: var(--mw-dark);
    font-size: 15px;
    font-weight: 700;
}
body.woocommerce-page .wc-block-grid__product-add-to-cart .wp-block-button__link { width: 100%; }
body.woocommerce-page .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
body.woocommerce-page .woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--mw-border);
    font-size: 12px;
}
body.woocommerce-page .woocommerce-mini-cart__buttons .button { margin: 5px 4px 5px 0; }

/* 10. AJUSTES RESPONSIVOS ---------------------------------------------- */
@media (max-width: 1140px) {
    body.woocommerce-page .site-content ul.products,
    body.woocommerce .site-content ul.products,
    body.woocommerce-page :is(ul.wc-block-grid__products, ul.wp-block-woocommerce-product-template) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.woocommerce-checkout .site-content form.checkout { grid-template-columns: minmax(0, 1fr) minmax(305px, .84fr); gap: 0 20px; }
    body.woocommerce-checkout .site-content form.checkout > .col2-set { padding: 22px; }
    body.woocommerce-checkout .site-content form.checkout > #order_review { padding: 10px 20px 22px; }
    body.woocommerce-checkout .site-content form.checkout > #order_review_heading { padding: 22px 20px 8px; }
}
@media (max-width: 900px) {
    body.woocommerce-page :is(.site-content, main#main),
    body.woocommerce :is(.site-content, main#main) { width: calc(100% - 44px); }
    body.single-product .site-content div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; }
    body.single-product .site-content div.product .product_title { font-size: 42px; }
    body.woocommerce-page .site-content ul.products,
    body.woocommerce .site-content ul.products,
    body.woocommerce-page :is(ul.wc-block-grid__products, ul.wp-block-woocommerce-product-template) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.woocommerce-page .wc-block-components-sidebar-layout { gap: 18px; }
}
@media (max-width: 767px) {
    body.woocommerce-page :is(.site-content, main#main),
    body.woocommerce :is(.site-content, main#main) { width: calc(100% - 34px); }
    body.woocommerce-page :is(h1.entry-title, .page-title, .woocommerce-products-header__title) { font-size: 43px; }
    body.single-product .site-content div.product {
        display: flex;
        flex-direction: column;
        gap: 27px;
        margin-bottom: 55px;
    }
    body.single-product .site-content div.product :is(div.images, .woocommerce-product-gallery, div.summary, .woocommerce-tabs, .related, .upsells) { width: 100% !important; }
    body.single-product .site-content div.product div.summary { padding-top: 0; }
    body.single-product .site-content div.product .product_title { font-size: 42px; }
    body.single-product .site-content div.product .summary > .price { font-size: 27px; }
    body.single-product .site-content div.product .woocommerce-tabs { margin-top: 0; }
    body.single-product .site-content div.product .woocommerce-tabs ul.tabs { gap: 8px 17px; }
    body.single-product .site-content div.product .woocommerce-tabs ul.tabs li a { font-size: 12px; }
    body.woocommerce-page .site-content ul.products,
    body.woocommerce .site-content ul.products,
    body.woocommerce-page :is(ul.wc-block-grid__products, ul.wp-block-woocommerce-product-template) { gap: 13px; margin-bottom: 40px; }
    body.woocommerce-page .site-content ul.products li.product,
    body.woocommerce .site-content ul.products li.product { padding: 9px; }
    body.woocommerce-page .site-content ul.products li.product a img,
    body.woocommerce .site-content ul.products li.product a img { height: 180px; }
    body.woocommerce-page .site-content ul.products li.product .woocommerce-loop-product__title,
    body.woocommerce .site-content ul.products li.product .woocommerce-loop-product__title { font-size: 12px; min-height: 55px; }
    body.woocommerce-page .site-content ul.products li.product .price { font-size: 14px; }
    body.woocommerce-page .wc-block-grid__product-image img,
    body.woocommerce-page .wp-block-woocommerce-product-template .wp-block-post-featured-image img { height: 180px; }
    body.woocommerce-page .site-content ul.products li.product .onsale { top: 17px; left: 17px; }
    body.woocommerce-cart .site-content .cart-collaterals .cart_totals { float: none; width: 100%; padding: 21px; }
    body.woocommerce-cart .site-content table.shop_table { display: block; overflow-x: auto; }
    body.woocommerce-cart .site-content table.shop_table :is(th, td) { padding: 13px; }
    body.woocommerce-checkout .site-content form.checkout { display: block; margin-bottom: 55px; }
    body.woocommerce-checkout .site-content form.checkout > .col2-set { margin-bottom: 18px; padding: 20px; }
    body.woocommerce-checkout .site-content form.checkout > #order_review_heading { padding: 22px 20px 8px; }
    body.woocommerce-checkout .site-content form.checkout > #order_review { margin-bottom: 20px; padding: 8px 20px 20px; }
    body.woocommerce-page .wc-block-components-sidebar-layout { display: block; }
    body.woocommerce-page :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { margin-top: 20px; padding: 20px; }
    body.woocommerce-page .wc-block-components-checkout-step { padding: 18px; }
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
        margin: 0 0 18px;
    }
    body.woocommerce-account .woocommerce-MyAccount-content { padding: 22px; }
    body.woocommerce-order-received .site-content ul.order_details { gap: 16px; }
}
@media (max-width: 440px) {
    body.woocommerce-page :is(.site-content, main#main),
    body.woocommerce :is(.site-content, main#main) { width: calc(100% - 28px); }
    body.single-product .site-content div.product .product_title { font-size: 37px; }
    body.single-product .site-content div.product form.cart .quantity { flex: 0 0 82px; }
    body.single-product .site-content div.product form.cart .quantity .qty { width: 82px; }
    body.single-product .site-content div.product form.cart .single_add_to_cart_button { flex: 1 1 175px; }
    body.woocommerce-page .site-content ul.products li.product a img,
    body.woocommerce .site-content ul.products li.product a img,
    body.woocommerce-page .wc-block-grid__product-image img,
    body.woocommerce-page .wp-block-woocommerce-product-template .wp-block-post-featured-image img { height: 145px; }
    body.woocommerce-page .site-content ul.products li.product :is(.button, .added_to_cart) { padding: 11px 6px; font-size: 11px; }
    body.woocommerce-cart .site-content table.shop_table .coupon { display: block; }
    body.woocommerce-cart .site-content table.shop_table .coupon #coupon_code { width: 100%; margin: 0 0 8px; }
    body.woocommerce-cart .site-content table.shop_table .coupon button { width: 100%; }
    body.woocommerce-checkout .site-content form.checkout #payment .place-order { padding: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-page .site-content :is(.button, li.product, li.product img),
    body.woocommerce .site-content :is(.button, li.product, li.product img) { transition: none !important; transform: none !important; }
}


/* ============================================================================
   MERTHERAPY | WOOCOMMERCE PREMIUM v2.1 — GENERATEPRESS
   Refinamiento visual aplicado sobre la base WooCommerce v2 corregida.
   Selectores verificados con el HTML real de /producto/lsi-tranacix-.../
   ============================================================================ */

/* 1. GENERATEPRESS: EL ANCHO DEL TEMA ANULABA LA COMPOSICION DE LA TIENDA */
body.woocommerce-page,
body.woocommerce {
    --mw-accent: #18c5d1;
    --mw-cta: #087e8a;
    --mw-cta-hover: #066770;
    --mw-warm: #f7f3ee;
    --mw-warm-2: #ede5dc;
    --mw-border: #e9e2da;
    --mw-copy: #4c5964;
    --mw-ink: #202936;
    --mw-muted: #727d83;
    --mw-radius: 14px;
    --mw-shadow: 0 18px 52px rgba(32,41,54,.07);
    background-color: #fcfaf7 !important;
}
body.woocommerce-page #page.site.grid-container,
body.woocommerce #page.site.grid-container {
    max-width: none !important;
    width: 100% !important;
    background: #fcfaf7;
}
body.woocommerce-page #page .site-content,
body.woocommerce #page .site-content {
    display: block;
    width: min(1360px, calc(100% - 100px));
    max-width: 1360px;
    padding: 43px 0 94px;
    margin: 0 auto;
}
body.woocommerce-page #page .site-content #primary,
body.woocommerce #page .site-content #primary {
    float: none !important;
    width: 100% !important;
    max-width: none;
    margin: 0;
}
body.woocommerce-page #page .site-content #main,
body.woocommerce #page .site-content #main {
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-page #page .site-content .inside-article,
body.woocommerce #page .site-content .inside-article {
    padding: 0 !important;
    border: 0;
    box-shadow: none;
    background: transparent !important;
}
body.woocommerce-page #page .site-content .entry-content,
body.woocommerce #page .site-content .entry-content { margin-top: 0; }
body.woocommerce-page #page .site-content :is(#right-sidebar,#left-sidebar,.widget-area.sidebar),
body.woocommerce #page .site-content :is(#right-sidebar,#left-sidebar,.widget-area.sidebar) { display: none !important; }
body.woocommerce-page #page .site-content .woocommerce-breadcrumb,
body.woocommerce #page .site-content .woocommerce-breadcrumb {
    margin: 0 0 35px;
    color: #869094;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .025em;
}
body.woocommerce-page #page .site-content a:not(.button):not(.add_to_cart_button):not(.checkout-button):hover,
body.woocommerce #page .site-content a:not(.button):not(.add_to_cart_button):not(.checkout-button):hover { color: #087e8a; }

/* 2. CTA REAL, NO MORADO: LOS SELECTORES DE WOOCOMMERCE Y GENERATEPRESS */
body.woocommerce-page #page .site-content :is(
    button.button, a.button, input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button.alt, .woocommerce button.button.alt,
    .woocommerce input.button.alt,
    a.checkout-button, button#place_order,
    #review_form #submit,
    .wc-block-components-button:not(.is-link)
),
body.woocommerce #page .site-content :is(
    button.button, a.button, input.button,
    button.button.alt, a.button.alt, input.button.alt,
    a.checkout-button, button#place_order, #review_form #submit,
    .wc-block-components-button:not(.is-link)
) {
    border: 1px solid #087e8a !important;
    border-radius: 6px !important;
    background: #087e8a !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: 'Manrope', Arial, sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.woocommerce-page #page .site-content :is(
    button.button, a.button, input.button, a.checkout-button, button#place_order,
    #review_form #submit, .wc-block-components-button:not(.is-link)
):not(:disabled):hover,
body.woocommerce #page .site-content :is(
    button.button, a.button, input.button, a.checkout-button, button#place_order,
    #review_form #submit, .wc-block-components-button:not(.is-link)
):not(:disabled):hover {
    border-color: #066770 !important;
    background: #066770 !important;
    color: #fff !important;
    box-shadow: 0 11px 25px rgba(8,126,138,.19) !important;
    transform: translateY(-2px);
}
body.woocommerce-page #page .site-content :is(button, a, input, select, textarea):focus-visible,
body.woocommerce #page .site-content :is(button, a, input, select, textarea):focus-visible {
    outline: 2px solid #087e8a;
    outline-offset: 3px;
}
body.woocommerce-page #page .site-content :is(button, input, select, textarea):disabled,
body.woocommerce #page .site-content :is(button, input, select, textarea):disabled { cursor: not-allowed; }

/* 3. SINGLE PRODUCT: FICHA COMERCIAL CON PROPORCIONES EDITORIALES */
body.single-product #page .site-content div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 0 clamp(35px, 4.5vw, 83px);
    align-items: start;
    margin: 0;
    padding: 0;
    background: transparent;
}
body.single-product #page .site-content div.product::before,
body.single-product #page .site-content div.product::after { display: none !important; }
body.single-product #page .site-content div.product > div.images,
body.single-product #page .site-content div.product > div.woocommerce-product-gallery {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(17px,2.2vw,32px);
    border: 1px solid #eee7df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(38,34,32,.035);
}
body.single-product #page .site-content div.product .woocommerce-product-gallery__wrapper { background: #fff; }
body.single-product #page .site-content div.product .woocommerce-product-gallery__wrapper img {
    display: block;
    width: 100%;
    max-height: 590px;
    height: auto;
    object-fit: contain;
    background: #fff;
    border-radius: 4px;
}
body.single-product #page .site-content div.product .flex-viewport {
    border: 0;
    border-radius: 4px;
    background: white;
}
body.single-product #page .site-content div.product .woocommerce-product-gallery__trigger {
    top: 16px !important;
    right: 16px !important;
    width: 42px;
    height: 42px;
    border: 1px solid #e5e7e6;
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
body.single-product #page .site-content div.product .flex-control-thumbs {
    margin: 15px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}
body.single-product #page .site-content div.product .flex-control-thumbs li {
    float: none;
    width: 76px;
    border: 1px solid #e6ded7;
    border-radius: 7px;
    overflow: hidden;
    background: #fff;
}
body.single-product #page .site-content div.product .flex-control-thumbs li img.flex-active {
    outline: 2px solid #18c5d1;
    outline-offset: -2px;
}
body.single-product #page .site-content div.product > div.summary {
    grid-column: 2;
    grid-row: 1;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 12px 0 0;
}
body.single-product #page .site-content div.product .summary h1.product_title {
    margin: 0 0 16px;
    color: #202936;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(45px, 4vw, 64px);
    font-weight: 500 !important;
    line-height: 1.04;
    letter-spacing: -.028em !important;
    text-wrap: balance;
}
body.single-product #page .site-content div.product .summary > p.price,
body.single-product #page .site-content div.product .summary > div.price {
    display: block;
    margin: 0 0 27px;
    padding: 0 0 26px;
    border-bottom: 1px solid #e8e0d9;
    color: #087e8a !important;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: clamp(27px, 2.5vw, 34px);
    font-weight: 600;
    line-height: 1.2;
}
body.single-product #page .site-content div.product .summary > .price :is(bdi,span.amount) { color: #087e8a !important; }
body.single-product #page .site-content div.product .summary > .price del :is(bdi,span.amount) {
    color: #838a8e !important;
    font-size: .76em;
}
body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description {
    margin: 0 0 22px;
    color: #46525e;
    font-size: 15px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}
body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description p {
    margin: 0 0 16px;
}
body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description ul {
    padding-left: 22px;
    margin: 11px 0 22px;
    list-style: disc outside;
}
body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description li {
    margin: 0 0 5px;
    padding: 0 0 0 4px;
    line-height: 1.72;
}
body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description li::marker {
    color: #0c9ca9;
}
body.single-product #page .site-content div.product .summary .stock.in-stock {
    color: #25725c;
    font-size: 13px;
}
body.single-product #page .site-content div.product form.cart {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 23px;
    padding: 23px 0 22px;
    border-top: 1px solid #eee7e0;
    border-bottom: 1px solid #eee7e0;
}
body.single-product #page .site-content div.product form.cart .quantity {
    display: flex;
    align-items: center;
    float: none !important;
    margin: 0 !important;
}
body.single-product #page .site-content div.product form.cart .quantity input.qty {
    width: 89px;
    min-height: 60px;
    height: 60px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid #ddd5cd;
    border-radius: 6px;
    background: #fff;
    color: #202936;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}
body.single-product #page .site-content div.product form.cart button.single_add_to_cart_button.button.alt {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 1 1 190px;
    float: none !important;
    min-height: 60px;
    margin: 0 !important;
    padding: 15px 24px !important;
    border: 1px solid #087e8a !important;
    border-radius: 6px !important;
    background: #087e8a !important;
    color: white !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .01em;
    line-height: 1.4;
    cursor: pointer;
}
body.single-product #page .site-content div.product form.cart button.single_add_to_cart_button.button.alt:hover {
    background: #066770 !important;
    border-color: #066770 !important;
}
body.single-product #page .site-content div.product form.cart button.single_add_to_cart_button::after {
    content: '↗';
    display: inline-block;
    margin-left: 12px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}
body.single-product #page .site-content div.product form.cart table.variations {
    width: 100%;
    margin: 0 0 8px;
    border: 0;
}
body.single-product #page .site-content div.product form.cart table.variations :is(td,th) {
    padding: 8px 9px 8px 0;
    border: 0;
}
body.single-product #page .site-content div.product form.cart .single_variation_wrap {
    width: 100%;
}
body.single-product #page .site-content div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
body.single-product #page .site-content div.product .product_meta {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 8px 10px;
    padding: 0;
    margin-top: 8px;
    border: 0;
    color: #8d9295;
    font-size: 12px;
}
body.single-product #page .site-content div.product .product_meta > span {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 9px 13px;
    border: 1px solid #e8e2dd;
    border-radius: 5px;
    background: #fff;
    line-height: 1.5;
}
body.single-product #page .site-content div.product .product_meta a {
    color: #47545a;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
body.single-product #page .site-content div.product .product_meta a:hover { color: #087e8a; }

/* 4. PESTAÑAS Y RESEÑAS, EN TARJETAS Y DOS COLUMNAS */
body.single-product #page .site-content div.product > .woocommerce-tabs,
body.single-product #page .site-content div.product > .related,
body.single-product #page .site-content div.product > .upsells {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    clear: both;
}
body.single-product #page .site-content div.product > .woocommerce-tabs {
    grid-row: auto;
    margin: 72px 0 0;
    padding: 0;
    border: 0;
}
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 30px;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e3dcd5;
    border-radius: 0;
    background: transparent;
}
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs::before,
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li::before,
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li {
    float: none;
    display: inline-block;
    margin: 0 0 -1px;
    padding: 0 0 15px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #087e8a;
    background: transparent;
}
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li a {
    padding: 0;
    color: #657078;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product #page .site-content div.product .woocommerce-tabs ul.tabs li a:hover { color: #202936; }
body.single-product #page .site-content div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    margin: 0;
    padding: clamp(22px, 3vw, 40px);
    border: 1px solid #ede5de;
    border-radius: 11px;
    background: #fff;
}
body.single-product #page .site-content div.product .woocommerce-tabs .panel h2,
body.single-product #page .site-content div.product > .related > h2,
body.single-product #page .site-content div.product > .upsells > h2 {
    margin: 0 0 26px;
    color: #202936;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(34px, 3.2vw, 48px);
    font-weight: 500 !important;
    line-height: 1.12;
}
body.single-product #page .site-content div.product #reviews {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: clamp(28px,4vw,66px);
    align-items: start;
}
body.single-product #page .site-content div.product #reviews #comments {
    min-width: 0;
}
body.single-product #page .site-content div.product #reviews #comments .woocommerce-noreviews {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid #e9e2da;
    border-radius: 6px;
    background: #fcfaf7;
    color: #68757d;
}
body.single-product #page .site-content div.product #review_form_wrapper {
    min-width: 0;
    padding: 27px;
    border: 1px solid #ece3db;
    border-radius: 9px;
    background: #faf8f5;
}
body.single-product #page .site-content div.product #review_form #respond {
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
}
body.single-product #page .site-content div.product #review_form #reply-title {
    display: block;
    margin: 0 0 20px;
    color: #202936;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.65;
}
body.single-product #page .site-content div.product #review_form label {
    display: block;
    margin: 0 0 9px;
    color: #3d4d56;
    font-size: 13px;
    font-weight: 700;
}
body.single-product #page .site-content div.product #review_form .comment-form-rating { margin: 0 0 22px; }
body.single-product #page .site-content div.product #review_form .stars {
    margin: 8px 0 0;
    line-height: 1;
}
body.single-product #page .site-content div.product #review_form .stars a {
    color: #087e8a !important;
    text-decoration: none !important;
}
body.single-product #page .site-content div.product #review_form #comment {
    width: 100%;
    min-height: 154px;
    margin: 0;
    padding: 15px 17px;
    border: 1px solid #e1d9d2;
    border-radius: 6px;
    background: #fff;
    color: #202936;
    line-height: 1.65;
}
body.single-product #page .site-content div.product #review_form #comment:focus {
    border-color: #087e8a;
    outline: 3px solid rgba(24,197,209,.12);
}
body.single-product #page .site-content div.product #review_form .form-submit { margin: 18px 0 0; }
body.single-product #page .site-content div.product #review_form input#submit {
    display: inline-flex;
    min-height: 48px;
    padding: 12px 32px;
    border: 1px solid #087e8a !important;
    border-radius: 6px !important;
    background: #087e8a !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
body.single-product #page .site-content div.product #review_form input#submit:hover { background: #066770 !important; }
body.single-product #page .site-content div.product #reviews .commentlist .comment-text {
    padding: 20px;
    border: 1px solid #e9e2da;
    border-radius: 7px;
}

/* 5. TARJETAS DE PRODUCTOS RELACIONADOS Y CATALOGO */
body.woocommerce-page #page .site-content ul.products,
body.woocommerce #page .site-content ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.8vw, 27px);
    margin: 0 0 45px;
    padding: 0;
    clear: both;
    list-style: none;
}
body.single-product #page .site-content div.product > .related,
body.single-product #page .site-content div.product > .upsells {
    margin: 66px 0 0;
    padding: 36px 0 0;
    border-top: 1px solid #e8e1d9;
}
body.single-product #page .site-content div.product > .related ul.products,
body.single-product #page .site-content div.product > .upsells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
body.woocommerce-page #page .site-content ul.products::before,
body.woocommerce-page #page .site-content ul.products::after,
body.woocommerce #page .site-content ul.products::before,
body.woocommerce #page .site-content ul.products::after { display: none !important; }
body.woocommerce-page #page .site-content ul.products li.product,
body.woocommerce #page .site-content ul.products li.product {
    float: none !important;
    clear: none !important;
    position: relative;
    display: flex;
    flex-direction: column;
    width: auto !important;
    min-width: 0;
    max-width: none;
    height: 100%;
    margin: 0 !important;
    padding: 15px;
    border: 1px solid #e8e1d9;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(32,41,54,.02);
    overflow: hidden;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
body.woocommerce-page #page .site-content ul.products li.product:hover,
body.woocommerce #page .site-content ul.products li.product:hover {
    border-color: #c6e0df;
    box-shadow: 0 15px 34px rgba(36,51,53,.07);
    transform: translateY(-3px);
}
body.woocommerce-page #page .site-content ul.products li.product > a.woocommerce-LoopProduct-link,
body.woocommerce #page .site-content ul.products li.product > a.woocommerce-LoopProduct-link {
    display: block;
    flex: 1;
    color: inherit;
    text-decoration: none;
}
body.woocommerce-page #page .site-content ul.products li.product img,
body.woocommerce #page .site-content ul.products li.product img {
    display: block;
    width: 100%;
    height: clamp(180px, 20vw, 285px);
    margin: 0 0 19px;
    border-radius: 6px;
    background: #fff;
    object-fit: contain;
    transition: transform .35s ease;
}
body.woocommerce-page #page .site-content ul.products li.product:hover img,
body.woocommerce #page .site-content ul.products li.product:hover img { transform: scale(1.035); }
body.woocommerce-page #page .site-content ul.products li.product h2.woocommerce-loop-product__title,
body.woocommerce #page .site-content ul.products li.product h2.woocommerce-loop-product__title {
    min-height: 47px;
    margin: 0 0 11px;
    padding: 0;
    color: #202936;
    font-family: 'Manrope', Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 700 !important;
    line-height: 1.55;
    letter-spacing: 0 !important;
}
body.woocommerce-page #page .site-content ul.products li.product .price,
body.woocommerce #page .site-content ul.products li.product .price {
    display: block;
    margin: 0 0 18px;
    color: #087e8a;
    font-size: 17px;
    font-weight: 700;
}
body.woocommerce-page #page .site-content ul.products li.product .price bdi,
body.woocommerce #page .site-content ul.products li.product .price bdi { color: #087e8a; }
body.woocommerce-page #page .site-content ul.products li.product > a.button,
body.woocommerce #page .site-content ul.products li.product > a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    margin: auto 0 0;
    padding: 10px 9px;
    border: 1px solid #087e8a !important;
    border-radius: 6px !important;
    background: #087e8a !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}
body.woocommerce-page #page .site-content ul.products li.product > a.button:hover,
body.woocommerce #page .site-content ul.products li.product > a.button:hover {
    background: #066770 !important;
    border-color: #066770 !important;
}
body.woocommerce-page #page .site-content ul.products li.product .added_to_cart,
body.woocommerce #page .site-content ul.products li.product .added_to_cart {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 9px 0 0;
    padding: 9px 12px;
    border: 1px solid #d3e9e7;
    border-radius: 5px;
    background: #effbfa;
    color: #087e8a !important;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
body.woocommerce-page #page .site-content ul.products li.product span.onsale,
body.woocommerce #page .site-content ul.products li.product span.onsale {
    top: 26px;
    right: auto;
    left: 26px;
    margin: 0;
    min-height: 0;
    min-width: 0;
    padding: 8px 11px;
    border-radius: 4px;
    background: #087e8a;
    color: white;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
}
body.woocommerce-page #page .site-content .woocommerce-result-count,
body.woocommerce-page #page .site-content .woocommerce-ordering {
    margin-bottom: 26px;
    font-size: 13px;
    color: #64747c;
}

/* 6. CARRITO / CHECKOUT / MI CUENTA: ACABADO SUAVE, SIN ALTERAR PAGOS */
body.woocommerce-page #page .site-content :is(
    table.shop_table, .cart_totals, .woocommerce-checkout-review-order,
    .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation,
    .woocommerce-form-login, .woocommerce-form-register
) {
    border-color: #e8e1d9;
}
body.woocommerce-cart #page .site-content .cart-collaterals .cart_totals,
body.woocommerce-checkout #page .site-content form.checkout > .col2-set,
body.woocommerce-checkout #page .site-content form.checkout > #order_review {
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 38px rgba(32,41,54,.045);
}
body.woocommerce-cart #page .site-content .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #page .site-content #payment button#place_order {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    border: 1px solid #087e8a !important;
    border-radius: 6px !important;
    background: #087e8a !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
}
body.woocommerce-page #page .site-content :is(
    .wc-block-components-checkout-step, .wc-block-cart__sidebar,
    .wc-block-checkout__sidebar, .wc-block-components-order-summary,
    .wc-block-components-totals-wrapper
) { border-color: #e8e1d9; }
body.woocommerce-page #page .site-content :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
    border: 1px solid #e8e1d9;
    border-radius: 10px;
    background: #fff;
}
body.woocommerce-page #page .site-content .wc-block-components-button:not(.is-link) {
    min-height: 54px;
    border-radius: 6px !important;
    background: #087e8a !important;
    color: #fff !important;
}
body.woocommerce-page #page .site-content .wc-block-components-button:not(.is-link):hover {
    background: #066770 !important;
}
body.woocommerce-page #page .site-content :is(input, select, textarea):focus {
    border-color: #087e8a;
}
body.woocommerce-page #page .site-content :is(.woocommerce-message,.woocommerce-info) {
    border-top-color: #087e8a;
    border-left-color: #087e8a;
    background: #eff9f8;
}
body.woocommerce-page #page .site-content .woocommerce-error {
    border-top-color: #bd5151;
    border-left-color: #bd5151;
}

/* 7. RESPONSIVE REAL: PC, TABLET Y MÓVIL */
@media (max-width: 1120px) {
    body.woocommerce-page #page .site-content,
    body.woocommerce #page .site-content { width: calc(100% - 68px); }
    body.woocommerce-page #page .site-content ul.products,
    body.woocommerce #page .site-content ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
    body.single-product #page .site-content div.product > .related ul.products,
    body.single-product #page .site-content div.product > .upsells ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 850px) {
    body.woocommerce-page #page .site-content,
    body.woocommerce #page .site-content { width: calc(100% - 48px); padding: 32px 0 62px; }
    body.single-product #page .site-content div.product {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0 27px;
    }
    body.single-product #page .site-content div.product .summary h1.product_title { font-size: 43px; }
    body.single-product #page .site-content div.product .summary .woocommerce-product-details__short-description { font-size: 14px; }
    body.single-product #page .site-content div.product form.cart button.single_add_to_cart_button.button.alt { flex-basis: 130px; }
    body.woocommerce-page #page .site-content ul.products,
    body.woocommerce #page .site-content ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.single-product #page .site-content div.product > .related ul.products,
    body.single-product #page .site-content div.product > .upsells ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.single-product #page .site-content div.product #reviews { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 767px) {
    body.woocommerce-page #page .site-content,
    body.woocommerce #page .site-content { width: calc(100% - 36px); padding: 24px 0 56px; }
    body.single-product #page .site-content div.product {
        display: flex !important;
        flex-direction: column;
        gap: 0;
    }
    body.single-product #page .site-content div.product > div.images,
    body.single-product #page .site-content div.product > div.woocommerce-product-gallery {
        width: 100% !important;
        margin: 0 0 27px !important;
        padding: 14px;
    }
    body.single-product #page .site-content div.product > div.summary {
        width: 100% !important;
        padding: 0;
    }
    body.single-product #page .site-content div.product .summary h1.product_title {
        font-size: clamp(37px, 8vw, 48px);
        line-height: 1.08;
        margin-bottom: 15px;
    }
    body.single-product #page .site-content div.product .summary > p.price { margin-bottom: 20px; padding-bottom: 20px; }
    body.single-product #page .site-content div.product > .woocommerce-tabs { margin: 48px 0 0; }
    body.single-product #page .site-content div.product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 22px; }
    body.single-product #page .site-content div.product #review_form_wrapper { padding: 20px; }
    body.single-product #page .site-content div.product > .related,
    body.single-product #page .site-content div.product > .upsells { margin-top: 48px; padding-top: 30px; }
    body.woocommerce-page #page .site-content ul.products,
    body.woocommerce #page .site-content ul.products { gap: 14px; }
    body.woocommerce-page #page .site-content ul.products li.product,
    body.woocommerce #page .site-content ul.products li.product { padding: 11px; }
    body.woocommerce-page #page .site-content ul.products li.product img,
    body.woocommerce #page .site-content ul.products li.product img { height: 165px; }
    body.woocommerce-page #page .site-content ul.products li.product h2.woocommerce-loop-product__title,
    body.woocommerce #page .site-content ul.products li.product h2.woocommerce-loop-product__title { font-size: 12px; min-height: 56px; }
    body.woocommerce-page #page .site-content ul.products li.product .price,
    body.woocommerce #page .site-content ul.products li.product .price { font-size: 14px; }
    body.woocommerce-page #page .site-content ul.products li.product > a.button,
    body.woocommerce #page .site-content ul.products li.product > a.button { font-size: 11px; }
    body.woocommerce-checkout #page .site-content form.checkout { display: block; }
    body.woocommerce-checkout #page .site-content form.checkout > #order_review_heading { border-radius: 10px 10px 0 0; }
    body.woocommerce-checkout #page .site-content form.checkout > #order_review { border-radius: 0 0 10px 10px; }
}
@media (max-width: 420px) {
    body.woocommerce-page #page .site-content,
    body.woocommerce #page .site-content { width: calc(100% - 30px); }
    body.single-product #page .site-content div.product form.cart { gap: 9px; }
    body.single-product #page .site-content div.product form.cart .quantity input.qty { width: 72px; }
    body.single-product #page .site-content div.product form.cart button.single_add_to_cart_button.button.alt {
        flex: 1 1 170px;
        padding-inline: 11px !important;
        font-size: 12px !important;
    }
    body.woocommerce-page #page .site-content ul.products li.product img,
    body.woocommerce #page .site-content ul.products li.product img { height: 130px; }
    body.woocommerce-page #page .site-content ul.products li.product > a.button,
    body.woocommerce #page .site-content ul.products li.product > a.button { padding: 11px 5px; }
    body.single-product #page .site-content div.product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-page #page .site-content ul.products li.product,
    body.woocommerce #page .site-content ul.products li.product,
    body.woocommerce-page #page .site-content ul.products li.product img,
    body.woocommerce #page .site-content ul.products li.product img { transition: none !important; transform: none !important; }
}
