
:root {
    --card-padding: 20px;
    --card-height: 800px;
    --card-width: 500px;
    --border-radius: 20px;
    --border-width: 5px;
}

.card {
    border-radius: var(--border-radius);
    padding: var(--card-padding);
    background-color: var(--bg-color);
    position: relative;
    height: var(--card-height);
    width: var(--card-width);
}

.card::after {
    content: '';
    border-radius: var(--border-radius);
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    width: calc(var(--card-width) + 2 * (var(--border-width) + var(--card-padding)));
    height: calc(var(--card-height) + 2 * (var(--border-width) + var(--card-padding)));
    top: calc(-1 * var(--border-width));
    left: calc(-1 * var(--border-width));
    position: absolute;
    z-index: -1;
}

.img {
    background: var(--img-path) center/cover;
    width: 100%;
    height: 400px;
}

.product-heading {
    margin-top: 20px;
    font-size: 25px;
    color: transparent;
    width: fit-content;
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    background-clip: text;
    -webkit-background-clip: text;
}

.product-link {
    border-radius: 10px;
    background: linear-gradient(to right, var(--primary-color), var(--secondary-color));
    width: fit-content;
    padding: 10px;
}

.product-link:hover {
    cursor: pointer;
    filter: brightness(120%);
}

.product-link a {
    color: var(--text-color);
}

#home {
    justify-content: center;
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}

.search {
    position: relative;
    --error-display: none;
    display: flex;
    padding: 10px;
    height:42px;
    width: 500px;
    margin-left: 100px;
    margin-top: 20px;
    border: 3px solid var(--secondary-color);
    border-radius: 12px;
}

.search-input {
    font-family: 'Montserrat';
    font-size: 20px;
    width: 100%;
    height: 100%;
    outline: none;
    border:none;
    color: var(--primary-color);
    background:var(--background-color);
}

.search-input::placeholder {
    color: var(--primary-color);
}

.search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    display:block;
    height: 25px;
    width: 25px;
    background-color: var(--primary-color);
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23777'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>");
}

.search-icon {
    padding: 8px;
    width: fit-content;
    height: 100%;
}

.search-icon svg {
    color: var(--primary-color);
}

.search::after {
    content: 'No Results';
    color: red;
    position: absolute;
    top: -30px;
    display: var(--error-display);
}

mark {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}