@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-SemiBold.ttf");
}

@font-face {
    font-family: "Titillium";
    src: url("../fonts/TitilliumWeb-Regular.ttf");
}

@font-face {
    font-family: "TitilliumSemiBold";
    src: url("../fonts/TitilliumWeb-SemiBold.ttf");
}

section#hero {
    height: clamp(0px, calc(100vh - 80px - 80px), 450px);
}

.product-card {
    overflow: hidden;
    border-radius: 10px;
    transition: box-shadow .2s ease-in-out;
}

.product-card:hover {
    box-shadow: 0 0 20px -10px #000;
}

.product-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: optimizeSpeed;
    transition: scale .2s ease-in-out;
}

.product-card:hover .product-img {
    scale: 1.05;
}

.product-img-container {
    aspect-ratio: 1;
    overflow: hidden;
    border: 1.5px solid #bbb;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    padding: 25px;
}

.product-info {
    border: 1.5px solid #bbb;
    border-radius: 0 0 10px 10px;
}

.product-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.4rem;
    margin: 0;
    font-family: Titillium;
    color: #444;
}

.tooltip--product-name {
    overflow: hidden;
    font-size: 1.4rem;
    margin: 0;
    font-family: Titillium;
    color: #444;
}

.product-description {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1rem;
    font-family: Montserrat;
    color: #aaa;
    margin: 0;
    margin-top: 5px;
}

.product-price {
    font-family: Montserrat;
    color: #aaa;
    align-self: flex-end;
    margin: 0;
    margin-top: 10px;
}

.hero__title {
    color: white;
    font-family: Montserrat;
    font-size: 4.5rem;
}

.product-brand,
.product-price {
    font-family: TitilliumSemiBold;
    font-size: 1.3rem;
    color: var(--primary-color);
    margin: 0;
}

.filter-title {
    font-family: TitilliumSemiBold;
    color: var(--primary-color);
    font-size: 1.1rem;
}

.hw-select {
    padding: 8px 15px;
    appearance: none;
    border-radius: 5px;
    border-style: none;
    outline: 1px solid #bbb;
}

.hw-select:focus {
    outline: 3px solid var(--primary-color);
    box-shadow: 0 0 0 6px rgba(var(--primary-color-values), 0.4);
}

.custom-tooltip {
    display: none;
    position: fixed;
    left: 0; top: 0;
    pointer-events: none;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px;
    border: 1.5px solid #bbb;
    min-width: 200px;
    max-width: 300px;
    background-color: white;
    gap: 10px;
    box-shadow: 0 0 20px -10px #000;
}

.product-info:hover > .custom-tooltip {
    display: flex;
}

.product-prop {
    border-radius: 8px;
    border: 1.5px solid var(--primary-color);
    background-color: rgba(var(--primary-color-values), 0.4);
    color: var(--primary-color);
    padding: 8px 15px 8px 10px;
    margin: 0;
    font-size: .85rem;
}