:root {
  --primary-square-color: 82, 168, 242;
  --font-color: white;
  --second-font-color: black;
  --background-color: rgba(82, 168, 242, 0.5);
  --hover-color: #a05c51;
}

body {
    font-family: "Inter", sans-serif;
    margin-top: 20px;
    margin-left: 150px;
    margin-right: 150px;
    margin-bottom: 50px;
    background-image: url("../images/background_main.png");
    background-repeat: no-repeat;
    height: 100px;
    background-blend-mode: lighten;
}
body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: -340px;
    background: rgba(120, 120, 120, 0.2); /* Ajusta la transparencia aquí */
    z-index: 0;
    padding-bottom: 400px;
}

/* Para que el contenido esté encima */
body > * {
    position: relative;
    z-index: 1;
}
.container {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
}


.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    
}

.main-nav ul {
    display: flex;
    gap: 20px;
    list-style: none;
}

.main-nav ul li a {
    text-decoration: none;
    color: var(--font-color);
    font-weight: 700;
}

.main-nav ul li a:hover {
    color: var(--hover-color);
}

/*HERO SECTION*/
.hero {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 240px;
    gap: 20px;
    background-color: rgba(var(--primary-square-color),0.5);
    border-radius: 40px;
    padding: 60px;
}

.hero-text {
    font-size: 20px;
    font-weight: 300;
    color: var(--font-color);
    width: 80%;
    padding-left: 40px;
}

.hero-buttons {
    padding-right: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.button-bck {
    display: flex;
    flex-direction: column;
}

.button-bck span {
    color: var(--font-color);
}

.button-bck a img {
    background: rgba(82, 168, 242, 0.6);
    border-radius: 10px;
    padding: 10px;
}

.hero-buttons span {
    text-align: center;
    padding-left: 10px;
    margin-top: 10px;
    width: 80%;
}

/*SECTIONS*/

.section-main {
    margin-top: 400px;
}

.section-main h2 {
    text-align: center;
    color: black;
}

.section-designer, .section-supplier {
    display: flex;
    gap: 160px;
    margin-left: 50px;
    margin-right: 50px;
    align-items: center;
    justify-content: center;
}


.section-designer img, .section-supplier img {
    width: 90%;
}

.section-designer p, .section-supplier p {
    color: rgba(8, 8, 8, 0.7);
    font-size: 18px;
    width: 85%;
}

.section-designer p {
    margin-right: -44px;
}

.section-supplier {
    margin-top: 40px;
}

.section-supplier p {
    margin-left: -100px;
    margin-right: 40px;
}
/*FOOTER*/

.footer-main {
    background-color: var(--second-font-color);
    margin-top: 120px;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 50px;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.footer-nav ul {
    display: flex;
}

.footer-nav ul li {
    list-style-type: none;
    padding: 40px;
}

.footer-nav ul li a {
    text-decoration: none;
    color: var(--font-color);
    font-weight: 600;
}

.footer-nav ul li a:hover {
    color: var(--hover-color);
}


/*LOGIN PAGE*/
.login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 90px;
    margin-left: 50px;
    margin-right: 50px;
    gap: 40px;
}

.login-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: var(--background-color);
    border-radius: 30px;
    padding: 35px;
}

.login-info h2, p {
    color: var(--font-color);
}

.login-info p {
    font-size: 17px;
    font-weight: 400;
}

.login-image img {
    width: 80%;
}

.login-form {
    margin-top: 50px;
    border-radius: 30px;
    padding-left: 20px;
    padding-right: 20px;
}

.form-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

label[for="id_username"], label[for="id_password"] {
    font-size: 26px;
    font-weight: 600;
}

#id_username, #id_password {
    background-color: var(--background-color);
    color: #f3efef82;
    border-radius: 20px;
    border: none;
    font-size: 18px;
    padding: 5px;
}

.loginButton, .buttonUpload {
    background-color: var(--second-font-color);
    color: var(--font-color);
    border: none;
    border-radius: 20px;
    font-size: 16px;
    font-weight: 600;
    padding: 15px;
    padding-left: 25px;
    padding-right: 25px;
}

.loginButton:hover, .buttonUpload:hover {
    cursor: pointer;
    background-color:var(--hover-color);
}

/*logged designer*/
.logged {
    display: flex;
    gap: 60px;
    margin-top: 90px;
    
}


.logged-info {
    background-color: var(--background-color);
    border-radius: 30px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
}


.logged p {
    font-weight: 600;
    font-size: 18px;
}

p.logged-detail {
    font-weight: 400;
}


.logged a {
    margin-top: 20px;
    text-decoration: none;
    color: var(--font-color);
    font-size: 19px;
    font-weight: 600;
    background-color: rgba(82, 168, 242, 0.55);
    width: 55%;
    padding: 8px;
    border-radius: 10px;

}

.logged img {
    width: 100%;
}

.logged a:hover {
    color: var(--hover-color);
}

/*UPLOAD */
.upload {
    background-color: var(--background-color);
    margin-top: 90px;
    border-radius: 30px;
    padding: 30px;
}

