/*
Theme Name: Porto Child
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  ***************/

.bg-gradient-primary{
	background-image: linear-gradient(#6b0202 100%);
}

.bg-gradient-dark {
  background-image: linear-gradient(var(--porto-dark-color) 100%);
}

/*Estilo para pildoras de filtro de materiales BEGIN*/
.ajax-cat-filters {
    text-align: center;
    margin-bottom: 30px;
}

.ajax-cat-filters .filter-btn {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 6px 8px 0;
    border-radius: 25px;
    background: #f4f4f4;
    color: #333;
    cursor: pointer;
    border: none;
    font-weight: 500;
    transition: all 0.3s;
}

.ajax-cat-filters .filter-btn.active,
.ajax-cat-filters .filter-btn:hover {
    background: #222;
    color: #fff;
}

#ajax-products-grid.products.columns-3 {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

#ajax-products-grid.products.columns-3 .product {
  width: 33.3333%;
  box-sizing: border-box;
  padding: 0 15px;
  margin-bottom: 30px;
}
/* Responsive: 2 columnas en móvil */
@media (max-width: 490px) {
  #ajax-products-grid .product {
    width: 50% !important;
  }
}
@media (max-width: 365px) {
  .big-titles .stats-number{
  	font-size: 3rem;
  }
}
@media (max-width: 340px) {
  #ajax-products-grid .product {
    width: 100% !important;
  }
  #ajax-products-grid.products{
  	display: block !important;
  }
  .icons-footer .porto-sicon-img{
    padding: 5px !important;
    font-size: 14px !important;
  }
}
@media (max-width: 298px) {
  .icons-footer p{
  	    font-size: 16px !important;
  }
}
/*Estilo para pildoras de filtro de materiales END*/

/*Estilos para nueva ficha de productos BEGIN*/
.porto-gallery-masonry figure{
	padding: 24px;
}

:root {
    --red: #9b2008;
    --ink: #272724;
    --bg: #0e0e0d;
    --panel: rgba(255, 255, 255, .06);
    --panel2: rgba(255, 255, 255, .04);
    --line: rgba(255, 255, 255, .12);
    --text: rgba(255, 255, 255, .92);
    --muted: rgba(255, 255, 255, .72);
    --muted2: rgba(255, 255, 255, .56);
    --shadow: 0 18px 60px rgba(0, 0, 0, .45);
    --r16: 16px;
    --r22: 22px;
    --max: 1180px;
    --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
.heroGrid .row{
    display: grid;
    grid-template-columns: 1.06fr .94fr;
    gap: 16px;
    align-items: stretch;
}
.heroGrid .row > * {
    min-width: 0;
}
.glass {
    background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .04));
    border: 1px solid var(--line);
    border-radius: 10px;
    /*box-shadow: var(--shadow);*/
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: unset;
  background-color: #f4f4f4 !important;
}
.heroCopy{padding: 26px}
.galleryCard {
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ===== FIX GLOBAL WPBAKERY / PORTO ===== */
.vc_row,
.vc_column-inner,
.wpb_wrapper {
  min-width: 0;
}


/* ===== CONTENEDOR GENERAL ===== */
.product-gallery-pro {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

/* ===== IMAGEN PRINCIPAL ===== */
.pgp-main {
  position: relative;
}

.pgp-main-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* ===== CAPTION GLASS ===== */
.pgp-caption {
  position: absolute;
  left: 12px;
  bottom: 12px;
  right: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(0, 0, 0, .38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-weight: 900;
  font-size: 13px;
  color: rgba(255, 255, 255, .92);
  
  display:none;
}

/* ===== MINIATURAS CON SCROLL ===== */
.pgp-thumbs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
  scroll-behavior: smooth;
  width: 100%;
  min-width: 0;
}

/* scrollbar */
.pgp-thumbs::-webkit-scrollbar {
  height: 6px;
}
.pgp-thumbs::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.25);
  border-radius: 10px;
}

/* ===== MINIATURA ===== */
.pgp-thumb {
  cursor: pointer;
  flex: 0 0 auto;
  height: 76px;
  aspect-ratio: 16 / 10;
  padding: 0 !important;
  border: 1px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .2s ease, transform .15s ease;
}

.pgp-thumb:hover {
  border-color: #007155;
  transform: translateY(-1px);
}

.pgp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===== ACTIVA ===== */
.pgp-thumb.active {
  border-color: #ff3b2f;
}

.ficha-boton {
  display: inline-flex;
  margin-right: 12px;
}

.ficha-boton a.vc_general.vc_btn3{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgb(0 0 0 / 14%);
    background: rgba(255, 255, 255, .05);
    /*color: rgba(255, 255, 255, .92);*/
    font-weight: 950;
    cursor: pointer;
    transition: .18s ease;
    user-select: none;
    min-width: 210px;
    text-align: center;
}

