/* ==========================================================================
   Cámaras y Accesos — Estética de la PÁGINA DE PRODUCTO (single product)
   Sistema de diseño MD3 del sitio. Solo se carga en is_product().
   Puntos clave: galería + thumbnails en 1:1 (centradas, encuadradas, rellenas)
   y galería sticky en desktop. Mobile-first / responsive.
   No toca el header.
   ========================================================================== */

body.single-product {
    --caya-brand: #005095;
    --caya-brand-hover: #0061b3;
    --caya-accent: #09AEE7;
    --caya-ink: #0B1221;
    --caya-soft: #58595B;
    --caya-border: rgba(88, 89, 91, 0.20);
    --caya-surface: #FFFFFF;
    --caya-tint: #F4F7FA;
    --caya-ok: #3EC063;
    --caya-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    --caya-shadow-hover: 0 12px 30px rgba(0, 80, 149, 0.14);
    --caya-radius: 16px;
    --caya-radius-sm: 12px;
    --caya-ease: cubic-bezier(0.2, 0, 0, 1);
    font-family: 'Roboto', system-ui, -apple-system, sans-serif;
}

/* ==========================================================================
   1) MIGAS DE PAN / TÍTULO DE PÁGINA
   ========================================================================== */
body.single-product .page-heading {
    background: transparent !important;
    border-bottom: 1px solid var(--caya-border);
    padding: 1.5rem 0 1.25rem !important;
    margin-bottom: 2rem;
}
body.single-product .page-heading .woocommerce-breadcrumb {
    font-family: 'Fira Sans', system-ui, sans-serif;
    font-size: 0.82rem;
    color: var(--caya-soft) !important;
}
body.single-product .page-heading .woocommerce-breadcrumb a { color: var(--caya-brand) !important; text-decoration: none !important; }
body.single-product .page-heading .woocommerce-breadcrumb a:hover { color: var(--caya-accent) !important; }
body.single-product .page-heading .delimeter { color: var(--caya-soft) !important; opacity: .6; margin: 0 .35rem; }
body.single-product .page-heading .delimeter .et-icon { font-size: .7em; }
body.single-product .page-heading .title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    font-size: 1.3rem !important;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0.35rem 0 0 !important;
}

/* ==========================================================================
   2) GALERÍA
   El carrusel principal (swiper coverflow de XStore) se deja intacto en su
   ancho/transform — es JS el que lo mueve. Lo que sí se enmarca en tile 1:1
   con fondo tenue y bordes redondos (mismo lenguaje que el resto del sitio)
   es la FOTO dentro de cada slide, y las miniaturas de abajo.
   ========================================================================== */

/* La galería es el ancla de posicionamiento de la medalla */
body.single-product .woocommerce-product-gallery.images-wrapper,
body.single-product .swiper-entry.images {
    position: relative !important;
}

/* Medalla anclada a una banda centrada del MISMO ancho que el marco visible
   (560px), no al contenedor de 690px del swiper — así no se sale por la derecha.
   La banda se centra en el contenedor y empuja la medalla a su borde derecho. */
body.single-product .sale-wrapper {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    width: min(560px, 100%);
    margin: 0 auto !important;
    padding: 1rem 1rem 0 0;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
    z-index: 5;
    pointer-events: none;
}
body.single-product .sale-wrapper .onsale { pointer-events: auto; }

/* Badge de oferta: pill de marca, centrado por altura fija (no depende de line-height) */
body.single-product .sale-wrapper .onsale {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--caya-accent) !important;
    color: #fff !important;
    border-radius: 100px !important;
    font-family: 'Fira Sans', system-ui, sans-serif !important;
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 0 1rem !important;
    height: 2.1rem !important;
    box-sizing: border-box;
    line-height: normal !important;
    box-shadow: var(--caya-shadow);
}

/* El slide del carrusel principal mide 690px (lo fija el swiper por JS).
   No se toca ese ancho ni la altura auto del JS se deja crecer: se colapsa
   a la altura real del marco, más chico y centrado. */
body.single-product .swiper-control-top .swiper-wrapper.main-images {
    height: auto !important;
    align-items: center;
}

