/* Reglas compartidas de one-producto.css para paginas sin comercio.
   Mantener sincronizadas con el archivo completo; cobertura en one_common_css_test.js. */
/* =============================================================================
   one-label - Etiquetas (NEW, SALE, FEATURED)
   ============================================================================= */
.one-label-new {
    background: #48CAB2;
    color: #ffffff;
}

.one-label-sale {
    background: #E12C43;
    color: #ffffff;
}

.one-label-out-stock {
    background: #333333;
    color: #ffffff;
}

.one-label-our-fatured {
    background: #ffba0a;
    color: #ffffff;
}

/* one-rating general */
.one-rating {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    color: #ffba0a;
}

.one-rating i {
    line-height: 0;
}

.one-rating i svg {
    width: 14px;
    height: 14px;
}

.one-rating i:not(.one-star) {
    color: #D0D0D0;
}

/* =============================================================================
   one-input-counter - Contador de cantidad
   ============================================================================= */
.one-input-counter.one-style-01 {
    position: relative;
    max-width: 138px;
    min-width: 138px;
}

.one-input-counter.one-style-01 input {
    background: #f8f8f8;
    color: #333333;
    display: block;
    width: 100%;
    height: 54px;
    font-size: 20px;
    line-height: 1em;
    text-align: center;
    border: none;
    outline: none;
    font-weight: 700;
}

.one-input-counter.one-style-01 span {
    display: inline-block;
    font-size: 27px;
    line-height: 1em;
    cursor: pointer;
    position: absolute;
    width: 54px;
    height: 100%;
    text-align: center;
    top: 50%;
    margin-top: -15px;
}

.one-input-counter.one-style-01 span.one-minus-btn {
    left: 0px;
}

.one-input-counter.one-style-01 span.one-plus-btn {
    right: 0px;
}

.one-input-counter.one-style-01 span svg {
    color: #D0D0D0;
    transition: color 0.2s;
    width: 16px;
    height: 16px;
}

.one-input-counter.one-style-01 span:hover svg {
    color: #48CAB2;
}

/* =============================================================================
   one-btn - Botones
   ============================================================================= */
.one-btn {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #ffffff;
    background: #333333;
    border: 2px solid #333333;
    padding: 18px 35px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}

.one-btn:hover {
    background: #48CAB2;
    border-color: #48CAB2;
    color: #ffffff;
}

.one-btn .one-icon {
    margin-right: 10px;
}

.one-btn .one-icon svg {
    width: 20px;
    height: 20px;
}

.one-btn.one-btn-lg {
    padding: 20px 40px;
    font-size: 14px;
}

.one-btn.one-btn-border {
    background: transparent;
    color: #333333;
}

.one-btn.one-btn-border:hover {
    background: #333333;
    color: #ffffff;
}

.one-btn.one-btn-dark {
    background: #333333;
    border-color: #333333;
    color: #ffffff;
}

.one-btn.one-btn-dark:hover {
    background: #48CAB2;
    border-color: #48CAB2;
}

/* =============================================================================
   one-checkbox-group - Grupo de checkbox
   ============================================================================= */
.one-checkbox-group {
    position: relative;
}

