﻿:root {
    --culoare-meniu-categorii: #FAE5DF; /*#111;*/
    --culoare-text-alb: rgba(255, 255, 255, 0.9);
    --latime-segment-categorii: 14rem;
    --border-radius-1: 1.5rem;
    --border-radius-2: 1rem;
    --border-radius-3: 0.75rem;
    --action-button-size: 2.5rem;
    --border-color-actiuni-produse: rgba(0,0,0,0.4);
    --culoare-tema-1: rgba(113,96,232,1);
    --font-size-mare: 3rem;
    --inaltime-bara-introducere: 2.5rem;
    --inaltime-navbar: 4.2rem;
    --margine-navbar: 1rem;
    --inaltime-footer: 4.3rem;
    --margine-container: 3rem;
    --culoare-fundal-footer: #FFF;
}

html {
    font-size: 12px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.btn-primary, .nav-link.active {
    background-color: var(--culoare-tema-1) !important;
}

.btn {
    border-style: none;
}

.nav-link, nav-link:hover {
    color: var(--culoare-tema-1);
}

html, body {
    height: 100%;
    margin: 0;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    display: flex;
    overflow-x: hidden;
}

.lh-2{
    line-height:2;
}

.lh-3{
    line-height:3;
}
.form-contact input,.form-contact textarea{
    border-radius:var(--border-radius-3);
    padding:0.3rem;
    margin-top:0.2rem;
    border-color: var(--culoare-tema-1);
}
.form-contact textarea{
    border-width:2px;
    border-style:inset;
}
.padding-lista-favorite {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

.container-lista-categorii {
    position: fixed;
    z-index: 4;
    width: var(--latime-segment-categorii);
    height: 100%;
    background-color: var(--culoare-meniu-categorii);
    display: flex;
    flex-direction: column;
}

.blocker {
    height: 100%;
    width: 100%;
    position: absolute;
    background-color: #99c9;
    z-index: 3;
}

.toggle-subcategories {
    border-style: none;
    background-color: transparent;
    height: 2rem;
}

    .toggle-subcategories img, .list-group-item img {
        height: 2rem;
    }

.padding-link {
    margin: 0.4rem;
}

.grid-cartele {
    display: grid;
    gap: 2.2rem; /* spacing between cards */
    justify-content: center;
    /* at least 3 columns even on iPhone SE (~375px wide) */
    grid-template-columns: repeat(auto-fit, 10.1rem);
}
.flex-detalii-produs {
    flex-direction: row;
/*    flex-direction: column;
    display:flex;
    align-items:center;*/
}
#cantitate{
    border-radius:var(--border-radius-3);
    padding: 0.3rem;
    margin: 0.3rem;
    margin-right:0;
    width:4rem;
    line-height:1;
}

.rotated {
    transition: transform 0.3s ease;
    transform: rotate(180deg);
}

.rotated90 {
    transform: rotate(-90deg);
}

.container {
    right: 0 !important;
    width: calc(100% - var(--latime-segment-categorii )) !important;
    padding-left: var(--latime-segment-categorii) !important;
    padding-top: calc(var(--inaltime-bara-introducere) + var(--inaltime-navbar) + var(--margine-navbar)) !important;
    padding-bottom: var(--inaltime-footer);
}

.navbar {
    top: var(--inaltime-bara-introducere);
    margin-bottom: var(--margine-navbar);
    height: var(--inaltime-navbar);
    right: 0;
    width: calc(100% - var(--latime-segment-categorii ));
    position: fixed;
    z-index: 2;
}

.navbar-brand {
    color: var(--culoare-text-alb) !important;
}

    .navbar-brand:hover {
        color: var(--culoare-text-alb) !important;
    }

.nav-link-white {
    color: var(--culoare-text-alb) !important;
}

.footer {
    height: var(--inaltime-footer);
    width: calc(100% - var(--latime-segment-categorii)) !important;
    right: 0;
    bottom: 0;
    position: fixed !important;
    background-color: var(--culoare-fundal-footer);
    line-height:2 !important;
}
.anpc-sal {
    height: 2rem;
    width: 8.1rem;
    display: flex;
    object-fit: cover;
    object-position: center;
}
.anpc-sol {
    height: 2rem;
    width: 8.1rem;
    display: flex;
    object-fit: cover;
    object-position: center;
}

.container-carousel {
    display: flex;
    align-items: center;
    justify-content: center;
}

#bannerCarousel {
    border-radius: var(--border-radius-2);
    width: 80%;
    height: auto;
    max-height: 40vh;
    overflow: hidden;
}

