/* font awesome cdn link  */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css');

:root{
--main-color:#16a085;
--red:#eb4d4b;
--orange:#f39c12;
--black:#130f40;
--light-color:#999;
--light-bg:#eee;
--white:#fff;
--border:.1rem solid rgba(0,0,0,.2);
--box-shadow:0 .5rem 1rem rgba(0,0,0,.1);
}

*{
margin: 0; 
padding: 0;
box-sizing: border-box;
text-decoration: none;
scrollbar-color: var(--main-color) var(--black);
scrollbar-width: thin;
}

html{
font-size: 100%;
overflow-x: hidden;
}

body{
background-color: var(--light-bg);
}

section{
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}

.heading{
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 2rem;
margin-bottom: 2.5rem;
gap: 1.5rem;
flex-wrap: wrap;
border-bottom: var(--border);
}

.heading h1{
font-size: 2.5rem;
color: var(--black);
text-transform: capitalize;
}

.empty{
background-color: var(--white);
border-radius: .5rem;
border: var(--border);
padding: 1.5rem;
font-size: 1.2rem;
color: var(--red);
text-align: center;
width: 100%;
box-shadow: var(--box-shadow);
}

.btn-perfil,
.delete-btn,
.option-btn{
display: block;
width: 100%;
}

.inline-btn,
.inline-delete-btn,
.inline-option-btn{
display: inline-block;
}

.delete-btn,
.option-btn,
.inline-btn,
.inline-delete-btn,
.inline-option-btn{
margin-top: 1rem;
text-align: center;
padding: 0.4rem 1.7rem;
font-size: 1.1rem;
border-radius: .4rem;
border: var(--border);
color: var(--white);
cursor: pointer;
text-transform: capitalize;
}

.inline-btn{
background-color: var(--main-color);
}

.option-btn,
.inline-option-btn{
background-color: var(--main-color);
}

.delete-btn:hover,
.option-btn:hover,
.inline-btn:hover,
.inline-delete-btn:hover,
.inline-option-btn:hover{
color: var(--main-color);
border-color: var(--main-color);
background-color: var(--white);
text-decoration: none;
}

.flex-btn{
display: flex;
align-items: center;
column-gap: 1.5rem;
justify-content: space-between;
flex-wrap: wrap;
}

.delete-btn,
.inline-delete-btn{
background-color: var(--red);
}

.delete-btn:hover{
color: var(--red);
background-color: var(--white);
border-color: var(--red);
}

.header{
position: sticky;
top: 0; left: 0; right: 0;
z-index: 1000;
}

.header .flex{
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}

.header .flex .logo{
font-size: 2.5rem;
color: var(--orange);
}

.header .flex .navbar #user-btn,
.header .flex .navbar a{
height: 4.2rem;
width: 4.5rem;
line-height: 4.2rem;
font-size: 2rem;
color: var(--black);
background-color: var(--white);
border-radius: .5rem;
text-align: center;
margin-left: .5rem;
}

.header .flex .navbar #user-btn:hover,
.header .flex .navbar a:hover{
background-color: var(--main-color);
color: var(--white);
}

@media (max-width: 768px) {
.header .flex .profile {
left: 0rem;
right: auto;
transform-origin: top left;
margin-top: 25px;
}
}

.header .flex .profile {
position: absolute;
top: 80%;
right: 0; /* agora encostado na extrema direita */
background-color: var(--white);
box-shadow: var(--box-shadow);
padding: 2rem;
text-align: center;
width: 15rem;
border-radius: .5rem;
border: var(--border);
overflow-x: hidden;
transform: scale(0);
transform-origin: top right;
z-index: 9999;
}

@media (min-width: 769px) {
.header .flex .profile {
top: 100%;
width: 15rem;
}
}

.header .flex .profile.active {
transform: scale(1);
transition: .2s ease-in-out;
}


.header .flex .profile p{
overflow-x: hidden;
text-overflow: ellipsis;
color: var(--light-color);
font-size: 1.8rem;
padding-bottom: .5rem;
}

.header .flex .profile .image{
height: 7rem;
width: 7rem;
border-radius: 50%;
object-fit: cover;
margin-bottom: 1.5rem;
}

.account-form form{
background: var(--white);
box-shadow: var(--box-shadow);
box-shadow: var(--box-shadow);
padding: 2rem;
border: var(--border);
border-radius: .5rem;
max-width: 33rem;
margin: 0 auto;
}

.account-form form h3{
padding-bottom: 1rem;
font-size: 1.5rem;
color: var(--black);
text-align: center;
}

.account-form form p{
padding-top: 1rem;
font-size: 1.2rem;
color: var(--light-color);
}

.account-form form p span{
color: var(--red);
}

.account-form form .box{
width: 100%;
border-radius: .5rem;
padding: 1rem;
font-size: 1rem;
color: var(--black);
background-color: var(--light-bg);
margin: 0.1rem 0;
}

