/*
Theme Name: Distibuidores
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

/* GENERAL */
:root {
    --primary-color: #0e3e77;
    --secondary-color: #14243e;
    --tertiary-color: white;

    --fs-18: 18px;
}

a {
    color: var(--primary-color);
    text-decoration: none;
}

[class*=" Simple-Line-Icons-"]::before,
[class^=Simple-Line-Icons-]::before {
    font-family: "Simple-Line-Icons" !important;
}

.woocommerce-account .featured-boxes .porto-icon-user-2:before {
    content: "\e91a";
    font-family: "porto";
    font-size: 60px;
    color: #d3d3d4;
}

.text-primary {
    color: var(--primary-color) !important;
}

.wc-action-btn.button {
    background: var(--primary-color);
    color: white;
    border: none;
    border-radius: 5px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.button-view-product{
	height: 48px;
    background: var(--secondary-color);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border-color: var(--secondary-color);
	text-transform: uppercase;
    font-weight: 600;
	transition: all .3s ease;
}

.button-view-product:hover{
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: white;
}

/*#main {
    background-color: white !important;
}*/

.no-breadcrumbs .main-content {
    padding-top: 0;
}

.porto-tooltip-wrap .tooltip-inner {
    display: none !important;
}

.porto-icon-user-2:before {
    content: "\e903";
    font-family: icomoon;
    font-size: 35px;
    vertical-align: middle;
    color: var(--tertiary-color)
}

.gridlist-toggle {
    display: none !important;
}

#header #mini-cart {
    margin-left: 0;
}

.Simple-Line-Icons-doc:before {
    content: "\e902";
    font-size: 35px;
    color: var(--tertiary-color);
    font-family: 'icomoon' !important;
}

#mini-cart .minicart-icon-default:before {
    content: "\e901";
    position: relative;
    width: 8px;
    height: 9px;
    border: none;
    border-bottom: none;
    border-radius: inherit;
    left: 0;
    top: 0;
    margin: 0;
    font-family: icomoon;
    font-size: 35px;
    vertical-align: middle;
    color: var(--tertiary-color);
    font-weight: normal;
}

#mini-cart .minicart-icon-default {
    border: none;
    border-radius: inherit;
    width: auto;
    height: auto;
    position: relative;
    margin: inherit;
}

.owl-carousel .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    border-radius: 2px;
}

.owl-carousel .owl-dots .owl-dot.active span,
.owl-carousel .owl-dots .owl-dot:hover span {
    background: var(--secondary-color);
}

.owl-carousel .owl-nav {
    top: 28px;
    position: relative;
    margin-top: 0;
    width: 100%;
    flex: none;
}

.owl-carousel .owl-dots {
    margin-top: 1em;
    text-align: right;
    max-width: calc(100% - 80px);
    margin: 15px 0 0 auto;
}

.owl-carousel .owl-nav .owl-next {
    left: 30px;
}

.onsale {
    background: #ee4d4d !important;
    font-size: 18px;
    border-radius: 3px;
    padding: 10px 20px !important;
}

.onhot {
    background: var(--primary-color) !important;
    border-radius: 2px;
}

.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
    background-color: transparent;
    border-color: transparent;
    color: var(--secondary-color);
}

.owl-carousel .owl-nav [class*=owl-] {
    font-size: 23px;
}

.owl-carousel .owl-nav [class*=owl-] span {
    font-size: 0;
}

.owl-carousel .owl-nav [class*=owl-]:active,
.owl-carousel .owl-nav [class*=owl-]:focus,
.owl-carousel .owl-nav [class*=owl-]:hover {
    background-color: transparent;
    border-color: transparent;
    color: var(--primary-color);
}

.entry-content {
    border-bottom: 0;
}

/* TOP HEADER */
.top-header {
    color: white;
    padding: 10px 0;
}

.top-header p {
    margin-bottom: 0;
}

.top-header svg {
    width: 15px;
    height: 15px;
}

#header .header-main,
#header.header-loaded .header-main {
    background: var(--primary-color);
}

.woocommerce .add-request-quote-button.button {
    width: 100%;
}

footer {
    background: var(--primary-color);
    padding: 80px 0 !important;
    color: white;
}

footer h4,
footer .widgettitle {
    color: white;
    font-size: 15px !important;
}