/* Imagen principal: tile 1:1 acotado y centrado, con fondo tenue y bordes
   redondos como el resto del catálogo */
body.single-product .woocommerce-product-gallery__image {
    display: block !important;
    max-width: 560px;
    margin: 0 auto !important;
    aspect-ratio: 1 / 1;
    background: var(--caya-tint) !important;
    border: 1px solid var(--caya-border) !important;
    border-radius: var(--caya-radius) !important;
    overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery__image > a {
    display: block;
    width: 100%;
    height: 100%;
}
body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 8%;
    mix-blend-mode: multiply;
}

/* Fila de miniaturas: acotada y centrada bajo la imagen principal */
body.single-product .woocommerce-product-gallery .swiper-control-bottom {
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
}

/* El contenedor del carrusel recorta con overflow:hidden. Le damos aire para
   que el borde/anillo de un tile en el filo (primero, último, hover) no se
   corte por ningún lado. */
body.single-product .woocommerce-product-gallery .swiper-control-bottom.slider {
    padding: 4px !important;
}

/* Miniaturas: el respiro real lo pone el <li> con padding interno (box-sizing
   border-box, así el width fijo del swiper no cambia). El tile vive 4px adentro
   de la zona recortada → ni el borde de 1px ni el anillo activo tocan el filo. */
body.single-product .thumbnails-list .thumbnail-item {
    box-sizing: border-box !important;
    padding: 4px !important;
    overflow: visible !important;
    height: auto !important;
}
body.single-product .thumbnails-list .thumbnail-item span {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    background: var(--caya-tint) !important;
    border: 1px solid var(--caya-border) !important;
    border-radius: var(--caya-radius-sm) !important;
    overflow: hidden !important;
    transition: border-color .2s var(--caya-ease), box-shadow .2s var(--caya-ease);
}
body.single-product .thumbnails-list .thumbnail-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    mix-blend-mode: multiply;
}
body.single-product .thumbnails-list .thumbnail-item.active-thumbnail span,
body.single-product .thumbnails-list .thumbnail-item:hover span {
    border-color: var(--caya-accent) !important;
    box-shadow: 0 0 0 2px rgba(9, 174, 231, 0.35);
}

/* Flechas de miniaturas: chicas y planas (sin sombra: el carrusel recorta con
   overflow:hidden y la sombra se cortaría a los lados). El glyph vive en ::after. */
body.single-product .woocommerce-product-gallery .swiper-control-bottom .et-swiper-elementor-nav,
body.single-product .swiper-custom-left.thumbnails-bottom,
body.single-product .swiper-custom-right.thumbnails-bottom {
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    box-shadow: none !important;
    background: transparent !important;
}
body.single-product .swiper-custom-left.thumbnails-bottom::after,
body.single-product .swiper-custom-right.thumbnails-bottom::after {
    font-size: 12px !important;
    line-height: 22px !important;
    box-shadow: none !important;
}

/* Flechas del slider en color de marca */
body.single-product .woocommerce-product-gallery .et-swiper-elementor-nav::after,
body.single-product .woocommerce-product-gallery .et-swiper-elementor-nav { color: var(--caya-brand) !important; }

/* (Sticky revertido a pedido del usuario: la columna de resumen ya no se fija.) */

/* ==========================================================================
   3) RESUMEN DEL PRODUCTO (título, precio, stock, botón, features, meta)
   ========================================================================== */
body.single-product .product_title.entry-title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    font-size: 1.9rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    margin-bottom: 0.75rem !important;
}

body.single-product .elementor-widget-woocommerce-product-etheme_price .price,
body.single-product p.price {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    color: var(--caya-brand) !important;
    font-weight: 700 !important;
    font-size: 1.9rem !important;
    display: flex;
    align-items: baseline;
    gap: .6rem;
    flex-wrap: wrap;
}
body.single-product .price .woocommerce-Price-amount { color: var(--caya-brand) !important; }
body.single-product .price del,
body.single-product .price del .woocommerce-Price-amount {
    color: var(--caya-soft) !important;
    opacity: .65;
    font-weight: 400;
    font-size: 1.1rem;
}
body.single-product .price ins { text-decoration: none; }

/* Divisores MD3 */
body.single-product .elementor-divider-separator { border-top-color: var(--caya-border) !important; }

