/* ---Grid with names --- */

* {
font-family: Verdana, "sans-serif";
font-size: 16px;
color:#000;
margin:0;
padding:0;
box-sizing:border-box;   
}

body {
background: url(../images/toy.jpg) repeat white;
}

#wrapper {
	max-width: 1000px;
	margin: 0 auto;
	padding: 1em;
	background-color: red;
	
	/*primary grid */
	display: grid;
	grid-template-areas:
	"banner"
	"menu"
	"content"
	"footer";
	grid-template-columns: 1fr;
	
}


header, footer {
background-color: white;
}

/* --- header ---*/
header {
	grid-area: banner;
	
	
    width:100%;
    height:120px;

	

   /* sub grid */
   display: grid;
   grid-template-areas:
       "logo company";
   grid-template-columns: 1fr 3fr;
   grid-template-rows: 1fr;
}

header img {
	grid-area: logo;
	padding: 10px
}

header h1 {
	grid-area: company;
	
	color: green;
	font-size: 3em;
	text-align: right;
	padding: 2% 2% 0 0;
}

/* --- nav --- */
nav {
	grid-area: menu;
	
	width: 100%;
	height: 50px;
	background-color:white;
	margin: 1em 1em 0 0;
}


nav ul {
	list-style: none; /* remove bullets */
	
	/* flexbox, the ul is the container */
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
}

nav a {
	text-decoration:none;
	display: block;
	padding: 1em;
	color: green;
}

nav a:hover {
	color: white;
	background-color: green;
}


/* --- main --- */
main {
	grid-area: content;
	
	width:100%;
	min-height:650px;
	background-color: green;
	padding: 1em;
	margin: 1em auto;
	
	/* --sub grid -- */
	display: grid;
	grid-template-areas:
	"article1";
	grid-template-columns: repeat(1, 1fr);
	grid-template-rows: auto auto auto;
	gap: 1em; 
}

#content1 {
	display: grid;
	justify-items: center;
	background-color: white;
	padding: 1em;
	border-radius: 5px;
	margin: auto auto auto;
	width: 75%;
		
}

#box {
	display: grid;
	justify-items: center;
	background-color: white;
	padding: 1em;
	border-radius: 5px;
	width: 100%;
	margin:auto auto;
	width: 75%;
}


#roomcontent {
	display: grid;
	background-color: white;
	padding: 3em;
	border-radius: 8px;
	width: 75%;
	margin: auto;
	
}

section {
	background-color: white;
	width:100%;
	margin: 10px auto;
	padding: 10px;
	border: 3px solid #ccc; 
	border-radius: 6px;
}

figure {
	text-align: center;
	padding: 10px;
	margin: 10px;
}

img {
	border-radius: 8px;
	max-width: 100%;
	display: block;
	margin: auto;
	border: 3px #000;
		
}

figcaption {
	text-align: center;
	color: white;
	font-weight: bold;
	margin-top: 5px;
}


	

#productscontent {
	background-color: white;
	padding:2em;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em;
	
}

section {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 1em;
	justify-content: space-between;
	align-items:center;
	padding: 1em;
	margin-bottom: 1em;
	border: 1px;
	border-radius: 6px;
	background: red;
}

#cartcontent {
	display: grid;
	max-width: 100%;
	padding: 1.5rem;
	background-color: red;
	box-sizing:border-box;
	
}

	
table-container {
	width: 100%;
	overflow-x: auto;
	
}

table {
	width: 100%;
	border-collapse: collapse;
	min-width: 600px;
}



th,td {
	padding: 12px;
	text-align: left;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
}

input[type="number"] {
	width: 60px;
	padding: 6px;
	box-sizing: border-box;
}


.action-buttons {
	display: flex;
	margin-top:0px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	
}

.action-buttons button {
	flex: 1 1 auto;
	max-width: 180px;
	margin: 50px;
	padding: 5px 10px;
	border: 1px solid #333;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
	
}

#cartsummary {
	display: grid;
	max-width: 100%;
	padding: 1.5rem;
	background-color: red;
	box-sizing:border-box;
	
}
	
/* --- footer ---*/
footer {
	grid-area: footer;
	
	width: 100%;
	min-height: 100px;
	padding: 1em;
	margin: 1em auto;
	
	/* --sub grid -- */
	display: grid;
	grid-template-areas: 
	"article2 article3 article3";
	grid-template-columns: repeat(3, 1fr);
	gap: 1em;
		
}

#content2 {
	grid-area: article2;
	
	background-color: green;
	padding: 1em;
}

#content3 {
	grid-area: article3;
	
	background-color: green;
     padding: 1em;

}


/* --- Classes --- */
.left {
	float: left;
	margin: 1em 1em 1em 0;
	border: 1px solid black;
}

.right {
	float: right;
	margin: 0 0 1em 1em;
	border: 1px solid black;
}
 
 

/* --- MEDIA QUERY (MOBILE) --- */
@media(max-width: 700px) {

    header {
        grid-template-areas:
            "logo"
            "company";
        grid-template-columns: 1fr;
        text-align: center;
		height: 180px;
		padding-bottom: 15px;
    }

    header h1 {
        text-align: center;
        font-size: 2rem;
        padding: 0;
    }

    nav ul {
        flex-direction: row;
        text-align: center;
    }

    section {
        grid-template-columns: 1fr;
        text-align: center;
    }

    th, td {
        padding: 8px;
        font-size: 0.9rem;
    }

    input[type="number"] {
        width: 50px;
    }

    footer {
        grid-template-columns: 1fr;
    }
}
