/* ---Grid with names --- */

* {
font-family: Verdana, "sans-serif";
font-size: 16px;
color:#000;
margin:0;
padding:0;
box-sizing:border-box;   
}

body {
background-color: white;
}

#wrapper {
	max-width: 1000px;
	margin: 0 auto;
	padding: 1em;
	background-color: beige;
	
	/*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: #1e5267;
	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: #1e5267;
}

nav a:hover {
	color: white;
	background-color: blue;
}


/* --- main --- */
main {
	grid-area: content;
	
	width:100%;
	min-height:650px;
	background-color: lightblue;
	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;
	grid-template-columns: repeat(3, 1fr);
	background-color: beige;
	padding: 1em;
	border-radius: 8px;
	width: 100%;
	margin: auto;
	
}




section {
	background-color: blue;
	width:100%;
	margin: auto;
	padding: 5px;
	border: 3px solid #ccc; 
	border-radius: 6px;
}

figure {
	text-align: center;
	padding: 80px;
	margin: auto;
}

img {
	border-radius: 8px;
	max-width: 100%;
	display: block;
	margin: auto;
	padding: 1px;
	border: 3px #000;	
}

figcaption {
	text-align: center;
	color: 1E5267;
	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 solid;
	border-radius: 6px;
	background: beige;
}

#cartcontent {
	display: grid;
	max-width: 100%;
	padding: 1.5rem;
	background-color: beige;
	box-sizing:border-box;
	
}
.cart-container {
    border: 2px solid #d9d9d9; 
    border-radius: 8px;       
    padding: 20px;
    margin: 20px auto;
    width: 80%;              
    background-color: #b8dae7;
}
	
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: beige;
	border-radius: 4px;
	cursor: pointer;
	
}

#cartsummary {
	display: grid;
	max-width: 100%;
	padding: 1.5rem;
	background-color: beige;
	box-sizing:border-box;
	
}

#contact-form {
	display: grid;
	max-width: 100%;
	padding: 1.5rem;
	background-color: beige;
	box-sizing:border-box;
	
}


.contact-form {
	max-width: 450px;
    margin: 40px auto;
    padding: 30px;
    background: beige;
	border-radius: 10px;
	font-family: Arial, sans-serif;
	
}

.contact-form h6 {
	text-align: center;
	margin-bottom: 25px;
	font-size: 24px;
}

.contact-form form {
	display: flex;
	flex-direction: column;
}


.contact-form label {
	margin-top: 15px;
	font-weight: bold;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 10px;
	margin-top: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 15px;
	
}

.contact-form textarea {
	height: 120px;
	resize: none;
}

.contact-form button {
	width: 100%;
	margin-top: 25px;
	padding: 12px;
	background: lightblue;
	color: white;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	font-size: 16px;
	
}

.contact-form button:hover {
	background: #333;

}


	
	
/* --- 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: beige;
	padding: 1em;
}

#content3 {
	grid-area: article3;
	
	background-color: beige;
     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 {
		display: flex;
        flex-direction: row;
        text-align: center;
		gap: 10px;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
		overflow: visible;
    }
	
	nav ul li {
		display: block;
		width: 100%;
	}
	
	nav ul li a {
		display: block;
		padding: 10px 0;
		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;
    }
}
#video-section video {
	width: 100%;
	display: block;
	border-radius: 8px;
}