#footer {
    background-color: var(--secondary-color);
    color: white;
}

.newsletter_dv {
    padding-block: 75px;
    background-color: var(--primary-color);
}

.newsletter_dv .item:first-child{
    width: 100%;
}

.newsletter_dv .inner_newsletter_dv{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
}

.newsletter_dv .inner_newsletter_dv .wpcf7{
    flex: 1;
}

.newsletter_dv h2 {
    text-align: center;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
    margin: 0;
}

.newsletter_dv input {
    height: 55px;
    border-radius: 5px 0 0 5px;
    width: 100%;
    border-radius: 60px 0 0 60px;
}

.newsletter_dv input[type="submit"] {
    height: 55px;
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    border-radius: 0 5px 5px 0;
    font-size: 1rem;
    padding: 0 25px;
    opacity: 1;
    border-radius: 0 60px 60px 0;
    width: auto;
    transition: opacity .3s ease-in-out;
}

.newsletter_dv input[type="submit"]:hover {
    opacity: .6;
}

.newsletter_dv .group {
    display: flex;
    justify-content: center;
}

.content-footer {
    text-align: center;
    padding: 75px 0;
}

.content-footer .menu-footer {
    padding-block: 35px;
}

.content-footer .menu-footer ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 0;
    list-style: none;
    color: white;
    font-size: .8rem;
    flex-wrap: wrap;
    row-gap: 15px;
    margin: 0;
    padding: 0;
}

.content-footer .menu-footer ul a {
    color: white;
    text-transform: uppercase;
    font-weight: 600;
    transition: color .3s ease-in-out;
}

.content-footer .menu-footer ul a:hover {
    color: var(--primary-color);
}

.social-ftr {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.social-ftr a {
    background: transparent;
    display: flex;
    width: 45px;
    height: 45px;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2.5rem;
    transition: background .3s ease-in, color .3s ease-in;
}

.social-ftr a:hover {
    background: white;
    color: var(--secondary-color);
}

.widget_recent_entries li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_nav_menu li,
.widget_archive li,
.widget_categories li,
.widget_rss li,
.wp-block-latest-posts__list.wp-block-latest-posts li,
.wp-block-latest-posts__list.wp-block-latest-posts li a {
    color: white;
}

.widget_archive>ul li:before,
.widget_categories>ul li:before,
.widget_meta>ul li:before,
.widget_nav_menu>div>ul li:before,
.widget_pages>ul li:before,
.widget_recent_comments>ul li:before,
.widget_recent_entries>ul li:before,
.widget_rss>ul li:before,
.wp-block-archives-list li:before,
.wp-block-categories-list li:before,
.wp-block-latest-comments:not(.has-avatars):not(.has-excerpts) .wp-block-latest-comments__comment:before,
.wp-block-latest-posts:not(.wp-block-latest-posts__list) li:before,
.wp-block-latest-posts__list.wp-block-latest-posts li:before {
    display: none;
}

.widget>div>ul li,
.widget>ul li,
.widget>div>ul,
.widget>ul {
    border: none;
    padding: 0;
}

#menu-menu-ppal {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

html #topcontrol {
    left: 0;
}

.page:not(.home) #main,
.blog #main,
.single-product #main {
    padding-top: 75px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--primary-color);
}

/** HEADER **/
header .container-fluid {
    padding: 0;
}

.header-main-auto .vc_column_container {
    border-top: none !important;
}

header #menu-menu-ppal li a {
    padding-inline: 7px !important;
}

header #menu-menu-ppal li:hover a {
    background: white !important;
}

/*#header .logo{
    padding: 15px;
}*/

header .header-top {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: 25px;
    gap: 10px;
    order: 1;
    margin: 0;
    padding: 0;
}

header .inner-header{
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

header .header-middle{
    order: 0;
    flex: 1;
    padding-right: 30px;
}

header .inner-header-middle {
    display: flex;
    gap: 30px;
    align-items: center;
    padding-block: 25px;
}

header .inner-header-middle .header-search {
    flex: 1;
}

header .header-bottom {
    align-items: center;
    display: flex;
    justify-content: center;
    background-color: var(--secondary-color);
    position: relative;
    flex: 0 0 100%;
    order: 3;
}

header .header-bottom::before {
    content: '';
    background-color: var(--secondary-color);
    height: 100%;
    width: 100%;
    position: absolute;
    left: -100%;
}

header .header-bottom::after {
    content: '';
    background-color: var(--secondary-color);
    height: 100%;
    width: 100%;
    position: absolute;
    left: 100%;
}

#header .header-bottom .main-menu>li.menu-item>a {
    color: white;
}

