:root{
    --primary-color: black;
    --spacing :20px;
    --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --margin:18px;
    --font-size: 24px;
    --transition-fast:0.2s ease;
}

body{
    font-family: var(--font-family);
    color:var(--primary-color);
    margin:0;
    padding:0;
}
header{
    color:black
}

@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
        animation-duration: 0.01ms ;
        animation-iteration-count: 1 ;
        transition-duration: 0.01ms ;
    }
}

.fade-in{
    animation:fadeIn 0.5s ease both;
}

/*style background*/
body.index{
    min-height:100vh;
    background-image:url("assets/index.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.portfolio{
    background:#ffeefb;
}
.food{
    background: #29bde6;
    background: linear-gradient(90deg,rgba(41, 189, 230, 1) 0%, rgba(0, 255, 212, 1) 35%, rgba(121, 226, 247, 1) 100%);
    font-size:var(--font-size)
}
.quiz{
    font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif;
    background-color:#ADD8E6;
}
.game{ 
    font-family: "Benton Sans", "Helvetica Neue",sans-serif,"Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji";
}
.mood{
    background: linear-gradient(135deg, #fff3e0 0%, #ffe0ec 100%);
    min-height:100vh;
}
.city{
background: #ffe3ed;
background: linear-gradient(135deg, rgba(255, 227, 237, 1) 0%, rgba(201, 159, 187, 1) 12%, rgba(242, 172, 239, 1) 28%, rgba(184, 217, 255, 1) 58%, rgba(148, 187, 233, 1) 100%);
min-height:100vh;
}



.intro{
    font-size:clamp(30px, 2vw + 14px, 40px);

}
.indexh1{
    color:#FFF8E7;
    font-family:'Pacifico', cursive, var(--font-family);
    text-shadow:3px 3px 8px rgba(0,0,0,0.7);
}
p.indexintro{
    color:#FFF8E7;
    font-size:18px;
    text-shadow:2px 2px 5px rgba(0,0,0,0.8);  
    line-height:1.2; 
}
main{
    text-align: left;
    margin-top:0%;
    margin-bottom:0%;
    margin-left:15%;
    margin-right:15%;
    box-sizing:border-box;
    animation:fadeIn 0.6s ease both;
}
h1{
    color:navy;
    font-size:48px;
    padding-top:16px;
    padding-bottom:16px;
    margin-top:0 auto;
    max-width:70%;
    text-align:center;
    font-family:'Pacifico', cursive;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
}
h2,h3,h4,h5{
    color:	#00002b;
    font-size:var(--font-size);
    padding:16px 0;
    margin:0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
}
p{
    color:black;    
    font-size:clamp(16px, 2vw + 14px, 20px);
    text-align:left;
    line-height:1.2;
    margin: 30px auto;
}
.quizh1{
  font-style: italic;
  color: #0d9c90;
}
.question{
    font-size: var(--font-size);
    color:black;
    padding: 8px 0 16px;
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    align-items: flex-start;
    animation:fadeIn 0.45s ease both;
}
.answer-choice {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    flex: 1 1 180px;
    max-width: 220px;
    min-width: 180px;
    margin: 0;
    border-radius:6px;
    padding:6px;
    cursor:pointer;
    transition: border-color var(--transition-fast), transform var(--transition-fast), background-color var(--transition-fast);
}
.answer-choice:hover{
    transform:translateY(-2px);
    background-color: rgba(0,0,0,0.04);
}
.answer-choice.selected{
    border-color:navy;
    background-color:rgba(0,0,128,0.06);
}

.pargraph{
    align-items:left;
    margin: 0 auto;
    gap:15px;
    padding:20px;
    max-width:1000px;
}


/*image*/
.logo-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.logo{
    width:72px;
    height:72px;
    margin:var(--margin);
    border-radius:30%;
    display:block;
    object-fit:cover;
}
.foodimage{
    max-height:400px;
    max-width:500px;
    border-radius:8px;
    padding:10px;
    align-items:center;
    justify-content:center;
    object-fit:cover;
}

.quizimg{
    width: 100%;
    max-width: 180px;
    height: 140px;
    object-fit: cover;
    background-color: #f7f7f7;
    margin: 0 0 10px;
    padding: 3px;
    border-radius: 3px;
    display: block;
}
/*button*/
.btn,button,#displayedResult,#restart{
    background-color: navy;
    min-width: 140px;
    min-height: 48px;
    color: white;
    border: 5px solid rgb(0, 0, 8);
    padding: 10px 20px;
    text-align: center;
    display: inline-block;
    font-size: 16px;
    margin: 0;
    cursor: pointer;
    border-radius: 4px;
    width: 100%;
    max-width: 180px;
    white-space: normal;
    line-height: 1.2;
    font-family:"Twemoji Country Flags", 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
    transition: background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
}
#displayResult, #restart{
    min-width: 250px;
    max-width:none;
    width:auto;
    color: white;
    margin: var(--margin);
}

.btn:hover,button:hover,#displayResult:hover,#restart:hover{
    background-color:#10106b;
    transform:scale(1.03);
}
.btn:active,button:active,#displayResult:active,#restart:active{
    transform:scale(0.98);
}
.btn:focus-visible,button:focus-visible,#displayResult:focus-visible,#restart:focus-visible, a:focus-visible{
    outline: 3px solid hotpink;
    outline-offset: 2px;
}

.game-button{
    width:auto;
    min-width:160px;
    font-family:"Twemoji Country Flags",system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
}

/* navigation bar*/
nav ul{
    list-style: none;
    padding:10px;
    margin:10px;
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
    font-size:var(--font-size);
}

