/*
Theme: GeneratePress Child Dobleve
Versión limpia y alineada al manual de marca
*/

/* =========================
   1) Fuente base y encabezados
========================= */
body{ font-family:'Montserrat',system-ui,-apple-system,sans-serif; font-style:normal; }
h1,h2,h3,h4,h5,h6{ font-family:'gazzetta-variable',sans-serif; }

.woocommerce-products-header .woocommerce-products-header__title.page-title {
    font-family: "gazzetta-variable", sans-serif !important;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 5rem;
    font-size: 8rem;
}

/* Borro caja/outline que meta UAGB */
.dv-seeall-link a.uagb-buttons-repeater,
.dv-seeall-link button.uagb-buttons-repeater{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  text-decoration:none !important;
}

/* Link de marca + animación */
.dv-seeall-link a.uagb-buttons-repeater,
.dv-seeall-link button.uagb-buttons-repeater{
  position:relative;
  display:inline-block;
  font:600 14px/1 'Montserrat', sans-serif !important;
  text-transform:uppercase; letter-spacing:.04em !important;
  color:var(--cobalto) !important;
  cursor:pointer;
}


.dv-seeall-link a.uagb-buttons-repeater::after,
.dv-seeall-link button.uagb-buttons-repeater::after{
  content:"";
  position:absolute; left:0; bottom:-3px;
  width:0; height:2px; background:var(--humo);
  transition:width .28s ease;
}

.dv-seeall-link a.uagb-buttons-repeater:hover::after,
.dv-seeall-link button.uagb-buttons-repeater:hover::after{
  width:100%;
}


/* =========================
   2) Paleta DOBLEVE (variables)
========================= */
:root{
  --cobalto:#1A32C1;
  --magma:#F44E00;
  --blanco:#FFFFFF;
  --tiza:#DDDDDD;
  --humo:#353535;
  --grafito:#171717;
  --borde:#EEEEEE;
  --bg-img:#F7F7F7;
}

/* =========================
   3) Correcciones globales menores
========================= */
.no-sidebar .entry-content .alignfull{ margin-inline:0; max-width:100vw; width:auto; }


/* =========================
   4) WooCommerce: reset del <li> SOLO en shop/archive
========================= */
.woocommerce-shop .products li.product,
.post-type-archive-product .products li.product,
.tax-product_cat .products li.product{
  background:transparent;
  padding:0;
  box-shadow:none;
  text-align:initial;
  transition:none;
}
.woocommerce-shop .products li.product a.woocommerce-LoopProduct-link,
.post-type-archive-product .products li.product a.woocommerce-LoopProduct-link,
.tax-product_cat .products li.product a.woocommerce-LoopProduct-link{
  display:block; position:relative; text-decoration:none; color:inherit;
}

/* =========================
   5) Card DOBLEVE (shop/archive)
========================= */
.dobleve-card{
  position:relative;
  background:var(--bg-img);
  border:none;
  border-radius:14px;
  padding:16px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  transition:transform .25s ease, box-shadow .25s ease;
  cursor:pointer;
}
.dobleve-card:hover{ transform:translateY(-4px); box-shadow:0 6px 20px rgba(0,0,0,.10); }

/* Tag de categoría */
.dobleve-tag{
  display: block;              /* ocupa todo el ancho disponible */
  text-align: center;          /* centra el texto dentro */
  margin: 0 0 12px 0;           /* espacio inferior antes de la imagen */
  font: 600 12px/1 'Montserrat', sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--humo);
}

.dobleve-tag:hover{
  color: #000000;
}


/* Caja de imagen */
.dobleve-card-image{
  display:block; position:relative; overflow:hidden;
  width:100%; aspect-ratio:4/3;
  border-radius:10px; margin-bottom:14px;

}
.dobleve-card-image img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:contain; display:block; transition:opacity .25s ease;
}
.dobleve-card-image .img-main{ opacity:1; z-index:1; }
.dobleve-card-image .img-hover{ opacity:0; z-index:2; }
.dobleve-card:hover .img-main{ opacity:0; }
.dobleve-card:hover .img-hover{ opacity:1; }

/* Contenido */
.dobleve-card-info{ padding:6px 2px 0; color:var(--grafito); }