#header .header-bottom .main-menu>li.menu-item.active>a{
	color: var(--primary-color);
}

#header .main-menu>li.menu-item>a {
    color: var(--tertiary-color);
}

#header .main-menu>li.menu-item:hover a {
    color: var(--secondary-color);
}

#header .searchform-popup,
#header .search-rounded:not(.simple-search-layout) .searchform,
#header .searchform .text {
    width: 100%;
}

#header .searchform {
    border-color: var(--primary-color);
}

#header .searchform input {
    height: 50px;
    width: 100%;
}

#header .searchform .button-wrap .btn {
    height: 50px;
}

#header .secondary-menu a {
    text-transform: initial;
    font-weight: normal !important;
    padding: 10px !important;
}

#header .secondary-menu li:hover a{
	background: white !important;
	color: var(--primary-color);
	font-weight: 600 !important;
}

#header .secondary-menu .current {
    font-weight: 600 !important;
    color: var(--secondary-color) !important;
}

#header.sticky-header .header-main.sticky .inner-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 100px;
    align-items: center;
    transition: all .3s ease;
}

#header.sticky-header .header-main.sticky .header-middle {
    order: 0;
    flex: 1;
    transition: all .3s ease;
}

#header.sticky-header .header-main.sticky .inner-header-middle {
    order: 0;
    padding-block: 10px;
    transition: all .3s ease;
}

#header.sticky-header .header-main.sticky .header-top {
    order: 1;
    padding-top: 0;
}

#header.sticky-header .header-main.sticky .header-bottom {
    flex: 0 0 100%;
    order: 2;
    transition: all .3s ease;
}

#header.sticky-header .header-main.sticky .secondary-menu {
    display: none;
}

#header.sticky-header .logo {
    flex: 0 0 222px;
    max-width: 222px;
    padding: 15px;
    transition: all .3s ease;
}

#header.sticky-header .header-search {
    flex: 1;
    transition: all .3s ease;
}

#header .search-rounded:not(.simple-search-layout) .searchform {
    margin: 0;
    padding: 0;
    transition: all .3s ease;
}

.yith-wcqf-mini-cart {
    padding: 10px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    width: 300px;
}

.yith-wcqf-mini-cart h2 {
    font-size: 18px;
    margin-bottom: 10px;
}

.yith-wcqf-mini-cart ul {
    list-style-type: none;
    padding-left: 0;
}

.yith-wcqf-mini-cart ul li {
    margin-bottom: 5px;
}

.yith-wcqf-mini-cart a.button {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 15px;
    background-color: var(--primary-color);
    color: white;
    text-decoration: none;
    border-radius: 5px;
}

.yith-wcqf-mini-cart a.button:hover {
    background-color: var(--primary-color);
}

/* Contenedor del Mini Cart */
.mini-cart-container {
    position: relative;
}

/* Ícono del carrito */
.miniquote {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    margin-right: 15px;
}

.mini-cart-icon {
    font-size: 30px;
    cursor: pointer;
    top: 20px;
    right: 20px;
    color: var(--primary-color);
    z-index: 1000;
}

/* Estilos del minicart (inicialmente oculto) */
.mini-cart-quote {
    background-color: white;
    padding: 20px;
    border: 1px solid #ddd;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    height: 100%;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 300px;
    z-index: 1005;
    padding: 1.75rem 1.25rem 0.5rem;
    transform: translateX(calc(100% + 50px));
    transition: transform .3s ease;
}

.show-miniquote .mini-cart-quote {
    transform: translateX(0);
}

/* Mostrar minicart cuando tiene la clase 'show' */
.mini-cart-quote.show {
    opacity: 1;
    visibility: visible;
}

/* Estilos para la tabla del minicart */
.mini-cart-quote .shop_table {
    width: 100%;
    border-collapse: collapse;
}

.shop_table th,
.shop_table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.woocommerce-checkout .shop_table th,
.woocommerce-checkout .shop_table td {
    border-bottom: none;
}

