/* ==================================
   COMPONENTS
================================== */
button{
    border: none;
    border-radius: 6px;
    font-weight: 600;
    box-shadow:0 2px 3px #7c7c7cc0;
    padding: var(--space-1);
    cursor: pointer;
    background-color:transparent;
    transition: all 0.3s ease;
}

button:hover{
    transform: scale(1.03);
}

button:active{
    font-weight: 700;
}

.card{
    border-radius: 16px;
    box-shadow: 0 10px 10px rgba(0,0,0,0.1);
    padding: var(--space-4);
}

a{
    text-decoration: none;
    color: var(--text-dark);
    transition: all 0.3s ease;
    font-weight: 600;
}

a:hover{
    font-weight: 700;
}

.section-header{
    text-align: center;
    display: block;
    width: 100%;
    margin: var(--space-2) 0;
    background-image: linear-gradient(
        90deg,
        transparent ,
        var(--primary-clear),
        transparent 
    );
}

/*hamburger*/
#hamburger-btn{
    font-size: 1.8rem;
    margin-bottom: var(--space-1);
    cursor: pointer;
}

#hamburger-btn {
    transition: transform 0.3s ease;
}

#hamburger-btn.rotate {
    transform: rotate(180deg);
}

/*navbar links & breadcrumb links*/
.navbar-links {
    background-color: var(--bg);

    width: 100%;
    height: 0;

    overflow: hidden;
    transition: height 0.4s ease;
}

.navbar-links ul{
    width: 100%;
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: column;
    
    list-style: none;
    text-wrap: wrap;
    text-align: center;
}

.navbar-links li{
    padding: var(--space-2);
    border-top: #ccc solid 1px;    
}

.navbar-links li:first-of-type{
    border: none;
}

.breadcrumb-links li:not(:first-child)::before {
  content: "> ";
}

.navbar-links a{
    font-size: 1.2rem;
}

/*category cards*/

.category-card{
    width: 18rem;
    text-align: center;
    transition: all 0.3s ease;
}

.category-card img{
    display: block;
    margin: auto;
    transition: all 0.3s ease;
}

.category-card:hover{
    transform: scale(1.01);
    box-shadow: 0 10px 10px rgba(0,0,0,0.3);
}

.category-card:hover img{
    filter: opacity(0.8);
}

/*category-desc-and-btn*/
.category-desc-and-btn{
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-direction: column;
}

/*category short/long description*/

.category-description{
    padding: var(--space-3) var(--space-4);
}

.category-long {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.category-description.expanded .category-long {
    max-height: 500px;
}

/*categories button*/

.categories-btn{
    width: min-content ;
    margin-inline: var(--space-4);
    border-radius: 6px;
    box-shadow:0 2px 6px #7c7c7cc0;
    padding: var(--space-1);
    cursor: pointer;
    transition: all 0.3s ease;
}

.categories-btn:active{
    background-color: var(--accent);
    color: var(--text-light);
}

/*product cards*/
.product-card{
    display: flex;
    flex-direction: column;
    padding: var(--space-2);
    text-align: center;
    border-radius: 0%;
    transition: all 0.3s ease;
    box-shadow: 0 10px 10px rgba(0,0,0,0.1);
}

.product-card:hover {
  transform: translateY(-4px);
}

.product-short-description{
    font-size: 0.85rem;
}

.product-full-description{
    max-height: 0;
    overflow: hidden;
    transition: 0.3s ease;
    font-size: 0.85rem;
}

.product-card.expanded .product-full-description{
    max-height:200px;
    overflow: auto;
}

.show-more-btn{
    padding: var(--space-1);
    box-shadow: none;
    cursor: pointer;
    font-size: 0.85rem;
    text-align: center;
    text-decoration:underline;
}

/*scroll to top button*/
.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;

    width: 45px;
    height: 45px;

    border-radius: 50%;
    border: none;

    background:var(--primary-light);
    color: var(--text-dark);
    box-shadow: 0 5px 5px var(--primary-clear);

    cursor: pointer;

    opacity: 0;
    pointer-events: none;

    transition: 0.3s;
}

.scroll-top.show {
  opacity: 1;
  pointer-events: auto;
}

.scroll-top:hover {
  transform: translateY(-3px);
}

/*footer items*/
.footer-image-container{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: var(--space-2);
}

.footer-icons{
    display: flex;
    gap: var(--space-3);
    justify-content: flex-end;
    align-items: center;
}

.footer-icons a{
    font-size: 2rem;
    color: var(--text-dark);
    transition: all 0.2s ease;
}

.footer-icons a:hover{
    color: var(--primary-light);
}

.footer-icons a:active{
    color: var(--primary);
}

.footer-image-container img{
    margin: 0;
    max-width: 300px;
    width: 100%;
}

.footer-links{
    max-width: 900px;

    gap:var(--space-1) var(--space-3);
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    text-decoration: underline;
}

.footer-links a{
    color: var(--accent);
    font-weight: 400;
    font-size: 0.85rem;
    line-height: 0.85rem;
    text-align: center;

}

.footer-links a:hover{
    color: var(--text-dark);
    font-weight: 600;
}