* {margin: 0;padding: 0 ;box-sizing: border-box;  font-family: "roboto", sans-serif; font-weight: 600;font-style: normal;}
body, html {margin: 0;padding: 0;height: 100vh;display: flex;flex-direction: column; }

/* GLOBAL */
.overflow {overflow: hidden;}
.cover {object-fit: cover}
.center {text-align: center;justify-content: center;justify-items: center;align-items: center;}   
.inline {display: inline-block;}
.space {justify-content: space-between;}
.justify { justify-content: space-between; }
.flex { display: flex; }
.wrap { box-sizing: border-box; align-items: stretch; flex-wrap: wrap;}
.cursor { cursor: pointer; }
.link {text-decoration: none;}
.negrito {font-weight: bold;}
.ratio {object-fit: cover;aspect-ratio: 1 / 1;}
.margina { margin: 1% 0px 1% 0px; }
.marginl { margin: 0px 5% 0px 5%; }
.column {flex-direction: column;}
.border_none {border: none;}
.hidden {display: none;  } 
.relative {position: relative;}
.abslute {position: absolute;}
.box-sizing {box-sizing: border-box;}
.gap5 {gap: 5px;}
.fixed {position: fixed;}
.translateX {transform: translateX(-50%);}
.cursor-not-allowed {cursor: not-allowed;}
.radius50 {border-radius: 100px; padding: 10px 12px;}

/* CARD PRODUTOS INDEX */
.nomeprodutoo, .nomeproduto {word-wrap: break-word; overflow-wrap: break-word; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.grid-item {box-sizing: border-box; align-items: stretch;  display: flex; flex-wrap: wrap;}
.tabelaprod2 {overflow: hidden; white-space: nowrap;text-overflow: ellipsis;}

/* CAROUSEL PRODUTOS RELACIONADOS E DEMAIS */
.carousel-inner {display: flex;transition: transform 0.5s ease;}

/* TOGGLE DARK/LIGHT */
#toggle-theme, #increase-font, #decrease-font {padding: 5px 10px;font-size: 16px;cursor: pointer;}
.toggle-container {width: 70px;height: 30px;border-radius: 25px;cursor: pointer;overflow: hidden; transition: background 0.5s}
.light-mode .toggle-container {background: url('../../uploads/sistema/menu/toggle_light.webp') no-repeat center center;background-size: cover; box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2), inset -1px -1px 2px rgba(229, 244, 255, 0.8), inset 1px 1px 2px rgba(28, 60, 87, 0.8)}
.dark-mode .toggle-container {background: url('../../uploads/sistema/menu/toggle_dark.webp') no-repeat center center;background-size: cover; box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2), inset -2px -2px 2px rgba(255, 255, 255, 0.94), inset 2px 2px 3px rgba(0, 0, 0, 0.8);}
.toggle {width: 80px; height: 30px; position: absolute; display: flex; align-items: center; justify-content: space-between;}
.sun, .moon {width: 27px;height: 27px;border-radius: 50%;position: absolute;transition: all 0.5s ease;}
.sun {background: rgba(255, 200, 0);left: -8px;top: -4px;box-shadow: 0px 0px 2px rgba(255, 255, 255, 0.8), inset -2px -2px 2px rgba(119, 98, 58, 0.58);}
.moon {background: lightgray;box-shadow: 0px 0px 1px rgba(255, 255, 255, 0.8), inset -2px -2px 1px rgba(105, 105, 105, 0.58);right: 42px;top: -4px;transform: scale(0);}
.dark-mode .sun {transform: scale(0);}
.dark-mode .moon {transform: scale(1);}

/* APARENCIA CABEÇALHO */
.product-image {width: 100px;height: auto;aspect-ratio: 1 / 1;object-fit: cover;}
.search-link{justify-content: left; text-align: left ;align-items: center; display: flex; border: 1px solid #ccc; width: 100%;}
.product-info {display: flex; margin-bottom: 10px; justify-content: center; align-items: center;}
.product-details {flex-grow: 1;}
.search-results {position: relative;}
.search-results li {cursor: pointer;width: 100%;list-style: none; padding: 5px;box-sizing: border-box;}

/* APARENCIA MODAL */
.fundo-blur {background: rgba(255, 255, 255, 0.5);backdrop-filter: blur(10px);z-index: 1; }
.transparent-background {background: transparent; display: flex; align-items: center;color: inherit;cursor: pointer;margin:0;padding:0;transition: color 0.3s ease, transform 0.3s ease;}
.transparent-background:hover {transform: scale(1.05); color: #aaa}

@media(max-width:1100px){
    /* GLOBAL */
    .geral{padding-left: 15px;padding-right: 15px;}   
    .geral2 {padding-left: 15px;padding-right: 15px;}   
    .close{right: 20px; width: 50px;margin-right : 1px; top: 6%}
    .hiddenmovel{display: none; }
    .margina{margin: 15px 0px 15px 0px ;}

    /* PRODUTO */
    .text-with-stars {align-items: center; justify-content: space-between;margin-left: 10px;margin-right: 10px;}
    .carousel {position: relative;width: 100%;display: flex;overflow: hidden;}
    .carousel .main-image {position: relative;display: flex;justify-content: center;align-items: center;}
    .thumbnail {width: 13vw;height: auto;object-fit: cover; aspect-ratio: 1 / 1; margin: 5px; padding: 0px;  }

    /* CABEÇALHO */
    .search-results {position: absolute;top: 60px;z-index: 5;display: none; width: calc(100% - 20px);justify-content: center;} 

    /* CARD PRODUTOS INDEX */
    .grid-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
    .grids, .grid-item { flex: 0 0 42vw; margin: 5px 0px 5px 0px;  }
    .tabelaprod{height: 5px;}
    .tabelaprod2 {height: 50px;}
    .promosem{font-size: 0.8rem;}
    .promo{font-size: 0.8rem;}
    .precobom{font-size: 1.3rem;}
    .nomeproduto {font-size: 1.4rem;}

}

@media (min-width:1101px){
    .geral{padding: 0px 10% 0px 10%;}
    .geral2 {padding: 0px 10% 0px 10%;}
    .flexpc { display: flex; }
    .close{right: 50px; width: 50px;margin-right : 1%; top: 1%;}

    /* PRODUTO */
    .text-with-stars {display: flex;align-items: center; justify-content: space-between;margin-left: 20px;margin-right: 20px;}
    .carousel {display: flex;flex-direction: row;justify-content: space-between;align-items: center;flex: 1;}
    .carousel .main-image {position: relative;}
    .thumbnail {width: 100px;height: 100px;object-fit: cover;margin: 10px 0;cursor: pointer;}
    .fotoswithpreco {display: flex;align-items: center; justify-content: space-between;}

    /*CABECALHO*/
    .search-results {position: absolute;top: 80px;z-index: 5;display: none; width: calc(100% - 20px);justify-content: center;} 

    /*CARD PRODUTOS INDEX*/
    .grids, .grid-item { flex: 0 0 12.6vw;  margin: 5px 0px 5px 0px; }
    .tabelaprod{height: 10px;}
    .tabelaprod2 {height: 80px; }
    .tabelaprod1 {height: 30px;} 
    .promosem{font-size: 1rem;}
    .promo{font-size: 1rem;}
    .precobom{font-size: 1.4rem;} 
    .nomeproduto {font-size: 1.4rem;}

}