@import url('style_nav.css');
@import url('style_popup.css');
@import url('style_reset_link.css');
@import url('style_footer.css');
@import url('catalog.css');
@import url('style_product_details.css');
@import url('style_account.css');
@import url('style_wishlist.css');
@import url('style_acc_wishlist.css');
@import url('style_accountDataAnalysis.css');

:root{
    --colorLightMain : #f5bd44;
    --colorLightAccent : #f8d56f;
    --colorDarkMain : #091c2d;
    --colorDarkAccent : #0d2b43;
    --colorLightText : #4f1c1c;
    --colorGreyLight : #d3d3d3;
    --colorGreyDark : #7d7d7d;
    --fontMainInfo : Corbel;
    --dimHomeBrand : 50vw;

}

body,html{
    margin: 0;
    padding: 0;
    scrollbar-width:thin;
    scrollbar-color: var(--colorLightMain) var(--colorDarkMain);
    height: auto;
}
* {
  -webkit-tap-highlight-color: transparent;
}
:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* General Styles */
.links_back_to_home{
    color: var(--colorLightMain);
    font-weight: bold;
    text-decoration: none;
}
.invalid_links{
    color: red;
    font-weight: bold;
    text-align: center;
    font-size: 1.5rem;
    margin-top: 2rem;
}

/* Class Elements */
.number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background-color: var(--colorDarkMain);
    color: white;
    border-radius: 50%;
    font-weight: bold;
    margin-left: -1.5rem;
    font-weight: 500;
    align-content: flex-start;
}
.light_button{
    font-size: 1.8rem;
    color: var(--colorDarkMain);
    background-color: white;
    padding: 0.8rem 1.5rem;
    border-radius: 30px;
    border: var(--colorLightMain) 5px solid;
    text-decoration: none;
    font-weight: bolder;
    transition: all 250ms ease-in-out;
}
.light_button:hover{
    background-color: var(--colorLightMain);
    color: var(--colorDarkMain);
    border: var(--colorDarkAccent) 5px solid;
}

.dark_button{
    font-size: 1.8rem;
    color: white;
    background-color: var(--colorDarkMain);
    padding: 0.8rem 1.5rem;
    border-radius: 30px;
    border: var(--colorLightMain) 5px solid;
    text-decoration: none;
    font-weight: bolder;
}

/* Home page */
#home_welcome_banner{
    background-color: var(--colorLightMain);
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100vh;
    font-family: var(--fontMainInfo);
}
/* Left Section */
#hm_st_lft{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 70%;
    height: 100%;
}
#hm_st_lft_info{
    background-color: var(--colorDarkMain);
    display: flex;
    flex-flow: column nowrap;
    align-items:center;
    justify-content: center;
    width: 30vw;
    min-width: 400px;
    height: 100%;
    z-index: 1;
}
#hm_st_lft_info img{width: 50%;}
#hm_st_lft_info h2{margin-bottom: 0;}
#hm_st_lft_info span{
    color: white;
    font-size: 2rem;
    margin-bottom: 10%;
}
#hm_st_lft_glasses{
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-evenly;
    align-items: flex-start;
    z-index: 0;
}
#hm_st_lft_glasses img{
   height: 11vw;
}
#frst_img, #scd_img, #thr_img {
    transition: margin-left 1s ease;
    margin-left: -100%;
}
/* Right Section */
#hm_st_rht{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
    width: 35vw;
    height: 100%;
    font-size: 1.3rem;
}
#hm_st_rht_info{
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-end;
    justify-content: center;
    gap: 110px;
    height: 75%;
    text-align: end;
    margin-right: 2rem;
}
#hm_st_rht_line{
    width: 80px;
    height: 75%;
    border: var(--colorDarkMain) 6px solid;
    border-right: none;
    border-radius: 25px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 135px;
}
/* Section Choose 7g */
#home_choose_7group{
    background-color: white;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    font-family: var(--fontMainInfo);
}
#home_choose_7group h2{
    font-size: 2.5rem;
    color: var(--colorDarkMain);
    margin-left: -100px;
    width: 60%;
}
#home_choose_7group h2 span{font-size: 4.5rem;}
#hm_ch_info{
    width: 60%;
    height: max-content;
    min-height: 250px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    border-radius: 40px;
    border: var(--colorDarkMain) 5px solid;
    background-color: var(--colorLightMain);
}
#hm_ch_info_option{
    width: 50%;
    background-color: var(--colorDarkAccent);
    height: 100%;
    border-radius: 35px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 1.3rem;
}
#hm_ch_info_option span{
    width: 95%;
    color: white;
    margin: 0.5rem 0 0.5rem 0;
    padding: 0.5rem;
    padding-left: 1rem;
    cursor: pointer;
    transition: all 150ms ease-in-out;
    user-select: none;
    font-weight: bold;
}