.mini-cart-quote .product-remove {
    color: red;
    cursor: pointer;
}

.mini-cart-quote .shop_table .cart_item {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: space-between;
    padding-block: 10px;
}

.mini-cart-quote .shop_table .cart_item+.cart_item {
    border-top: 1px solid #dddddd54;
}

.mini-cart-quote .product-thumbnail {
    flex: 0 0 70px;
}

.mini-cart-quote .product-thumbnail img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.mini-cart-quote .product-name a {
    font-weight: bold;
    color: #333;
    display: block;
}

.product-quantity,
.product-subtotal {
    text-align: center;
}

#yith-ywraq-form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - 100px);
}

.mini-cart-quote h2 {
    font-size: 18px;
    margin: 0;
}

.mini-cart-quote .button-quote {
    width: 100%;
    height: 45px;
    background: var(--primary-color);
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    color: white;
    font-weight: 600;
    transition: background-color .3s ease;
}

.button-quote:hover {
    background: var(--secondary-color);
}

.mini-cart-quote .shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-block: 15px;
    border-block: 1px solid #f5f5f5;
    padding: 15px 0;
}

/* Botón de actualización */
.actions .button {
    background-color: var(--primary-color);
    color: white;
    padding: 10px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}

.actions .button:hover {
    background-color: var(--secondary-color);
}

.overlay-quote {
    position: fixed;
    z-index: 1004;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    min-height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    display: none;
}

.show-miniquote .overlay-quote {
    display: block;
}

.close-quote {
    position: absolute;
    left: -30px;
    top: 30px;
    color: white;
    cursor: pointer;
}

#mini-cart .minicart-icon {
    color: var(--primary-color) !important;
}

.single-marca img {
    max-width: 200px;
}

#main {
    background-color: #f5f5f5;
}

.woocommerce-tabs .tab-content {
    border-top: 2px solid var(--primary-color) !important;
    background: transparent;
    padding: 15px 15px !important;
}

.woocommerce-tabs .resp-tabs-list li.resp-tab-item {
    color: var(--primary-color) !important;
    background: transparent !important;
    min-width: 200px;
    padding: 0 20px !important;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none !important;
    border: 2px solid var(--primary-color) !important;
    margin: 0 !important;
    border-bottom: 0 !important;
}

.woocommerce-tabs .resp-tabs-list li.resp-tab-active {
    background: var(--primary-color) !important;
    color: white !important;
    border: 2px solid var(--primary-color) !important;
}

.vc_column-inner::after,
.vc_column-inner::before,
.yith_ywraq_add_item_response_message {
    display: none !important;
}

.buttons-actions>.vc_column_container>.wpb_wrapper {
    display: grid;
    grid-template-columns: 1.9fr 1fr;
    gap: 15px;
}

.single_add_to_cart_button {
    padding: 0 15px;
}

.yith_ywraq_add_item_browse_message a {
    width: 100%;
    height: 48px;
    background: var(--primary-color);
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white !important;
    text-transform: uppercase;
    font-size: 15px !important;
    margin-bottom: 15px;
    border-radius: 5px;
}

.product.type-product .porto-wrap-container.container:first-child>.row>div:first-child {
    flex: 0 0 55%;
    width: 55%;
    max-width: 55%;
}

.product.type-product .porto-wrap-container.container:first-child>.row>div:last-child {
    flex: 0 0 45%;
    width: 45%;
    max-width: 45%;
}