.carousel-item img {
    object-fit: cover;
    object-position: center;
    width: 80vw;
    height: 40vh;
    max-width: 80vw;
    flex-shrink: 0;
}

.carousel-control-prev span {
    padding: 1rem;
    border-radius: 50%;
    background-color: var(--culoare-tema-1);
}

.carousel-control-next span {
    padding: 1rem;
    border-radius: 50%;
    background-color: var(--culoare-tema-1);
}

.coloane-aliniata {
    display: table;
    display: table-cell;
    vertical-align: middle;
}

.container-cartela {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    background: white;
    border-radius: var(--border-radius-1);
    box-shadow: 0px 0px 10px 0px gray;
    padding: 0.2rem;
}

    .container-cartela:hover {
        transform: translateY(-2px);
        box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
        transition: all 0.15s ease-in-out;
        cursor: pointer;
    }
.container-imagine-favorite {
    height: 10rem;
    width: 5.3rem;
}

    .container-imagine-favorite .container-imagine-cartela img {
        width: 100%;
        height: auto;
        border-radius: var(--border-radius-3);
    }
/* Optional: center text & actions */
.container-denumire-produs {
    text-align: center;
    padding: 0.4rem 0;
    word-break: break-word;
}

.rand-favorite {
    height: 5rem;
    width: 100%;
    border-top-style: solid;
    border-top-color: var(--culoare-tema-1);
    border-top-width: 3px;
}

/* Image container should scale nicely */
.container-imagine-cartela {
    width: 100%;
    overflow: hidden;
}

    .container-imagine-cartela img {
        width: 100%;
        height: auto;
        object-fit: contain;
        border-radius: var(--border-radius-1);
    }