.one-checkbox-group input[type=checkbox] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.one-checkbox-group label {
    position: relative;
    display: inline-block;
    cursor: pointer;
    padding-left: 26px;
    color: #777777;
    font-size: 14px;
    line-height: 22px;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.one-checkbox-group label .box {
    position: absolute;
    top: 3px;
    left: 0;
    height: 16px;
    width: 16px;
    background-color: transparent;
    border: 1px solid #e1e1e1;
    transition: all 0.2s;
}

.one-checkbox-group label .check {
    position: absolute;
    top: 3px;
    left: 0;
    height: 16px;
    width: 16px;
    opacity: 0;
    transition: all 0.2s;
}

.one-checkbox-group label .check:after {
    content: "";
    position: absolute;
    display: block;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid #333333;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.one-checkbox-group input[type=checkbox]:checked ~ label .check {
    opacity: 1;
}

.one-checkbox-group input[type=checkbox]:checked ~ label .box {
    border-color: #333333;
}
#one-producto-acordeon-tabs .one-collapse-block .one-item .one-collapse-title,
#one-producto-acordeon-tabs .one-collapse-block .one-item .one-collapse-content,
#one-producto-acordeon-tabs .pt-tabs .pt-tabs__head > ul > li > span,
#one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .one-ficha54-tab-content,
#one-producto-tercera-columna .one-collapse-block .one-item .one-collapse-title,
#one-producto-tercera-columna .one-collapse-block .one-item .one-collapse-content,
.one-modulo-textos-categoria .one-collapse-block .one-item .one-collapse-title,
.one-modulo-textos-categoria .one-collapse-block .one-item .one-collapse-content,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__head > ul > li > span,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__body .one-ficha54-tab-content {
    overflow-wrap: break-word;
    word-wrap: break-word;
}
body #one-producto-acordeon-tabs .one-collapse-block .one-item .one-collapse-content,
body #one-producto-acordeon-tabs .one-ficha54-texto-intro,
body #one-producto-acordeon-tabs .one-ficha54-texto,
body #one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .one-ficha54-tab-content,
body #one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .one-ficha54-content,
body #one-producto-tercera-columna .one-collapse-block .one-item .one-collapse-content,
body #one-producto-tercera-columna .one-ficha54-texto,
body #one-producto-tercera-columna .one-ficha54-content,
.one-modulo-textos-categoria .one-ficha54-texto,
.one-modulo-textos-categoria .one-ficha54-tab-content,
.one-modulo-textos-categoria .one-ficha54-content {
    overflow-wrap: break-word;
    word-wrap: break-word;
    max-width: 100%;
}

#one-producto-acordeon-tabs .one-collapse-block .one-item .one-collapse-title,
#one-producto-acordeon-tabs .pt-tabs .pt-tabs__head > ul > li > span,
#one-producto-acordeon-tabs .pt-tabs .pt-tabs__body > div > span,
#one-producto-tercera-columna .one-collapse-block .one-item .one-collapse-title,
/* Módulo textos_categoria (home): estilos por defecto según page-faq.html (sin !important para que inline style gane) */
.one-modulo-textos-categoria .one-collapse-block .one-item .one-collapse-title,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__head > ul > li > span,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__body > div > span.pt-tabs__title {
    font-size: 24px;
    line-height: 35px;
    font-weight: 700;
}
/* Tamaño icono según page-faq.html .pt-accordeon-title:after (15px) */
.one-modulo-textos-categoria .one-collapse-title .one-icon svg,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__head .one-icon svg,
.one-modulo-textos-categoria .pt-tabs .pt-tabs__body .one-icon svg {
    width: 15px;
    height: 15px;
}

/* -----------------------------------------------------------------------------
   2. TÍTULO DENTRO DE LAS PESTAÑAS
   Títulos/copetes dentro del contenido de cada pestaña o acordeón.
   Clases: .one-ficha54-copete, .pt-title-tabs (h4 dentro del contenido)
   Incluye tercera columna (ficha_56).
   ----------------------------------------------------------------------------- */
#one-producto-acordeon-tabs .one-ficha54-copete,
#one-producto-acordeon-tabs .one-collapse-content .pt-title-tabs,
#one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .pt-title-tabs,
#one-producto-tercera-columna .one-ficha54-copete,
#one-producto-tercera-columna .one-collapse-content .pt-title-tabs,
/* Módulo textos_categoria (home): copete según page-faq (sin !important) */
.one-modulo-textos-categoria .one-ficha54-copete {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    margin-bottom: 20px;
}

/* -----------------------------------------------------------------------------
   3. TEXTO DENTRO DE LAS PESTAÑAS
   Texto de cuerpo: intro, párrafos y contenido de cada pestaña o acordeón.
   Clases: .one-ficha54-texto, .one-ficha54-texto-intro, .one-collapse-content
   ÚNICO sitio: edita aquí font-size, line-height, font-weight.
   Incluye tercera columna (ficha_56).
   ----------------------------------------------------------------------------- */
body #one-producto-acordeon-tabs .one-collapse-block .one-item .one-collapse-content,
body #one-producto-acordeon-tabs .one-ficha54-texto-intro,
body #one-producto-acordeon-tabs .one-ficha54-texto,
body #one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .one-ficha54-tab-content,
body #one-producto-acordeon-tabs .pt-tabs .pt-tabs__body .one-ficha54-content,
body #one-producto-tercera-columna .one-collapse-block .one-item .one-collapse-content,
body #one-producto-tercera-columna .one-ficha54-texto-intro,
body #one-producto-tercera-columna .one-ficha54-texto,
body #one-producto-tercera-columna .one-ficha54-content,
/* Módulo textos_categoria (home): texto según page-faq.html pt-accordeon-content (sin !important) */
body .one-modulo-textos-categoria .one-collapse-block .one-item .one-collapse-content,
body .one-modulo-textos-categoria .one-ficha54-texto,
body .one-modulo-textos-categoria .one-ficha54-tab-content,
body .one-modulo-textos-categoria .one-ficha54-content {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    margin-bottom: 20px;
}

/* =============================================================================
   one-list-dot - Lista con puntos
   ============================================================================= */
.one-list-dot {
    list-style: none;
    margin: 0;
    padding: 0;
}

.one-list-dot li {
    position: relative;
    color: #777777;
    padding-left: 26px;
}

.one-list-dot li:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #48CAB2;
    top: 11px;
    left: 4px;
}

