@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700;900&family=Noto+Sans+KR:wght@400;700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@font-face {
  font-family: "monocraftregular";
  src: url("../assets/monocraft_1-webfont.woff2") format("woff2"), url("../assets/monocraft_1-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

:root{
  --header-height: 4rem;
  --product-size: 25rem;
}

h1, h2, h3, h4, h5, h6{
  font-family: 'Young Serif', serif;
  font-weight: 600;
}

body {
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
}

body.light{
  background-color: hsl(0, 0%, 100%);
}

body.dark{
  background-color: hsl(0, 0%, 80%);
}

header{
  width: 100%;
  height: var(--header-height);
  margin-bottom: 3rem;
  font-family: "monocraftregular", "Courier New", Courier, monospace;
}

nav{
  position: relative;
  --side-room: 20%;
  --side-padding: 1rem;
  --top-padding: 0.5rem;
  width: calc(100% - var(--side-padding) * 2);
  height: 100%;
  display: grid;
  place-items: center;
  grid-template-columns: var(--side-room) 1fr var(--side-room);
  padding: var(--top-padding) var(--side-padding);
  /*background: linear-gradient(0deg, hsla(0,80%,60%,1) 0%, hsla(0,100%,100%,0) 15%);*/
  border-bottom: solid hsla(0,80%,60%,1) 4px;
  border-radius: 1.5rem;
}

nav div.logo{
  display: flex;
  justify-content: center;
  height: var(--header-height);
  width: 100%;
}

#home-logo {
  height: var(--header-height);
  width: 100%;
}

nav div.logo img{
  height: 100%;
}

nav ul{
  display: flex;
  justify-content: center;
  gap: 1rem;
}

nav a:not(#home-logo){
  color: inherit;
  padding: 0.5rem;
  text-decoration: none;
  border-radius: 0.2rem;
  transition: background-color 0.2s ease-in-out;
  border-bottom: solid hsla(0,80%,0%,0.1) 2px;
}

nav a:not(#home-logo):hover{
  background-color: hsla(0,80%,70%,0.2);
  border-bottom: solid hsla(0,80%,60%,1) 2px;
}

div.hero-banner{
  position: relative;
  margin-bottom: 2rem;
  width: 100%;
}

div.hero-banner img{
  width: 100%;
}

div.hero-banner .month{
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: "monocraftregular", "Courier New", Courier, monospace;
  color: hsl(100, 100%, 70%);
}

div.hero-banner .month span:nth-child(even){

  color: hsl(300, 100%, 70%);
}

main{
  width: min(95%, 1250px);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-inline: 2rem;
  margin-inline: auto;
}

h1{
  font-size: 1.75rem;
}
p{
  word-spacing: 0.05rem;
}
h2{
  font-size: 1.5rem;
}

/*300, 400, 700, 900*/

span.hover-letter:hover{
  font-weight: 900;
  color: hsla(0,0%,0%,1);
}

span.hover-letter:hover + span.hover-letter, span.hover-letter:has(+ span.hover-letter:hover){
  font-weight: 700;
  color: hsla(0,0%,20%,1);
}

span.hover-letter:hover + span.hover-letter + span.hover-letter, span.hover-letter:has(+ span.hover-letter + span.hover-letter:hover){
  font-weight: 400;
  color: hsla(0,0%,35%,1);
}

span.hover-letter{
  font-size: 2.5rem;
  font-weight: 300;
  color: hsla(0,0%,50%,1);
}

ul.products{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--product-size), 1fr));
  gap: 3.5rem;
  width: 100%;
}

@media screen and (max-width: 495px) {
  ul.products{
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
  }
}

.product{
  padding: 2rem 1rem;
  width: min(90%, var(--product-size));
  background-color: hsl(200,80%,99%);
  box-shadow: 5px 5px 0px 0px hsla(0,80%,60%,1);
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-inline: auto;
}

.product h3, .product h3 a{
  font-size: 1.55rem;
  text-align: center;
  color: inherit;
  text-decoration: none;
}

.product-vital, .product-buy{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 0.5rem;
}

.thumbnail{
  width: 100%;
}

.thumbnail img{
  width: 100%;
}

.stars{
  display: grid;
  padding: 0.5rem;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
}

.star{
  animation: spin 3s infinite forwards ease-in-out;
  width: 100%;
  aspect-ratio: 1/1;
}

@keyframes spin {
  from{
    rotate: 0deg;
  }
  to, 33%{
    rotate: 360deg;
  }
}

.product-buy h4{
  font-size: 2.5rem;
  text-align: right;
  margin-right: 1.5rem;
}

.product-info{
  flex-grow: 1;
  margin-top: 1rem;
}

.product-info h4{
  font-size: 1.2rem;
  margin-bottom: 0.1rem;
}

a button{
  width: 100%;
  height: 100%;
}

button{
  border: none;
  background-color: hsla(0,80%,60%,1);
  border-radius: 0.25rem;
  border-bottom-right-radius: 0.45rem;
  font-family: inherit;
  font-size: 1.2rem;
  color: azure;  
  box-shadow: 4px 4px 0px 0px #F5A3A3;
  cursor: pointer;
}

footer{
  margin-top: 3rem;
  border-top: solid hsla(0,80%,60%,1) 4px;
  border-radius: 1.5rem;
  display: flex;
  justify-content: center;
  padding-block: 1rem;
}

footer, footer form{
  font-size: 1rem;
}

footer, footer form input{
  font-family: 'Noto Sans KR', sans-serif;
}

footer .container{  
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  min-height: 5rem;
  width: min(95%, 1250px);
}

footer .col{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

footer .socials{
  display: flex;
  gap: 0.25rem;
}

footer .icon{
  width: 1.5rem;
  aspect-ratio: 1/1;
}

footer .icon img{
  width: 100%;
  height: 100%;
}

footer form{
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  box-shadow: 3px 3px 0px 0px hsla(0,80%,80%,1);
  padding: 0.5rem;
  border-radius: 0.5rem;
}

footer form h4{
  font-size: 1.5rem;
}

footer form>div{
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 0.5rem;
}

footer form .inputcontain{
  --border-size: 4px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2rem;
}

footer form input{
  position: relative;
  border: none;
  border-radius: 0.15rem;
  overflow: hidden;
  height: calc(100% - var(--border-size) * 2);
  width: calc(100% - var(--border-size) * 2);
  z-index: 2;
}

footer form input:focus-visible{
  outline: none;
}

footer form .inputcontain{
  overflow: hidden;
}

footer form .inputcontain:has(input:focus-visible)::before{
  transform: translateY(0%);
}

footer form .inputcontain::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: hsl(0, 80%, 80%);
  transform: translateY(calc(100% - 2px));
  z-index: 1;
  border-radius: 0.15rem;
  transition: transform 0.3s ease-in-out;
}





footer form button{
  margin-top: 0.5rem;
  grid-column-start: 2;
}