.ficha-boton a.vc_general.vc_btn3:hover {
    background: rgba(255, 255, 255, .08);
}

.ficha-boton-main a.vc_general.vc_btn3{
	background: rgba(155, 32, 8, .18);
    border-color: rgba(155, 32, 8, .55);
}

.ficha-boton-main a.vc_general.vc_btn3:hover {
    background: rgba(155, 32, 8, .24);
}

.fact {
    padding: 12px 8px 12px 8px !important;
    border-radius: 16px;
    border: 1px solid rgb(0 0 0 / 14%);
    background: rgba(255, 255, 255, .03);
}
.fact.table-no-pad{
	padding: 0px !important;
}
.fact b, .card-text b {
    display: block;
    font-size: 13.5px;
}
.fact span, .card-text span {
    display: block;
    margin-top: 6px;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
  	/*color: #b0b0b0;*/
}
.fact span.btn-text{
	display: inline-block;
  
}
.fact .home-contact span.btn-text{
	margin-top: 0px;
}

.width-unset{
	width: unset;
}

.icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    border: 1px solid var(--porto-body-color);
    background: rgba(155, 32, 8, .14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 950; 
    margin-bottom: 10px;
}

.grid-scheme .row {
  display: flex;
  gap: 20px;
}

.grid-scheme .row > [class*="col-"] {
  flex: 1 1 0;
  max-width: none;
}
.list{
	margin: 0;
    padding-left: 18px;
    /*color: #b0b0b0;*/
    font-weight: 400;
    font-size: 14px;
    line-height: 1.6;
}
.list li {
    margin-bottom: 0px;
}

.table-glass{
	width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgb(0 0 0 / 2%);
}

.table-glass th {
    background: rgb(69 69 69 / 6%);
    font-weight: 950;
    color: #b0b0b0;
}
.table-glass th, .table-glass td {
    padding: 10px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    text-align: left;
    font-size: 14px;
}
.table-glass td {
    /*color: #b0b0b0;*/
    font-weight: 400;
}

/* DESKTOP */
@media (min-width: 992px) {
    /*.single-product .col-lg-3.sidebar.porto-woo-product-sidebar {
        flex: 0 0 30.7%;
        max-width: 30.7%;
        width: 30.7%;
    }

    .single-product .col-lg-9 {
        flex: 0 0 69.3%;
        max-width: 69.3%;
        width: 69.3%;
    }*/
}


/* ===== Sidebar productos estilo Services (Porto real) ===== */

.single-product .sidebar-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Item */
.single-product .sidebar-menu > li.menu-item {
  position: relative;
  /*border-bottom: 1px solid #e5e5e5;*/
}

/* Link */
.single-product .sidebar-menu > li.menu-item > a {
  display: block;
  padding: 12.5px 40px 12.5px 0; /* espacio derecha círculo */
  font-weight: 400;
  font-size: 14px;
}

/* Flecha FontAwesome */
.single-product .sidebar-menu > li.menu-item::before {
  content: "\f054";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--porto-dark-color);
  font-size: 12.6px;
  line-height: 1;
  z-index: 1;
}

/* Círculo */
.single-product .sidebar-menu > li.menu-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: rgba(17, 17, 17, 0.1);
  border-radius: 50%;
}

/* Hover texto */
.single-product .sidebar-menu > li.menu-item:hover > a {
  color: var(--porto-primary-color) !important;
}

/* Animación flecha en hover */
.single-product .sidebar-menu > li.menu-item:hover::before {
  animation: arrowLeftRight 500ms infinite;
}

/* Keyframes oscilación Porto */
@keyframes arrowLeftRight {
  0%   { transform: translate3d(0, -50%, 0); }
  50%  { transform: translate3d(6px, -50%, 0); }
  100% { transform: translate3d(0, -50%, 0); }
}

/* Sin fondo hover */
.single-product .sidebar-menu > li.menu-item:hover {
  background: unset;
}

.sidebar-menu>li.menu-item:hover>a {
    border-top-color: var(--porto-gray-2);
}

.woocommerce-page .sidebar-content ul li a {
    line-height: 18px;
}

#ficha-completa, #ficha-completa .vc_column_container, .product .container{
	padding-left: 0px;
  	padding-right: 0px;
}

@media (min-width: 1408px) {
    .product .container {
        max-width: unset;
    }
}

.table-container .fact{
	padding-top: 0px;
  padding-bottom: 0px;
}

@media(max-width: 810px){
  .heroGrid .row{
  	grid-template-columns: 1fr;
  }
  .grid-scheme .row > [class*="col-"] {
    flex: auto;
  }
}