.account-form form textarea{
height: 7rem;
resize: none;
}

.account-form form .image{
height: 20rem;
width: 100%;
object-fit: contain;
margin-top: .5rem;
}

.account-form form .link{
padding: 1rem 0;
text-align: center;
font-size: 1rem;
color: var(--light-color);
}

.account-form form .link a{
color: var(--red);
}

.account-form form .link a:hover{
text-decoration: underline;
}

#estrelas:hover{
cursor: pointer;
}

.view-post .row {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 2rem;
background-color: var(--white);
box-shadow: var(--box-shadow);
border: var(--border);
padding: 2rem;
border-radius: .5rem;
}

.view-post .row .col {
flex: 1 1 40rem;
max-width: 500px;
}

.view-post .row .col .image {
width: 100%;
border-radius: .5rem;
object-fit: cover;
margin-bottom: 1rem;
max-width: 500px;
max-height: 250px;
padding: 0 0 0 0;
}

.view-post .row .col .title {
font-size: 1.5rem;
color: var(--black);
}

.view-post .row .col .flex {
display: flex;
flex-wrap: wrap;
gap: 2rem;
align-items: center;
justify-content: space-evenly;
}

.view-post .row .col .flex .total-reviews {
text-align: center;
}

.view-post .row .col .flex .total-reviews h3 {
font-size: 3rem;
color: var(--orange);
}

.view-post .row .col .flex .total-reviews i {
font-size: 1.6rem;
}

.view-post .row .col .flex .total-reviews p {
font-size: 1rem;
color: var(--light-color);
padding-top: 1rem;
}

.view-post .row .col .flex .total-ratings {
font-size: 1.2rem;
}

.view-post .row .col .flex .total-ratings p {
padding: 0 0;
}

.view-post .row .col .flex .total-ratings p i {
color: var(--orange);
}

.view-post .row .col .flex .total-ratings p span {
color: var(--light-color);
}

.reviews-container .box-container {
display: grid;
row-gap: 3rem;
background-color: var(--white);
box-shadow: var(--box-shadow);
border: var(--border);
border-radius: .5rem;
padding: 2rem;
}

.reviews-container .box-container .box {
border-bottom: var(--border);
overflow-x: hidden;
padding-bottom: 1.5rem;
position: relative;
}

.reviews-container .box-container .box .user {
display: flex;
align-items: center;
gap: 1.5rem;
margin-bottom: 1rem;
}

.reviews-container .box-container .box .user img {
height: 6rem;
width: 6rem;
border-radius: 50%;
object-fit: cover;
}

.reviews-container .box-container .box .user h3 {
font-size: 1.6rem;
line-height: 6.5rem;
}

.reviews-container .box-container .box .user p {
font-size: 1.3rem;
}

.reviews-container .box-container .box .user span {
color: var(--light-color);
font-size: 0.9375rem; /* 15px */
}

.reviews-container .box-container .box .ratings {
position: absolute;
top: 0;
right: 0;
z-index: 10;
}

.reviews-container .box-container .box .ratings p {
border-radius: .5rem;
color: var(--white);
padding: .5rem 0.5rem;
}

.reviews-container .box-container .box .ratings p span {
font-size: 1.25rem; 
}

.reviews-container .box-container .box .ratings p i {
font-size: 0.8rem; 
}

.reviews-container .box-container .box .title {
font-size: 1.25rem; /* 20px */
color: var(--black);
padding: .0.5rem 0;
}

.reviews-container .box-container .box .description {
font-size: 1rem; /* 16px */
white-space: pre-line;
color: var(--light-color);
line-height: 1.5;
}


/* media queries  */

@media (max-width:991px){

html{
font-size: 55%;
}

}

@media (max-width:450px){

html{
font-size: 100%;
}

.view-post .row .col .image{
height: 20rem;
}
}

.image_area {
position: relative;
}

img {
display: block;
max-width: 100%;
}

.preview {
overflow: hidden;
width: 160px; 
height: 160px;
margin: 10px;
border: 1px solid red;
}

.modal-lg{
max-width: 1000px !important;
}

.overlay {
position: absolute;
bottom: 10px;
left: 0;
right: 0;
background-color: rgba(255, 255, 255, 0.5);
overflow: hidden;
height: 0;
transition: .5s ease;
width: 100%;
}

.image_area:hover .overlay {
height: 50%;
cursor: pointer;
}

/* Ícone de lápis escondido no desktop */
.mobile-edit-icon {
color: #FFF;
display: none;
position: absolute;
top: 90px;
right: 40px;
font-size: 24px;
border-radius: 50%;
padding: 10px;
}

/* Quando a tela for pequena (mobile), muda */
@media screen and (max-width: 768px) {
.overlay {
display: none; /* Esconde o "hover" no mobile */
}
.mobile-edit-icon {
display: block; /* Mostra o lápis no mobile */
}
}