/* Root */
:root {
    /* colors */
    --bg_color: #eff9ff;
    --tab_color: #9fd0f5;
    --shadow_color: #163e7a; 
    --outline_color: #238ea8;
    --hover_color: #82c0cc; 
    --title_text_color: #0f142d; 
    --body_text_color: #3f4159; 
    
    /* spacing */
    --spacing: 1rem;

    --outline_size: 1px; 
    --divider_size: 3px; 
    --box_shadow_size: -10px 10px; 

    --box_shadow_surround: 0 0 0 10px var(--shadow_color);


}


/* Text styling */
p {
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 
    font-size: 1em;
    color: var(--body_text_color); 
    
    text-wrap-mode: wrap;
}
h1 {
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 
    font-size: 4em;
    color: var(--title_text_color); 
}
h2 {
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 
    font-size: 2em; 
    color: var(--title_text_color); 
}
h3 {
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 
    font-size: 1.5em; 
    color: var(--title_text_color); 
}
a {
    color: var(--body_text_color); 
    text-decoration: none;
}



/* Theme */
header {
    position: sticky;
    top: 0;
    z-index: 999;
    background-color: var(--bg_color);
    border-bottom: var(--divider_size) solid var(--outline_color);
}
body { 
    overflow: scroll; 
    background-color: var(--bg_color); 
}
.newline {
    white-space: pre-line; 
}
.newline-inc-tab {
    white-space: pre-wrap; 
}

/* nav bar */
.navbar-container {
    display: flex;
    justify-content: space-between; /* Left: h2, Right: links + cart */
    align-items: center;
}

.navbar-right {
    display: flex;
    align-items: center;
    gap: 20px; /* space between links and cart */
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--tab_color);
    display: flex; 
    border: var(--outline_size) solid var(--outline_color);
    justify-content: space-between;
    
}

ul li {
    flex-grow: 2; 
    border-right: var(--outline_size) solid var(--outline_color);
}

ul li a {
    display: block;
    text-align: center;
    padding: 14px 16px;

    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 
    font-size: 1em;
    color: var(--body_text_color); 
}

ul li a:hover {
    background-color: var(--hover_color);
}



/* home page selection */
.buttoncontainer{
    display: flex; 
    flex-wrap: wrap;
    justify-content: space-evenly; 
    align-content: space-around; 

    overflow-y: scroll;
    
}
#homebuttoncontainer{
    display: flex; 
    flex-wrap: wrap;
    justify-content: space-evenly; 
    align-content: space-around; 

    overflow-y: scroll;
    
}
.buttonholder {
    width: 30%;
    min-width: 175px; 
    height: 150px; 
    margin: 5% 5%; 
    float: left; 
    align-content: center;
    
}
.button {
    width: 100%;
    height: 100%;
    padding: 5px; 
    text-align: center;
    border: var(--outline_color); 
    background: var(--container_color);
    box-shadow: var(--box_shadow_surround); 
    cursor: pointer;
    overflow: scroll;

    transition-duration: 0.5s;
}
.button h2 {
    text-align: center;
}
.button:hover {
    color: var(--hover_color); 
    transform: scale(1.1); 
    box-shadow: none;
    border: var(--shadow_color) 3px solid; 
    overflow: scroll; 
}
#productbuttoncontainer{
    width: 75%; 
    display: flex; 
    flex-wrap: wrap;
    justify-content: space-evenly; 
    align-content: space-around; 

    overflow-y: scroll;
    
}
#recent_sidebar {
    width: 20%;
    height: 50%;
    align-content: space-around; 
    overflow-y: scroll;
}
.imagebuttonholder {
    width: 30%;
    min-width: 175px; 
    height: 300px; 
    margin: 5% 5%; 
    float: left; 
    align-content: center;
    border: var(--outline_color); 
    background: var(--container_color);
    box-shadow: var(--box_shadow_surround); 
    transition-duration: 0.5s; 
}
.imagebuttonholder:hover {
    color: var(--hover_color); 
    transform: scale(1.1); 
    box-shadow: none;
    border: var(--shadow_color) 3px solid; 
    cursor: pointer;
}
.imagebutton_i {
    width: 100%;
    height: 70%;
    padding: 5px; 
    text-align: center;
    background: var(--container_color);
    cursor: pointer;
}
.imagebutton_i:hover {
    pointer-events: none;
}
.imagebutton_b {
    width: 100%;
    height: 30%;
    padding: 5px; 
    text-align: center;
    background: var(--container_color);
    cursor: pointer;
}
.imagebutton_b:hover {
    pointer-events: none;
}

img{
    max-width: 100%;
    max-height: 100%;
}

.productsection {
    display: flex; 
    flex-wrap: wrap;

    overflow-y: scroll;
}
.productsection_i {
    width: 40%; 
    min-width: 50px;
    display: flex; 
    margin: auto; 
    padding: 5px; 
    align-items:center;
    vertical-align: center;
}
.productsection_t {
    width: 55%; 
    min-width: 50px;
    display: flex; 
    margin: auto; 
    padding: 5px; 
    align-items:center;
    vertical-align: center;
}


/* text section */
.textsection{
    overflow-y: scroll;   
    display: flex; 
}

/* non nav-bar ul */
.textsection ul {
    list-style-type: circle;
    margin: 0;
    padding: revert;
    overflow: hidden;
    background-color: revert; 
    display: revert; 
    border: none;
}

.textsection plain ul li {
    border-right: none;
}

.userssection{
    width: 20%; 
    overflow-x: scroll; 
    overflow-y: scroll; 
    padding: 5px; 
    border: var(--outline_size) solid var(--outline_color);
}


/* footer */
#atbottom { 
    width: 100vw;
    height: 45px;
    display: flex; 
    position: absolute; 
    bottom: 0px; 
    justify-content: center;
    text-shadow: var(--hover_color) 1px 0 10px; 

    cursor: default; 
}

#toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
}

.toast {
    background-color: var(--tab_color);
    color: var(--body_text_color);
    border-left: 5px solid var(--outline_color);
    padding: 15px 20px;
    margin-bottom: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    animation: slideIn 0.5s, fadeOut 0.5s 3s forwards;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateX(100%); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes fadeOut {
    to { opacity: 0; transform: translateX(100%); }
}

