  @tailwind base;
@tailwind components;
@tailwind utilities;

/* x-cloak global */
[x-cloak]{ display:none !important; }

  
  :root {
  --primary: #060273;
  --secondary: #44E1F2;
  --accent: #8b5cf6;
  --background: rgba(237, 235, 254, 0.2);
  --foreground: #1f2937;
  --border: rgba(0, 0, 0, 0.05);
  --shadow: 0 8px 32px rgba(6, 2, 115, 0.05);
  --radius: 1rem;
}

* { margin:0; padding:0; box-sizing:border-box;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
}
body { background-color:var(--background); color:var(--foreground); }

/* Layout / containers */
.container { max-width:1480px; margin:0 auto; padding:10px; min-height:100vh; display:flex; flex-direction:column; }
.main-content { display:flex; flex-direction:column; flex:1; position:relative; padding-bottom:64px; gap:1rem; }
@media (min-width:768px){ .main-content{ flex-direction:row; padding-bottom:0; gap:1rem; } }

/* Utilities (apenas as usadas) */
.flex{display:flex;} .items-center{align-items:center;} .justify-between{justify-content:space-between;}
.justify-center{justify-content:center;} .w-full{width:100%;}
.mb-1{margin-bottom:.25rem;} .mb-2{margin-bottom:.5rem;} .mb-4{margin-bottom:1rem;} .mb-6{margin-bottom:1.5rem;}
.mt-3{margin-top:.75rem;} .ml-1{margin-left:.25rem;} .mr-1{margin-right:.25rem;} .mr-2{margin-right:.5rem;}
.p-2{padding:.5rem;} .p-4{padding:1rem;} .pl-12{padding-left:3rem;} .pr-12{padding-right:3rem;}
.px-2{padding-left:.5rem; padding-right:.5rem;} .px-4{padding-left:1rem; padding-right:1rem;}
.py-1{padding-top:.25rem; padding-bottom:.25rem;}
.text-xs{font-size:.75rem;} .text-sm{font-size:.875rem;} .text-base{font-size:1rem;} .text-lg{font-size:1.125rem;}
.font-bold{font-weight:700;} .font-semibold{font-weight:600;}
.text-white{color:#fff;} .text-gray-400{color:#9ca3af;} .text-gray-500{color:#6b7280;}
.text-secondary{color:var(--primary);}
.bg-white{background-color:#fff;} .bg-gray-100{background-color:#f3f4f6;}
.bg-primary{background-color:var(--primary);} .bg-green-500{background-color:#10b981;}
.rounded-md{border-radius:.375rem;} .rounded-lg{border-radius:.5rem;} .rounded-full{border-radius:9999px;}
.border{border:1px solid var(--border);} .shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);}
.space-y-4 > * + *{margin-top:1rem;} .space-y-5 > * + *{margin-top:1.25rem;}
.relative{position:relative;} .absolute{position:absolute;}
.inset-0{top:0;right:0;bottom:0;left:0;} .left-3{left:.75rem;} .right-3{right:.75rem;}
.top-3{top:.75rem;} .top-1\/2{top:50%;} .-translate-y-1\/2{transform:translateY(-50%);}
.object-cover{object-fit:cover;}
.h-48{height:7rem;} .w-6{width:1.5rem;} .h-6{height:1.5rem;}
.max-h-500{max-height:500px;} .overflow-y-auto{overflow-y:auto;}
.cursor-pointer{cursor:pointer;} .mx-auto{margin-left:auto;margin-right:auto;}
.sticky{position:sticky;} .flex-grow{flex-grow:1;}

/* Botões base */
button{cursor:pointer;background:none;border:none;} button:focus{outline:none;}
.focus-visible\:outline-none:focus{outline:none;}

/* Search */
.search-container{
  background:rgba(255,255,255,.95); box-shadow:0 8px 32px rgba(6,2,115,.05);
  border-radius:20px; border:1px solid rgba(255,255,255,.7);
  position:sticky; top:10px; padding:.5rem; margin-bottom:1rem; z-index:10; max-height:98vh;
}
.search-input{border-radius:12px; border:1px solid #e5e7eb; padding:.75rem; width:100%;}
.search-input:focus{outline:none; border-color:var(--secondary); box-shadow:0 0 0 2px var(--secondary);}

/* Tabs (categorias) */
.tab-button{
  border-radius:16px; padding:8px 16px; background:#fff; border:none; transition:all .2s ease;
  cursor:pointer; flex-shrink:0; display:inline-flex; align-items:center;
}
.tab-button.active{background:var(--primary); color:#fff;}

/* Cards de empresa */
.property-card{
  transition:all .3s ease; border-radius:18px; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.05); background:#fff;
}
.property-card img{width:100%; height:120px; object-fit:cover;}
@media (min-width:768px){ .property-card img{height:90px;} }
.property-card:hover{transform:translateY(-5px); box-shadow:0 8px 24px rgba(0,0,0,.1);}

/* Lista (scroll lateral invertido) */
.list-view{
  overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--primary) transparent;
  direction:rtl; width:106%; left:-13px; position:relative; padding-left:10px;
}
.list-view > *{direction:ltr; margin-right:8px;}
.list-view::-webkit-scrollbar{width:6px;}
.list-view::-webkit-scrollbar-track{background:transparent;}
.list-view::-webkit-scrollbar-thumb{background-color:var(--primary); border-radius:10px;}

/* Container de empresas (ajuste RTL) */
.space-y-5{direction:rtl; padding-left:8px;}
.space-y-5 > *{direction:ltr; margin-right:8px;}

/* Map */
.map-container{
  flex:1; position:relative; display:flex; flex-direction:column;
  background-color:#f3f4f6; border-radius:var(--radius); min-height:300px; max-height:98vh;
}

.map-container .flex-grow{flex-grow:1; min-height:0; background-color:#f3f4f6; border-radius:var(--radius);}
.categories{
  display:flex; justify-content:flex-start; padding:.5rem 1rem; box-shadow:0 4px 6px rgba(0,0,0,.1);
  margin-bottom:1rem; overflow-x:auto; scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; -ms-overflow-style:none; white-space:nowrap; gap:.5rem;
  background:rgba(255,255,255,.1); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:99;
}
.categories::-webkit-scrollbar{display:none;}

/* Bottom nav */
.bottom-nav{
  background:#fff; border-top:1px solid rgba(0,0,0,.05); border-radius:20px 20px 0 0; padding:12px 0;
  position:fixed; bottom:0; left:0; right:0; width:100%;
  display:flex; justify-content:space-around; align-items:center; z-index:50;
}
.nav-item{display:flex; flex-direction:column; align-items:center; justify-content:center; color:#9ca3af; font-size:12px;}
.nav-item.active{color:var(--primary);}
@media (min-width:1024px){ .bottom-nav{display:none;} }

/* View toggles */
.view-toggle{display:none;} .view-toggle.active{display:block;}

/* SVG tamanhos globais + exceção em textos menores */
svg{width:24px; height:24px;}
.text-xs svg, .text-sm svg{width:22px; height:22px;}

/* Botão favorito no card */
.favorite-btn{
  background:rgba(255,255,255,.9) !important; border-radius:50%; padding:0; width:32px; height:32px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 2px 4px rgba(0,0,0,.1); transition:all .2s ease;
}
.favorite-btn:hover{background:#fff !important; transform:scale(1.1);}
.favorite-btn svg{stroke-width:2.5; margin:0; padding:0;}
.favorite-btn.active svg{fill:var(--primary); stroke:var(--primary);}

/* Botão flutuante Participar */
.float-participate{position:fixed; top:20px; right:20px; z-index:100; display:none;}
.float-participate .btn-participate{
  background:var(--primary); color:#fff; padding:12px 24px; border-radius:50px; font-weight:600;
  display:flex; align-items:center; gap:8px; box-shadow:var(--shadow); transition:all .3s ease;
}
.float-participate .btn-participate:hover{transform:translateY(-2px); box-shadow:0 4px 12px rgba(6,2,115,.2);}
@media (min-width:768px){ .float-participate{display:block;} }

/* Bloco localização topo */
.cont-locali{padding:0 10px; margin-bottom:-30px; margin-top:-30px;}

/* Mapa */
.map-rizomas{
  width:100%; height:98vh; max-height:98vh; position:absolute !important; top:-70px; border-radius:20px;
}

/* Media: ajustes mobile relevantes ao que está na página */
@media (max-width:767px){
  .categories{order:2; margin-top:1rem; margin-bottom:1rem;}
  .map-container .categories{display:none;}
}

/* Media: categorias em telas grandes (está presente no layout atual) */
@media (min-width:768px){
  .categories{order:0;}
}

    body { font-family: 'Inter', sans-serif; }
    .fade-in { animation: fadeIn 0.6s ease-out; }
    @keyframes fadeIn { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
    .slide-indicator { transition: transform .3s, opacity .3s; }
    .slide-indicator.active { transform: scale(1.2); opacity:1; }

.flex-col { flex-direction: column; }

.mb-3 { margin-bottom: .75rem; }
.mb-5 { margin-bottom: 1.25rem; }

.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }

.ml-2 { margin-left: .5rem; }

.p-1 { padding: .25rem; }
.p-3 { padding: .75rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }

.pl-10 { padding-left: 2.5rem; }
.pr-10 { padding-right: 2.5rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.pt-4 { padding-top: 1rem; }

.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: .7rem; }
.text-3xl { font-size: 1rem; }
.text-green-500 { color: #10b981; }
.text-red-500 { color: #ef4444; }

.bg-blur { background: rgba(255,255,255,.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.bg-gray-200 { background-color: #e5e7eb; }
.bg-blue-100 { background-color: #dbeafe; }
.bg-red-500 { background-color: #ef4444; }

.rounded-xl { border-radius: .75rem; }

.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }

.space-x-3 > * + * { margin-left: .75rem; }
.space-x-4 > * + * { margin-left: 1rem; }

.md-flex { display:flex; gap:1rem; height:calc(100vh - 64px); align-items:stretch; }

.hidden { display: none; }

.left-6 { left: 1.5rem; }
.right-6 { right: 1.5rem; }
.top-4 { top: 1rem; }
.top-10 { top: 2.5rem; }
.bottom-4 { bottom: 1rem; }
.bottom-6 { bottom: 1.5rem; }

.h-4 { height: 1rem; }
.h-5 { height: 1.25rem; }
.h-7 { height: 1.75rem; }
.h-8 { height: 2rem; }
.h-10 { height: 2.5rem; }
.h-12 { height: 3rem; }
.h-16 { height: 4rem; }
.h-20 { height: 5rem; }
.h-32 { height: 8rem; }
.h-40 { height: 10rem; }
.h-70vh { height: 70vh; }

.w-4 { width: 1rem; }
.w-5 { width: 1.25rem; }
.w-10 { width: 2.5rem; }
.w-12 { width: 3rem; }
.w-16 { width: 4rem; }
.w-20 { width: 5rem; }
.w-2\/5 { width: 40%; }
.w-3\/5 { width: 60%; }

.overflow-hidden { overflow: hidden; }

.pb-24 { padding-bottom: 6rem; }
.pt-10 { padding-top: 2.5rem; }

.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.h-screen { height: 100vh; }
.min-h-screen { min-height: 100vh; }

.pointer-events-none { pointer-events: none; }

.fill-current { fill: currentColor; }
.fill-red-500 { fill: #ef4444; }

.icon-sm { width: 22px; height: 22px; }
.icon-md { width: 22px; height: 22px; }
.icon-lg { width: 22px; height: 22px; }
.icon-xl { width: 22px; height: 22px; }

/* Só aparece no seu bloco original dentro de media queries */
@media (max-width: 767px){
  .footer-rizomas { margin-bottom: 0px; }
}
@media (min-width: 768px){
  .footer-rizomas { margin-bottom: 0px; }
}

   
@media (min-width: 990px) {
    .s-naveg .container {
        max-width: 1280px !important;
    }
    .navbar-expand-lg .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        flex-direction: column;
    }
}

textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
    border-color: RGBA(1, 10, 68, 0.86);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px RGBA(1, 10, 68, 0.86);
    outline: 0 none;
}

.headerls .s-naveg .navbar #naveg-vertical .btn-nav {
    padding: 18px 7px;
    position: relative;
    display: list-item;
    text-align: -webkit-match-parent;
}

.top-header {
    line-height: 35px;
    background: var(--cor-fundo2);
    color: #fff;
}

.top-header .entrarp {
    display: flex;
}

.top-header .tel,
.top-header .tel a:hover {
    color: var(--cor-fundo1);
}

.top-header .tel i,
.top-header .tel a {
    color: #fff;
    font-size: 12px;
}

.top-header .midcolun .tel .icon-phone-receiver {
    margin-right: 8px;
}

.top-header .midcolun .tel span {
    color: #fff;
    opacity: 0.4;
    display: inline-block;
    padding: 0 10px;
}

.logo-colun {
    left: -30px;
    position: relative;
}

.top-header .topp {
    font-size: 12px;
}

.top-header .topp .item {
    font-size: 12px;
    color: #fff;
    line-height: 1.5em;
}

.top-header .topp .item i {
    margin-right: 5px;
    font-size: 14px;
    color: #fff;
}

.top-header .user-list {
    display: flex;
    height: 14px;
    line-height: 1;
}

.top-header .user-list li {
    border-right: 1px solid rgba(255, 255, 255, 0.4);
    padding: 0 10px;
}

.top-header .user-list li:last-child {
    padding-right: 0;
    border-right: none;
}

.top-header .user-list li a {
    color: #fff;
    font-size: 12px;
}

.top-header .user-list li a:hover {
    color: var(--cor-fundo1);
}

.enter {
    background: var(--cor-fundo1);
    padding: 10px 20px;
    margin: 5px;
    border-radius: 3px;
    color: #fff;
}

.m-header {
    padding: 30px 0;
    background: #fcfcfc;
    width: 100%;
}

.m-header .pesq-m {
    width: 710px;
}

.m-header .pesq_box {
    width: 100%;
    border-radius: 7px;
    background: transparent !important;
    height: 44px;
    display: flex;
    border: 0px !important;
}

.m-header .pesq_box .pesq_camp {
    width: calc(100% - 0px);
    height: 100%;
    position: relative;
}

.m-header .pesq_box .pesq_camp .input {
    width: 100%;
    height: 100%;
    border: 0px;
    font-size: 16px;
    border-radius: 7px;
    padding-left: 14px;
    padding-right: 58px;
    color: #fff;
    background: transparent !important;
}

.m-header .pesq_box .pesq_camp .pesq-button {
    height: 44px;
    background: var(--cor-fundo2);
    color: #fff;
    border-radius: 0px 7px 7px 0px;
    border: none;
    position: absolute;
    right: -1px;
    top: -1px;
    font-size: 14px;
    padding: 10px 20px;
}

.m-header .pesq_box .pesq_camp .pesq-button:hover {
    background: var(--cor-fundo1);
    color: #fff;
}

.m-header .pesq_box .pesq_camp .input::-webkit-input-placeholder {
    color: #e2e2e2;
    font-size: 14px;
    line-height: 42px;
}

.m-header .pesq_box .pesq_camp .input::-moz-placeholder {
    color: #e2e2e2;
    font-size: 14px;
    line-height: 42px;
}

.m-header .pesq_box .pesq_camp .input:-ms-input-placeholder {
    color: #e2e2e2;
    font-size: 14px;
    line-height: 42px;
}

.headerls .s-naveg {
    background: #f2f2f2;
    border-top: 4px solid #fcfcfc;
    height: 50px;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
    align-items: flex-end;
    position: relative;
    -moz-box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.13);
    box-shadow: 0px 4px 5px 0px rgb(0 0 0 / 13%);
    z-index: 10;
}

.headerls .s-naveg .navbar {
    padding: 0;
    margin: 0;
    border-radius: 0;
    border: none;
    position: relative;
    top: 10px;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li {
    padding: 18px 20px;
    position: relative;

}

.headerls .s-naveg .navbar #naveg-vertical>ul>li>a {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    transition: 0s;
    padding: 0;
    color: var(--cor-fundo2);
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li>a:hover {
    color: var(--cor-fundo1);
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown {
    background: var(--cor-fundo1);
    color: #fff;
    box-shadow: 0px 0px 0px 0px rgba(41, 196, 169, 1);
    position: static;
    border-radius: 7px 7px 0px 0px;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown .icon-list {
    position: relative;
    width: 19px;
    height: 1px;
    background: #fff;
    margin: 6px 0;
    display: inline-block;
    margin-right: 17px;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown .icon-list:before {
    content: '';
    width: 19px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: 6px;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown .icon-list:after {
    content: '';
    width: 19px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown .icon-down-open {
    font-size: 15px;
    padding-left: 5px;
    padding-right: 0;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown .icon-list:before {
    margin: 0;
}

.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown a,
.headerls .s-naveg .navbar #naveg-vertical>ul>li.categ-dropdown a:hover {
    color: #fff;
    background: transparent;
    font-size: 14px;
}


.headerls .s-naveg .navbar #naveg-vertical .categ-dropdown:hover .categ-box {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0px);
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 99;
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    visibility: hidden;
    transform: translate(0, 10px);
    transition: opacity .2s ease-in, transform .2s ease-in, visibility .2s ease-in;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col {
    width: 263px;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col {
    width: calc(100% - 263px);
    background: #f2f2f2;
    padding: 50px 42px;
    text-align: left;
    border-top: 2px solid var(--cor-fundo1);
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col {
    display: block;
    text-align: left;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col>li {
    display: block;
    margin-bottom: 1px;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col li a {
    display: block;
    font-weight: 400;
    font-size: 14px;
    text-transform: capitalize;
    padding: 22px 32px;
    margin-bottom: -1px;
    border-radius: 0;
    color: var(--cor-fundo2);
    font-weight: 700;
    border-bottom: 0.5px solid RGBA(62, 232, 200, 0.45);
    border-left: 0.1px solid #ccc;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col li a:hover {
    background: RGBA(62, 232, 200, 0.45);
    color: var(--cor-fundo2);
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-tab-col li a.active,
.headerls .s-naveg .navbar .categ-box .content-tab-col li a:hover {
    background: var(--cor-fundo1);
    color: #fff;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu:not(:last-child) {
    margin-bottom: 50px;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu h5.sub-categoria {
    margin-bottom: 25px;
    line-height: 1;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu h5.sub-categoria a {
    color: var(--cor-fundo2);
    font-weight: 900;
    font-size: 15px;
    line-height: 14px;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu h5.sub-categoria a:hover {
    color: #1ca88e;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu ul li {
    padding-bottom: 15px;
    list-style: none;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu ul li:last-child {
    padding-bottom: 0;
}

.content-wrapper.inner-page {
    padding: 100px 0;
}

.content-wrapper.inner-page.contact-page {
    padding-bottom: 0;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu ul li a {
    color: var(--cor-fundo2);
    font-weight: 400;
    font-size: 14px;
    line-height: 14px;
    text-transform: uppercase;
}

.headerls .s-naveg .navbar #naveg-vertical .categ-box .content-col .categoria-menu ul li a:hover {
    color: #1ca88e;
}

.categoria-menu ul {
    padding-left: 0px;
}

.linkSign {
    color: var(--cor-fundo1);
    font-size: 12px;
    padding: 4px;
}

.linkSign:hover {
    color: blue;
}


.navbar #naveg-vertical .navbar-nav .nav-item:first-child {
    padding-left: 0;
}

.navbar #naveg-vertical .navbar-nav>.nav-item .submenu {
    z-index: 99;
    background: var(--cor-fundo2);
    position: absolute;
    top: 100%;
    width: 240px;
    padding: 30px 0;
    text-align: left;
    -webkit-transform: translate(0, 0);
    -webkit-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0;
    visibility: hidden;
    transition: .6s;
    -webkit-box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    -moz-box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    left: 0;
}

.navbar #naveg-vertical .navbar-nav>.nav-item:hover .submenu {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1;
    visibility: visible;
}

.submenu ul.nav>li {
    padding: 5px 0;
}

.submenu ul.nav>li:first-child {
    padding-top: 0;
}

.submenu ul.nav>li:last-child {
    padding-bottom: 0;
}

.submenu ul.nav>li a {
    padding: 5px 30px !important;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.submenu ul.nav>li:last-child a {
    padding-bottom: 0 !important;
}

.submenu ul.nav>li a:hover {
    color: var(--cor-fundo1);
}

.submenu>ul.lavel-1 li {
    width: 100%;
}

.submenu>ul.lavel-1 li:first-child a {
    padding-top: 0 !important;
}

.submenu>ul.lavel-1 li a {
    display: block;
}

.submenu ul.nav>li.has-children {
    position: relative;
}

.submenu ul.nav>li.has-children>ul.lavel-2 {
    position: absolute;
    top: 0;
    right: -230px;
    -webkit-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    transform: translate(0, 20px);
    opacity: 0;
    visibility: hidden;
    transition: .6s;
    max-width: 250px;
    padding: 32px 28px;
    background: #515151;
    -webkit-box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    -moz-box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    box-shadow: 0px 0px 12px 0px rgba(51, 48, 73, 0.23);
    width: 230px;
}

.submenu ul.nav>li.has-children:hover>ul.lavel-2 {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.submenu ul.lavel-2 li {
    padding: 10px 0;
}

.submenu ul.lavel-2 li a {
    font-size: 14px;
    color: #fff;
    font-weight: 400;
    text-transform: capitalize;
    padding: 0 !important;
}

.navbar #naveg-vertical .navbar-nav>.nav-item.has-children .expand {
    position: absolute;
    right: 3px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 12px;
}

.navbar #naveg-vertical .navbar-nav>.nav-item.has-children .submenu .expand {
    color: #fff;
    right: 10px;
}

.navbar #naveg-vertical .navbar-nav>.nav-item.has-children .submenu ul li:hover .expand {
    color: var(--cor-fundo1);
}

.navbar .navbar-toggler {
    padding: 0;
    border: none;
    display: flex;
    height: 30px;
    align-items: center;
    display: none;
}


.navbar .navbar-toggler .mega-toggle-label-closed {
    font-size: 16px;
    margin-right: 10px;
}

.navbar .navbar-toggler .icon .icon-strip {
    width: 20px;
    height: 2px;
    background: #fff;
    display: block;
}

.navbar .navbar-toggler .icon .icon-strip:nth-child(2) {
    width: 20px;
    height: 2px;
    background: #fff;
    margin: 3px 0;
}

.item-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    /* Adjust padding as needed */
    height: 150px;
    /* Adjust height as needed */
    box-sizing: border-box;
}

.logo-img {
    max-width: 85px;
}

/* Ensure all images fit within the container */
.img-logos-clientes {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    /* Ensures the image scales while maintaining aspect ratio */
}

.food-swiper-nav .food-cat-prev::after {
    content: "<" !important;
    font-weight: 800 !important;
}

.food-swiper-nav .food-cat-next::after {
    content: ">" !important;
    font-weight: 800 !important;
}

.altura {
    max-width: max-content;
    max-height: 100px !important;
    object-fit: contain !important;
}

.logorest {
    width: 30% !important;
    max-width: 200px;
    background: #fff;
}

@media (max-width: 600px) {
    .card-prods__rodape {
        margin-top: -40px;
    }
}


/* Optional: make the carousel responsive */
@media (max-width: 768px) {
    .item {
        height: 100px;
        /* Adjust height for smaller screens */
    }
}

.top-50 {
    padding-top: 70px;
}

footer {

    background: #5100ec;
}

#status {
    font-size: 14px;
    color: grey;
}

.micro {
    color: #fff;

    border-radius: 50px;
    top: 5px;
    right: -10px;
    position: relative;
}


/* Estilo base do elemento de pulso */
.micro-pulso {
    padding: 3px;
    width: 50px;
    height: 50px;
    background-color: red;
    /* Cor do pulso */
    border-radius: 50%;
    /* Faz o elemento ser redondo */
    display: flex;
    justify-content: center;
    align-items: center;
    animation: pulso 1s infinite;
    /* Aplica a animação */
    color: white;
    /* Cor do ícone */
    font-size: 32px;
    /* Tamanho do ícone */
}



/* Define a animação */
@keyframes pulso {
    0% {
        transform: scale(0.5);
        /* 50% do tamanho original */
    }

    50% {
        transform: scale(0.7);
        /* 70% do tamanho original */
    }

    100% {
        transform: scale(0.5);
        /* Volta a 50% do tamanho original */
    }
}


/* Define a animação */
@keyframes pulso {
    0% {
        transform: scale(0.5);
        /* 50% do tamanho original */
    }

    50% {
        transform: scale(0.7);
        /* 70% do tamanho original */
    }

    100% {
        transform: scale(0.5);
        /* Volta a 50% do tamanho original */
    }
}

.lf-avatar {
    width: 80px;
    height: 40px;
    overflow: hidden;
    border-radius: 10px;
    z-index: 9;
    background-color: #fff;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -25px;
    left: 15px;
    padding: 20px !important;
}

.lf-background {
    max-height: 123px;
}
 


.info-box {
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    padding: 10px;
    text-align: center;
}

.info-box img {
    width: 100%;
    max-height: 200px;
    border-radius: 50%;
}

.gm-style div[title][aria-label][role="button"] img {
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}


.logo-image {
    transition: opacity 1s ease-in-out;
    width: 24px;
}

.logo-imagex {
    margin-top: -5px;
    width: 80px;
}

.fade-out {
    opacity: 1;
}

.fade-out.fade-out-active {
    opacity: 0;
}

 

.fade-in.fade-in-active {
    opacity: 1;
}

.hidden {
    display: none;
}

.show {
    display: block;
}

.input-group {
    display: flex;
    align-items: center;
    border: 0px;
    border-radius: 4px;
    overflow: hidden;
}

#search_keywords {
    flex: 1;
    border: none;
    padding: 10px;
    padding-left: 25px;
    font-size: 16px;
    outline: none;
}

#microphone-button {
  der: none;
    padding: 10px;
    font-size: 24px;
    outline: none;
    position: absolute;
    right: 0;
}
  cursor: pointer;
    background: none;
    bor


.rowcl {
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
}


@media (max-width: 991px) {

    .blur-background {
        padding-top: 70px;
    }

}

@media (max-width: 768px) {


    .header,
    .header.header-style-alternate,
    .header.header-style-alternate:not(.header-scroll),
    .header.header-style-default {
        z-index: 999!important;
    }

    .rowcl {
        display: flex;
        flex-wrap: nowrap;
        overflow: hidden;
        position: relative;
    }

    .cl3 {
        flex: 1;
        max-width: 100%;
        transition: transform 0.3s ease;
        transform: translateX(0);
    }

    .cl9 {
        flex: 1;
        max-width: 100%;
        transition: transform 0.3s ease;
        transform: translateX(100%);
        position: absolute;
        top: 0;
        height: 100%;
    }

    .cl3.active {
        transform: translateX(-100%);
    }

    .cl9.active {
        transform: translateX(0);
    }

    .toggle-btn {
        display: block;
        position: absolute;
        top: 10px;
        background: #000;
        color: #fff;
        border: none;
        padding: 10px;
        cursor: pointer;
        z-index: 9999 !important;
    }

    .toggle-btn.left {
        left: 10px;
    }

    .toggle-btn.right {
        right: 10px;
    }
}

.gm-style-iw-c {
    max-width: 90vw !important;
 
}

.gm-style-iw-d {
    margin-top: -48px;
    margin-left: -20px;
    margin-right: -20px;
    z-index: 0 !important;
    overflow: hidden !important;
}

.gm-ui-hover-effect {
    z-index: 99 !important;
    opacity: 1;
    color: #fff !important;
}


.lf-type-2 .lf-item {
    height: 200px;

}

.banner-img {
    width: 300px;
    object-fit: cover;
}


@media (max-width: 768px) {


    .banner-img {
        width: -webkit-fill-available;
        object-fit: cover;
    }

    .toggle-btn.right {
        right: 10px;
        display: block;
        /* Exibe o botão */
        bottom: 0;
        z-index: 9999;
        bottom: 0;
        height: 50px;
        position: absolute;
        top: initial;
    }

    .toggle-btn.left {
        right: 10px;
        display: block;
        /* Exibe o botão */
        bottom: 0;
        z-index: 9999;
        bottom: 0;
        height: 50px;
        position: absolute;
        top: initial;
    }

    .gm-style-iw-c {
       /* height: 680px; */
        width: 90vw;
    }

}

@media (min-width: 769px) {
    .quick-search-instance {
        width: 25%;
    }

    .rowcl {
        top: 70px;
        margin-top: 0px;
    }

    .toggle-btn.right {
        display: none;
        /* Oculta o botão em telas maiores */
    }

    .toggle-btn.left {
        display: none;
        /* Oculta o botão em telas maiores */
    }
}

.gm-style-iw-c {
  /*  height: 680px;*/

}

.blur-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    /* Fundo semitransparente */
    backdrop-filter: blur(10px);
    /* Aplica o efeito de desfoque */
    -webkit-backdrop-filter: blur(10px);
    /* Suporte para Safari */
    z-index: 99 !important;
}

.blur-background-inputs {
    width: 100%;
    background: #5100ec;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 999 !important;
    border-radius: 0px 10px 10px 10px;
    padding: 10px !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    height: 44px !important;
}


.button-1 {
    background: #5100ec;
    color: #fff !important;
    ;
}


.header .user-area>i.user-area-icon {
    padding-right: 0px;
}

.header-search {
    margin: auto;

}

.sidebariz {
    overflow-y: auto !important;
    /* Adiciona a barra de rolagem vertical quando necessário */
    padding-right: 10px;
    /* Espaço para evitar que a barra cubra o conteúdo */
    direction: rtl;
    /* Move a barra de rolagem para a esquerda */
    padding-top: 72px;
}

/* Opcional: personalizar a barra de rolagem */
.sidebariz::-webkit-scrollbar {
    width: 8px;
}

.sidebariz::-webkit-scrollbar-thumb {
    background: #5100ec;
    /* Cor da barra */
    border-radius: 4px;
}

.sidebariz::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
    /* Cor do fundo da barra */
}

.quick-search-instance {
    background: rgba(255, 255, 255, 0.1);
    /*  Fundo semitransparente */
    backdrop-filter: blur(10px);
    /*   Aplica o efeito de desfoque */
    -webkit-backdrop-filter: blur(10px);
    /*   Suporte para Safari */
    position: fixed;
    /* Mantém fixo no topo da sidebar */
    top: 0;
    left: 0;
    z-index: 999;
    padding: 10px;
    /* Adiciona um espaçamento interno */
    padding-bottom: 0px;
    border-radius: 20px;
    margin-left: 12px;
    margin-right: 12px;
}

input[type="search"]:focus {
    border-color: RGBA(1, 10, 68, 0.86);
    box-shadow: none;
    outline: 0 none;
}

.cidade-modal {
    background: #5100EC;

    text-transform: uppercase;
    border-radius: 10px 10px 0px 0px;
    width: fit-content;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 0px;
    margin-bottom: -5px;
}

.cidade-modal a {
    color: #fff !important;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2em;
}



.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
    radial-gradient(circle at 20% 80%, rgba(7, 241, 26, 0.27) 0%, transparent 30%),
    radial-gradient(circle at 80% 80%, rgba(50, 16, 241, 0.29) 0%, transparent 30%);
    /* Fundo semitransparente */
    backdrop-filter: blur(10px);
    /* Aplica o efeito de desfoque */
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    
}

.modal-content {
background-color: white;
border-radius: 0.5rem;
max-width: 120rem;
width: 100%;
position: relative;
margin: 40px 80px;
/* padding: 50px 18px; */
height: -webkit-fill-available;
/* max-height: 41vw; */
transform: scale(0.95);
transition: transform 0.3sease;
animation: zoomIn 0.3sease-out forwards;
z-index: 9999999;

}



.modal-close {
  position: absolute;
    border: none;
    cursor: pointer;
    padding: 20px;
    background: #5100ec;
    color: #fff;
    right: 0;
    top: 0;
    border-radius: 3px 3px 3px 20px;
}

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

.space-y-6 > * + * {
    margin-top: 1.5rem;
}


.location-button {
    width: 100%;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.375rem;
    background-color: white;
    cursor: pointer;
}

.divider {
    position: relative;
    text-align: center;
    margin: 1rem 0;
}

.divider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background-color: #e5e7eb;
}

.divider span {
    position: relative;
    background-color: white;
    padding: 0 0.5rem;
    color: #666;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.city-select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.375rem;
    background-color: white;
}

.button-group {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}



.custom-button {

position: absolute;
bottom: 0px;
left: 0px;
padding: 7px 20px;
font-size: 15px;
font-weight: bold;
color: #333;
z-index: 2;
margin: 0;
background-color: #fff;
font-weight: 900;
border: none;
cursor: pointer;
transition: filter 0.2s;
border-radius: 0px 0px 0px 20px;

}
.custom-button:hover {
    filter: brightness(95%);
}
.custom-button:active {
    filter: brightness(90%);
}
.button-text {
    position: relative;
    z-index: 10;
}
.arrow-container {
    border: 0px;
position: absolute;
border-radius: 0px 10px 0px 0px;
right: 0;
top: 0;
height: 98%;
width: 32px;
background-color: #fff;
transform: skew(20deg) translateX(16px);
}
.arrow-containercima {
border: 0px;
position: relative;
border-radius: 0px 10px 0px 0px;
right: 0;
top: 0;
height: 98%;
width: 32px;
background-color: #fff;
transform: skew(20deg) translateX(16px);
}
 
.rz-modal-overlay {
position: fixed;
inset: 0;
z-index: 50;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
background-color: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(4px);
}
.rz-modal-container {
background-color: white;
border-radius: 1.5rem;
width: 100%;
max-width: 56rem;
overflow: hidden;
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
position: relative;
animation: rz-modalEnter 0.3s ease-out;
}
@media (min-width: 768px) {
.rz-modal-container {
flex-direction: row;
}
}
/* Close Button */
.rz-close-button {
position: absolute;
top: 1rem;
right: 1rem;
z-index: 10;
padding: 0.5rem;
border-radius: 9999px;
background: transparent;
border: none;
cursor: pointer;
color: #6b7280;
transition: background-color 0.2s;
}
.rz-close-button:hover {
background-color: #f3f4f6;
}
/* Image Container */
.rz-modal-image-container {
width: 100%;
position: relative;
}

@media (min-width: 768px) {
.rz-modal-image-container {
width: 40%;
}
}

.rz-status-badge {
position: absolute;
top: 1rem;
left: 1rem;
padding: 0.25rem 0.75rem;
background-color: #10b981;
color: white;
border-radius: 9999px;
font-size: 0.875rem;
}
@keyframes rz-modalEnter {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}



.hidden-col {
opacity: 0;
transform: scale(0.8) translateY(-30px);
}

.col3.visible {
opacity: 1;
transform: scale(1) translateY(0);
}


.float-button {
position: fixed;
bottom: 20px;
right: 20px;
background-color:rgb(33, 30, 197);
color: white;
border: none;
border-radius: 50%;
padding: 15px;
font-size: 18px;
cursor: pointer;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
z-index: 9999;
}

.float-button:hover {
transform: scale(1.1);
}

.restaurant-header {
display: flex;
background: linear-gradient(to right, rgba(139, 92, 246, 0.1), rgba(236, 72, 153, 0.1));
overflow: hidden;
backdrop-filter: blur(8px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
max-width: 700px;
}
.header-image {
height: 100%; /* Ajuste a altura conforme necessário */
overflow: hidden; /* Impede que a imagem ultrapasse os limites */
display: flex; /* Alinha a imagem corretamente */
justify-content: center; /* Centraliza horizontalmente */
align-items: center; /* Centraliza verticalmente */
}

.banner-img {
width: 300px; /* Faz a imagem ocupar toda a largura do contêiner */
height: 100%; /* Faz a imagem ocupar toda a altura do contêiner */
object-fit: cover; /* Mantém a proporção e corta excessos */
}
.containerbn{
padding: 0px;
}

.header-content {
flex: 1;
padding: 24px;
}
.search-container {
position: relative;
margin-bottom: 24px;
}
.search-container input {
width: 100%;
padding: 12px 40px 12px 16px;
border: none;
border-radius: 8px;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(8px);
font-size: 16px;
transition: all 0.3s ease;
}
.search-container input:focus {
outline: none;
box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.3);
background: rgba(255, 255, 255, 0.2);
}
.search-icon {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
color: #666;
}
.restaurant-info {
transition: all 0.3s ease;
}
.restaurant-info.hidden {
opacity: 0;
height: 0;
overflow: hidden;
}
.restaurant-info h2 {
font-size: 24px;
margin-bottom: 16px;
color: #1a1a1a;
}
.hours {
color: #4b5563;
margin-bottom: 24px;
line-height: 1.5;
}
.social-link{padding: 10px 80px;
    border-radius: 10px;
    color: #fff;}

.social-links {
  width: 74%;
    display: flex;
    gap: 16px;
    margin-top: 24px;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-content: center; 

}
.social-button {
padding: 8px 16px;
border: none;
border-radius: 8px;
color: white;
text-decoration: none;
font-size: 14px;
transition: opacity 0.2s ease;
 
}
.social-button:hover {
opacity: 0.9;
}
.facebook {
background-color: #1877F2;
}
.instagram {
background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.whatsapp {
background-color: #25D366;
}
.simple{
  background: #fff;
  color: #000;
}




@media (max-width: 768px) {

.modal-content {
margin: 0px;
}
.restaurant-header {
flex-direction: column;
}
.header-image {
width: 100%;
height: 200px;
}
.social-links {
  flex-direction: column;
        width: 100%;
}
}



.titbn {
position: absolute;
bottom: 0px;
left: 0px;
background-color: white;
padding: 10px 20px 0px;
border-radius: 0px 20px 0px 0px;
font-size: 14px;
font-weight: bold;
color: #333;
z-index: 2;
margin: 0;
}




.product-list {
position: absolute;
background: white;
width: 100%;
max-height: 200px;
overflow-y: auto;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border-radius: 5px;
display: none;
transition: transform 0.3s ease-in-out, opacity 0.3s;
}
.product-list.show {
display: block;
transform: translateY(10px);
opacity: 1;
}
.cart-sidebar {
position: fixed;
top: 0;
right: -300px;
width: 300px;
height: 100%;
background: white;
box-shadow: -4px 0 6px rgba(0, 0, 0, 0.1);
transition: right 0.3s ease-in-out;
padding: 20px;
}
.cart-sidebar.show {
right: 0;
}

#searchInput {
  padding: 0.8rem 1.2rem;
    border: 2px solid rgb(34 16 68 / 69%);
    border-radius: 12px;
    width: -webkit-fill-available;
    font-size: 0.95rem;
    color: #000;
    background: transparent;
    transition: all 0.3s ease;
}

#searchInput::placeholder {
color: rgba(8, 1, 1, 0.82);
}

#searchInput:focus {
outline: none;
border-color: var(--primary);
background: rgba(255, 255, 255, 0.2);
}
.pb{
    POSITION: RELATIVE;
    padding: 15px 0px !important;
    width: -webkit-fill-available;
  }
  
.tab-button_emp {
padding: 0.5rem 0.9rem;
background: var(--primary);
color: white;
border: none;
border-radius: 12px;
cursor: pointer;
font-weight: 600;
transition: all 0.3s ease;
}

.tab-button_emp:hover {
background: #4400c7;
transform: translateY(-1px);
}

/* Main Content Styles */
.main-content_emp {
display: grid;
grid-template-columns: 30% 70%;
min-height: 40vh;
padding-top: 0px;
}

/* Carousel Styles */
.carousel-section_emp {
position: relative;
height: -webkit-fill-available;
min-height: 40vw;
}

.carousel_emp {
position: relative;
height: 100%;
overflow: hidden;
border: 10px solid #fff;
border-radius: 20px;
}

.carousel-container_emp {
height: 100%;
display: flex;
transition: transform 0.5s ease;
}

.carousel-image_emp {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 0.5s ease;
position: absolute;
}

.carousel-image_emp.active {
opacity: 1;
}

.carousel-button_emp {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: transparent;
color: #000;
border: none;
padding: 1rem;
cursor: pointer;
z-index: 10;
transition: all 0.3s ease;
}

.carousel-button_emp:hover {
background:#fff;
height:100px;
}

.prev_emp {
left: -0.5rem;
border-radius: 0px 20px 20px 0px;
background-image: url("{{ asset('assets/img/prev.png') }}");
background-position: center;
background-repeat: no-repeat;
background-size: cover; /* Ou "contain", dependendo do efeito desejado */
width: 34px;
height: 200px;
}


.next_emp {
right: -0.5rem;
border-radius: 20px 0px 0px 20px;
background-image: url("{{ asset('assets/img/next.png') }}");
background-position: center;
background-repeat: no-repeat;
background-size: cover; /* Ou "contain", dependendo do efeito desejado */
width: 34px;
height: 200px;
}

/* Company Info Styles */
.company-info_emp {
padding: 0px;
color: #333;
}



/* Products Section */
.products-section_emp {
position: absolute;
top:0;
height: max-content;
width: -webkit-fill-available;
border-radius: 10px;
background: rgb(0 0 0 / 94%);
backdrop-filter: blur(10px);
padding: 2rem;
padding-top: 154px;
z-index: 1001;
transition: transform 0.5s ease;
}

.products-section_emp.visible {
transform: translateY(-100%);
}
     /* Ajustes para mobile */
     @media (max-width: 767px) {
        .products-section_emp {
      top: 345px;
    }
  }

.products-header_emp {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2rem;
color: var(--white);
}

.close-products_emp {
background: #5100ec;
position: absolute;
right: 0;
top: 0;
border: none;
color: var(--white);
font-size: 2rem;
cursor: pointer;
width: 50px;
height: 50px;
border-radius: 0px 0px 0px 20px;
transition: all 0.3s ease;
z-index: 1005;
}

.close-cart_emp {
background: #5100ec;
position: absolute;
right: 0;
top: 0;
border: none;
color: var(--white);
font-size: 2rem;
cursor: pointer;
width: 50px;
height: 40px;
border-radius: 0px 0px 0px 20px;
/* padding: 0.5rem; */
transition: all 0.3s ease;
}
.close-products_emp:hover {
color: var(--primary);
}

.products-grid_emp {
display: grid;
gap: 2rem;
max-height: 70vh;
overflow-y: auto;
}

.product-card_emp {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%; /* Garante que ocupe toda a largura do contêiner pai */
background: rgba(255, 255, 255, 0.1);
border-radius: 15px;
padding: 1rem;
color: var(--white);
transition: all 0.3s ease;
}

.product-card_emp:hover {
transform: translateY(-5px);
background: rgba(255, 255, 255, 0.15);
}

/* No Products Message */
.no-products-message_emp {
color: var(--white);
text-align: center;
font-size: 1.2rem;
padding: 2rem;
}

/* Cart Styles */
.cart-sidebar_emp {
position: fixed;
top: 0;
left: 0px;
width: 400px;
height: -webkit-fill-available;
background: rgb(18, 18, 18);
color:#fff;
box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
z-index: 9999;
transition: right 0.3s ease-in-out;
display: flex;
flex-direction: column;
color: var(--white);
}

.cart-sidebar_emp.active {
right: 0;
}

.cart-overlay_emp {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 1999;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}

.cart-overlay_emp.active {
opacity: 1;
visibility: visible;
}

/* Chat Widget */
.chat-widget_emp {
position: fixed;
bottom: 1em;
width: 74%;
    height: 95%;
    right: 9em;
 
margin: 0px auto;
background: rgb(18, 18, 18);
border-radius: 15px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
overflow: hidden;
display: none;
z-index: 9999;
color: var(--white);
background: rgb(239 239 239 / 36%);
backdrop-filter: blur(10px);
}

.chat-header_emp {
background: transparent;
padding: 1rem 1.5rem;
display: flex;
justify-content: flex-end;
align-items: center;
z-index:999;
position:relative;
}

.btnchat {
background: var(--primary);
color: white;
border: none;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
position: absolute;
right: 1em;
bottom: 1em;
transition: width 0.5s ease-in-out;
overflow: hidden;
white-space: nowrap;
}





.messages-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    position: relative;
}
.box-avatar {
    position: fixed;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Desktop */
@media (min-width: 768px) {
    .box-avatar {
        width: 30%;
        height: 100vh;
        top: 0;
        left: 0;
        background: #f9f9f9;
    }

    #nav-list{
      display:block!important;
    }
    
  #nav-list {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 100%;
    padding-right: 6px;
    scroll-behavior: smooth;
  }

    
    .chat-messages_emp {
        margin-left: 30%;
        width: 70%;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .box-avatar {
        width: 100%;
        height: 80px;
        top: 0;
        left: 0;
        background: #f9f9f9;
    }

    .chat-messages_emp {
        margin-top: 80px;
        width: 100%;
    }
}
/* Layout Desktop */
@media (min-width: 768px) {

  .social-links {
    width: 50%;
  }

    .messages-container {
        flex-direction: row;
    }

    .box-avatar {
        width: 30%;
        height: 100vh;
        position: fixed;
        top: -60px;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f9f9f9; /* opcional */
        z-index: 1;
    }

    .box-chat {
        width: 70%;
        margin-left: 30%;
        height: 100vh;
        overflow-y: auto;
        padding: 1rem;
        display: contents;
    }
      .received {
    width: 50%;
 
}

}

/* Layout Mobile */
@media (max-width: 767px) {
    .box-avatar {
      width: 100%;
        height: 174px;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f9f9f9;
        z-index: 1;
        padding-bottom: 14px;
    }

    .box-chat {
        bottom: 0;
        left: 0;
        width: 100%;
        height: calc(100vh - 80px); /* ajusta conforme altura do avatar */
        overflow-y: auto;
        padding: 1rem;
        margin-top: 80px;
    }
  

}


.chat-messages_emp {
  top: 0;
    bottom: 0;
    max-height: 84%;
    height: -webkit-fill-available;
    overflow-y: auto;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding-right: 15px;
    right: 0;
    position: absolute;
    width: 100%;
}

/* Personalizando a barra de rolagem */
.chat-messages_emp::-webkit-scrollbar {
    width: 8px; /* Largura da barra de rolagem */
}

/* Personalizando o fundo da barra de rolagem */
.chat-messages_emp::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1); /* Cor do fundo da barra de rolagem */
    border-radius: 10px;
}

/* Personalizando o "thumb" da barra de rolagem */
.chat-messages_emp::-webkit-scrollbar-thumb {
    background: #8300e9; /* Cor do thumb */
    border-radius: 10px;
    border: 2px solid rgba(255, 255, 255, 0.2); /* Borda do thumb */
}

/* Efeito ao passar o mouse sobre o thumb */
.chat-messages_emp::-webkit-scrollbar-thumb:hover {
    background: #340759; /* Cor mais escura ao passar o mouse */
}


.message_emp {
    margin-bottom: 1rem;
    padding: 0.8rem 1.2rem;
    border-radius: 15px;
    max-width: 80%;
}

.message_emp.user {
    background: var(--primary);
    margin-left: auto;
    border-bottom-right-radius: 5px;
}

.message_emp.system {
    background: rgba(255, 255, 255, 0.1);
    border-bottom-left-radius: 5px;
}

        .messages-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
 
}

.message {
    max-width: 75%;
    padding: 10px 15px;
    border-radius: 10px;
    font-size: 12px;
    position: relative;
    word-wrap: break-word;
}

.sent {
    text-align:right;
    align-self: flex-end;
    background-color: #DCF8C6; /* Verde claro do WhatsApp */
    color: #000;
    border-bottom-right-radius: 0;
}

.received {
   
    text-align:left;
    align-self: flex-start;
    background-color: #ffffff; /* Branco para contraste */
    color: #000;
    border-bottom-left-radius: 0;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}

.message small {
    display: block;
    text-align: right;
    font-size: 10px;
    margin-top: 5px;
    opacity: 0.6;
}

/* Responsive Design */
@media (max-width: 768px) {
.main-content_emp {
grid-template-columns: 1fr;
}

.carousel-section_emp {
height: 50vh;
}

.cart-sidebar_emp {
width: 100%;
}

.chat-widget_emp {
width: 90%;
right: 5%;
}
}

.chat-controls_emp {
display: flex;
gap: 0.5rem;
}

.chat-input_emp {
padding: 1rem;
display: flex;
gap: 0.8rem;
border-top: 1px solid #eee;
background: rgb(255, 255, 255);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
bottom: 0px;
position: absolute;
width: 100%;
z-index: 99;
}

.chat-input_emp input {
flex: 1;
padding: 0.8rem 1.2rem;
border: 2px solid rgba(81, 0, 236, 0.2);
border-radius: 25px;
font-size: 0.95rem;
}

.chat-input_emp input:focus {
outline: none;
border-color: var(--primary);
}

.send-message_emp {
background: var(--primary);
color: white;
border: none;
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
}

.send-message_emp:hover {
background: #4400c7;
transform: scale(1.05);
}

.info-content_emp {
margin: 10px;
padding: 10px;
display: flex
;
flex-direction: column;
gap: 1rem;
background: #f5f5f5;
border-radius: 10px;
}
.info-item_emp {
display: flex;
align-items: center;
gap: 0.75rem;
color: #d4d4d8;
}
.info-item_emp i {
color: #a78bfa;
font-size: 1.25rem;
}
.info-item_emp strong {
color: #ffffff;
}
.info-item_emp.services {
background-color: rgba(63, 63, 70, 0.3);
padding: 1rem;
border-radius: 0.75rem;
}
.social-links_emp {
display: flex;
flex-wrap: wrap;
gap: 1rem;
padding-top: 1.5rem;
border:1px solid;
}
.social-link_emp, .whatsapp-button_emp {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
text-decoration: none;
transition: all 0.3s ease;
}
.social-link_emp {
background-color: rgba(63, 63, 70, 0.5);
color: #d4d4d8;
}
.social-link_emp:hover {
background-color: rgba(63, 63, 70, 0.7);
transform: scale(1.05);
}
.whatsapp-button_emp {
background-color: rgba(16, 185, 129, 0.2);
color: #34d399;
}
.whatsapp-button_emp:hover {
background-color: rgba(16, 185, 129, 0.3);
transform: scale(1.05);
}
@keyframes fadeIn {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 640px) {
.social-links_emp {
flex-direction: column;
}

}
.chat-list {
flex: 1;
overflow-y: auto;
}
/* Main Chat Area Styles */
.chat-area {
flex: 1;
display: flex;
flex-direction: column;
background-color: #efeae2;
position: relative;
}
.chat-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 16px;
background-color: #f0f2f5;
height: 60px;
}
.chat-contact {
display: flex;
align-items: center;
gap: 15px;
}
.contact-pic {
width: 40px;
height: 40px;
border-radius: 50%;
}
.contact-info h2 {
font-size: 16px;
color: #111b21;
font-weight: 500;
}
.contact-info p {
font-size: 13px;
color: #667781;
}
.chat-actions {
display: flex;
gap: 10px;
}
.messages-container {
flex: 1;
padding: 20px;
overflow-y: auto;
/*  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAAKYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIpQBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpdmZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoePPQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKcTNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jcW+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQjLYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=");
*/
}
.message-input {
display: flex;
align-items: center;
gap: 8px;
padding: 5px 16px;
background-color: #f0f2f5;
height: 62px;
}
.message-input input {
flex: 1;
border: none;
outline: none;
padding: 9px 12px;
font-size: 15px;
background-color: white;
border-radius: 8px;
color: #111b21;
}
.message-input input::placeholder {
color: #667781;
}
/* Animations */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.chat-list-item {
animation: fadeIn 0.3s ease-out;
}

.header-icons {
display: flex;
gap: 10px;
}
.icon-btn {
background: none;
border: none;
padding: 8px;
cursor: pointer;
border-radius: 50%;
color: #54656f;
}
.icon-btn:hover {
background-color: #e9edef;
}
.search-container {
padding: 8px;
background-color: #ffffff;
}
.search-box {
display: flex;
align-items: center;
padding: 0 12px;
background-color: #f0f2f5;
border-radius: 8px;
height: 35px;
}
.search-icon {
color: #54656f;
margin-right: 12px;
}
.search-box input {
border: none;
background: none;
outline: none;
font-size: 15px;
width: 100%;
color: #111b21;
}

.search-box input::placeholder {
color: #667781;
}
 

/* Info Cards and Lists */
.two-column-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .two-column-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.info-card {
  padding: 1.5rem;
  border-radius: var(--radius);
}

.link-list,
.advantage-list {
  list-style: none;
}

.link-list li,
.advantage-list li {
  margin-bottom: 0.75rem;
}

.link-list li a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--primary);
  text-decoration: none;
  transition: var(--transition);
  font-weight: 500;
}

.link-list li a:hover {
  color: var(--primary-dark);
  transform: translateX(5px);
}

.advantage-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.advantage-list li i {
  color: var(--primary);
}

/* Features */
.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.feature i {
  background-color: var(--primary-light);
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.right-cart {
  top: 57px;
    left: 0px;
    position: absolute;
    padding: 12px 20px;
    z-index: 9999;
    width: 70px;
    padding: 14px;
    border-radius: 0px 10px 10px 0px;
}


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

main {
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  position: relative;
}

.section {
 
    display: flex;
    justify-content: center;
    scroll-snap-align: start;
    position: relative;
    overflow: hidden;
    padding: 20px;
    top: 0;
}

#home {
  background-color: #D3E4FD;
}

#produtos {
  background-color: #F2FCE2;
}

#calibre {
  background-color: #FEF7CD;
}