.topnav{
    overflow:hidden;
    background-color:#383737;
    position:relative;
}
.topnav #myLinks {
  display: none;
}
.topnav a{
    color:white;
    padding: 14px 16px;
    text-decoration:none;
    font-size:17px;
    display: block;
}
.topnav a:hover{
    background-color:#c7c6c6;
    color: black;
}
.active{
    background-color:#9144cd;
    color:White;
}
/* Only for large screen*/
@media only screen and (min-width:770px){
    .topnav{
        display:flex;
        align-items:center;
    }
    .topnav #mylinks{
        display:flex;
        flex-wrap:wrap;
    }
    .topnav.icon{
        display:none;
    }
}

/*Blog*/
.blog-menu-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    margin:20px auto 30px;
    max-width:900px;
}
.blog-card{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:8px;
    width:180px;
    background:white;
    border:3px solid transparent;
    border-radius: 5px;
    cursor:pointer;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size:15px;
    color:black;
    transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast)
}
.blog-card:hover{
    transform:translateY(-3px);
    box-shadow:0 4px 12px rgba(0,0,0,0.12);
}
.blog-card-img{
    max-height: 140px;
    max-width:100%;
    padding:0;
}
.hashtags{
    color:#555;
    font-size: 14px;
    font-style:italic
}

/*personality quiz*/
#progress-container{
    width:100%;
    height:30px;
    background-color:#d4c7c7;
    border-radius: 20px;
    overflow:hidden;
    margin-bottom:20px;
}
#progress-bar{
    width:0%;
    height:100%;
    background:linear-gradient(to right,#cdc1e2,#3f0253);
    transition:width .4s ease;
}
#progress-text{
    text-align:center;
    font-weight:bold;
    margin-top:8px;
}

/*game*//*mood*/
#game-container{
    max-width:1100px;
    margin:40px auto;
    padding:0 20px;
    box-sizing:border-box;
}
.recipe-left{
    flex:2;
    max-width:650px;
}
.recipe-left ul {
    list-style:disc;
    margin: 10px 0;
    padding-left: 20px;
}
.recipe-left p{
    margin-bottom:12px;
}

.recipe-right {
    flex: 1;
    display: flex;
    justify-content: center;
}
.recipe-layout{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:50px;
    margin: 30px auto;
    animation:fadeIn 0.5 ease both;
}


.recipe-image {
    width: 100%;
    max-width: 400px;
    height:auto;
    border-radius: 5px;
    display:block;
    object-fit:cover;
}
.button-container{
    display:flex;
    justify-content:center;
    gap:20px;
    margin:40px 0;
}
.button-container button{
    width:auto;
    min-width:180px;
}
.country-button-grid{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin:20px auto;
    max-width:800px;
}
#mood-container{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    
    max-width:1100px;
    margin:40px auto;
    padding:0 20px;
    box-sizing:border-box;
}
.recipe-row{
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:flex-start;
    gap:50px;
    width: 100%;
}
.mood-image{
    width: 100%;
    max-width: 500px;
    height:auto;
    border-radius: 5px;
    display:block;
    object-fit:cover;
}
.mood-right{
    flex: 1;
    display: flex;
    justify-content: center;    
}

/*City Screen*/
.restaurant-detail{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:50px;
    margin:30px auto;
}
.restuarant-detail-left{
    flex:1;
    display:flex;
    justify-content:center;
}
.restuarant-detail-right{
    flex:2;
    max-width:650px;
}
.dish-highlight{
    display:flex;
    align-items:center;
    gap:16px;
    background:#f7e0e0;
    border-radius: 3px;
    padding:12px 16px;
    margin: 16px.0;
}
.dish-thumb{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:3px;
    flex-shrink:0;
}
.dish-highlight h3{
    padding:0 0 4px;
    font-size:28px;
}
.dish-highlight p{
    margin:0;
    font-size:15px;
}
.dish-label{
    display:block;
    font-size:15px;
    font-weight:700;
    letter-spacing:0.06em;
    color:#a33b3b;
    margin-bottom:2px;
}
.restaurant-detail.address{
    color:#575555;
    font-size:18px;
    font-style:italic;
}
.map-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    color:navy;
    text-decoration:none;
    font-size:15px; 
    font-weight:600;
    transition: color var(--transition-fast);
}
.map-link:hover{
    color:#10106b;
    text-decoration:underline;
}
.map-link img{
    width:48px;
    height:48px;
    object-fit:contain;
}


/* Keyframes for fade-in animation */
@keyframes fadeIn {
    0%{
        opacity: 0;
        transform: translateY(20px) scale(0.85);
    }
    100%{
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Change CSS based on screen size*/
@media only screen and (max-width:768px){
    .recipe-row{
        flex-direction:column;
        align-items:center;
    }
    .country-button0grid{
        gap:12px;
    }
    .recipe-left{
        max-width:100%;
    }
    main{
        margin-left:6%;
        margin-right:6%;
    }
}

/* print out recipe*/
@media print{
    nav,.button-container,.country-button-grid,header img,.logo-link,footer{
        display: none;
    }
    body{
        background:none;
        color:black;
    }
    .recipe-layout{
        display:block;
        animation:none;
    }
    .recipe-image{
        max-width:400px;
        margin: 0 auto 16px;
    }
    .recipe-left{
        max-width:100%;
    }
    a[href]::after{
        content: " (" attr(href) ")";  /* show link URLs since clicking doesn't work on paper */
        font-size: 12px;
        color: #555;
    }

    @page{
        margin: 1.5cm;
    }
}