.tabs-related .porto-wrap-container.container:first-child>.row>div:first-child {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

.wsp-product {
    padding: 0 15px;
}

.wsp-product a {
    border: none;
    background: #25d366;
    color: #ffffff;
    width: 100%;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
    margin: 0 auto;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wsp-product .porto-btn-data.porto-btn-text::before {
    content: '\f232';
    font-family: 'Font Awesome 6 Brands';
    margin-right: 8px;
    font-size: 1.2rem;
}

.sp-linked-heading h2 {
    font-size: 25px;
    text-transform: initial;
    color: var(--primary-color);
}

.cart-v2 .woo-page-header.page-header-8,
.woocommerce-checkout .woo-page-header.page-header-8 {
    background: #f5f5f5;
}

/*.cart-v2 #header .header-main {
    background: var(--primary-color);
}*/

#header .main-menu>li.menu-item.current-menu-item.active {
    background-color: white;
}

.porto-tb-featured-image img {
    aspect-ratio: 1/1;
}

/** Featured Categories **/
.featured-cat {
    padding-block: 45px;
}

.featured-cat h2,
.featured-products h2,
.featured-brands h2,
.bycat-products h2,
.related-posts h2.sub-title {
    text-align: center;
    color: var(--primary-color);
    font-weight: 400;
}

.featured-cat .item {
    text-align: center;
    background: var(--primary-color);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 15px;
    min-height: 160px;
    max-height: 160px;
    transition: background-color .3s ease;
}

.featured-cat .item a{
    width: 100%;
    height: 100%;
    padding: 30px 15px;
}

.featured-cat .item:hover{
    background-color: var(--secondary-color);
}

.featured-cat .item img {
    max-width: 65px;
    margin: 0 auto 10px;
}

.featured-cat .item p {
    color: var(--tertiary-color);
    position: relative;
    margin: 0;
    display: inline-block;
}

/*.featured-cat .item p::after {
    content: '';
    background-color: var(--secondary-color);
    transform: scaleX(0);
    transform-origin: left;
    display: block;
    height: 4px;
    border-radius: 60px;
    transition: transform .3s ease;
}

.featured-cat .item:hover p {
    color: var(--secondary-color);
}*/

.featured-cat .item:hover p::after {
    transform: scaleX(1);
}

/** Content Product **/
.add-links .add_to_cart_button {
    height: 48px;
    background: var(--secondary-color);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border-color: var(--primary-color);
}

.add-links .add_to_cart_read_more {
    height: 48px;
    background: #777777;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border-color: #777777;
}

.add-links .quickview,
.product-image .stock {
    display: none;
}

.add-links .add_to_cart_read_more:before,
.add-links .yith-compare:before {
    display: none;
}

.product-col.product {
    height: 100%;
}

.product-col.product .woocommerce-loop-product__title {
    text-transform: none;
    font-weight: 400;
    text-align: left;
    font-size: var(--fs-16);
    color: var(--primary-color);
    line-height: normal;
    margin: 0 0 15px 0;
    min-height: 60px;
}

.product-col.product .category-list,
.product-col.product .rating-wrap {
    display: none;
}

.product-col.product .price {
    font-size: var(--fs-18);
    display: block;
    min-height: 50px;
    text-align: left;
}

.product-col.product .price ins,
.iva-incluido {
    font-size: 18px;
    color: var(--secondary-color);
}

.product-col.product .price del {
    font-size: 18px;
    color: #AAAAAA;
}

.product-col.product .add-links-wrap {
    margin-top: 25px;
}

.product-col.product .product-image {
    border: none;
    padding: 20px 20px 40px 20px;
}

.product-col.product .product-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.featured-products article {
    height: 100%;
}

.product-col.product .product-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.product .product-image img {
    transform: scale(1);
    transition: transform .3s ease-in-out;
}

.product:hover .product-image img {
    transform: scale(1.1);
}

.product:hover .product-image {
    box-shadow: none !important;
}

.archive.tax-product_cat #main {
    padding-block: 75px;
}

/** Carousel Brands **/
.featured-brands {
    padding: 60px 0;
}

#owl-carousel-brands .item {
    background: #f9f9f9;
    padding: 1rem;
    margin: 0 1rem;
    border-radius: .5rem;
    border: 1px solid #f9f9f9;
    transition: all .3s ease;
}

#owl-carousel-brands .item:hover {
    border-color: var(--primary-color);
}

/** Carousel Cat **/
.bycat-products {
    padding: 60px 0 0 0;
}

/** Archive products **/
ul.pwidth-lg-3 .add-links {
    width: 100%;
}

.product-content .content-top {
    text-align: left;
}

ul.products .product-loop-title h3 {
    white-space: normal;
}

.porto_widget_price_filter .fields button {
    margin-top: 1rem;
    flex: 1;
    color: white;
    border-color: var(--primary-color);
    background-color: var(--primary-color);
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 600;
    height: 50px;
    transition: background-color .3s ease-in-out, border-color .3s ease-in-out;
}

.porto_widget_price_filter .fields button:hover {
    border-color: var(--secondary-color);
    background-color: var(--secondary-color);
}