#localizacao {
  background-color: #E5DEFF;
}

#links {
  background-color: #FFDEE2;
}

.content {
 
  width: 100%;
  padding: 20px;
}

.content h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
 
#bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
    background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

#nav-carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
}

#nav-list {
  display: flex;
  justify-content: flex-start;
  list-style: none;
  padding: 10px 0;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-behavior: smooth;
  transition: transform 0.3s ease;
}

#nav-list::-webkit-scrollbar {
  display: none;
}

.nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  transition: all 0.2s ease;
  position: relative;
  opacity: 0.7;
  transform: scale(0.9);
  flex: 0 0 auto;
  margin: 0 8px;
  min-width: 60px;
}

.nav-item.active {
  opacity: 1;
  transform: scale(1.15);
}

.nav-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 4px;
  transition: all 0.2s ease;
}

.nav-item.active .nav-icon {
  color:rgb(255, 255, 255);
}

.nav-title {
  font-size: 0.75rem;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.nav-item.active .nav-title {
  font-weight: 700;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.carousel-btn:hover {
  background-color: rgba(255, 255, 255, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.carousel-prev {
  left: 5px;
}

.carousel-next {
  right: 5px;
}

@media (min-width: 768px) {
/* HORIZONTAL E TBM TEM O  #nav-list QUE PRECISA REMOVER  #bottom-nav {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    max-width: 700px;
    border-radius: 30px;
    padding: 0 20px;
  }
  */
  #bottom-nav {
        bottom: 20px;
        left: auto;
        right: 24px;
        /* transform: translateX(-50%); */
        width: 110px;
        max-width: 700px;
        border-radius: 10px;
        padding: 0px 0px;
        height: 40vw;
        top: 20px;
        /* bottom: 40px; */
        display: block;
        align-content: center;
        flex-wrap: nowrap;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
  #nav-list {
    gap: 20px;
    justify-content: center;
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
  }
  
  .nav-item {
    padding: 10px 15px;
  }
  

  .carousel-btn {
    display: flex;
  }
  
  .carousel-prev {
    left: -40px;
  }
  
  .carousel-next {
    right: -40px;
  }
  
  #nav-carousel-container {
    padding: 0 10px;
  }
}

@media (max-width: 767px) {
  #nav-list {
    overflow-x: auto;
    justify-content: flex-start;
    padding: 10px 30px;
    scroll-snap-type: x mandatory;
  }

  .nav-item {
    scroll-snap-align: center;
  }

  .carousel-btn {
    display: flex;
  }
}


.box-assist {
  display: flex;
  justify-content: center;
}

.box-assist svg {
    width: 220px;
    height: 220px;
    position: relative;
}

.footer-rizomas {
    position: relative;
    bottom: 0px;
    right: 0px;
    left: 0px;
    display: flex;
    margin-right: auto;
    margin-left: auto;
}


.btn-credit {
  border-radius: 50px 50px 0px 0px;
    /* border: 1px solid; */
    padding: 5px 28px;
    font-size: 8px;
    background: #0030b8;
    color: #fff;
    margin: 0 auto;
    z-index:9999;
}


/* Layout Desktop */
@media (min-width: 768px) {

.box-assist {
width: 170px;
        height: 170px;
        position: relative;
        bottom: 100px;
        right: 40px;
}

  .w-tam{
        position: relative;
        width: 85%;
        left: 47px;
  }


.products-grid_emp {
  flex-direction: row!important;
} 

.produto-card {
  width: 25%;
}

.section {
  justify-content: left!important;
}

.content { 
  left: 20px;
 
  width: 90%;
}

.flexc {
        display: flex;
        justify-content: flex-start;
        align-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
}


.flexp{
  display: flex;
        justify-content: flex-start;
        align-content: center;
        flex-wrap: wrap;
        align-items: center;
}

}


/* Layout Mobile */
@media (max-width: 767px) {
.box-assist {
        width: 170px;
        height: 170px;
        position:absolute;
        bottom: 47px;
        right: 0px;
        left: 0px;
        margin:auto;
}

     .w-tam{
  width: 100%;
  }


  .profile-container{
    flex-direction: column;
  }
.products-grid_emp {
  flex-direction: column!important;
}
}

.products-grid_emp {

  gap: 1rem;
  margin-top: 2rem;
}

.product-item_emp {
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.product-image_emp {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 1rem;
}

.product-details_emp {
  flex: 1;
}

.product-details_emp h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
}

.product-details_emp p {
  margin: 0.3rem 0 0;
  color: #666;
}

.company-profile {
  background: #fff;
  border-radius: 0px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  padding: 0px;
}

.profile-container {
  display: flex;
    align-items: center;
    gap: 2rem;
}

.profile-logo img {
  width: 14Pr0px;
    /* height: 120px; */
    /* border-radius: 50%; */
    object-fit: cover;

}

.profile-info {
  flex: 1;
}

.profile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profile-header h2 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #333;
}

