/* styles.css */

/* General styles */
body {
    font-family: "Noto Sans", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    font-variation-settings: "width" 100;
    margin: 0;
    padding: 0;
    background-color: #0A3E87;
    -webkit-tap-highlight-color: transparent;
}

hr {
    height: 1px;
    background-color: #0A3E87;
    width: 70%;
    border: none;
    margin-block: 25px;
}

/* Banner styles */
#logo-container {
    display: flex;
    background-color: #fff;
    padding: 20px;
    padding-bottom: 30px;
    justify-content: center;
    align-items: center;
}

#logo-container img {
    max-width: 100%;
    height: auto;
}

#banner-container {
    width: 100%;
    background-color: #0A3E87;
    padding: 0px;
    padding-bottom: 20px;
    overflow: hidden;
    position: relative;
}

#banner-container img {
    max-width: 100%;
    height: auto;
}

#bottom-banner img {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    cursor: pointer;
    font-weight: 500;
    max-width: 100%;
}

/* Promo text styles */
#promo-text {
    text-align: center;
    margin: 20px;
}

#main {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0A3E87;
    cursor: pointer;
    font-weight: 500;
}

.transbanner-up {
    max-width: 100%;
}

#reviews {
    background-color: #fff;
    display: grid;
    justify-content: center;
}

#banneravaliacao {
    max-width: 90%;
    justify-self: center;
    align-self: center;
}

#embedsocial{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    cursor: pointer;
    font-weight: 500;
    max-width: 100%;
}
/* Links container styles */
#links-Container {
    text-align: left;
    justify-content: center;
    align-items: center;
    background-color: #0A3E87;
    padding: 10px;
    max-width: 600px;
}

.link-button {
    display: grid;
    grid-template-columns: repeat(1, 1fr 4fr);
    justify-content: left;
    align-items: center;
    margin: 20px;
    padding-inline: 20px;
    padding-block: 10px;
    border: none;
    background: #ffffff;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: #333 2px 2px 5px;
}

#precos {
    display: block;
    margin: 20px;
    padding-inline: 20px;
    padding-block: 10px;
    border: none;
    background: #ffffff;
    cursor: pointer;
}

#precos-label {
    display: grid;
    grid-template-columns: repeat(1, 1fr 3fr 1fr);
    align-items: center;
}

#horarios {
    display: block;
    margin: 20px;
    padding-inline: 20px;
    padding-block: 10px;
    border: none;
    background: #ffffff;
    cursor: pointer;
}

#horarios-label {
    display: grid;
    grid-template-columns: repeat(1, 1fr 3fr 1fr);
    align-items: center;
}

#telefones {
    display: block;
    margin: 20px;
    padding-inline: 20px;
    padding-block: 10px;
    border: none;
    background: #ffffff;
    cursor: pointer;
}

#telefones-label {
    display: grid;
    grid-template-columns: repeat(1, 1fr 3fr 1fr);
    align-items: center;
}

#phone-container {
    display: grid;
    grid-template-columns: repeat(1, 2fr 1fr);
    justify-content: space-between;
    align-items: left;
    align-content: left;
    padding: 5px;

}

#phone-container .phone-button {
    width: 80px;
    height: 30px;

    background-color: #00a516;
    border-radius: 30px;
    color: #fff;
    font-weight: bold;
    border: none;
}

.expand-icon {
    width: 30px;
    justify-self: end;
    transition: transform 0.3s ease;
}

.expand-icon.rotate {
    transform: rotate(180deg);
}

.button-label {
    line-height: 22px;
    font-size: 17px;
    color: #030303;
    font-family: sans-serif;
    letter-spacing: 1px;
}

.icon {
    height: 30px;
}

#footer {
    background-color: #0A3E87;
    color: #fff;
    text-align: center;
    padding: 5px;
    padding-bottom: 30px;
}

#precos-container {
    display: grid;
    grid-template-columns: repeat(1, 1fr 4fr 1fr);
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border: none;
    background: #ffffff;
    cursor: pointer;
    font-weight: 500;
}

#precos-desc {
    display: grid;
    grid-template-rows: repeat(1, 1fr 1fr);
    margin-left: 10px;
}

.more_icon {
    width: 30px;
    justify-self: start;
    transition: transform 0.3s ease;
}

#times-desc {
    display: grid;
    grid-template-rows: repeat(1, 1fr 1fr);
    margin-left: 10px;
    align-items: center;
}

.precos_image {
    width: 80px;
}

.expandable-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    display: block;
}

#devcredits {
    display: block;
    text-align: center;
    justify-content: center;
    font-size: 10px;
    padding: 10px;
    background-color: #202020;
    color: #fff;
}

#devcredits a {
    color: #fff;
    text-decoration: none;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

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

.swiper-pagination {
    position: relative;
    --swiper-pagination-color: #FFFFFF;
    --swiper-pagination-bullet-inactive-color: #ffffff;
}

/* Popup styles */
.popup {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
}
.error-popup-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    padding: 25px;
    border-radius: 10px;
    text-align: center;
    font-size: large;
    position: relative;
    margin: 15px;
    width: 80%;
    max-width: 500px;
}
.error-popup-content p{
    margin: 5px;
}

.popup-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    position: relative;
    width: 80%;
    max-width: 500px;
}

.popup-content img {
    margin-block: 10px;
    max-width: 90%;
    height: auto;
}


#error-popup img{
    max-width: 50%;
    margin-top: 10px;
    height: auto;
}
#result-title{
    text-align: center;
    font-size: 20px;
    padding-top: 50px;
    font-weight: bold;
}
#result-text {
    text-align: center;
    margin-top: 20px;
    font-size: 20px;
}
#result-map{
    display: grid;
    grid-template-columns: repeat(1, 1fr 0.7fr);
    padding: 10px;
}
#result-map p{
    font-size: 15px;
    font-weight: 400;
    margin: 1px;
}
.popup-content button {
    align-self: center;
    text-align: center;
    color: #ffffff;
    height:max-content;
    font-size: medium;
    font-weight: bold;
    background-color: #0A3E87;
}
.close {
    position: absolute;
    top: 10px;
    right: 25px;
    color: #000;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
}

#delivery-form {
    display: flex;
    flex-direction: column;
}

#delivery-form label {
    margin-top: 10px;
}

#delivery-form input {
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.delivery-button {
    margin-top: 20px;
    padding: 10px;
    width: fit-content;
    align-self: center;
    font-weight: bold;
    font-size: medium;
    background-color: #0A3E87;
    color: white;
    border: none;
    border-radius: 20px;
    cursor: pointer;
}


#delivery-calc {
    background-color: #fff;
    margin: 30px;
    border-radius: 10px;
    box-shadow: #333 5px 5px 5px;
    padding: 20px;
}

#delivery-calc h2 {
    text-align: center;
    color: #0A3E87;
}

#result-text-valorTotal{
    background-color: #ff0040;
    border-radius: 10px;
    color: white;
}