.widget .widget-title,
.widget .widget-title a {
    color: var(--secondary-color);
}

/** Botón WSP **/
.boton-wsp {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #25D366;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.boton-wsp a {
    color: white;
    font-size: 24px;
    text-decoration: none;
}

.boton-wsp::after {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    border: 3px solid rgba(37, 211, 102, 0.5);
    border-radius: 50%;
    animation: pulse 1.5s infinite;
    z-index: -1;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

/** Blog **/
.blog-posts article {
    position: relative;
}

.post-item .post-date .format,
post-item .post-date .month,
article.post .post-date .format,
article.post .post-date .month {
    background: var(--primary-color);
}

.post-item .post-date .day,
article.post .post-date .day {
    color: var(--primary-color);
}

.post-item .post-categories {
    list-style: none;
    padding: 0;
    margin-bottom: 15px;
}

.post-item .post-categories li a {
    background: var(--primary-color);
    padding: 5px 5px;
    border-radius: 2px;
    color: white;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
}

.post-item h4 a {
    color: var(--primary-color);
    font-size: 25px;
    font-weight: 700;
}

.post-item .post-excerpt {
    margin-bottom: 10px;
    font-size: 18px;
}

.post-item .post-date {
    position: absolute;
    top: 15px;
    right: 30px;
    margin: 0;
    z-index: 999;
}

.post-item .btn {
    background: transparent;
    border: none;
    font-weight: 400;
    text-transform: initial !important;
    font-size: 15px !important;
    margin: 15px 0 0 0;
    padding: 0;
    color: var(--primary-color);
}

.post-image-single {
    position: relative;
}

.post-image-single::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    bottom: 0;
    z-index: 9;
}

.single-post .entry-title {
    font-weight: 700;
    color: white;
    position: relative;
    z-index: 999;
    margin-bottom: 10px;
    max-width: 500px;
}

.post-image-single .post-image-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

article.post-large-alt .post-date {
    margin-left: 0;
    margin-right: 0;
    z-index: 999;
}

/** Single product **/
.single-product .product_title {
    font-size: 24px;
    letter-spacing: normal;
    margin-bottom: 5px;
    font-weight: normal;
    color: var(--primary-color);
    text-transform: initial;
    margin-top: 15px !important;
}

.product-images .img-thumbnail .inner {
    border: none;
}

.summary-before .labels .onsale {
    font-size: 18px;
}

.product-summary-wrap {
    display: flex;
    flex-direction: row;
}

.product-summary-wrap .summary-before {
    margin-bottom: 2rem;
    flex: 0 0 60%;
    max-width: 60%;
}

.product-summary-wrap .summary {
    margin-bottom: 2rem;
    flex: 0 0 40%;
    max-width: 40%;
}

.product-nav {
    display: none !important;
}

.stockview{
	display: none !important;
}

.summary.entry-summary .stockview {
    text-transform: uppercase;
    font-weight: 400;
	display: none !important;
}

.summary.entry-summary .stockview.instock {
    color: #24d366;
}

.summary.entry-summary .stockview.outofstock {
    color: #ee4d4c;
}

.summary.entry-summary .stockview.regularstock {
    color: #faa937;
}

.summary.entry-summary .customtext+.product_meta {
    display: none;
}

/*
.woocommerce-product-gallery__wrapper{
    display: flex;
    overflow: hidden;
}

.product-thumbs-slider.owl-carousel {
    margin-bottom: 0;
}
.owl-carousel.owl-loaded {
    display: block;
}
.owl-carousel {
    margin-bottom: 20px;
}

.ccols-4 {
    --porto-cw: 25%;
}
.has-ccols {
    flex-wrap: wrap;
}
.owl-carousel {
    display: none;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    z-index: 1;
}

.has-ccols.owl-loaded>div {
    flex: none;
    width: auto;
    max-width: none;
}
.owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0px, 0px, 0px);
}
.ccols-wrap>*, .has-ccols>* {
    max-width: 100%;
    flex: 0 0 auto;
    width: var(--porto-cw, 100%);
}

.product-thumbs-slider.owl-carousel .owl-stage {
    display: flex;
    flex-direction: column;
    width: 100% !important;
}

.product-thumbs-slider.owl-carousel .owl-item {
    width: 100% !important;
}
.product-thumbs-slider.owl-carousel .owl-item {
    cursor: pointer;
}

.product-thumbs-slider.owl-carousel .img-thumbnail {
    border: 1px solid var(--porto-gray-1);
    transition: border-color 0.2s;
}
.owl-carousel .img-thumbnail {
    max-width: 100%;
}
.img-thumbnail {
    position: relative;
}
.img-thumbnail {
    padding: 0;
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: 0;
    max-width: 100%;
    height: auto;
}

.product-thumbs-slider.owl-carousel .owl-item img {
    transition: opacity 0.3s;
}

.owl-carousel .img-thumbnail img {
    width: 100%;
}

.product-thumbs-slider.owl-carousel .owl-item {
    width: 100% !important;
    margin: 0 !important;
}

.product-thumbs-slider.owl-carousel .owl-stage{
    width: 100% !important;
}
*/