.profile-status {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.status-indicator {
  width: 10px;
  height: 10px;
  background: #34d399; /* verde */
  border-radius: 50%;
  box-shadow: 0 0 0 2px #fff;
}

.status-text {
  font-size: 0.75rem;
  color: #10b981;
  font-weight: 600;
}

.profile-schedule {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
  gap: 0.5rem;
}

.profile-schedule p {
  font-size: 0.9rem;
  color: #666;
}

.toggle-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.3rem;
}

.toggle-button svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
  color: #666;
}

.toggle-button svg.rotated {
  transform: rotate(180deg);
}

.week-schedule {
  margin-top: 0.5rem;
    background: #f9f9f9;
    border-radius: 8px;
    padding: 1rem;
    font-size: 0.85rem;
    color: #555;
    z-index: 9999;
    position: absolute;
    min-width: 250px;
}

.week-schedule ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.week-schedule li {
  margin-bottom: 0.3rem;
}


.page-title {
        font-size: 2.5rem;
        font-weight: 700;
        color: #333;
        text-align: center;
        margin-bottom: 3rem;
      }

      .plans-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
      }

      @media (min-width: 768px) {
        .plans-container {
          flex-direction: row;
          gap: 20px;
        }
      }

      .plan-wrapper {
        flex: 1;
        max-width: 100%;
        margin: 0 auto;
      }

      @media (min-width: 768px) {
        .plan-wrapper {
          max-width: 400px;
        }
        .plan-wrapper.featured {
          transform: translateY(-16px);
        }
      }

      .plan-card {
        background: #ffffff;
        border-radius: 16px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        border: 1px solid #f0f0f0;
        height: 100%;
      }

      .plan-card.featured {
        border-color: #d4b6ff;
        box-shadow: 0 10px 40px rgba(126, 105, 171, 0.2);
      }

      .plan-header {
        padding: 32px;
      }

      .plan-title {
        font-size: 28px;
        font-weight: 700;
        color: #333;
        text-align: center;
        margin-bottom: 10px;
      }

      .plan-subtitle {
        font-size: 14px;
        font-weight: 600;
        color: #7e69ab;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }

      .plan-limit {
        font-size: 12px;
        color: #7e69ab;
        display: block;
        text-align: center;
        margin-top: 5px;
        text-transform: none;
      }

      .plan-selector {
        display: flex;
        background-color: #f7f7f7;
        border-radius: 8px;
        padding: 4px;
        margin: 20px 0;
      }

      .plan-option {
        flex: 1;
        background: none;
        border: none;
        padding: 10px;
        font-size: 14px;
        font-weight: 500;
        color: #666;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
      }

      .plan-option.active {
        background-color: #ffffff;
        color: #7e69ab;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
      }

      .plan-option:hover:not(.active) {
        color: #333;
      }

      .discount-label {
        font-size: 11px;
        color: #2d8446;
        margin-top: 4px;
      }

      .plan-price-container {
        text-align: center;
        margin-top: 24px;
      }

      .plan-price {
        font-size: 36px;
        font-weight: 700;
        color: #333;
        display: inline-flex;
        align-items: baseline;
      }

      .plan-period {
        font-size: 16px;
        color: #777;
        margin-left: 5px;
      }

      .cta-button {
        display: block;
        width: 100%;
        background: #7e69ab;
        color: white;
        border: none;
        border-radius: 8px;
        padding: 14px 24px;
        font-size: 16px;
        font-weight: 600;
        margin-top: 24px;
        cursor: pointer;
        transition: background 0.2s;
      }

      .cta-button:hover {
        background: #6E59A5;
      }

      .cta-button.featured {
        background: #8a4baf;
      }

      .cta-button.featured:hover {
        background: #7a3b9f;
      }

      .features-list {
        margin-top: 32px;
      }

      .features-title {
        font-size: 14px;
        font-weight: 600;
        color: #666;
        margin-bottom: 16px;
      }

      .feature-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 12px;
      }

      .feature-icon {
        color: #7e69ab;
        margin-right: 10px;
        flex-shrink: 0;
      }

      .feature-text {
        font-size: 14px;
        color: #666;
      }

      .plan-footer {
        background: #f9f5ff;
        padding: 16px 32px;
        text-align: center;
      }

      .footer-text {
        font-size: 12px;
        color: #666;
      }

      @media (max-width: 576px) {
        .plan-header {
          padding: 24px;
        }

        .plan-title {
          font-size: 24px;
        }

        .plan-price {
          font-size: 32px;
        }
      }