/* Marca */
.dobleve-brand,.dobleve-brand a{
  display:inline-block; margin-bottom:4px;
  font:600 16px/1.2 'Montserrat',sans-serif;
  color:var(--humo); text-decoration:none;
}
.dobleve-brand:hover{ 
    color:var(--cobalto);
    
    }

/* Título + precio */
.dobleve-title-price{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  margin-bottom:8px;
}
.dobleve-title-link{ text-decoration:none; color:inherit; }

/* Título */
.dobleve-title{
  font-family:'gazzetta-variable',sans-serif;
  font-weight:800; text-transform:uppercase;
  font-size:clamp(55px,1.2vw + 14px,20px);
  line-height:0.66; color:var(--grafito);
  padding-bottom: 0.2rem;
  
  background-image: linear-gradient(var(--cobalto), var(--cobalto));
  background-size: 0% 2px;       /* arranca invisible */
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size .3s ease;
}

.dobleve-title:hover{
 background-size: 100% 2px;     /* se expande a todo el ancho */
}

/* Precio */
.dobleve-price,
.dobleve-price .amount,
.dobleve-price ins .amount{
  font:600 clamp(18px,1.2vw + 12px,22px)/1 'Montserrat',sans-serif;
  color:var(--cobalto);
}





/* Acciones */
.dobleve-actions{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:10px; }

/* Botón secundario */
.dobleve-btn-secondary{
  display:inline-block; width:100%; text-align:center;
  font:600 14px/1 'Montserrat',sans-serif; text-transform:uppercase;
  color:var(--humo); background:#F2F2F2;
  border-radius:10px; padding:10px 12px; text-decoration:none;
}

/* Botón primario (add to cart) */
.dobleve-btn-primary{
  display:inline-block !important;
  width:100% !important;
  text-align:center !important;
  text-transform:uppercase !important;
  font:600 14px/1 'Montserrat', sans-serif !important;

  color:#fff !important;
  background: linear-gradient(135deg, #1A32C1 0%, #263fd6 100%) !important; /* base */
  border: 2px solid transparent !important;
  border-radius: 0 !important;
  padding:10px 12px !important;

  transition: background .35s ease, color .25s ease !important;
}

.dobleve-btn-primary:hover{
  /* Misma gama, apenas más clara en el inicio y apenas más oscura en el final */
  background: linear-gradient(135deg, #243dd0 0%, #1a2ca5 100%) !important;
  color:#fff !important;
}



/* Etiquetas auxiliares */
.categorias-producto{ font:600 11px/1 'Montserrat',sans-serif; color:var(--humo); text-transform:uppercase; }

/* Responsive fino */
@media (max-width:480px){
  .dobleve-brand{ font-size:13px; }
  .dobleve-tag{ font-size:11px; }
}

/* =========================
   6) SHORTCODE [products] dentro del contenido
   (grid en fila + resets que impedían el layout)
========================= */
.dobleve-shortcode ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr)); /* 4 por fila desktop */
  gap:24px;
  list-style:none; margin:0; padding:0;
}
.dobleve-shortcode ul.products li.product{
  width:auto!important; float:none!important; margin:0!important;
  background:#fff; border:1px solid var(--borde); border-radius:12px; padding:12px;
}
/* Reset de la “imagen cuadrada” en shortcodes */
.dobleve-shortcode ul.products li.product a.woocommerce-LoopProduct-link::before{ content:none!important; }
.dobleve-shortcode ul.products li.product img{
  position:static!important; inset:auto!important;
  width:100%!important; height:auto!important; max-height:none!important;
  object-fit:contain!important;
}

/* Responsive del shortcode */
@media (max-width:1024px){
  .dobleve-shortcode ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px){
  .dobleve-shortcode ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px){
  .dobleve-shortcode ul.products{ grid-template-columns:1fr; }
}

/* Grid de 3 columnas sobre el contenedor real */
.dobleve-card-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

/* Cada card ocupa su columna */
.dobleve-card-grid .dobleve-card{
  width: 100% !important;
  margin: 0 !important;
}

