@font-face {
  font-family: "psl_methinee_proregular";
  src: url("fonts/psl100pro-webfont.woff2") format("woff2"),
    url("fonts/psl100pro-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "psl_methinee_proitalic";
  src: url("fonts/psl101pro-webfont.woff2") format("woff2"),
    url("fonts/psl101pro-webfont.woff") format("woff");
  font-weight: normal;
}
@font-face {
  font-family: "psl_methinee_probold";
  src: url("fonts/psl102pro-webfont.woff2") format("woff2"),
    url("fonts/psl102pro-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "psl_methinee_probold_italic";
  src: url("fonts/psl103pro-webfont.woff2") format("woff2"),
    url("fonts/psl103pro-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

* {
  box-sizing: border-box;
  word-break: break-all;
}

body {
  background-color: #530912;
  font-family: "psl_methinee_proregular";
  font-size: 24px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;

  h1,
  h2,
  h3,
  h4,
  h5 {
    /*font-family: "psl_methinee_probold";*/
    margin: 0;
  }

  ul {
    list-style-type: none;
    padding: 0;
  }

  img {
    max-width: 100%;
  }

  .bt {
    display: inline-block;
    background-color: #ccb57f;
    font-family: "psl_methinee_probold";
    color: #680b16;
    width: 317px;
    height: 53px;
	font-size: 24px;
    line-height: 53px;
    text-align: center;
    outline: none;
    text-decoration: none;
    border-radius: 8px;
    border: 0;
  }
  .cv {
    background: transparent;
    border: 1px solid #ccb57f;
    color: #ccb57f;
  }
}

.container {
  width: 1175px;
  margin: 0 auto;

  @media only screen and (max-width: 821px) {
    width: 100%;
    padding: 0 15px !important;
  }
}

header {
  background-color: #680b16;
  padding: 5px 0;
  border-bottom: 1px solid #530912;

  .nav-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0;

    .hamburger {
      cursor: pointer;

      span {
        background-color: #ccb57f;
        display: block;
        width: 43px;
        height: 4px;
        margin: 3px 0;
      }
    }
  }	
}

/* Sidebar */
.sidebar {
	position: fixed;
	top: 0;
	right: -2500px; /* เริ่มต้นซ่อน */
	width: 25%;
	height: 100%;
	color: #680b16;
	background-color: #ccb57f;
	box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
	padding: 40px 20px;
	transition: right 0.3s ease;
	z-index: 1000;	
	
	.close-btn {
		position: absolute;
		top: 10px;
		right: 20px;
		font-size: 70px;
		cursor: pointer;
	}
	
	a {
		color: #680b16;	
	}
	
	ul {
		list-style: none;
		padding: 0;
		margin-top: 60px;
		
		li {
			margin-bottom: 20px;
			
			a {
				color: #680b16;
				text-decoration: none;
				font-size: 24px;
			}
		}
	}
	
	@media only screen and (max-width: 821px) {
		width: 60%;
	}
}

.sidebar.active {
	right: 0;
}


.content {
  background-color: #680b16;
  padding: 0 0 60px;

  .banner {
    background-image: url(../images/banner-desktop.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
    height: 100vh;
	  
	  @media only screen and (max-width: 821px) {
		height: 500px;
	  }

	  @media only screen and (max-width: 640px) {
		background-image: url(../images/banner-mobile.png);
		height: 844px;
	  }
	  
    .bt {
      position: absolute;
      bottom: 5%;
      left: 50%;
      margin-left: -160px;
    }
  }

  .frame {
    color: #ccb57f;
    text-align: center;
    padding: 60px 0 30px;

    .container {
      position: relative;
    }

    .fr {
      position: absolute;
		
	  @media only screen and (max-width: 821px) {
		  width: 106px;
	  }
    }
    .tl {
      top: 0;
      left: 0;
    }
    .tr {
      top: 0;
      right: 0;
    }
    .bl {
      bottom: 0;
      left: 0;
    }
    .br {
      bottom: 0;
      right: 0;
    }

    .desc {
		
      h3 {
        font-size: 35px;
      }

      h2 {
        font-size: 48px;

        span {
          font-size: 30px;
			
			@media only screen and (max-width: 821px) {
				display: block;
			}
        }
      }

      hr {
        border: 1px solid #ccb57f;
        width: 550px;
		  
		  @media only screen and (max-width: 821px) {
			  width: 100%;
		  }
      }

      p {
      }

      img {
      }
		
		@media only screen and (max-width: 821px) {
			padding: 80px 0;
		}
    }
  }

  .rule {
    margin: 30px 0 0;

    .container {
      background-image: url(../images/bg_rule.png);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      border: 2px solid #ccb57f;
      border-radius: 30px;
      text-align: center;
      color: #fff;
      padding: 60px 0;
      box-shadow: 0 0 20px #ccb57fb8;

      h2 {
        font-size: 72px;
      }
		
		@media only screen and (max-width: 821px) {
			padding: 40px 15px!important;
			
			h2 {
                font-size: 45px;
            }
			.cv {
				margin-bottom: 15px;
			}
		}
    }
  }
	
	@media only screen and (max-width: 821px) {
		.frame, .rule {
			padding-left: 15px;
			padding-right: 15px;
		}
	}
}

#infoForm {
  background: #680b16;
  color: #ccb57f;
  padding: 100px 0;

  h2 {
    font-size: 48px;
    text-align: center;
    margin-bottom: 60px;
  }

  p {
    font-size: 18px;
  }

  .form-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }

  .form-group {
    flex: 1 1 45%;
	  
	  @media only screen and (max-width: 821px) {
	  	flex: 0 0 100%;
	  }
  }

  .form-group.full {
    flex: 1 1 100%;
  }

  label {
    display: block;
    font-size: 32px;
    margin-bottom: 5px;
    font-weight: bold;
  }

  input,
  select {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }

  .button-wrapper {
    text-align: center;
  }

  #status {
    margin-top: 15px;
    color: green;
    text-align: center;
  }
}


#quizForm, #booking {
  background-image: url(../images/bg_result.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 100px 15px;
  color: #ccb57f;
  text-align: center;

  h2 {
    font-size: 48px;
    text-align: center;
    margin-bottom: 20px;
	  
	  @media only screen and (max-width: 821px) {
		  font-size: 36px;
		  padding: 0;
	  }
  }
	
	.cv {
		width: 317px;	
	}
	
  img {
    display: block;
    width: 350px;
    margin: 0 auto 40px;
    border-radius: 15px;
    border: 2px solid #ccb57f;
    box-shadow: 1px 1px 20px #ccb57f;
  }

  .quiz-section {
    display: none;
  }

  .quiz-section.active {
    display: block;
  }

  .question {
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: bold;
  }

  .option {
    width: 350px;
    display: block;
    background-color: #ccb57f;
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    color: #000;
    margin: 10px auto;
	  
	  @media screen and (max-width: 640px) {
		  width: 100%;
	  }
  }

  .option input {
    display: none;
  }

  .option.selected {
    background-color: #000000;
    color: #ffffff;
  }

  .btns {
    margin-top: 20px;
    text-align: center;
  }

	.sc_bt {
		margin-top: 50px;

		.hr {
			background-image: url(../images/hr.png);
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center;
			width: 350px;
			height: 30px;
			margin: 5px auto 0;
		}
		p {
			margin: 0;
		}
		.text_link {
			font-size: 24px;
			color: #ccb57f;
		}

	}
	
  button {
	  width: 166px;
	  height: 53px;
	  background: transparent;
	  margin: 5px;
	  font-size: 24px;
	  cursor: pointer;
	  color: #ccb57f;
	  border-radius: 5px;
	  border: 1px solid #ccb57f;
	  
	  @media screen and (max-width: 640px) {
		  margin: 5px 2px;
		  width: 165px;
	  }
  }

  button:hover {
    background-color: #a58f5f;
  }

  #result {
    font-size: 18px;
    padding: 20px;
    border-radius: 10px;
	  text-align: center;
	  
	  h2 {
		  font-size: 50px;
		  margin-bottom: 0;
	  }
	  
	  p {
		 font-size: 35px; 
		  margin: 0 0 40px;
	  }

		#answers-summary {
			display: none;
		}
	  
  }
	
	.wallpaper-gallery {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center;
	  gap: 20px;
	  margin-top: 30px;
	  flex-direction: row;
	}

	.wallpaper-item {
	  width: 220px;
	  text-align: center;
	}

	.wallpaper-item img {
	  width: 100%;
	  height: auto;
	  margin: 0;
	  border-radius: 12px;
	  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	}

	.download-btn {
        display: inline-block;
        width: 100%;
		font-size: 24px;
        margin-top: 15px;
        padding: 8px 16px;
        background-color: #CCB57F;
		border: 1px solid #CCB57F;
        color: #680B16;
        text-decoration: none;
        border-radius: 8px;
        transition: background-color 0.3s;
	}

	.download-btn:hover {
	  	background: transparent;
		color: #CCB57F;
		border: 1px solid #CCB57F;
	}

	/* 📱 Responsive: ตบแนวตั้งเมื่อจอเล็ก */
	@media screen and (max-width: 821px) {
		
		.wallpaper-item {
		  width: 45%;
		}

	}
	
}