.one-list-dot li:not(:first-child) {
    margin-top: 4px;
}

/* =============================================================================
   one-ficha54-videos - Lista de vídeos (pestaña videos): sin puntos, icono grande
   ============================================================================= */
.one-ficha54-videos {
    list-style: none;
    margin: 0;
    padding: 0;
}
.one-ficha54-videos li {
    position: relative;
    padding-left: 0;
    color: #777777;
}
.one-ficha54-videos li::before {
    content: none;
    display: none;
}
.one-ficha54-videos li:not(:first-child) {
    margin-top: 4px;
}
/* Enlace: icono + título alineados; icono 30×30 (tamaño theme) */
.one-ficha54-videos .video-link-product {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem 0.75rem;
    text-align: left;
    line-height: 1.35;
    max-width: 100%;
}
.one-ficha54-videos .video-link-product .pt-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}
.one-ficha54-videos .video-link-product .pt-icon svg {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    flex: none;
}

/* =============================================================================
   one-table-03 - Tabla de información adicional
   ============================================================================= */
.one-table-03-indent {
    padding-top: 9px;
    padding-bottom: 6px;
}

.one-table-03 {
    width: 100%;
    border-collapse: collapse;
}

.one-table-03 td {
    padding: 6px 0;
    vertical-align: top;
}

.one-table-03 td:first-child {
    color: #333333;
    width: 150px;
    padding-right: 15px;
}

.one-table-03 td:last-child {
    color: #777777;
}

/* =============================================================================
   one-review-block - Bloque de reseñas
   ============================================================================= */
.one-review-block {
    margin-top: 10px;
}

.one-review-title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
    padding-bottom: 20px;
    border-bottom: 1px solid #ebebeb;
}

.one-review-title .one-col-item:first-child {
    padding-right: 15px;
}

.one-review-title .one-title {
    color: #333333;
    margin: 0;
    padding: 0;
}

.one-review-title .one-title-description {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 5px;
}

.one-review-title .one-title-description .one-rating {
    margin-right: 10px;
}

.one-review-title .one-title-description .one-text {
    color: #777777;
}

/* =============================================================================
   one-review-comments - Comentarios de reseñas
   ============================================================================= */
.one-review-comments {
    margin-top: 20px;
}

.one-review-comments .one-item {
    padding: 20px 0;
    border-top: none;
}

.one-review-comments .one-item:not(:first-child) {
    border-top: 1px solid #ebebeb;
}

.one-review-comments .one-comments-wrapper {
    padding-bottom: 10px;
}

.one-review-comments .one-rating {
    margin-bottom: 10px;
}

.one-comments-title {
    color: #333333;
    margin: 0 0 5px 0;
}

.one-comments-info {
    color: #777777;
    margin-bottom: 10px;
}

.one-comments-info strong {
    color: #333333;
}

.one-comments-layout {
    color: #777777;
}

.one-review-link {
    margin-top: 10px;
}

.one-review-link a {
    color: #777777;
    text-decoration: underline;
    transition: color 0.2s;
}

.one-review-link a:hover {
    color: #333333;
}

/* =============================================================================
   one-review-form - Formulario de reseña
   ============================================================================= */
.one-review-form {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ebebeb;
}

.one-message-info {
    color: #333333;
    margin-bottom: 20px;
}

.one-rating-indicator {
    margin-bottom: 20px;
}

.one-rating-indicator .one-title {
    color: #333333;
    margin-bottom: 5px;
}