ul.products .product-image, .product-image .inner{
	border-radius: 10px;
}


/*Modificando galería de la derecha BEGIN*/
.altura-fija-116{
	height: 116px;
}
.pgp-main{
	height: 324px;
}
.pgp-main-img{
	    height: 326px;
  object-fit: cover;
}

@media(max-width: 1500px){
.pgp-main {
    height: 339px;
}
  .pgp-main-img {
    height: 340px;
   
}
}
@media(max-width: 1414px){
.pgp-main {
    height: 358px;
}
  .pgp-main-img {
    height: 361px;
   
}
}
@media(max-width: 1357px){
.pgp-main {
    height: 421px;
}
  .pgp-main-img {
    height: 421px;
}
  .altura-fija-116{
      height: 135px;
  }
}
@media(max-width: 1220px){
.pgp-main {
    height: 465px;
}
  .pgp-main-img {
    height: 465px;
   
}
}
@media(max-width: 1167px){
.pgp-main {
    height: 483px;
}
  .pgp-main-img {
    height: 483px;
   
}
}
@media(max-width: 1159px){
  .altura-fija-116{
    	height: 165px;
    }
}
@media(max-width: 1087px){
.pgp-main {
    height: 494px;
}
  .pgp-main-img {
    height: 494px;
   
}
  .altura-fija-116{
    	height: auto;
    }
}
@media(max-width: 1024px){
.pgp-main {
    height: 512px;
}
  .pgp-main-img {
    height: 512px;
   
}
}
@media(max-width: 992px){
.pgp-main {
    height: 360px;
}
  .pgp-main-img {
    height: 360px;
   
}
  .margin-mobile{
  	padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
}
@media(max-width: 988px){
.pgp-main, .pgp-main-img {
    height: 422px;
}
}
@media(max-width: 885px){
.pgp-main, .pgp-main-img {
    height: 466px;
}
}
@media(max-width: 846px){
.pgp-main, .pgp-main-img {
    height: 483px;
}
}
@media(max-width: 785px){
.pgp-main, .pgp-main-img {
    height: 494px;
}
}
@media(max-width: 738px){
.pgp-main, .pgp-main-img {
    height: 512px;
}
}
@media(max-width: 633px){
.pgp-main, .pgp-main-img {
    height: 530px;
}
}
@media(max-width: 576px){
.pgp-main, .pgp-main-img {
    height: 470px;
}
}
@media(max-width: 533px){
.pgp-main, .pgp-main-img {
    height: 488px;
}
}
@media(max-width: 491px){
.pgp-main, .pgp-main-img {
    height: auto;
}
}
/*Modificando galería de la derecha END*/

/*Estilos para nueva ficha de productos END*/

/*Estilos para Sobre Nosotros BEGIN*/
.custom-member .share-links {
    /*display: none !important;*/
}
.custom-member .member-contact {
    position: absolute;
    bottom: -52px;
    left: 23px;
    width: 100%;
    opacity: 0;
    transition: all 0.3s ease;
}

.custom-member .member-contact a{
	color: #000;
}

.custom-member:hover .member-contact {
    opacity: 1;
}

.custom-member {
    position: relative;
}


/*Estilos para Sobre Nosotros END*/

/*.map-container-no-scroll iframe {
    width: 100%;
    display: block;
    pointer-events: none;
    position: relative;
}
.map-container-no-scroll .gm-style {
    pointer-events: none;
}*/
.map-container-no-scroll .gm-style {
  pointer-events: none;
}

/* reactivar controles */
.map-container-no-scroll .gm-fullscreen-control,
.map-container-no-scroll .gmnoprint,
.map-container-no-scroll .gm-bundled-control,
.map-container-no-scroll button {
  pointer-events: auto !important;
}

.score-center .vc_column-inner{
  display:flex;
  justify-content:center;
  gap:60px;
  flex-wrap:wrap;
}

.score-center .porto-sicon-box{
  display:block !important;
}

.term-32 .container, .woocommerce-shop .container{
	width: 100%;
    max-width: 100%;
  padding: 0 3rem;
}

.ancho-limitado{
  	max-width: 75%;
	/*width: max-content;*/
    margin: 0 auto !important;
}

#load-more.button{
  	background-color: #ffffff;
    border: 1px solid #dddddd;
    color: #333333;
  font-size: 0.75rem;
    font-weight: 600;
  text-transform: uppercase;
}
#load-more.button:hover{
    background-color: var(--porto-primary-color);
    border-color: var(--porto-primary-color);
    color: var(--porto-primary-color-inverse, #fff);
}