#hm_ch_info_option span:hover:not(.hm_selected_option){
    color: var(--colorLightMain);
}

#info_option_first{border-top-left-radius: 34px; margin-top: 0 !important;}
#info_option_last{border-bottom-left-radius: 34px; margin-bottom: 0 !important;}
.hm_selected_option{
    background-color: var(--colorLightMain) !important;
    color: var(--colorDarkMain) !important;
}
#hm_ch_info_info{
    width: 50%;
}

.hm_ch_info_desc{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: white;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 250ms ease-in-out;
}
.hm_ch_info_desc img{
    width: 80%;
    margin: 1rem;
    border-radius: 2rem;
    border: var(--colorDarkMain) 5px solid;
    transition: all 250ms ease-in-out;
}

.hm_ch_info_desc:not(.selected_ch_desc){
    display: none;
}

/* Home Brand section */
#home_brand{
    width: 100% ;
    height: 100vh;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center;
    background-color: var(--colorDarkMain);
}
#hm_brand_wrapper{
    width: 60%;
    display: flex;
    flex-flow: row wrap;
}
#hm_brand_wrapper div {
    border-radius: 50px;
    background-color: var(--colorLightMain);
    height: calc(var(--dimHomeBrand)/4);
    display: flex;
    justify-content: center;
    align-items: center;
    border: var(--colorLightMain) 3px solid;
}
#hm_brand_wrapper div img{
    width:65%;
}

#hm_brand_wrapper > div { transition: filter .25s, transform .25s; }
#hm_brand_wrapper > div.brighter { filter: brightness(1.1) saturate(1.1); }

.hm_brand_big{width: calc(var(--dimHomeBrand)/2);}
.hm_brand_small{width: calc(var(--dimHomeBrand)/4);}
#hm_br_model2{
    background: url(img/brands1.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}
#hm_br_model1{
    background: url(img/brands2.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}
#hm_br_model3{
    background: url(img/brands4.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}
#hm_br_model4{
    background: url(img/brands3.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}
#home_brand h2{
    font-family: var(--fontMainInfo);
    color: white;
    font-size: 3rem;
}

/* Home Last Products section */

