.er-favs-page{width:100%}

.er-favs-empty,
.er-favs-loading{
  margin:0 0 20px;
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  text-align:center;
}

.er-favs-empty p,
.er-favs-loading p{
  margin:0;
  color:#555;
  font-size:15px;
  line-height:1.45;
}

.er-favoritos-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:18px;
}

.er-fav-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  transition:transform .18s ease,box-shadow .18s ease;
  min-height: 515px;
}

.er-fav-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}

.er-fav-card__thumb{
  display:block;
  text-decoration:none;
}

.er-fav-card__thumb img{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
  object-position:center top;
  background:#f3f3f3;
}

.er-fav-card__body{padding:14px 14px 16px}

.er-fav-card__title{
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.3;
  text-align: center;
}

.er-fav-card__title h3{
  color: #0B6600;
}

.er-fav-card__title a{
  color: #0B6600;
  text-decoration: none !important;
}

.er-fav-card__title a:hover{text-decoration:underline}

.er-fav-card__zona{
  margin:0 0 12px;
  color:#666;
  font-size:14px;
  line-height:1.35;
}

.er-fav-card__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.er-fav-btn,
[data-fav-toggle]{
  --fav-size:38px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--fav-size);
  height:var(--fav-size);
  padding:0;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:#fff;
  color:#888;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease;
}

.er-fav-btn:hover,
[data-fav-toggle]:hover{
  transform:translateY(-1px) scale(1.04);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.er-fav-card .er-compare-card__actions .er-fav-btn,
.er-fav-card .er-fav-card__actions .er-fav-btn {
  margin-left: auto;
}

.er-fav-btn:active,
[data-fav-toggle]:active{transform:scale(.92)}

.er-fav-btn:focus-visible,
[data-fav-toggle]:focus-visible{
  outline:2px solid rgba(225,29,72,.25);
  outline-offset:2px;
}

.er-fav-btn.is-active,
[data-fav-toggle].is-active,
.er-fav-chip.is-active,
.er-fav-chip[aria-pressed="true"]{
  border-color:rgba(225,29,72,.25);
  background:#fff5f7;
  color:#e11d48;
  box-shadow:0 8px 20px rgba(225,29,72,.12);
}

.er-fav-btn .er-fav-icon,
[data-fav-toggle] .er-fav-icon{
  display:inline-block;
  transform-origin:center;
  transition:transform .22s ease;
}

.er-fav-btn.is-active .er-fav-icon,
[data-fav-toggle].is-active .er-fav-icon{
  transform:scale(1.08);
}

.er-favs-bar{
  position:fixed;
  left:50%;
  bottom:10px;
  width:min(92vw,560px);
  z-index:9998;
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(16px);
  transition:opacity .25s ease,transform .25s ease;
}

.er-favs-bar.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.er-favs-bar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e11d48;
  border-radius:18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow:0 18px 44px rgba(0,0,0,.14);
  backdrop-filter:blur(10px);
}

.er-favs-bar__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.er-favs-bar__heart{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#fff5f7;
  color:#e11d48;
  font-size:18px;
}

.er-favs-bar__text{min-width:0}

.er-favs-bar__title{
  margin:0;
  color:#111;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}

.er-favs-bar__meta{
  margin:2px 0 0;
  color:#666;
  font-size:12px;
  line-height:1.2;
}

.er-favs-bar__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.er-favs-bar__btn,
.er-favs-bar__clear{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  white-space:nowrap;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:all .2s ease;
}

.er-favs-bar__btn{
  border:1px solid #111;
  background:#111;
  color:#fff;
}

.er-favs-bar__btn:hover{
  transform:translateY(-1px);
  opacity:.95;
}

.er-favs-bar__clear{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#444;
  cursor:pointer;
}

.er-favs-bar__clear:hover{background:#f8f8f8}

.er-tags{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}

.er-fav-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:#fff;
  color:#888;
  cursor:pointer;
  font-size:20px;
  line-height:1;
  transition:all .2s ease;
}

.er-fav-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}

@media (max-width:980px){
  .er-favoritos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
  .er-favoritos-grid{grid-template-columns:1fr}

  .er-favs-bar{
    left:1.5rem;
    bottom:4rem;
    width:64px;
    height:64px;
    max-width:none;
    z-index:100;
    transform:translateY(12px);
  }

  .er-favs-bar.is-visible{transform:translateY(0)}

  .er-favs-bar__inner{
    position:relative;
    justify-content:center;
    width:64px;
    height:64px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 10px rgba(0,0,0,.5);
    backdrop-filter:none;
  }

  .er-favs-bar__left,
  .er-favs-bar__text,
  .er-favs-bar__meta,
  .er-favs-bar__title,
  .er-favs-bar__heart,
  .er-favs-bar__clear{display:none!important}

  .er-favs-bar__actions{
    justify-content:center;
    width:100%;
    height:100%;
    gap:0;
  }

  .er-favs-bar__btn{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    box-shadow:none;
    font-size:0;
    color:transparent;
  }

  .er-favs-bar__btn:hover{
    transform:none;
    opacity:1;
  }

  .er-favs-bar__btn::before{
    content:"♥";
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateY(2px);
    color:#e11d48;
    font-size:30px;
    line-height:1;
  }

  .er-favs-bar__count{
    position:absolute;
    top:5px;
    right:4px;
    z-index:2;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    background:#e11d48;
    color:#fff;
    box-shadow:0 2px 6px rgba(0,0,0,.2);
    font-size:10px;
    font-weight:700;
    line-height:18px;
    text-align:center;
  }
}

.er-fav-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.er-fav-chip-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 102, 0, .5);
  background: #fff;
  font-size: .82rem;
  line-height: 1;
  white-space: nowrap;
  color: #0B6600;
}

.er-fav-chip-mini--mode {
  border-color: rgba(11,102,0,.18);
  background: #f4fbf5;
  color: #0B6600;
}

.er-fav-card__price {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: #222;
}

.er-fav-card {
  display: flex;
  flex-direction: column;
}

.er-fav-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.er-fav-card .er-compare-card__actions,
.er-fav-card .er-fav-card__actions {
  margin-top: auto;
}

.er-fav-card__meta {
  margin: 0 0 12px;
  color: #444;
  font-size: 14px;
  line-height: 1.4;
}

.er-fav-card__meta strong {
  color: #111;
}

.er-favs-fab-clear {
  display: none;
}

@media (max-width: 640px) {
  .er-favs-fab-clear {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
    padding: 0;
    z-index: 999;
    display: block;
  }

  .er-favs-bar__clear {
    display: none !important;
  }
}