@media(max-width: 767px){
  .porciento-icon .porto-sicon-header{
  	    margin-left: 108px;
        display: inline-block;
        width: max-content;
  }
  .porciento-icon .porto-sicon-heading-right{
  	display: inline-block;
    width: max-content;
  }
  .second-porciento-container .vc_column-inner{
  	padding-left: 15px;
    padding-right: 15px;
  }
  
  .block-mobile .vc_column-inner{
  	display: block !important;
  }
}
@media(max-width: 680px){
	.second-porciento-container .vc_column-inner{
      padding-left: 0;
      padding-right: 0;
    }
}
@media(max-width: 575px){
	.second-porciento-container .vc_column-inner{
      padding-left: 15px;
      padding-right: 15px;
    }
}

.slider-productos-home .product-image img{
	height: 325px;
      object-fit: cover;
}
.product-contact h2, .product-contact label, .product-contact .btn-text{
	color: #fff;
}

.vc_row.materiales-banner{
  background-image:url('https://www.riberplast.com/wp-content/uploads/2026/03/banner-categoria-materiales-21.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.vc_row.process-banner{
  background-image:url('https://www.riberplast.com/wp-content/uploads/2026/03/banner-categoria-nuestro-proceso-1.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.vc_row.sobre-nosotros-banner{
  background-image:url('https://www.riberplast.com/wp-content/uploads/2025/01/banner-categoria-sobre-nosotros.jpg') !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

.home #main .container-fluid{
	padding-left: 0;
  	padding-right: 0;
}

/* GRID BASE */
#ajax-products-grid ul.products {
    display: grid;
    gap: 20px;
}

/* columnas dinámicas */
#ajax-products-grid.columns-2 ul.products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
#ajax-products-grid.columns-3 ul.products { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
#ajax-products-grid.columns-4 ul.products { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
#ajax-products-grid.columns-5 ul.products { grid-template-columns: repeat(5, minmax(0,1fr)) !important; }
#ajax-products-grid.columns-6 ul.products { grid-template-columns: repeat(6, minmax(0,1fr)) !important; }

/* FIX PORTO */
#ajax-products-grid ul.products li.product,
#ajax-products-grid ul.products li.product-col {
    --porto-cw: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
}

/* =============================
   BREAKPOINTS (MISMA ESPECIFICIDAD)
============================= */

/* <= 1748px */
@media (max-width: 1748px) {
    #ajax-products-grid ul.products.products-container.grid {
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    }
}