/* Responsive */
@media (max-width: 1024px){
  .dobleve-card-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px){
  .dobleve-card-grid{ grid-template-columns: 1fr; }
}

/* SINGLE PRODUCT */

.product .summary .product_title{
    text-transform: uppercase;
    font-size:6rem ;
    line-height: 4rem;
    margin-top:1rem!important ;
}

.testimonio-padre{
    align-items: stretch!important;
}


.testimonio{
     display: flex!important;
  flex-direction: column;
  justify-content: space-between!important;
}

    /* CARRITO */
    
:root{
  --cobalto-oscuro: color-mix(in oklab, var(--cobalto), black 20%);
}

/* Base ítems con icono */
.main-navigation .menu-item.menu-item-has-icon > a{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.35rem .5rem; border-radius:999px; text-decoration:none; line-height:1;
}

/* Tamaño de los SVG */
.main-navigation .menu-item-has-icon .icon{
  width:20px; height:20px; translate:0 1px;
}

/* ====== CARRITO ICON-ONLY ====== */
.main-navigation .menu-cart--icon-only > a{
  background:transparent; border:none; color:var(--cobalto);
  position:relative; /* para ubicar badge si es superpuesto */
}

/* Badge superpuesto (default) */
.main-navigation .menu-cart--badge .menu-cart-count{
  position:absolute; top:-6px; right:-6px;
  min-width:18px; height:18px; line-height:18px; padding:0 5px;
  border-radius:999px; font-size:12px; font-weight:700;
  background:var(--cobalto); color:var(--blanco);
  box-shadow:0 0 0 2px var(--blanco); /* anillo para que se lea sobre el header */
}

/* Opción “al lado del icono” (cambiá el PHP a cart_style='inline' o fuerza con esta clase) */
.main-navigation .menu-cart--inline .menu-cart-count{
  position:static; margin-left:.25rem;
  min-width:18px; height:18px; line-height:18px; padding:0 6px;
  border-radius:999px; font-size:12px; font-weight:700;
  background:var(--cobalto-oscuro); color:var(--blanco);
}

/* Ocultar contador si es 0 (gracias al data-attr) */
.menu-cart-count[data-count="0"]{ display:none; }

/* Hover/active sutil */
.main-navigation .menu-cart--icon-only > a:hover{ color:color-mix(in oklab, var(--cobalto), black 12%); }
.main-navigation .menu-cart--icon-only > a:active{ transform:translateY(1px); }

/* Accesibilidad: solo lectores */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* —— Mi Cuenta (outlined, como ya lo tenías) —— */
.main-navigation .menu-account--outlined > a{
  border:var(--cobalto); color:var(--cobalto); background:transparent;
  transition:.2s ease;
  padding-left: 1rem ;
}
.main-navigation .menu-account--outlined > a:hover{
  background:var(--cobalto); color:var(--blanco);
}

/* CTA del héroe — forzamos tamaño por viewport */
.btn-hero .uagb-infobox-cta-link.wp-block-button__link {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  color: var(--blanco);
  background-color: var(--cobalto);
  font-size: 18px !important;   /* Desktop */
  line-height: 1.2;
}

@media (max-width: 1024px) {
  .btn-hero .uagb-infobox-cta-link.wp-block-button__link {
    font-size: 16px !important; /* Tablet */
  }
}

@media (max-width: 767px) {
  .btn-hero .uagb-infobox-cta-link.wp-block-button__link {
    font-size: 12px !important; /* Mobile */
  }
}

/* TIENDA: forzar columnas con CSS Grid */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display: grid !important;
  gap: 24px;              /* separacion entre tarjetas */
}

/* Desktop ≥1025px -> 3 columnas */
@media (min-width: 1025px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Tablet 768–1024px -> 2 columnas (opcional, se ve mejor) */
@media (min-width: 768px) and (max-width: 1024px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile ≤767px -> 1 columna */
@media (max-width: 767px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: 1fr !important;
  }
}

/* Anular widths/márgenes que pone el theme en los items */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width: auto !important;
  margin: 0 !important;
}