#booking {
	
	h2 {
        margin-bottom: 0;
    }
	.ll {
		font-size: 40px;
		margin-top: 0;
	}
	.small {
		font-size: 24px;	
	}
	
	.qrcode {
		width: 300px;	
		border: 10px solid #fff;
	}
	.desktop {
		display: block;	
	}
	.mobile {
		display: none;	
	}
	
	@media screen and (max-width: 821px) {
		.desktop {
			display: none;	
		}	
		.mobile {
			display: block;	
		}		
		h2 {
			font-size: 48px;
			padding: 0;
			line-height: 1;
		}
		p {
			font-size: 30px;	
		}
		.ll {
			font-size: 30px;
		}
		.small {
			font-size: 22px;	
		}
		.qrcode {
        	width: 204px;
		}
	}
}

footer {
  background-color: #530912;
  padding: 40px 0;
  color: #fff;

  a {
    color: #fff;
  }

  p {
    color: #a39166;
  }

  .manu {
    li {
      margin-bottom: 20px;

      a {
        text-decoration: none;
      }
    }
  }

  .ftbt {
    display: flex;
    gap: 10px;

    li {
      border-right: 1px solid #fff;
      padding-right: 10px;
      font-size: 18px;

      &:last-child {
        border: 0;
      }
    }
  }
	
	@media screen and (max-width: 821px) {
		  p {
			font-size: 18px;
		  }
	}
}

.dt {
	display: block;	
}
.mb {
	display: none;	
}
@media only screen and (max-width: 821px) {
	.dt {
		display: none;	
	}
	.mb {
		display: block;	
	}			 

}

