@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

html, body {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	width: 100% !important;
	max-width: 100% !important;
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch !important;
	height: 100%;
	padding-bottom: 100px;
	position: relative;
}

a:hover, a:focus {
    text-decoration: none;
    outline: 0;
    -moz-outline-style: none;
}

.card, .list-group-item {
	background: rgba(255,255,255,0.85) !important;
}

.btn:focus, .btn:active, .form-control:focus, .form-control:active {
	outline: none !important;
    box-shadow: none !important;
}

.logo {
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center !important;
}

.btn-qtd:disabled {
	color: #c4c4c4 !important;
}
.btn-qtd {
	background: none !important;
	outline: none;
	border: none;
}
.btn-qtd:focus {
	color: inherit;
}
.quantidade {
	width: 40px;
	max-width: 40px;
	background: none !important;
	padding: 0;
	border: none;
}
.quantidade[data-opcao] {
	width: 30px;
	max-width: 30px;
}


#pedido {
	max-height: 70vh;
}
#pedido #detalhes_pedido {
	overflow-y: auto !important;
	max-height: 60vh !important;
}


[onclick] {
	cursor: pointer;
}




.owl-carousel, .owl-carousel .card {
	height: 290px;
}

.owl-carousel .owl-prev, .owl-carousel .owl-next {
	position: absolute;
	top: 46%;
	font-size: 25px !important;
}
.owl-carousel .owl-prev {
	left: -30px;
}
.owl-carousel .owl-next {
	right: -30px;
}

