/* Hero Section */
.hero h1 {
    text-align: left;
    /* color: #d06b45; */
}

.hero-image img{
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.hero-text {
    align-self: center;
}

.hero-text p {
    max-width: 450px;
}

.hero h2, .hero h3{
    margin-top: 2rem;
}

/* Categories Section */
.categories {
    margin: 6rem 0 8rem;
    text-align: center;
}

.categories p{
    font-size: 13px;
    opacity: 70%;
    margin: 0 auto 2rem;
    max-width: 330px;
}

#card1 {
    background-image: url(media/coffee.png);
}

#card2 {
    background-image: url(media/matcha.png);
}

/* Featured Card Section */

.featured p{
    text-align: center;
    margin: 0 auto;
}

.post {
    border-radius: 12px;
    overflow: hidden;
}

.post img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.featured-grid {
    margin: 2.5rem 0.5rem 0 0.5rem;
}

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

.gallery, .error, .aboutus {
    text-align: center;
    align-items: center;
}

.error-text h3, .aboutus h3{
    font-size: 50px;
    padding-bottom: 2.5rem;
}

.error-text p, .aboutus p{
    max-width: 400px;
    font-size: 15px;
    margin: 0 auto 2rem;
}

.error-image img, .aboutus img{
    display: block;
    width: 100%;
    height: auto;
}

.aboutus img{
    margin: 0 auto;
    max-width: 700px;
}

.gallery p{
    margin: 0 auto;
}

.gallery-grid{
    margin: 2rem 0;
}

.gallery .card{
    background-color: #e09c78;
}

/* Contact Page Styles */
.contact-methods {
    padding-bottom: 4rem;
    text-align: center;
}

.contact-form {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 2rem 2rem;
    text-align: left;
}

.contact-form h2, .contact-form p{
    text-align: center;
}

.contact-methods h1{
    padding-bottom: 2rem;
}

.contact-methods ul {
    font-family: Helvetica, Arial, sans-serif;
    list-style-type: none;
    padding: 0;
}

.contact-methods li {
    display: flex;
    align-items: center;     
    justify-content: center;   
    gap: 8px;                  
    font-size: 15px;
    margin: 0 auto 1.5rem;
    color: #000 !important;
}


.contact-methods img {
    border-radius: 0;
    width: 25px;
}

.contact-form label {
    font-family: Covered By Your Grace, Helvetica;
    display: block;
    margin-top: 2rem;
    padding-left: 1rem;
    font-weight: bolder;
    font-size: 1.4rem;
    color: #1f5a98;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ccc;
    border-radius: 0.5rem;
    font-size: 14px;
}

.contact-form textarea {
    resize: vertical;
}

.contact-form input[type="submit"]:hover {
    background-color: #154576;
}

.recipes .card {
    font-family: Markazi Text, Helvetica;
    font-size: 1.35rem;
    text-align: right;
}

.recipes .card:hover {
    background-color: #e09c78;
    color: #fff;
}

.recipes p{
    max-width: 350px;
    margin: 0 auto 2rem;
    text-align: center;
}

.recipes h3{
    margin: 2.5rem 0 1rem;
}

#coffee {
    margin-bottom: 4rem;
}

#coffee1 {
    background-image: url(media/VanillaLatte.png);
}

#coffee2 {
    background-image: url(media/DalgonaCoffee.png);
}

#coffee3 {
    background-image: url(media/VietnameseCoffee.png);
}

#coffee4 {
    background-image: url(media/AmericanoSunrise.png);
}

#matcha1 {
    background-image: url(media/StrawberryMatchaLatte.png);
}

#matcha3 {
    background-image: url(media/DirtyMatcha.png);
}

#matcha2 {
    background-image: url(media/MatchaColdFoam.PNG);
}

.summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    color: #9cb0c1;
    background-color: #fffaf5;
    border-radius: 8px;
    overflow: hidden;
}
  
.summary-table th,
.summary-table td {
    padding: 0.75rem 2rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}
  
.summary-table th {
    background-color: #f3f3f3;
    font-weight: bold;
    color: #1f5a98;
}
  
.summary-table tr:last-child td {
    border-bottom: none;
}

.recipe-details h2{
    padding-left: 1rem;
}

.recipe-details {
    font-size: 21px;
    color: #8596a5;
}

.ingredients, .instructions, .video-wrapper {
    padding: 0 1rem 3rem;
    margin: 0 auto;
    display: block;
    align-self: center;
    max-width: 780px;
}

.ingredients h2, .instructions h2 {
    font-family: Covered by Your Grace, Helvetica;
    margin-bottom: 0.5rem;
}

.ingredients li, .instructions li {
    font-family: Helvetica, sans-serif;
    font-size: 16px;
    margin-bottom: 1rem;
}

.ingredient-list input[type="checkbox"] {
  margin-right: 0.5rem;
  transform: scale(1.2);
}

.ingredient-list input[type="checkbox"]:checked + span,
.ingredient-list input[type="checkbox"]:checked ~ label {
  text-decoration: line-through;
  opacity: 0.6;
}

.ingredient-list p {
    font-size: 11px;
    margin-left: 1.5rem;
    font-family: monospace;
    font-style: italic;
}

.callout {
    max-width: 700px;
    background-color: #fffaf5;
    padding: 2rem 2rem;
    margin: 1rem auto 3rem;
    border-radius: 20px;
    text-align: center;
    box-shadow: -3px 2px 8px rgba(0, 0, 0, 0.1);
}

.callout h3 {
    margin-bottom: 1.5rem;
}

.callout li {
    font-family: Helvetica, sans-serif;
    font-size: 14px;
    margin: 0 auto 0.75rem;
    max-width: 450px;
}

.video-wrapper {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
  aspect-ratio: 16/9;
  border-radius: 12px;
}


.sidebar h3 {
    text-align: center;
    align-content: center;
}

@media (min-width: 769px) and (max-width: 1190px) {
    .sidebar h3 {
        grid-column: span 4 !important;
    }
  }

.sidebar a{
    font-size: 1.2rem;
    font-family: Markazi Text, Helvetica, sans-serif;
}