/* Icons - SVG based, no emoji characters, encoding-safe */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}
.icon-heart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f28ab8'%3E%3Cpath d='M12 21l-1.4-1.3C5.2 15 2 11.8 2 8.2A5.3 5.3 0 0 1 7.3 3c1.7 0 3.4.9 4.7 2.3C13.3 3.9 15 3 16.7 3A5.3 5.3 0 0 1 22 8.2c0 3.6-3.2 6.8-8.6 11.5L12 21z'/%3E%3C/svg%3E");
}
.icon-heart-outline {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f28ab8' stroke-width='1.8'%3E%3Cpath d='M12 21l-1.4-1.3C5.2 15 2 11.8 2 8.2A5.3 5.3 0 0 1 7.3 3c1.7 0 3.4.9 4.7 2.3C13.3 3.9 15 3 16.7 3A5.3 5.3 0 0 1 22 8.2c0 3.6-3.2 6.8-8.6 11.5L12 21z'/%3E%3C/svg%3E");
}
.icon-star {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffcf5c'%3E%3Cpath d='M12 17.3l-4.2 2.5.9-4.7-3.5-3.4 4.8-.7L12 6l2 4 4.8.7-3.5 3.4.9 4.7z'/%3E%3C/svg%3E");
}
.icon-star-simple{
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><title xmlns="">star-2</title><path fill="none" stroke="currentColor" stroke-width="1.5" d="M12 2.844L9.19 9.22l-6.377 2.811l6.377 2.811L12 21.22l2.812-6.377l6.376-2.811l-6.376-2.811z"/></svg>');
}
.icon-diamond {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><title xmlns="">diamond-stone</title><path fill="currentColor" d="M6 3h11l3.9 5.57L11.5 22L2.1 8.57zm4.16 1l-1.7 4h6.08l-1.7-4zM8.33 9l3.17 9.76L14.67 9zM3.72 8h3.66l1.7-4H6.5zm-.1 1l6.82 9.75L7.28 9zm15.66-1L16.5 4h-2.58l1.7 4zm.1 1h-3.66l-3.16 9.75z"/></svg>')
}
.icon-crown {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6'%3E%3Cpath d='M3 17l3-8 4 4 4-6 4 6 4-4 3 8H3z'/%3E%3C/svg%3E");
}
.icon-cart {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.7'%3E%3Cpath d='M6 6h13l-2 8H7z M6 6L5 3H2 M9 20a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z M16 20a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E");
}
.icon-arrow-left {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E");
}
.icon-arrow-right {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}
.icon-arrow-right-small {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 12h8 M13 8l4 4-4 4'/%3E%3C/svg%3E");
}
.icon-close {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M6 6l12 12 M18 6L6 18'/%3E%3C/svg%3E");
}
.icon-eye {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.icon-eye-off {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.59 9.59A3 3 0 0 0 12 15a3 3 0 0 0 2.41-5.41'/%3E%3Cpath d='M10.07 10.07L14.12 14.12'/%3E%3Cpath d='M17.94 17.94A10.76 10.76 0 0 1 12 20c-7 0-11-8-11-8a18.4 18.4 0 0 1 5.06-5.94M9.53 9.53L1 1l22 22'/%3E%3C/svg%3E");
}