/* Woo: evitar que el clearfix ocupe la 1ª celda del grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  content: none !important;
  display: none !important;
}


.dobleve-card-image {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dobleve-card-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
}

/* === DOBLEVE: Badge % OFF como barra superior === */
.woocommerce ul.products li.product .onsale{
  position:absolute;
  top:18px; left:16px; right:16px;
  background:var(--cobalto);
  color:var(--blanco);
  text-align:center;
  font:700 13px/1 'Montserrat',system-ui,-apple-system,sans-serif;
  letter-spacing:.04em; text-transform:uppercase;
  padding:8px 10px; border-radius:10px;
  box-shadow:0 4px 10px rgba(26,50,193,.25);
  z-index:3;
}

/* === DOBLEVE: precios en tarjetas === */
.woocommerce ul.products li.product .price{
  display:flex; align-items:baseline; gap:10px; margin-top:6px; line-height:1.1;
}

.woocommerce ul.products li.product .price del{
  order:1; color:var(--humo); opacity:.7;
  font-size:13px; text-decoration-thickness:2px; text-decoration-color:var(--humo);
}

.woocommerce ul.products li.product .price ins{
  order:2; color:var(--cobalto);
  font:800 22px/1 'Montserrat',system-ui,-apple-system,sans-serif;
  text-decoration:none;
}

/* porcentaje junto al precio (cuando lo inyectemos por PHP) */
.dv-price-pct{
  margin-left:6px; font:700 12px/1 'Montserrat',sans-serif;
  color:var(--magma);
}

/* Botón primario: mantenemos tu estilo pero con focus accesible */
.dobleve-btn-primary:focus-visible{
  outline:2px solid var(--cobalto); outline-offset:2px;
}


/* Si hay bloque de promo, ocultá la tabla original de totales */
.single-product .summary:has(.dv-total-con-promo)
  .ywapo_total_container,
.single-product .summary:has(.dv-total-con-promo)
  .yith_wapo_total_price,
.single-product .summary:has(.dv-total-con-promo)
  .product-addon-totals,
.single-product .summary:has(.dv-total-con-promo)
  .dv-original-totals {
  display: none !important;
}


/* Contenedor sin fondo ni borde */
.dv-confianza{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  padding:0;
  background: transparent;
  border:0;
  margin: 14px 0;
}