.img-produto {
	height: 0;
	padding-bottom: 55%;
	background-color: transparent;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center !important;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.list-group-item .img-produto {
	min-width: 70px;
	width: 70px;
	height: 70px;
	min-height: 70px;
	padding-bottom: 0;
}
.produto-thumb { width:96px; height:76px; object-fit:cover; flex:0 0 auto; }



.modal-body {
	overflow-x: hidden;
}
.modal-dialog {
	height: 100% !important;
}


@media(max-width: 768px) {
	.categorias {
		overflow-x: scroll;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}
	.owl-carousel .owl-prev, .owl-carousel .owl-next {
		font-size: 18px;
	}
	.owl-carousel .owl-prev {
		left: -21px;
	}
	.owl-carousel .owl-next {
		right: -21px;
	}
}

.categoria:after {
	content: '';
	position: relative;
	display: block;
	margin-top: 3px;
	width: 30px;
	height: 2px;
	background: #6c757d;
	border-radius: 2px;
}

/* Experiência de pedido: foco nos produtos e nos formulários do checkout. */
body { background:#f7f9fc; color:#263548; }
.container { max-width:1120px; }
.card,.list-group-item { border-color:#edf1f6!important; }
.card { border-radius:1rem; box-shadow:0 .25rem 1rem rgba(26,56,92,.07); overflow:hidden; }
.list-group-item { padding:1rem; transition:background-color .16s ease,transform .16s ease; }
.list-group-item[onclick]:hover { background:#fff!important; transform:translateY(-1px); }
.btn { min-height:40px; border-radius:.75rem; font-weight:600; }
.form-control,.form-select,.select2-container--default .select2-selection--single { min-height:44px; border-color:#d8e0eb!important; border-radius:.75rem!important; }
.form-control:focus,.form-select:focus { border-color:#86b7fe!important; box-shadow:0 0 0 .22rem rgba(13,110,253,.12)!important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:42px; padding-left:.8rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; right:.35rem; }
.modal-content { border:0; border-radius:1.15rem; overflow:hidden; box-shadow:0 1rem 3rem rgba(26,56,92,.22); }
.modal-header,.modal-footer { padding:1rem 1.25rem; border-color:#edf1f6; }
.modal-body { padding:1.25rem; }
.option-card { box-shadow:none; border-color:#d8e0eb; }
.option-card:hover { border-color:#86b7fe; background:#f8fbff; }
#pedido { border-radius:1rem 1rem 0 0; overflow:hidden; box-shadow:0 -.5rem 2rem rgba(26,56,92,.16)!important; }
#pedido .btn-primary { border-radius:.75rem; }
@media (max-width:767.98px) {
	body { padding-bottom:88px; }
	.container { padding-left:1rem!important; padding-right:1rem!important; }
	#pedido { width:100%; max-width:none; }
	.list-group-item { padding:.9rem 1rem; }
	.produto-thumb { width:82px; height:70px; }
}

/* ===== Tema 2026: topo, categorias, produtos e sacola ===== */
:root { --cx-borda:#e6ebf2; --cx-texto:#1f2a3a; --cx-suave:#6b778a; --cx-primaria:var(--bs-primary,#0d6efd); --barra-h:56px; }
:root, html, body { scroll-behavior:auto!important; }
body.cardapio-body { background:linear-gradient(180deg,#eaf1fb 0,#f6f8fc 260px,#f6f8fc 100%) fixed; color:var(--cx-texto); padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
.min-w-0 { min-width:0; }

/* topo da loja */
.topo-loja { max-width:1120px; margin:0 auto; padding:1.25rem 15px .9rem; }
.topo-conteudo { display:flex; align-items:center; gap:1rem; }
.topo-logo { width:76px; flex:0 0 76px; }
.topo-logo .logo { box-shadow:0 0 0 3px #fff, 0 .5rem 1.25rem rgba(26,56,92,.18); }
.topo-nome { font-size:1.3rem; font-weight:700; letter-spacing:-.01em; margin:0 0 .5rem; line-height:1.2; }
.topo-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.chip { display:inline-flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--cx-borda); border-radius:999px; padding:.25rem .7rem; font-size:.78rem; color:var(--cx-suave); text-decoration:none; }
.chip i { color:var(--cx-primaria); }
.chip-link { color:var(--cx-texto); font-weight:500; }
.chip-seta { font-size:.62rem; transition:transform .2s; }
.chip-link[aria-expanded="true"] .chip-seta { transform:rotate(180deg); }
.topo-horarios { background:#fff; border:1px solid var(--cx-borda); border-radius:.9rem; margin-top:.8rem; padding:.55rem .95rem; font-size:.85rem; }
.horario-dia { width:7.5rem; flex:0 0 7.5rem; }

/* barra de categorias (fixa no topo) */
.categorias-barra { position:sticky; top:0; z-index:1020; background:rgba(246,248,252,.92); -webkit-backdrop-filter:saturate(180%) blur(10px); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid var(--cx-borda); padding-top:env(safe-area-inset-top); }
.categorias-barra .categorias { position:relative; max-width:1120px; margin:0 auto; padding:.5rem 15px; gap:.4rem; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.categorias-barra .categorias::-webkit-scrollbar { display:none; }
.categorias .nav-link { font-size:.78rem; font-weight:600; line-height:1.2; padding:.38rem .85rem; border-radius:999px; color:var(--cx-suave); background:#fff; border:1px solid var(--cx-borda); transition:background-color .18s, color .18s, border-color .18s, box-shadow .18s; }
.categorias .nav-link.active { color:#fff; background:var(--cx-primaria); border-color:var(--cx-primaria); box-shadow:0 .25rem .65rem rgba(13,110,253,.28); }

/* lista de produtos: ocupa 100% da largura, com respiro de 15px nas laterais */
.cat-bloco { width:100%; max-width:1120px; margin:0 auto; scroll-margin-top:var(--barra-h); }
.cat-bloco .categoria { margin:0; padding:1.5rem 15px .6rem; font-size:1.1rem; font-weight:700; color:var(--cx-texto); }
.cat-bloco .categoria:after { display:none; }
.produtos-lista { background:#fff; border-top:1px solid var(--cx-borda); border-bottom:1px solid var(--cx-borda); }
.produto-item { display:flex; align-items:flex-start; gap:.9rem; width:100%; padding:.95rem 15px; text-align:left; color:inherit; background:#fff; border:0; border-bottom:1px solid var(--cx-borda); transition:background-color .15s; }
.produto-item:last-child { border-bottom:0; }
.produto-item:hover, .produto-item:active { background:#f5f9ff; }
.produto-info { flex:1; min-width:0; }
.produto-nome { font-weight:600; font-size:.98rem; line-height:1.3; }
.produto-desc { margin-top:.2rem; color:var(--cx-suave); font-size:.84rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.produto-preco { margin-top:.4rem; font-weight:700; font-size:.92rem; color:var(--cx-primaria); }
.produto-preco del { color:var(--cx-suave); font-weight:400; }
.produto-thumb { width:92px; height:92px; flex:0 0 auto; object-fit:cover; border-radius:.85rem; box-shadow:0 .2rem .6rem rgba(26,56,92,.14); }
@media (min-width:768px) {
	.cat-bloco { padding:0 15px; }
	.produtos-lista { border:1px solid var(--cx-borda); border-radius:1rem; overflow:hidden; box-shadow:0 .25rem 1rem rgba(26,56,92,.06); }
	.cat-bloco .categoria { padding-left:2px; }
}

/* sacola (carrinho fixo) */
#pedido { background:#fff; z-index:1030; max-height:82vh; border-radius:1.1rem 1.1rem 0 0; overflow:hidden; box-shadow:0 -.5rem 2rem rgba(26,56,92,.2)!important; padding-bottom:env(safe-area-inset-bottom)!important; }
#pedido #detalhes_pedido { overflow-y:auto!important; max-height:58vh!important; background:#fff; }
.sacola-topo { display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; background:var(--cx-primaria); color:#fff; font-weight:600; text-decoration:none; }
.sacola-topo:hover, .sacola-topo:focus { color:#fff; }
.sacola-qtd { display:inline-flex; align-items:center; justify-content:center; min-width:1.7rem; height:1.7rem; padding:0 .45rem; border-radius:999px; background:#fff; color:var(--cx-primaria); font-size:.8rem; font-weight:700; }
.sacola-seta { margin-left:.5rem; font-size:.75rem; transition:transform .2s; }
.sacola-topo[aria-expanded="true"] .sacola-seta { transform:rotate(180deg); }
.sacola-total { font-weight:700; }
.sacola-corpo { padding:.25rem 1rem 1rem; }
.sacola-item { display:flex; gap:.75rem; padding:.85rem 0; border-bottom:1px solid var(--cx-borda); }
.sacola-item-info { flex:1; min-width:0; }
.sacola-item-nome { font-weight:600; font-size:.92rem; line-height:1.3; }
.sacola-extra { margin-top:.15rem; color:var(--cx-suave); font-size:.8rem; line-height:1.3; }
.sacola-item-lado { display:flex; flex-direction:column; align-items:flex-end; gap:.45rem; flex:0 0 auto; }
.sacola-preco { font-weight:700; font-size:.9rem; min-height:1.1rem; }
.sacola-stepper { display:inline-flex; align-items:center; padding:2px; background:#f3f6fb; border:1px solid var(--cx-borda); border-radius:999px; }
.sacola-stepper button { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--cx-primaria); font-size:.75rem; box-shadow:0 1px 2px rgba(0,0,0,.12); transition:transform .1s; }
.sacola-stepper button:active { transform:scale(.92); }
.sacola-stepper button.remover { color:#dc3545; }
.sacola-stepper button:disabled { opacity:.55; }
.sacola-stepper .n { min-width:1.9rem; text-align:center; font-weight:700; font-size:.9rem; }
.sacola-resumo { display:flex; justify-content:space-between; padding:.85rem 0 .75rem; font-weight:700; }
.sacola-minimo { display:flex; align-items:center; gap:.5rem; padding:.6rem .8rem; border-radius:.8rem; background:#fff4d6; color:#7a5a00; font-size:.85rem; font-weight:600; }
@media (max-width:767.98px) {
	.topo-loja { padding-top:1rem; }
	.topo-logo { width:64px; flex-basis:64px; }
	.topo-nome { font-size:1.15rem; }
}

/* ===== Tela de acompanhamento do pedido ===== */
.pedido-pagina { max-width:560px; margin:0 auto; padding:1.25rem 15px .5rem; }
.pedido-topo { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.pedido-logo { width:60px; flex:0 0 60px; }
.pedido-logo .logo { box-shadow:0 0 0 3px #fff, 0 .4rem 1rem rgba(26,56,92,.18); }
.pedido-loja { font-size:1.15rem; font-weight:700; letter-spacing:-.01em; margin:0 0 .4rem; line-height:1.2; }
.pedido-card { background:#fff; border:1px solid var(--cx-borda); border-radius:1.1rem; padding:1.1rem 1rem; margin-bottom:1rem; box-shadow:0 .25rem 1rem rgba(26,56,92,.06); }
.pedido-titulo { font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--cx-suave); margin:0 0 .75rem; }
.logo-rodape { width:96px; opacity:.85; }

/* status + barra de progresso animada */
.status-hero { text-align:center; font-weight:700; font-size:1.15rem; line-height:1.3; margin-bottom:1.1rem; }
.status-hero i { margin-bottom:.35rem; }
.status-hero .small { margin-top:.2rem; color:var(--cx-suave); font-weight:400; font-size:.85rem!important; }
.progresso { position:relative; display:grid; grid-template-columns:repeat(4,1fr); padding-top:.2rem; }
.progresso-linha { position:absolute; top:calc(.2rem + 17px); left:12.5%; width:75%; height:6px; border-radius:999px; background:#e6ebf2; overflow:hidden; }
.progresso-fill { height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--cx-primaria),#5aa2ff,var(--cx-primaria)); background-size:200% 100%; animation:progresso-fluxo 1.6s linear infinite; transition:width .9s cubic-bezier(.4,0,.2,1); }
@keyframes progresso-fluxo { from { background-position:200% 0; } to { background-position:0 0; } }
.progresso-etapa { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:.45rem; text-align:center; }
.progresso-ponto { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#fff; border:3px solid #e6ebf2; color:#aab4c3; font-size:.9rem; transition:background-color .4s, border-color .4s, color .4s; }
.progresso-rotulo { font-size:.74rem; font-weight:600; color:var(--cx-suave); line-height:1.15; }
.progresso-etapa.feita .progresso-ponto { background:var(--cx-primaria); border-color:var(--cx-primaria); color:#fff; }
.progresso-etapa.feita .progresso-rotulo, .progresso-etapa.atual .progresso-rotulo { color:var(--cx-texto); }
.progresso-etapa.atual .progresso-ponto { border-color:var(--cx-primaria); color:var(--cx-primaria); animation:progresso-pulso 1.5s ease-out infinite; }
@keyframes progresso-pulso { 0% { box-shadow:0 0 0 0 rgba(13,110,253,.45); } 70% { box-shadow:0 0 0 12px rgba(13,110,253,0); } 100% { box-shadow:0 0 0 0 rgba(13,110,253,0); } }
.status-card.concluido .progresso-fill { background:#198754; animation:none; }
.status-card.concluido .progresso-ponto { background:#198754; border-color:#198754; color:#fff; }
.status-card.cancelado .progresso-fill { width:0!important; }
.status-card.cancelado .progresso-ponto { border-color:#f1c5c9; color:#e4a1a7; animation:none; }
.status-card.cancelado .previsao { display:none; }
.previsao { display:flex; align-items:center; justify-content:center; gap:.75rem; margin-top:1.25rem; padding:.75rem 1rem; border-radius:.9rem; background:rgba(13,110,253,.06); }
.previsao > i { font-size:1.4rem; color:var(--cx-primaria); }
.previsao-rotulo { display:block; font-size:.78rem; color:var(--cx-suave); }
.previsao-hora { font-size:1.4rem; line-height:1.1; }
.status-nota { margin-top:.9rem; text-align:center; font-size:.75rem; color:var(--cx-suave); }

/* detalhes e resumo */
.info-linha { display:flex; gap:.75rem; padding:.55rem 0; font-size:.9rem; }
.info-linha > i { margin-top:.2rem; color:var(--cx-primaria); }
.info-rotulo { display:block; font-size:.75rem; color:var(--cx-suave); }
.pedido-acoes { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-bottom:1rem; }
.resumo-linha { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; font-size:.92rem; font-weight:600; }
.resumo-qtd { color:var(--cx-primaria); margin-right:.4rem; }
.resumo-valor { white-space:nowrap; }
.resumo-sub { display:flex; justify-content:space-between; gap:1rem; padding:.1rem 0 .1rem 1.55rem; font-size:.82rem; color:var(--cx-suave); }
.resumo-totais { margin-top:.8rem; padding-top:.8rem; border-top:1px dashed #ced4da; }
.resumo-totais .resumo-sub { padding-left:0; font-size:.88rem; padding-top:.2rem; padding-bottom:.2rem; }
.resumo-total { display:flex; justify-content:space-between; align-items:center; margin-top:.5rem; padding-top:.6rem; border-top:1px solid var(--cx-borda); font-weight:600; }
.resumo-total strong { font-size:1.35rem; color:var(--cx-primaria); }