/* Descripción corta */
body.single-product .woocommerce-product-details__short-description {
    color: var(--caya-soft) !important;
    font-size: 1rem;
    line-height: 1.6;
}

/* Estado de stock como chip */
body.single-product .stock.in-stock {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: rgba(62, 192, 99, 0.10) !important;
    color: #1f7a3d !important;
    border: 1px solid rgba(62, 192, 99, 0.30);
    border-radius: 100px;
    padding: .35rem .85rem;
    font-size: .82rem;
    font-weight: 600;
    font-family: 'Fira Sans', sans-serif;
    width: fit-content;
}
body.single-product .stock.in-stock::before {
    content: '';
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--caya-ok);
}
body.single-product .stock.out-of-stock {
    color: #b3261e !important;
    font-weight: 600;
}

/* Selector de cantidad */
body.single-product .quantity.quantity-select .qty,
body.single-product .quantity .qty {
    border: 1px solid var(--caya-border) !important;
    border-radius: 100px !important;
    background: var(--caya-tint) !important;
    color: var(--caya-ink) !important;
    padding: .55rem .9rem !important;
    font-family: 'Roboto', sans-serif !important;
}

/* Botón "Añadir al carrito" — pill primario de marca */
body.single-product .single_add_to_cart_button,
body.single-product .etheme-add-to-cart-form .button.alt {
    background: var(--caya-brand) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-family: 'Fira Sans', system-ui, sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 0.95rem 1.6rem !important;
    box-shadow: 0 2px 10px rgba(0, 80, 149, 0.22) !important;
    transition: background .2s var(--caya-ease), box-shadow .2s var(--caya-ease), transform .15s var(--caya-ease) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}
body.single-product .single_add_to_cart_button:hover,
body.single-product .etheme-add-to-cart-form .button.alt:hover {
    background: var(--caya-brand-hover) !important;
    box-shadow: 0 8px 20px rgba(0, 80, 149, 0.30) !important;
    transform: translateY(-1px);
}
body.single-product .add-to-cart-button-stretched .single_add_to_cart_button { width: 100%; }

/* Lista de beneficios (checks) */
body.single-product .elementor-icon-list-item .elementor-icon-list-text,
body.single-product .elementor-icon-list-item .elementor-icon-list-text span { color: var(--caya-ink) !important; }
body.single-product .elementor-icon-list-icon svg { color: var(--caya-ok) !important; }

/* Meta (SKU / categorías) */
body.single-product .product_meta {
    font-size: .85rem;
    color: var(--caya-soft);
    border-top: 1px solid var(--caya-border);
    padding-top: 1rem;
}
body.single-product .product_meta .detail-label { font-weight: 600; color: var(--caya-ink); }
body.single-product .product_meta a { color: var(--caya-brand) !important; text-decoration: none !important; }
body.single-product .product_meta a:hover { color: var(--caya-accent) !important; }

/* ==========================================================================
   4) PESTAÑAS (Descripción / Valoraciones)
   ========================================================================== */
/* Ancho fijo 1440px centrado — igual para el wrapper y cada panel individual,
   así Descripción y Valoraciones quedan idénticos, sin depender de que el
   panel herede correctamente del padre. */
body.single-product .woocommerce-tabs {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
}
body.single-product .woocommerce-Tabs-panel {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
}

/* Barra de tabs: reset total primero (cualquier borde/sombra/fondo/pseudo-
   elemento propio del tema en CUALQUIER hijo queda invisible), y recién
   después se dibuja el indicador propio — un box-shadow inset sobre el
   <a> mismo, no sobre un elemento adivinado que puede no existir. Así no
   importa cómo el tema implemente su "type-underline" por dentro. */