/*
.product-images-wrapper {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.product-thumbnails-slider {
    max-width: 100px;
    display: flex;
    flex-direction: column; 
}
    */

.swiper-product-thumbnails {
    width: 140px;
    position: absolute !important;
    z-index: 9 !important;
}

.swiper-product-thumbnails .swiper-slide {
    height: auto !important;
}

.swiper-main {
    padding-left: 200px !important;
}

/* Asegurar que el contenedor de las miniaturas no sea demasiado grande */
.swiper-product-thumbnails {
    height: 590px;
    margin: 0 auto;
}


.single_add_to_cart_button {
    font-family: var(--porto-add-to-cart-ff, var(--porto-body-ff)), sans-serif;
    background: var(--primary-color);
    color: var(--porto-body-bg);
    width: 100%;
    flex: 1;
    border-radius: 5px;
}

.ficha-product a {
    width: 100%;
    border-radius: 5px;
    background: var(--secondary-color) !important;
    color: white;
    font-size: 14px !important;
    text-transform: uppercase;
    font-weight: 700;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: background .3s ease-in-out, color .3s ease-in-out;
}

.ficha-product a:hover {
    background: var(--primary-color) !important;
    color: white;
}

.woocommerce .add-request-quote-button.button {
    width: 100%;
    border-radius: 5px;
    background: var(--primary-color) !important;
    font-size: 14px !important;
    text-transform: uppercase;
    font-weight: 700;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.products.related {
    background: #f5f5f5;
    padding: 75px 0;
}

.related.products .slider-title {
    font-size: 25px;
    font-weight: 400;
    color: var(--primary-color);
    border-bottom: none;
}

.related.products .owl-dots {
    display: none;
}

.related.products .product-col.product .product-inner {
    background-color: white;
    border-radius: 8px;
}

.related.products .product-col.product .product-content {
    padding-inline: 15px;
    text-align: left;
}

.related.products .add-links,
.related.products .add-links .button {
    width: 100%;
}

.wsp-product {
    padding: 0;
    margin-bottom: 15px;
}

.wsp-product a {
    border-radius: 5px;
}

.tab-content .ficha-product a {
    max-width: 500px;
}

.product-thumbs-slider.owl-carousel .thumb-nav .thumb-next,
.product-thumbs-slider.owl-carousel .thumb-nav .thumb-prev {
    color: var(--primary-color);
}

.product-thumbs-slider.owl-carousel .owl-item.selected .img-thumbnail,
html:not(.touch) .product-thumbs-slider .owl-item:hover .img-thumbnail {
    border-color: var(--secondary-color);
}

.social-product h3 {
    text-transform: initial;
    letter-spacing: normal;
    font-size: 18px;
    color: var(--secondary-color);
    font-weight: normal;
    margin-bottom: auto;
}

.single-product .product-summary-wrap .share-links a:not(:hover) {
    background: none;
    color: white;
    border: 2px solid var(--primary-color);
    background: var(--primary-color);
    border-radius: 4px;
}

.single-product .product-summary-wrap .share-links a:hover {
    background: none;
    color: white;
    border: 2px solid var(--secondary-color);
    background: var(--secondary-color);
    border-radius: 4px;
}

.cart-popup .button.checkout,
html .btn-v-dark {
    background: var(--primary-color);
    color: white;
    border-radius: 5px !important;
}

.cart-popup .button.checkout:hover {
    background: var(--secondary-color);
    color: white;
}

.minicart-offcanvas .button {
    background: var(--secondary-color);
    color: white;
    border-radius: 5px !important;
}

.minicart-offcanvas .button:hover {
    background: var(--primary-color);
    color: white;
}

.cart-v2 .woo-page-header.page-header-8,
.woocommerce-checkout .woo-page-header.page-header-8 {
    background: transparent;
}

.page-header-8 li.current a,
.page-header-8 li:not(.disable) a:hover {
    color: var(--primary-color);
}

#customer_details select {
    height: 48px;
}

