/* Carrito vacío (29-09-2026). Ver carrito-vacio.php. */
.fsr-cv{
  --fsr-cv-marca:var(--fsr-brand, #F1E356);
  --fsr-cv-tinta:#131102;
  --fsr-cv-texto:#2C2C2C;
  --fsr-cv-suave:#6b6b6b;
  --fsr-cv-borde:#e7e7e7;
  /* Las tarjetas de «Los más vistos» son las del panel (sugerencias.css), que toma sus
     colores de estas variables; fuera del panel hay que darlas aquí. */
  --fsr-sug-marca:var(--fsr-cv-marca);
  --fsr-sug-tinta:var(--fsr-cv-tinta);
  --fsr-sug-texto:var(--fsr-cv-texto);
  --fsr-sug-suave:var(--fsr-cv-suave);
  --fsr-sug-borde:var(--fsr-cv-borde);
  --fsr-sug-fondo:#F2F5F7;
  max-width:1040px;
  margin:8px auto 40px;
  padding:0 16px;
  color:var(--fsr-cv-texto);
  font-family:inherit;
}
/* Quedaba muy abajo (29-09-2026): entre la cabecera y la tarjeta había ~215 px (margen de
   100 px de #main, 88 px del contenedor de Elementor y 77 px de su relleno, además del hueco de la
   cabecera fija, que se deja). Solo con el carrito vacío: con productos no se toca. */
/* «html body…»: en tableta y móvil estilo-global.css ya fija 24 px de margen y 24-28 px de
   relleno en esta página (arreglo de la cabecera fija, 23-09-2026) con la misma
   especificidad; así estas ganan, y solo con el carrito vacío. */
html body.woocommerce-cart #main:has(.fsr-cv),
html body.woocommerce-cart .e-con.e-parent:has(.fsr-cv){
  margin-top:0 !important;
  --margin-top:0px !important;
  --margin-block-start:0px !important;
}
html body.woocommerce-cart .e-con-inner:has(.fsr-cv){ padding-top:28px !important; }
html body.woocommerce-cart .elementor-element > .elementor-widget-container:has(> .woocommerce > .fsr-cv){ padding-top:0 !important; }
@media (max-width:767px){
  html body.woocommerce-cart .e-con-inner:has(.fsr-cv){ padding-top:16px !important; }
}

/* El botón «Volver a la tienda» de WooCommerce sobra: el bloque ya lleva los suyos. */
.fsr-cv ~ .return-to-shop{ display:none !important; }

.fsr-cv-tarjeta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:40px 28px 28px;
  border:1px solid var(--fsr-cv-borde);
  border-radius:18px;
  background:#fff;
  text-align:center;
  box-shadow:0 10px 30px rgba(19,17,2,.06);
}
.fsr-cv-dibujo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:88px;
  height:88px;
  border-radius:50%;
  background:var(--fsr-cv-marca);
  color:var(--fsr-cv-tinta);
}
.fsr-cv-dibujo svg{ width:42px; height:42px; }
.fsr-cv-titulo{
  margin:6px 0 0 !important;
  font-size:28px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  color:var(--fsr-cv-tinta) !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.fsr-cv-texto{
  max-width:560px;
  margin:0 !important;
  font-size:16px;
  line-height:1.55;
  color:var(--fsr-cv-suave);
}
.fsr-cv-botones{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:8px; }
.fsr-cv-boton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 24px !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-transform:none !important;
  text-decoration:none !important;
  transition:filter .15s ease, background-color .15s ease;
}
.fsr-cv-boton--principal{ background:var(--fsr-cv-marca) !important; color:var(--fsr-cv-tinta) !important; border:0 !important; }
.fsr-cv-boton--principal:hover{ filter:brightness(.95); }
.fsr-cv-boton--secundario{ background:#fff !important; color:var(--fsr-cv-tinta) !important; border:1.5px solid var(--fsr-cv-tinta) !important; }
.fsr-cv-boton--secundario:hover{ background:#F2F5F7 !important; }
.fsr-cv-boton:focus-visible{ outline:2px solid var(--fsr-cv-tinta) !important; outline-offset:3px; }

.fsr-cv-confianza{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  width:100%;
  margin:18px 0 0 !important;
  padding:18px 0 0 !important;
  border-top:1px solid var(--fsr-cv-borde);
  list-style:none !important;
}
.fsr-cv-confianza li{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 !important;
  font-size:14px;
  font-weight:600;
  color:var(--fsr-cv-tinta);
}
.fsr-cv-confianza svg{ flex:0 0 22px; width:22px; height:22px; color:var(--fsr-cv-tinta); }

.fsr-cv-vistos{ margin-top:34px; }
.fsr-cv-vistos-titulo{
  margin:0 0 14px !important;
  font-size:20px !important;
  font-weight:800 !important;
  color:var(--fsr-cv-tinta) !important;
  text-transform:none !important;
}

/* Aviso «… eliminado. ¿Deshacer?» y demás avisos del carrito: tira fina y redondeada en
   lugar de la barra gruesa con bordes negros del tema. */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:1040px;
  margin:16px auto !important;
  padding:12px 16px !important;
  border:1px solid var(--fsr-cv-borde, #e7e7e7) !important;
  border-left:4px solid #1f8a4c !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#2C2C2C !important;
  font-size:15px !important;
  line-height:1.4 !important;
  box-shadow:0 4px 14px rgba(19,17,2,.05);
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info::before{
  position:static !important;
  margin:0 !important;
  color:#1f8a4c !important;
}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a{
  margin-left:auto;
  font-weight:700;
  color:#131102 !important;
  text-decoration:underline !important;
}

@media (max-width:900px){
  .fsr-cv-confianza{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .fsr-cv{ padding:0 12px; }
  .fsr-cv-tarjeta{ padding:28px 16px 20px; }
  .fsr-cv-dibujo{ width:72px; height:72px; }
  .fsr-cv-dibujo svg{ width:34px; height:34px; }
  .fsr-cv-titulo{ font-size:23px !important; }
  .fsr-cv-texto{ font-size:15px; }
  .fsr-cv-botones{ flex-direction:column; width:100%; }
  .fsr-cv-boton{ width:100%; }
  .fsr-cv-confianza{ gap:12px 10px; }
  .fsr-cv-confianza li{ justify-content:flex-start; font-size:13px; line-height:1.3; text-align:left; }
}