.fixed {
  position:fixed;
}
.cart-toggle-button.fixed {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 1000;
}

/* Cart toggle button */
.cart-toggle-button {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: auto;
  z-index: 40;
  background-color: #9333ea;
  color: white;
  border: none;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s ease;
}

.cart-toggle-button:hover {
  background-color: #7e22ce;
}

/* Cart overlay */
.cart-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.cart-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Cart sidebar */
.cart-sidebar {
  position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    max-width: 24rem;
    background-color: white;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
}

.cart-sidebar.active {
  transform: translateX(0);
}

/* Cart header */
.cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #f3f4f6;
}

.cart-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
}

.close-cart {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.close-cart:hover {
  background-color: #f3f4f6;
  color: #1f2937;
}

/* Cart items list */
.cart-items-list {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.cart-items-list::-webkit-scrollbar {
  width: 6px;
}

.cart-items-list::-webkit-scrollbar-track {
  background: #f9fafb;
}

.cart-items-list::-webkit-scrollbar-thumb {
  background-color: #e5e7eb;
  border-radius: 20px;
}

.empty-cart {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #9ca3af;
  padding: 3rem 1rem;
  text-align: center;
}

.empty-cart-icon {
  width: 5rem;
  height: 5rem;
  border: 2px dashed #e5e7eb;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: #d1d5db;
}

.empty-cart button {
  margin-top: 1rem;
  color: #9333ea;
  background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
  font-size: 0.875rem;
}

.empty-cart button:hover {
  color: #7e22ce;
}

/* Cart item */
.cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  background-color: #f9fafb;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  transition: background-color 0.2s;
}

.cart-item:last-child {
  margin-bottom: 0;
}

.cart-item:hover {
  background-color: #f3f4f6;
}

.cart-item-info {
  display: flex;
  flex-direction: column;
}

.cart-item-name {
  font-weight: 500;
  color: #1f2937;
}

.cart-item-price {
  font-size: 0.875rem;
  color: #6b7280;
}

.remove-item-btn {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.2s;
}

.remove-item-btn:hover {
  color: #ef4444;
}

/* Cart footer */
.cart-footer {
  padding: 1rem;
  border-top: 1px solid #f3f4f6;
  background-color: white;
}

.cart-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
  margin-bottom: 0.75rem;
}