body.single-product .wc-tabs-wrapper .tabs.wc-tabs,
body.single-product .wc-tabs-wrapper .tabs.wc-tabs *,
body.single-product .wc-tabs-wrapper .tabs.wc-tabs *::before,
body.single-product .wc-tabs-wrapper .tabs.wc-tabs *::after {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
body.single-product .wc-tabs-wrapper .tabs.wc-tabs {
    display: flex !important;
    gap: .5rem;
    margin: 0 0 2rem !important;
    padding: 0 !important;
    border-bottom: 1px solid #E3E7EB !important;
}
body.single-product .wc-tabs-wrapper .tabs.wc-tabs .et-woocommerce-tab > a {
    display: inline-block;
    padding: .9rem 1.1rem !important;
    font-family: 'Fira Sans', system-ui, sans-serif !important;
    font-weight: 600 !important;
    color: #58595B !important;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: .88rem;
    text-decoration: none !important;
    transition: color .2s ease;
}
body.single-product .wc-tabs-wrapper .tabs.wc-tabs .et-woocommerce-tab:hover > a {
    color: #005095 !important;
}
body.single-product .wc-tabs-wrapper .tabs.wc-tabs .et-woocommerce-tab.active > a {
    color: #005095 !important;
    font-weight: 700 !important;
    box-shadow: inset 0 -3px 0 0 #09AEE7 !important;
}

/* Panel: descripción */
body.single-product .woocommerce-Tabs-panel {
    color: var(--caya-soft);
    font-size: .95rem;
    line-height: 1.75;
}
body.single-product .woocommerce-Tabs-panel p { margin: 0 0 1.1rem; }
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3 {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    margin: 1.5rem 0 .75rem;
}
body.single-product .woocommerce-Tabs-panel p strong { color: var(--caya-ink); }

/* Lista de características: check MD3 en vez de bullet por defecto */
body.single-product .woocommerce-Tabs-panel ul {
    list-style: none;
    padding-left: 0;
    display: grid;
    gap: .65rem;
    margin: 1.25rem 0;
}
body.single-product .woocommerce-Tabs-panel ul li {
    position: relative;
    padding-left: 1.7rem;
    margin-bottom: 0;
    color: var(--caya-ink);
    font-size: .92rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2309AEE7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 0 .1rem;
    background-size: 16px 16px;
}

/* Panel: valoraciones — el layout de dos columnas del tema
   (etheme-product-review-columns-two) trae su propio ancho capado dentro
   del panel, independiente de .woocommerce-Tabs-panel. Se libera acá. */
body.single-product #reviews.woocommerce-Reseñas,
body.single-product #comments,
body.single-product #review_form_wrapper,
body.single-product #review_form {
    max-width: none !important;
    width: 100% !important;
    box-sizing: border-box;
}

/* Panel: valoraciones */
body.single-product #reviews .woocommerce-Reseñas-title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    font-size: 1.2rem;
    margin: 0 0 1.25rem;
}
body.single-product #reviews .woocommerce-noreviews {
    color: var(--caya-soft);
    background: var(--caya-tint);
    border: 1px solid var(--caya-border);
    border-radius: var(--caya-radius-sm);
    padding: 1rem 1.25rem;
    font-size: .92rem;
    margin: 0 0 1.5rem;
}

/* Estrellas de reseñas en color de marca */
body.single-product .star-rating span,
body.single-product .stars a { color: var(--caya-accent) !important; }
body.single-product #review_form .stars { font-size: 1.4rem; margin: 0 0 1.5rem; }

/* Formulario "Sé el primero en reseñar" */
body.single-product #review_form_wrapper #reply-title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    font-size: 1.05rem;
    display: block;
    margin-bottom: 1.25rem;
}
body.single-product #review_form_wrapper #reply-title small a {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    font-size: .8rem;
    color: var(--caya-brand) !important;
    text-decoration: none !important;
}
body.single-product #review_form_wrapper label {
    display: inline-block;
    font-family: 'Fira Sans', system-ui, sans-serif !important;
    font-weight: 600;
    color: var(--caya-ink) !important;
    font-size: .88rem;
    margin-bottom: .5rem;
}
body.single-product #review_form_wrapper .required { color: #09AEE7 !important; text-decoration: none; }
body.single-product #review_form_wrapper .comment-form-comment { margin-bottom: 1.25rem; }
body.single-product #review_form_wrapper #comment {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--caya-border) !important;
    border-radius: var(--caya-radius-sm) !important;
    background: var(--caya-tint) !important;
    color: var(--caya-ink) !important;
    padding: .85rem 1rem !important;
    font-family: 'Roboto', system-ui, sans-serif !important;
    font-size: .92rem;
    resize: vertical;
    transition: border-color .2s var(--caya-ease), box-shadow .2s var(--caya-ease);
}
body.single-product #review_form_wrapper #comment:focus {
    outline: none;
    border-color: var(--caya-accent) !important;
    box-shadow: 0 0 0 3px rgba(9, 174, 231, 0.18);
}
body.single-product #review_form_wrapper input[type="submit"].submit {
    background: var(--caya-brand) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-family: 'Fira Sans', system-ui, sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .85rem;
    padding: .85rem 1.8rem !important;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 80, 149, 0.22) !important;
    transition: background .2s var(--caya-ease), box-shadow .2s var(--caya-ease), transform .15s var(--caya-ease);
}
body.single-product #review_form_wrapper input[type="submit"].submit:hover {
    background: var(--caya-brand-hover) !important;
    box-shadow: 0 8px 20px rgba(0, 80, 149, 0.30) !important;
    transform: translateY(-1px);
}