.upload h2 {
    color: var(--font-color);
    padding-left: 30px;
}

.form-upload {
    margin-top: 15px;
    padding-left: 30px;
}

label[for="id_image"], label[for="id_fabric_type"], label[for="id_color"], label[for="id_texture"], label[for="id_quantity_meters"]{
    font-weight: 600;
    font-size: 18px;
}

label[for="id_texture"] {
    padding-right: 72px;
}

label[for="id_fabric_type"] {
    padding-right: 40px;
}

label[for="id_color"] {
    padding-right: 90px;
}

#id_fabric_type, #id_color, #id_texture, #id_quantity_meters, #id_fabric_types, #id_colors_available, #id_processing, #id_min_meters, #id_contact_email {
    background-color: #d4d1d182;
    color: var(--font-color);
    font-weight: 500;
    border-radius: 20px;
    border: none;
    font-size: 17px;
    padding: 5px;
}

/*LOGOUT*/
.logout {
    border: none;
    font-size: 17px;
    color: var(--font-color);
    font-weight: 600;
    background-color: transparent;
}

.logout:hover {
    color: var(--hover-color);
}

/*MATCHED RESULTS*/
.match-result {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.matching{
    display: flex;
    flex-direction: column;
    background-color: var(--background-color);
    border-radius: 30px;
    padding: 25px;
    height: min-content;
}

.matching-title {
    margin-top: 50px;
    color: var(--font-color);
}

.matching h3, .matching-info {
    color: var(--font-color);
}

.matching span {
    font-weight: 600;
    color: var(--font-color);
}

#id_username_helptext {
    color: var(--font-color);
    font-weight: 700;
}

.register-designer, .register-supplier {
    margin-top: 50px;
    color: var(--font-color)
}

.btn-supplier, .btn-designer, .btn-update {
    border-style: none;
    background-color: var(--second-font-color);
    color: var(--font-color);
    border-radius: 15px;
    margin-top: 20px;
    padding: 15px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
}

.btn-supplier:hover, .btn-designer:hover, .btn-update:hover {
    background-color: var(--hover-color);
} 

/*SUPPLIER PROFILE*/
.supplier {
    background-color: var(--background-color);
    margin-top: 40px;
    border-radius: 20px;
    padding: 20px;
    padding-left: 60px;
}

.supplier-title {
    color: var(--font-color);
    margin-top: 40px;
}

label[for="id_fabric_types"] {
    padding-right: 25px;
}

label[for="id_processing"] {
    padding-right: 35px;
}

label[for="id_min_meters"] {
    padding-right: 35px;
}

label[for="id_contact_email"] {
    padding-right: 16px;
}

/*ABOUT*/
.about {
    margin-top: 40px;
}

.about h1 {
    color: var(--font-color);
    
}

.about p {
    font-size: 17px;
    font-weight: 500;
}


/*RESPONSIVE MOBILE, TABLET, LAPTOP*/

/* ========================= */
/* 📱 MOBILE (max 768px) */
/* ========================= */
@media (max-width: 768px) {

    body {
        margin: 10px;
        margin-bottom: 30px;
    }

    .header-main {
        flex-direction: column;
        gap: 10px;
    }

    .main-nav ul {
        flex-direction: column;
        align-items: center;
    }

    /* HERO */
    .hero {
        flex-direction: column;
        margin-top: 60px;
        padding: 20px;
        text-align: center;
    }

    .hero-text {
        width: 100%;
        padding: 0;
    }

    .hero-buttons {
        flex-direction: column;
        padding: 0;
    }

    /* SECTIONS */
    .section-main {
        margin-top: 80px;
    }

    .section-designer,
    .section-supplier {
        flex-direction: column;
        gap: 20px;
        margin: 0;
    }

    .section-designer p,
    .section-supplier p {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    /* LOGIN */
    .login {
        grid-template-columns: 1fr;
        margin: 20px;
    }

    .login-image img {
        width: 100%;
    }

    /* DASHBOARD */
    .logged {
        flex-direction: column;
    }

    .logged-info {
        width: 100%;
    }

    /* FOOTER */
    .footer-main {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .footer-nav ul {
        flex-direction: column;
        padding: 0;
    }
}

/* ========================= */
/* 📲 TABLET (769px - 1024px) */
/* ========================= */
@media (max-width: 1024px) {

    body {
        margin-left: 40px;
        margin-right: 40px;
    }

    .hero {
        margin-top: 120px;
        padding: 40px;
    }

    .section-designer,
    .section-supplier {
        gap: 40px;
        margin-left: 20px;
        margin-right: 20px;
    }

    .login {
        grid-template-columns: 1fr;
    }

    .logged {
        flex-direction: column;
    }

    .logged-info {
        width: 100%;
    }
}

/*LARGE SCREENS*/
@media (min-width: 1400px) {
    body {
        margin-left: 200px;
        margin-right: 200px;
    }

    .hero {
        padding: 80px;
    }

    .section-designer, .section-supplier {
        gap: 200px;
    }
}