#home_last_products{
    font-family: var(--fontMainInfo);
    background-color: white;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: center;
    min-height: 650px;
    height: max-content;
    padding-bottom: 2rem;
}
#home_last_products h2{
    font-size: 3rem;
}
#hm_ls_prod_wrapper{
    display: flex;
    flex-flow: row nowrap;
    width: 95%;
    justify-content: center;
    align-items: center;
    column-gap: 1rem;
}
.hm_ls_prod_info{
    text-decoration: none;
    width: 375px;
    height: 375px;  
    background-color: var(--colorDarkMain);
    border-radius: 50px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: center;
    color: white;
    font-size: 1.4rem;
}
.hm_ls_prod_info h3{
    transition: all 150ms ease-in-out;
}
.hm_ls_prod_info:hover h3{
    color: var(--colorLightMain);
}
.hm_ls_prod_info img{
    width: 75%;
}
.hm_ls_prod_info_buttons_wrap{
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
}
.hm_ls_prod_info_button_wishlist{
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.hm_ls_prod_info_button_wishlist img{
    height: 50px;
}
.hm_ls_prod_info_button_wishlist div{
    position: absolute;
    top:0;
    right: 0;
    background-color: var(--colorLightAccent);
    color: var(--colorDarkMain);
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hm_ls_prod_info_button_wishlist div span{
    transition: all 150ms ease-in-out;
    margin-top: -4px;
    transform-origin: center center;
}
.hm_ls_prod_info_button_wishlist:hover div span{
    color: var(--colorDarkAccent);
    transform:translateX(2px) rotate(45deg);
}

/* Responsive Design */

@media screen and (max-width: 1300px) {

    /* Reasons */
    #home_choose_7group h2{font-size: 2rem;}
    #hm_ch_info{ width: 75%;}
}

@media screen and (max-width: 900px) {

    :root {
        --dimHomeBrand : 115vw;
    }

    /* Home page banner */

    html {
        font-size: 14px;
    }
    :focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
        box-shadow: 0 0 0 2px transparent;
    }
    #home_welcome_banner{
        height: 200vh;
        flex-direction: column;
    }
    #hm_st_lft{
        width: 100%;
        justify-content: flex-start;
    }
    #hm_st_lft_info{
        width: 40vw;
        min-width: 200px;
        row-gap: 1rem;
    }
    #hm_st_lft_glasses{
        row-gap: 1.5rem;
    }
    #hm_st_lft_glasses img{
        height: 17vw;
    }
    #hm_st_lft_info h2{
        font-size: 2rem;
    }
    #hm_st_lft_info span{
        font-size: 1.7rem;
    }
    #home_catalog_btn{
        font-size: 1.5rem;
    }

    /* Home page steps  */

    #hm_st_rht {
        width: 98%;
        font-size: 1.5rem;
        background-color: var(--colorLightMain);
        border-top: var(--colorDarkMain) 5px solid;
        border-bottom: var(--colorDarkMain) 5px solid;
        color: black;
        font-weight: 400;
        padding-left: 2%;
    }

    #hm_st_rht { overflow: hidden; }

    #hm_st_rht_line { 
        transform: translateX(100%); 
        transition: transform .5s ease; 
    }
    #hm_st_rht_line.show { transform: translateX(0); }

    #hm_st_rht_info > * {
        opacity: 0;
        transform: translateY(10px);
        transition: opacity .4s ease, transform .4s ease;
    }
    #hm_st_rht_info > *.show {
        opacity: 1;
        transform: translateY(0);
    }

    /* Reasons */
    #home_choose_7group h2{font-size: 2rem; width: 80%;}
    #hm_ch_info{ width: 85%;}

    /* Brands */
    #home_brand {
        flex-direction: column;
        justify-content: center;
        min-height: 100vh;
        height: max-content;
        padding-bottom: 1rem;
    }
    #hm_brand_wrapper {
        justify-content: center;
        align-items: center;
        width: 100%;
    }
    #home_brand h2{
        font-size: 2.5rem;
    }

    /* Last Products */
    #hm_ls_prod_wrapper {
        flex-direction: column;
        row-gap: 1rem;
    }
}
@media screen and (max-width: 650px) {

    /* Home page banner */

    #hm_st_lft_info {row-gap: 3rem;}
    #hm_st_lft_info img{width: 70%;}
    #hm_st_lft_info h2{
        font-size: 1.5rem;
    }
    #hm_st_lft_info span{
        font-size: 1.3rem;
    }
    #home_catalog_btn{
        font-size: 1rem;
    }
    #hm_st_lft_glasses{
        margin-left: -15%;
        overflow-y: hidden;
    }
    #hm_st_lft_glasses img{
        height: 23vw;
    }

    /* Home page steps  */

    #hm_st_rht {
        font-size: 1.5rem;
    }

    /* Reasons */
    #home_choose_7group {
        min-height: 100vh; 
        height: max-content; 
        margin-bottom: 2rem;
    }
    #home_choose_7group h2{
        font-size: 1.5rem; 
        width: 90%; 
        margin-left: 0;
    }
    #home_choose_7group h2 span{ font-size: 3rem; }
    #hm_ch_info{ 
        width: 90%; 
        border: none; 
        flex-direction: column; 
        height: 80%; 
        justify-content: flex-start;
        align-items: center;
        margin: 0;
        background-color: white;
    }
    #hm_ch_info_info{ width: 100%;}
    .hm_ch_info_desc img{ 
        border: solid 3px var(--colorDarkMain); 
        width: 80%;
    } 
     #hm_ch_info_option{ 
        font-size: 1rem;
        width: 100%;
        justify-content: flex-start; 
        align-items: center;
        border: solid 3px var(--colorLightMain);
    }
    #hm_ch_info_option span{ margin : 0.3rem;}
    #info_option_first{border-top-right-radius: 34px;}
    #info_option_last{border-bottom-right-radius: 34px;}

    /* Last Products */
    .hm_ls_prod_info{
        width: 300px;
        height: 300px;  
    }

}