/* ===== Badges compactos Dobleve ===== */
.dv-badges{
  display:grid; gap:14px; margin:16px 0 6px;
}
@media(min-width:992px){
  .dv-badges{ grid-template-columns:repeat(3,1fr); }
}
.dv-badge{
  text-align:center;
  background: var(--blanco);
  border:1px solid var(--borde);
  border-radius:14px;
  padding:14px 12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.dv-ico{
  width:28px; height:28px; margin-bottom:8px; fill: var(--cobalto);
}
.dv-badge h5{
  margin:0 0 4px;
  font: 600 15px/1.1 'Montserrat',system-ui,sans-serif;
  color: var(--grafito);
  letter-spacing:.2px;
}
.dv-badge p{
  margin:0; color: var(--humo); font-size:14px; line-height:1.35;
}
.dv-badge .dv-sub{ color:#6f6f6f; font-size:13px; }

/* Más aire en mobile (evita “bloques pesados”) */
@media(max-width:768px){
  .dv-badge{ padding:12px 10px; }
  .dv-ico{ width:26px; height:26px; }
}

/* Slim: en una sola fila, sin tarjetas */
.dv-badges--slim{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.dv-badges--slim .dv-badge{
  border:0; box-shadow:none; padding:0; display:flex; gap:8px; align-items:center; background:transparent;
}
.dv-badges--slim .dv-badge .dv-sub{ display:none; } /* solo 1 línea */
.dv-badges--slim .dv-ico{ margin:0; }
.dv-badges--slim h5{ display:none; } /* si querés aún más minimal */

}


/* Columna izquierda: el bloque “EXCELENTE + estrellas + Google” */
.single-product .dv-rev-inline .ti-widget-container > div:first-child{
  /* algunos templates de Trustindex usan .ti-header; el :first-child lo hace a prueba de cambios */

  padding: 16px;
  background: var(--blanco);
}

/* Columna derecha: el carrusel/listado */
.single-product .dv-rev-inline .ti-widget-container > div:last-child{

  overflow: hidden; /* evita desbordes del carrusel */
}

/* Afinado de estilos para que respire */
.single-product .dv-rev-inline .ti-widget-container > div:last-child .ti-review,
.single-product .dv-rev-inline .ti-widget-container > div:last-child .ti-slide{
  padding: 12px 16px !important;
}



/* Mobile: vuelve a columna */
@media (max-width: 992px){
  .single-product .dv-rev-inline .ti-widget-container{
    display:block;
  }
  .single-product .dv-rev-inline .ti-widget-container > div:first-child,
  .single-product .dv-rev-inline .ti-widget-container > div:last-child{
    margin-bottom: 14px;
  }
}

/* Safety: si el widget fuerza anchos, los limitamos */
.single-product .dv-rev-inline .ti-widget-container,
.single-product .dv-rev-inline .ti-widget,
.single-product .dv-rev-inline iframe{
  max-width: 100% !important;
  width: 100% !important;
}



/* Tienda WooCommerce full width con padding lateral */
.woocommerce.archive .site-main,
.woocommerce.archive .site-content {
    max-width: 100% !important;  /* rompe el límite del contenedor */
    padding-left: 24px;          /* aire a la izquierda */
    padding-right: 24px;         /* aire a la derecha */
}

/* Grid de productos con aire entre tarjetas */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 24px; /* separación entre productos */
    margin: 0;
    padding: 0;
}

/* === SHOP FULL WIDTH + AIRE (GP Free) === */
/* 0) Aplica sólo a tienda y categorías de producto */
body.post-type-archive-product .site.grid-container,
body.tax-product_cat .site.grid-container{
  max-width:100% !important;            /* romper ancho fijo del theme */
}

/* Título/breadcrumb de la tienda también a lo ancho + padding lateral */
body.post-type-archive-product .page-header,
body.tax-product_cat .page-header{
  max-width:100% !important;
  padding-left:24px; padding-right:24px;
}

/* 1) Aire lateral del contenido */
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content{
  padding-left:24px;                     /* ajustá a gusto: 24/32/40 */
  padding-right:24px;
}

/* 2) Grid responsivo de productos (ocupa todo el ancho disponible) */
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products{
  display:grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap:24px;
  margin:0; padding:0;
}


/* 4) Imágenes dentro de la card, sin deformarse */
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product a img{
  width:100%; height:auto; border-radius:8px;
}

/* 5) (Opcional) Si NO querés sidebar en la tienda, descomentá este bloque
body.post-type-archive-product #right-sidebar,
body.post-type-archive-product #left-sidebar,
body.tax-product_cat #right-sidebar,
body.tax-product_cat #left-sidebar{ display:none; }
body.post-type-archive-product .content-area,
body.tax-product_cat .content-area{ width:100% !important; float:none; }
*/



/* Financiación arriba */
.dv-financiacion{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  border:1px solid var(--borde);
  border-radius:10px;
  background: var(--bg-img);
  margin: -1rem 0px 1.5rem 0;
}
.dv-financiacion .dv-fin-label{
  font: 600 13px/1 'Montserrat', system-ui, sans-serif;
  color: var(--grafito);
  text-transform: uppercase;
  letter-spacing: .4px;
}
.dv-financiacion .dv-fin-texto{
  font: 500 14px/1.2 'Montserrat', system-ui, sans-serif;
  color: var(--humo);
}

/* Badges resumidos debajo del CTA */
.dv-badges{
  display:grid; gap:12px; margin:16px 0 4px;
}
@media(min-width: 992px){ .dv-badges{ grid-template-columns: repeat(3,1fr); } }

.dv-badge{
  text-align:center;
  background: var(--blanco);
  border:1px solid var(--borde);
  border-radius:12px;
  padding:12px 10px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
	margin-bottom: 1rem;
}
.dv-badge h5{
  margin:6px 0 2px;
  font: 700 14px/1 'Montserrat', system-ui, sans-serif;
  color: var(--grafito);
}
.dv-badge p{
  margin:0;
  font: 500 13px/1.3 'Montserrat', system-ui, sans-serif;
  color:#6f6f6f;
}
.dv-ico{ width:26px; height:26px; fill: var(--cobalto); }