.container-actiuni-cartela-produs {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.container-actiune-produs {
    /*border-radius: 50%;*/
    /*border-style: solid;*/
    /*border-color: var(--border-color-actiuni-produse);*/
    border-width: 2px;
    overflow: hidden;
    width: var(--action-button-size);
    height: var(--action-button-size);
    display: flex;
    justify-content: center;
    align-items: center;
}

    .container-actiune-produs button {
        display: flex;
        height: 100%;
        justify-content: center;
        /*align-items: center;*/
        line-height: calc(var(--font-size-mare)/2);
        border-style: none;
        border-width: 0;
        background-color: transparent;
        font-size: var(--font-size-mare);
    }
/*.container-actiuni-favorite{
    border-style: none;
    display:flex;
    align-items:center !important;
    height:100% !important;
}*/
.container-actiuni-favorite button {
    border-style: none;
    height: 100%;
    background-color: transparent;
    margin-right: 1rem;
}

    .container-actiuni-favorite button img {
        height: var(--action-button-size);
    }

.container-pret-produs {
    width: 5rem;
    font-size: 0.8rem;
    font-weight: bolder;
}

.container-cartela-produs-detalii {
    border-style: none;
    border-radius: var(--border-radius-1);
    box-shadow: 0px 0px 10px 0px gray;
    /*height: 25rem;*/
    width: 25rem;
    padding: 0.2rem;
}


.container-imagine-cartela-produs-detalii {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

    .container-imagine-cartela-produs-detalii img {
        width: 100%;
        height: auto;
        border-radius: var(--border-radius-1);
    }

.container-cartela-categorie {
    border-style: none;
    border-radius: var(--border-radius-1);
    box-shadow: 0px 0px 10px 10px var(--culoare-meniu-categorii);
    height: 18rem;
    width: 15rem;
    padding: 0.2rem;
    margin: 1rem;
}

.container-imagine-cartela-categorie {
    width: 100%;
    height: 85%;
    overflow: hidden;
}

    .container-imagine-cartela-categorie img {
        width: 100%;
        height: auto;
        max-height: 30vh;
        object-fit: cover;
        object-position: center;
        border-radius: var(--border-radius-1);
    }

.container-denumire-categorie {
    padding: 1rem;
}

.input-cauta {
    border-radius: 5rem;
    line-height: 5rem;
    padding-left: 10px;
    height: 2rem;
    border-color: var(--border-color-actiuni-produse);
    border-width: 2px;
    width: 9rem;
}

    .input-cauta:focus {
        border-color: var(--border-color-actiuni-produse) !important;
        outline: none;
        box-shadow: none;
    }

.buton-cauta {
    height: 2rem;
    width: auto;
    border-style: none;
    background: none;
}

    .buton-cauta img {
        width: 100%;
        height: 100%;
        opacity: 0.4;
    }

.img-header {
    height: 1.6rem;
}

.img-header2 {
    height: 2rem;
}

.bara-introducere {
    position: fixed;
    z-index: 2;
    height: var(--inaltime-bara-introducere);
    right: 0;
    width: calc(100% - var(--latime-segment-categorii )) !important;
    background-color: var(--culoare-tema-1);
    color: black;
}

    .bara-introducere span > a > img {
        height: 2rem;
        width: auto;
    }

.imagine-interna {
    height: 3rem;
    width: auto;
}


.blurred-rounded-container {
    height: 8rem;
    background: url(/images/logo.jpg) no-repeat center center;
    background-size: cover;
    /*background-color: black;*/ /* Match the inset shadow */
    /*border-radius: 50%;*/
    /*box-shadow: 0 0 5px 10px black inset;*/
}

#message-container {
    max-width: 300px;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.message {
    background-color: #dff0d8;
    color: #3c763d;
    padding: 10px 15px;
    margin-bottom: 10px;
    border: 1px solid #d6e9c6;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    font-family: sans-serif;
    opacity: 0;
}

    /* Error messages */
    .message.error {
        background-color: #f2dede;
        color: #a94442;
        border-color: #ebccd1;
    }

/* Slide in from the right */
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Slide out to the right */
@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.slide-in {
    animation: slideIn 0.2s ease-out forwards;
}

.slide-out {
    animation: slideOut 0.4s ease-in forwards;
}

.list-group-item {
    background-color: transparent;
    border-style: none;
}

    .list-group-item a {
        text-decoration: none;
        color: black;
    }

.list-group-item img{
    height:1.5rem;
}

.vh-60 {
    height: 60vh !important;
}

.overflow-y-scroll {
    overflow-y: scroll;
}

.subcategories {
    padding-left: 1.5rem;
    transition: all 0.2s ease-in-out;
}
/*PENTRU Tableta*/
@media (max-width:1250px)
{
    .grid-cartele {
        gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(9.7rem, 1fr));
    }
    .flex-detalii-produs {
        flex-direction: column;
    }
}
/*PENTRU MOBIL*/
@media (max-width: 768px) {
    :root {
        --inaltime-bara-introducere: 3.5rem;
        --inaltime-footer: 4rem;
    }

    main {
        /*overflow-x: hidden !important;*/
    }
    .grid-cartele {
        gap:1rem;
        grid-template-columns: repeat(auto-fit, minmax(9.7rem, 1fr));
    }
    /* On mobile, the categories list starts with a width of 0 (hidden) */
    .container-lista-categorii {
        width: 0;
        padding: 0 !important;
        overflow: hidden;
        transition: width 0.3s ease-in-out; /* Smooth transition */
    }

        /* When the 'expanded' class is added, reset the width to the original size */
        .container-lista-categorii.expanded {
            width: var(--latime-segment-categorii); /* Original width */
            padding: 1rem; /* Add padding back for the inner elements */
        }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        display: flex;
        justify-content: center;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    .flex-detalii-produs-imagine {
        display: flex !important;
        justify-content: center !important;
    }

/*    .container-cartela-produs-detalii {
        margin-left: 2rem;
    }*/
    /* Optionally, collapse other elements on mobile (like navbar or footer) */
    .footer {
        width: 100% !important; /* Make footer take full width */
    }


    /* Adjust navbar for mobile */
    .navbar {
        width: 100%; /* Full width navbar */
    }

    .bara-introducere {
        width: 100% !important;
    }

    .contact-layout {
        display: flex;
        flex-direction: column;
    }
    /* Position the close button on the top-right corner of the category list */
    #collapse-categorii {
        position: absolute;
        top: 5px;
        right: 5px;
        z-index: 4;
        background-color: transparent;
        color: white;
        border-radius: 50%;
        border: none;
        height: 2rem;
        width: 2rem;
    }

        #collapse-categorii img {
            height: 2rem;
        }

    .padding-lista-favorite {
        padding-left: 0.3rem;
        padding-right: 0.3rem;
    }

    #bannerCarousel {
        width: 80vw;
        max-height: 40vh;
    }

    .carousel-item img {
        height: 40vh;
        width: 80vw;
        max-width: 80vw;
    }

    .container-cartela-categorie {
        height: 10rem;
        width: 8.8rem;
        box-shadow: 0px 0px 3px 3px var(--culoare-meniu-categorii);
        margin-left:0;
        margin-right:0;
        overflow:visible;
    }
    .container-denumire-categorie {
        padding: 0.3rem;
        line-height: 1;
    }
    .anpc-sal {
        height: 1.5rem;
        width: 6.075rem;
    }

    .anpc-sol {
        height: 1.5rem;
        width: 6.075rem;
    }
}
@media (min-width: 1550px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1450px;
    }
}
@media (min-width: 1700px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1570px;
    }
}