.total-label {
  color: #4b5563;
  font-weight: 500;
}

.total-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
}

.send-order-button {
  width: 100%;
  padding: 0.75rem 0;
  background-color: #9333ea;
  color: white;
  font-weight: 500;
  border: none;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s;
}

.send-order-button:hover {
  background-color: #7e22ce;
}

/* Responsive styles */
@media (max-width: 640px) {
  .cart-sidebar {
    max-width: none;
  }
  
}

/* Product Card Styles */
.produto-card {
  margin: 20px;
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.produto-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.produto-img-container {
  position: relative;
  height: 120px;
  overflow: hidden;
}

.produto-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.produto-card:hover .produto-img-container img {
  transform: scale(1.05);
}

.produto-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background-color: #9b87f5;
  color: white;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.produto-info {
  padding: 16px;
}

.produto-nome {
  font-size: 18px;
  font-weight: 600;
  color: #1A1F2C;
  margin-bottom: 8px;
}

.produto-descricao {
  font-size: 14px;
  color: #8E9196;
  margin-bottom: 16px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.produto-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}

.preco {
  font-size: 20px;
  font-weight: 700;
  color: #7E69AB;
}

.add-to-cart {
  background-color: #9b87f5;
  color: white;
  border: none;
  border-radius: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.add-to-cart:hover {
  background-color: #8B5CF6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .container {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
  }
  
  .produto-img-container {
    height: 160px;
  }
  
  .produto-nome {
    font-size: 16px;
  }
  
  .preco {
    font-size: 18px;
  }
}


 .menu-secoes {
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  .secoes-lista { display: flex; gap: 1rem; }
  .secao-item { position: relative;
    button { background: none; border: none; font-weight: bold; }
    .categorias-lista {
      position: absolute; top: 100%; left: 0;
      background: white; padding: 0.5rem; box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .subcategorias-lista {
      margin-left: 1rem;
      li a { text-decoration: none; display: block; padding: 0.25rem 0; }
    }
  }
}
  

/* Search Card */
.search-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    padding: 0.8rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
}

.search-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}