/* =============================================================================
   one-form-default - Formulario por defecto
   ============================================================================= */
.one-form-default .one-form-group {
    margin-bottom: 20px;
}

.one-form-default .one-control-label {
    display: block;
    font-size: 14px;
    line-height: 22px;
    color: #333333;
    margin-bottom: 5px;
}

.one-form-default .one-form-control {
    display: block;
    width: 100%;
    height: 48px;
    padding: 10px 15px;
    font-size: 16px;
    line-height: 26px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 0;
    transition: border-color 0.2s;
}

.one-form-default .one-form-control:focus {
    border-color: #333333;
    outline: none;
}

.one-form-default textarea.one-form-control {
    height: auto;
    resize: vertical;
}

/* =============================================================================
   one-btn-link - Enlaces tipo botón
   ============================================================================= */
.one-btn-link {
    display: inline-block;
    font-size: 14px;
    line-height: 17px;
    font-weight: 700;
    color: #333333;
    text-decoration: none;
    transition: color 0.2s;
}

.one-btn-link:hover {
    color: #48CAB2;
}

.one-btn-link.one-btn-lg {
    font-size: 16px;
}

.one-btn-link.one-color-base {
    color: #48CAB2;
}

.one-btn-link.one-color-base:hover {
    color: #333333;
}

/* =============================================================================
   one-promo-brand - Logos de marcas
   ============================================================================= */
.one-promo-brand {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-align: center;
}

.one-promo-brand img,
.one-promo-brand svg {
    max-width: 100%;
    height: auto;
}

.lupa-flotante-galeria,
body > .lupa-flotante-galeria {
    z-index: 100 !important;
}

/* Plugin elevateZoom: zoomContainer a body con translateZ(0) + z ~100/999 (inline) */
body .zoomContainer,
body .zoomWindowContainer,
body .zoomWindow,
body .zoomLens,
body .zoomTint,
body .tintContainer,
body .tintContainer .zoomTint {
    z-index: 1 !important;
}

/* Modal/Lightbox - overlay por encima de TODO */
.mfp-bg {
    z-index: 1000042 !important;
}

.mfp-wrap {
    z-index: 1000043 !important;
}

.mfp-container {
    z-index: 1000044 !important;
}

.mfp-content {
    z-index: 1000045 !important;
}

/* X para cerrar lightbox - ocultar div vacío, mostrar solo button */
div.mfp-close {
    display: none !important;
}
button.mfp-close {
    display: block !important;
    color: #000 !important;
    background: transparent !important;
    font-size: 40px !important;
    z-index: 1000050 !important;
}

.slick-lightbox {
    z-index: 1000042 !important;
}

.slick-lightbox-slick-item-inner {
    z-index: 1000043 !important;
}

.fancybox-container,
.fancybox-bg {
    z-index: 1000042 !important;
}

.fancybox-slide {
    z-index: 1000043 !important;
}

/* Ocultar zoomContainer cuando hay lightbox abierto */
body.mfp-zoom-out-cur .zoomContainer,
body:has(.mfp-wrap) .zoomContainer {
    display: none !important;
    visibility: hidden !important;
    z-index: -1 !important;
}

/* Tercera columna - 100% en móvil */
@media (max-width: 767px) {
    .pt-product-single-aside,
    .pt-product-single-aside > *,
    .pt-services-aside,
    .pt-aside-block,
    .pt-aside-content {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Galería one-galeria-video-embed: icono 30×30 (tema); flex de miniatura lo achicaba; !important fija */
#pt-pageContent:not(.pt-page-blog-post) .video-link-product.one-galeria-video-embed > div,
#pt-pageContent:not(.pt-page-blog-post) .one-galeria-video-embed.video-link-product > div {
    /* El contenedor del icono no debe encoger el svg por flex */
    flex-shrink: 0;
    min-width: 30px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
#pt-pageContent:not(.pt-page-blog-post) .video-link-product.one-galeria-video-embed .pt-icon,
#pt-pageContent:not(.pt-page-blog-post) .one-galeria-video-embed.video-link-product .pt-icon {
    flex-shrink: 0;
    line-height: 0;
}
#pt-pageContent:not(.pt-page-blog-post) .video-link-product.one-galeria-video-embed .pt-icon svg,
#pt-pageContent:not(.pt-page-blog-post) .one-galeria-video-embed.video-link-product .pt-icon svg {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    flex: none;
    display: block;
}
