.accordion-button {
    background-color: var(--bs-secondary-bg); /* Default */
}

.accordion-button.has-children {
    background-color: var(--bs-primary-bg-subtle); /* Parents */
}

.accordion-button {
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    /*background-color: transparent;*/
}

.accordion-item,
.accordion-button:focus,
.accordion-button:not(.collapsed) {
    border: none;
    box-shadow: none;
}


#product_prices {
    font-size: 1.5rem !important
}

.product-prices {
    font-size: 1.1rem !important
}

#product_description {
    white-space: pre-wrap;
}

.image-column {
    width: 106px;
    /*max-width: 100px;*/
}

.image-column img {
    width: 100%;
    max-width: 100px;
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

footer {
    flex-shrink: 0;
}

.custom-input-group {
    width: 90%;
}

@media (min-width: 992px) {
    .custom-input-group {
        width: 50%;
    }
}

#movingHeart {
    display: none;
    position: fixed;
    width: 2.5rem;
    height: 2.5rem;
    opacity: 1;
    animation: moveTopRight 0.4s ease-in-out forwards;
    z-index: 1000;
}

@keyframes moveTopRight {
    0% {
        opacity: 1;
        transform: translate(10px, 0);
    }
    100% {
        opacity: 0;
        transform: none;
        top: 0;
        left: 80%;
    }
}

.show-moving-heart {
    display: block !important;
}

@keyframes blink {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(3);
  }
}
.blink {
  animation: blink 0.5s ease-in-out 3;
}

.bi {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    background-size: contain;
    background-repeat: no-repeat;
}

.bi-bigger {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Light mode (default) */
.bi-suit-heart {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"><path d="m8 6.236-.894-1.789c-.222-.443-.607-1.08-1.152-1.595C5.418 2.345 4.776 2 4 2 2.324 2 1 3.326 1 4.92c0 1.211.554 2.066 1.868 3.37.337.334.721.695 1.146 1.093C5.122 10.423 6.5 11.717 8 13.447c1.5-1.73 2.878-3.024 3.986-4.064.425-.398.81-.76 1.146-1.093C14.446 6.986 15 6.131 15 4.92 15 3.326 13.676 2 12 2c-.777 0-1.418.345-1.954.852-.545.515-.93 1.152-1.152 1.595zm.392 8.292a.513.513 0 0 1-.784 0c-1.601-1.902-3.05-3.262-4.243-4.381C1.3 8.208 0 6.989 0 4.92 0 2.755 1.79 1 4 1c1.6 0 2.719 1.05 3.404 2.008.26.365.458.716.596.992a7.6 7.6 0 0 1 .596-.992C9.281 2.049 10.4 1 12 1c2.21 0 4 1.755 4 3.92 0 2.069-1.3 3.288-3.365 5.227-1.193 1.12-2.642 2.48-4.243 4.38z"/></svg>');
}

.bi-suit-heart-fill {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000"><path d="M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1"/></svg>');
}

.bi-spinner {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><circle cx="25" cy="25" r="20" stroke="%23000" stroke-width="5" fill="none" stroke-dasharray="31.4"><animate attributeName="stroke-dashoffset" from="180" to="0" dur="1s" repeatCount="indefinite"/></circle></svg>');
}

/* Dark mode */
[data-bs-theme="dark"] .bi-suit-heart {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23fff"><path d="m8 6.236-.894-1.789c-.222-.443-.607-1.08-1.152-1.595C5.418 2.345 4.776 2 4 2 2.324 2 1 3.326 1 4.92c0 1.211.554 2.066 1.868 3.37.337.334.721.695 1.146 1.093C5.122 10.423 6.5 11.717 8 13.447c1.5-1.73 2.878-3.024 3.986-4.064.425-.398.81-.76 1.146-1.093C14.446 6.986 15 6.131 15 4.92 15 3.326 13.676 2 12 2c-.777 0-1.418.345-1.954.852-.545.515-.93 1.152-1.152 1.595zm.392 8.292a.513.513 0 0 1-.784 0c-1.601-1.902-3.05-3.262-4.243-4.381C1.3 8.208 0 6.989 0 4.92 0 2.755 1.79 1 4 1c1.6 0 2.719 1.05 3.404 2.008.26.365.458.716.596.992a7.6 7.6 0 0 1 .596-.992C9.281 2.049 10.4 1 12 1c2.21 0 4 1.755 4 3.92 0 2.069-1.3 3.288-3.365 5.227-1.193 1.12-2.642 2.48-4.243 4.38z"/></svg>');
}

[data-bs-theme="dark"] .bi-suit-heart-fill {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23fff"><path d="M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1"/></svg>');
}

[data-bs-theme="dark"] .bi-spinner {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><circle cx="25" cy="25" r="20" stroke="%23fff" stroke-width="5" fill="none" stroke-dasharray="31.4"><animate attributeName="stroke-dashoffset" from="180" to="0" dur="1s" repeatCount="indefinite"/></circle></svg>');
}