.search-wrapper {
    position: relative;
    flex: 1;
    width: 100%;
}



.search-input {
    width: 100%;
    padding: 0.75rem 0.75rem 0.75rem 2.5rem;
    font-size: 1.125rem;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    transition: border-color 0.3s ease;
    background: white;
    height: 3rem;
}

.search-input:focus {
    outline: none;
    border-color: #3b82f6;
}

.controls {
    display: flex;
    gap: 0.5rem;
}

.btn-filter {
    background: white;
    border: 1px solid #d1d5db;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-filter:hover {
    background: #f3f4f6;
}

.view-toggle {
    display: flex;
    border: 0px;
    border-radius: 8px;
    overflow: hidden;
}

.btn-view {
    background: white;
    border: none;
    padding: 0.75rem;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1.25rem;
    border-right: 1px solid #d1d5db;
}

.btn-view:last-child {
    border-right: none;
}

.btn-view.active {
    background: #3b82f6;
    color: white;
}

.btn-view:hover:not(.active) {
    background: #f3f4f6;
}

/* Main Content */
.main-content {
    display: flex;
    gap: 2rem;
}

/* Category Menu */
.category-menu {
    width: 17rem;
    position: sticky;
    top: 1rem;
    align-self: flex-start;
}

.menu-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
}