.order-again .button:hover,
.wc-action-btn.button:hover {
    background: var(--secondary-color);
}

#side-nav-panel {
    background-color: var(--secondary-color);
    color: white;
}

#side-nav-panel .accordion-menu li.menu-item>a,
#side-nav-panel .menu-custom-block a,
#side-nav-panel .accordion-menu li.menu-item>.arrow {
    color: white;
}

#side-nav-panel .accordion-menu li:not(:last-child),
#side-nav-panel .accordion-menu.porto-view-switcher>li {
    border-bottom: none;
}

#side-nav-panel .accordion-menu>li.menu-item a {
    font-weight: 500;
    padding: 10px 43px 10px 16px;
    text-transform: uppercase;
}

#side-nav-panel {
    display: flex;
    flex-direction: column;
}


#side-nav-panel form {
    order: 1;
}

#side-nav-panel .menu-wrap {
    order: 0;
}

#side-nav-panel .share-links {
    order: 2;
    padding: 0 15px;
    text-align: left;
}

#side-nav-panel .share-links a {
    background: white !important;
    color: var(--secondary-color);
    border-radius: 2px;
    font-size: 15px;
}

#side-nav-panel .share-links a:hover {
    background: var(--primary-color) !important;
    color: white;
}

#header .mobile-toggle {
    background-color: var(--secondary-color);
}

.product-subtotal .woocommerce-Price-amount {
    color: var(--primary-color);
    font-weight: 700;
}

.add-links .button:focus,
.add-links .button:hover,
.add-links .quickview:hover,
.product-image .yith-compare:hover,
.yith-wcwl-add-to-wishlist a:hover,
li.product-default:hover .add-links .add_to_cart_button {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}


li.product-default:hover .add-links .add_to_cart_read_more {
    height: 48px;
    background: #777777;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    border-color: #777777;
}

@media screen and (max-width: 1260px) {

    .wpb_button,
    .wpb_content_element,
    ul.wpb_thumbnails-fluid>li {
        margin-bottom: 15px;
    }

    .buttons-actions>.vc_column_container>.wpb_wrapper {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .yith_ywraq_add_item_browse_message a {
        margin-top: 0;
    }

    .product-summary-wrap .single_add_to_cart_button {
        flex: 1
    }
}

@media screen and (max-width: 991px) {

    .product.type-product .porto-wrap-container.container:first-child>.row>div:first-child,
    .product.type-product .porto-wrap-container.container:first-child>.row>div:last-child {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .header-builder-p .vc_column-inner>:not(.vc_row) {
        margin-right: 0;
        margin-bottom: 0;
    }
	
	#side-nav-panel .accordion-menu li.menu-item.active > a, #side-nav-panel .menu-custom-block a:hover {
    background-color: var(--primary-color);
}
		header .header-middle {
    padding-right: 0;
}
	
	.header-search {
    border-radius: 25px;
    line-height: 40px;
    background: white;
    padding-inline: 15px;
}
}

@media screen and (max-width: 768px) {

    .page #main,
    .blog #main,
    .single-product #main {
        padding-top: 15px;
    }

    .content-footer .menu-footer ul {
        flex-direction: column;
    }

    #header .logo {
        max-width: 170px;
    }


    #header .header-top {
        position: absolute !important;
        right: 60px;
        top: 30px;
    }

    #header.sticky-header .mobile-toggle {
        position: absolute;
        right: 0px;
    }

    #header.sticky-header .header-main.sticky .header-top {
        top: 15px;
        z-index: 9;
    }

    #header.sticky-header .standard-logo {
        max-width: 150px;
    }

    .product-summary-wrap .summary-before,
    .product-summary-wrap .summary {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .shop_table.responsive,
    .shop_table.shop_table_responsive {
        border-color: var(--primary-color);
    }
	

}