/* <= 1400px */
@media (max-width: 1400px) {
    #ajax-products-grid ul.products.products-container.grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

/* <= 1180px */
@media (max-width: 1180px) {
    #ajax-products-grid ul.products.products-container.grid {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

/* <= 520px */
@media (max-width: 520px) {
    #ajax-products-grid ul.products.products-container.grid {
        grid-template-columns: 1fr !important;
    }
}
#ajax-products-grid {
    scroll-margin-top: 120px;
}
/* =====================================
   CONTENEDOR FILTROS
===================================== */
.ajax-cat-filters-global .filter-btn-global {
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.ajax-cat-filters-global .filter-btn-global.active {
    box-shadow: 0 3px 8px rgba(0,73,135,0.25);
}
.ajax-cat-filters-global {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 12px;
    margin-bottom: 25px;
}

/* =====================================
   BOTONES
===================================== */
.ajax-cat-filters-global .filter-btn-global {
    display: block;
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 500;
    text-align: left;

    border: 1px solid #e5e5e5;
    border-radius: 6px;
    background: #f4f4f4;
    color: #333;

    cursor: pointer;
    transition: all 0.2s ease;
}

/* hover */
.ajax-cat-filters-global .filter-btn-global:hover {
    border-color: var(--porto-primary-color);
    color: var(--porto-primary-color);
    background: #f9eeec;
}

/* activo */
.ajax-cat-filters-global .filter-btn-global.active {
    background: var(--porto-primary-color);
    color: #fff;
    
}

/* =====================================
   RESPONSIVE
===================================== */

/* móvil → 1 columna */
@media (max-width: 600px) {
    .ajax-cat-filters-global {
        grid-template-columns: 1fr;
    }
}
/*Nueva Landing Page*/
.icon-column{
	width: max-content;
}
.custom-background{
	        background-color: color-mix(in oklab, #000 35%, transparent);
}
.circle-background{
	border-radius: 50%;
    color: white;
    padding: 8px 10px;
}
.custom-btn button{
	padding-top: 13px !important;
    padding-bottom: 13px !important;
  	border-radius: 1rem !important;
  background-image: unset !important;
}

.custom-outline-btn button{
	border-width: 1px !important;
  border-radius: 1rem !important;
}

.custom-row-moved{
    border: 1px #adadad solid;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
  z-index: 1;
}

.custom-row-moved.shadow-hover{
 box-shadow: unset;
}

.custom-row-moved.shadow-hover:hover{
 box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
}

.unico-grupo-btn{
  	background-color: #00745a;
    color: var(--porto-light-color);
    font-weight: 600;
  padding-left: 12px;
    padding-right: 12px;
      background-image: linear-gradient(#0000, #0000001a 50%, #0000001a);
    background-position: 0 -100%;
    background-repeat: no-repeat;
    background-repeat: repeat-x;
    background-size: 200%;
  border-color: #00745a;
}

/* transición suave del ícono */
.shadow-hover .vc_btn3-icon {
  transition: transform 0.25s ease;
  display: inline-block;
}

/* cuando se haga hover en la tarjeta grande */
.shadow-hover:hover .vc_btn3-icon {
  transform: translateX(6px);
}

.col-rounded{
	border-radius: 15px;
  background: oklch(96.8% 0.007 247.896);
  border-color: oklch(92.9% 0.013 255.508);
}

.col-rounded.col-green-rounded{
	border-color: rgba(0, 116, 90, 0.16);
    background: rgba(0, 116, 90, 0.05);
}

.col-rounded.col-white-rounded{
	border-color: rgb(226, 232, 240);
    background: rgb(255, 255, 255);
}

.custom-row-moved .vc_custom_heading{
	background: oklch(98.4% 0.003 247.858);
    border-radius: 15px;
    padding: 1rem;
}

.uppercase {
    text-transform: uppercase;
}
.tracking-0-2 {
    letter-spacing: 0.2em;
}
.font-semibold {
    font-weight: 600;
}
.text-sm-custom {
    font-size: 0.875rem;
}
.green-text{
	color: rgb(0, 116, 90);
  margin-bottom: 3px;
}

.width-content{
	width: max-content;
}

.no-border-color button{
	border: unset !important;
}

.custom-card-row-3 > .vc_column_container > .vc_column-inner, .custom-card-row-2 > .vc_column_container > .vc_column-inner {
  height: 100%;
}

.custom-card-row-3 > .vc_row, .custom-card-row-2 > .vc_row {
  margin: 0 !important;
}

.custom-card-row-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.custom-card-row-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* Quita comportamientos raros de WPBakery */
.custom-card-row-3 > .vc_column_container, .custom-card-row-2 > .vc_column_container {
  width: auto !important;
  float: none !important;
  
}

/* Mobile */
@media (max-width: 520px) {
    .custom-card-row-3, .custom-card-row-2 {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 405px) {
  #columna-botones-home .wpb_wrapper.vc_column-inner{
  	display: block !important;
  }
}

.border-color-trans{
  border: 1px solid #fff;
	    border-color: rgba(255, 255, 255, 0.35) !important;
    
}

.rounded-border iframe, .rounded-border img{
	border-radius: 15px;
}

.grupo-spk-video {
  position: relative;
  overflow: hidden;
}

.grupo-spk-video .video-bg-spk {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

/* Asegura que el contenido quede encima */
.grupo-spk-video .vc_row {
  position: relative;
  z-index: 2;
}

/*Poniendo vídeo e imagenes de la misma altura BEGIN*/
/* SOLO esta sección */
.custom-video-grid {
  display: flex;
  align-items: stretch;
}

/* Las dos columnas deben estirarse */
.custom-video-grid > .vc_column_container {
  display: flex;
}

/* Inner de ambas columnas */
.custom-video-grid > .vc_column_container > .vc_column-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* La columna izquierda toma la altura del vídeo */
.custom-video-grid > .col-md-3-5 > .vc_column-inner {
  height: auto;
}

/* COLUMNA DERECHA */
.custom-video-grid > .col-md-2-5 > .vc_column-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  margin: -6px 0; /* 👈 clave */
}

/* Cada bloque de imagen */
.custom-video-grid > .col-md-2-5 .wpb_single_image {
  flex: 1 1 0; /* 👈 volvemos a flex correcto */
  display: flex;
  padding: 6px 0; /* 👈 crea el espacio */
  margin-bottom: 0 !important; /* limpia WPBakery */
}

/* Wrapper interno */
.custom-video-grid > .col-md-2-5 .wpb_single_image > .wpb_wrapper {
  flex: 1;
  display: flex;
}

/* Contenedor de imagen */
.custom-video-grid > .col-md-2-5 .vc_single_image-wrapper {
  width: 100% !important;
  height: 100%;
  display: block;
  overflow: hidden;
}

/* Imagen */
.custom-video-grid > .col-md-2-5 .vc_single_image-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.custom-video-grid .wpb_single_image .wpb_wrapper {
  margin-bottom: 0 !important;
}

.custom-video-grid img {
  display: block;
}

/* Quitar margin fantasma de WPBakery */
.custom-video-grid .wpb_single_image,
.custom-video-grid .wpb_single_image .wpb_wrapper {
  margin-bottom: 0 !important;
}

/* Evitar espacio inline de imágenes */
.custom-video-grid img {
  display: block;
}

/* Asegurar que ningún contenedor meta espacio */
.custom-video-grid .vc_single_image-wrapper {
  line-height: 0;
}
/*Poniendo vídeo e imagenes de la misma altura END*/

@media (min-width: 992px) {
    .single-post .main-content.col-lg-9 {
        width: 80% !important;
    }
    .single-post .right-sidebar.col-lg-3 {
        width: 20% !important;
    }
}
body.single-product .breadcrumbs-wrap .breadcrumb > li:nth-child(n+3):not(:last-child) {
	display: none !important;
}

.page-top .yoast-breadcrumbs, .page-top .breadcrumbs-wrap {
    color: #fff;
}

.w-max-content{
	width: max-content;
}

.strong-shadows{
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.strong-shadows:hover {
    transform: translateY(-6px);
    box-shadow: rgba(149, 157, 165, 0.35) 0px 16px 32px;
}

.light-shadows{
	box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
}

.numero {
  font-size: 0.875rem;        /* más pequeño */
  vertical-align: super;   /* lo sube arriba */
  font-weight: 500;
  color: var(--porto-primary-color);
  margin-right: 4px;
  display: inline-block;
}
.card-title{
	display: inline-block;
  	font-size: 1.875rem;
  	color: var(--porto-primary-color);
}

.max-height {
  height: 100%;
}

.btn-custom-red .vc_btn3.vc_btn3-color-danger{
	background-color: #6b0202 !important;
    color: #fff !important;
}

.same-height-img .wpb_image_grid_ul {
  display: flex !important;
  position: static !important;
  height: auto !important;
  gap: 12px;
}

.same-height-img .wpb_image_grid_ul .isotope-item {
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: 1;
}

.same-height-img .wpb_image_grid_ul .isotope-item img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
}

.custom-accordion .card .card-header .accordion-toggle::after{
	right: -0.8rem;
}

/*Nueva landing sostentibilidad BEGIN*/
.mi-seccion-verde-principal{
  background-image: url('https://www.riberplast.com/wp-content/uploads/2026/05/sostenibilidad-riberplast.jpg');
  background-size: cover;       /* Hace que cubra todo el bloque */
  background-position: center;  /* Centra la imagen */
  background-repeat: no-repeat; /* Evita repeticiones */  
  color: white !important;
}
.mi-seccion-verde {
  background: linear-gradient(135deg, #1a0500 0%, #9b2008 60%, #f5b8aa 100%) !important; 
  color: white !important;
}
.card.no-circle {
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 30px;
    padding: 30px;
    min-height: 250px;
    position: relative;
    overflow: hidden;
}
.card.circle:after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(155, 32, 8, .08);
}
.dark{
	position: relative;
    overflow: hidden;
}
.dark:before {
    content: "RECICLADO · VIRGEN · CERTIFICADO · TRAZABLE ·";
    position: absolute;
    white-space: nowrap;
    top: 80px;
    /*left: -10%;*/
    font-size: 74px;
    font-weight: 900;
    color: rgba(255, 255, 255, .035);
    letter-spacing: -2px;
}
/*Barra de progreso BEGIN*/

/* CONTENEDOR */
.custom-progress {
  position: relative;
  padding: 38px 42px 62px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  /*background: linear-gradient(135deg, #1a0500 0%, #9b2008 60%, #f5b8aa 100%) !important;*/
  background: rgba(255,255,255,.03); 
}

/* ocultar label original */
.custom-progress .progress-label {
  display: none;
}

/* barra wrapper */
.custom-progress .vc_single_bar {
  position: relative;
  margin: 0 170px;
  height: 28px;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* barra */
.custom-progress .vc_bar {
  height: 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    #ffffff 0%,
    #e6f8ef 20%,
    #9de2be 55%,
    #39b36f 100%
  ) !important;
  box-shadow: none !important;
}

/* quitar círculo */
.custom-progress .vc_bar::after {
  display: none !important;
  content: none !important;
}

/* LABEL IZQUIERDO */
.custom-progress::before {
  content: "Virgen";
  position: absolute;
  left: 42px;
  top: 52px;

  color: #fff;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
}

/* LABEL DERECHO */
.custom-progress::after {
  content: "Reciclado";
  position: absolute;
  right: 42px;
  top: 52px;

  color: #fff;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
}

/* eliminar ticks html si existieran */
.custom-progress .vc_single_bar .ticks {
  display: none !important;
}

/* PORCENTAJES */
.custom-progress .vc_single_bar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 46px;
  height: 20px;
  pointer-events: none;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='20'%3E%3Cstyle%3Etext%7Bfill:%23dff7f4;font-size:15px;font-family:Arial;font-weight:700;%7D%3C/style%3E%3Ctext x='0' y='15'%3E0%25%3C/text%3E%3Ctext x='250' y='15' text-anchor='middle'%3E25%25%3C/text%3E%3Ctext x='500' y='15' text-anchor='middle'%3E50%25%3C/text%3E%3Ctext x='750' y='15' text-anchor='middle'%3E75%25%3C/text%3E%3Ctext x='1000' y='15' text-anchor='end'%3E100%25%3C/text%3E%3C/svg%3E");

  background-size: 100% 100%;
  background-repeat: no-repeat;
}

/* MOBILE */
@media (max-width: 767px) {

  .custom-progress {
    padding: 70px 22px 58px;
  }

  .custom-progress .vc_single_bar {
    margin: 0;
  }

  .custom-progress::before {
    left: 22px;
    top: 24px;
    font-size: 22px;
  }

  .custom-progress::after {
    right: 22px;
    top: 24px;
    font-size: 22px;
  }

  .custom-progress .vc_single_bar::before {
    top: 38px;
    height: 16px;

    background-image:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='16'%3E%3Cstyle%3Etext%7Bfill:%23dff7f4;font-size:12px;font-family:Arial;font-weight:700;%7D%3C/style%3E%3Ctext x='0' y='12'%3E0%25%3C/text%3E%3Ctext x='250' y='12' text-anchor='middle'%3E25%25%3C/text%3E%3Ctext x='500' y='12' text-anchor='middle'%3E50%25%3C/text%3E%3Ctext x='750' y='12' text-anchor='middle'%3E75%25%3C/text%3E%3Ctext x='1000' y='12' text-anchor='end'%3E100%25%3C/text%3E%3C/svg%3E");
  }
}

/*Barra de progreso END*/

.custom-card-row-2 > .vc_column_container.half-w{
	width: 50% !important;
}
.half-w.float-right{
	margin-left: auto;
}
/*Nueva landing sostentibilidad END*/

.hide {display:none;}

.text-black{
	color: #111513;
  font-weight: 800;
    margin-bottom: 18px;
}
.text-black .campos-fila.dos-col label{
 width: 45%;
}
.text-black .campos-fila.una-col label{
 width: 100%;
}
.text-black .campos-fila.una-col .wpcf7-form-control-wrap{
 width: 93.5%;
 display: grid;
}

.text-black .campos-fila.una-col .wpcf7-submit{
	width: 93.5%;
  border: 0;
    border-radius: 16px;
    background: #d74726;
    color: #fff;
    padding: 16px 22px;
    font-weight: 900;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 16px 38px rgba(215, 71, 38, .25);
}
.text-black{
  padding-left: 65px;
}

/*Plantilla producto especial BEGIN*/
.special-background{
	background: radial-gradient(circle at 78% 22%, rgba(155, 32, 8, .10), transparent 34%),
            linear-gradient(120deg, #ffffff 0%, #fdf8f7 46%, #faecea 100%);
}
.hex-border .vc_icon_element-inner {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 90px !important;
  height: 90px !important;
  background: transparent !important;
}

.hex-border .vc_icon_element-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,2 98,26 98,74 50,98 2,74 2,26' fill='none' stroke='%234A9B8A' stroke-width='3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.hex-border .vc_icon_element-icon {
  position: relative;
  z-index: 1;
}

.hex-border .vc_icon_element-inner{
	margin: 0 auto;
}
.icon-row .col-md-3 + .col-md-3,  .icon-row .col-md-4 + .col-md-4{
  border-left: 1px solid;
  border-image: linear-gradient(to bottom, transparent, #4A9B8A, transparent) 1;
}

.eco-row {
  background: #e8f4f0 !important;
}

/* Quitás todo lo anterior y usás esto */
.eco-row .col-md-5 .vc_single_image-wrapper {
  position: relative;
}
.eco-row .col-md-5 .vc_single_image-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(to right, transparent, #e8f4f0);
  pointer-events: none;
}

.icon-rounded .vc_icon_element-inner{
  border: 1px solid var(--porto-primary-color) !important;
}
.campos-fila {
    display: flex;
    gap: 20px; /* Espacio entre los dos campos */
    flex-wrap: wrap; /* Permite que se apilen en móviles si no caben */
}

.campos-fila label {
    flex: 1; /* Hace que ambos campos ocupen el mismo ancho */
    /*min-width: 250px;*/ /* Evita que se vean muy estrechos en pantallas pequeñas */
}

/* Ajuste opcional para que los inputs ocupen todo el ancho del label */
.campos-fila input, .campos-fila .wpcf7-form-control-wrap , .campos-fila textarea, .full-w .wpcf7-form-control-wrap{
    width: 100% !important;
}
.special-shadow{
	box-shadow: 0 24px 70px rgba(6, 34, 43, .12);
}
.single-product .special-contact .wpcf7-form-control:not(.wpcf7-submit){
	background-color: #fff !important;
}
.special-contact input, .special-contact textarea{
  border: 1px solid #dfe9e6 !important;
}

.attention-no-pad .vc_general.vc_cta3{
	padding: 32px 0px;
}

.btn-banner a{
  /*min-height: 3.375rem;
  padding: 1em 2.5em !important;
    font-weight: 600;
    font-size: 15px !important;
    font-family: Open Sans !important;
    letter-spacing: .01em;
    text-transform: uppercase !important;
  line-height: 1.3333 !important;*/
  border-radius: unset !important;
}
.single-product .special-contact .wpcf7-form-control:not(.wpcf7-acceptance){min-height: 2.4rem;}
.special-contact textarea{
	line-height: 1;
}
.attention-no-pad .vc_cta3_content-container{
	vertical-align: middle;
}

.fila-igual-altura .col-md-5 {
    display: flex;
    flex-direction: column;
}

.fila-igual-altura .col-md-5 .wpb_wrapper.vc_column-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.fila-igual-altura .col-md-5 .wpb_single_image {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.fila-igual-altura .col-md-5 .wpb_single_image > .wpb_wrapper {
    flex: 1;
    display: flex;
}

.fila-igual-altura .col-md-5 .vc_single_image-wrapper {
    flex: 1;
}

.fila-igual-altura .col-md-5 .vc_single_image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media(max-width: 1676px){
  .less-right-pad.vc_column_container{
  	padding-right: 14rem !important;
  }
}
@media(max-width: 1419px){
  .less-right-pad.vc_column_container{
  	padding-right: 7rem !important;
  }
}
@media(max-width: 1118px){
  .less-right-pad.vc_column_container{
  	padding-right: 0rem !important;
  }
}
@media(max-width: 767px){
	.icon-row .col-md-3 + .col-md-3,  .icon-row .col-md-4 + .col-md-4{
      border-left: unset;
    }
  .less-right-pad.vc_column_container{
  	padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .no-left-movil{left: 0 !important;}
  .center-movil.wpb_single_image.vc_align_right{text-align: center;}
  .center-movil{text-align: center !important;}
  .center-movil hr, .center-movil a{margin: 0 auto !important;}
  .btn-banner.center-movil{width: 100%;}
}
@media(max-width: 554px){
  .text-center-mobile{text-align: center;}
  
}

@media(max-width: 400px){
	.special-contact .campos-fila label {
      flex: unset;
    }
  .less-text-mobile{
  	font-size: 6vw !important;
  }
}
/*Plantilla producto especial END*/

.woocommerce-shop .shop-loop-before,
.woocommerce-shop .archive-products,
.woocommerce-shop .shop-loop-after {
    display: none !important;
}

.full-round-img img{
	max-width: 100% !important;
    height: 250px;
    object-fit: cover;
  border-radius: 25px !important;
}

div.pp_default .pp_content {
    background-color: transparent !important;
}
div.pp_default .pp_content_container .pp_right, div.pp_default .pp_content_container .pp_left,  div.pp_default .pp_top .pp_left, div.pp_default .pp_top .pp_middle, div.pp_default .pp_top .pp_right, div.pp_default .pp_bottom .pp_left, div.pp_default .pp_bottom .pp_right, div.pp_default .pp_bottom .pp_middle{
    background: none !important;
}

#footer .container{
	max-width: 100%;
}

.page-top .breadcrumbs-wrap a, .page-top .breadcrumbs-wrap {
    color: #fff !important;
}

.single-post .main-content  a:not(.btn), .single-product .main-content  a:not(.btn){
	color: var(--porto-primary-color);
}
.single-post .main-content  a:not(.btn):hover, .single-product .main-content  a:not(.btn):hover{
	text-decoration: underline;
  color: var(--porto-primary-color);
  opacity: 1;
}

.unico-grupo-form textarea, .unico-grupo-form input{
	width: 100%;
}

.white-text a{
	color: white !important;
  	border-color: transparent !important;
}

body.woocommerce-shop #ajax-products-grid .category-list {
    display: none !important;
}