.menu-header {
    padding: 1.5rem 1.5rem 1rem;
}

.menu-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.menu-title i {
    color: #3b82f6;
}

.btn-clear {
    width: 100%;
    padding: 0.5rem;
    background: white;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.875rem;
    transition: all 0.2s ease;
}

.btn-clear:hover {
    background: #f3f4f6;
}

.menu-content {
    padding: 0 0 1.5rem;
    max-height: calc(100vh - 12rem);
    overflow-y: auto;
}

.sections-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0 0.9rem;
}

/* Section */
.section-item {
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    overflow: hidden;
}

.section-header {
    width: 100%;
    padding: 0.75rem 1rem;
    background: linear-gradient(to right, #f9fafb, #f3f4f6);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    transition: all 0.2s ease;
}

.section-header:hover {
    background: linear-gradient(to right, #dbeafe, #ddd6fe);
}

.section-header.expanded {
    background: linear-gradient(to right, #dbeafe, #ddd6fe);
}

.section-name {
    font-weight: 600;
    color: #374151;
}

.section-icon {
    color: #6b7280;
    transition: transform 0.2s ease;
}

.section-header.expanded .section-icon {
    transform: rotate(90deg);
}

.categories-list {
    background: white;
}

/* Category */
.category-item {
    border-top: 1px solid #f9fafb;
}

.category-header {
    width: 100%;
    padding: 0.75rem 1.5rem;
    background: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    transition: all 0.2s ease;
}

.category-header:hover {
    background: #f9fafb;
}

.category-name {
    font-weight: 500;
    color: #4b5563;
}

.category-icon {
    color: #9ca3af;
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.category-header.expanded .category-icon {
    transform: rotate(90deg);
}

.subcategories-list {
    background: #f8f9fa;
    border-top: 1px solid #f9fafb;
}

/* Subcategory */
.subcategory-item {
    padding: 0.625rem 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.2s ease;
    border-left: 4px solid transparent;
}

.subcategory-item:hover {
    background: #dbeafe;
    color: #2563eb;
}

.subcategory-item.active {
    background: #dbeafe;
    border-left-color: #3b82f6;
    color: #1d4ed8;
    font-weight: 500;
}

.subcategory-name {
    font-size: 0.741rem;
}

.product-count {
    background: #e5e7eb;
    color: #6b7280;
    padding: 0.125rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    transition: all 0.2s ease;
}

.subcategory-item:hover .product-count,
.subcategory-item.active .product-count {
    background: #dbeafe;
    color: #1d4ed8;
}

/* Products Container */
.products-container {
    flex: 1;
}

.filter-badge {
    display: flex;
    margin-bottom: 1.5rem;
    color: #6b7280;
}

.filter-badge span {
    background: #f3f4f6;
 
    padding: 0.25rem 0.75rem;
    border-radius: 16px;
    font-size: 0.741rem;
    margin-top: -20px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.remove-filter {
    margin-top: -17px;
    /* background: none; */
    border: none;
    cursor: pointer;
    color: #fff;
    /* color: #6b7280; */
    padding: 6px;
    border-radius: 50px;
    background: #888;
}

.remove-filter:hover {
    font-size: 0.941rem;
}

.no-products {
padding: 3rem;
    text-align: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.no-products-content {
    color: #9ca3af;
    font-size: 1.125rem;
}

/* Products Grid */
.products-grid {
    display: grid;
    gap: 1.5rem;
}

.products-grid.grid-view {
   grid-template-columns: repeat(3, 1fr);
  /*  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));*/
}

.products-grid.list-view {
    grid-template-columns: 1fr;
}

/* Product Card */
.product-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
    transition: all 0.3s ease;
    overflow: hidden;
    animation: fadeIn 0.3s ease-out;
    width: 90%;
}

.product-card:hover {
    transform: scale(1.02);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.product-card.list-view {
    transform: none;
}

.product-card.list-view:hover {
    transform: scale(1.01);
}

/* Grid View */
.product-image-container {
    position: relative;
    width: 100%;
    height: 12rem;
    background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-card:hover .product-image {
    transform: scale(1.1);
}

.favorite-btn {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.favorite-btn:hover {
    background: white;
    transform: scale(1.1);
}

.product-info {
    padding: 0.9rem;
}

.product-category {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #e5e7eb;
    color: #6b7280;
    padding: 0.125rem 0.5rem;
    border-radius: 12px;
    font-size: 0.75rem;
    display: inline-block;
    margin-bottom: 0.5rem;
}

.product-name {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card:hover .product-name {
    color: #3b82f6;
}

.rating {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 1rem;
}

.stars {
    display: flex;
    gap: 0.125rem;
}

.star {
    font-size: 1rem;
    color: #d1d5db;
}

.star.filled {
    color: #fbbf24;
}

.rating-text {
    font-size: 0.875rem;
    color: #6b7280;
    margin-left: 0.5rem;
}


.product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    gap:0.5em;
}
.details-btn{
background: transparent;
    color: #666;
    border: 1px solid;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 900;
    width: 100%;
    justify-content: center; }
.product-price {
    font-size: 0.8rem;
    font-weight: 700;
    color: #3b82f6;
}

.buy-btn {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.buy-btn:hover {
    background: #2563eb;
    transform: scale(1.05);
}

/* List View */
.product-card.list-view {
    padding: 1.5rem;
}

.product-card.list-view .product-content {
    display: flex;
    gap: 1.5rem;
}

.product-card.list-view .product-image-container {
    width: 8rem;
    height: 8rem;
    flex-shrink: 0;
}

.product-card.list-view .product-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-card.list-view .product-footer {
    margin-top: 0.75rem;
}

.product-card.list-view .product-price {
    font-size: 1.5rem;
}

.product-card.list-view .actions {
    display: flex;
    gap: 0.5rem;
}

.favorite-btn-list {
    background: white;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 0.5rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.favorite-btn-list:hover {
    transform: scale(1.05);
}

/* Responsive */
@media (max-width: 1024px) {
 
  .filter-badge {
    display: flex;
    margin-bottom: 1.5rem;
    color: #6b7280;
    flex-direction: column;
    align-content: center;
    flex-wrap: nowrap;
      margin-bottom: 0px;
}

    .main-content {
        flex-direction: column;
    }
    
    .category-menu {
        width: 100%;
        position: static;
    }
    
    .category-menu.mobile-hidden {
        display: none;
    }
    
    .mobile-only {
        display: flex;
    }
}

@media (min-width: 1024px) {
    .mobile-only {
        display: none;
    }
    
    .search-content {
        flex-direction: row;
    }
    
    .search-wrapper {
        max-width: none;
    }
    
    .view-toggle {
        display: flex;
    }
}

@media (max-width: 640px) {

 
    .title {
        font-size: 2rem;
    }
    
    .subtitle {
        font-size: 1rem;
    }
    
    .search-card {
        padding: 1rem;
    }
    
    .products-grid.grid-view {
        grid-template-columns: 1fr;
    }
    
    .product-card.list-view .product-content {
        flex-direction: column;
    }
    
    .product-card.list-view .product-image-container {
        width: 100%;
        height: 12rem;
    }
    
    .view-toggle {
        display: none;
    }
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Utility Classes */
.hidden {
    display: none;
}

.mobile-hidden {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-hidden {
        display: none;
    }
}


/* ───────────────────────────────────────────────────────────────────────────
   1) Estrutura geral de .cart-item e .cart-item-controls =====================
───────────────────────────────────────────────────────────────────────────── */

.cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #e0e0e0;
}

.cart-item-controls {
  display: flex;
  align-items: center;
}

/* ───────────────────────────────────────────────────────────────────────────
   2) Estilo do input de quantidade (cart-quantity-input) ====================
───────────────────────────────────────────────────────────────────────────── */

.cart-quantity-input {
  width: 3rem;
  height: 2.5rem;
  font-size: 1.1rem;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  background-color: #fafafa;
  outline: none;
  margin: 0 0.25rem;
}

.cart-quantity-input:focus {
  border-color: #5c9ded;
  box-shadow: 0 0 0 2px rgba(92, 157, 237, 0.2);
}

/* Se ainda estiver escondendo o spinner nativo, comente estas linhas: */
/*
.cart-quantity-input::-webkit-inner-spin-button,
.cart-quantity-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cart-quantity-input[type=number] {
  -moz-appearance: textfield;
}
*/

/* ───────────────────────────────────────────────────────────────────────────
   3) Botões de incremento/decremento (qty-btn) ==============================
───────────────────────────────────────────────────────────────────────────── */

.qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  font-size: 1.25rem;
  font-weight: bold;
  color: #333;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  cursor: pointer;
  user-select: none;
}

.qty-btn:hover {
  background-color: #e0e0e0;
}

/* Se quiser uma cor diferente ao apertar: */
.qty-btn:active {
  background-color: #d0d0d0;
}

/* Opcional: diferenciar visualmente “+” e “–” */
.qty-decrement {
  margin-right: 0.25rem;
}
.qty-increment {
  margin-left: 0.25rem;
}

/* ───────────────────────────────────────────────────────────────────────────
   4) Botão “remover” (trash) ================================
───────────────────────────────────────────────────────────────────────────── */

.remove-item-btn {
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}
.remove-item-btn svg {
  stroke: #c0392b;
}
.remove-item-btn:hover svg {
  stroke: #e74c3c;
}

/* ───────────────────────────────────────────────────────────────────────────
   5) Ajuste no footer do carrinho (caso queira reforçar o design)=============
───────────────────────────────────────────────────────────────────────────── */

#cartFooter {
  padding: 1rem;
  border-top: 1px solid #e0e0e0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#cartFooter .cart-total {
  font-weight: bold;
  font-size: 1.1rem;
}
#cartFooter .send-order-button {
  background-color: #27ae60;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
}
#cartFooter .send-order-button:hover {
  background-color: #2ecc71;
}

.cart-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.cart-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem;
    background: #f9fafb;
    border-radius: 0.5rem;
}

.item-info h3 {
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.item-info p {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.quantity-badge {
    background: #e5e7eb;
    color: #374151;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.item-price {
    text-align: right;
}

.total-price {
    font-weight: bold;
    font-size: 1.125rem;
    color: #16a34a;
    margin-bottom: 0.25rem;
}

.unit-price {
    font-size: 0.875rem;
    color: #6b7280;
}

.cart-total {
    border-top: 1px solid #e5e7eb;
    padding-top: 1rem;
}

.total-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.25rem;
    font-weight: bold;
}

.total-amount {
    color: #16a34a;
}

/* Send Order Button */
.send-order-section {
    text-align: center;
}

.send-order-btn {
    background: #16a34a;
    color: white;
    border: none;
    padding: 1rem 2rem;
    font-size: 1.25rem;
    font-weight: 600;
    border-radius: 0.75rem;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
}

.send-order-btn:hover {
    background: #15803d;
    transform: scale(1.05);
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: white;
    border-radius: 0.75rem;
    max-width: 768px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.5rem;
    position: relative;
    animation: modalEnter 0.3s ease-out;
}

@keyframes modalEnter {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.close-btn {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #6b7280;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-btn:hover {
    background: #f3f4f6;
}

/* Progress Bar */
.progress-section {
    margin-bottom: 2rem;
}

.progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
}

.progress-bar {
    width: 100%;
    height: 0.5rem;
    background: #e5e7eb;
    border-radius: 0.25rem;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(to right, #f97316, #dc2626);
    border-radius: 0.25rem;
    transition: width 0.6s ease-out;
    width: 25%;
}

/* Step Content */
.step-content {
    margin-bottom: 2rem;
    min-height: 300px;
}

.step-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.step-header h2 {
    font-size: 1.5rem;
    font-weight: bold;
    color: #1f2937;
    margin-bottom: 0.5rem;
}

.step-header p {
    color: #6b7280;
}

/* Form Elements */
.form-group {
    margin-bottom: 1rem;
}

.form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: #374151;
}

.form-input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 1rem;
    transition: border-color 0.2s;
}

.form-input:focus {
    outline: none;
    border-color: #f97316;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
}

.form-input:read-only {
    background: #f9fafb;
}

/* Radio Groups */
.radio-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.radio-option {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.radio-option:hover {
    background: #fef7ed;
    border-color: #f97316;
}

.radio-option.selected {
    background: #fef7ed;
    border-color: #f97316;
}

.radio-input {
    margin: 0;
}

.option-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.option-emoji {
    font-size: 1.5rem;
}

.option-text h3 {
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.option-text p {
    font-size: 0.875rem;
    color: #6b7280;
}

/* Address Form */
.address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.cep-section {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.cep-search-btn {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.2s;
}

.cep-search-btn:hover {
    background: #e5e7eb;
}

/* Payment Info */
.payment-extra {
    background: #fefce8;
    border: 1px solid #fde047;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-top: 1rem;
    animation: fadeIn 0.3s ease-out;
}

.change-options {
    display: flex;
    gap: 1.5rem;
    margin: 0.5rem 0;
}

.change-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Store Info */
.store-info {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 0.5rem;
    padding: 1.5rem;
    text-align: center;
}

.store-info .store-emoji {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.store-info h3 {
    font-weight: bold;
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    color: #1f2937;
}

.store-info p {
    color: #374151;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.prep-time {
    background: #16a34a;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-block;
}

/* Navigation */
.modal-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-btn {
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    font-size: 1rem;
}

.back-btn {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.back-btn:hover:not(:disabled) {
    background: #e5e7eb;
}

.back-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.next-btn {
    background: #f97316;
    color: white;
}

.next-btn:hover:not(:disabled) {
    background: #ea580c;
}

.next-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.submit-btn {
    background: #16a34a;
    color: white;
}

.submit-btn:hover:not(:disabled) {
    background: #15803d;
}

.submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.3s ease-out;
}

/* Responsive */
@media (max-width: 768px) {
    .cart-item {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .item-price {
        text-align: left;
    }
    
    .address-grid {
        grid-template-columns: 1fr;
    }
    
    .modal-content {
        margin: 0;
        border-radius: 0;
        max-height: 100vh;
        height: 100%;
    }
    
    .change-options {
        flex-direction: column;
        gap: 0.75rem;
    }
}
.stepTitle{
position: relative;
    left: -31px;
}

        .grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: center;
          /* margin-bottom: 5rem;*/ 
        }

        @media (max-width: 768px) {
            .grid {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
        }

        /* Produto Visual */
        .produto-visual {
            position: relative;
        }

        .produto-mockup {
            background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
            border-radius: 1.5rem;
            padding: 2rem;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            position: relative;
        }

        .tablet {
            background: #1f2937;
            border-radius: 1rem;
            padding: 1rem;
            transform: rotate(3deg);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        .tablet-content {
            background: #c084fc;
            border-radius: 0.75rem;
            padding: 2rem;
            height: 20rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: white;
        }

        .icon-placeholder {
            width: 3rem;
            height: 3rem;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .smartphone {
            position: absolute;
            top: 5rem;
            right: -1rem;
            background: #1f2937;
            border-radius: 1rem;
            padding: 0.5rem;
            transform: rotate(-12deg);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        .smartphone-content {
            background: #c084fc;
            border-radius: 0.75rem;
            padding: 1rem;
            width: 6rem;
            height: 10rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 0.75rem;
        }

        .headphones {
            position: absolute;
            top: -1rem;
            left: -2rem;
            font-size: 6rem;
            color: #7c3aed;
            transform: rotate(12deg);
        }

        .rating {
            display: flex;
            justify-content: center;
            margin-top: 2rem;
            gap: 0.25rem;
        }

        .star {
            color: #fbbf24;
            font-size: 1.5rem;
        }

        /* Informações do Produto */
        .produto-info h1 {
            font-size: 3rem;
            font-weight: bold;
            color: #1f2937;
            margin-bottom: 1rem;
        }

        .produto-info p {
            font-size: 1.25rem;
            color: #6b7280;
            margin-bottom: 1.5rem;
        }

        .preco {
            background: #fef3c7;
            border: 2px solid #fcd34d;
            border-radius: 1rem;
            padding: 0.75rem 1.5rem;
            display: inline-block;
            margin-bottom: 2rem;
        }

        .preco span {
            font-size: 2rem;
            font-weight: bold;
            color: #1f2937;
        }

        .btn-comprar {
            background: #7c3aed;
            color: white;
            padding: 1.5rem 2rem;
            border: none;
            border-radius: 1rem;
            font-size: 1.125rem;
            font-weight: 600;
            cursor: pointer;
            width: 100%;
            margin-bottom: 1.5rem;
            transition: all 0.3s ease;
        }

        .btn-comprar:hover {
            background: #6d28d9;
            transform: translateY(-2px);
        }

        .features {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            margin-top: 2rem;
        }

        .feature {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .feature-icon {
            color: #7c3aed;
            font-size: 1.5rem;
        }

        /* Cards */
        .card {
            background: white;
            border-radius: 1.5rem;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            margin-bottom: 4rem;
        }

        .card-content {
            padding: 3rem;
        }

        .card h2 {
            font-size: 2rem;
            font-weight: bold;
            color: #1f2937;
            margin-bottom: 1.5rem;
        }

        .card p {
            color: #6b7280;
            margin-bottom: 1.5rem;
        }

        /* Especificações Técnicas */
        .especificacoes {
            background: linear-gradient(to right, #faf5ff, #f3e8ff);
        }

        .specs-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
        }

        @media (max-width: 768px) {
            .specs-grid {
                grid-template-columns: 1fr;
            }
        }

        .spec-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 0;
            border-bottom: 1px solid #e5b4f3;
        }

        .spec-label {
            font-weight: 600;
            color: #374151;
        }

        .spec-value {
            color: #6b7280;
        }

        /* FAQ */
        .faq-item {
            margin-bottom: 1rem;
        }

        .faq-trigger {
            width: 100%;
            padding: 1.5rem;
            text-align: left;
            background: white;
            border: none;
            border-radius: 1rem;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 1.125rem;
            font-weight: 600;
            color: #1f2937;
        }

        .faq-trigger:hover {
            background: #f9fafb;
        }

        .faq-content {
            display: none;
            padding: 1.5rem;
            color: #6b7280;
            background: white;
            border-radius: 0 0 1rem 1rem;
        }

        .faq-content.active {
            display: block;
        }

        .chevron {
            transition: transform 0.3s ease;
        }

        .chevron.rotated {
            transform: rotate(180deg);
        }

        /* Comentários */
        .comments-trigger {
            width: 100%;
            padding: 2rem;
            text-align: left;
            background: white;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .comments-trigger:hover {
            background: #f9fafb;
        }

        .comments-content {
            display: none;
            padding: 2rem;
        }

        .comments-content.active {
            display: block;
        }

        .comment {
            background: #f9fafb;
            border-radius: 1rem;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .comment-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 1rem;
        }

        .comment-user {
            font-weight: 600;
            color: #1f2937;
        }

        .comment-date {
            font-size: 0.875rem;
            color: #6b7280;
        }

        .comment-rating {
            display: flex;
            gap: 0.25rem;
        }

        .comment-text {
            color: #374151;
        }

        .btn-secondary {
            background: transparent;
            color: #7c3aed;
            border: 2px solid #7c3aed;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-secondary:hover {
            background: #faf5ff;
        }

        /* Icons */
        .icon {
            display: inline-block;
            width: 1.5rem;
            height: 1.5rem;
        }

        @media (max-width: 768px) {
            .produto-info h1 {
                font-size: 2rem;
            }
            
            .btn-comprar {
                width: 100%;
            }
            
            .features {
                grid-template-columns: 1fr;
            }
        }


        
      .search-card {
  width: 100%;
  background: #fff; /* ou a cor de fundo que preferir */
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  padding: 0.5rem 1rem;
}

.search-content {
  display: flex;
  align-items: center;
  gap: 1rem; /* espaçamento entre os elementos */
}

/* 1. Logomarca */
.logo-wrapper {
  display: flex;
  align-items: center;
}
.company-logo {
  height: 40px; /* ajuste conforme o tamanho desejado */
  object-fit: contain;
}

/* 2. Campo de busca + badge */
.search-wrapper {
  position: relative;
  display: flex;
  flex-direction: column; /* para que o badge fique abaixo do input */
  flex: 1; /* faz o campo de busca ocupar o espaço restante possível */
}

.search-icon {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  color: #999;
  font-size: 1rem;
  pointer-events: none;
}

.search-input {
  width: 100%;
  padding: 0.5rem 0.75rem 0.5rem 2.5rem; /* sobra espaço para o ícone à esquerda */
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

.filter-badge {
    background: transparent;
    color: #333;
    padding: 0.25rem 0.5rem;
    border-radius: 0px 0px 10px 10px;
    font-size: 0.875rem;
    display: inline-flex;
    gap: 0.5rem;
    flex-direction: row;
    align-items: center;
     margin-bottom: -20px;
}

.filter-badge.hidden {
  display: none;
}

/* 3. Carrinho */
.cart-wrapper {
  display: flex;
  align-items: center;
}
.cart-button {
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  font-size: 1.25rem;
  color: #555;
}

/* Se quiser fixar o botão de carrinho no canto da tela, pode usar:

/* 4. Controles de visualização e filtro */

.controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.btn-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  background: #0066cc;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  cursor: pointer;
}

.view-toggle {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.btn-view {
  background: none;
  border: 1px solid #ccc;
  padding: 0.4rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  color: #555;
}
.btn-view.active {
  background: #0066cc;
  border-color: #0066cc;
  color: #fff;
}


/*Login */
.login-section {
    display: flex;
    justify-content: center!important;
    align-items: center;
    min-height: 100vh;
    background: linear-gradient(to right, #ece9f2, #f9f9f9);
}
.login-container {
    width: 100%;
    max-width: 420px;
    padding: 2rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
}
.login-box h2 {
    font-weight: 700;
    margin-bottom: 0.8rem;
}
.login-form input {
    width: 100%;
    padding: 0.9rem 1rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 1rem;
}
.input-wrapper {
    position: relative;
    margin-bottom: 1rem;
}
.eye-button {
  width: 50px !important;
    position: absolute;
    top: 50%;
    right: 36px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    color: #666;
}
.inputcheck {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: green;
    display: block;
}
.inputcheck.error {
    color: red;
}
.password-rules {
    font-size: 0.85rem;
    margin-bottom: 1rem;
    color: #666;
    list-style: none;
    padding-left: 0;
}
.password-rules li::before {
    content: '• ';
    color: #5100ec;
}
.password-rules li.ok {
    color: green;
    font-weight: bold;
}
.login-form button {
    width: 100%;
    padding: 0.9rem;
    background: #5100ec;
    color: white;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    transition: 0.3s ease-in-out;
}
.login-form button:hover {
    background: #3f00b5;
}

@media (min-width: 768px) {
  #nav-carousel-container {
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    position: relative;
  }

  .carousel-btn {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    margin: 4px 0;
  }
  
}