/* ==========================================================================
   5) PRODUCTOS RELACIONADOS (mismas tarjetas MD3 del catálogo)
   ========================================================================== */
body.single-product .products-title.related-products-title span,
body.single-product .products-title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-weight: 700 !important;
    color: var(--caya-ink) !important;
    font-size: 1.5rem !important;
}
body.single-product .related .content-product,
body.single-product .elementor-widget-woocommerce-product-etheme_related .content-product {
    background: var(--caya-surface);
    border: 1px solid var(--caya-border);
    border-radius: var(--caya-radius);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform .3s var(--caya-ease), box-shadow .3s var(--caya-ease), border-color .3s var(--caya-ease);
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .content-product:hover {
    transform: translateY(-4px);
    box-shadow: var(--caya-shadow-hover);
    border-color: transparent;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-image-wrapper {
    background: var(--caya-tint);
    padding: 0;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-image-wrapper img {
    aspect-ratio: 1 / 1;
    object-fit: contain !important;
    width: 100% !important;
    height: auto !important;
    mix-blend-mode: multiply;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-details {
    padding: 1rem 1rem 1.25rem;
    text-align: left !important;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .products-page-cats {
    font-family: 'Fira Sans', sans-serif;
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: .4rem;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .products-page-cats a { color: var(--caya-soft) !important; text-decoration: none !important; }
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-title {
    font-family: 'Montserrat', system-ui, sans-serif !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0 0 .5rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-title a { color: var(--caya-ink) !important; text-decoration: none !important; }
body.single-product .elementor-widget-woocommerce-product-etheme_related .product-title a:hover { color: var(--caya-brand) !important; }
body.single-product .elementor-widget-woocommerce-product-etheme_related .price {
    font-family: 'Montserrat', sans-serif !important;
    color: var(--caya-brand) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    margin: 0 0 .85rem !important;
    display: block;
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .add_to_cart_button {
    margin-top: auto !important;
    display: block;
    text-align: center;
    background: var(--caya-brand) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-family: 'Fira Sans', sans-serif !important;
    font-size: .76rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .65rem 1rem !important;
    transition: background .2s var(--caya-ease), transform .15s var(--caya-ease);
}
body.single-product .elementor-widget-woocommerce-product-etheme_related .add_to_cart_button:hover {
    background: var(--caya-brand-hover) !important;
    transform: translateY(-1px);
}

/* ==========================================================================
   6) RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
    body.single-product .product_title.entry-title { font-size: 1.6rem !important; }
    body.single-product .elementor-widget-woocommerce-product-etheme_price .price,
    body.single-product p.price { font-size: 1.6rem !important; }
}

@media (max-width: 767px) {
    body.single-product .page-heading { padding: 1.1rem 0 !important; }
    body.single-product .page-heading .woocommerce-breadcrumb { font-size: 0.76rem; }
    body.single-product .page-heading .title { font-size: 1.05rem !important; }
    body.single-product .product_title.entry-title { font-size: 1.4rem !important; }
    body.single-product .elementor-widget-woocommerce-product-etheme_price .price,
    body.single-product p.price { font-size: 1.5rem !important; }
    body.single-product .single_add_to_cart_button { width: 100%; }
}
