/* Favoritos y valoraciones: exclusivos del tema Bulones. */
.btn-header-favoritos { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; border: 1px solid #dde5ef; color: #244d7c; background: #fff; font-size: 1.2rem; }
.btn-header-favoritos:hover, .btn-header-favoritos:focus-visible { color: #ff7900; background: #fff6ed; }
#favoritosCount { position: absolute; right: 2px; top: 1px; background: #ff7900; color: #fff; font-size: .65rem; border-radius: 20px; min-width: 16px; line-height: 16px; }
.js-wishlist.is-favorite { color: #ff7900 !important; border-color: #ff7900 !important; }
#panelFavoritos { position: fixed; inset: 12px 12px 12px auto; margin: 0; padding: 0; width: min(430px, calc(100vw - 24px)); height: calc(100dvh - 24px); max-height: none; max-width: none; border: 1px solid #dde5ef; border-radius: 18px; background: #f7f9fc; color: #244d7c; box-shadow: 0 16px 60px #142b4730; }
#panelFavoritos[open] { display: flex; flex-direction: column; }
#panelFavoritos::backdrop { background: #14223580; }
.favoritos-cabecera { display: flex; justify-content: space-between; align-items: center; padding: 18px; border-bottom: 1px solid #dde5ef; }
.favoritos-cabecera h2 { font-size: 1.2rem; margin: 0; }
#cerrarPanelFavoritos, .favorito-quitar { border: 0; border-radius: 10px; background: #eaf0f6; color: #244d7c; min-width: 36px; height: 36px; font-size: 1.5rem; }
.favoritos-ayuda { color: #667589; font-size: .82rem; margin: 14px 18px 0; }
#listaFavoritos { overflow-y: auto; flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.favorito-item { background: #fff; border: 1px solid #e1e7ef; padding: 10px; border-radius: 12px; display: flex; align-items: center; gap: 8px; }
.favorito-producto { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: #244d7c; font-size: .87rem; text-decoration: none; overflow-wrap: anywhere; }
.favorito-producto img { flex-shrink: 0; width: 64px; height: 64px; object-fit: contain; }
.favorito-quitar { flex-shrink: 0; background: #fff4e9; color: #c85b00; }
.favoritos-vacio { color: #667589; text-align: center; padding: 32px 14px; }
body.favoritos-abiertos { overflow: hidden; }
body.favoritos-abiertos :is(.btn-whatsapp, .btn-scroll-top) { visibility: hidden; }
.block-star { display: flex; align-items: center; justify-content: center; gap: 1px; min-height: 30px; height: 30px; flex-shrink: 0; width: 100%; }
.block-star button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 30px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #8795a8; font-size: 1rem; cursor: pointer; }
.block-star button.is-rated, .block-star button:hover { color: #ed8500; }
.block-star button:focus-visible { outline: 2px solid #244d7c; outline-offset: -2px; }
.block-star button:disabled { cursor: wait; opacity: .6; }
.estado-interacciones { position: fixed; bottom: 105px; left: 50%; transform: translateX(-50%); max-width: calc(100vw - 30px); padding: 10px 16px; border-radius: 10px; background: #244d7c; color: #fff; font-size: .85rem; z-index: 11000; pointer-events: none; }
.estado-interacciones:empty { display: none; }
@media (max-width: 576px) { #panelFavoritos { inset: 8px 8px 8px auto; width: calc(100vw - 16px); height: calc(100dvh - 16px); } .favoritos-cabecera { padding: 16px; } }

.search-bar:has(#btnHeaderFavoritos) #btnBuscarProducto { border-radius: 0; }
.search-bar #btnHeaderFavoritos { border-radius: 0 11px 11px 0; border-left: 1px solid #dde5ef; }

/* La séptima sección aprovecha espacios internos sin ampliar las cards ni sus imágenes. */
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .card-actions { margin-block: 0; flex-shrink: 0; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .block-name { height: 35px; flex-shrink: 0; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .block-price { height: 24px; flex-shrink: 0; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .block-price:has(.old-price) { height: 40px; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .block-info { height: auto; min-height: 43px; flex-shrink: 0; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) .info-extra :is(.cod-refe, .tag-line) { line-height: 1.2; }
.item :is(.card, .card-promo, .product-card):has(> .block-star) > .block-add { min-height: 40px; height: 40px; flex-shrink: 0; }

/* Acceso compartido a comparaciones, junto a favoritos. */
.btn-header-comparaciones { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; border:1px solid #dde5ef; color:#244d7c; background:#fff; font-size:1.2rem; text-decoration:none; }
.btn-header-comparaciones:hover { color:#ff7900; background:#fff6ed; }
#comparacionesCount { position:absolute; right:2px; top:1px; background:#ff7900; color:#fff; font-size:.65rem; border-radius:20px; min-width:16px; line-height:16px; }
.search-bar:has(#btnHeaderComparaciones) #btnBuscarProducto, .search-bar:has(#btnHeaderComparaciones) #btnHeaderFavoritos { border-radius:0; }
.search-bar #btnHeaderComparaciones { border-radius:0 11px 11px 0; }
.js-compare.is-compared { color:#ff7900!important; border-color:#ff7900!important; }
