/* Cadastro empresa: grids para campos lado a lado */
.form-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 10px;
}
.form-grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	margin-bottom: 10px;
}
@media (max-width: 820px) {
	.form-grid-2, .form-grid-3 {
		grid-template-columns: 1fr;
	}
}
.orders-totals-horizontal {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	margin-top: 14px;
}
.orders-totals-row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	min-width: 240px;
	width: 100%;
	max-width: 320px;
	font-size: 1.04em;
}
.orders-totals-label {
	flex: 1 1 auto;
	text-align: left;
	font-weight: 400;
	color: #222;
}
.orders-totals-value {
	flex: 0 0 auto;
	text-align: right;
	min-width: 80px;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: #111;
	margin-left: 18px;
}
.orders-total .orders-totals-label {
	font-weight: 700;
	letter-spacing: 0.04em;
}
.orders-total .orders-totals-value {
	font-size: 1.12em;
	color: #000;
}
:root{
	color-scheme: light dark;
	accent-color: var(--brand);
	--radius: 14px;
	--radius-sm: 10px;
	--pad: 14px;
	--pad-sm: 10px;
	--max: 980px;
	--border: currentColor;
	--surface: Canvas;
	--surface-2: Canvas;
	--brand: #F97316;
	--ring: var(--brand);
	--accent-soft: var(--brand);
	--status-open: #16a34a;
	--status-closed: #dc2626;
}

@supports (color: color-mix(in srgb, black 50%, white)){
	:root{
		--border: color-mix(in srgb, CanvasText 18%, Canvas);
		--surface: color-mix(in srgb, Canvas 94%, CanvasText);
		--surface-2: color-mix(in srgb, Canvas 88%, CanvasText);
		--ring: color-mix(in srgb, AccentColor 78%, CanvasText);
		--accent-soft: color-mix(in srgb, AccentColor 18%, Canvas);
	}
}

*{box-sizing:border-box;}

body{
	margin:0;
	padding:0;
	background:
		radial-gradient(900px 520px at 15% 0%, color-mix(in srgb, AccentColor 26%, Canvas) 0%, Canvas 60%),
		radial-gradient(760px 520px at 95% 10%, color-mix(in srgb, AccentColor 18%, Canvas) 0%, Canvas 62%),
		radial-gradient(860px 540px at 40% 95%, color-mix(in srgb, AccentColor 14%, Canvas) 0%, Canvas 68%),
		Canvas;
	color: CanvasText;
	/* Prioriza fontes do sistema sem depender de fontes externas */
	font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, -apple-system, sans-serif;
	line-height: 1.4;
}


.container{max-width:var(--max);margin:0 auto;padding:18px;}

.app-header{
	position: sticky;
	top: 0;
	z-index: 30;
	background:
		linear-gradient(135deg,
			color-mix(in srgb, AccentColor 16%, Canvas) 0%,
			color-mix(in srgb, AccentColor 6%, Canvas) 55%,
			Canvas 100%);
	border-bottom: 1px solid var(--border);
}

@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
	.app-header{
		background: color-mix(in srgb, Canvas 80%, AccentColor 10%);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
}

.app-main{padding: 18px 0 28px 0;}


.app-header .topbar{padding: 10px 0;}

.topbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
}

.brand{
	font-weight:700;
	letter-spacing: -0.01em;
}

.brand-with-logo{display:flex;align-items:center;gap:10px;}

.sys-logo{
	width: 28px;
	height: 28px;
	object-fit: contain;
	display:block;
}

.app-header .sys-logo{
	width: auto;
	height: 42px;
	max-width: 180px;
}

.app-header nav .btn{
	border-radius: 999px;
	padding: 10px 16px;
}

.app-header nav .btn-ghost{
	background: color-mix(in srgb, AccentColor 8%, Canvas);
}

/* Admin layout: sidebar with icon navigation */
.admin-page .app-main{padding: 18px 0 28px 0;}

/* Admin: colored nav buttons (sidebar stays neutral/white) */
:root{
	--admin-orders: #f97316; /* laranja */
	--admin-reports: #2563eb; /* azul */
	--admin-products: #16a34a; /* verde */
	--admin-categories: #7c3aed; /* roxo */
	--admin-option-groups: #e11d48; /* rosa/vermelho */
	--admin-delivery-zones: #0ea5e9; /* azul claro */
	--admin-routes: #14b8a6; /* teal */
	--admin-settings: #64748b; /* cinza */
	--admin-copy-link: #0ea5e9; /* azul claro */
	--admin-logout: #dc2626; /* vermelho */
}

.admin-layout{
	min-height: 100vh;
	display: flex;
	align-items: stretch;
}

.admin-sidebar{
	position: sticky;
	top: 0;
	align-self: flex-start;
	height: 100vh;
	width: 120px;
	padding: 14px 10px;
	border-right: 1px solid var(--border);
	background: Canvas;
	box-shadow: 0 12px 28px color-mix(in srgb, CanvasText 10%, transparent);
}

.admin-sidebar-brand{display:flex;justify-content:center;margin-bottom: 12px;}
.admin-brand-link{display:flex;align-items:center;justify-content:center;width: 68px;height: 68px;border-radius: 18px;}
.admin-brand-link:hover{text-decoration:none;}
.admin-brand-logo{width: 58px;height: 58px;object-fit: contain;display:block;}

.admin-nav{display:flex;flex-direction:column;gap:10px;}
.admin-nav [data-admin-nav-toggle]{display:none;}

.admin-nav-item{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap: 6px;
	padding: 10px 8px;
	border-radius: 16px;
	min-height: 80px;
	width: 100%;
	color: color-mix(in srgb, CanvasText 86%, Canvas);
	text-decoration:none;
	border: 1px solid transparent;
	background: transparent;
	transition: background 140ms ease, border-color 140ms ease, filter 140ms ease;
}

.admin-nav-item:hover{
	text-decoration:none;
	background: color-mix(in srgb, Canvas 94%, AccentColor 4%);
	border-color: color-mix(in srgb, var(--border) 75%, Canvas);
}

.admin-nav-item.is-active{
	background: color-mix(in srgb, Canvas 92%, AccentColor 6%);
	border-color: color-mix(in srgb, AccentColor 24%, var(--border));
	color: CanvasText;
}

/* Colored admin buttons (by item) */
.admin-nav-item--orders{--admin-btn: var(--admin-orders);}
.admin-nav-item--reports{--admin-btn: var(--admin-reports);}
.admin-nav-item--products{--admin-btn: var(--admin-products);}
.admin-nav-item--categories{--admin-btn: var(--admin-categories);}
.admin-nav-item--option-groups{--admin-btn: var(--admin-option-groups);}
.admin-nav-item--delivery-zones{--admin-btn: var(--admin-delivery-zones);}
.admin-nav-item--routes{--admin-btn: var(--admin-routes);}
.admin-nav-item--coupons{--admin-btn: var(--admin-delivery-zones);}
.admin-nav-item--settings{--admin-btn: var(--admin-settings);}
.admin-nav-item--billing{--admin-btn: var(--admin-reports);}
.admin-nav-item--copy-link{--admin-btn: var(--admin-copy-link);}
.admin-nav-item--logout{--admin-btn: var(--admin-logout);}

/* Minimal sidebar: keep per-section color as subtle icon accent only */
.admin-nav-item--orders,
.admin-nav-item--reports,
.admin-nav-item--products,
.admin-nav-item--categories,
.admin-nav-item--option-groups,
.admin-nav-item--delivery-zones,
.admin-nav-item--routes,
.admin-nav-item--coupons,
.admin-nav-item--settings,
.admin-nav-item--billing,
.admin-nav-item--copy-link,
.admin-nav-item--logout{
	background: transparent;
	border-color: transparent;
	color: CanvasText;
}

.admin-nav-item--logout{color: CanvasText;}

.admin-nav-icon{
	width: 46px;
	height: 46px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	background: color-mix(in srgb, Canvas 94%, CanvasText 2%);
}
.admin-nav-icon svg{width: 30px;height: 30px;display:block;}
.admin-nav-icon img{width: 30px;height: 30px;display:block;object-fit: contain;}

.admin-nav-item--orders .admin-nav-icon,
.admin-nav-item--reports .admin-nav-icon,
.admin-nav-item--products .admin-nav-icon,
.admin-nav-item--categories .admin-nav-icon,
.admin-nav-item--option-groups .admin-nav-icon,
.admin-nav-item--delivery-zones .admin-nav-icon,
.admin-nav-item--routes .admin-nav-icon,
.admin-nav-item--coupons .admin-nav-icon,
.admin-nav-item--settings .admin-nav-icon,
.admin-nav-item--billing .admin-nav-icon,
.admin-nav-item--copy-link .admin-nav-icon,
.admin-nav-item--logout .admin-nav-icon{
	border-color: color-mix(in srgb, var(--admin-btn) 22%, var(--border));
	color: color-mix(in srgb, var(--admin-btn) 92%, CanvasText);
}

/* When using a PNG icon, avoid double-outline (tile border + icon box border). */
.admin-nav-item--orders .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--reports .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--settings .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--routes .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--billing .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--copy-link .admin-nav-icon{border-color: transparent; background: transparent;}
.admin-nav-item--logout .admin-nav-icon{border-color: transparent; background: transparent;}

.admin-nav-item.is-active .admin-nav-icon{
	background: color-mix(in srgb, Canvas 90%, AccentColor 8%);
}

.admin-nav-label{font-size: 13px;line-height: 1.1;text-align:center;opacity: .92;}

/* Keep labels from changing the card height (e.g. "RelatÃ³rios" vs "Categorias") */
.admin-nav-label{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.admin-nav-item-form{margin-top: 8px;}
.admin-nav-btn{
	appearance:none;
	border:0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
	width: 100%;
	padding: 0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap: 6px;
}

.admin-content{flex: 1 1 auto;min-width: 0;}
.admin-container{max-width: 1180px;}
.admin-container-full{max-width: 100%;}

/* Admin: hub (Ajustes / Cardápio) */
.admin-hub-page .app-main{
	/* "Less white" background without changing the design system */
	background:
		radial-gradient(900px 460px at 50% 0%, color-mix(in srgb, AccentColor 12%, Canvas) 0%, transparent 62%),
		linear-gradient(180deg, color-mix(in srgb, AccentColor 6%, Canvas) 0%, Canvas 72%);
}

.admin-hub-page h1{
	text-align:center;
}

.admin-hub{
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 250px));
	justify-content: center;
	gap: 18px;
	margin: 16px 0 6px 0;
}

.admin-hub-tile{
	margin:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap: 12px;
	min-height: 150px;
	padding: 18px 16px;
	text-decoration:none;
	background: color-mix(in srgb, CanvasText 3%, Canvas);
	border-radius: 16px;
	border-color: color-mix(in srgb, CanvasText 10%, var(--border));
	box-shadow:
		0 10px 22px color-mix(in srgb, CanvasText 10%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 7%, transparent);
	transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 140ms ease;
}

.admin-hub-tile::before{opacity:0;}

.admin-hub-tile:hover{
	text-decoration:none;
	transform: translateY(-2px);
	background: color-mix(in srgb, CanvasText 2%, Canvas);
	border-color: color-mix(in srgb, AccentColor 18%, var(--border));
	box-shadow:
		0 16px 34px color-mix(in srgb, CanvasText 12%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
}

.admin-hub-tile:active{transform: translateY(0);}

.admin-hub-tile .admin-nav-icon{
	/* Hub tiles: show only the icon (no container square) */
	width: auto;
	height: auto;
	border: 0;
	background: transparent;
	border-radius: 0;
}

.admin-hub-tile .admin-nav-icon svg{width: 72px;height: 72px;}
.admin-hub-tile .admin-nav-icon img{width: 72px;height: 72px;object-fit: contain;}

.admin-hub-tile .admin-nav-label{
	font-size: 13px;
	line-height: 1.15;
	font-weight: 700;
	margin-top: 2px;
}

@media (max-width: 740px){
	.admin-hub{grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; gap: 14px;}
}

/* -------------------------------
   Master (Admin Geral) - Light Clean UI
------------------------------- */

.master-page{
	--m-bg: #f8f9fb;
	--m-surface: #ffffff;
	--m-text: #1a1a2e;
	--m-text-2: #555770;
	--m-text-3: #8b8fa3;
	--m-border: #e2e4ea;
	--m-accent: #4f46e5;
	--m-accent-hover: #4338ca;
	--m-shadow-sm: 0 1px 3px rgba(0,0,0,.06);
	--m-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);
	--m-radius: 12px;
	--brand: #4f46e5;
}

.master-page{
	background: var(--m-bg);
	color: var(--m-text);
}

/* Navbar */
.master-navbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	background: var(--m-surface);
	border-bottom: 1px solid var(--m-border);
	padding: 0 24px;
	height: 56px;
	position: sticky;
	top: 0;
	z-index: 100;
}
.master-navbar-brand{font-size:16px;font-weight:800;color:#222;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;}
.master-brand-logo{height:28px;width:auto;border-radius:6px;}
.brand-max{color:#4f46e5;}
.master-navbar-nav{display:flex;gap:4px;align-items:center;}
.master-navbar-nav a{
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--m-text-2);
	text-decoration: none;
	transition: background .12s, color .12s;
}
.master-navbar-nav a:hover{background:#f3f4f6;color: var(--m-text);}
.master-navbar-nav a.active{background:#eef2ff;color: var(--m-accent);}
.master-navbar-actions{display:flex;gap:8px;align-items:center;}

/* Page header (title area) */
.master-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom: 20px;
}
.master-header h1{font-size:24px;font-weight:800;margin:0;letter-spacing:-.02em;color: var(--m-text);}
.master-header .small{color: var(--m-text-3);margin-top:2px;}
.master-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

.master-page .kicker{
	color: var(--m-accent);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.master-page h1{color: var(--m-text); font-size: 26px; font-weight: 800; letter-spacing: -0.02em;}
.master-page h2{color: var(--m-text); font-size: 18px; font-weight: 700;}
.master-page .small{color: var(--m-text-2);}

.master-page .container{padding: 0;}

.master-page .card{
	background: var(--m-surface);
	border: 1px solid var(--m-border);
	box-shadow: var(--m-shadow);
	color: var(--m-text);
	border-radius: var(--m-radius);
}

.master-page .card h1,
.master-page .card h2,
.master-page .card h3{color: var(--m-text);}

.master-page .table-wrap{
	background: var(--m-surface);
	border-color: var(--m-border);
	box-shadow: var(--m-shadow);
	color: var(--m-text);
}

.master-page .table-wrap th,
.master-page .table-wrap td{border-bottom-color: var(--m-border); color: var(--m-text);}
.master-page .table-wrap thead th{background: var(--m-bg); color: var(--m-text-2);}
.master-page .table-wrap tbody tr:hover td{background: #f3f4ff;}

.master-page input,
.master-page select{
	background: var(--m-surface);
	border: 1px solid var(--m-border);
	color: var(--m-text);
	border-radius: 8px;
	transition: border-color .15s, box-shadow .15s;
}
.master-page input:focus,
.master-page select:focus{
	border-color: var(--m-accent);
	box-shadow: 0 0 0 3px rgba(79,70,229,.12);
	outline: none;
}
.master-page input::placeholder{color: var(--m-text-3);}
.master-page select option{color: var(--m-text);}

.master-page .muted{opacity: 1; color: var(--m-text-3);}
.master-page .card .small{color: var(--m-text-2);}
.master-page .card .muted{color: var(--m-text-3);}
.master-page .master-table td .muted{color: var(--m-text-3) !important;}
.master-page .master-details-body .small{color: var(--m-text-2);}

/* Buttons */
.master-page .btn{
	border-radius: 8px;
	border: 1px solid var(--m-border);
	background: var(--m-surface);
	color: var(--m-text);
	font-weight: 600;
	padding: 8px 16px;
	transition: all .15s;
}
.master-page .btn:hover{
	background: #f3f4f6;
	border-color: #d1d5db;
}

.master-page .btn-primary{
	background: var(--m-accent);
	border-color: var(--m-accent);
	color: #fff;
	box-shadow: 0 1px 3px rgba(79,70,229,.3);
}
.master-page .btn-primary:hover,
.master-page .btn.btn-primary:hover{
	background: var(--m-accent-hover);
	border-color: var(--m-accent-hover);
	color: #fff;
	box-shadow: 0 4px 12px rgba(79,70,229,.3);
	transform: none;
}

.master-page .btn-ghost{
	background: transparent;
	color: var(--m-text-2);
	border-color: transparent;
}
.master-page .btn-ghost:hover{
	background: #f3f4f6;
	color: var(--m-text);
	border-color: var(--m-border);
}

/* WhatsApp / Danger buttons */
.master-page .lead-actions{display:inline-flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.master-page .lead-actions .btn{height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;}

.master-page .btn-wa{
	background: #16a34a;
	border-color: #16a34a;
	color: #fff;
}
.master-page .btn.btn-wa:hover{
	background: #15803d;
	border-color: #15803d;
	color: #fff;
}
.master-page .btn-danger{
	background: #ef4444;
	border-color: #ef4444;
	color: #fff;
}
.master-page .btn.btn-danger:hover{
	background: #dc2626;
	border-color: #dc2626;
	color: #fff;
}

.master-top{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px;}
.master-top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* Modal */
.master-page .master-modal{
	border: 0;
	padding: 0;
	background: transparent;
	width: min(720px, 92vw);
}
.master-page .master-modal.master-modal--wide{
	width: min(920px, 94vw);
}
.master-page .master-modal::backdrop{
	background: rgba(0, 0, 0, .4);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.master-page .master-modal-shell{
	border-radius: var(--m-radius);
	overflow: hidden;
	border: 1px solid var(--m-border);
	box-shadow: 0 20px 60px rgba(0,0,0,.15);
	background: var(--m-surface);
	opacity: 0;
	transform: translateY(8px) scale(.99);
	transition: opacity 160ms ease, transform 160ms ease;
}
.master-page .master-modal[open] .master-modal-shell{
	opacity: 1;
	transform: translateY(0) scale(1);
}
@media (prefers-reduced-motion: reduce){
	.master-page .master-modal-shell{transition:none;}
}

.master-page .master-modal-body{padding: 20px;}
.master-page .master-modal-loading{
	padding: 18px;
	border-radius: 8px;
	border: 1px dashed var(--m-border);
	background: var(--m-bg);
	color: var(--m-text-2);
	font-weight: 600;
}

.master-page .master-modal-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap: 12px;
	padding: 16px;
	border-bottom: 1px solid var(--m-border);
	background: var(--m-bg);
}

.master-page .master-modal-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color: var(--m-accent);font-weight: 700;}
.master-page .master-modal-title{font-size: 20px;font-weight: 800;letter-spacing: -0.02em;color: var(--m-text);margin-top: 2px;}
.master-page .master-modal-sub{color: var(--m-text-2);margin-top: 2px;font-size:14px;}

.master-page .master-modal-close{border-radius: 8px;}

.master-page .master-modal-error{
	margin-top: 12px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #991b1b;
	font-weight: 600;
}

.master-page .master-modal-form{margin-top: 12px;}

.master-page .master-modal-grid{
	display:grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
@media (min-width: 720px){
	.master-page .master-modal-grid{grid-template-columns: 1fr 1fr;}
	.master-page .master-modal-grid .master-modal-field:nth-child(1){grid-column: 1 / -1;}
	.master-page .master-modal-grid .master-modal-field:nth-child(3){grid-column: 1 / -1;}
}
.master-page .master-modal-field{display:flex;flex-direction:column;gap:5px;}
.master-page .master-modal-field > span{font-weight: 600;color: var(--m-text);font-size:14px;}
.master-page .master-modal-field > span i{font-style: normal; font-weight: 500; color: var(--m-text-3);}
.master-page .master-modal-field small{color: var(--m-text-3);font-size:12px;}

.master-page .master-modal-field input{
	min-height: 40px;
	border-radius: 8px;
	border: 1px solid var(--m-border);
	background: var(--m-surface);
	padding: 8px 12px;
	outline: none;
}
.master-page .master-modal-field input:focus{
	border-color: var(--m-accent);
	box-shadow: 0 0 0 3px rgba(79,70,229,.12);
}
.master-page .master-modal-divider{
	margin: 16px 0;
	height: 1px;
	background: var(--m-border);
}
.master-page .master-modal-section-title{font-weight: 700; color: var(--m-text); margin-bottom: 10px;}
.master-page .master-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top: 14px;}

/* Section spacing */
.master-section{margin-bottom:20px;}
.master-section-title{font-size:14px;font-weight:700;color:var(--m-text-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px 0;padding-bottom:8px;border-bottom:1px solid var(--m-border);}

/* Form card */
.master-page .card-form{padding:24px;border-radius:var(--m-radius);}
.master-page .card-form h2{font-size:16px;font-weight:700;margin:20px 0 12px 0;color: var(--m-text);padding-top:16px;border-top:1px solid var(--m-border);}
.master-page .card-form h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.master-page .card-form label{display:block;margin-bottom:4px;font-size:14px;color: var(--m-text);}
.master-page .card-form label strong{font-weight:600;}
.master-page .card-form input,
.master-page .card-form select{width:100%;padding:10px 12px;font-size:14px;}
.master-page .card-form .form-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--m-border);}

/* Navbar responsive */
@media (max-width: 640px){
	.master-navbar{padding:0 12px;height:auto;min-height:48px;flex-wrap:wrap;gap:4px;padding-top:8px;padding-bottom:8px;}
	.master-navbar-brand{font-size:14px;}
	.master-navbar-nav{order:3;width:100%;gap:2px;overflow-x:auto;padding-bottom:2px;}
	.master-navbar-nav a{font-size:13px;padding:6px 10px;white-space:nowrap;}
	.master-navbar-actions{margin-left:auto;}
	.master-header{flex-direction:column;align-items:flex-start;}
	.master-header h1{font-size:20px;}
}

.master-cards{display:grid;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));gap:14px;margin:0 0 20px 0;}
.master-card{border:1px solid var(--border);border-radius:12px;padding:16px;background: var(--surface);
	box-shadow: 0 1px 3px rgba(0,0,0,.04);
	text-decoration:none;color:inherit;cursor:pointer;
}
.master-card-label,
.master-card-value,
.master-card-sub{line-height:1.2;}
.master-page .master-card{
	display:flex;
	flex-direction:column;
	min-height: 90px;
	position: relative;
	overflow: hidden;
	background: var(--m-surface);
	border-color: var(--m-border);
	box-shadow: var(--m-shadow-sm);
	transition: box-shadow .15s, border-color .15s, transform .15s;
}

.master-page .master-card::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:4px;
	height:100%;
	background: var(--kpi, var(--m-accent));
	border-radius: 0;
	opacity: .8;
}

.master-page .master-card::after{display:none;}

.master-page .master-card:hover{
	transform: translateY(-2px);
	border-color: #d1d5db;
	box-shadow: var(--m-shadow);
}
.master-page .master-card--active{
	box-shadow: 0 0 0 2px var(--kpi, var(--m-accent));
	border-color: var(--kpi, var(--m-accent));
	transform: translateY(-2px);
}

.master-page .master-card-value{font-variant-numeric: tabular-nums;}
.master-page .master-card-label{color: var(--m-text-3);}
.master-page .master-card-value{color: var(--m-text);}
.master-page .master-card-sub{color: var(--m-text-3);}
.master-page .master-card--ok{--kpi:#16a34a; border-color: #d1fae5;}
.master-page .master-card--warn{--kpi:#f59e0b; border-color: #fef3c7;}
.master-page .master-card--danger{--kpi:#ef4444; border-color: #fee2e2;}
.master-card-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color: var(--m-text-3, #8b8fa3);}
.master-card-value{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:4px;}
.master-card-sub{font-size:12px;color: var(--m-text-3, #8b8fa3);margin-top:2px;}

.master-card--ok{border-color: #d1fae5;background: #f0fdf4;}
.master-card--warn{border-color: #fef3c7;background: #fffbeb;}
.master-card--danger{border-color: #fee2e2;background: #fef2f2;}
@media (max-width: 640px){
	.master-cards{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

.master-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end}

.master-page .master-filter{
	gap: 12px;
	padding: 14px;
}

.master-page .master-filter > div label.small{
	color: var(--m-text-2);
}

.master-company-grid{display:grid;grid-template-columns: 1fr;gap:12px;margin-top:14px;}
.master-company{border:1px solid var(--m-border);border-radius:12px;background: var(--m-surface);
	box-shadow: var(--m-shadow-sm);
	padding:16px;
}
.master-company-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.master-company-title{font-size:18px;font-weight:900;letter-spacing:-.01em;}
.master-company-sub{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background: color-mix(in srgb, Canvas 88%, AccentColor 6%);font-size:12px;opacity:.92;}

.master-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;border:1px solid var(--border);background: color-mix(in srgb, Canvas 90%, CanvasText 2%);}
.badge--ok{border-color: color-mix(in srgb, #16a34a 45%, var(--border));background: color-mix(in srgb, #16a34a 12%, Canvas);}
.badge--warn{border-color: color-mix(in srgb, #f59e0b 50%, var(--border));background: color-mix(in srgb, #f59e0b 14%, Canvas);}
.badge--danger{border-color: color-mix(in srgb, #ef4444 50%, var(--border));background: color-mix(in srgb, #ef4444 12%, Canvas);}

.master-company-grid2{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap:10px;margin-top:12px;}
.kpi{border:1px solid color-mix(in srgb, var(--border) 70%, Canvas);border-radius:16px;padding:10px 12px;background: color-mix(in srgb, Canvas 90%, AccentColor 5%);}
.kpi-label{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.06em;}
.kpi-value{margin-top:4px;font-weight:900;font-size:16px;}
.muted{opacity:.65;}

.master-company-actions{margin-top:12px;display:flex;flex-direction:column;gap:10px;}
.inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

.master-billing{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.master-billing label{display:flex;flex-direction:column;gap:4px;}
.master-billing input{min-width:140px;}

/* Keep the "Salvar" button aligned with the inputs */
.master-billing .btn{
	height: 40px;
	padding: 0 14px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.master-billing label input{
	height: 40px;
}

/* Desktop: keep everything on one row so the button doesn't drop */
@media (min-width: 901px){
	.master-billing{
		display:grid;
		grid-template-columns: 1.2fr 1fr 0.7fr auto;
		gap: 10px;
		align-items:end;
	}
	.master-billing label{min-width: 0;}
	.master-billing label input{min-width: 0;width: 100%;}
	.master-billing .btn{justify-self:start;}
}

@media (max-width: 820px){
	.master-company-grid2{grid-template-columns: 1fr;}
	.master-billing input{min-width: 0;}
}

/* Compact list/table for /master/companies */
.master-table{width:100%;border-collapse:separate;border-spacing:0;}
.master-table th,
.master-table td{padding:12px 14px;border-bottom:1px solid var(--m-border);vertical-align:middle;}
.master-table thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color: var(--m-text-3);font-weight:600;background: var(--m-bg);}
.master-table tbody tr:hover td{background: #f8f9fb;}
.master-table-details td{padding:0;border-bottom:1px solid var(--m-border);background: var(--m-bg);}

.master-page .master-table thead th{
	background: var(--m-bg);
	opacity: 1;
	color: var(--m-text-3);
}
.master-page .master-table td{color: var(--m-text);}
.master-page .master-table tbody tr:hover td{background: #f3f4ff;}
.master-page .master-table tbody tr.master-row-link{cursor:pointer;transition:background .1s;}
.master-page .master-table tbody tr.master-row-link:active td{background:#eef0ff;}
.master-page .master-table-details td{background: var(--m-bg);}

.master-details{padding:0;margin:0;}
.master-details summary{list-style:none;cursor:pointer;padding:10px 12px;font-weight:900;}
.master-details summary::-webkit-details-marker{display:none;}
.master-details-body{padding:12px;}

/* Companies table: hide the Details header row label (toggle happens via the Visualizar button) */
.master-page .master-table-details .master-details summary{display:none;}

.master-page .master-details summary{
	color: var(--m-text-2);
	background: var(--m-bg);
}

.master-page .master-details[open] summary{
	background: #f3f4ff;
}

.master-page .master-details-body{
	border-top: 1px solid var(--m-border);
}

/* Two-column layout inside the Details section (left actions + right billing) */
.master-details-grid{
	display:grid;
	grid-template-columns: 1fr 1px 460px;
	gap: 22px;
	align-items:start;
}

.master-details-divider{
	width: 1px;
	background: var(--m-border);
	border-radius: 999px;
	justify-self:center;
}

.master-billing-form{margin:0;}

/* Right column: compact billing box (layout B) */
.master-details-right{align-self:stretch;}

.master-billing-box{
	padding: 14px;
	border-radius: 10px;
	background: var(--m-bg);
	border: 1px solid var(--m-border);
}

.master-billing-pay-form{
	margin: 0;
}

.master-billing-actions-row{
	margin-top: 10px;
	display:flex;
	gap: 8px;
	justify-content:flex-end;
	align-items:center;
	flex-wrap:wrap;
}

.master-billing-actions-row form{margin:0;}

.master-details-right .master-billing{
	display:grid;
	grid-template-columns: 1.1fr 1fr 0.7fr auto;
	gap: 10px;
	align-items:end;
}
.master-details-right .master-billing label{min-width:0;}
.master-details-right .master-billing label input{width:100%;min-width:0;}

/* Left column: keep spacing consistent */
.master-details-left .inline{gap: 10px;}

@media (max-width: 1100px){
	.master-details-grid{grid-template-columns: 1fr;}
	.master-details-divider{display:none;}
}

@media (max-width: 1040px){
	.container{
		max-width: 100%;
		padding: 10px;
	}

	.admin-layout{
		min-height: auto;
	}

	.admin-sidebar{
		width: 120px;
		padding: 10px 8px;
	}

	.admin-sidebar-brand{display:none;}

	.admin-nav{
		gap: 6px;
	}

	.admin-nav-item{
		min-height: 72px;
		padding: 8px 6px;
		border-radius: 14px;
	}

	.admin-nav-label{
		display: block;
		font-size: 10px;
		line-height: 1.1;
		white-space: normal;
		max-width: 100%;
	}

	.admin-nav-icon,
	.admin-nav-icon svg{
		width: 22px;
		height: 22px;
	}

	.admin-page .page-top{
		flex-wrap: wrap;
		gap: 8px;
	}

	.admin-page .page-top .right{
		margin-left: 0;
		width: 100%;
	}

	.admin-page .page-top .actions{
		width: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 8px;
	}

	.admin-page .page-top .actions .btn{
		min-width: 0;
	}

	.admin-content{
		width: 100%;
	}

	.orders-split,
	.admin-hub,
	.catalog-admin-hero,
	.admin-grid-2-col,
	.admin-grid-3-col{
		grid-template-columns: minmax(280px, 1fr);
		gap: 10px;
	}

	.orders-filters{
		grid-template-columns: 1fr auto;
		gap: 8px;
	}

	body.admin-orders-page .orders-split,
	body.admin-pos-page .pos-split{
		grid-template-columns: minmax(280px, 380px) 1fr;
		min-width: 0;
	}

	body.admin-pos-page .pos-pane,
	body.admin-pos-page .pos-pane-top,
	body.admin-pos-page .pos-pane-body,
	body.admin-pos-page .pos-pane-bottom{
		min-width: 0;
	}

	body.admin-pos-page .pos-topbar{
		gap: 8px;
	}

	body.admin-pos-page .pos-search{
		grid-template-columns: 1fr auto auto;
		gap: 8px;
	}

	body.admin-pos-page .pos-categories{
		gap: 6px;
	}

body.admin-pos-page .settings-section-btn{
	padding: 6px 8px;
	font-size: 0.78rem;
	min-width: 0;
	white-space: normal;
	line-height: 1.1;
	border-radius: 999px;
}

body.admin-pos-page .settings-section-btn.is-active{
	padding: 6px 8px;
}

	body.admin-pos-page .pos-cart-item-actions{
		flex-wrap: wrap;
		gap: 8px;
	}

	body.admin-pos-page .pos-cart-item-actions .btn{
		min-width: 0;
	}
}

.master-page .badge{background: #f3f4f6;border-color: var(--m-border);color: var(--m-text);}
.master-page .badge--ok{background: #ecfdf5;border-color: #a7f3d0;color: #065f46;}
.master-page .badge--warn{background: #fffbeb;border-color: #fde68a;color: #92400e;}
.master-page .badge--danger{background: #fef2f2;border-color: #fecaca;color: #991b1b;}

@media (max-width: 900px){
	.master-table thead{display:none;}
	.master-table tr{display:block;}
	.master-table td{display:flex;justify-content:space-between;gap:12px;}
	.master-table td:before{content: attr(data-label);font-weight:800;opacity:.7;}
}

/* Orders (admin) split layout */
.orders-split{
	display: grid;
	grid-template-columns: 459px 1fr;
	gap: 14px;
	min-height: calc(100vh - 36px);
}

/* -------------------------------
   POS (admin) / PDV
------------------------------- */

.pos-split{
	display: grid;
	grid-template-columns: 459px 1fr;
	gap: 14px;
	min-height: calc(100vh - 36px);
}

/* Avoid page-level scrollbar; keep scroll inside panes */
body.admin-pos-page{height: 100vh; height: 100dvh; overflow: hidden; overscroll-behavior: none;}
body.admin-pos-page .admin-layout{height: 100vh; height: 100dvh; min-height: 0;}
body.admin-pos-page .admin-content{min-height:0; overflow:hidden; display:flex; flex-direction:column;}
body.admin-pos-page .admin-main{flex: 1 1 auto; min-height:0; overflow:hidden; padding-bottom: 0;}
body.admin-pos-page .admin-container{height:100%; min-height:0; display:flex; flex-direction:column;}
body.admin-pos-page .pos-split{flex: 1 1 auto; min-height:0;}

.pos-pane{
	border: 1px solid var(--border);
	border-radius: 16px;
	background: color-mix(in srgb, Canvas 94%, AccentColor 4%);
	overflow: hidden;
	display:flex;
	flex-direction:column;
	min-height:0;
}

.pos-pane-top{
	padding: 12px;
	border-bottom: 1px solid var(--border);
	background: color-mix(in srgb, Canvas 98%, AccentColor 2%);
}

.pos-pane-body{
	padding: 12px;
	overflow: auto;
	flex: 1 1 auto;
	min-height:0;
	overscroll-behavior: contain;
}

.pos-pane-bottom{
	padding: 12px;
	border-top: 1px solid var(--border);
	background: color-mix(in srgb, Canvas 98%, AccentColor 2%);
}

.pos-topbar{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap: 12px;
	flex-wrap:wrap;
}

.pos-topbar h1{margin: 6px 0 0 0;}

.pos-fields{display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px;}

.pos-field-span2{grid-column: 1 / -1;}

.pos-fields .w-full{width: 100%;}

/* POS: delivery address fields */
body.admin-pos-page .pos-delivery-fields{display:flex;flex-direction:column;gap:8px;}
body.admin-pos-page .pos-delivery-grid{display:grid;grid-template-columns: 1fr 120px;gap:10px;align-items:end;margin-top:10px;}
body.admin-pos-page .pos-delivery-span2{grid-column: 1 / -1;}

body.admin-pos-page .pos-delivery-details{border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);border-radius: 14px;background: color-mix(in srgb, CanvasText 2.5%, Canvas);padding: 10px 12px;}
body.admin-pos-page .pos-delivery-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;}
body.admin-pos-page .pos-delivery-summary::-webkit-details-marker{display:none;}

body.admin-pos-page .pos-delivery-hint{
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	opacity: 0.72;
	white-space: nowrap;
	padding: 5px 10px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 18%, Canvas);
	background: color-mix(in srgb, CanvasText 4%, Canvas);
}
body.admin-pos-page details.pos-delivery-details > summary .pos-delivery-hint::before{content:"EXPANDIR";}
body.admin-pos-page details.pos-delivery-details[open] > summary .pos-delivery-hint::before{content:"RECOLHER";}

@media (max-width: 520px){
	body.admin-pos-page .pos-delivery-grid{grid-template-columns: 1fr;}
}

body.admin-pos-page .pos-submit-modal-card{width:min(820px, calc(100vw - 24px));max-height:min(88vh, 940px);}
body.admin-pos-page .pos-submit-modal-body{display:flex;flex-direction:column;gap:14px;overflow:auto;overscroll-behavior:contain;padding-bottom:18px;}
body.admin-pos-page .pos-submit-customer-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;align-items:end;}
body.admin-pos-page .pos-submit-order-type{margin-top:4px;}
body.admin-pos-page .pos-submit-delivery{margin:0;}
body.admin-pos-page .pos-submit-delivery-grid{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));gap:10px;margin-top:12px;align-items:end;}
body.admin-pos-page .pos-submit-field-cep{grid-column:span 3;}
body.admin-pos-page .pos-submit-field-street{grid-column:span 7;}
body.admin-pos-page .pos-submit-field-number{grid-column:span 2;}
body.admin-pos-page .pos-submit-field-neighborhood{grid-column:span 6;}
body.admin-pos-page .pos-submit-field-city{grid-column:span 4;}
body.admin-pos-page .pos-submit-field-state{grid-column:span 2;}
body.admin-pos-page .pos-submit-field-complement{grid-column:span 6;}
body.admin-pos-page .pos-submit-field-reference{grid-column:span 6;}
body.admin-pos-page .pos-submit-span2{grid-column:1 / -1;}
body.admin-pos-page .pos-submit-summary-card{margin:0;background:color-mix(in srgb, AccentColor 10%, Canvas);}
body.admin-pos-page .pos-submit-actions{justify-content:flex-end;flex-wrap:wrap;padding-top:4px;}

@media (max-width: 640px){
	body.admin-pos-page .pos-submit-customer-grid{grid-template-columns:1fr;}
	body.admin-pos-page .pos-submit-delivery-grid{grid-template-columns:1fr;}
	body.admin-pos-page .pos-submit-field-cep,
	body.admin-pos-page .pos-submit-field-street,
	body.admin-pos-page .pos-submit-field-number,
	body.admin-pos-page .pos-submit-field-neighborhood,
	body.admin-pos-page .pos-submit-field-city,
	body.admin-pos-page .pos-submit-field-state,
	body.admin-pos-page .pos-submit-field-complement,
	body.admin-pos-page .pos-submit-field-reference{grid-column:auto;}
	body.admin-pos-page .pos-submit-span2{grid-column:auto;}
}

.pos-cart-items{display:flex; flex-direction:column; gap: 10px;}

.pos-cart-item{
	border: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	border-radius: 14px;
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	padding: 12px;
}

.pos-cart-item-head{display:flex; align-items:flex-start; justify-content:space-between; gap: 12px;}

.pos-cart-item-title{font-weight: 900; letter-spacing:-0.01em;}

.pos-cart-item-sub{margin-top: 6px; display:flex; flex-direction:column; gap: 3px;}

.pos-cart-item-sub .small{opacity: 0.78;}

.pos-cart-item-price{font-weight: 900; color: var(--brand); font-variant-numeric: tabular-nums; white-space:nowrap;}

.pos-cart-item-meta{margin-top: 2px; text-align:right;}

.pos-cart-item-actions{display:flex; align-items:center; gap: 8px; margin-top: 10px;}

.pos-cart-item-actions .btn{white-space:nowrap;}

.pos-cart-total{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--border) 80%, Canvas);
	background: color-mix(in srgb, AccentColor 14%, Canvas);
}

.pos-cart-total strong{font-size: 1.15rem; font-weight: 1000; letter-spacing:-0.02em; font-variant-numeric: tabular-nums;}

.pos-search{display:grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items:center;}

.pos-search input{min-width:0;}

.pos-categories{display:flex; flex-wrap:wrap; gap: 10px; margin-top: 10px;}

.pos-config{margin-top: 12px;}

body.admin-pos-page .pos-config .card{
	margin: 8px 0;
	padding: 10px;
}

body.admin-pos-page .pos-config .actions{
	gap: 10px;
}

body.admin-pos-page .pos-config .kicker{
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 2px;
	opacity: 0.75;
}

body.admin-pos-page .pos-config h2{
	margin-top: 4px;
	font-size: 1.05rem;
}

body.admin-pos-page .pos-config .product-price{
	margin-top: 6px;
}

body.admin-pos-page .pos-config .small{
	margin-top: 4px;
	font-size: 0.86rem;
	opacity: 0.75;
}

body.admin-pos-page .pos-config > .card .small{
	display: none;
}

body.admin-pos-page .pos-config .og-head{
	margin: calc(var(--pad) * -1);
	margin-bottom: 8px;
	padding: 10px 12px;
	gap: 10px;
}

body.admin-pos-page .pos-config .og-item{
	gap: 10px;
	padding: 10px 10px;
}

body.admin-pos-page .pos-config .og-text{gap: 4px;}

body.admin-pos-page .pos-config .og-name{
	font-size: 0.95rem;
}

body.admin-pos-page .pos-config .og-price{
	font-size: 0.88rem;
}

body.admin-pos-page .pos-config .og-mark{
	width: 28px;
	height: 28px;
}

body.admin-pos-page .pos-config .pos-og-hint{
	padding: 4px 8px;
	font-size: 10px;
}

body.admin-pos-page .pos-config .og-badge{
	padding: 4px 8px;
	font-size: 10px;
}

body.admin-pos-page .pos-config .addbar{
	gap: 8px;
	align-items: center;
}

body.admin-pos-page .pos-config .addbar .btn{
	padding: 8px 12px;
	font-size: 0.92rem;
	box-shadow:none;
}

body.admin-pos-page .pos-config .qty-stepper{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--border));
	background: color-mix(in srgb, Canvas 96%, AccentColor 4%);
}

body.admin-pos-page .pos-config .qty-input{
	width: 44px;
	padding: 5px 8px;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 1rem;
}

body.admin-pos-page .pos-config .qty-btn,
body.admin-pos-page .pos-config .og-qty-btn{
	width: 32px;
	height: 32px;
	min-width: 32px;
	padding: 0;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
	border-radius: 999px;
	border: 1px solid transparent;
	background: color-mix(in srgb, Canvas 94%, AccentColor 6%);
	color: var(--brand);
}

body.admin-pos-page .pos-config .qty-btn:hover,
body.admin-pos-page .pos-config .og-qty-btn:hover{
	background: color-mix(in srgb, Canvas 92%, AccentColor 10%);
}

body.admin-pos-page .pos-config .addbar .btn-primary{
	min-height: 42px;
	border-radius: 14px;
}

body.admin-pos-page .pos-config .og-input,
body.admin-pos-page .pos-config .og-mark{
	width: 26px;
	height: 26px;
}

body.admin-pos-page .pos-config .og-item{
	padding: 8px 10px;
	border-radius: 12px;
}

body.admin-pos-page .pos-config .og-head{
	padding: 8px 10px;
	margin-bottom: 6px;
	gap: 8px;
}

body.admin-pos-page .pos-config .og-name{
	font-size: 0.92rem;
}

body.admin-pos-page .pos-config .og-price{
	font-size: 0.85rem;
}

body.admin-pos-page .pos-config .pos-og-hint,
body.admin-pos-page .pos-config .og-badge{
	padding: 3px 6px;
	font-size: 9px;
}

body.admin-pos-page .pos-config .product-price{
	margin-top: 4px;
}

body.admin-pos-page .pos-config .card{
	border-radius: 12px;
}

/* Use product cards/grid already defined; just tighten spacing on admin */
body.admin-pos-page .product-grid{
	margin-top: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

body.admin-pos-page .product-card.item-link{
	padding: 10px;
	gap: 12px;
}

body.admin-pos-page .product-card.item-link .product-desc,
body.admin-pos-page .product-card.item-link .product-media{
	display: none;
}

body.admin-pos-page .product-card.item-link .product-price{
	margin-top: 10px;
}

body.admin-pos-page .product-card.item-link .product-title{
	font-size: 0.96rem;
	line-height: 1.2;
}

body.admin-pos-page .product-card.item-link .product-body{
	display: grid;
	gap: 8px;
}

/* POS: option groups as responsive grid (compact) */
body.admin-pos-page .pos-og-grid{
	display:grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

/* POS: collapse/expand add-ons (details/summary) */
body.admin-pos-page details.option-group > summary{list-style:none;cursor:pointer;}
body.admin-pos-page details.option-group > summary::-webkit-details-marker{display:none;}
body.admin-pos-page details.option-group > summary{padding:0;}
body.admin-pos-page details.option-group > summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius: 12px;}

body.admin-pos-page .pos-og-head-right{display:flex;align-items:center;gap:10px;}

body.admin-pos-page .pos-og-hint{
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	opacity: 0.72;
	white-space: nowrap;
	padding: 5px 10px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 18%, Canvas);
	background: color-mix(in srgb, CanvasText 4%, Canvas);
}

body.admin-pos-page details.option-group > summary .pos-og-hint::before{content:"EXPANDIR";}
body.admin-pos-page details.option-group[open] > summary .pos-og-hint::before{content:"RECOLHER";}

/* When closed: remove extra bottom spacing from the header */
body.admin-pos-page details.option-group:not([open]){padding-bottom: 0;}
body.admin-pos-page details.option-group:not([open]) .og-head{margin-bottom: 0;border-bottom: 0;}
body.admin-pos-page details.option-group:not([open]) .og-head{border-bottom-left-radius: calc(var(--radius) - 1px);border-bottom-right-radius: calc(var(--radius) - 1px);}

/* The base .og-item uses border-top separators (list look).
   In PDV we want compact "tiles" inside the grid. */
body.admin-pos-page .pos-og-grid .og-item{
	border-top: 0;
	border: 1px solid color-mix(in srgb, CanvasText 10%, Canvas);
	border-radius: 14px;
	padding: 12px 12px;
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 2.5%, Canvas) 100%);
}

body.admin-pos-page .pos-og-grid .og-item:hover{
	background:
		linear-gradient(180deg,
			color-mix(in srgb, AccentColor 6%, Canvas) 0%,
			Canvas 70%,
			color-mix(in srgb, CanvasText 2.5%, Canvas) 100%);
}

body.admin-pos-page .pos-og-grid .og-text{gap: 4px;}

body.admin-pos-page .pos-og-grid .og-price{font-size: 0.9em;}

body.admin-pos-page .pos-og-grid .og-mark{width: 30px; height: 30px;}

@media (min-width: 900px){
	body.admin-pos-page .pos-og-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (min-width: 1240px){
	body.admin-pos-page .pos-og-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
}

@media (max-width: 980px){
	.pos-split{grid-template-columns: 1fr;}
}

@media (max-width: 720px){
	body.admin-pos-page .pos-fields{grid-template-columns: 1fr;}
}

@media print{
	.pos-split{grid-template-columns: 1fr !important;}
}

/* Orders (admin): avoid page-level scrollbar (desktop + mobile)
   Keep scroll inside list/detail panes. */
body.admin-orders-page{height: 100vh; height: 100dvh; overflow: hidden; overscroll-behavior: none;}
body.admin-orders-page .admin-layout{height: 100vh; height: 100dvh; min-height: 0;}
body.admin-orders-page .admin-content{min-height:0; overflow:hidden; display:flex; flex-direction:column;}
body.admin-orders-page .admin-main{flex: 1 1 auto; min-height:0; overflow:hidden; padding-bottom: 0;}
body.admin-orders-page .admin-container{height:100%; min-height:0; display:flex; flex-direction:column;}
body.admin-orders-page .orders-split{flex: 1 1 auto; min-height:0;}
body.admin-orders-page .orders-list{min-height:0;}
body.admin-orders-page .orders-list-items{max-height: none;}
body.admin-orders-page .orders-detail{min-height:0; overflow:auto;}

.orders-list{display:flex;flex-direction:column;min-height:0;}

.orders-list-top{padding: 12px; border-bottom: 1px solid var(--border);}

.orders-filters-wrap{margin:0;}
.orders-filters-summary{display:none;}
.orders-filters-summary::-webkit-details-marker{display:none;}

.orders-filters{display:grid;grid-template-columns: 1fr 120px auto;gap: 10px;align-items:center;}
.orders-filters select{width: 100%;}

.orders-list-items{overflow:auto;flex: 1 1 auto;min-height:0;max-height: calc(100vh - 130px); overscroll-behavior: contain;}

.order-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 10px;
	padding: 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, Canvas);
	text-decoration:none;
	color: inherit;
	background: transparent;
	position: relative;
	transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.order-row:hover{
	background: color-mix(in srgb, AccentColor 10%, Canvas);
	text-decoration:none;
	transform: translateX(3px);
	box-shadow: 0 10px 18px rgba(0,0,0,.06);
}

.order-row:focus-visible{
	outline: 2px solid color-mix(in srgb, var(--ring) 70%, CanvasText);
	outline-offset: 2px;
}

.order-row.is-active{
	background: color-mix(in srgb, var(--brand) 22%, Canvas);
	border-bottom-color: color-mix(in srgb, var(--brand) 42%, var(--border));
	box-shadow: 0 10px 18px rgba(0,0,0,.06);
}

.order-row.is-active::before{
	content:"";
	position:absolute;
	left: 0;
	top: 8px;
	bottom: 8px;
	width: 5px;
	border-radius: 999px;
	background: var(--brand);
}

.order-row.is-active .order-no{font-weight: 900;}
.order-row.is-active .order-row-total{color: var(--brand);}

@media (prefers-reduced-motion: reduce){
	.order-row{transition: none;}
	.order-row:hover{transform: none;}
}

.order-row-title{display:flex;flex-direction:column;gap: 2px;}
.order-no{font-weight: 850; letter-spacing: -0.01em;}
.order-customer{opacity: .92;}

.order-row-meta{display:flex;align-items:center;gap: 10px;}
.order-row-total{font-weight: 800; white-space:nowrap;}

.order-row-total{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
}
.order-row-total-amount{font-weight:800;}
.order-row-status{margin-top:6px;}

/* Orders list: typography polish */
body.admin-orders-page .order-row-title{gap: 3px;}
body.admin-orders-page .order-no{font-size: 13.5px; opacity: .82; font-weight: 800;}
body.admin-orders-page .order-customer{font-size: 16px; font-weight: 700; opacity: 0.98; letter-spacing: 0;}
body.admin-orders-page .order-row-total-amount{font-size: 16.5px; font-weight: 800;}

.order-pill{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius: 999px;
	/* tamanho padrÃ£o do informativo */
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	padding: 0 12px;
	height: 36px;
	min-width: 146px;
	box-sizing: border-box;
	border: 1px solid var(--border);
	background: color-mix(in srgb, Canvas 88%, AccentColor 8%);
}

/* Garantir tamanho uniforme dos informativos dentro da lista de pedidos */
.orders-list .order-pill{
	height: 30px !important;
	min-width: 128px !important;
	max-width: 128px !important;
	width: 128px !important;
	padding: 0 10px !important;
	font-size: 12.5px !important;
	font-weight: 750 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	vertical-align: middle !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.order-pill.status-new{background: color-mix(in srgb, #ef4444 14%, Canvas); border-color: color-mix(in srgb, #ef4444 32%, var(--border)); color: color-mix(in srgb, #ef4444 72%, CanvasText);}
.order-pill.status-accepted{background: color-mix(in srgb, #f97316 14%, Canvas); border-color: color-mix(in srgb, #f97316 32%, var(--border)); color: color-mix(in srgb, #f97316 70%, CanvasText);}
.order-pill.status-preparing{background: color-mix(in srgb, #f97316 12%, Canvas); border-color: color-mix(in srgb, #f97316 30%, var(--border)); color: color-mix(in srgb, #f97316 70%, CanvasText);}
.order-pill.status-out_for_delivery{background: color-mix(in srgb, #16a34a 14%, Canvas); border-color: color-mix(in srgb, #16a34a 32%, var(--border)); color: color-mix(in srgb, #16a34a 72%, CanvasText);}
.order-pill.status-ready_for_pickup{background: color-mix(in srgb, #16a34a 14%, Canvas); border-color: color-mix(in srgb, #16a34a 32%, var(--border)); color: color-mix(in srgb, #16a34a 72%, CanvasText);}
.order-pill.status-done{background: color-mix(in srgb, #16a34a 16%, Canvas); border-color: color-mix(in srgb, #16a34a 34%, var(--border)); color: color-mix(in srgb, #16a34a 72%, CanvasText);}
.order-pill.status-rejected{background: color-mix(in srgb, #ef4444 12%, Canvas); border-color: color-mix(in srgb, #ef4444 30%, var(--border)); color: color-mix(in srgb, #ef4444 72%, CanvasText);}
.order-pill.status-canceled{background: color-mix(in srgb, #ef4444 18%, Canvas); border-color: color-mix(in srgb, #ef4444 36%, var(--border));}

.orders-detail{
	border: 1px solid var(--border);
	border-radius: 16px;
	background: color-mix(in srgb, Canvas 94%, AccentColor 4%);
	padding: 14px;
	overflow: hidden;
}

.orders-detail-empty{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(100vh - 36px);
	background:
		radial-gradient(920px 360px at 15% 10%, color-mix(in srgb, var(--brand) 14%, Canvas) 0%, transparent 62%),
		radial-gradient(860px 360px at 85% 12%, color-mix(in srgb, AccentColor 12%, Canvas) 0%, transparent 64%),
		linear-gradient(180deg, color-mix(in srgb, Canvas 98%, AccentColor 3%) 0%, color-mix(in srgb, Canvas 94%, var(--brand) 5%) 100%);
}

.orders-detail-empty::before{
	content: "";
	position: absolute;
	inset: 0;
	background:
		url('/pedidopromax.png') center center / 420px auto no-repeat;
	opacity: .16;
	pointer-events: none;
	filter: saturate(1.02) contrast(1.02);
}

.orders-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap: 12px;flex-wrap:wrap;}
.orders-detail-title{margin: 6px 0 0 0; display:flex; align-items:center; gap: 10px; flex-wrap:wrap;}

.orders-quick-actions{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;}
.orders-quick-actions-form{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;}

.orders-action-ico{
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	opacity: .95;
}

/* Orders: color accents for quick actions (subtle, no logic changes) */
.orders-quick-actions .btn.btn-danger,
body.admin-order-page .btn.btn-danger{
	background: color-mix(in srgb, Canvas 92%, var(--status-closed) 10%);
	border-color: color-mix(in srgb, var(--status-closed) 28%, var(--border));
	color: color-mix(in srgb, var(--status-closed) 85%, CanvasText);
}

.orders-quick-actions .btn.btn-danger:hover,
body.admin-order-page .btn.btn-danger:hover{
	background: color-mix(in srgb, Canvas 88%, var(--status-closed) 14%);
	border-color: color-mix(in srgb, var(--status-closed) 36%, var(--border));
}

.orders-quick-actions .btn.btn-success,
.orders-quick-actions .btn.btn-wa,
body.admin-order-page .btn.btn-success,
body.admin-order-page .btn.btn-wa{
	background: color-mix(in srgb, Canvas 92%, var(--status-open) 10%);
	border-color: color-mix(in srgb, var(--status-open) 28%, var(--border));
	color: color-mix(in srgb, var(--status-open) 85%, CanvasText);
}

.orders-quick-actions .btn.btn-success:hover,
.orders-quick-actions .btn.btn-wa:hover,
body.admin-order-page .btn.btn-success:hover,
body.admin-order-page .btn.btn-wa:hover{
	background: color-mix(in srgb, Canvas 88%, var(--status-open) 14%);
	border-color: color-mix(in srgb, var(--status-open) 36%, var(--border));
}

.orders-quick-actions .btn.btn-dispatch,
body.admin-order-page .btn.btn-dispatch{
	background: color-mix(in srgb, Canvas 92%, var(--admin-delivery-zones) 10%);
	border-color: color-mix(in srgb, var(--admin-delivery-zones) 28%, var(--border));
	color: color-mix(in srgb, var(--admin-delivery-zones) 85%, CanvasText);
}

.orders-quick-actions .btn.btn-dispatch:hover,
body.admin-order-page .btn.btn-dispatch:hover{
	background: color-mix(in srgb, Canvas 88%, var(--admin-delivery-zones) 14%);
	border-color: color-mix(in srgb, var(--admin-delivery-zones) 36%, var(--border));
}

.orders-quick-actions .btn.btn-receipt,
body.admin-order-page .btn.btn-receipt{
	background: color-mix(in srgb, Canvas 94%, CanvasText 2%);
	border-color: color-mix(in srgb, CanvasText 16%, var(--border));
}

.orders-quick-actions .btn.btn-receipt:hover,
body.admin-order-page .btn.btn-receipt:hover{
	background: color-mix(in srgb, Canvas 92%, CanvasText 3%);
}

@media (max-width: 560px){
	.admin-page .orders-quick-actions{flex-direction:column; align-items:stretch;}
	.admin-page .orders-quick-actions > .btn{width:100%; justify-content:center;}
	.admin-page .orders-quick-actions-form{width:100%; display:grid; grid-template-columns: 1fr 1fr; gap: 8px;}
	.admin-page .orders-quick-actions-form .btn{width:100%; justify-content:center; white-space: normal; text-align:center;}
	.admin-page .orders-quick-actions-form .btn[value="done"]{grid-column: 1 / -1;}
}

@media (max-width: 420px){
	.admin-page .orders-quick-actions-form{grid-template-columns: 1fr;}
	.admin-page .orders-quick-actions-form .btn[value="done"]{grid-column: auto;}
	.admin-page .actions{flex-direction:column; align-items:stretch;}
	.admin-page .actions > *{width:100%;}
}

.orders-detail-grid{display:grid;grid-template-columns: 1fr; gap: 12px;}

.orders-totals{
	display:flex;
	gap: 12px;
	justify-content:flex-end;
	margin-top: 16px;
	flex-wrap:wrap;
}

.orders-totals > div{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap: 6px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--border) 80%, Canvas);
	background: color-mix(in srgb, Canvas 92%, AccentColor 6%);
	min-width: 160px;
}

.orders-totals .small{
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.72;
}

.orders-totals strong{
	font-size: 1.05rem;
	font-weight: 900;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}

.orders-totals .orders-total{
	background: color-mix(in srgb, AccentColor 14%, Canvas);
	border-color: color-mix(in srgb, AccentColor 42%, var(--border));
	box-shadow: 0 14px 26px rgba(0,0,0,.08);
}

.orders-totals .orders-total strong{
	font-size: 1.35rem;
	color: var(--brand);
}

@supports (color: color-mix(in srgb, black 50%, white)){
	.orders-totals .orders-total strong{color: color-mix(in srgb, AccentColor 88%, CanvasText);}
}

@media (max-width: 520px){
	.orders-totals{justify-content:stretch;}
	.orders-totals > div{flex: 1 1 0; min-width: 0; align-items:flex-start;}
	.orders-totals > div strong{align-self:flex-end;}
}

.orders-totals-vertical {
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}
.orders-totals-vertical > div {
	align-items: flex-end;
}

@media (max-width: 980px){
	.orders-split{grid-template-columns: 1fr;}
	.orders-split:not(.is-collapsed) .orders-list-items{max-height: 320px;}
	.orders-detail-grid{grid-template-columns: 1fr;}
	.orders-split.is-collapsed .orders-detail-empty{display:none;}
}

@media (max-width: 560px){
	.orders-filters-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;user-select:none;font-weight:850;}
	.orders-filters-wrap{border-radius:14px;padding:10px 10px;background: color-mix(in srgb, Canvas 96%, AccentColor 4%);border:1px solid color-mix(in srgb, var(--border) 80%, Canvas);}
	.orders-filters-wrap[open]{padding-bottom:12px;}
	.orders-filters{margin-top:10px;grid-template-columns: 1fr auto;}
	.orders-filters input{grid-column: 1 / -1;min-width:0;}
	.orders-filters select{min-width:0;}
	.orders-filters .btn{white-space:nowrap;}

	.is-phone .orders-split:not(.is-collapsed) .orders-list-items{max-height: calc(100dvh - 130px);}
	.is-phone .orders-list-items{max-height: calc(100dvh - 130px);}
}

@media print{
	.admin-sidebar{display:none !important;}
	.orders-list{display:none !important;}
	.orders-split{grid-template-columns: 1fr !important;}
	.orders-detail{border:0 !important;}
}

@media (max-width: 740px){
	.admin-sidebar{width: 76px; padding: 12px 8px;}
	/* Mostrar nomes no mobile (antes escondia) */
	.admin-nav-label{display:block; font-size: 11px; line-height: 1.1; opacity: .92;}
	.admin-brand-link{width: 58px;height: 58px;}
	.admin-brand-logo{width: 46px;height: 46px;}

	/* ADMIN_MOBILE_LAYOUT_V1: sidebar vira barra no topo */
	.admin-layout{flex-direction:column;}
	.admin-sidebar{
		position: sticky;
		top: 0;
		align-self: stretch;
		height: auto;
		width: 100%;
		border-right: 0;
		border-bottom: 1px solid var(--border);
		padding: 10px 10px;
		z-index: 40;
		background: color-mix(in srgb, Canvas 86%, AccentColor 8%);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
	.admin-sidebar-brand{display:none;}
	.admin-nav{
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		padding: 2px 2px 6px 2px;
		margin: 0 -2px;
		-webkit-overflow-scrolling: touch;
	}
	.admin-page.admin-nav-expanded .admin-nav{flex-wrap:wrap; overflow-x: visible;}
	.admin-nav [data-admin-nav-toggle]{display:flex;}
	.admin-nav-item,
	.admin-nav-btn.admin-nav-item{
		flex: 0 0 auto;
		width: 84px;
		min-height: 60px;
		padding: 8px 6px;
		border-radius: 14px;
	}
	.admin-nav-label{
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}

	/* Opção: menu compactado (mas ainda com nome) */
	.admin-page.admin-nav-compact .admin-nav-item,
	.admin-page.admin-nav-compact .admin-nav-btn.admin-nav-item{
		width: 58px;
		min-height: 54px;
		padding: 6px 5px;
		gap: 4px;
		border-radius: 12px;
	}
	.admin-page.admin-nav-compact .admin-nav-label{font-size: 9px; opacity: .88; -webkit-line-clamp: 1; line-clamp: 1;}
	.admin-page.admin-nav-compact .admin-nav-icon{width: 22px;height: 22px;}
	.admin-page.admin-nav-compact .admin-nav-icon svg{width: 22px;height: 22px;}
	.admin-nav-item-form{margin-top: 0; flex: 0 0 auto;}
	.admin-page .app-main{padding-top: 12px;}
	.admin-content{width: 100%;}

	/* Orders (admin) mobile: avoid double scroll (page behind + list) */
	body.admin-orders-page{height: 100dvh; overflow: hidden; overscroll-behavior: none;}
	body.admin-orders-page .admin-layout{height: 100dvh; min-height: 100dvh;}
	body.admin-orders-page .admin-content{min-height:0; overflow:hidden; display:flex; flex-direction:column;}
	body.admin-orders-page .admin-main{flex: 1 1 auto; min-height:0; overflow:hidden; padding-bottom: 0;}
	body.admin-orders-page .admin-container{height:100%; min-height:0; display:flex; flex-direction:column;}
	body.admin-orders-page .orders-split{flex: 1 1 auto; min-height:0;}
	body.admin-orders-page .orders-list-items{max-height: none;}
}

@media (max-width: 560px){
	.admin-page .page-top{flex-direction:column;align-items:stretch;}
	.admin-page .page-top .right{margin-left:0;}
	.admin-page .page-top .actions{width:100%;justify-content:stretch;}
	.admin-page .page-top .actions .btn{flex: 1 1 auto; min-width: 0;}
	.catalog-admin-hero{padding: 14px; border-radius: 18px; gap: 10px;}
	.catalog-admin-hero h1{font-size: 1.5rem; line-height: 1.1;}
	.catalog-admin-hero .small{font-size: .8rem; line-height: 1.4;}
	.catalog-admin-panel{padding: 12px; border-radius: 16px;}
	.catalog-admin-panel-head{gap: 8px;}
	.catalog-admin-panel-title{font-size: 1rem;}
	.catalog-admin-panel-sub{font-size: .78rem;}
	.catalog-form-card{padding: 9px; border-radius: 12px; gap: 8px;}
	.catalog-form-card-title{font-size: .88rem;}
	.catalog-form-card-subtitle{font-size: .74rem;}
	.catalog-form-grid-2,
	.catalog-form-grid-3,
	.catalog-form-aside{gap: 7px;}
	.catalog-admin-panel .table-wrap{margin: 0 -2px;}
	.catalog-admin-panel table th,
	.catalog-admin-panel table td{padding-top: 9px; padding-bottom: 9px;}
	.catalog-addon-item{padding: 10px 12px; gap: 10px; border-radius: 14px;}
	.catalog-addon-item-name{font-size: .86rem;}
	.catalog-addon-item-meta{font-size: .72rem;}

	/* Order show page: compact header on mobile */
	body.admin-order-page .orders-page{margin-top:10px;}
	body.admin-order-page .order-show-topbar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px;}
	body.admin-order-page .order-show-back-link{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		width: 42px;
		height: 42px;
		border-radius: 14px;
		border: 1px solid var(--border);
		background: color-mix(in srgb, Canvas 92%, AccentColor 6%);
		color: CanvasText;
		text-decoration:none;
		flex: 0 0 auto;
	}
	body.admin-order-page .order-show-back-link:hover{text-decoration:none;}
	body.admin-order-page .order-show-back-text{display:none;}
	body.admin-order-page .order-show-back-ico{font-size:18px; line-height:1;}
	body.admin-order-page .order-show-actions-form{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; width:100%; overflow:visible; -webkit-overflow-scrolling: touch; min-width:0;}
	body.admin-order-page .order-show-actions-form .btn{
		padding: 8px 10px;
		border-radius: 12px;
		font-size: 13px;
		min-height: 42px;
		white-space: nowrap;
		width: 100%;
		justify-content: center;
	}
	body.admin-order-page .order-show-print-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}
	body.admin-order-page .orders-page .orders-modal-top,
	body.admin-order-page .orders-page .orders-modal-bottom{padding-left: 2px; padding-right: 2px;}
	body.admin-order-page .orders-page .orders-modal .table-wrap thead{display:none;}
	body.admin-order-page .orders-page .orders-modal .table-wrap,
	body.admin-order-page .orders-page .orders-modal .table-wrap table,
	body.admin-order-page .orders-page .orders-modal .table-wrap tbody,
	body.admin-order-page .orders-page .orders-modal .table-wrap tr,
	body.admin-order-page .orders-page .orders-modal .table-wrap td{display:block; width:100%;}
	body.admin-order-page .orders-page .orders-modal .table-wrap tr{
		padding: 10px 0;
		border-top: 1px solid rgba(15, 23, 42, 0.08);
	}
	body.admin-order-page .orders-page .orders-modal .table-wrap tbody tr:first-child{border-top:0; padding-top:0;}
	body.admin-order-page .orders-page .orders-modal .table-wrap td{padding: 0; border: 0; text-align:left !important;}
	body.admin-order-page .orders-page .orders-modal .table-wrap td:nth-child(1){margin-bottom: 4px; font-size: .76rem; font-weight: 900; color: color-mix(in srgb, CanvasText 62%, Canvas);}
	body.admin-order-page .orders-page .orders-modal .table-wrap td:nth-child(3){margin-top: 6px; font-weight: 900;}
	body.admin-order-page .orders-page .orders-totals{grid-template-columns: repeat(2, minmax(0, 1fr));}

	body.admin-billing-page .billing-page-top{padding: 14px; border-radius: 18px;}
	body.admin-billing-page .billing-summary-card,
	body.admin-billing-page .billing-open-card,
	body.admin-billing-page .billing-history-card,
	body.admin-billing-page .billing-warning-panel{padding: 12px; border-radius: 16px;}
	body.admin-billing-page .billing-section-head{gap: 8px; margin-bottom: 10px;}
	body.admin-billing-page .billing-section-title{font-size: 1rem;}
	body.admin-billing-page .billing-section-sub{font-size: .78rem;}
	body.admin-billing-page .billing-actions{gap: 8px;}
	body.admin-billing-page .billing-actions .btn{min-height: 38px; justify-content:center;}
	body.admin-billing-page .billing-table-wrap{overflow: visible; border-radius: 0;}
	body.admin-billing-page table.billing-table{min-width: 0; width: 100%; table-layout: auto;}
	body.admin-billing-page table.billing-table thead{display:none;}
	body.admin-billing-page table.billing-table,
	body.admin-billing-page table.billing-table tbody,
	body.admin-billing-page table.billing-table tr,
	body.admin-billing-page table.billing-table td{display:block; width:100%;}
	body.admin-billing-page table.billing-table tr{
		padding: 10px;
		margin-bottom: 8px;
		border: 1px solid color-mix(in srgb, CanvasText 10%, var(--border));
		border-radius: 14px;
		background: color-mix(in srgb, Canvas 96%, AccentColor 3%);
	}
	body.admin-billing-page table.billing-table td{
		padding: 4px 0;
		border: 0;
		text-align: left;
	}
	body.admin-billing-page table.billing-table td::before{
		content: attr(data-label);
		display:block;
		margin-bottom: 2px;
		font-size: .66rem;
		font-weight: 900;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: color-mix(in srgb, CanvasText 55%, Canvas);
	}
	body.admin-billing-page .billing-radio{align-items:flex-start;}
	body.admin-billing-page .billing-radio input{margin-top: 2px;}
}

@media (max-width: 340px){
	body.admin-order-page .order-show-actions-form{grid-template-columns:minmax(0, 1fr);}
	body.admin-order-page .orders-page .orders-totals{grid-template-columns:minmax(0, 1fr);}
	body.admin-billing-page .billing-actions{flex-direction:column;}
	body.admin-billing-page .billing-actions .btn{width:100%;}
}

@media (max-width: 740px){
	/* Order page: hide the admin nav shortcuts bar */
	body.admin-order-page .admin-sidebar{display:none;}
	body.admin-order-page .admin-layout{min-height: 0;}
	body.admin-order-page .admin-page .app-main{padding-top: 12px;}

	/* Order page: remove print buttons on mobile (keep only status actions) */
	body.admin-order-page .order-show-print-actions{display:none !important;}
}

.kicker{font-size:0.88em;letter-spacing:0.08em;text-transform:uppercase;opacity:0.85;}

nav{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}

a{color:LinkText;text-decoration:none;}
a:hover{text-decoration:underline;}

.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.actions-center{justify-content:center;}
.right{margin-left:auto;}

.actions-equal{flex-wrap:nowrap;}
.actions-equal > *{flex:1 1 0;justify-content:center;}

@media (max-width: 560px){
	.actions-equal{flex-wrap:wrap;}
}

.page-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin: 2px 0 14px 0;
}

/* Admin Billing (Faturas): visual refinements only */
body.admin-billing-page .billing-page-top{
	margin-top: 0;
}

body.admin-billing-page .billing-summary-card,
body.admin-billing-page .billing-open-card,
body.admin-billing-page .billing-history-card,
body.admin-billing-page .billing-warning-panel{
	margin-bottom: 12px;
}

body.admin-billing-page .billing-summary{
	display:grid;
	grid-template-columns:minmax(0, 1fr) auto;
	gap:12px;
	align-items:flex-start;
}

body.admin-billing-page .billing-summary-kicker{margin-bottom: 4px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;}

body.admin-billing-page .billing-company-name{
	font-weight: 900;
	font-size: 1.15rem;
	letter-spacing: -0.01em;
}

body.admin-billing-page .billing-company-slug,
body.admin-billing-page .billing-overdue{
	font-size: .82rem;
}

body.admin-billing-page .billing-summary-right{text-align:right;display:grid;gap:4px;justify-items:end;}

@media (max-width: 560px){
	body.admin-billing-page .billing-summary{grid-template-columns:minmax(0, 1fr);}
	body.admin-billing-page .billing-summary-right{text-align:left;justify-items:start;}
}

body.admin-billing-page .billing-section-head{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin-bottom: 12px;
}

body.admin-billing-page .billing-section-title{
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.15;
	letter-spacing: -.02em;
}

body.admin-billing-page .billing-section-sub{
	margin-top: 4px;
	font-size: .86rem;
	line-height: 1.4;
	color: color-mix(in srgb, CanvasText 72%, Canvas);
}

body.admin-billing-page .billing-pay-form{margin:0;}

body.admin-billing-page .billing-table-wrap{overflow:auto;border-radius:16px;}

body.admin-billing-page table.billing-table{min-width: 560px;table-layout:fixed;}

body.admin-billing-page table.billing-table thead th{
	font-size: .68rem;
	padding-top: 10px;
	padding-bottom: 10px;
}

body.admin-billing-page table.billing-table td{
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: .92rem;
}

body.admin-billing-page .billing-radio{
	display:inline-flex;
	gap:8px;
	align-items:center;
	cursor:pointer;
}

body.admin-billing-page .billing-radio input{
	width:16px;
	height:16px;
	accent-color: var(--brand);
}

body.admin-billing-page .billing-actions{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	justify-content:flex-end;
	margin-top: 10px;
}

body.admin-billing-page .billing-actions .btn{
	padding: 8px 12px;
	min-height: 38px;
}

@media (max-width: 560px){
	body.admin-billing-page .billing-actions{justify-content:stretch;}
	body.admin-billing-page .billing-actions .btn{flex: 1 1 auto; min-width: 0;}
}

body.admin-billing-page .billing-note{font-size: .8rem; margin-top: 8px;}

body.admin-billing-page .billing-empty{padding: 12px 14px;}

/* Admin Settings: section switcher (Ajustes) */
.settings-sections{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top: 6px;
}

/* Admin Settings Page: premium layout (visual only) */
body.admin-settings-page .settings-form{
	max-width: 1180px;
	margin-left:auto;
	margin-right:auto;
}

/* Settings: header + primary action */
body.admin-settings-page .page-top{
	margin-top: 0;
	padding-top: 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
}

body.admin-settings-page .settings-save-btn{
	border-radius: 999px;
	padding: 12px 18px;
	font-weight: 900;
	letter-spacing: -0.01em;
	box-shadow: 0 12px 22px color-mix(in srgb, CanvasText 12%, transparent);
	display:inline-flex;
	align-items:center;
	gap: 10px;
}

body.admin-settings-page .settings-save-ico{display:inline-flex; width: 18px; height: 18px;}
body.admin-settings-page .settings-save-ico svg{width:18px; height:18px; display:block;}

body.admin-settings-page .settings-sections{
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	border-radius: 18px;
	background: Canvas;
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

.settings-section-btn{
	appearance:none;
	border: 1px solid color-mix(in srgb, CanvasText 14%, Canvas);
	background: color-mix(in srgb, AccentColor 8%, Canvas);
	color: CanvasText;
	border-radius: 999px;
	padding: 10px 14px;
	font-weight: 850;
	letter-spacing: -0.01em;
	cursor:pointer;
	transition: transform 120ms ease, filter 120ms ease, background 120ms ease, border-color 120ms ease;
}

body.admin-settings-page .settings-section-btn{
	flex: 0 0 auto;
	border: 1px solid transparent;
	background: transparent;
	box-shadow:none;
	padding: 10px 12px;
	display:inline-flex;
	align-items:center;
	gap: 10px;
	font-weight: 700;
	letter-spacing: -0.01em;
	transition: background 140ms ease, border-color 140ms ease;
	white-space: nowrap;
	flex: 0 0 auto;
}

body.admin-settings-page .settings-section-ico{
	width: 18px;
	height: 18px;
	border-radius: 0;
	border: 0;
	background: transparent;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex: 0 0 auto;
	color: var(--tab-accent, CanvasText);
	opacity: 0.9;
}

body.admin-settings-page .settings-section-ico svg{width: 18px; height: 18px; display:block;}

body.admin-settings-page .settings-section-btn:hover{
	background: color-mix(in srgb, Canvas 94%, CanvasText 2%);
	border-color: color-mix(in srgb, var(--border) 75%, Canvas);
	transform: none;
	filter: none;
}

body.admin-settings-page .settings-section-btn:active{
	transform: none;
}

body.admin-settings-page .settings-section-btn:hover .settings-section-ico{
	opacity: 1;
}

/* Tabs: colored accents per section (using existing admin palette) */
body.admin-settings-page .settings-section-btn{--tab-accent: var(--brand);}
body.admin-settings-page .settings-section-btn[data-settings-tab="loja"]{--tab-accent: var(--admin-products);} /* verde */
body.admin-settings-page .settings-section-btn[data-settings-tab="identidade"]{--tab-accent: var(--admin-categories);} /* roxo */
body.admin-settings-page .settings-section-btn[data-settings-tab="endereco"]{--tab-accent: var(--admin-delivery-zones);} /* azul claro */
body.admin-settings-page .settings-section-btn[data-settings-tab="horario"]{--tab-accent: var(--admin-orders);} /* laranja */
body.admin-settings-page .settings-section-btn[data-settings-tab="pagamento"]{--tab-accent: var(--admin-reports);} /* azul */
body.admin-settings-page .settings-section-btn[data-settings-tab="impressao"]{--tab-accent: var(--admin-settings);} /* cinza */

body.admin-settings-page .settings-section-btn.is-active{
	background: color-mix(in srgb, Canvas 92%, var(--tab-accent) 8%);
	border-color: color-mix(in srgb, var(--tab-accent) 28%, var(--border));
}

.settings-section-btn:hover{
	filter:contrast(1.05);
	transform: translateY(-1px);
}

.settings-section-btn:active{transform: translateY(0px);}

.settings-section-btn.is-active{
	background: color-mix(in srgb, Canvas 92%, AccentColor 6%);
	border-color: color-mix(in srgb, AccentColor 24%, var(--border));
	color: CanvasText;
	box-shadow:none;
}

body.admin-settings-page .settings-grid{margin-top: 14px;}

@media (max-width: 740px){
	body.admin-settings-page .settings-sections{gap:8px;}
	body.admin-settings-page .settings-section-btn{flex: 0 0 auto; justify-content:flex-start;}
}

body.admin-settings-page .settings-tab{
	display:grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

body.admin-settings-page .settings-card{
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
	background: Canvas;
	border: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	border-radius: 16px;
}

/* Settings cards: remove global accent bar + hover border tint */
body.admin-settings-page .settings-card::before{opacity: 0;}
body.admin-settings-page .settings-card:hover{border-color: color-mix(in srgb, var(--border) 75%, Canvas);}

body.admin-settings-page .settings-card.settings-card--half{grid-column: span 6;}

body.admin-settings-page .settings-card.settings-span-full{grid-column: 1 / -1;}

@media (max-width: 980px){
	body.admin-settings-page .settings-card{grid-column: 1 / -1;}
	body.admin-settings-page .settings-card.settings-card--half{grid-column: 1 / -1;}
}

body.admin-settings-page .settings-card-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap: 12px;
	padding: 14px 14px 12px 14px;
	border-bottom: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
}

body.admin-settings-page .settings-card-title{
	margin: 6px 0 0 0;
}

body.admin-settings-page .settings-card-head .kicker{
	opacity: 0.8;
}

body.admin-settings-page .settings-fields{
	padding: 12px 14px 14px 14px;
}

body.admin-settings-page .settings-two-col{
	display:grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 14px;
}

@media (max-width: 740px){
	body.admin-settings-page .settings-two-col{grid-template-columns: 1fr;}
}

body.admin-settings-page .settings-span-2{grid-column: 1 / -1;}

body.admin-settings-page .settings-two-col > label,
body.admin-settings-page .settings-two-col > .settings-span-2{
	margin: 0;
}

body.admin-settings-page .settings-two-col > label:not(.settings-switch){
	display:flex;
	flex-direction:column;
	gap: 6px;
}

/* Settings: input with icon */
body.admin-settings-page .settings-control{
	position: relative;
	display:flex;
	align-items:center;
	--field-accent: var(--brand);
}

body.admin-settings-page .settings-control-ico{
	position:absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius: 10px;
	border: 1px solid color-mix(in srgb, var(--field-accent) 22%, var(--border));
	background: color-mix(in srgb, Canvas 94%, var(--field-accent) 6%);
	opacity: 0.95;
	color: color-mix(in srgb, var(--field-accent) 92%, CanvasText);
	pointer-events:none;
}

body.admin-settings-page .settings-control:focus-within .settings-control-ico{
	opacity: 1;
	color: var(--field-accent);
	border-color: color-mix(in srgb, var(--field-accent) 45%, var(--border));
	background: color-mix(in srgb, Canvas 88%, var(--field-accent) 12%);
}

/* Field icon colors (no HTML changes): use existing palette via :has() */
body.admin-settings-page .settings-control:has(input[name="name"]) { --field-accent: var(--admin-categories); }
body.admin-settings-page .settings-control:has(input[name="slug"]) { --field-accent: var(--admin-reports); }
body.admin-settings-page .settings-control:has(input[name="whatsapp"]) { --field-accent: var(--admin-products); }
body.admin-settings-page .settings-control:has(input[name="max_delivery_km"]) { --field-accent: var(--admin-delivery-zones); }
body.admin-settings-page .settings-control:has(input[name="delivery_time_text"]) { --field-accent: var(--admin-orders); }
body.admin-settings-page .settings-control:has(input[name="min_order"]) { --field-accent: var(--admin-reports); }
body.admin-settings-page .settings-control:has(textarea[name="payment_methods_text"]) { --field-accent: var(--admin-reports); }

body.admin-settings-page .settings-control:has(input[name="logo_url"]) { --field-accent: var(--admin-categories); }
body.admin-settings-page .settings-control:has(input[type="file"]) { --field-accent: var(--admin-categories); }

body.admin-settings-page .settings-control:has(input[name^="address_"]) { --field-accent: var(--admin-delivery-zones); }

body.admin-settings-page .settings-control:has(select[name="printer_name"]) { --field-accent: var(--admin-settings); }
body.admin-settings-page .settings-control:has(select[name="kitchen_printer_name"]) { --field-accent: var(--admin-settings); }
body.admin-settings-page .settings-control:has(input[name="print_indent_mm"]) { --field-accent: var(--admin-settings); }
body.admin-settings-page .settings-control:has(input[name="print_paper_width_mm"]) { --field-accent: var(--admin-settings); }

body.admin-settings-page .settings-control:has(input[name="public_bg_color"]) { --field-accent: var(--admin-products); }
body.admin-settings-page .settings-control:has(input[name="public_card_bg_color"]) { --field-accent: var(--admin-products); }
body.admin-settings-page .settings-control:has(input[name="public_hero_bg_color"]) { --field-accent: var(--admin-products); }
body.admin-settings-page .settings-control:has(input[name="public_group_bg_color"]) { --field-accent: var(--admin-products); }

body.admin-settings-page .settings-control.settings-control--compact{ --field-accent: var(--admin-orders); }

body.admin-settings-page .settings-control-ico svg{width:16px; height:16px; display:block;}
body.admin-settings-page .settings-control-ico svg *{stroke-width: 2.2;}

body.admin-settings-page .settings-control > input,
body.admin-settings-page .settings-control > select{
	padding-left: 54px;
}

body.admin-settings-page .settings-control.settings-control--textarea{
	align-items: stretch;
}

body.admin-settings-page .settings-control.settings-control--textarea .settings-control-ico{
	top: 12px;
	transform: none;
}

body.admin-settings-page .settings-control.settings-control--textarea > textarea{
	padding-left: 54px;
}

body.admin-settings-page .settings-control.settings-control--file{
	gap: 10px;
}

body.admin-settings-page .settings-control.settings-control--file .settings-control-ico{
	position: static;
	transform: none;
	opacity: 0.72;
}

body.admin-settings-page .settings-control.settings-control--file > input{
	padding-left: 0;
	width: 100%;
}

/* Compact icon-input for tables (hours) */
body.admin-settings-page .settings-control.settings-control--compact .settings-control-ico{
	left: 8px;
	width: 26px;
	height: 26px;
}

body.admin-settings-page .settings-control.settings-control--compact .settings-control-ico svg{width: 14px; height: 14px;}

body.admin-settings-page .settings-control.settings-control--compact > input{
	padding-left: 46px;
}

body.admin-settings-page .settings-two-col label > input,
body.admin-settings-page .settings-two-col label > select,
body.admin-settings-page .settings-two-col label > textarea{margin-top:0;}

body.admin-settings-page .settings-color-field{
	display:flex;
	align-items:center;
	gap: 10px;
}

body.admin-settings-page .settings-color-field .settings-control{flex: 1 1 auto; min-width: 0;}

body.admin-settings-page .settings-color-field input[type="color"]{
	width: 46px;
	height: 42px;
	padding: 0;
	border-radius: 12px;
	overflow:hidden;
}

body.admin-settings-page .settings-logo{
	display:grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 14px;
	align-items:start;
	padding: 12px 14px 14px 14px;
}

@media (max-width: 740px){
	body.admin-settings-page .settings-logo{grid-template-columns: 1fr;}
}

body.admin-settings-page .settings-logo-preview{
	width: 140px;
	height: 140px;
	border-radius: calc(var(--radius) + 6px);
	border: 1px solid color-mix(in srgb, var(--border) 70%, Canvas);
	background: color-mix(in srgb, Canvas 88%, AccentColor 4%);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}

body.admin-settings-page .settings-logo-preview img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: Canvas;
}

body.admin-settings-page .settings-logo-fields label{margin: 0;}

body.admin-settings-page .settings-payment-pill{
	border:1px solid color-mix(in srgb, var(--border) 70%, Canvas);
	border-radius: 14px;
	background: color-mix(in srgb, Canvas 92%, AccentColor 4%);
	color: CanvasText;
	transition: transform 120ms ease, filter 120ms ease, border-color 120ms ease, background 120ms ease;
}

body.admin-settings-page .settings-payment-pill:hover{
	border-color: color-mix(in srgb, AccentColor 26%, var(--border));
	filter: contrast(1.03);
	transform: translateY(-1px);
}

body.admin-settings-page .settings-payment-pill input{margin-top:0;}

body.admin-settings-page label.settings-switch{
	display:flex;
	align-items:flex-start;
	gap: 12px;
	padding: 12px 12px;
	border:1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	border-radius: 16px;
	background: color-mix(in srgb, Canvas 96%, CanvasText 1%);
}

/* Big switches (cards): text left, toggle right */
body.admin-settings-page label.settings-switch.settings-switch--card{
	display:flex;
	flex-direction: row;
	align-items:center;
	gap: 12px;
}

body.admin-settings-page label.settings-switch.settings-switch--card > span{
	order: 1;
	display:flex;
	align-items:center;
	gap: 10px;
	min-width: 0;
	line-height: 1.35;
}

body.admin-settings-page label.settings-switch.settings-switch--card > input{
	order: 2;
	margin-top: 0;
	margin-left: auto;
}

body.admin-settings-page label.settings-switch > input{
	margin-top: 2px;
	appearance:none;
	-webkit-appearance:none;
	width: 46px;
	height: 28px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 14%, Canvas);
	background: color-mix(in srgb, Canvas 92%, CanvasText 3%);
	position: relative;
	flex: 0 0 auto;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
	transition: background 140ms ease, border-color 140ms ease, filter 140ms ease;
}

body.admin-settings-page label.settings-switch > input::after{
	content: '';
	position:absolute;
	top: 50%;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: Canvas;
	border: 1px solid color-mix(in srgb, CanvasText 14%, Canvas);
	box-shadow: 0 10px 18px rgba(0,0,0,.10);
	transition: transform 140ms ease;
	transform: translate(0, -50%);
}

body.admin-settings-page label.settings-switch > input:checked{
	background: color-mix(in srgb, var(--brand) 28%, Canvas);
	border-color: color-mix(in srgb, var(--brand) 54%, var(--border));
}

body.admin-settings-page label.settings-switch > input:checked::after{
	transform: translate(18px, -50%);
}

body.admin-settings-page label.settings-switch > span{line-height:1.35;}

/* Switch variants */
body.admin-settings-page label.settings-switch.settings-switch--callout{
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	padding: 12px 14px;
	border-radius: 14px;
	column-gap: 12px;
	row-gap: 6px;
}

body.admin-settings-page label.settings-switch.settings-switch--callout > span{
	line-height: 1.35;
}

body.admin-settings-page label.settings-switch.settings-switch--callout > input{
	margin-top: 2px;
	width: 40px;
	height: 22px;
	background: color-mix(in srgb, Canvas 90%, CanvasText 3%);
	border-color: color-mix(in srgb, CanvasText 16%, Canvas);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
	cursor: pointer;
}

body.admin-settings-page label.settings-switch.settings-switch--callout > input::after{
	top: 50%;
	left: 2px;
	width: 18px;
	height: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,.16);
	transform: translate(0, -50%);
}

body.admin-settings-page label.settings-switch.settings-switch--callout > input:checked::after{
	transform: translate(18px, -50%);
}

body.admin-settings-page label.settings-switch.settings-switch--callout > input:checked{
	background: color-mix(in srgb, var(--switch-accent, var(--brand)) 42%, Canvas);
	border-color: color-mix(in srgb, var(--switch-accent, var(--brand)) 58%, var(--border));
}

body.admin-settings-page label.settings-switch.settings-switch--callout .settings-switch-title{
	display:flex;
	align-items:center;
	gap: 10px;
	margin-bottom: 2px;
}

body.admin-settings-page label.settings-switch.settings-switch--callout .small{
	opacity: 0.85;
}

body.admin-settings-page label.settings-switch.settings-switch--success{
	--switch-accent: var(--admin-products);
	border-color: color-mix(in srgb, var(--switch-accent) 28%, var(--border));
	background: color-mix(in srgb, Canvas 92%, var(--switch-accent) 10%);
}

body.admin-settings-page label.settings-switch.settings-switch--success > input:checked{
	background: color-mix(in srgb, var(--switch-accent) 30%, Canvas);
	border-color: color-mix(in srgb, var(--switch-accent) 55%, var(--border));
}

@media (max-width: 740px){
	body.admin-settings-page label.settings-switch.settings-switch--callout{
		grid-template-columns: auto 1fr;
	}
}

body.admin-settings-page .settings-switch-ico{
	display:inline-flex;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	opacity: 0.75;
	vertical-align: text-bottom;
}

body.admin-settings-page .settings-switch-ico svg{width: 16px; height: 16px; display:block;}

body.admin-settings-page .settings-hours-table{
	border-collapse: separate;
	border-spacing: 0;
}

body.admin-settings-page .settings-hours-table th{
	background: color-mix(in srgb, Canvas 92%, AccentColor 4%);
}

/* -------------------------------
   Admin: Delivery Zones (Entrega)
------------------------------- */

body.admin-delivery-zones-page .dz-page-top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
	flex-wrap:wrap;
	margin: 2px 0 14px 0;
}

body.admin-delivery-zones-page .dz-title{
	margin: 6px 0 0 0;
	letter-spacing: -0.02em;
}

body.admin-delivery-zones-page .dz-sub{
	max-width: 900px;
	opacity: .86;
}

body.admin-delivery-zones-page .dz-grid{
	display:grid;
	grid-template-columns: 380px 1fr;
	gap:14px;
	align-items:start;
}

body.admin-delivery-zones-page .dz-card{
	border-radius: 16px;
	border: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
	background: Canvas;
}

/* Override default .card padding/accent bar just for this page */
body.admin-delivery-zones-page .dz-card.card{
	padding: 0;
	margin: 0;
}

body.admin-delivery-zones-page .dz-card.card::before{display:none;}

body.admin-delivery-zones-page .dz-card-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap: 12px;
	padding: 14px 14px 12px 14px;
	border-bottom: 1px solid color-mix(in srgb, var(--border) 75%, Canvas);
}

body.admin-delivery-zones-page .dz-card-head h2{
	margin: 6px 0 0 0;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
}

body.admin-delivery-zones-page .dz-card-body{
	padding: 12px 14px 14px 14px;
}

body.admin-delivery-zones-page .dz-existing{
	max-width: 860px;
	justify-self: start;
	width: 100%;
}

body.admin-delivery-zones-page .dz-form{padding: 0;}
body.admin-delivery-zones-page .dz-form .small{margin: 0;}

body.admin-delivery-zones-page .dz-form-grid{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:10px 12px;
}

body.admin-delivery-zones-page .dz-form-grid label{margin:0;}

body.admin-delivery-zones-page .dz-input{
	width:100%;
	max-width:100%;
	border-radius: 12px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	background: color-mix(in srgb, Canvas 94%, CanvasText 1%);
	transition: border-color 140ms ease, background 140ms ease, filter 140ms ease;
}

body.admin-delivery-zones-page .dz-input:focus{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
	background: Canvas;
}

body.admin-delivery-zones-page .dz-form-actions{
	margin-top: 12px;
	display:flex;
	gap:10px;
	align-items:center;
	justify-content:flex-end;
}

body.admin-delivery-zones-page .dz-form-actions .btn{border-radius: 12px;}

body.admin-delivery-zones-page .dz-table-wrap{
	border-radius: 16px;
	overflow: hidden;
	background: Canvas;
	border-color: color-mix(in srgb, var(--border) 75%, Canvas);
}

body.admin-delivery-zones-page table.dz-table{
	border-collapse: separate;
	border-spacing: 0;
	width:100%;
	table-layout: fixed;
	min-width: 0;
}

body.admin-delivery-zones-page table.dz-table thead th{
	background: color-mix(in srgb, Canvas 92%, AccentColor 4%);
	font-size: 12px;
	letter-spacing: .02em;
	text-transform: uppercase;
}

body.admin-delivery-zones-page table.dz-table th,
body.admin-delivery-zones-page table.dz-table td{
	padding: 8px 10px;
}

body.admin-delivery-zones-page table.dz-table th:nth-child(1),
body.admin-delivery-zones-page table.dz-table td:nth-child(1){width: 260px;}

body.admin-delivery-zones-page table.dz-table th:nth-child(2),
body.admin-delivery-zones-page table.dz-table td:nth-child(2){width: 140px;}

body.admin-delivery-zones-page table.dz-table th:nth-child(3),
body.admin-delivery-zones-page table.dz-table td:nth-child(3){width: 90px;}

body.admin-delivery-zones-page table.dz-table th:nth-child(4),
body.admin-delivery-zones-page table.dz-table td:nth-child(4){width: 190px;}

body.admin-delivery-zones-page table.dz-table .dz-input--fee,
body.admin-delivery-zones-page table.dz-table .dz-input--order{
	width: 100%;
	max-width: none;
}

body.admin-delivery-zones-page table.dz-table td,
body.admin-delivery-zones-page table.dz-table th{vertical-align: middle;}

body.admin-delivery-zones-page table.dz-table tbody tr{transition: background 140ms ease;}

body.admin-delivery-zones-page table.dz-table tbody tr:hover{
	background: color-mix(in srgb, AccentColor 6%, Canvas);
}

body.admin-delivery-zones-page .dz-range{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap: nowrap;
}

body.admin-delivery-zones-page table.dz-table .dz-input--km{
	width: 110px;
	max-width: 110px;
	flex: 0 0 110px;
}

body.admin-delivery-zones-page table.dz-table .dz-input{
	padding: 8px 10px;
	border-radius: 12px;
}
body.admin-delivery-zones-page .dz-input--fee{max-width: 140px;}
body.admin-delivery-zones-page .dz-input--order{max-width: 90px;}

body.admin-delivery-zones-page .dz-actions{
	display:flex;
	gap:8px;
	justify-content:flex-end;
	align-items:center;
}

body.admin-delivery-zones-page .dz-actions .btn.btn-sm{
	padding: 8px 12px;
	border-radius: 12px;
	font-weight: 900;
	letter-spacing: -0.01em;
}

/* Make "Remove" less visually heavy (still danger) */
body.admin-delivery-zones-page .dz-actions .btn.btn-danger.btn-sm{
	background: color-mix(in srgb, Canvas 92%, var(--status-closed) 10%);
	border-color: color-mix(in srgb, var(--status-closed) 28%, var(--border));
	color: color-mix(in srgb, var(--status-closed) 85%, CanvasText);
}

body.admin-delivery-zones-page .dz-actions .btn.btn-danger.btn-sm:hover{
	background: color-mix(in srgb, Canvas 88%, var(--status-closed) 14%);
	border-color: color-mix(in srgb, var(--status-closed) 36%, var(--border));
}

body.admin-delivery-zones-page .dz-actions .btn{border-radius: 12px;}

body.admin-delivery-zones-page .dz-empty{padding: 14px;}

@media (max-width: 980px){
	body.admin-delivery-zones-page .dz-grid{grid-template-columns: 1fr;}
}

@media (max-width: 560px){
	body.admin-delivery-zones-page .dz-form-grid{grid-template-columns: 1fr;}
	body.admin-delivery-zones-page .dz-form-actions{justify-content: stretch;flex-direction:column;align-items:stretch;}
	body.admin-delivery-zones-page .dz-actions{justify-content: stretch;flex-direction:column;align-items:stretch;}
	body.admin-delivery-zones-page table.dz-table th:nth-child(3),
	body.admin-delivery-zones-page table.dz-table td:nth-child(3){display:none;}
	body.admin-delivery-zones-page .dz-range{flex-wrap:wrap;}
	body.admin-delivery-zones-page .dz-input--km,
	body.admin-delivery-zones-page .dz-input--fee,
	body.admin-delivery-zones-page .dz-input--order{max-width: none;}
	body.admin-delivery-zones-page table.dz-table .dz-input--km{flex: 1 1 160px; width: auto; max-width: none;}
}

/* Mobile: make the existing zones list read like cards */
@media (max-width: 740px){
	body.admin-delivery-zones-page .dz-table-wrap{overflow: hidden;}
	body.admin-delivery-zones-page .dz-table-wrap table.dz-table{min-width:0 !important;}
	body.admin-delivery-zones-page table.dz-table thead{display:none;}
	body.admin-delivery-zones-page table.dz-table,
	body.admin-delivery-zones-page table.dz-table tbody{display:block;}
	body.admin-delivery-zones-page table.dz-table tbody tr{
		display:block;
		padding: 12px;
		border-bottom: 1px solid var(--border);
	}
	body.admin-delivery-zones-page table.dz-table tbody tr:last-child{border-bottom: 0;}
	body.admin-delivery-zones-page table.dz-table td{display:block; padding: 8px 0; border: 0;}
	body.admin-delivery-zones-page table.dz-table td.right{text-align:left;}

	body.admin-delivery-zones-page .dz-range{gap:8px;}
	body.admin-delivery-zones-page .dz-range input{width:100% !important; max-width: none;}
	body.admin-delivery-zones-page .dz-fee input{width:100% !important; max-width: none;}
	body.admin-delivery-zones-page .dz-order input{width:100% !important; max-width: none;}
	body.admin-delivery-zones-page .dz-actions{justify-content: stretch; flex-direction: row;}
	body.admin-delivery-zones-page .dz-actions form{flex: 1 1 auto;}
	body.admin-delivery-zones-page .dz-actions .btn{width:100%;}
}

body.admin-settings-page .settings-hours-table th,
body.admin-settings-page .settings-hours-table td{
	padding: 12px 12px;
}

body.admin-settings-page .settings-hours-table tr:first-child th:first-child{border-top-left-radius: 14px;}
body.admin-settings-page .settings-hours-table tr:first-child th:last-child{border-top-right-radius: 14px;}

body.admin-settings-page .settings-hours-table-wrap{
	border-radius: 16px;
	overflow:hidden;
	border: 1px solid color-mix(in srgb, var(--border) 70%, Canvas);
}

.settings-tab{display:block;}

.settings-tab.is-hidden{display:none !important;}

.settings-payment-grid{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.settings-payment-pill{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:10px 12px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fff;
	color:#111827;
}

.settings-payment-pill input{
	width:16px;
	height:16px;
}

.settings-payment-pill:hover{
	border-color:#cbd5e1;
}

/* Public: payments chips in the Info modal */
.payment-grid{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.payment-pill{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:10px 12px;
	border-radius:10px;
	border:1px solid #e5e7eb;
	background:#fff;
	box-shadow: 0 6px 14px rgba(0,0,0,.06);
}

.payment-pill-icon{
	width:22px;
	height:22px;
	flex: 0 0 22px;
	object-fit:contain;
}

.payment-pill-text{
	font-size:14px;
	color:#111827;
	line-height:1;
}

/* Checkout: payment selector with icon */
.payment-select{
	display:flex;
	gap:12px;
	align-items:flex-start;
}

.payment-select-icon{
	width:42px;
	height:42px;
	border-radius:12px;
	border:1px solid #e5e7eb;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow: 0 6px 14px rgba(0,0,0,.06);
	margin-top:22px; /* aligns with select */
}

.payment-select-icon img{
	width:24px;
	height:24px;
	object-fit:contain;
}

@media (max-width: 560px){
	.payment-select-icon{margin-top:22px;}
}

@media (max-width: 560px){
	.settings-sections{gap:8px;}
	.settings-section-btn{flex: 1 1 calc(50% - 8px); justify-content:center;}
}

/* Product page: match the warm card tone */
.page-top .btn.btn-ghost{
	border-color: color-mix(in srgb, var(--brand) 44%, var(--border));
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 28%, Canvas) 0%,
			color-mix(in srgb, var(--brand) 16%, Canvas) 72%);
}

.page-top .btn.btn-ghost:hover{
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 34%, Canvas) 0%,
			color-mix(in srgb, var(--brand) 20%, Canvas) 72%);
	border-color: color-mix(in srgb, var(--brand) 56%, var(--border));
}

.rest-id{
	display:flex;
	align-items:center;
	gap:10px;
	padding: 8px 10px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--brand) 44%, var(--border));
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 28%, Canvas) 0%,
			color-mix(in srgb, var(--brand) 16%, Canvas) 72%);
}

.addbar .add-to-cart-btn.btn-primary{
	background: #ff5a00;
	border-color: #d94e00;
	color: #fff;
}

.rest-logo{
	width: 34px;
	height: 34px;
	border-radius: 999px;
	object-fit: cover;
	border: 1px solid color-mix(in srgb, CanvasText 10%, Canvas);
	background: Canvas;
}

.rest-name{
	font-weight: 850;
	letter-spacing: -0.01em;
	max-width: 52vw;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.hero-center{text-align:center;}
.hero-center h1{margin-top:8px;}

h1{margin:10px 0 12px 0;font-size:clamp(22px, 3.2vw, 32px);letter-spacing:-0.02em;}
h2{margin:14px 0 10px 0;font-size:clamp(18px, 2.4vw, 22px);letter-spacing:-0.01em;}
p{margin:10px 0;}

.card{
	border:1px solid var(--border);
	border-radius:var(--radius);
	padding:var(--pad);
	margin:14px 0;
	background: var(--surface);
	position: relative;
	overflow: hidden;
}

.card::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width: 6px;
	background: linear-gradient(180deg, AccentColor 0%, color-mix(in srgb, AccentColor 40%, Canvas) 100%);
	opacity: 0.9;
}

/* Option groups: cleaner "premium" card (no accent bar unless invalid) */
.option-group{
	box-shadow:
		0 10px 26px color-mix(in srgb, CanvasText 10%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
}

.option-group::before{opacity: 0;}

.option-group.is-invalid{
	border-color: color-mix(in srgb, var(--status-closed) 55%, var(--border));
	background: color-mix(in srgb, var(--status-closed) 8%, var(--surface));
}

.option-group.is-invalid::before{
	background: linear-gradient(180deg, var(--status-closed) 0%, color-mix(in srgb, var(--status-closed) 40%, Canvas) 100%);
	opacity: 0.95;
}

.og-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin: calc(var(--pad) * -1);
	margin-bottom: 12px;
	padding: 14px 16px;
	background:
		linear-gradient(180deg,
			color-mix(in srgb, CanvasText 6%, Canvas) 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	border-bottom: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	border-top-left-radius: calc(var(--radius) - 1px);
	border-top-right-radius: calc(var(--radius) - 1px);
}

.og-title{font-weight: 800;letter-spacing:-0.01em;}

.og-head-left{min-width:0;}

.og-subtitle{margin-top:4px;font-size:0.92em;opacity:0.72;}

.og-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding: 5px 10px;
	border-radius: 999px;
	background: CanvasText;
	color: Canvas;
	border: 1px solid color-mix(in srgb, CanvasText 85%, Canvas);
	font-size: 11px;
	letter-spacing: 0.06em;
	font-weight: 900;
	white-space: nowrap;
}

.og-list{display:block;}

.og-item{
	position: relative;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding: 16px 12px;
	border-top: 1px solid color-mix(in srgb, CanvasText 9%, Canvas);
	cursor:pointer;
	border-radius: 12px;
	transition: background 140ms ease, transform 140ms ease, filter 140ms ease;
}

.og-item:first-child{border-top:0;}

.og-item:hover{
	background: color-mix(in srgb, AccentColor 7%, Canvas);
}

.og-item:active{transform: translateY(0.5px);}

.og-text{display:flex;flex-direction:column;gap:6px;min-width:0;}

.og-name{font-weight: 750;letter-spacing:-0.01em;}

.og-price{color: var(--brand);font-weight: 900;font-size: 0.96em;}

.og-input{position:absolute;opacity:0;pointer-events:none;}

.og-mark{
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	border: 1.5px solid color-mix(in srgb, var(--brand) 55%, var(--border));
	display:flex;
	align-items:center;
	justify-content:center;
	color: var(--brand);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, Canvas 92%, var(--brand)) 0%,
			color-mix(in srgb, Canvas 86%, var(--brand)) 100%);
	box-shadow:
		0 10px 18px color-mix(in srgb, CanvasText 8%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 90%, CanvasText);
	transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, color 140ms ease, filter 140ms ease;
}

/* Default: show + */
.og-mark::before{
	content:"+";
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
}

/* When checked: show check */
.og-input:checked + .og-mark{
	background: var(--brand);
	border-color: color-mix(in srgb, var(--brand) 78%, CanvasText);
	color: Canvas;
	filter: saturate(1.05);
}

.og-input:checked + .og-mark::before{content:"\2713";font-size:16px;}

/* Radio look: empty circle unless checked */
.og-input[type="radio"] + .og-mark::before{content:"";}
.og-input[type="radio"] + .og-mark{background: transparent;color: var(--brand);box-shadow:none;}
.og-input[type="radio"]:checked + .og-mark{background: var(--brand);}
.og-input[type="radio"]:checked + .og-mark::before{content:"\2713";}

/* Keyboard focus: highlight the item */
.og-item:focus-within{outline: 2px solid var(--ring);outline-offset: 2px;}

.card > *{position:relative;}

.card:hover{
	border-color: color-mix(in srgb, AccentColor 28%, CanvasText);
}

.hero{
	display:flex;
	align-items:center;
	padding: calc(var(--pad) + 4px);
	padding-bottom: calc(var(--pad) + 18px);
	min-height: 220px;
	background:
		radial-gradient(1200px 420px at 12% -10%, color-mix(in srgb, var(--brand) 14%, transparent) 0%, transparent 56%),
		linear-gradient(180deg, color-mix(in srgb, CanvasText 4%, var(--surface)) 0%, var(--surface) 68%),
		var(--surface);
}

/* Public hero: remove the global accent bar for a cleaner look */
.hero.card::before{opacity: 0;}

/* Logo maior quando estiver ao lado do nome (precisa vencer a regra base `.logo`) */
.logo.hero-logo-side{
	width: 175px;
	height: 175px;
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 0;
}

.hero-brand{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap: 16px;
}

.hero-brand .logo{margin: 0;}

.hero-center{flex: 1 1 auto;text-align:left;}
.hero-center h1{margin: 0;}

@media (min-width: 561px){
	/* Evita o nome ficar por baixo do bloco da direita (.hero-side) */
	.hero-center{padding-right: 290px;}
	.hero-brand{transform: translateY(7px);}
}

@media (max-width: 560px){
	.hero-brand{flex-direction:column;align-items:center;}
	.hero-center{text-align:center;}
}

.hero-cart{
	position:absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
}

.hero-side{
	position:absolute;
	top: 50%;
	right: 12px;
	z-index: 2;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap: 8px;
	transform: translateY(-50%);
}

@media (max-width: 560px){
	.hero-side{top: auto; right: auto;}
}

.hero-top-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	width: min(260px, 72vw);
}

.hero-side .hero-cart{
	position: static;
	top: auto;
	right: auto;
}

.hero-orders{
	min-height: 44px;
	flex: 1 1 auto;
	justify-content:center;
	padding-left: 14px;
	padding-right: 14px;
}

.btn-sm{
	padding: 8px 12px;
	border-radius: 999px;
	font-weight: 850;
}

.hero-mini{
	padding: 8px 10px;
	width: min(260px, 72vw);
	border-radius: 16px;
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, CanvasText 3%, Canvas) 0%,
			Canvas 100%);
	text-align:right;
	box-shadow:
		0 16px 30px color-mix(in srgb, CanvasText 10%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 90%, CanvasText);
}

.hero-mini-row{
	display:flex;
	justify-content:space-between;
	gap: 12px;
	width: 100%;
	font-size: 0.92em;
	align-items:center;
}

.hero-bottom-row{
	display:flex;
	flex-direction:row;
	align-items:stretch;
	gap: 10px;
	width: min(260px, 72vw);
}

.hero-bottom-row > *{flex: 1 1 0;}

.hero-info-btn{
	justify-content:center;
	border-radius: 999px;
	min-height: 38px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.hero-status{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height: 38px;
	width: 100%;
}

.hero-mini-left{display:flex;align-items:center;gap:8px;min-width:0;}

.hero-mini-icon{
	flex:0 0 auto;
	color: var(--brand);
	opacity: 0.95;
}

.hero-mini-label{opacity: 0.78;}
.hero-mini-value{font-weight: 900;}

/* Mobile: coloca infos/botÃµes abaixo do nome */
@media (max-width: 560px){
	.hero{display:block;}
	.hero-center{padding-right: 0;}
	.hero-brand{transform:none;}
	.hero-side{
		position: static;
		transform: none;
		align-items: stretch;
		width: 100%;
		margin-top: 12px;
	}
	.hero-top-actions,
	.hero-mini,
	.hero-bottom-row{width: 100%;}
	.hero-top-actions{justify-content:space-between;}
}

.btn-icon{
	width: 44px;
	height: 44px;
	padding: 0;
}

.btn-icon-xs{
	width: 38px;
	height: 38px;
}

.cart-actions{
	display:flex;
	justify-content:flex-end;
	gap: 8px;
	margin-top: 10px;
}

@media (max-width: 560px){
	.cart-row{cursor:pointer;}
	.cart-actions{display:none;}
	.cart-row.is-open .cart-actions{display:flex;}
}

.btn-icon .icon{display:block;}

.icon-inline{
	display:inline-block;
	vertical-align:-3px;
	margin-right: 6px;
}

.hero-cart.btn,
.menu-search .btn.btn-icon{
	background: color-mix(in srgb, CanvasText 4%, Canvas);
	border-color: color-mix(in srgb, CanvasText 12%, Canvas);
	color: var(--brand);
}

.hero-cart.btn:hover,
.menu-search .btn.btn-icon:hover{
	background: color-mix(in srgb, CanvasText 6%, Canvas);
	border-color: color-mix(in srgb, var(--brand) 22%, Canvas);
}

.menu-tools{
	margin-top: -4px;
	position: sticky;
	top: 12px;
	z-index: 25;
}

/* Menu (cardÃ¡pio): visual mais neutro/premium, com acento sutil da marca */
.menu-tools.card,
.menu-category.card{
	border-color: color-mix(in srgb, CanvasText 12%, Canvas);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, CanvasText 3%, Canvas) 0%,
			Canvas 100%);
	box-shadow:
		0 20px 40px color-mix(in srgb, CanvasText 12%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 92%, CanvasText);
}

.menu-tools.card::after,
.menu-category.card::after{
	content:"";
	position:absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background:
		linear-gradient(90deg,
			color-mix(in srgb, var(--brand) 92%, transparent) 0%,
			color-mix(in srgb, var(--brand) 55%, transparent) 46%,
			transparent 100%);
	opacity: 0.9;
}

.menu-tools.card::before,
.menu-category.card::before{opacity: 0;}

.menu-category{scroll-margin-top: 140px;}

.sys-footer{
	margin: 22px 0 0 0;
	padding: 18px 0 6px 0;
	display:flex;
	justify-content:center;
}

.sys-footer-logo{
	width: 132px;
	height: auto;
	object-fit: contain;
	opacity: 0.9;
}

.menu-tools-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

.menu-search{
	display:flex;
	align-items:center;
	gap:10px;
	flex: 1 1 380px;
}

.menu-search-input{
	flex: 1 1 auto;
	width: 100%;
	min-width: 220px;
	border:1px solid var(--border);
	border-radius: var(--radius-sm);
	background: Canvas;
	padding: 10px 12px;
}

.menu-search-input:focus{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
	border-color: color-mix(in srgb, var(--brand) 22%, Canvas);
}

.chips{
	margin-top: 12px;
	display:flex;
	gap:12px;
	overflow:auto;
	padding: 2px 2px 6px 2px;
	-webkit-overflow-scrolling: touch;
}

.chip{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	white-space: nowrap;
	min-height: 40px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 14%, Canvas);
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	color: inherit;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-decoration:none;
	box-shadow:
		0 10px 22px color-mix(in srgb, CanvasText 7%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 7%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 92%, CanvasText);
	transition: transform 150ms ease, filter 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.chip:hover{
	text-decoration:none;
	transform: translateY(-1px);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, var(--brand) 7%, Canvas) 0%,
			Canvas 58%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	border-color: color-mix(in srgb, var(--brand) 22%, Canvas);
	box-shadow:
		0 14px 28px color-mix(in srgb, CanvasText 9%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 92%, CanvasText);
}

.chip:active{transform: translateY(0px);filter:contrast(1.02) saturate(1.03);}

.chip:focus{outline: 2px solid var(--ring);outline-offset: 2px;}

.card .card{
	margin:10px 0;
	padding:var(--pad-sm);
	border-radius:var(--radius-sm);
}

.row{display:flex;gap:12px;flex-wrap:wrap;}
.col{flex:1 1 320px;min-width:260px;}

/* Checkout */
.checkout-grid{align-items:flex-start;}
.checkout-main{flex: 1 1 520px;min-width: 280px;}
.checkout-side{flex: 0 1 340px;min-width: 260px;}

/* Keep checkout content nicely centered and not too narrow */
.checkout-grid{
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
}

.checkout-main{min-width: 0;}

@media (min-width: 980px){
	.checkout-grid{
		display: grid;
		grid-template-columns: 1fr 420px;
		gap: 18px;
	}
	.checkout-grid > .col{min-width: 0;}
}

@media (max-width: 979px){
	.checkout-grid{gap: 14px;}
	.checkout-side{flex: 1 1 100%;}
}

@media (max-width: 520px){
	.checkout-main .card,
	.checkout-side .card{margin: 12px 0;}
	.checkout-cta .btn{min-height: 48px;}
}

/* Checkout: make it feel premium */
.checkout-main .card,
.checkout-side .card{
	box-shadow:
		0 22px 44px rgba(0,0,0,.06),
		0 1px 0 rgba(0,0,0,.06);
}

/* Make cards breathe a bit more */
.checkout-main .card,
.checkout-side .card{
	border-color: color-mix(in srgb, CanvasText 10%, Canvas);
}

.checkout-main .card::before,
.checkout-side .card::before{opacity: 0;}

.checkout-main .card{
	background:
		linear-gradient(180deg,
			color-mix(in srgb, Canvas 96%, AccentColor 6%) 0%,
			var(--surface) 100%);
}

.checkout-side .checkout-summary{
	background:
		linear-gradient(135deg,
			color-mix(in srgb, AccentColor 14%, Canvas) 0%,
			Canvas 60%);
	border-color: color-mix(in srgb, AccentColor 22%, CanvasText);
	box-shadow:
		0 22px 46px rgba(0,0,0,.08),
		inset 0 1px 0 rgba(255,255,255,.55);
}

.checkout-side .checkout-summary .card-title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom: 12px;
}

.checkout-side .checkout-summary .card-title::after{
	content:"";
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 14px;
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 36%, Canvas) 0%,
			color-mix(in srgb, var(--brand) 18%, Canvas) 100%);
	box-shadow:
		0 16px 26px rgba(0,0,0,.08),
		inset 0 1px 0 rgba(255,255,255,.55);
}

/* Page title hierarchy for checkout */
h1{
	margin-top: 8px;
}

.page-top + h1{
	margin-top: 6px;
}

/* Form fields inside checkout cards */
.checkout-main label,
#deliveryBlock label{
	display:block;
	font-weight: 800;
	letter-spacing: -0.01em;
	font-size: 0.94rem;
	color: color-mix(in srgb, CanvasText 86%, Canvas);
	margin-top: 10px;
}

.checkout-main label:first-child,
#deliveryBlock label:first-child{margin-top: 0;}

.checkout-main input.w-full,
#deliveryBlock input.w-full{
	margin-top: 6px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, CanvasText 14%, Canvas);
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, Canvas 88%, CanvasText) 100%);
	padding: 12px 12px;
	transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.checkout-main input.w-full:focus,
#deliveryBlock input.w-full:focus{
	outline: none;
	border-color: color-mix(in srgb, var(--brand) 60%, CanvasText);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 22%, Canvas);
}

.checkout-main input.w-full::placeholder,
#deliveryBlock input.w-full::placeholder{
	color: color-mix(in srgb, CanvasText 45%, Canvas);
}

/* Better spacing for the multi-column rows inside checkout */
.checkout-main .row{gap: 14px;}

/* Delivery block: make the helper text prettier */
#deliveryBlock .small{
	margin-top: 2px;
	color: color-mix(in srgb, CanvasText 62%, Canvas);
}

@media (min-width: 900px){
	.checkout-side .checkout-summary{position: sticky; top: 92px;}
}

.card-title{
	font-weight: 900;
	letter-spacing: -0.01em;
	margin: 0 0 10px 0;
}

.order-type{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 10px;
	align-items: stretch;
}

/* Segmented control: both options same width/height, always aligned */
.order-type .radio-pill{
	margin: 0;
	display: block;
	min-width: 0;
}

.order-type .radio-pill-text{
	width: 100%;
	min-width: 0;
	justify-content: center;
}

@media (max-width: 519px){
	.order-type{grid-template-columns: 1fr;}
}

.radio-pill{margin:0;}
.radio-pill input{position:absolute;opacity:0;pointer-events:none;}

.radio-pill-text{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height: 48px;
	padding: 10px 16px;
	min-width: 132px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, var(--brand) 10%, Canvas) 0%,
			color-mix(in srgb, var(--brand) 6%, Canvas) 100%);
	box-shadow:
		0 10px 22px color-mix(in srgb, CanvasText 7%, transparent),
		inset 0 1px 0 color-mix(in srgb, Canvas 92%, CanvasText);
	font-weight: 850;
	cursor:pointer;
	user-select:none;
	transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

.radio-pill-text:hover{
	border-color: color-mix(in srgb, var(--brand) 28%, CanvasText);
	transform: translateY(-1px);
	filter: saturate(1.05);
}

.radio-pill-text:active{
	transform: translateY(0px);
}

.radio-pill input:focus + .radio-pill-text{outline: 2px solid var(--ring); outline-offset: 2px;}

.radio-pill input:checked + .radio-pill-text{
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 92%, Canvas) 0%,
			var(--brand) 72%);
	border-color: color-mix(in srgb, var(--brand) 58%, CanvasText);
	color: CanvasText;
	box-shadow:
		0 14px 26px rgba(0,0,0,.10),
		inset 0 1px 0 rgba(255,255,255,.32);
}

.checkout-geo{margin-top: 8px;}

/* Checkout: status message right under CEP field */
.checkout-geo--cep{
	margin-top: 6px;
	margin-bottom: 10px;
}

.checkout-geo--cep .small{
	opacity: 0.82;
}

.checkout-summary .summary-row{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap: 12px;
	padding: 6px 0;
}

.checkout-summary .summary-row strong,
.checkout-summary .summary-row span{
	font-variant-numeric: tabular-nums;
}

.checkout-summary .summary-row + .summary-row{
	border-top: 1px dashed color-mix(in srgb, var(--brand) 14%, var(--border));
}

.checkout-summary .summary-row.small{
	font-size: 0.92em;
	color: var(--muted);
}

/* Checkout summary: coupon field alignment */
.checkout-summary .summary-row.summary-coupon{
	display:block;
	padding: 10px 0;
}

.checkout-summary .summary-row.summary-coupon + .summary-row{
	border-top: 1px dashed color-mix(in srgb, var(--brand) 14%, var(--border));
}

.checkout-summary .summary-coupon-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
}

.checkout-summary .summary-coupon-actions{
	display:flex;
	align-items:center;
	gap: 8px;
	flex: 0 0 auto;
}

.checkout-summary .summary-row.summary-coupon input{
	margin-top: 6px;
}

.checkout-summary .summary-row.summary-total{
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px solid color-mix(in srgb, var(--brand) 18%, var(--border));
	font-size: 1.05em;
}

.checkout-summary .summary-row.summary-total strong{
	color: color-mix(in srgb, var(--brand) 88%, CanvasText);
}

.checkout-summary .summary-total strong{
	font-weight: 950;
}

.checkout-cta{margin-top: 12px;}

.checkout-cta .btn{
	min-height: 52px;
	border-radius: 16px;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.checkout-cta .btn.btn-primary{
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 92%, Canvas) 0%,
			var(--brand) 65%);
	border-color: color-mix(in srgb, var(--brand) 62%, CanvasText);
	color: CanvasText;
	box-shadow:
		0 16px 30px rgba(0,0,0,.14),
		0 1px 0 rgba(0,0,0,.08),
		inset 0 1px 0 rgba(255,255,255,.28);
}

.checkout-cta .btn.btn-primary:hover{
	transform: translateY(-1px);
	filter: saturate(1.05) contrast(1.02);
	box-shadow:
		0 18px 34px rgba(0,0,0,.16),
		0 1px 0 rgba(0,0,0,.08),
		inset 0 1px 0 rgba(255,255,255,.28);
}

.checkout-cta .btn.btn-primary:active{
	transform: translateY(0px);
	filter: saturate(1.0) contrast(1.0);
}

.checkout-cta .btn.btn-primary:focus-visible{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
}

.addbar{
	display:flex;
	gap:12px;
	align-items:stretch;
	flex-wrap:wrap;
	margin-top: 14px;
}

.qty-stepper{
	display:inline-flex;
	align-items:stretch;
	border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--border));
	border-radius: 16px;
	overflow:hidden;
	background: var(--surface);
}

.qty-input{
	width: 64px;
	text-align:center;
	border: 0;
	border-left: 1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	border-right: 1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	border-radius: 0;
	background: transparent;
	padding: 10px 8px;
	appearance: textfield;
	-moz-appearance: textfield;
}

/* Remove number input spinners (Chrome/Edge/Safari) */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{
	-webkit-appearance: none;
	margin: 0;
}

.qty-input:focus{outline: 2px solid var(--ring);outline-offset: -2px;}

.qty-btn{
	width: 44px;
	padding: 0;
	border: 0;
	background: color-mix(in srgb, var(--brand) 16%, Canvas);
	color: CanvasText;
	font-weight: 900;
	font-size: 18px;
	line-height: 1;
}

.qty-btn:hover{filter:contrast(1.05);}

.add-to-cart-btn{
	flex: 1 1 260px;
	min-height: 52px;
	border-radius: 16px;
	justify-content:center;
	gap: 10px;
	font-weight: 800;
}

.add-total{font-weight: 900;}

.w-full{width:100% !important;}
.w-auto{width:auto !important;}

.is-hidden{display:none !important;}

.modal{
	position: fixed;
	inset: 0;
	z-index: 200;
	display: none;
}

/* Defensive: never let a hidden modal block clicks */
.modal:not(.is-open){
	pointer-events: none;
}

.modal.is-open{display:block;}

.modal-backdrop{
	position:absolute;
	inset:0;
	background: color-mix(in srgb, CanvasText 50%, transparent);
}

@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))){
	.modal-backdrop{
		background: color-mix(in srgb, CanvasText 22%, transparent);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
}

.modal-card{
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(600px, calc(100vw - 32px));
	max-height: min(72vh, 720px);
	display:flex;
	flex-direction:column;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface);
	overflow:hidden;
	box-shadow: 0 34px 70px color-mix(in srgb, CanvasText 18%, transparent);
}

/* Map modal (checkout) */
.modal-card.modal-map{
	width: min(860px, calc(100vw - 32px));
	max-height: min(82vh, 820px);
}

.delivery-map{
	width: 100%;
	height: min(55vh, 520px);
	margin-top: 10px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow:hidden;
}

@media (max-width: 860px){
	.modal-card.modal-map{width: calc(100vw - 16px); max-height: 86vh;}
	.delivery-map{height: 52vh;}
}

.modal-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
	padding: 12px var(--pad);
	border-bottom: 1px solid var(--border);
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 14%, Canvas) 0%,
			Canvas 65%);
}

.modal-title{font-weight: 900;letter-spacing: -0.01em;}

.modal-tabs{
	display:flex;
	gap: 10px;
	padding: 10px var(--pad);
	border-bottom: 1px solid var(--border);
	background: color-mix(in srgb, var(--brand) 8%, Canvas);
}

.modal-tab{
	cursor:pointer;
	border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--border));
	border-radius: 999px;
	background: Canvas;
	padding: 8px 12px;
	font-weight: 850;
}

.modal-tab:hover{filter:contrast(1.05);}

.modal-tab.is-active{
	background: var(--brand);
	border-color: color-mix(in srgb, var(--brand) 70%, CanvasText);
	color: Canvas;
}

.modal-body{
	padding: var(--pad);
	flex: 1 1 auto;
	min-height: 0;
	overflow:auto;
}

/* Product modal (menu) */
.modal-card.modal-product{
	/* Maximizado: ocupa a tela toda */
	--pm-side: 100%;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
}

@media (min-width: 861px){
	.modal-card.modal-product{
		width: 680px;
		max-width: 90vw;
		height: 90vh;
		border-radius: 20px;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		border: 1px solid var(--border);
		box-shadow: none;
	}
	/* Desktop product modal: header sem gradiente da marca */
	.modal-card.modal-product > .modal-head{
		background: var(--surface, Canvas);
	}
	/* Botão fechar do modal de produto no desktop */
	.modal-card.modal-product > .modal-head [data-close-product]{
		width: 36px;
		height: 36px;
		min-width: 36px;
		padding: 0;
		border-radius: 999px;
		border: 1px solid color-mix(in srgb, CanvasText 20%, transparent);
		background: color-mix(in srgb, CanvasText 7%, Canvas);
		color: CanvasText;
		font-size: 20px;
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.modal-card.modal-product > .modal-head [data-close-product]:hover{
		background: color-mix(in srgb, CanvasText 14%, Canvas);
	}
}

.modal-body.modal-body-product{
	padding: 0;
	overflow: hidden;
	display:flex;
	flex-direction:column;
	flex: 1 1 auto;
	min-height: 0;
}

.product-modal{height:100%; min-height:0;}

.pm-grid{
	display:grid;
	/* Left media (A) is square; right panel (B) slightly narrower */
	grid-template-columns: var(--pm-side) minmax(300px, 400px);
	height: 100%;
	min-height: 0;
}

.pm-media{
	position: relative;
	background: color-mix(in srgb, var(--brand) 10%, Canvas);
	border-right: 1px solid var(--border);
	min-height: 0;
	display:flex;
	align-items:center;
	justify-content:center;
}


.pm-media-frame{
	width: 100%;
	height: 100%;
	border-radius: 0;
	overflow:hidden;
	box-shadow: none;
}

.pm-photo{width:100%;height:100%;object-fit:cover;display:block;}

.pm-placeholder{
	width: 100%;
	height: 100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:
		radial-gradient(520px 320px at 30% 10%, color-mix(in srgb, var(--brand) 24%, Canvas) 0%, Canvas 58%),
		linear-gradient(135deg, color-mix(in srgb, var(--brand) 14%, Canvas) 0%, Canvas 68%);
}

.pm-logo{
	max-width: 70%;
	max-height: 70%;
	width:auto;
	height:auto;
	object-fit:contain;
	filter: drop-shadow(0 14px 22px color-mix(in srgb, CanvasText 18%, transparent));
	opacity: 0.95;
}

.pm-panel{display:flex;flex-direction:column;min-width:0;min-height:0;}

.pm-head{
	padding: var(--pad);
	border-bottom: 1px solid var(--border);
	background: var(--surface, #fff);
}

.pm-name{font-weight: 950; letter-spacing:-0.02em; font-size: 1.12em;}
.pm-price{margin-top: 6px;}
.pm-desc{margin-top: 8px;}

.pm-panel form{display:flex;flex-direction:column;min-height:0;flex: 1 1 auto;}

.pm-scroll{
	padding: var(--pad);
	overflow:auto;
	flex: 1 1 auto;
}

/* Slightly denser option UI inside product modal (B) */
.product-modal .card{margin: 12px 0;}
.product-modal .og-head{padding: 12px 14px; margin-bottom: 10px;}
.product-modal .og-item{padding: 12px 10px;}
.product-modal .og-text{gap:4px;}
.product-modal .og-mark{width: 30px; height: 30px;}
.product-modal .og-mark::before{font-size: 16px;}

/* Deixe a rolagem acontecer no corpo do modal (nÃ£o sÃ³ na lista de opÃ§Ãµes) */
.product-modal .option-group .og-list{
	max-height: none;
	overflow: visible;
	padding-right: 0;
}

.pm-sticky{
	padding: var(--pad);
	border-top: 1px solid var(--border);
	background: var(--surface);
}

.pm-sticky .addbar{margin-top: 0;}

/* Product modal: keep qty + add button on the same row (desktop too) */
.product-modal .pm-sticky .addbar{flex-wrap: nowrap;}
.product-modal .pm-sticky .qty-stepper{flex: 0 0 auto;}
.product-modal .pm-sticky .add-to-cart-btn{flex: 1 1 auto; min-width: 0;}

@media (max-width: 860px){
	.modal-card.modal-product{width: 100vw; height: 100vh; border-radius: 0; border: none; left: 0; top: 0; transform: none;}
	.modal-body.modal-body-product{overflow:auto;}

	/* Mobile product modal: hide top header, place close button over the image */
	.modal-card.modal-product > .modal-head{
		position:absolute;
		left:0;
		right:0;
		top:0;
		z-index: 10;
		height:0;
		padding:0;
		border:0;
		background:none;
		pointer-events:none;
	}

	/* Keep title for a11y (aria-labelledby) but not visible */
	.modal-card.modal-product > .modal-head .modal-title{
		position:absolute;
		width:1px;
		height:1px;
		padding:0;
		margin:-1px;
		overflow:hidden;
		clip: rect(0, 0, 0, 0);
		white-space:nowrap;
		border:0;
	}

	.modal-card.modal-product > .modal-head [data-close-product]{
		pointer-events:auto;
		position:absolute;
		top: 10px;
		left: 10px;
		z-index: 11;
		width: 40px;
		height: 40px;
		padding: 0;
		border-radius: 999px;
		border: 1px solid color-mix(in srgb, CanvasText 16%, transparent);
		background: color-mix(in srgb, Canvas 72%, transparent);
		color: CanvasText;
		font-size: 22px;
		line-height: 1;
		box-shadow: 0 18px 34px color-mix(in srgb, CanvasText 18%, transparent);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
	.modal-card.modal-product > .modal-head [data-close-product]:hover{filter:contrast(1.05);}
	.modal-card.modal-product > .modal-head [data-close-product]:active{transform: translateY(0.5px);}

	/* Mobile sticky bar: keep qty + button in one row, button smaller */
	.product-modal .pm-sticky .addbar{
		flex-wrap: nowrap;
		gap: 10px;
	}
	.product-modal .pm-sticky .qty-stepper{flex: 0 0 auto;}
	.product-modal .pm-sticky .add-to-cart-btn{
		flex: 1 1 auto;
		min-height: 46px;
		border-radius: 14px;
		padding-left: 12px;
		padding-right: 12px;
		font-weight: 850;
	}

	/* Mobile: scroll the whole modal content (image + description + options) */
	.product-modal{height:auto;}
	.pm-grid{height:auto;}
	.pm-panel form{display:block;}
	.pm-scroll{overflow:visible; flex:none;}
	.pm-sticky{position: sticky; bottom: 0; z-index: 2;}

	.pm-grid{grid-template-columns: 1fr;}
	.pm-media{border-right: 0; border-bottom: 1px solid var(--border); min-height: 220px;}
}

.modal-kv{line-height:1.55;}

.modal-hours th,
.modal-hours td{vertical-align:top;}

input,select,textarea,button{
	padding:10px 12px;
	font:inherit;
	color:inherit;
}

input,select,textarea{
	width:auto;
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	background: Canvas;
}

input:focus,select:focus,textarea:focus,button:focus{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
}

textarea{resize:vertical;}

label{display:block;margin:10px 0;}

label > input,
label > select,
label > textarea{margin-top:6px;}

button{
	cursor:pointer;
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	background: ButtonFace;
	color: ButtonText;
}

button:hover{filter:contrast(1.05);}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:10px 14px;
	border:1px solid color-mix(in srgb, var(--brand) 14%, var(--border));
	border-radius:var(--radius-sm);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, var(--brand) 10%, var(--surface)) 0%,
			var(--surface-2) 100%);
	color: ButtonText;
	text-decoration:none;
	font-weight: 650;
	transition: transform 120ms ease, filter 120ms ease;
}

.btn:hover{text-decoration:none;filter:contrast(1.05);transform: translateY(-1px);}

.btn:active{transform: translateY(1px);}

.btn-primary{
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--brand) 92%, Canvas) 0%,
			var(--brand) 72%);
	border-color: color-mix(in srgb, var(--brand) 72%, CanvasText);
	color: CanvasText;
}


.btn-ghost{
	background: transparent;
	border-color: color-mix(in srgb, var(--brand) 14%, var(--border));
}

.btn-ghost:hover{background: color-mix(in srgb, AccentColor 10%, Canvas);}

/* Admin: make the top action buttons look like the reference (pill + soft shadow) */
body.admin-page .page-top .actions .btn{
	border-radius: 999px;
	padding: 10px 18px;
	min-height: 42px;
	font-weight: 850;
	box-shadow: 0 10px 22px color-mix(in srgb, CanvasText 10%, transparent);
}

body.admin-page .page-top .actions .btn:hover{
	transform: translateY(-1px);
}

.badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:6px 10px;
	border-radius:999px;
	border:1px solid var(--border);
	background: color-mix(in srgb, AccentColor 10%, Canvas);
	font-weight: 700;
}

.badge-status{
	gap:8px;
}

.badge-status::before{
	content:"";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: currentColor;
}

.badge-open{
	color: var(--status-open);
	border-color: color-mix(in srgb, var(--status-open) 35%, var(--border));
	background: color-mix(in srgb, var(--status-open) 14%, Canvas);
}

.badge-closed{
	color: var(--status-closed);
	border-color: color-mix(in srgb, var(--status-closed) 35%, var(--border));
	background: color-mix(in srgb, var(--status-closed) 14%, Canvas);
}

code{
	padding:2px 6px;
	border:1px solid var(--border);
	border-radius:8px;
}

table{width:100%;border-collapse:separate;border-spacing:0;}
th,td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top;}
thead th{font-weight:700;}

.table-wrap{
	overflow:auto;
	border:1px solid var(--border);
	border-radius:var(--radius);
	background: var(--surface);
}

.table-wrap table{min-width:520px;}

/* Carrinho: tabela responsiva (sem scroll horizontal forÃ§ado) */
.table-wrap table.cart-table{min-width:0;table-layout:fixed;}

table.cart-table th:nth-child(1),
table.cart-table td:nth-child(1){width:52px;}

table.cart-table th:nth-child(3),
table.cart-table td:nth-child(3){width:110px;text-align:right;white-space:nowrap;}

table.cart-table td:nth-child(2){overflow:hidden;}

@media (max-width: 560px){
	.table-wrap table.cart-table{width:100%;}
	/* Garante que o item quebre linha ao invÃ©s de empurrar o preÃ§o */
	table.cart-table td:nth-child(2){word-break:break-word;}
}

.small{font-size:0.92em;opacity:0.85;}

.msg{padding:12px;border:1px solid var(--border);border-radius:var(--radius);margin:14px 0;}

/* Catalog admin pages: products, categories, option groups, coupons */
body.admin-products-page .app-main,
body.admin-categories-page .app-main,
body.admin-option-groups-page .app-main,
body.admin-coupons-page .app-main{
	background:
		radial-gradient(880px 420px at 0% 0%, color-mix(in srgb, var(--brand) 12%, Canvas) 0%, transparent 62%),
		radial-gradient(740px 420px at 100% 10%, color-mix(in srgb, AccentColor 10%, Canvas) 0%, transparent 60%),
		linear-gradient(180deg, color-mix(in srgb, var(--brand) 4%, Canvas) 0%, Canvas 32%, color-mix(in srgb, var(--brand) 3%, Canvas) 100%);
}

body.admin-products-page .admin-container-full,
body.admin-categories-page .admin-container-full,
body.admin-option-groups-page .admin-container-full,
body.admin-coupons-page .admin-container-full{
	max-width: 1320px;
}

.catalog-admin-hero{
	position: relative;
	padding: 18px 20px;
	margin-bottom: 12px;
	border: 1px solid color-mix(in srgb, var(--brand) 16%, var(--border));
	border-radius: 22px;
	background:
		radial-gradient(520px 220px at 0% 0%, color-mix(in srgb, var(--brand) 18%, Canvas) 0%, transparent 70%),
		radial-gradient(460px 220px at 100% 10%, color-mix(in srgb, AccentColor 10%, Canvas) 0%, transparent 72%),
		linear-gradient(135deg, color-mix(in srgb, Canvas 96%, var(--brand)) 0%, color-mix(in srgb, Canvas 99%, AccentColor 3%) 100%);
	box-shadow:
		0 24px 48px color-mix(in srgb, CanvasText 12%, transparent),
		inset 0 1px 0 color-mix(in srgb, #ffffff 78%, transparent);
	overflow: hidden;
}

.catalog-admin-hero::before,
.catalog-admin-panel::before,
.catalog-admin-stat::before{
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	height: 4px;
	width: 100%;
	background: linear-gradient(90deg, color-mix(in srgb, var(--brand) 84%, CanvasText) 0%, color-mix(in srgb, AccentColor 64%, Canvas) 100%);
	opacity: .9;
}

.catalog-admin-hero > *,
.catalog-admin-panel > *,
.catalog-admin-stat > *{
	position: relative;
	z-index: 1;
}

.catalog-admin-hero .kicker{
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 900;
	color: color-mix(in srgb, var(--brand) 80%, CanvasText);
}

.catalog-admin-hero h1{
	margin: 6px 0 4px 0 !important;
	font-size: clamp(1.65rem, 3vw, 2.25rem);
	line-height: 1;
	letter-spacing: -.04em;
}

.catalog-admin-hero .small{
	max-width: 72ch;
	font-size: .88rem;
	line-height: 1.4;
	color: color-mix(in srgb, CanvasText 86%, Canvas);
	opacity: 1;
}

body.admin-page .catalog-admin-hero .actions{
	align-self: flex-start;
	justify-content: flex-end;
	gap: 8px;
}

body.admin-page .catalog-admin-hero .actions .btn{
	box-shadow: 0 16px 30px color-mix(in srgb, CanvasText 10%, transparent);
	padding: 9px 14px;
	min-height: 40px;
	font-size: .94rem;
}

.catalog-admin-summary{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 18px 0;
}

.catalog-admin-stat{
	position: relative;
	padding: 18px 18px 16px 18px;
	border-radius: 22px;
	border: 1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background:
		linear-gradient(180deg, color-mix(in srgb, Canvas 98%, var(--brand) 2%) 0%, color-mix(in srgb, Canvas 94%, AccentColor 4%) 100%);
	box-shadow:
		0 16px 34px color-mix(in srgb, CanvasText 10%, transparent),
		inset 0 1px 0 color-mix(in srgb, #ffffff 82%, transparent);
	overflow: hidden;
}

.catalog-admin-stat-label{
	font-size: .76rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 900;
	color: color-mix(in srgb, CanvasText 68%, Canvas);
}

.catalog-admin-stat-value{
	margin-top: 6px;
	font-size: clamp(1.7rem, 2.4vw, 2.2rem);
	line-height: 1;
	font-weight: 950;
	letter-spacing: -.04em;
	color: color-mix(in srgb, CanvasText 94%, var(--brand));
}

.catalog-admin-stat-sub{
	margin-top: 6px;
	font-size: .92rem;
	line-height: 1.45;
	color: color-mix(in srgb, CanvasText 74%, Canvas);
}

.catalog-admin-panel{
	position: relative;
	padding: 12px;
	margin-bottom: 12px;
	border-radius: 20px;
	border: 1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background:
		linear-gradient(180deg, color-mix(in srgb, Canvas 99%, AccentColor 1%) 0%, color-mix(in srgb, Canvas 96%, var(--brand) 2%) 100%);
	box-shadow:
		0 22px 44px color-mix(in srgb, CanvasText 11%, transparent),
		inset 0 1px 0 color-mix(in srgb, #ffffff 84%, transparent);
	overflow: hidden;
}

.catalog-admin-panel-head{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.catalog-admin-panel-kicker{
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 900;
	color: color-mix(in srgb, var(--brand) 82%, CanvasText);
}

.catalog-admin-panel-title{
	margin: 4px 0 0 0;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.15;
	letter-spacing: -.03em;
	font-weight: 900;
}

.catalog-admin-panel-sub{
	margin-top: 5px;
	font-size: .94rem;
	line-height: 1.5;
	color: color-mix(in srgb, CanvasText 74%, Canvas);
}

.catalog-admin-empty{
	padding: 28px 22px;
	border-radius: 20px;
	border: 1px dashed color-mix(in srgb, var(--brand) 22%, var(--border));
	background: color-mix(in srgb, var(--brand) 6%, Canvas);
	text-align: center;
	color: color-mix(in srgb, CanvasText 84%, Canvas);
}

.catalog-admin-empty strong{
	display: block;
	margin-bottom: 6px;
	font-size: 1.04rem;
	letter-spacing: -.01em;
}

.catalog-admin-hint{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--border));
	background: color-mix(in srgb, AccentColor 8%, Canvas);
	font-size: .9rem;
	font-weight: 700;
	color: color-mix(in srgb, CanvasText 80%, Canvas);
	white-space: nowrap;
}

.catalog-admin-hint::before{
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--brand) 78%, CanvasText);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 14%, transparent);
}

body.admin-products-page .products-filters,
body.admin-products-page .products-table-wrap,
body.admin-categories-page .categories-table-wrap,
body.admin-option-groups-page .option-groups-table-wrap,
body.admin-option-groups-page .og-options-table-wrap,
body.admin-coupons-page .coupons-table-wrap{
	border-radius: 18px;
	border-color: color-mix(in srgb, var(--brand) 12%, var(--border));
	background: linear-gradient(180deg, color-mix(in srgb, #ffffff 92%, var(--brand) 2%) 0%, color-mix(in srgb, Canvas 97%, AccentColor 2%) 100%);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 78%, transparent);
}

body.admin-products-page .products-table-wrap thead th,
body.admin-categories-page .categories-table thead th,
body.admin-option-groups-page .option-groups-table thead th,
body.admin-option-groups-page .og-options-table thead th,
body.admin-coupons-page .coupons-table thead th{
	background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 9%, Canvas) 0%, color-mix(in srgb, Canvas 94%, AccentColor 3%) 100%);
	border-bottom-color: color-mix(in srgb, var(--brand) 14%, var(--border));
	color: color-mix(in srgb, CanvasText 88%, Canvas);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .68rem;
	font-weight: 900;
	padding-top: 10px;
	padding-bottom: 10px;
}

body.admin-products-page .products-table td,
body.admin-categories-page .categories-table td,
body.admin-option-groups-page .option-groups-table td,
body.admin-option-groups-page .og-options-table td,
body.admin-coupons-page .coupons-table td{
	padding-top: 9px;
	padding-bottom: 9px;
	font-size: .94rem;
}

body.admin-products-page .products-table .product-name,
body.admin-categories-page .categories-table .category-name,
body.admin-option-groups-page .option-groups-table .og-name,
body.admin-coupons-page .coupons-table .coupon-code{
	font-size: .95rem;
}

body.admin-products-page .products-table .product-desc,
body.admin-option-groups-page .option-groups-table .small,
body.admin-categories-page .categories-table .small,
body.admin-coupons-page .coupons-table .small{
	font-size: .84rem;
	line-height: 1.35;
}

body.admin-products-page .products-table .badge,
body.admin-categories-page .categories-table .badge,
body.admin-option-groups-page .option-groups-table .badge,
body.admin-option-groups-page .og-options-table .badge,
body.admin-coupons-page .coupons-table .badge{
	padding: 5px 9px;
	font-size: .72rem;
}

body.admin-products-page .products-table tbody tr,
body.admin-categories-page .categories-table tbody tr,
body.admin-option-groups-page .option-groups-table tbody tr,
body.admin-option-groups-page .og-options-table tbody tr,
body.admin-coupons-page .coupons-table tbody tr{
	transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

body.admin-products-page .products-table tbody tr:hover,
body.admin-categories-page .categories-table tbody tr:hover,
body.admin-option-groups-page .option-groups-table tbody tr:hover,
body.admin-option-groups-page .og-options-table tbody tr:hover,
body.admin-coupons-page .coupons-table tbody tr:hover{
	background: color-mix(in srgb, var(--brand) 6%, Canvas);
}

body.admin-products-page .products-table tr.is-selected,
body.admin-categories-page .categories-table tr.is-selected,
body.admin-option-groups-page .option-groups-table tr.is-selected,
body.admin-option-groups-page .og-options-table tr.is-selected,
body.admin-coupons-page .coupons-table tr.is-selected{
	background: color-mix(in srgb, var(--brand) 10%, Canvas);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 26%, var(--border));
}

body.admin-products-page .products-filters,
body.admin-products-page .products-filters input[type="text"],
body.admin-products-page .products-filters select,
body.admin-products-page .product-editor input,
body.admin-products-page .product-editor select,
body.admin-products-page .product-editor textarea,
body.admin-categories-page .admin-dialog input,
body.admin-categories-page .admin-dialog select,
body.admin-categories-page .admin-dialog textarea,
body.admin-option-groups-page .admin-dialog input,
body.admin-option-groups-page .admin-dialog select,
body.admin-option-groups-page .admin-dialog textarea,
body.admin-coupons-page .admin-dialog input,
body.admin-coupons-page .admin-dialog select,
body.admin-coupons-page .admin-dialog textarea{
	border-color: color-mix(in srgb, var(--brand) 16%, var(--border));
	background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, Canvas 97%, AccentColor 3%) 100%);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 88%, transparent);
}

body.admin-products-page .products-filters input[type="text"]:focus,
body.admin-products-page .products-filters select:focus,
body.admin-products-page .product-editor input:focus,
body.admin-products-page .product-editor select:focus,
body.admin-products-page .product-editor textarea:focus,
body.admin-categories-page .admin-dialog input:focus,
body.admin-categories-page .admin-dialog select:focus,
body.admin-categories-page .admin-dialog textarea:focus,
body.admin-option-groups-page .admin-dialog input:focus,
body.admin-option-groups-page .admin-dialog select:focus,
body.admin-option-groups-page .admin-dialog textarea:focus,
body.admin-coupons-page .admin-dialog input:focus,
body.admin-coupons-page .admin-dialog select:focus,
body.admin-coupons-page .admin-dialog textarea:focus{
	outline: none;
	border-color: color-mix(in srgb, var(--brand) 38%, var(--border));
	box-shadow:
		0 0 0 4px color-mix(in srgb, var(--brand) 14%, transparent),
		inset 0 1px 0 color-mix(in srgb, #ffffff 90%, transparent);
}

body.admin-products-page dialog.admin-dialog,
body.admin-categories-page dialog.admin-dialog,
body.admin-option-groups-page dialog.admin-dialog,
body.admin-coupons-page dialog.admin-dialog{
	padding: 8px;
	border: 0;
	background: linear-gradient(180deg, #fdf8f4 0%, #f8f3ee 100%);
	box-shadow: 0 24px 54px color-mix(in srgb, CanvasText 14%, transparent);
}

body.admin-products-page dialog.admin-dialog::backdrop,
body.admin-categories-page dialog.admin-dialog::backdrop,
body.admin-option-groups-page dialog.admin-dialog::backdrop,
body.admin-coupons-page dialog.admin-dialog::backdrop{
	background: color-mix(in srgb, #0f172a 26%, transparent);
}

body.admin-products-page .admin-dialog-form,
body.admin-products-page .addons-shell,
body.admin-categories-page .admin-dialog-form,
body.admin-option-groups-page .admin-dialog-form,
body.admin-coupons-page .admin-dialog-form{
	overflow: hidden;
	border-radius: 20px;
	border: 1px solid color-mix(in srgb, var(--brand) 14%, var(--border));
	background: linear-gradient(180deg, #fffaf7 0%, #f7f1eb 100%);
	box-shadow: 0 28px 60px color-mix(in srgb, CanvasText 16%, transparent);
}

body.admin-products-page .product-editor-head,
body.admin-categories-page .admin-dialog-head,
body.admin-option-groups-page .admin-dialog-head,
body.admin-coupons-page .admin-dialog-head{
	padding: 10px 13px 8px 13px;
	border-bottom: 1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 8%, Canvas) 0%, color-mix(in srgb, Canvas 98%, AccentColor 2%) 100%);
}

body.admin-option-groups-page .product-editor-head,
body.admin-option-groups-page .product-tabs,
body.admin-products-page .product-tabs{
	border-bottom-color: color-mix(in srgb, var(--brand) 12%, var(--border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 6%, Canvas) 0%, color-mix(in srgb, Canvas 99%, AccentColor 1%) 100%);
}

body.admin-products-page .admin-dialog-body,
body.admin-categories-page .admin-dialog-body,
body.admin-option-groups-page .admin-dialog-body,
body.admin-coupons-page .admin-dialog-body{
	padding: 10px;
}

body.admin-products-page .admin-dialog-foot,
body.admin-products-page .product-editor-foot,
body.admin-categories-page .admin-dialog-foot,
body.admin-option-groups-page .admin-dialog-foot,
body.admin-option-groups-page .product-editor-foot,
body.admin-coupons-page .admin-dialog-foot{
	padding: 8px 13px 12px 13px;
	border-top: 1px solid color-mix(in srgb, var(--brand) 10%, var(--border));
	background: linear-gradient(180deg, color-mix(in srgb, Canvas 98%, AccentColor 1%) 0%, color-mix(in srgb, var(--brand) 4%, Canvas) 100%);
}

body.admin-products-page .product-tab-btn,
body.admin-option-groups-page .product-tab-btn{
	border-radius: 999px;
	padding: 5px 10px;
	font-weight: 900;
	letter-spacing: -.01em;
	font-size: .88rem;
}

body.admin-products-page .product-tab-btn.is-active,
body.admin-option-groups-page .product-tab-btn.is-active{
	box-shadow: 0 10px 20px color-mix(in srgb, CanvasText 8%, transparent);
}

body.admin-products-page .product-editor label,
body.admin-categories-page .admin-dialog-body label,
body.admin-option-groups-page .admin-dialog-body label,
body.admin-coupons-page .admin-dialog-body label{
	gap: 5px;
	font-weight: 850;
	color: color-mix(in srgb, CanvasText 88%, Canvas);
}

body.admin-products-page .product-photo-frame{
	background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 8%, Canvas) 0%, color-mix(in srgb, Canvas 98%, AccentColor 2%) 100%);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 80%, transparent);
}

body.admin-option-groups-page .og-opt-editor-grid{
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
	gap: 16px;
	align-items: start;
}

body.admin-option-groups-page .og-opt-editor-numbers{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.catalog-form-layout{
	display:grid;
	grid-template-columns:minmax(0, 1.45fr) minmax(260px, .75fr);
	gap:8px;
	align-items:start;
}

.catalog-form-main,
.catalog-form-aside{
	display:grid;
	gap:8px;
	min-width:0;
}

.catalog-form-card{
	padding:10px;
	border-radius:14px;
	border:1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background: linear-gradient(180deg, #ffffff 0%, #f8f3ee 100%);
	box-shadow:
		0 16px 30px color-mix(in srgb, CanvasText 8%, transparent),
		inset 0 1px 0 color-mix(in srgb, #ffffff 84%, transparent);
}

.catalog-form-card--muted{
	background: linear-gradient(180deg, #fdf8f4 0%, #f5eee7 100%);
}

.catalog-form-card-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:8px;
	margin-bottom:6px;
}

.catalog-form-card-kicker{
	font-size:.64rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	font-weight:900;
	color:color-mix(in srgb, var(--brand) 80%, CanvasText);
}

.catalog-form-card-title{
	margin:2px 0 0 0;
	font-size:.88rem;
	line-height:1.2;
	letter-spacing:-.02em;
	font-weight:900;
}

.catalog-form-card-sub{
	margin-top:2px;
	font-size:.74rem;
	line-height:1.35;
	color:color-mix(in srgb, CanvasText 72%, Canvas);
}

.catalog-form-grid-2,
.catalog-form-grid-3,
.catalog-form-stack{
	display:grid;
	gap:7px 10px;
	min-width:0;
}

.catalog-form-grid-2{grid-template-columns:repeat(2, minmax(0, 1fr));}
.catalog-form-grid-3{grid-template-columns:repeat(3, minmax(0, 1fr));}
.catalog-form-stack{grid-template-columns:minmax(0, 1fr);}

.catalog-form-span-2{grid-column:1 / -1;}

.catalog-form-microcopy{
	font-size:.74rem;
	line-height:1.4;
	color:color-mix(in srgb, CanvasText 66%, Canvas);
}

.catalog-form-split{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-top:8px;
	padding-top:8px;
	border-top:1px dashed color-mix(in srgb, var(--brand) 16%, var(--border));
}

.catalog-form-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:4px 8px;
	border-radius:999px;
	border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));
	background:color-mix(in srgb, var(--brand) 8%, Canvas);
	font-size:.72rem;
	font-weight:900;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:color-mix(in srgb, CanvasText 82%, Canvas);
}

.catalog-choice-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(92px, 1fr));
	gap:6px;
}

.catalog-choice-pill{
	display:flex;
	align-items:center;
	gap:7px;
	padding:7px 10px;
	border-radius:12px;
	border:1px solid color-mix(in srgb, var(--brand) 14%, var(--border));
	background:color-mix(in srgb, var(--brand) 5%, Canvas);
	font-weight:850;
	box-shadow:inset 0 1px 0 color-mix(in srgb, #ffffff 76%, transparent);
}

.catalog-choice-pill input{
	margin:0;
	flex:0 0 auto;
}

.catalog-form-tips{
	display:grid;
	gap:6px;
	margin:0;
	padding:0;
	list-style:none;
}

.catalog-form-tips li{
	position:relative;
	padding-left:18px;
	font-size:.92rem;
	line-height:1.5;
	color:color-mix(in srgb, CanvasText 76%, Canvas);
}

.catalog-form-tips li::before{
	content:"";
	position:absolute;
	left:0;
	top:.55em;
	width:8px;
	height:8px;
	border-radius:999px;
	background:color-mix(in srgb, var(--brand) 78%, CanvasText);
	box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 12%, transparent);
}

.catalog-form-photo-tools{
	display:grid;
	gap:8px;
	margin-top:8px;
}

.catalog-form-metric-list{
	display:grid;
	gap:6px;
}

.catalog-form-metric{
	padding:8px 10px;
	border-radius:12px;
	border:1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background:color-mix(in srgb, AccentColor 6%, Canvas);
}

.catalog-form-metric strong{
	display:block;
	font-size:.78rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	margin-bottom:4px;
	color:color-mix(in srgb, CanvasText 64%, Canvas);
}

.catalog-form-metric span{
	font-size:.96rem;
	line-height:1.45;
	color:color-mix(in srgb, CanvasText 84%, Canvas);
}

.catalog-inline-toggle{
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px 10px;
	border-radius:12px;
	border:1px solid color-mix(in srgb, var(--brand) 14%, var(--border));
	background:color-mix(in srgb, var(--brand) 6%, Canvas);
	font-weight:850;
}

.catalog-inline-toggle input{
	margin:0;
	flex:0 0 auto;
}

.catalog-addon-panel{
	display:grid;
	gap:16px;
}

.catalog-addon-list{
	display:grid;
	gap:10px;
}

.catalog-addon-item{
	display:grid;
	grid-template-columns:auto minmax(0, 1fr) auto;
	align-items:center;
	gap:12px;
	padding:12px 14px;
	border-radius:16px;
	border:1px solid color-mix(in srgb, var(--brand) 12%, var(--border));
	background:color-mix(in srgb, var(--brand) 4%, Canvas);
	box-shadow:inset 0 1px 0 color-mix(in srgb, #ffffff 80%, transparent);
	cursor:pointer;
}

.catalog-addon-item:hover{
	border-color:color-mix(in srgb, var(--brand) 22%, var(--border));
	background:color-mix(in srgb, var(--brand) 6%, Canvas);
}

.catalog-addon-item input{
	margin:0;
	width:18px;
	height:18px;
	accent-color:var(--brand);
}

.catalog-addon-item-main{
	display:grid;
	gap:3px;
	min-width:0;
}

.catalog-addon-item-name{
	font-size:.92rem;
	font-weight:850;
	line-height:1.25;
	color:color-mix(in srgb, CanvasText 88%, Canvas);
}

.catalog-addon-item-meta{
	font-size:.78rem;
	line-height:1.35;
	color:color-mix(in srgb, CanvasText 68%, Canvas);
}

.catalog-addon-item-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:6px 10px;
	border-radius:999px;
	border:1px solid color-mix(in srgb, var(--brand) 14%, var(--border));
	background:color-mix(in srgb, #22c55e 10%, Canvas);
	font-size:.72rem;
	font-weight:900;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:color-mix(in srgb, #15803d 82%, CanvasText);
}

.catalog-addon-item.is-inactive .catalog-addon-item-badge{
	background:color-mix(in srgb, #64748b 10%, Canvas);
	border-color:color-mix(in srgb, #64748b 24%, var(--border));
	color:color-mix(in srgb, #475569 88%, CanvasText);
}

.catalog-addon-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
}

.catalog-addon-actions .btn{
	border-radius:14px;
}

.catalog-addon-hint{
	font-size:.9rem;
	line-height:1.5;
	color:color-mix(in srgb, CanvasText 72%, Canvas);
}

@media (max-width: 980px){
	.catalog-form-layout{
		grid-template-columns:minmax(0, 1fr);
	}

	.catalog-form-aside{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.catalog-form-grid-3{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px){
	.catalog-form-card{
		padding:16px;
		border-radius:20px;
	}

	.catalog-form-aside,
	.catalog-form-grid-2,
	.catalog-form-grid-3{
		grid-template-columns:minmax(0, 1fr);
	}

	.catalog-addon-item{
		grid-template-columns:auto minmax(0, 1fr);
	}

	.catalog-addon-item-badge{
		grid-column:2;
		justify-self:flex-start;
	}

	.catalog-form-split,
	.catalog-form-card-head{
		flex-direction:column;
		align-items:flex-start;
	}
}

body.admin-categories-page .msg,
body.admin-option-groups-page .msg,
body.admin-coupons-page .msg,
body.admin-products-page .msg{
	border-radius: 18px;
	border-color: color-mix(in srgb, var(--brand) 16%, var(--border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 6%, Canvas) 0%, Canvas 100%);
	box-shadow: 0 14px 30px color-mix(in srgb, CanvasText 8%, transparent);
}

@media (max-width: 1100px){
	.catalog-admin-summary{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 820px){
	.catalog-admin-hero{padding: 20px; border-radius: 24px;}
	.catalog-admin-panel{padding: 16px; border-radius: 22px;}
	.catalog-admin-panel-head{flex-direction: column; align-items: flex-start;}
	.catalog-admin-hint{white-space: normal;}
	body.admin-option-groups-page .og-opt-editor-grid{grid-template-columns: 1fr;}
}

@media (max-width: 640px){
	.catalog-admin-summary{grid-template-columns: 1fr;}
	.catalog-admin-hero h1{font-size: 1.9rem;}
	body.admin-page .catalog-admin-hero .actions{width: 100%; justify-content: stretch;}
	body.admin-page .catalog-admin-hero .actions .btn,
	body.admin-page .catalog-admin-hero .actions form{width: 100%;}
	body.admin-page .catalog-admin-hero .actions .btn{justify-content: center;}
	body.admin-option-groups-page .og-opt-editor-numbers{grid-template-columns: 1fr;}
}

.item{padding:12px 0;border-top:1px solid var(--border);}
.item:first-child{border-top:0;}
.item-title{font-weight:700;}
.item-actions{text-align:right;min-width:140px;}

.item-link{
	display:block;
	color: inherit;
	text-decoration: none;
	border-radius: 12px;
	padding: 12px;
	margin: 0 -12px;
}

.item-link:hover{
	text-decoration:none;
	background: color-mix(in srgb, AccentColor 6%, Canvas);
	transform: translateY(-1px);
}

.item-link:focus{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
}

.item-row{align-items:center;}

.item-media{margin-left:auto;}

.item-price{margin-top:8px;}

.product-grid{
	display:grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-top: 12px;
}

@media (min-width: 780px){
	.product-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

.product-card.item-link{
	display:flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 14px;
	padding: 14px;
	margin: 0;
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	border-radius: var(--radius);
	background: Canvas;
	box-shadow: none;
}

.product-card.item-link:hover{
	background: Canvas;
	border-color: color-mix(in srgb, var(--brand) 22%, Canvas);
}

.product-body{flex: 1 1 auto;min-width: 0;}

.product-title{font-weight: 750;letter-spacing:-0.01em;}

.product-desc{margin-top: 6px;font-size:0.92em;opacity:0.85;}

.product-price{margin-top: 12px;font-weight: 800;color: var(--status-open);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}

.price-now{font-weight: 900;}

.price-old{
	font-weight: 700;
	text-decoration: line-through;
	color: color-mix(in srgb, CanvasText 55%, Canvas);
	opacity: 0.8;
}

.product-media{flex: 0 0 auto;display:flex;align-items:center;justify-content:center;width: 132px;}

.product-photo{
	width: 124px;
	height: 86px;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	background: var(--surface);
}

.item:hover{background: color-mix(in srgb, AccentColor 6%, Canvas);}

.thumb{
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid var(--border);
	background: var(--surface);
}

.thumb-lg{
	width: 92px;
	height: 92px;
}

.photo{
	width: 100%;
	max-height: 320px;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid var(--border);
	background: var(--surface);
}

.logo{
	width: 92px;
	height: 92px;
	object-fit: cover;
	border-radius: 18px;
	border: 1px solid var(--border);
	background: var(--surface);
	box-shadow: 0 0 0 6px color-mix(in srgb, AccentColor 8%, Canvas);
	margin: 2px auto 10px auto;
	display: block;
}

/* Site institucional */
.site-page{
	--site-bg-0: #04122f;
	--site-bg-1: #0a2f87;
	--site-bg-2: #1344b6;
	--site-text: rgba(255,255,255,.94);
	--site-muted: rgba(255,255,255,.78);
	--site-yellow: #facc15;
	--site-card: rgba(255,255,255,.96);
	--site-card-border: rgba(15,23,42,.14);

	color: var(--site-text);
	background:
		radial-gradient(1100px 620px at 22% 18%, rgba(19,68,182,.58), transparent 58%),
		radial-gradient(900px 520px at 78% 22%, rgba(37,99,235,.38), transparent 58%),
		radial-gradient(1000px 520px at 70% 88%, rgba(250,204,21,.20), transparent 58%),
		linear-gradient(180deg, var(--site-bg-1) 0%, var(--site-bg-0) 62%, #030a1f 100%);
	min-height: 100vh;
	display:flex;
	flex-direction:column;
}

.site-main{flex: 1 0 auto;}

.site-page .sr-only{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.site-page .app-main{padding-top: 18px;}

.site-header{
	position: sticky;
	top: 0;
	z-index: 20;
	backdrop-filter: blur(10px);
	/* Navbar color (ajuste aqui) */
	background: rgba(255,255,255,.92);
	border-bottom: 1px solid rgba(15,23,42,.10);
	color: rgba(15,23,42,.92);
}

.site-header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 14px;
	padding: 10px 0;
}

.site-brand{display:flex;align-items:center;gap: 10px;text-decoration:none;color: inherit;}
.site-brand:hover{text-decoration:none;}
.site-brand-logo{height: 64px; width: auto; display:block;}

.site-brand-name{
	font-family: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
	font-weight: 800;
	letter-spacing: -0.03em;
	font-size: 1.25rem;
	line-height: 1;
	color: rgba(15,23,42,.92);
}

@media (max-width: 980px){
	.site-brand-logo{height: 54px;}
	.site-brand-name{font-size: 1.12rem;}
}

@media (max-width: 520px){
	.site-brand-name{display:none;}
}

.site-nav{display:flex;align-items:center;gap: 14px;flex-wrap:wrap;}
.site-nav-link{color: inherit; text-decoration:none; font-weight:950; opacity:.86; padding: 8px 10px; border-radius: 12px;}
.site-nav-link:hover{opacity: 1; text-decoration:none; background: rgba(15,23,42,.06);}

.site-actions{display:flex;align-items:center;gap: 10px;flex-wrap:nowrap;}
.site-downloads-trigger{display:inline-flex;}

/* SITE_MOBILE_HEADER_FIX */
/* SITE_MOBILE_V2: force mobile-friendly layout + prevent horizontal scroll */
@media (max-width: 720px){
	.site-page{overflow-x:hidden;}
	.site-page .site-hero{overflow:hidden;}
	.site-page .site-hero-actions{flex-direction:column !important; align-items:stretch !important;}
	.site-page .site-hero-actions .btn{width:100% !important; justify-content:center !important;}
	.site-page .site-hero-title{font-size: clamp(1.85rem, 7.2vw, 2.35rem) !important;}
	.site-page .site-hero-subtitle{font-size: 1rem !important;}
	.site-page .site-hero-card{max-width: none !important; margin-left: 0 !important;}

	/* Hero mobile: mais "clean" e centralizado */
	.site-page .site-hero{min-height: unset !important; align-items:flex-start !important; padding: 22px 0 14px 0 !important;}
	.site-page .site-hero-grid{gap: 18px !important;}
	.site-page .site-kicker{text-align:center !important; font-size: .82rem !important; letter-spacing: .08em !important;}
	.site-page .site-hero-title{text-align:center !important; line-height: 1.10 !important;}
	.site-page .site-hero-subtitle{text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
	.site-page .site-hero-actions{max-width: 420px; margin-left:auto !important; margin-right:auto !important; gap: 10px !important;}
	.site-page .site-hero-badges{justify-content:center !important;}

	/* Formulário: mais compacto no celular */
	.site-page .site-hero-form{padding: 16px !important;}
	.site-page .site-hero-form-fields input{height: 44px !important;}

	/* Elementos decorativos do hero: reduz para não "poluir" */
	.site-page .site-hero::before{left: -190px; top: -140px; width: 380px; height: 380px; opacity: .85;}
	.site-page .site-hero::after{right: -210px; top: -160px; width: 420px; height: 420px; opacity: .70;}

	/* Header mobile: tudo em uma linha (logo + nome + entrar) */
	.site-page .site-header-inner{display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; padding: 8px 0 !important; gap: 8px !important;}
	.site-page .site-brand{justify-content:flex-start !important; min-width: 0 !important; gap: 8px !important; flex-shrink: 1 !important;}
	.site-page .site-brand-mark{width: 40px !important; height: 40px !important; border-radius: 12px !important; flex-shrink: 0 !important;}
	.site-page .site-brand-logo{height: 28px !important;}
	.site-page .site-brand-sub{display:none !important;}
	.site-page .site-brand-name{display:inline-flex !important; font-size: 0.95rem !important; line-height: 1 !important; white-space: nowrap !important;}
	.site-page .site-nav{display:none !important;}
	.site-page .site-actions{display:flex !important; flex-direction:row !important; align-items:center !important; width:auto !important; gap: 6px !important; justify-content:flex-end !important; flex-wrap:nowrap !important; flex-shrink: 0 !important;}
	.site-page .site-actions .btn{width:auto !important; min-height: 32px !important; padding: 6px 10px !important; border-radius: 10px !important; font-weight: 850 !important; font-size: 0.78rem !important; white-space: nowrap !important;}
	.site-page .site-downloads-trigger{display:inline-flex !important;}
}

@media (max-width: 420px){
	.site-page .site-brand-logo{height: 40px !important;}
	.site-page .site-brand-name{font-size: 1rem !important;}
	.site-page .site-actions .btn{min-height: 32px !important; padding: 6px 9px !important;}
}
/* /SITE_MOBILE_HEADER_FIX */

.site-kicker{font-size:0.9em;letter-spacing:0.10em;text-transform:uppercase;opacity:0.78;font-weight: 900;}

/* Site institucional: botão primário mais "premium" */
.site-page .btn.btn-primary{
	border-radius: 999px;
	padding: 12px 18px;
	font-weight: 950;
	letter-spacing: -0.01em;
	background: linear-gradient(90deg, #ff6a00 0%, #f97316 45%, #facc15 130%);
	border-color: rgba(255,106,0,.38);
	box-shadow:
		0 18px 30px rgba(249,115,22,.22),
		inset 0 1px 0 rgba(255,255,255,.22);
	color: rgba(15,23,42,.95);
}

.site-page .btn.btn-primary:hover{
	filter: brightness(1.03) contrast(1.02);
}

.site-btn-wa{background: #16a34a; border-color: rgba(15,23,42,.10); box-shadow: 0 14px 26px rgba(22,163,74,.22);} 
.site-btn-wa:hover{background: #15803d;}

.site-downloads-modal-card{
	width:min(760px, calc(100vw - 24px));
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
	border: 1px solid rgba(15,23,42,.08);
	box-shadow: 0 28px 70px rgba(2, 6, 23, .28);
	color: #0f172a !important;
}

.site-downloads-modal-card .modal-head,
.site-downloads-modal-card .modal-title,
.site-downloads-modal-card .modal-body{
	color: #0f172a !important;
	background: #fff !important;
}

.site-downloads-modal-card .modal-head{
	border-bottom: 1px solid rgba(15,23,42,.08) !important;
}

.site-downloads-modal-card .site-downloads-sub{
	color: rgba(15,23,42,.65) !important;
}

.site-downloads-modal-card .btn-ghost{
	color: #0f172a !important;
}

.site-downloads-modal-body{
	display:grid;
	gap: 14px;
}

.site-downloads-kicker{
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 900;
	color: #f97316;
}

.site-downloads-sub{
	max-width: 54ch;
	color: rgba(15,23,42,.72);
}

.site-download-card{
	display:grid;
	grid-template-columns: auto 1fr auto;
	gap: 14px;
	align-items:center;
	padding: 16px 18px;
	border-radius: 18px;
	text-decoration:none;
	color: inherit;
	background: linear-gradient(135deg, rgba(248,250,252,.98) 0%, rgba(255,255,255,.94) 100%);
	border: 1px solid rgba(15,23,42,.08);
	box-shadow: 0 10px 28px rgba(15,23,42,.08);
	transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.site-download-card:hover{
	text-decoration:none;
	transform: translateY(-1px);
	border-color: rgba(59,130,246,.28);
	box-shadow: 0 18px 36px rgba(15,23,42,.12);
}

.site-download-card-icon{
	width: 52px;
	height: 52px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius: 16px;
	font-size: 1.65rem;
	background: linear-gradient(135deg, rgba(249,115,22,.18) 0%, rgba(59,130,246,.14) 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.site-download-card-body{
	display:flex;
	flex-direction:column;
	gap: 4px;
	min-width: 0;
}

.site-download-card-body strong{
	font-size: 1rem;
	line-height: 1.2;
}

.site-download-card-body span{
	font-size: .92rem;
	line-height: 1.45;
	color: rgba(15,23,42,.72);
}

.site-download-card-action{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	font-weight: 900;
	font-size: .92rem;
	background: linear-gradient(90deg, #2563eb 0%, #3b82f6 100%);
	color: #fff;
	box-shadow: 0 12px 26px rgba(37,99,235,.26);
}

@media (max-width: 720px){
	.site-download-card{
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.site-download-card-action{
		width: 100%;
	}
}

.site-hero{
	/* Keep hero centered (vertical + horizontal) and prevent next section showing on load */
	min-height: calc(100vh - 92px);
	display: flex;
	align-items: center;
	padding: 46px 0 26px 0;
}
.site-hero{position:relative;}
.site-hero::before{
	content:"";
	position:absolute;
	left: -120px;
	top: -90px;
	width: 520px;
	height: 520px;
	border-radius: 999px;
	background: radial-gradient(circle at 30% 30%, rgba(19,68,182,.55), transparent 62%);
	filter: blur(2px);
	pointer-events:none;
}
.site-hero::after{
	content:"";
	position:absolute;
	right: -140px;
	top: -110px;
	width: 560px;
	height: 560px;
	border-radius: 999px;
	background: radial-gradient(circle at 30% 30%, rgba(250,204,21,.22), transparent 62%);
	filter: blur(2px);
	pointer-events:none;
}
.site-hero > *{position:relative; z-index: 1;}
.site-hero-grid{
	display:grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
	gap: 34px;
	align-items:center;
	width: 100%;
}

/* Extra breathing room after hero (when viewport is very tall) */
.site-hero + .site-section{margin-top: 48px;}

.site-hero-title{margin: 10px 0 0 0; font-size: clamp(2.15rem, 3.9vw, 3.25rem); letter-spacing: -0.03em; line-height: 1.06;}
.site-hero-subtitle{margin-top: 12px; font-size: 1.06rem; opacity: .92; max-width: 62ch; color: var(--site-muted);}

.site-highlight{background: linear-gradient(90deg, #93c5fd 0%, #60a5fa 40%, #a7f3d0 100%); -webkit-background-clip:text; background-clip:text; color: transparent;}
.site-highlight-yellow{color: var(--site-yellow); font-weight: 950;}

.site-hero-actions{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;margin-top: 16px;}
.site-hero-actions .btn{font-weight: 950;}
.site-btn-yellow{background: linear-gradient(90deg, #facc15 0%, #f59e0b 55%, #fb7185 120%); border-color: rgba(250,204,21,.45); color: rgba(15,23,42,.92); box-shadow: 0 18px 30px rgba(250,204,21,.16);}
.site-btn-yellow:hover{filter: brightness(1.02);}
.site-btn-light{background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.96);}
.site-btn-light:hover{background: rgba(255,255,255,.18);}
.site-btn-dark{background: rgba(2, 9, 28, .30); border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.96);}
.site-btn-dark:hover{background: rgba(2, 9, 28, .42);}
.site-hero-badges{display:flex;gap: 10px;flex-wrap:wrap;margin-top: 14px;}
.site-badge{display:inline-flex;align-items:center;justify-content:center;height: 32px;padding: 0 12px;border-radius: 999px;border: 1px solid rgba(255,255,255,.18);background: rgba(255,255,255,.10);font-weight: 900;}
.site-badge-featured{background: color-mix(in srgb, var(--brand) 14%, Canvas); border-color: color-mix(in srgb, var(--brand) 34%, var(--border));}

/* Colorful badges on hero */
.site-hero-badges .site-badge:nth-child(1){
	background: color-mix(in srgb, rgba(99,102,241,.18) 60%, Canvas);
	border-color: color-mix(in srgb, rgba(99,102,241,.40) 50%, var(--border));
}
.site-hero-badges .site-badge:nth-child(2){
	background: color-mix(in srgb, rgba(16,185,129,.18) 60%, Canvas);
	border-color: color-mix(in srgb, rgba(16,185,129,.40) 50%, var(--border));
}
.site-hero-badges .site-badge:nth-child(3){
	background: color-mix(in srgb, rgba(245,158,11,.20) 60%, Canvas);
	border-color: color-mix(in srgb, rgba(245,158,11,.42) 50%, var(--border));
}

.site-hero-card{
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 18px;
	background: rgba(255,255,255,.06);
	box-shadow:
		0 24px 54px rgba(0,0,0,.34),
		0 1px 0 rgba(255,255,255,.10);
	overflow:hidden;
	max-width: 460px;
	justify-self: center;
}

.site-hero-card-top{display:flex;gap: 8px;padding: 12px 14px;border-bottom:1px solid rgba(255,255,255,.14);}
.site-hero-dot{width: 10px;height: 10px;border-radius: 999px;background: rgba(255,255,255,.52);}

.site-hero-form{padding: 22px;background: var(--site-card); color: rgba(15,23,42,.92);}
.site-hero-form-title{font-weight: 950;letter-spacing:-0.02em;}
.site-hero-form-fields{display:flex;flex-direction:column;gap: 10px;margin-top: 10px;}
.site-hero-form-fields input{width: 100%;height: 48px;border-radius: 999px;border: 1px solid rgba(15,23,42,.18);padding: 0 16px;background: rgba(255,255,255,.98);} 
.site-hero-form-fields input:focus{outline: none;border-color: rgba(37,99,235,.50);box-shadow: 0 0 0 4px rgba(37,99,235,.15);} 

.site-hero-form-fields .btn{width: 100%; justify-content:center;}

.site-btn-cta{background: linear-gradient(90deg, #1d4ed8 0%, #2563eb 45%, #3b82f6 100%); border-color: rgba(29,78,216,.30); box-shadow: 0 16px 28px rgba(37,99,235,.26); font-weight: 950;}
.site-btn-cta:hover{filter: brightness(1.03);}

.site-hero-preview{padding: 16px;}
.site-hero-preview-title{font-weight: 900;letter-spacing:-0.01em;}
.site-hero-preview-row{height: 12px;border-radius: 999px;background: color-mix(in srgb, CanvasText 10%, Canvas);margin-top: 12px;}
.site-hero-preview-row:nth-child(3){width: 80%;}
.site-hero-preview-row:nth-child(4){width: 64%;}

.site-section{
	margin-top: 18px;
	padding: 22px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 22px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.05) 100%);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 34px rgba(0,0,0,.18);
}
.site-section-alt{background: rgba(255,255,255,.07);}

.site-section-features{
	padding: 30px;
	border-radius: 26px;
	background:
		radial-gradient(900px 220px at 20% 0%, rgba(37,99,235,.14), transparent 60%),
		linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.05) 100%);
	box-shadow: 0 26px 58px rgba(0,0,0,.22);
}

.site-section-grid{
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
}

.site-section-body{min-width: 0;}

.site-section-actions{margin-top: 14px;text-align:center;}

.site-section-head{
	text-align:center;
	max-width: 62ch;
	margin: 0 auto 14px auto;
}
.site-section-head h2{margin: 0; letter-spacing: -0.02em;}
.site-section-head p{margin: 8px 0 0 0;}

/* Home: segments bar (before features) */
.site-segments{
	padding: 24px 24px;
	border-radius: 26px;
	border-color: rgba(255,255,255,.14);
	background:
		radial-gradient(860px 260px at 12% 0%, rgba(249,115,22,.55) 0%, rgba(249,115,22,0) 62%),
		linear-gradient(90deg, rgba(234,88,12,.94) 0%, rgba(249,115,22,.90) 55%, rgba(251,146,60,.78) 100%);
	box-shadow: 0 28px 70px rgba(0,0,0,.24);
}

/* Home: screenshot section (below segments) */
.site-shot{
	text-align:center;
	margin-top: 18px;
	padding: 8px 0 0 0;
	--site-shot-shift: 260px;
	--site-shot-box-overlap: 540px;
}

.site-shot-head{margin-top: clamp(28px, 5vw, 52px);}

.site-shot-head h2{
	margin: 0;
	letter-spacing: -0.02em;
	font-size: clamp(22px, 3.0vw, 36px);
	line-height: 1.12;
}

.site-shot-media{margin-top: 16px;}

.site-shot-media img{
	width: min(980px, 100%);
	height: auto;
	display:block;
	margin: calc(-1 * var(--site-shot-shift)) auto 0 auto;
	border-radius: 18px;
	box-shadow: 0 22px 54px rgba(0,0,0,.22);
}

.site-shot-box{
	width: min(860px, 100%);
	margin: calc(-1 * var(--site-shot-box-overlap) + var(--site-shot-shift)) auto 0 auto;
	padding: 18px 20px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,.68);
	background: rgba(7, 22, 47, .32);
	backdrop-filter: blur(6px);
	text-align: center;
}

/* Home: give more breathing room before the features card */
.site-shot + .site-section.site-section-features{
	margin-top: 68px;
}

.site-shot-sub{
	margin: 0 auto;
	max-width: 78ch;
	font-size: 1.05rem;
	line-height: 1.55;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: rgba(255,255,255,.92);
	opacity: 1;
	text-wrap: balance;
	text-shadow: 0 1px 0 rgba(0,0,0,.22);
}

@media (max-width: 860px){
	.site-shot{--site-shot-shift: 200px; --site-shot-box-overlap: 450px;}
}

@media (max-width: 560px){
	/* Mobile: sem sobreposição para não cortar a imagem */
	.site-shot{--site-shot-shift: 70px; --site-shot-box-overlap: 0px; padding-top: 0;}
	.site-shot-head{margin-top: 22px;}
	.site-shot-media{margin-top: 14px;}
	.site-shot-media img{margin: calc(-1 * var(--site-shot-shift)) auto 0 auto;}
	.site-shot-box{margin: -6px auto 0 auto; padding: 14px 14px;}
	.site-shot-sub{font-size: 1.0rem; line-height: 1.5;}
	.site-shot + .site-section.site-section-features{margin-top: 52px;}
}

.site-segments-grid{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 18px;
}

.site-segments-left{min-width: 280px; max-width: 380px;}
.site-segments-title{font-weight: 1000; letter-spacing: -0.02em; font-size: 1.35rem; line-height: 1.10;}
.site-segments-sub{margin-top: 8px; opacity: .92;}
.site-segments .small{color: rgba(255,255,255,.92);}

.site-segments-items{
	flex: 1 1 auto;
	display:flex;
	gap: 14px;
	align-items:stretch;
	flex-wrap: wrap;
	justify-content: flex-end;
	overflow: visible;
}

@media (max-width: 860px){
	.site-segments-items{
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x:auto;
		padding: 6px;
		margin: -6px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
}

.site-segments-items::-webkit-scrollbar{display:none;}

.site-segments-item{
	flex: 0 0 auto;
	width: 152px;
	min-height: 128px;
	border-radius: 18px;
	background: rgba(255,255,255,.96);
	border: 1px solid rgba(15,23,42,.10);
	box-shadow: 0 18px 34px rgba(0,0,0,.14);
	padding: 16px 12px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap: 10px;
	color: rgba(15,23,42,.92);
	scroll-snap-align: start;
}

.site-segments-emoji{font-size: 40px; line-height: 1;}
.site-segments-label{font-weight: 950; font-size: 1rem; text-align:center;}

.site-segments-plus{
	width: 44px;
	height: 44px;
	border-radius: 999px;
	display:flex;
	align-items:center;
	justify-content:center;
	border: 3px solid rgba(249,115,22,.95);
	color: rgba(249,115,22,.95);
	font-weight: 1000;
	font-size: 22px;
}

@media (max-width: 860px){
	.site-segments-grid{flex-direction:column; align-items:stretch;}
	.site-segments-left{max-width:none;}
}

.site-cards{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;

}

.site-home{
	--home-ink: #ecf4ff;
	--home-muted: rgba(236,244,255,.74);
	--home-card: rgba(5, 17, 44, .62);
	--home-card-soft: rgba(255,255,255,.08);
	--home-line: rgba(255,255,255,.14);
	--home-accent: #ff7a1a;
	--home-accent-2: #ffd35a;
	--home-accent-3: #6ee7b7;
	--home-shadow: 0 30px 80px rgba(2, 10, 30, .34);
}

.site-home .site-container{
	display: flex;
	flex-direction: column;
	gap: 26px;
	padding-bottom: 52px;
}

.site-home .site-header{
	background: rgba(255,255,255,.82);
	border-bottom-color: rgba(15,23,42,.08);
	backdrop-filter: blur(18px);
}

.home-hero{
	position: relative;
	padding: 30px 0 10px 0;
}

.home-hero::before,
.home-hero::after{
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(10px);
	opacity: .9;
	z-index: 0;
}

.home-hero::before{
	left: -140px;
	top: -30px;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle at 32% 32%, rgba(249,115,22,.24), transparent 68%);
}

.home-hero::after{
	right: -160px;
	top: 20px;
	width: 460px;
	height: 460px;
	background: radial-gradient(circle at 50% 50%, rgba(37,99,235,.18), transparent 70%);
}

.home-hero-grid{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: 22px;
	align-items: start;
}

.home-hero-copy,
.home-demo-card,
.home-lead-card,
.home-band,
	.home-pillars,
	.home-solution,
	.home-proof-band,
.home-showcase,
	.home-testimonials,
	.home-plans,
	.home-faq,
.home-cta{
	border: 1px solid var(--home-line);
	background: linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.05) 100%);
	backdrop-filter: blur(14px);
	box-shadow: var(--home-shadow);
}

.home-hero-copy{
	padding: 38px;
	border-radius: 34px;
	min-height: 100%;
	background:
		radial-gradient(560px 220px at 0% 0%, rgba(249,115,22,.12), transparent 70%),
		linear-gradient(180deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.05) 100%);
}

.home-kicker{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff5d6;
	background: linear-gradient(90deg, rgba(249,115,22,.22), rgba(245,158,11,.14));
	border: 1px solid rgba(249,115,22,.22);
}

.home-title{
	margin: 18px 0 0 0;
	font-size: clamp(2.7rem, 5vw, 5rem);
	line-height: .96;
	letter-spacing: -.05em;
	max-width: 12ch;
	color: var(--home-ink);
	text-wrap: balance;
}

.home-subtitle{
	margin: 18px 0 0 0;
	max-width: 62ch;
	font-size: 1.04rem;
	line-height: 1.75;
	color: var(--home-muted);
	text-wrap: balance;
}

.home-hero-actions,
.home-cta-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.home-btn-primary,
.home-btn-secondary,
.home-btn-wa,
.home-btn-cta{
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	justify-content: center;
}

.home-btn-primary{
	background: linear-gradient(135deg, #f97316 0%, #ff9d42 52%, #ffd15a 130%);
	border-color: rgba(255,122,26,.28);
	color: #091224;
	box-shadow: 0 18px 34px rgba(255,122,26,.25);
}

.home-btn-secondary{
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.18);
	color: #f8fbff;
}

.home-btn-wa{
	background: linear-gradient(135deg, #14b86e 0%, #0f9f5f 100%);
	border-color: rgba(20,184,110,.26);
	color: #ffffff;
	box-shadow: 0 18px 34px rgba(20,184,110,.22);
}

.home-proof-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 26px;
}

.home-proof-card{
	display: grid;
	gap: 8px;
	padding: 18px;
	border-radius: 20px;
	background: rgba(3,12,32,.34);
	border: 1px solid rgba(255,255,255,.1);
}

.home-proof-card strong{
	font-size: 1.02rem;
	color: #ffffff;
	letter-spacing: -.02em;
}

.home-proof-card span{
	font-size: .92rem;
	line-height: 1.55;
	color: var(--home-muted);
}

.home-chip-row{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.home-chip,
.home-band-tags span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 13px;
	border-radius: 999px;
	font-size: .86rem;
	font-weight: 850;
	border: 1px solid rgba(255,255,255,.14);
	background: rgba(255,255,255,.08);
	color: #f9fbff;
}

.home-metric-row{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

.home-metric-card{
	padding: 18px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.03) 100%);
	border: 1px solid rgba(255,255,255,.08);
	display: grid;
	gap: 8px;
}

.home-metric-card strong{
	font-size: 1rem;
	letter-spacing: -.02em;
	color: #ffffff;
}

.home-metric-card span{
	font-size: .92rem;
	line-height: 1.55;
	color: var(--home-muted);
}

.home-hero-side{
	display: grid;
	gap: 18px;
}

.home-demo-card{
	padding: 18px;
	border-radius: 30px;
}

.home-demo-window{
	display: flex;
	gap: 8px;
	padding: 0 0 14px 0;
}

.home-demo-window span{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.42);
}

.home-demo-preview{
	position: relative;
	padding: 18px;
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
	border: 1px solid rgba(255,255,255,.09);
	overflow: hidden;
	min-height: 320px;
}

.home-demo-preview img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 18px;
	box-shadow: 0 24px 54px rgba(2,10,30,.36);
}

.home-floating-note{
	position: absolute;
	max-width: 220px;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(4, 14, 36, .88);
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 18px 34px rgba(2,10,30,.36);
	backdrop-filter: blur(12px);
}

.home-floating-note strong{
	display: block;
	font-size: .95rem;
	color: #ffffff;
}

.home-floating-note span{
	display: block;
	margin-top: 6px;
	font-size: .85rem;
	line-height: 1.45;
	color: var(--home-muted);
}

.home-floating-note--top{
	right: 12px;
	top: 12px;
}

.home-floating-note--bottom{
	left: 12px;
	bottom: 12px;
}

.home-lead-card{
	padding: 22px;
	border-radius: 28px;
	background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(247,250,255,.95) 100%);
	color: #0f172a;
}

.home-lead-kicker{
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--home-accent);
}

.home-lead-title{
	margin-top: 8px;
	font-size: 1.45rem;
	line-height: 1.1;
	font-weight: 950;
	letter-spacing: -.03em;
}

.home-lead-copy{
	margin-top: 10px;
	font-size: .95rem;
	line-height: 1.6;
	color: rgba(15,23,42,.72);
}

.home-lead-form{
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.home-lead-form input{
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border-radius: 14px;
	border: 1px solid rgba(15,23,42,.12);
	background: rgba(255,255,255,.98);
	color: #0f172a;
}

.home-lead-form input:focus{
	outline: none;
	border-color: rgba(59,130,246,.46);
	box-shadow: 0 0 0 4px rgba(59,130,246,.14);
}

.home-btn-cta{
	background: linear-gradient(135deg, #0f5be8 0%, #2d74ff 100%);
	border-color: rgba(15,91,232,.26);
	color: #ffffff;
	box-shadow: 0 18px 34px rgba(15,91,232,.22);
}

.home-lead-note{
	margin-top: 4px;
	color: rgba(15,23,42,.64);
}

.home-band,
	.home-pillars,
	.home-solution,
	.home-proof-band,
	.home-testimonials,
	.home-plans,
	.home-faq{
	padding: 28px;
	border-radius: 30px;
}

.home-band{
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 16px;
	align-items: center;
	background:
		radial-gradient(640px 260px at 0% 0%, rgba(249,115,22,.24), transparent 60%),
		linear-gradient(135deg, rgba(10,20,49,.88) 0%, rgba(13,31,72,.76) 100%);
}

.home-band-intro{
	display: grid;
	gap: 8px;
}

.home-band-intro strong{
	font-size: 1.2rem;
	letter-spacing: -.02em;
	color: #fff;
}

.home-band-intro span{
	font-size: .98rem;
	line-height: 1.6;
	color: var(--home-muted);
}

.home-band-tags{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.home-section-head{
	max-width: 62ch;
	margin: 0 auto;
	text-align: center;
}

.home-section-head h2{
	margin: 14px 0 0 0;
	font-size: clamp(1.8rem, 3.2vw, 3.1rem);
	line-height: 1.04;
	letter-spacing: -.04em;
	color: #ffffff;
	text-wrap: balance;
}

.home-section-head p{
	margin: 14px auto 0 auto;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--home-muted);
	text-wrap: balance;
}

.home-section-head--left{
	margin: 0;
	text-align: left;
}

.home-pillars-grid,
.home-solution-grid,
.home-proof-band-grid,
.home-testimonials-grid,
.home-plans-grid{
	display: grid;
	gap: 16px;
	margin-top: 26px;
}

.home-pillars-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-pillar-card,
.home-solution-card,
.home-proof-band-card,
.home-testimonial-card,
.home-plan-card{
	padding: 20px;
	border-radius: 22px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
}

.home-pillar-card strong,
.home-solution-card h3,
.home-proof-band-card strong,
.home-testimonial-card strong,
.home-plan-card h3{
	display: block;
	font-size: 1.05rem;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: #ffffff;
}

.home-pillar-card p,
.home-proof-band-card span,
.home-testimonial-card p,
.home-plan-card p{
	margin: 10px 0 0 0;
	font-size: .94rem;
	line-height: 1.65;
	color: var(--home-muted);
}


.home-solution{
	padding-top: 32px;
	padding-bottom: 32px;
}

.home-solution-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-solution-label{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	margin-bottom: 18px;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: linear-gradient(135deg, rgba(249,115,22,.22), rgba(245,158,11,.14));
	border: 1px solid rgba(249,115,22,.2);
	color: #fff3d0;
}

.home-solution-card h3{
	margin: 0;
	font-size: 1.18rem;
}

.home-solution-card ul{
	margin: 14px 0 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
	color: var(--home-muted);
	font-size: .95rem;
	line-height: 1.55;
}

.home-solution-card li{
	position: relative;
	padding-left: 16px;
}

.home-solution-card li::before{
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--home-accent-3);
	box-shadow: 0 0 0 5px rgba(110,231,183,.12);
}

.home-proof-band{
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: 18px;
	align-items: center;
}

.home-proof-band-copy h2{
	margin: 14px 0 0 0;
	font-size: clamp(1.7rem, 3vw, 2.8rem);
	line-height: 1.06;
	letter-spacing: -.04em;
	color: #ffffff;
}

.home-proof-band-copy p{
	margin: 14px 0 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--home-muted);
}

.home-proof-band-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 0;
}

.home-proof-band-card{
	min-height: 100%;
}

.home-showcase{
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: 28px;
	align-items: center;
	padding: 26px;
	border-radius: 34px;
}

.home-showcase-media img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 24px;
	box-shadow: 0 28px 56px rgba(2, 10, 30, .38);
	background: rgba(255,255,255,.06);
}

.home-showcase-copy h2{
	margin: 14px 0 0 0;
	font-size: clamp(1.7rem, 3vw, 2.8rem);
	line-height: 1.05;
	letter-spacing: -.04em;
	color: #ffffff;
}

.home-showcase-copy p{
	margin: 16px 0 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--home-muted);
}

.home-checklist{
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.home-check-item{
	padding: 13px 15px 13px 44px;
	position: relative;
	border-radius: 16px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.08);
	font-weight: 700;
	color: #eef6ff;
	line-height: 1.5;
}

.home-check-item::before{
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--home-accent-3), #5eead4);
	box-shadow: 0 0 0 6px rgba(110,231,183,.1);
}

.home-testimonials-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-testimonial-card{
	position: relative;
	padding-top: 26px;
}

.home-testimonial-card::before{
	content: "\201C";
	position: absolute;
	top: 10px;
	left: 18px;
	font-size: 2.8rem;
	line-height: 1;
	color: rgba(255,255,255,.18);
}

.home-testimonial-card strong{
	margin-top: 18px;
}

.home-plans-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-plan-card{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.home-plan-card--featured{
	background:
		radial-gradient(520px 220px at 0% 0%, rgba(249,115,22,.18), transparent 70%),
		linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.05) 100%);
	border-color: rgba(249,115,22,.26);
	box-shadow: 0 18px 38px rgba(249,115,22,.12);
}

.home-plan-badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.1);
	color: #ffffff;
	width: fit-content;
}

.home-plan-card .btn{
	margin-top: auto;
	width: fit-content;
}

.home-faq-list{
	display: grid;
	gap: 14px;
	margin-top: 24px;
}

.home-faq-item{
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,.1);
	background: rgba(255,255,255,.05);
	overflow: hidden;
}

.home-faq-item summary{
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: #ffffff;
	position: relative;
	padding-right: 54px;
}

.home-faq-item summary::-webkit-details-marker{
	display: none;
}

.home-faq-item summary::after{
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.35rem;
	color: rgba(255,255,255,.78);
}

.home-faq-item[open] summary::after{
	content: "-";
}

.home-faq-item p{
	margin: 0;
	padding: 0 20px 20px 20px;
	font-size: .96rem;
	line-height: 1.7;
	color: var(--home-muted);
}

.home-cta{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 28px 30px;
	border-radius: 32px;
	background:
		radial-gradient(540px 220px at 0% 0%, rgba(249,115,22,.26), transparent 62%),
		linear-gradient(135deg, rgba(9,20,48,.92) 0%, rgba(15,35,84,.84) 100%);
}

.home-cta-copy{
	max-width: 56ch;
}

.home-cta-copy h2{
	margin: 14px 0 0 0;
	font-size: clamp(1.7rem, 3vw, 2.7rem);
	line-height: 1.04;
	letter-spacing: -.04em;
	color: #ffffff;
}

.home-cta-copy p{
	margin: 14px 0 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--home-muted);
}

@media (max-width: 1120px){
	.home-hero-grid,
	.home-proof-band,
	.home-showcase{
		grid-template-columns: 1fr;
	}

	.home-proof-grid,
	.home-metric-row,
	.home-pillars-grid,
	.home-solution-grid,
	.home-proof-band-grid,
	.home-testimonials-grid,
	.home-plans-grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-band{
		grid-template-columns: 1fr;
	}

	.home-band-tags{
		justify-content: flex-start;
	}

	.home-cta{
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 720px){
	.site-home .site-container{
		gap: 18px;
	}

	.home-hero{
		padding-top: 14px;
	}

	.home-hero-copy,
	.home-demo-card,
	.home-lead-card,
	.home-band,
	.home-pillars,
	.home-solution,
	.home-proof-band,
	.home-showcase,
	.home-testimonials,
	.home-plans,
	.home-faq,
	.home-cta{
		padding: 18px;
		border-radius: 22px;
	}

	.home-title{
		max-width: none;
		font-size: clamp(2.1rem, 10vw, 3.1rem);
	}

	.home-subtitle,
	.home-section-head p,
	.home-proof-band-copy p,
	.home-showcase-copy p,
	.home-cta-copy p{
		font-size: .96rem;
	}

	.home-proof-grid,
	.home-metric-row,
	.home-pillars-grid,
	.home-solution-grid,
	.home-proof-band-grid,
	.home-testimonials-grid,
	.home-plans-grid{
		grid-template-columns: 1fr;
	}

	.home-hero-actions,
	.home-cta-actions{
		flex-direction: column;
	}

	.home-hero-actions .btn,
	.home-cta-actions .btn{
		width: 100%;
	}

	.home-floating-note{
		position: static;
		max-width: none;
		margin-top: 12px;
	}

	.home-demo-preview{
		display: grid;
		gap: 0;
	}

	.home-plan-card .btn{
		width: 100%;
	}
}

@media (max-width: 520px){
	.home-chip-row,
	.home-band-tags{
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.home-chip,
	.home-band-tags span{
		width: 100%;
	}
}

.site-card{
	position: relative;
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 100%);
	padding: 22px;
	box-shadow:
		0 18px 34px rgba(0,0,0,.14),
		0 1px 0 rgba(255,255,255,.55);
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	color: rgba(15,23,42,.92);
	min-height: 190px;
	overflow:hidden;
}

.site-card-link{
	text-decoration:none;
	display:flex;
	flex-direction:column;
	gap: 8px;
}

.site-card-link:hover{text-decoration:none;}

.site-card-icon{
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color: rgba(15,23,42,.92);
	background:
		linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.74) 100%);
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	box-shadow:
		0 10px 22px rgba(0,0,0,.10),
		inset 0 1px 0 rgba(255,255,255,.55);
}

.site-card-points{
	margin: 6px 0 0 0;
	padding: 0;
	list-style: none;
	display:flex;
	flex-direction:column;
	gap: 6px;
	opacity: .9;
}

.site-card-points li{
	position: relative;
	padding-left: 18px;
}

.site-card-points li::before{
	content:"\2713";
	position:absolute;
	left: 0;
	top: 0;
	color: rgba(22,163,74,.92);
	font-weight: 900;
}

.site-card::before{
	content:"";
	position:absolute;
	left: 12px;
	right: 12px;
	top: 10px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(37,99,235,.65), rgba(250,204,21,.55));
	opacity: .95;
}

.site-card:hover{
	transform: translateY(-3px);
	border-color: color-mix(in srgb, rgba(37,99,235,.55) 70%, var(--site-card-border));
	box-shadow:
		0 24px 48px rgba(0,0,0,.18),
		0 1px 0 rgba(255,255,255,.70);
}

.site-card-title{font-weight: 950;letter-spacing:-0.02em;margin-top: 10px;font-size: 1.05rem;}

/* Premium outline button for site (used in features section) */
.site-page .btn.site-btn-outline{
	border-radius: 999px;
	padding: 12px 18px;
	min-height: 46px;
	font-weight: 950;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,.95);
	background:
		linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.06) 100%);
	border: 1px solid rgba(255,255,255,.22);
	box-shadow:
		0 18px 34px rgba(0,0,0,.18),
		inset 0 1px 0 rgba(255,255,255,.16);
}

.site-page .btn.site-btn-outline:hover{
	background:
		linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%);
	border-color: rgba(255,255,255,.28);
}

/* Give each card a distinct accent */
.site-cards .site-card:nth-child(1){--card-accent: #2563eb;}
.site-cards .site-card:nth-child(2){--card-accent: #16a34a;}
.site-cards .site-card:nth-child(3){--card-accent: #f97316;}
.site-cards .site-card:nth-child(1)::before,
.site-cards .site-card:nth-child(2)::before,
.site-cards .site-card:nth-child(3)::before{
	background: linear-gradient(90deg, color-mix(in srgb, var(--card-accent) 85%, white), color-mix(in srgb, var(--card-accent) 40%, #facc15));
}

.site-steps{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.site-step{
	position: relative;
	display:flex;
	gap: 14px;
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 100%);
	padding: 22px;
	box-shadow:
		0 18px 34px rgba(0,0,0,.12),
		0 1px 0 rgba(255,255,255,.55);
	color: rgba(15,23,42,.92);
	min-height: 190px;
	overflow:hidden;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.site-step::before{
	content:"";
	position:absolute;
	left: 12px;
	right: 12px;
	top: 10px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, color-mix(in srgb, var(--step-accent, rgba(29,78,216,.75)) 85%, white), rgba(250,204,21,.55));
	opacity: .90;
}

.site-step:hover{
	transform: translateY(-3px);
	border-color: color-mix(in srgb, rgba(29,78,216,.45) 70%, var(--site-card-border));
	box-shadow:
		0 26px 52px rgba(0,0,0,.18),
		0 1px 0 rgba(255,255,255,.70);
}

.site-step-icon{
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	color: rgba(15,23,42,.92);
	background:
		linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.74) 100%);
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	box-shadow:
		0 10px 22px rgba(0,0,0,.10),
		inset 0 1px 0 rgba(255,255,255,.55);
}

.site-step-body{min-width:0;display:flex;flex-direction:column;gap: 8px;}
.site-step-top{display:flex;align-items:center;gap: 10px;}

.site-step-title{font-weight: 950;letter-spacing:-0.02em;font-size: 1.05rem;}
.site-step-no{width: 38px;height: 38px;border-radius: 999px;display:flex;align-items:center;justify-content:center;background: rgba(250,204,21,.22);border: 1px solid rgba(250,204,21,.44);font-weight: 950;color: rgba(15,23,42,.92);}
/* stronger numbers */
.site-step-no{
	box-shadow: 0 10px 18px rgba(250,204,21,.16);
}

.site-step-points{
	margin: 4px 0 0 0;
	padding: 0;
	list-style: none;
	display:flex;
	flex-direction:column;
	gap: 6px;
	opacity: .9;
}

.site-step-points li{
	position: relative;
	padding-left: 18px;
}

.site-step-points li::before{
	content:"\2713";
	position:absolute;
	left: 0;
	top: 0;
	color: rgba(37,99,235,.88);
	font-weight: 900;
}

/* Distinct accents per step */
.site-steps .site-step:nth-child(1){--step-accent: #2563eb;}
.site-steps .site-step:nth-child(2){--step-accent: #16a34a;}
.site-steps .site-step:nth-child(3){--step-accent: #f97316;}

/* Reduce motion on preference */
@media (prefers-reduced-motion: reduce){
	.site-card, .site-step{transition: none;}
	.site-card:hover{transform:none;}
}

.site-cta{margin-top: 18px;}
.site-cta-inner{display:flex;align-items:center;justify-content:space-between;gap: 12px;flex-wrap:wrap;border: 1px solid rgba(255,255,255,.14);border-radius: 18px;background: linear-gradient(90deg, rgba(19,68,182,.48), rgba(3,10,31,.42));padding: 16px;}
.site-cta-title{font-weight: 950;letter-spacing:-0.02em;font-size: 1.2rem;}
.site-cta-actions{display:flex;gap: 10px;flex-wrap:wrap;}

.site-page-hero{padding: 10px 0 4px 0;text-align:center;}
.site-page-title{margin: 10px 0 0 0; letter-spacing: -0.03em; font-size: clamp(2.0rem, 3.2vw, 2.6rem);}
.site-page-subtitle{margin: 10px auto 0 auto; max-width: 68ch; opacity: .92; color: var(--site-muted);}

.site-feature-grid{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
	align-items: stretch;
}

.site-feature{
	--feature-accent: rgba(37,99,235,.85);
	position: relative;
	display:flex;
	gap: 14px;
	align-items:flex-start;
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(255,255,255,.94) 100%);
	padding: 20px;
	box-shadow:
		0 18px 34px rgba(0,0,0,.14),
		0 1px 0 rgba(255,255,255,.60);
	color: rgba(15,23,42,.92);
	min-height: 172px;
	overflow:hidden;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.site-feature::before{
	content:"";
	position:absolute;
	left: 12px;
	right: 12px;
	top: 10px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, color-mix(in srgb, var(--feature-accent) 85%, white), rgba(250,204,21,.55));
	opacity: .95;
}

.site-feature:hover{
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--feature-accent) 45%, var(--site-card-border));
	box-shadow:
		0 24px 48px rgba(0,0,0,.18),
		0 1px 0 rgba(255,255,255,.72);
}

.site-feature-icon{
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display:flex;
	align-items:center;
	justify-content:center;
	background: color-mix(in srgb, var(--feature-accent) 16%, white);
	border: 1px solid color-mix(in srgb, var(--feature-accent) 22%, var(--site-card-border));
	box-shadow: 0 12px 20px rgba(0,0,0,.10);
	color: color-mix(in srgb, var(--feature-accent) 82%, rgba(15,23,42,.92));
	margin-top: 10px;
}

.site-feature-body{min-width: 0; margin-top: 10px;}
.site-feature-title{font-weight: 950;letter-spacing:-0.02em; line-height: 1.15; font-size: 1.08rem;}
.site-feature-text{margin-top: 8px; opacity: .92; color: rgba(30,41,59,.86); font-size: 0.98rem;}

/* Keep cards same height: clamp title/text to predictable lines */
.site-feature-title,
.site-feature-text{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.site-feature-title{-webkit-line-clamp: 2; line-clamp: 2;}
.site-feature-text{-webkit-line-clamp: 3; line-clamp: 3;}

/* Diferenciar cada card com um acento */
.site-feature-grid .site-feature:nth-child(1){--feature-accent: rgba(37,99,235,.90);} /* azul */
.site-feature-grid .site-feature:nth-child(2){--feature-accent: rgba(16,185,129,.88);} /* verde */
.site-feature-grid .site-feature:nth-child(3){--feature-accent: rgba(249,115,22,.92);} /* laranja */
.site-feature-grid .site-feature:nth-child(4){--feature-accent: rgba(99,102,241,.90);} /* índigo */
.site-feature-grid .site-feature:nth-child(5){--feature-accent: rgba(250,204,21,.92);} /* amarelo */
.site-feature-grid .site-feature:nth-child(6){--feature-accent: rgba(14,165,233,.90);} /* azul claro */

.site-pricing{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 12px;margin-top: 16px;}
.site-pricing--single{grid-template-columns: minmax(0, 460px); justify-content: center;}
.site-price-card{
	position: relative;
	display:flex;
	flex-direction:column;
	border: 1px solid color-mix(in srgb, var(--site-card-border) 70%, white);
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(255,255,255,.965) 100%);
	padding: 18px;
	box-shadow:
		0 22px 44px rgba(0,0,0,.18),
		0 1px 0 rgba(255,255,255,.70);
	color: rgba(15,23,42,.92);
	overflow:hidden;
}

.site-price-card > .btn{
	align-self:center;
}

.site-price-card::before{
	content:"";
	position:absolute;
	left: 14px;
	right: 14px;
	top: 12px;
	height: 7px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(37,99,235,.85), rgba(250,204,21,.70), rgba(249,115,22,.75));
	opacity: .95;
}

.site-price-card.is-featured{
	border-color: color-mix(in srgb, rgba(249,115,22,.70) 60%, var(--site-card-border));
	box-shadow:
		0 28px 58px rgba(0,0,0,.22),
		0 1px 0 rgba(255,255,255,.78);
}

.site-price-card.is-featured::before{
	background: linear-gradient(90deg, rgba(249,115,22,.85), rgba(250,204,21,.82));
}

.site-price-top{display:flex;flex-direction:column;gap: 8px; margin-top: 10px;}
.site-price-name{font-weight: 950;letter-spacing:-0.02em;font-size: 1.05rem;}
.site-price-value{font-weight: 950;letter-spacing:-0.03em;font-size: 2.2rem;line-height: 1.05;}
.site-price-suffix{font-size: .95rem;opacity:.75;font-weight: 800;}
.site-price-list{margin: 12px 0 14px 0; padding-left: 0; list-style:none;}
.site-price-list li{margin: 7px 0; padding-left: 18px; position:relative;}
.site-price-list li::before{content:"\2713"; position:absolute; left:0; top:0; color: rgba(22,163,74,.92); font-weight: 900;}

.site-pricing--single .site-price-card{max-width: 460px;}
.site-pricing--single .site-price-card .btn{min-width: 220px;}

.site-contact-grid{display:grid;grid-template-columns: 0.9fr 1.1fr;gap: 12px;margin-top: 16px;}
.site-contact-card{border: 1px solid var(--site-card-border);border-radius: 18px;background: var(--site-card);padding: 16px;box-shadow: 0 22px 44px rgba(0,0,0,.16);color: rgba(15,23,42,.92);}
.site-contact-form{display:flex;flex-direction:column;gap: 10px;margin-top: 10px;}
.site-contact-form input, .site-contact-form textarea{width: 100%;}

.site-footer{
	margin-top: 24px;
	border-top: 1px solid rgba(255,255,255,.14);
	background:
		radial-gradient(900px 220px at 20% 0%, rgba(37,99,235,.18), transparent 60%),
		linear-gradient(180deg, rgba(12,35,92,.72) 0%, rgba(2, 9, 28, .86) 100%);
}
.site-footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap: 14px;flex-wrap:wrap;padding: 18px 0;}
.site-footer-brand{font-weight: 950;letter-spacing:-0.02em;}
.site-footer-links{display:flex;gap: 12px;flex-wrap:wrap;}
.site-footer-links a{text-decoration:none;color: inherit;opacity:.84;}
.site-footer-links a:hover{opacity:1;text-decoration:underline;}

@media (max-width: 980px){
	.site-hero{min-height: calc(100vh - 110px); padding: 34px 0 22px 0;}
	.site-hero-grid{grid-template-columns: 1fr;}
	.site-section{padding: 18px;}
	.site-section-grid{grid-template-columns: 1fr;gap: 12px;}
	.site-feature-grid, .site-pricing{grid-template-columns: 1fr;}
	.site-contact-grid{grid-template-columns: 1fr;}
	.site-cards, .site-steps{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 560px){
	.site-hero{min-height: unset; padding: 26px 0 16px 0;}
	.site-cards, .site-steps{grid-template-columns: 1fr;}
	.site-section{padding: 16px; border-radius: 18px;}
	.site-section-features{padding: 18px; border-radius: 22px;}

	.site-cards{gap: 14px;}
	.site-card{padding: 16px; border-radius: 18px; min-height: unset; box-shadow: 0 14px 26px rgba(0,0,0,.14), 0 1px 0 rgba(255,255,255,.55);}
	.site-card::before{left: 10px; right: 10px; top: 9px; height: 5px; opacity: .92;}
	.site-card-icon{width: 40px; height: 40px; border-radius: 12px;}
	.site-card-title{margin-top: 8px; font-size: 1.0rem;}
	.site-card-points{gap: 5px;}

	.site-steps{gap: 14px;}
	.site-step{padding: 16px; border-radius: 18px; min-height: unset;}
	.site-step::before{left: 10px; right: 10px; top: 9px; height: 5px;}
	.site-step-icon{width: 40px; height: 40px; border-radius: 12px;}
	.site-step-title{font-size: 1.0rem;}
	.site-step-no{width: 34px; height: 34px;}

	.site-segments{padding: 18px 16px; border-radius: 22px;}
	.site-segments-item{width: 140px; min-height: 116px; padding: 14px 10px; border-radius: 16px;}
	.site-segments-emoji{font-size: 34px;}
}

@media (hover: none){
	.site-card:hover,
	.site-step:hover{
		transform: none;
	}
}

@media (max-width: 740px){
	.site-nav{display:none;}
}

/* Public: Meus pedidos */
.public-orders-header{
	text-align:center;
	margin-top: 6px;
}

.public-orders-header .btn{
	margin: 0 auto 10px auto;
}

.public-orders-title{
	margin: 6px 0 0 0;
	letter-spacing: -0.02em;
}

.public-orders-subtitle{margin-top: 6px;}

.public-orders-empty{padding: 18px;}

.public-orders-list{
	display:flex;
	flex-direction:column;
	gap: 12px;
	margin-top: 14px;
}

.public-order-entry{
	display:flex;
	flex-direction:column;
	gap: 8px;
}

.public-order-card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 14px;
	text-decoration:none;
	color: inherit;
	padding: 14px 14px;
	border-radius: var(--radius);
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	box-shadow:
		0 14px 26px color-mix(in srgb, CanvasText 9%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
	transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.public-order-card:hover{
	text-decoration:none;
	transform: translateY(-1px);
	border-color: color-mix(in srgb, var(--brand) 24%, Canvas);
	background:
		linear-gradient(180deg,
			color-mix(in srgb, CanvasText 2%, Canvas) 0%,
			color-mix(in srgb, CanvasText 5%, Canvas) 100%);
}

/* Institutional redesign */
.site-page{
	--site-bg: #f7efe4;
	--site-ink: #211a16;
	--site-muted-2: #6e6258;
	--site-panel: rgba(255,255,255,.72);
	--site-panel-strong: #fffaf4;
	--site-border-soft: rgba(66,40,20,.12);
	--site-accent: #c96a2b;
	--site-accent-deep: #8d3f1b;
	--site-accent-soft: #f2dcc8;
	--site-olive: #2d4c40;
	--site-shadow-soft: 0 24px 60px rgba(74,46,24,.12);
	background:
		radial-gradient(1100px 500px at 0% 0%, rgba(201,106,43,.18) 0%, transparent 62%),
		radial-gradient(900px 460px at 100% 0%, rgba(45,76,64,.12) 0%, transparent 60%),
		linear-gradient(180deg, #fcf6ef 0%, #f7efe4 100%);
	color: var(--site-ink);
	font-family: "Manrope", "Segoe UI", sans-serif;
}

.site-page .app-main{
	padding: 18px 0 40px 0;
}

.site-page .site-container{
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 1180px;
}

.site-page .btn{
	border-radius: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	min-height: 48px;
	padding: 12px 18px;
}

.site-page .btn.btn-ghost{
	background: rgba(255,255,255,.52);
	border-color: rgba(66,40,20,.12);
	color: var(--site-ink);
	backdrop-filter: blur(14px);
}

.site-header{
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(252,246,239,.82);
	border-bottom: 1px solid rgba(66,40,20,.08);
	backdrop-filter: blur(18px);
	box-shadow: 0 10px 30px rgba(74,46,24,.05);
}

.site-header .container{
	max-width: 1240px;
}

.site-header-inner{
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.site-brand{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	min-width: 0;
}

.site-brand:hover{
	text-decoration: none;
}

.site-brand-mark,
.site-footer-brand-mark{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(201,106,43,.14), rgba(255,255,255,.72));
	border: 1px solid rgba(66,40,20,.08);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.site-brand-logo,
.site-footer-brand-logo{
	width: auto;
	height: 40px;
	display: block;
}

.site-brand-copy{
	display: grid;
	gap: 2px;
	min-width: 0;
	max-width: 260px;
}

.site-brand-name,
.site-footer-brand{
	font-family: "Sora", "Manrope", sans-serif;
	font-size: 1.08rem;
	font-weight: 800;
	letter-spacing: -.04em;
	color: #201713;
}

.site-footer-brand{
	color: #fff8f1;
}

.site-brand-sub{
	font-size: .78rem;
	color: var(--site-muted-2);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.site-nav{
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	flex-wrap: nowrap;
	min-width: 0;
}

.site-nav-link{
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--site-ink);
	text-decoration: none;
	padding: 10px 12px;
	border-radius: 999px;
	font-weight: 700;
	font: inherit;
	cursor: pointer;
	white-space: nowrap;
}

.site-nav-link:hover{
	text-decoration: none;
	background: rgba(255,255,255,.55);
	color: var(--site-accent-deep);
}

.site-nav-link--button{
	line-height: inherit;
}

.site-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.site-header-demo,
.site-downloads-trigger,
.site-login-btn{
	padding-left: 14px;
	padding-right: 14px;
}

.site-header-demo{
	background: linear-gradient(135deg, #39594f 0%, #4d7267 100%);
	border-color: rgba(57,89,79,.24);
	color: #f6fbf8;
	box-shadow: 0 16px 30px rgba(45,76,64,.18);
}

.site-header-cta{
	background: linear-gradient(135deg, #c96a2b 0%, #de8748 100%);
	border-color: rgba(201,106,43,.26);
	color: #fff9f2;
	box-shadow: 0 16px 30px rgba(201,106,43,.2);
}

@media (max-width: 860px){
	.site-header-cta--hide-mobile{
		display: none !important;
	}
}

.landing-shell,
.page-content-shell,
.page-highlight-shell,
.page-hero-shell{
	position: relative;
	border-radius: 32px;
	border: 1px solid var(--site-border-soft);
	background: linear-gradient(180deg, rgba(255,250,244,.92) 0%, rgba(255,255,255,.62) 100%);
	box-shadow: var(--site-shadow-soft);
	overflow: hidden;
}

.landing-shell::before,
.page-content-shell::before,
.page-highlight-shell::before,
.page-hero-shell::before{
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(420px 180px at 0% 0%, rgba(201,106,43,.12), transparent 70%);
	pointer-events: none;
	opacity: .9;
}

.landing-hero,
.page-hero-shell,
.page-content-shell,
.page-highlight-shell,
.landing-section,
.landing-cta-band,
.landing-metrics{
	padding: 34px;
}

.landing-hero-grid,
.landing-section--split,
.landing-showcase,
.contact-layout-extended{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
	gap: 26px;
	align-items: start;
}

.landing-hero-copy{
	display: grid;
	align-content: start;
	padding-right: 6px;
}

.landing-kicker{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(201,106,43,.12);
	color: var(--site-accent-deep);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	border: 1px solid rgba(201,106,43,.18);
}

.landing-title,
.landing-section-title,
.page-hero-title,
.contact-info-card h2,
.contact-form-head h2,
.pricing-card-top h2{
	font-family: "Sora", "Manrope", sans-serif;
	letter-spacing: -.05em;
	color: #211814;
	margin: 14px 0 0 0;
	text-wrap: balance;
}

.landing-title{
	font-size: clamp(2.55rem, 4.8vw, 4.5rem);
	line-height: .94;
	max-width: 10.5ch;
}

.landing-subtitle,
.landing-section-text,
.page-hero-text,
.landing-form-copy,
.contact-info-card p,
.pricing-card-top p,
.resource-card p,
.resource-card li,
.page-highlight-list span,
.landing-plan-mini p{
	color: var(--site-muted-2);
	font-size: 1rem;
	line-height: 1.75;
}

.landing-subtitle{
	max-width: 62ch;
	margin-top: 20px;
}

.site-home .landing-hero{
	padding: 40px 40px 32px;
	border-radius: 36px;
	background:
		radial-gradient(560px 260px at 0% 0%, rgba(217,127,63,.12), transparent 70%),
		radial-gradient(480px 240px at 100% 100%, rgba(58,92,80,.08), transparent 72%),
		linear-gradient(180deg, rgba(255,251,246,.96) 0%, rgba(255,255,255,.78) 100%);
	box-shadow: 0 28px 70px rgba(97,66,41,.12);
}

.site-home .landing-hero-grid{
	grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
	gap: 34px;
	align-items: stretch;
}

.site-home .landing-hero-copy{
	display: flex;
	flex-direction: column;
	padding-right: 10px;
	min-height: 100%;
}

.site-home .landing-kicker{
	padding: 10px 18px;
	font-size: .82rem;
	letter-spacing: .11em;
	background: linear-gradient(180deg, rgba(246,223,205,.74) 0%, rgba(255,245,238,.92) 100%);
	border-color: rgba(212,138,83,.18);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.site-home .landing-title{
	max-width: 11.5ch;
	font-size: clamp(3rem, 5vw, 4.55rem);
	line-height: .95;
	letter-spacing: -.065em;
	margin-top: 18px;
}

.site-home .landing-subtitle{
	max-width: 35rem;
	font-size: 1.02rem;
	line-height: 1.7;
	margin-top: 18px;
}

.landing-hero-actions{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
	width: min(100%, 560px);
}

.landing-cta-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.landing-proof-strip{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 30px;
}

.landing-proof-strip article{
	padding: 14px 15px;
	border-radius: 18px;
	border: 1px solid rgba(66,40,20,.1);
	background: rgba(255,255,255,.5);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.landing-proof-strip strong{
	display: block;
	font-family: "Sora", "Manrope", sans-serif;
	font-size: .98rem;
	letter-spacing: -.03em;
	color: #231914;
}

.landing-proof-strip span{
	display: block;
	margin-top: 5px;
	font-size: .88rem;
	line-height: 1.55;
	color: var(--site-muted-2);
}

.landing-btn-primary,
.landing-btn-secondary,
.landing-btn-wa,
.landing-btn-dark{
	width: 100%;
	justify-content: center;
	min-height: 58px;
	border-radius: 18px;
	font-size: 1.02rem;
	font-weight: 800;
}

.landing-btn-primary{
	background: linear-gradient(135deg, #c96a2b 0%, #e08a4c 100%);
	border-color: rgba(201,106,43,.26);
	color: #fff8f2;
	box-shadow: 0 18px 34px rgba(201,106,43,.18);
}

.landing-btn-secondary{
	background: linear-gradient(135deg, #39594f 0%, #4d7267 100%);
	border-color: rgba(57,89,79,.24);
	color: #f6fbf8;
	box-shadow: 0 18px 34px rgba(45,76,64,.16);
}

.landing-btn-wa{
	background: linear-gradient(135deg, #c96a2b 0%, #df8241 100%);
	border-color: rgba(201,106,43,.24);
	color: #fff9f3;
	box-shadow: 0 18px 34px rgba(201,106,43,.18);
}

.landing-btn-dark{
	background: #231b16;
	border-color: #231b16;
	color: #fff8f2;
}

.landing-badge-row span,
.landing-metrics article,
.landing-highlight-card,
.landing-feature-panel,
.landing-card,
.landing-plan-mini,
.resource-card,
.page-highlight-list article,
.contact-info-list article{
	border: 1px solid rgba(66,40,20,.1);
	background: rgba(255,255,255,.54);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
}

.landing-highlight-grid,
.landing-grid-3,
.resource-grid,
.page-highlight-list,
.landing-segment-grid,
.pricing-grid-extended{
	display: grid;
	gap: 16px;
	margin-top: 0;
}

.site-home .landing-proof-strip--hero{
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: min(100%, 760px);
	margin-top: auto;
	align-self: end;
	padding-top: 26px;
}

.site-home .landing-proof-card{
	position: relative;
	padding: 18px 18px 18px 20px;
	min-height: 112px;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255,252,248,.96) 0%, rgba(255,255,255,.8) 100%);
	border: 1px solid rgba(93,62,39,.1);
	box-shadow:
		0 16px 34px rgba(91,62,38,.08),
		inset 0 1px 0 rgba(255,255,255,.66);
	overflow: hidden;
}

.site-home .landing-proof-card::before{
	content: "";
	position: absolute;
	left: 20px;
	top: 16px;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255,240,228,.96) 0%, rgba(255,250,244,.72) 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.site-home .landing-proof-card::after{
	content: "";
	position: absolute;
	right: -28px;
	top: -34px;
	width: 118px;
	height: 118px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(207,138,88,.12) 0%, transparent 70%);
}

.site-home .landing-proof-card .landing-proof-icon{
	position: absolute;
	left: 34px;
	top: 29px;
	width: 18px;
	height: 4px;
	border-radius: 999px;
	background: #d87737;
	box-shadow: 0 8px 0 #e8a06c, 0 16px 0 #f1c7a9;
	z-index: 1;
}

.site-home .landing-proof-card--panel .landing-proof-icon{
	background: #4a7569;
	box-shadow: 0 8px 0 #76a497, 0 16px 0 #b9d0c7;
}

.site-home .landing-proof-card--site .landing-proof-icon{
	background: #7a5a49;
	box-shadow: 0 8px 0 #a78677, 0 16px 0 #d5c2b8;
}

.site-home .landing-proof-card strong,
.site-home .landing-proof-card > span:last-child{
	position: relative;
	padding-left: 58px;
	z-index: 1;
}

.site-home .landing-proof-card strong{
	font-size: 1.02rem;
	letter-spacing: -.035em;
	color: #241a16;
	margin-top: 2px;
}

.site-home .landing-proof-card > span:last-child{
	display: block;
	margin-top: 6px;
	font-size: .93rem;
	line-height: 1.5;
	color: #6c5b4e;
}

.landing-highlight-grid,
.landing-grid-3,
.resource-grid,
.page-highlight-list,
.landing-segment-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-grid-extended{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-highlight-card,
.landing-feature-panel,
.landing-card,
.landing-plan-mini,
.resource-card,
.page-highlight-list article,
.contact-info-list article,
.pricing-card-extended{
	position: relative;
	padding: 20px;
	border-radius: 24px;
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
	--card-accent: #c96a2b;
	--card-tint: rgba(201,106,43,.12);
	--card-tint-strong: rgba(201,106,43,.18);
	box-shadow:
		0 18px 34px rgba(74,46,24,.08),
		inset 0 1px 0 rgba(255,255,255,.56);
}

.landing-highlight-card::before,
.landing-feature-panel::before,
.landing-card::before,
.landing-plan-mini::before,
.resource-card::before,
.page-highlight-list article::before,
.pricing-card-extended::before{
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 14px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--card-accent), color-mix(in srgb, var(--card-accent) 42%, white));
	opacity: .92;
}

.landing-highlight-card::after,
.landing-feature-panel::after,
.landing-card::after,
.landing-plan-mini::after,
.resource-card::after,
.page-highlight-list article::after,
.pricing-card-extended::after{
	content: "";
	position: absolute;
	right: -36px;
	top: -36px;
	width: 130px;
	height: 130px;
	border-radius: 999px;
	background: radial-gradient(circle, var(--card-tint-strong) 0%, transparent 68%);
	pointer-events: none;
	opacity: .95;
}

.landing-highlight-card:hover,
.landing-feature-panel:hover,
.landing-card:hover,
.landing-plan-mini:hover,
.resource-card:hover,
.page-highlight-list article:hover,
.pricing-card-extended:hover{
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--card-accent) 28%, rgba(66,40,20,.14));
	box-shadow:
		0 24px 44px rgba(74,46,24,.13),
		inset 0 1px 0 rgba(255,255,255,.62);
}

.landing-highlight-grid .landing-highlight-card:nth-child(1),
.landing-feature-stack .landing-feature-panel:nth-child(1),
.landing-grid-3 .landing-card:nth-child(1),
.resource-grid .resource-card:nth-child(1),
.page-highlight-list article:nth-child(1),
.landing-grid-3 .landing-plan-mini:nth-child(1),
.pricing-grid-extended .pricing-card-extended:nth-child(1){
	--card-accent: #bb5f27;
	--card-tint: rgba(187,95,39,.12);
	--card-tint-strong: rgba(187,95,39,.2);
}

.landing-highlight-grid .landing-highlight-card:nth-child(2),
.landing-feature-stack .landing-feature-panel:nth-child(2),
.landing-grid-3 .landing-card:nth-child(2),
.resource-grid .resource-card:nth-child(2),
.page-highlight-list article:nth-child(2),
.landing-grid-3 .landing-plan-mini:nth-child(2),
.pricing-grid-extended .pricing-card-extended:nth-child(2){
	--card-accent: #2d4c40;
	--card-tint: rgba(45,76,64,.12);
	--card-tint-strong: rgba(45,76,64,.2);
}

.landing-highlight-grid .landing-highlight-card:nth-child(3),
.landing-feature-stack .landing-feature-panel:nth-child(3),
.landing-grid-3 .landing-card:nth-child(3),
.resource-grid .resource-card:nth-child(3),
.page-highlight-list article:nth-child(3),
.landing-grid-3 .landing-plan-mini:nth-child(3),
.pricing-grid-extended .pricing-card-extended:nth-child(3){
	--card-accent: #765247;
	--card-tint: rgba(118,82,71,.12);
	--card-tint-strong: rgba(118,82,71,.2);
}

.landing-feature-stack .landing-feature-panel:nth-child(4){
	--card-accent: #4d6b72;
	--card-tint: rgba(77,107,114,.12);
	--card-tint-strong: rgba(77,107,114,.2);
}

.resource-grid .resource-card:nth-child(4){
	--card-accent: #4d6b72;
	--card-tint: rgba(77,107,114,.12);
	--card-tint-strong: rgba(77,107,114,.2);
}

.resource-grid .resource-card:nth-child(5){
	--card-accent: #8d3f1b;
	--card-tint: rgba(141,63,27,.12);
	--card-tint-strong: rgba(141,63,27,.2);
}

.resource-grid .resource-card:nth-child(6){
	--card-accent: #365645;
	--card-tint: rgba(54,86,69,.12);
	--card-tint-strong: rgba(54,86,69,.2);
}

.landing-highlight-card strong,
.landing-feature-panel strong,
.landing-card h3,
.landing-plan-mini strong,
.resource-card strong,
.page-highlight-list strong,
.contact-info-list strong,
.landing-showcase-copy strong,
.pricing-card-top h2,
.pricing-value-box strong{
	display: block;
	font-family: "Sora", "Manrope", sans-serif;
	letter-spacing: -.03em;
	color: #231a16;
}

.landing-highlight-card span,
.landing-feature-panel p,
.landing-card li,
.landing-plan-mini p,
.resource-card li,
.pricing-card-extended li,
.contact-info-list span,
.landing-step-item strong{
	color: var(--site-muted-2);
	line-height: 1.65;
}

.landing-highlight-card strong,
.landing-feature-panel strong,
.landing-plan-mini strong,
.resource-card strong,
.page-highlight-list strong,
.contact-info-list strong{
	font-size: 1.04rem;
	position: relative;
	z-index: 1;
}

.landing-highlight-card span,
.landing-feature-panel p,
.landing-card ul,
.landing-plan-mini p,
.resource-card p,
.resource-card ul,
.page-highlight-list span,
.pricing-card-extended ul,
.pricing-card-top,
.pricing-value-box{
	position: relative;
	z-index: 1;
}

.landing-hero-side,
.landing-feature-stack{
	display: grid;
	gap: 16px;
}

.landing-showcase-meta{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding-bottom: 14px;
}

.landing-showcase-meta article{
	padding: 12px 14px;
	border-radius: 16px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.08);
}

.landing-showcase-meta strong{
	display: block;
	font-family: "Sora", "Manrope", sans-serif;
	font-size: .92rem;
	color: #fff7ef;
	letter-spacing: -.02em;
}

.landing-showcase-meta span{
	display: block;
	margin-top: 4px;
	font-size: .82rem;
	line-height: 1.45;
	color: rgba(255,247,239,.74);
}

.landing-showcase-card,
.landing-form-card,
.contact-info-card,
.contact-form-card-extended,
.pricing-card-extended{
	position: relative;
	border-radius: 28px;
	border: 1px solid rgba(66,40,20,.1);
	box-shadow: var(--site-shadow-soft);
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(255,250,244,.9) 100%);
}

.landing-showcase-card{
	padding: 20px;
	background: linear-gradient(180deg, rgba(37,28,23,.94) 0%, rgba(62,40,30,.88) 100%);
	color: #fff7ef;
}

.landing-showcase-head{
	display: flex;
	gap: 8px;
	padding-bottom: 14px;
}

.landing-showcase-head span{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.42);
}

.landing-showcase-media{
	position: relative;
	padding: 18px;
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
	border: 1px solid rgba(255,255,255,.08);
}

.landing-showcase-media img,
.landing-showcase-visual img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 22px;
	box-shadow: 0 26px 52px rgba(24,15,10,.22);
}

.landing-floating-card{
	position: absolute;
	max-width: 220px;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255,248,240,.94);
	border: 1px solid rgba(66,40,20,.12);
	box-shadow: 0 18px 34px rgba(24,15,10,.18);
	color: #251b16;
}

.landing-floating-card--top{
	right: 16px;
	top: 16px;
}

.landing-floating-card--bottom{
	left: 16px;
	bottom: 16px;
}

.landing-floating-card strong{
	font-size: .95rem;
}

.landing-floating-card span{
	display: block;
	margin-top: 6px;
	font-size: .86rem;
	line-height: 1.5;
	color: #6b5d52;
}

.landing-form-card,
.contact-form-card-extended{
	padding: 24px;
	background: linear-gradient(180deg, rgba(255,250,244,.98) 0%, rgba(255,255,255,.92) 100%);
}

.landing-form-card{
	padding: 26px 24px 22px;
	border-radius: 30px;
	background: linear-gradient(180deg, rgba(255,251,247,.98) 0%, rgba(255,255,255,.94) 100%);
	box-shadow: 0 26px 64px rgba(74,46,24,.14);
}

.landing-form-kicker,
.contact-form-head .landing-kicker{
	margin-bottom: 8px;
	font-size: .9rem;
	font-weight: 500;
	color: #86766b;
}

.landing-form-title{
	font-family: "Sora", "Manrope", sans-serif;
	font-size: clamp(1.9rem, 2.6vw, 2.2rem);
	line-height: 1.08;
	letter-spacing: -.04em;
	color: #231914;
}

.site-home .landing-form-copy{
	font-size: 1rem;
	line-height: 1.7;
	max-width: 34rem;
}

.landing-form,
.contact-form-extended{
	display: grid;
	gap: 12px;
	margin-top: 22px;
}

.contact-form-extended{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-form input,
.contact-form-extended input,
.contact-form-extended textarea{
	width: 100%;
	border-radius: 16px;
	border: 1px solid rgba(66,40,20,.12);
	background: rgba(255,255,255,.98);
	padding: 15px 16px;
	color: #211814;
	font: inherit;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.landing-form input{
	height: 54px;
}

.landing-form input::placeholder{
	color: #97887c;
}

.site-home .landing-btn-dark{
	min-height: 56px;
	background: linear-gradient(135deg, #c96a2b 0%, #e78945 100%);
	border-color: rgba(201,106,43,.24);
	box-shadow: 0 18px 34px rgba(201,106,43,.18);
}

.site-home .landing-form-note{
	margin-top: 2px;
	font-size: .92rem;
	line-height: 1.45;
	color: #8b786a;
}

.site-home .landing-hero-side{
	align-content: start;
}

.contact-form-extended textarea{
	resize: vertical;
	min-height: 140px;
}

.landing-form input:focus,
.contact-form-extended input:focus,
.contact-form-extended textarea:focus{
	outline: none;
	border-color: rgba(201,106,43,.42);
	box-shadow: 0 0 0 4px rgba(201,106,43,.12);
}

.landing-form-note,
.contact-form-actions .small{
	color: #7a6d63;
}

.landing-metrics{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.landing-metrics article{
	padding: 22px;
	border-radius: 24px;
	display: grid;
	gap: 8px;
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,250,244,.66) 100%),
		linear-gradient(135deg, rgba(201,106,43,.08), transparent 55%);
	box-shadow: 0 18px 34px rgba(74,46,24,.08);
}

.landing-metrics article::before{
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 14px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(201,106,43,.95), rgba(45,76,64,.55));
}

.landing-metrics article:nth-child(2)::before{
	background: linear-gradient(90deg, rgba(45,76,64,.95), rgba(201,106,43,.45));
}

.landing-metrics article:nth-child(3)::before{
	background: linear-gradient(90deg, rgba(118,82,71,.92), rgba(201,106,43,.52));
}

.landing-metrics strong{
	font-family: "Sora", "Manrope", sans-serif;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -.05em;
	color: var(--site-accent-deep);
}

.landing-metrics span{
	color: var(--site-muted-2);
	line-height: 1.6;
}

.landing-section-head,
.page-highlight-copy,
.page-hero-shell,
.landing-showcase-copy{
	position: relative;
	z-index: 1;
}

.landing-section-head{
	max-width: 68ch;
	text-align: center;
	margin: 0 auto;
}

.landing-section-copy{
	display: grid;
	gap: 18px;
}

.landing-section-visual{
	margin: 8px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: visible;
}

.landing-section-visual img{
	display: block;
	width: min(100%, 82%);
	height: auto;
	max-width: 460px;
	object-fit: contain;
	filter: drop-shadow(0 18px 32px rgba(74,54,36,.14));
}

.landing-feature-stack,
.page-highlight-list,
.contact-info-list{
	position: relative;
	z-index: 1;
}

.landing-feature-panel{
	padding-top: 28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,249,242,.78) 100%),
		radial-gradient(240px 120px at 100% 0%, var(--card-tint), transparent 72%);
}

.landing-feature-panel strong{
	font-size: 1.18rem;
}

.landing-card,
.resource-card,
.pricing-card-extended{
	padding-top: 28px;
	background:
		linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(255,250,244,.88) 100%),
		radial-gradient(260px 140px at 100% 0%, var(--card-tint), transparent 72%);
}

.landing-card h3,
.pricing-card-top h2,
.resource-card strong{
	font-size: 1.22rem;
	line-height: 1.12;
}

.landing-card--accent,
.resource-card--accent,
.landing-plan-mini--featured,
.pricing-card-extended--featured{
	background:
		linear-gradient(180deg, rgba(242,220,200,.9) 0%, rgba(255,250,244,.98) 100%),
		radial-gradient(280px 180px at 100% 0%, rgba(201,106,43,.18), transparent 72%);
	border-color: rgba(201,106,43,.22);
	box-shadow: 0 26px 48px rgba(181,96,35,.12), inset 0 1px 0 rgba(255,255,255,.62);
}

.landing-card-tag,
.pricing-card-badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 11px;
	border-radius: 999px;
	font-size: .75rem;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: rgba(201,106,43,.12);
	color: var(--site-accent-deep);
	width: fit-content;
}

.landing-card ul,
.resource-card ul,
.pricing-card-extended ul{
	list-style: none;
	padding: 0;
	margin: 14px 0 0 0;
	display: grid;
	gap: 10px;
}

.landing-card li,
.resource-card li,
.pricing-card-extended li{
	position: relative;
	padding-left: 18px;
}

.landing-card li::before,
.resource-card li::before,
.pricing-card-extended li::before{
	content: "";
	position: absolute;
	left: 0;
	top: .65em;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--site-olive);
	box-shadow: 0 0 0 5px rgba(45,76,64,.08);
}

.landing-card--accent,
.resource-card--accent,
.landing-plan-mini--featured,
.pricing-card-extended--featured{
	background: linear-gradient(180deg, rgba(242,220,200,.72) 0%, rgba(255,250,244,.98) 100%);
	border-color: rgba(201,106,43,.2);
}

.landing-showcase{
	align-items: center;
}

.landing-step-list{
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.landing-step-item{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,249,242,.8) 100%);
	border: 1px solid rgba(66,40,20,.1);
	box-shadow: 0 14px 28px rgba(74,46,24,.07);
}

.landing-step-item:nth-child(2){
	margin-left: 16px;
}

.landing-step-item:nth-child(3){
	margin-left: 32px;
}

.landing-step-item span{
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(201,106,43,.16);
	color: var(--site-accent-deep);
	font-family: "Sora", "Manrope", sans-serif;
	font-weight: 800;
}

.landing-segment-grid article,
.page-highlight-list article{
	padding: 20px;
	border-radius: 22px;
}

.landing-segment-grid article{
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,249,242,.82) 100%),
		radial-gradient(240px 120px at 100% 0%, rgba(201,106,43,.12), transparent 72%);
	border: 1px solid rgba(66,40,20,.1);
	box-shadow: 0 16px 30px rgba(74,46,24,.08);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.landing-segment-grid article::before{
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 14px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(201,106,43,.92), rgba(45,76,64,.45));
}

.landing-segment-grid article:hover{
	transform: translateY(-4px);
	box-shadow: 0 24px 42px rgba(74,46,24,.12);
	border-color: rgba(201,106,43,.18);
}

.landing-segment-grid strong,
.page-highlight-list strong{
	display: block;
	font-size: 1.02rem;
	margin-bottom: 8px;
}

.landing-segment-grid span{
	color: var(--site-muted-2);
	line-height: 1.65;
}

.landing-plan-mini{
	display: flex;
	flex-direction: column;
	gap: 14px;
	border-radius: 24px;
	padding: 22px;
	padding-top: 28px;
	min-height: 280px;
}

.landing-plan-mini .btn,
.pricing-card-extended .btn{
	margin-top: auto;
	width: fit-content;
}

.landing-plan-single{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
	gap: 22px;
	margin-top: 28px;
	padding: 26px;
	border-radius: 28px;
	border: 1px solid rgba(66,40,20,.1);
	background: linear-gradient(180deg, rgba(255,251,246,.96) 0%, rgba(255,255,255,.82) 100%);
	box-shadow:
		0 24px 48px rgba(74,46,24,.1),
		inset 0 1px 0 rgba(255,255,255,.62);
	overflow: hidden;
}

.landing-plan-single::before{
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(320px 180px at 0% 0%, rgba(201,106,43,.12), transparent 72%),
		radial-gradient(320px 200px at 100% 0%, rgba(45,76,64,.1), transparent 74%);
	pointer-events: none;
}

.landing-plan-single-summary,
.landing-plan-single-features{
	position: relative;
	z-index: 1;
	border-radius: 24px;
	padding: 22px;
	border: 1px solid rgba(66,40,20,.08);
	background: rgba(255,255,255,.66);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.landing-plan-single-summary{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.landing-plan-single-tag,
.landing-plan-single-head{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(201,106,43,.1);
	border: 1px solid rgba(201,106,43,.14);
	color: var(--site-accent-deep);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.landing-plan-single-summary strong{
	font-family: "Sora", "Manrope", sans-serif;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
	letter-spacing: -.05em;
	color: #231914;
}

.landing-plan-single-price{
	display: flex;
	align-items: flex-end;
	gap: 6px;
	color: #231914;
}

.landing-plan-single-currency,
.landing-plan-single-period{
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: 8px;
	color: #7d685a;
}

.landing-plan-single-value{
	font-family: "Sora", "Manrope", sans-serif;
	font-size: clamp(2.4rem, 4vw, 3.6rem);
	line-height: .95;
	letter-spacing: -.06em;
	color: #231914;
}

.landing-plan-single-summary p{
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--site-muted-2);
}

.landing-plan-single-summary--plans{
	gap: 16px;
}

.landing-plan-single-lead{
	font-size: 1.04rem;
	font-weight: 600;
	color: #3b2c23;
}

.landing-plan-single-summary .btn{
	margin-top: 8px;
	width: fit-content;
	min-width: 220px;
}

.landing-plan-single-actions{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 6px;
}

.landing-plan-single-actions .btn{
	margin-top: 0;
}

.landing-plan-single--plans .landing-plan-single-summary,
.landing-plan-single--plans .landing-plan-single-features{
	background: rgba(255,255,255,.74);
}

.landing-plan-single--plans .landing-plan-single-summary{
	justify-content: center;
}

.landing-plan-single--plans .landing-plan-single-features{
	gap: 20px;
}

.landing-plan-single--plans .landing-plan-single-head{
	background: rgba(45,76,64,.1);
	border-color: rgba(45,76,64,.16);
	color: #244135;
}

.landing-plan-single-features{
	display: grid;
	align-content: start;
	gap: 18px;
}

.landing-plan-single-features ul{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.landing-plan-single-features li{
	position: relative;
	padding-left: 28px;
	font-size: .98rem;
	line-height: 1.55;
	color: #3d3128;
}

.landing-plan-single-features li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: linear-gradient(135deg, #2d4c40 0%, #426b5d 100%);
	box-shadow: 0 6px 14px rgba(45,76,64,.16);
}

.landing-plan-single-features li::after{
	content: "";
	position: absolute;
	left: 5px;
	top: 12px;
	width: 6px;
	height: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

/* ── Landing: Rotas & Entregas ── */
.landing-routes-section{
	padding-top: 48px;
	padding-bottom: 48px;
}

.landing-routes-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 32px;
}

.landing-routes-card{
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 16px;
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.landing-routes-card:hover{
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(0,0,0,.18);
}

.landing-routes-icon{
	font-size: 28px;
	line-height: 1;
	margin-bottom: 4px;
}

.landing-routes-card strong{
	font-size: 1.05em;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.landing-routes-card p{
	font-size: 0.92em;
	opacity: 0.78;
	line-height: 1.5;
	margin: 0;
}

@media (max-width: 860px){
	.landing-routes-grid{
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 520px){
	.landing-routes-grid{
		grid-template-columns: 1fr;
	}
}

.landing-faq-wrap{
	padding: 30px;
}

.landing-faq-list{
	position: relative;
	z-index: 1;
	display: grid;
	gap: 14px;
	margin-top: 24px;
}

.landing-faq-item{
	border-radius: 22px;
	border: 1px solid rgba(66,40,20,.1);
	background: rgba(255,255,255,.58);
	overflow: hidden;
}

.landing-faq-item summary{
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	font-weight: 800;
	color: #231914;
	position: relative;
	padding-right: 54px;
}

.landing-faq-item summary::-webkit-details-marker{
	display: none;
}

.landing-faq-item summary::after{
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.3rem;
	color: var(--site-accent-deep);
}

.landing-faq-item[open] summary::after{
	content: "-";
}

.landing-faq-item p{
	margin: 0;
	padding: 0 20px 20px 20px;
	color: var(--site-muted-2);
	line-height: 1.7;
}

.landing-cta-band{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: linear-gradient(135deg, rgba(45,76,64,.94) 0%, rgba(33,59,50,.9) 55%, rgba(117,68,35,.92) 100%);
	color: #fff9f4;
}

.landing-cta-band .landing-kicker,
.landing-cta-band .landing-section-title{
	color: #fff9f4;
}

.landing-cta-band .landing-kicker{
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.14);
}

.landing-cta-band .landing-section-title{
	max-width: 18ch;
}

.page-hero-shell{
	text-align: center;
}

.page-hero-shell--resources,
.page-hero-shell--plans,
.page-hero-shell--contact{
	padding-top: 34px;
	padding-bottom: 34px;
}

.page-hero-title{
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.02;
	max-width: 18ch;
	margin-left: auto;
	margin-right: auto;
}

.page-hero-text{
	max-width: 70ch;
	margin: 14px auto 0 auto;
}

.resource-grid{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-card,
.pricing-card-extended{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pricing-card-top{
	display: grid;
	gap: 8px;
}

.pricing-card-badge--featured{
	background: rgba(45,76,64,.14);
	color: var(--site-olive);
}

.pricing-value-box{
	padding: 16px 18px;
	border-radius: 20px;
	background: linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,249,242,.86) 100%);
	border: 1px solid rgba(66,40,20,.08);
	margin-top: 6px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.56);
}

.pricing-value-box strong{
	font-size: 2rem;
	line-height: 1;
	color: var(--site-accent-deep);
}

.pricing-value-box span{
	display: block;
	margin-top: 8px;
	color: var(--site-muted-2);
	line-height: 1.6;
}

.contact-layout-extended{
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
}

.contact-info-card{
	padding: 24px;
	background: linear-gradient(180deg, rgba(36,28,24,.94) 0%, rgba(69,48,35,.9) 100%);
	color: #fff8f1;
}

.contact-info-card h2,
.contact-info-card p,
.contact-info-list strong,
.contact-info-list span{
	color: inherit;
}

.contact-info-card p{
	opacity: .82;
}

.contact-info-list{
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.contact-info-list article{
	background: rgba(255,255,255,.08);
	border-color: rgba(255,255,255,.12);
}

.contact-info-whatsapp{
	margin-top: 18px;
	width: fit-content;
}

.contact-form-head{
	display: grid;
	gap: 6px;
}

.contact-form-span-2{
	grid-column: 1 / -1;
}

.contact-form-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.site-footer{
	margin-top: 8px;
	background: linear-gradient(180deg, rgba(36,28,24,.97) 0%, rgba(24,18,15,.98) 100%);
	border-top: 1px solid rgba(255,255,255,.06);
	color: #fff8f1;
}

.site-footer-inner{
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto auto;
	gap: 18px;
	align-items: center;
	padding-top: 18px;
	padding-bottom: 18px;
}

.site-footer-brand-wrap{
	display: flex;
	align-items: center;
	gap: 14px;
}

.site-footer-brand-mark{
	background: rgba(255,255,255,.06);
	border-color: rgba(255,255,255,.08);
}

.site-footer-links,
.site-footer-meta{
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

.site-footer-links a,
.site-footer-meta a,
.site-footer-meta span{
	color: rgba(255,248,241,.82);
	text-decoration: none;
}

.site-footer-links a:hover,
.site-footer-meta a:hover{
	color: #fff8f1;
	text-decoration: none;
}

@media (max-width: 1120px){
	.site-header-inner{
		grid-template-columns: auto 1fr auto;
	}

	.site-brand-copy{
		max-width: 200px;
	}

	.site-brand-sub{
		display: none;
	}

	.landing-hero-grid,
	.landing-section--split,
	.landing-showcase,
	.contact-layout-extended,
	.site-footer-inner{
		grid-template-columns: 1fr;
	}

	.landing-proof-strip,
	.landing-highlight-grid,
	.landing-grid-3,
	.resource-grid,
	.page-highlight-list,
	.landing-segment-grid,
	.pricing-grid-extended,
	.landing-metrics{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.landing-cta-band{
		flex-direction: column;
		align-items: flex-start;
	}

	.landing-plan-single{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px){
	.site-page .site-container{
		gap: 18px;
	}

	.landing-hero,
	.page-hero-shell,
	.page-content-shell,
	.page-highlight-shell,
	.landing-section,
	.landing-cta-band,
	.landing-metrics,
	.landing-faq-wrap{
		padding: 20px;
		border-radius: 24px;
	}

	.landing-title{
		max-width: none;
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.landing-section-visual{
		min-height: 0;
	}

	.landing-proof-strip,
	.landing-highlight-grid,
	.landing-grid-3,
	.resource-grid,
	.page-highlight-list,
	.landing-segment-grid,
	.pricing-grid-extended,
	.landing-metrics,
	.contact-form-extended,
	.landing-showcase-meta{
		grid-template-columns: 1fr;
	}

	.contact-form-span-2{
		grid-column: auto;
	}

	.landing-hero-actions,
	.landing-cta-actions,
	.contact-form-actions,
	.site-actions{
		flex-direction: column;
		align-items: stretch;
	}

	.landing-hero-actions{
		grid-template-columns: 1fr;
		width: 100%;
	}

	.site-home .landing-proof-strip--hero{
		grid-template-columns: 1fr;
		width: 100%;
	}

	.landing-plan-single{
		padding: 20px;
	}

	.landing-plan-single-actions{
		flex-direction: column;
	}

	.landing-plan-single-actions .btn{
		width: 100%;
	}

	.landing-plan-single-summary .btn{
		width: 100%;
	}

	.landing-plan-single-features ul{
		grid-template-columns: 1fr;
	}

	.landing-hero-actions .btn,
	.landing-cta-actions .btn,
	.contact-form-actions .btn,
	.site-actions .btn{
		width: 100%;
	}

	.site-header-inner{
		grid-template-columns: 1fr;
		align-items: flex-start;
	}

	.site-nav{
		display: none;
	}

	.site-brand-sub{
		white-space: normal;
		display: block;
	}

	.landing-floating-card{
		position: static;
		max-width: none;
		margin-top: 12px;
	}

	.contact-info-whatsapp,
	.landing-plan-mini .btn,
	.pricing-card-extended .btn{
		width: 100%;
	}

	.site-footer-links,
	.site-footer-meta{
		justify-content: flex-start;
	}
}

@media (max-width: 520px){
	.site-brand-mark,
	.site-footer-brand-mark{
		width: 48px;
		height: 48px;
		border-radius: 15px;
	}

	.site-brand-logo,
	.site-footer-brand-logo{
		height: 34px;
	}

	.landing-badge-row{
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.landing-badge-row span{
		width: 100%;
	}
}

@media (max-width: 1024px){
	.site-page .app-main{
		padding: 16px 0 34px 0;
	}

	.site-page .site-container{
		gap: 20px;
	}

	.site-header-inner{
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 12px;
	}

	.site-brand{
		justify-content: flex-start;
	}

	.site-brand-copy{
		max-width: none;
	}

	.site-page .site-nav{
		display: flex;
		grid-column: 1 / -1;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 10px;
		order: 2;
	}

	.site-actions{
		grid-column: 1 / -1;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 10px;
		order: 3;
	}

	.site-home .landing-hero-grid,
	.landing-section--split,
	.landing-showcase,
	.contact-layout-extended{
		grid-template-columns: 1fr;
	}

	.site-home .landing-hero-copy{
		padding-right: 0;
	}

	.site-home .landing-proof-strip--hero,
	.landing-hero-actions{
		width: 100%;
		max-width: none;
	}

	.site-footer-inner{
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: flex-start;
	}

	.site-footer-left{
		grid-column: 1 / -1;
	}

	.site-footer-links,
	.site-footer-meta{
		justify-content: flex-start;
	}

	.page-hero-shell,
	.page-content-shell,
	.page-highlight-shell,
	.landing-section,
	.landing-cta-band,
	.landing-metrics,
	.site-home .landing-hero{
		padding: 28px;
	}
}

@media (max-width: 760px){
	.site-page .app-main{
		padding: 12px 0 28px 0;
	}

	.site-page .site-container{
		gap: 16px;
	}

	.site-header-inner{
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.site-page .site-nav{
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 2px;
		margin-right: -6px;
		scrollbar-width: none;
	}

	.site-page .site-nav::-webkit-scrollbar{
		display: none;
	}

	.site-nav-link{
		padding: 8px 10px;
		font-size: .95rem;
	}

	.site-actions{
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
		width: 100%;
	}

	.site-actions .btn{
		width: 100%;
	}

	.site-login-btn{
		grid-column: 1 / -1;
	}

	.site-home .landing-proof-strip--hero{
		padding-top: 20px;
	}

	.site-footer-inner{
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

@media (max-width: 560px){
	.site-page .btn{
		min-height: 44px;
		padding: 10px 14px;
	}

	.site-brand-sub{
		display: none;
	}

	.site-actions{
		grid-template-columns: 1fr;
	}

	.page-hero-shell,
	.page-content-shell,
	.page-highlight-shell,
	.landing-section,
	.landing-cta-band,
	.landing-metrics,
	.site-home .landing-hero{
		padding: 20px 18px;
		border-radius: 22px;
	}

	.site-downloads-modal-card{
		width: min(100vw - 16px, 760px);
	}
}

.public-order-card:focus-visible{
	outline: 2px solid var(--ring);
	outline-offset: 2px;
}

.public-order-main{flex: 1 1 auto; min-width:0;}

.public-order-top{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap: 12px;
	flex-wrap:wrap;
}

.public-order-title{font-weight: 900; letter-spacing: -0.01em;}
.public-order-total{font-weight: 950; font-variant-numeric: tabular-nums; white-space:nowrap;}

.public-order-meta{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;margin-top: 10px;}

.public-order-status{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid var(--border);
	font-weight: 800;
	font-size: 13px;
	line-height: 1;
	background: color-mix(in srgb, Canvas 86%, AccentColor 8%);
}

.public-order-status.status-new{background: color-mix(in srgb, #ef4444 16%, Canvas); border-color: color-mix(in srgb, #ef4444 34%, var(--border));}
.public-order-status.status-accepted{background: color-mix(in srgb, #f97316 16%, Canvas); border-color: color-mix(in srgb, #f97316 34%, var(--border));}
.public-order-status.status-preparing{background: color-mix(in srgb, #f97316 14%, Canvas); border-color: color-mix(in srgb, #f97316 30%, var(--border));}
.public-order-status.status-out_for_delivery{background: color-mix(in srgb, #16a34a 16%, Canvas); border-color: color-mix(in srgb, #16a34a 34%, var(--border));}
.public-order-status.status-ready_for_pickup{background: color-mix(in srgb, #16a34a 16%, Canvas); border-color: color-mix(in srgb, #16a34a 34%, var(--border));}
.public-order-status.status-done{background: color-mix(in srgb, #16a34a 18%, Canvas); border-color: color-mix(in srgb, #16a34a 34%, var(--border));}
.public-order-status.status-rejected{background: color-mix(in srgb, #ef4444 14%, Canvas); border-color: color-mix(in srgb, #ef4444 30%, var(--border));}
.public-order-status.status-canceled{background: color-mix(in srgb, #ef4444 14%, Canvas); border-color: color-mix(in srgb, #ef4444 30%, var(--border));}

.public-order-chevron{opacity: .55; flex: 0 0 auto;}

.public-order-actions{
	display:flex;
	justify-content:flex-end;
	gap: 10px;
}

.btn-small{
	padding: 9px 13px;
	font-size: 13px;
	border-radius: 999px;
}

/* Public: Pedido (detalhes) */
.public-order-header{
	text-align:center;
	margin-top: 6px;
}

.public-order-title{
	margin: 8px 0 0 0;
	letter-spacing: -0.02em;
}

.public-order-meta{
	margin-top: 10px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap: 10px;
	flex-wrap:wrap;
}

.public-order-kpis{
	margin-top: 14px;
	display:grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 780px){
	.public-order-kpis{grid-template-columns: repeat(3, minmax(0, 1fr));}
}

.public-order-kpi{
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	border-radius: var(--radius);
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	padding: 14px;
	box-shadow:
		0 14px 26px color-mix(in srgb, CanvasText 9%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
}

.public-order-kpi-strong{
	margin-top: 6px;
	font-weight: 950;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}

.public-order-tracking-card{
	margin-top: 16px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 14px;
	flex-wrap:wrap;
	padding: 16px;
	border-radius: var(--radius);
	border: 1px solid color-mix(in srgb, #16a34a 28%, var(--border));
	background:
		linear-gradient(180deg,
			color-mix(in srgb, #16a34a 10%, Canvas) 0%,
			Canvas 100%);
	box-shadow:
		0 14px 26px color-mix(in srgb, CanvasText 9%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
}

.public-order-tracking-title{
	font-weight: 900;
	letter-spacing: -0.02em;
	margin-bottom: 4px;
}

.public-tracking-grid{
	margin-top: 18px;
	display:grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 900px){
	.public-tracking-grid{grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);}
}

.public-tracking-panel,
.public-tracking-map-card{
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	border-radius: var(--radius);
	background:
		linear-gradient(180deg,
			Canvas 0%,
			color-mix(in srgb, CanvasText 3%, Canvas) 100%);
	padding: 16px;
	box-shadow:
		0 14px 26px color-mix(in srgb, CanvasText 9%, transparent),
		0 1px 0 color-mix(in srgb, CanvasText 8%, transparent);
}

.public-tracking-panel-title{
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: .72;
	margin-bottom: 10px;
}

.public-tracking-driver{
	font-size: 28px;
	font-weight: 950;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.public-tracking-live{
	margin-top: 10px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, #ef4444 24%, var(--border));
	background: color-mix(in srgb, #ef4444 12%, Canvas);
	font-weight: 800;
	font-size: 13px;
}

.public-tracking-live.is-live{
	border-color: color-mix(in srgb, #16a34a 24%, var(--border));
	background: color-mix(in srgb, #16a34a 14%, Canvas);
}

.public-tracking-actions{
	display:flex;
	gap: 10px;
	flex-wrap:wrap;
	margin-top: 14px;
}

.public-tracking-note{
	margin-top: 14px;
	font-size: 13px;
	opacity: .76;
}

.public-tracking-map-card{
	padding: 12px;
	min-height: 420px;
}

.public-tracking-map,
.public-tracking-map-frame{
	width: 100%;
	min-height: 396px;
	border: 0;
	border-radius: calc(var(--radius) - 4px);
	background: color-mix(in srgb, AccentColor 6%, Canvas);
}

.public-tracking-map-frame{
	display:flex;
	align-items:center;
	justify-content:center;
	padding: 22px;
	text-align:center;
	font-weight: 700;
	opacity: .82;
}

.public-tracking-map[hidden],
.public-tracking-map-frame[hidden]{
	display:none !important;
}

.public-order-items-title{margin-top: 18px;}

.public-order-items{
	display:flex;
	flex-direction:column;
	gap: 12px;
	margin-top: 12px;
}

.public-order-item{
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface);
	padding: 14px;
}

.public-order-item-name{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;font-weight: 850;}

.public-order-qty{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, CanvasText 12%, Canvas);
	background: color-mix(in srgb, AccentColor 10%, Canvas);
	font-weight: 900;
	font-variant-numeric: tabular-nums;
}

/* Mobile tweaks */
@media (max-width: 520px){
	.container{padding:14px;}
	th:nth-child(5), td:nth-child(5){display:none;}
}

/* --- Public dark theme (premium) --- */
html.public-page,
body.public-page{
	color-scheme: dark;
	background-color: var(--public-bg, #06080f) !important;
}

body.public-page{
	min-height: 100vh;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--public-ink, rgba(231,233,238,.94));
	--muted: rgba(231,233,238,.72);
	--public-border: rgba(255,255,255,.10);
	--public-border-2: rgba(255,255,255,.16);
	--public-shadow: none;
	--public-shadow-sm: none;
	--public-glow: none;

	/* Cards/surfaces (puxados das configs do restaurante quando existirem) */
	--surface: var(--public-hero-card-bg, #0f141c);
	--surface-2: var(--public-card-bg, #151c27);
	--border: var(--public-border);
	--ring: color-mix(in srgb, var(--brand) 55%, transparent);

	/* Mais premium: cantos e espaçamentos mais confortáveis só no público */
	--radius: 22px;
	--radius-sm: 16px;
	--pad: 16px;
	--pad-sm: 12px;

	background: var(--public-bg, #06080f) !important;
}

@supports (color: color-mix(in srgb, black 50%, white)){
	body.public-page{
		--muted: color-mix(in srgb, var(--public-ink, rgba(231,233,238,.94)) 78%, transparent);
		--public-border: color-mix(in srgb, var(--public-ink, rgba(231,233,238,.94)) 14%, transparent);
		--public-border-2: color-mix(in srgb, var(--public-ink, rgba(231,233,238,.94)) 22%, transparent);
		background: var(--public-bg, #06080f) !important;
	}
}

body.public-page .card{
	background: var(--surface) !important;
	border-color: var(--border) !important;
	box-shadow: none;
}

body.public-page .card::before{
	display: none;
}

body.public-page input,
body.public-page select,
body.public-page textarea{
	background: var(--surface-2) !important;
	border-color: var(--border) !important;
	color: inherit;
}

/* Hero */
body.public-page .hero.card{
	background: var(--surface) !important;
	box-shadow: none;
}

body.public-page .hero-mini{
	border-color: var(--public-border) !important;
	background: var(--surface-2) !important;
	box-shadow: none;
}

body.public-page .hero-mini-icon{color: var(--brand) !important;}

/* Ensure hero text actions follow the configured ink color */
body.public-page .hero-orders,
body.public-page .hero-info-btn{color: inherit;}

/* Menu tools (busca + chips) */
body.public-page .menu-tools{top: 10px;}

body.public-page .menu-tools.card:not(.menu-tools-v2),
body.public-page .menu-category.card{
	background: var(--surface-2) !important;
	border-color: var(--public-border) !important;
	box-shadow: none;
}

body.public-page .menu-tools.card:not(.menu-tools-v2)::after,
body.public-page .menu-category.card::after{
	opacity: 0.55;
}

body.public-page .menu-search-input{
	min-height: 52px;
	border-radius: 999px;
	padding: 12px 16px;
	border-color: var(--public-border) !important;
	background:
		linear-gradient(180deg,
			color-mix(in srgb, var(--surface-2) 92%, rgba(255,255,255,.08)) 0%,
			var(--surface-2) 100%) !important;
	transition: box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

body.public-page .menu-search-input::placeholder{color: var(--muted);}

body.public-page .menu-search-input:focus{
	outline: none;
	border-color: color-mix(in srgb, var(--brand) 28%, var(--public-border)) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 22%, transparent);
}

body.public-page .menu-search .btn.btn-icon{
	border-radius: 999px;
	background: color-mix(in srgb, var(--public-ink, rgba(231,233,238,.94)) 6%, transparent);
	border-color: var(--public-border);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

body.public-page .menu-search .btn.btn-icon:hover{
	background: color-mix(in srgb, var(--public-ink, rgba(231,233,238,.94)) 8%, transparent);
	border-color: color-mix(in srgb, var(--brand) 24%, var(--public-border));
}

body.public-page .chip:not(.chip-v2){
	border-color: var(--public-border) !important;
	background: transparent !important;
	box-shadow: none;
}

body.public-page .chip:not(.chip-v2):hover{
	background: transparent !important;
	border-color: color-mix(in srgb, var(--brand) 24%, var(--public-border)) !important;
	box-shadow: none;
}

/* Cards de produto */
body.public-page .product-card.item-link{
	border-color: var(--public-border) !important;
	background: var(--public-card-bg, var(--surface-2)) !important;
	box-shadow: none;
	transition: transform 160ms ease, border-color 160ms ease;
}

body.public-page .product-card.item-link:hover{
	transform: translateY(-1px);
	border-color: color-mix(in srgb, var(--brand) 22%, var(--public-border)) !important;
	box-shadow: none;
}

body.public-page .product-media{width: 144px;}

body.public-page .product-photo{
	width: 132px;
	height: 104px;
	border-radius: 8px;
	border-color: rgba(0,0,0,.06);
}

body.public-page .product-desc{opacity: 0.55;}
body.public-page .price-old{opacity: 0.55;}
/* --- /Public dark theme (premium) --- */


/* OG_QTY_COMPACT */
.og-qty-stepper{display:inline-flex !important;align-items:center !important;gap:3px !important;padding:3px 3px !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.18) !important;background:rgba(255,255,255,.06) !important;}
.og-qty-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:20px !important;height:20px !important;min-width:20px !important;min-height:20px !important;padding:0 !important;box-sizing:border-box !important;border-radius:999px !important;border:1px solid rgba(255,255,255,.22) !important;background:rgba(255,255,255,.10) !important;color:inherit !important;font-weight:900 !important;font-size:13px !important;line-height:1 !important;}
.og-qty-input{width:30px !important;height:20px !important;padding:0 !important;text-align:center !important;border:0 !important;background:transparent !important;font:inherit !important;font-weight:900 !important;outline:none !important;appearance:textfield !important;-moz-appearance:textfield !important;}
.og-qty-input::-webkit-outer-spin-button,.og-qty-input::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}


/* OG_QTY_CENTER */
.og-qty-btn{display:grid !important;place-items:center !important;font-size:0 !important;}
.og-qty-btn::before{display:block; font-size:13px !important; line-height:1 !important;}
.og-qty-btn[data-act="dec"]::before{content:"-"; transform: translateY(-1px);}
.og-qty-btn[data-act="inc"]::before{content:"+"; transform: translateY(-0.5px);}


/* ============================================
   MENU V2 — Redesign inspirado em app moderno
   ============================================ */

/* --- Hero V2 (legacy, kept for compat) --- */
body.public-page .hero.hero-v2{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 20px 16px 18px;
	min-height: auto;
	position: relative;
	gap: 0;
}

body.public-page .hero.hero-v2.card::before{opacity: 0;}

body.public-page .hero-v2-top-actions{
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: 3;
}

body.public-page .hero-v2-brand{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

body.public-page .hero-v2-logo{
	width: 100px;
	height: 100px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid color-mix(in srgb, var(--brand) 40%, transparent);
	background: var(--surface);
	box-shadow: 0 8px 24px rgba(0,0,0,.25);
}

body.public-page .hero-v2-name{
	margin: 0;
	font-size: 1.4em;
	font-weight: 850;
	letter-spacing: -0.02em;
}

body.public-page .hero-v2-info-row{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 10px;
	font-size: 0.88em;
	flex-wrap: wrap;
}

body.public-page .hero-v2-badge{
	font-size: 0.78em;
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

body.public-page .hero-v2-meta-sep{
	opacity: 0.85;
}

body.public-page .hero-v2-info-link{
	background: none;
	border: none;
	color: var(--brand);
	font: inherit;
	font-weight: 700;
	font-size: 1em;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.public-page .hero-v2-info-link:hover{
	opacity: 0.85;
}

body.public-page .hero-v2-delivery{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 5px 14px;
	border-radius: 999px;
	font-size: 0.82em;
	font-weight: 700;
	background: color-mix(in srgb, var(--brand) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--brand) 20%, transparent);
}

body.public-page .hero-v2-delivery-icon{
	color: var(--brand);
}

body.public-page .hero-v2-location{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	font-size: 0.82em;
	opacity: 0.7;
}

body.public-page .hero-v2-location svg{
	color: var(--brand);
	opacity: 0.8;
}

/* Desktop hero adjustments */
@media (min-width: 561px){
	body.public-page .hero.hero-v2{
		padding: 28px 24px 22px;
	}
	body.public-page .hero-v2-logo{
		width: 120px;
		height: 120px;
	}
	body.public-page .hero-v2-name{
		font-size: 1.7em;
	}
}

/* --- Chips V2 --- */
body.public-page .chips-v2{
	gap: 8px;
	padding-bottom: 4px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

body.public-page .chips-v2::-webkit-scrollbar{display: none;}

body.public-page .chip-v2,
body.public-page .chip-v2:hover,
body.public-page .chip-v2:active,
body.public-page .chip-v2:focus{
	font-size: 0.85em;
	font-weight: 700;
	padding: 8px 16px;
	min-height: 36px;
	border-radius: 999px;
	border: 1.5px solid var(--public-border) !important;
	background: #fff !important;
	color: #333 !important;
	opacity: 1;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
	box-shadow: none !important;
	transform: none !important;
	filter: none !important;
	-webkit-tap-highlight-color: transparent;
	outline: none !important;
}

body.public-page .chip-v2.chip-v2-active,
body.public-page .chip-v2.chip-v2-active:hover,
body.public-page .chip-v2.chip-v2-active:active,
body.public-page .chip-v2.chip-v2-active:focus{
	border-color: var(--brand) !important;
	color: #fff !important;
	background: var(--brand) !important;
}

/* --- Destaques Section --- */
.destaques-section{
	margin-top: 8px;
	padding: 12px 14px;
	background: var(--surface, #fff);
	border-radius: 14px;
	margin-left: -14px;
	margin-right: -14px;
	width: calc(100% + 28px);
}

@media (min-width: 561px){
	.destaques-section{
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
		padding: 12px 18px;
	}
}

.destaques-title{
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 12px 0;
	padding: 0;
}

.destaques-carousel{
	position: relative;
}

.destaques-nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: var(--surface, #fff);
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 50%;
	width: 32px;
	height: 32px;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: inherit;
	opacity: 0.85;
	transition: opacity 140ms ease;
	padding: 0;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

.destaques-nav-prev{ left: -10px; }
.destaques-nav-next{ right: -10px; }
.destaques-nav:hover{ opacity: 1; }

@media (min-width: 561px){
	.destaques-nav{
		display: flex;
	}
}

.destaques-scroll-outer{
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.destaques-scroll-outer::-webkit-scrollbar{display: none;}

.destaques-scroll{
	display: flex;
	flex-wrap: nowrap;
	flex-shrink: 0;
	gap: 32px;
	padding: 4px 8px 6px;
}

.destaques-card{
	flex: 0 0 160px;
	width: 160px;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba(0,0,0,.08);
	background: var(--surface, #fff);
	box-shadow: none;
	transition: transform 160ms ease;
}

.destaques-card:hover{
	transform: translateY(-1px);
	box-shadow: none;
	text-decoration: none;
}

.destaques-card-img{
	width: 100%;
	height: 120px;
	overflow: hidden;
	background: color-mix(in srgb, var(--surface, #0f141c) 80%, rgba(255,255,255,.05));
}

.destaques-card-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.destaques-card-img-empty{
	display: flex;
	align-items: center;
	justify-content: center;
}

.destaques-card-body{
	padding: 10px 12px 12px;
}

.destaques-card-name{
	font-weight: 600;
	font-size: 0.9em;
	letter-spacing: -0.01em;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.destaques-card-desc{
	font-size: 0.78em;
	opacity: 0.65;
	margin-top: 3px;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.destaques-card-prices{
	margin-top: 8px;
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}

.destaques-card-prices .price-now{
	color: var(--status-open);
	font-size: 0.9em;
}

.destaques-card-prices .price-old{
	font-size: 0.78em;
}

@media (min-width: 768px){
	.destaques-scroll{
		grid-template-columns: repeat(4, 1fr);
		max-width: 700px;
	}
}

/* --- Menu Category V2 --- */
body.public-page .menu-category-v2{
	border-radius: 14px;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 12px 14px !important;
	margin-top: 8px;
	margin-left: -14px;
	margin-right: -14px;
	width: calc(100% + 28px);
}

@media (min-width: 561px){
	body.public-page .menu-category-v2{
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
		padding: 12px 18px !important;
	}
}

body.public-page .menu-category-v2.card::after{
	display: none;
}

body.public-page .menu-category-v2-title{
	font-size: 1.05em;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 0 0;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--public-border, rgba(0,0,0,.08));
}

/* --- Product Card V2 --- */
body.public-page .product-card-v2.item-link{
	padding: 14px 0;
	gap: 12px;
	border-radius: 0;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: none;
}

body.public-page .product-card-v2.item-link:hover{
	transform: none;
	background: rgba(0,0,0,.02) !important;
}

body.public-page .product-card-v2 .product-title{
	font-size: 0.95em;
	font-weight: 700;
}

body.public-page .product-card-v2 .product-desc{
	font-size: 0.82em;
	margin-top: 4px;
	opacity: 0.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
}

body.public-page .product-card-v2 .product-price{
	margin-top: 10px;
}

body.public-page .product-media-v2{
	width: 110px !important;
	flex: 0 0 110px;
}

body.public-page .product-photo-v2{
	width: 100% !important;
	height: 90px !important;
	border-radius: 12px !important;
	object-fit: cover;
}

/* Product grid V2: single column on mobile for cleaner list */
body.public-page .product-grid-v2{
	grid-template-columns: 1fr;
	gap: 0;
}

@media (min-width: 780px){
	body.public-page .product-grid-v2{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}

/* --- Bottom Navigation Bar (mobile only) --- */
.bottom-nav{
	display: flex;
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 980px;
	z-index: 100;
	background: var(--surface, #fff);
	border-top: 1px solid var(--public-border, rgba(0,0,0,.10));
	border-radius: 14px 14px 0 0;
	padding: 6px 0;
	padding-bottom: max(6px, env(safe-area-inset-bottom));
	box-shadow: none;
	justify-content: space-around;
	align-items: center;
}

.bottom-nav-item{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 4px 12px;
	font-size: 0.68em;
	font-weight: 700;
	color: inherit;
	opacity: 0.5;
	text-decoration: none;
	transition: opacity 140ms ease, color 140ms ease;
	-webkit-tap-highlight-color: transparent;
}

.bottom-nav-item:hover,
.bottom-nav-active{
	opacity: 1;
	color: var(--brand);
	text-decoration: none;
}

.bottom-nav-item svg{
	display: block;
}

/* Add bottom padding to body so content isn't hidden behind the nav */
body.public-page{
	padding-bottom: 64px;
}

@media (max-width: 680px){
	.bottom-nav{
		left: 0;
		right: 0;
		transform: none;
		max-width: 100%;
		border-radius: 0;
	}
}

/* --- Menu tools V2 tweaks --- */
body.public-page .menu-tools-v2{
	border-radius: 0;
	border: none !important;
	background: var(--public-bg, #06080f) !important;
	box-shadow: none !important;
	padding-left: 0;
	padding-right: 0;
	top: 0;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-left: -14px;
	margin-right: -14px;
	width: calc(100% + 28px);
}

@media (min-width: 561px){
	body.public-page .menu-tools-v2{
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
	}
}

body.public-page .menu-tools-v2.card::before,
body.public-page .menu-tools-v2.card::after{
	display: none;
}

/* --- Smoother scrolling for category links --- */
html.public-page{
	scroll-behavior: smooth;
}

/* Adjust scroll margin for v2 categories with bottom nav */
@media (max-width: 680px){
	body.public-page .menu-category-v2{
		scroll-margin-top: 120px;
	}
}


/* ============================================
   MENU V3 — Layout estilo iFood / app delivery
   ============================================ */

/* --- Banner/Capa V3 --- */

/* Remove top padding from container when banner is present */
body.public-page .container:has(.hero-banner-v3){
	padding-top: 0;
}
body.public-page .app-main:has(.hero-banner-v3){
	padding-top: 0;
}

.hero-banner-v3{
	position: relative;
	width: 100%;
	aspect-ratio: 1200 / 305;
	height: auto;
	overflow: hidden;
	background: #000;
	border-radius: 0;
}

.hero-banner-v3-img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	display: block;
}

.hero-banner-v3-fade{
	display: none;
}

.hero-banner-v3--empty{
	aspect-ratio: auto;
	height: 84px;
}

@media (min-width: 561px){
	.hero-banner-v3{
		border-radius: var(--radius, 22px) var(--radius, 22px) 0 0;
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
	}
	.hero-banner-v3--empty{
		height: 110px;
	}
}

@media (max-width: 560px){
	.hero-banner-v3{
		margin-left: -14px;
		margin-right: -14px;
		width: calc(100% + 28px);
	}
}

/* --- Restaurant Info Card V3 --- */
.hero-info-v3{
	position: relative;
	margin-top: -16px;
	z-index: 2;
	padding: 20px 18px;
	border-radius: 18px;
	margin-left: -14px;
	margin-right: -14px;
	width: calc(100% + 28px);
}

@media (min-width: 561px){
	.hero-info-v3{
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
	}
}

.hero-info-v3-top{
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.hero-info-v3-logo{
	width: 56px;
	height: 56px;
	min-width: 56px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid color-mix(in srgb, var(--brand) 30%, transparent);
	background: var(--surface);
	box-shadow: none;
	margin-top: 2px;
}

.hero-info-v3-details{
	flex: 1;
	min-width: 0;
}

.hero-info-v3-name-row{
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.hero-info-v3-name{
	margin: 0;
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hero-info-v3-arrow{
	background: none;
	border: none;
	color: inherit;
	opacity: 0.5;
	cursor: pointer;
	padding: 2px;
	flex-shrink: 0;
}

.hero-info-v3-meta{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
	flex-wrap: nowrap;
}

.hero-info-v3-actions{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
}

.hero-info-v3-badge{
	font-size: 0.7em;
	padding: 3px 10px;
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0.02em;
	width: auto;
	min-height: auto;
}

.hero-info-v3-search-btn{
	background: none;
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 50%;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: inherit;
	opacity: 0.5;
	transition: opacity 140ms ease;
	padding: 0;
}

.hero-info-v3-search-btn:hover{
	opacity: 0.8;
}

/* Botão Meus Pedidos no hero */
.hero-info-v3-orders-btn{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: none;
	border: 1px solid rgba(0,0,0,.18);
	border-radius: 999px;
	height: 28px;
	padding: 0 10px 0 6px;
	cursor: pointer;
	color: inherit;
	text-decoration: none;
	opacity: 0.7;
	font-size: 12px;
	font-weight: 700;
	transition: opacity 140ms ease, background 140ms ease;
	white-space: nowrap;
}
.hero-info-v3-orders-btn:hover{
	opacity: 1;
	background: rgba(0,0,0,.05);
	text-decoration: none;
}
/* Mobile: label curto */
@media (max-width: 440px){
	.hero-info-v3-orders-label-full{ display: none; }
}
/* Desktop: label curto oculto */
@media (min-width: 441px){
	.hero-info-v3-orders-label-short{ display: none; }
}

.hero-info-v3-links{
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--public-border, rgba(0,0,0,.06));
}

.hero-info-v3-link{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	color: var(--brand);
	font: inherit;
	font-size: 0.85em;
	font-weight: 500;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.hero-info-v3-link:hover{
	opacity: 0.8;
}

.hero-info-v3-min{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85em;
	opacity: 0.75;
}

.hero-info-v3-min svg{
	color: var(--brand);
	opacity: 0.7;
}

@media (min-width: 561px){
	.hero-info-v3{
		margin-top: -22px;
		padding: 24px 28px;
	}
	.hero-info-v3-logo{
		width: 68px;
		height: 68px;
		min-width: 68px;
	}
	.hero-info-v3-name{
		font-size: 1.3em;
	}
}

/* --- Fidelidade Card V3 --- */
.fidelidade-card-v3{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 14px;
	cursor: pointer;
	border: 1px solid color-mix(in srgb, var(--brand) 25%, transparent);
	background: color-mix(in srgb, var(--brand) 6%, var(--surface-2, #151c27));
	transition: transform 140ms ease, box-shadow 140ms ease;
	margin-left: -14px;
	margin-right: -14px;
	width: calc(100% + 28px);
}

@media (min-width: 561px){
	.fidelidade-card-v3{
		margin-left: -18px;
		margin-right: -18px;
		width: calc(100% + 36px);
	}
}

.fidelidade-card-v3:hover{
	transform: translateY(-1px);
	box-shadow: none;
}

.fidelidade-card-v3-icon{
	font-size: 1.5em;
	flex-shrink: 0;
}

.fidelidade-card-v3-text{
	font-size: 0.85em;
	line-height: 1.4;
	flex: 1;
}

.fidelidade-card-v3-arrow{
	opacity: 0.4;
	flex-shrink: 0;
}

/* --- Product Card V3 refinements (iFood style list) --- */

body.public-page .product-card-v2 .product-price{
	margin-top: auto;
	padding-top: 8px;
}

body.public-page .product-card-v2 .product-body{
	display: flex;
	flex-direction: column;
	min-height: 80px;
}

/* Product separator lines */
body.public-page .product-grid-v2 .product-card-v2 + .product-card-v2{
	border-top: 1px solid rgba(0,0,0,.06) !important;
	padding-top: 14px;
}

/* 'Ver mais' link in product descriptions */
body.public-page .product-desc-more{
	color: var(--brand);
	font-size: 0.82em;
	font-weight: 600;
	margin-top: 2px;
	display: inline-block;
}

/* --- Sticky Cart Bar --- */
.sticky-cart-bar{
	display: none;
}

@media (max-width: 680px){
	.sticky-cart-bar{
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: fixed;
		bottom: 56px;
		left: 8px;
		right: 8px;
		z-index: 99;
		background: var(--brand);
		color: #fff;
		padding: 12px 16px;
		border-radius: 12px;
		box-shadow: 0 -4px 20px rgba(0,0,0,.35);
		cursor: pointer;
		font-size: 0.9em;
		font-weight: 700;
		-webkit-tap-highlight-color: transparent;
		transition: transform 140ms ease;
		margin-bottom: max(0px, calc(env(safe-area-inset-bottom) - 6px));
	}

	.sticky-cart-bar:active{
		transform: scale(0.98);
	}

	.sticky-cart-bar-left{
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.sticky-cart-bar-badge{
		background: rgba(255,255,255,.25);
		color: #fff;
		font-size: 0.8em;
		font-weight: 800;
		width: 22px;
		height: 22px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sticky-cart-bar-total{
		font-size: 1em;
	}

	/* When sticky cart bar exists, push bottom nav down a bit */
	body.public-page:has(.sticky-cart-bar){
		padding-bottom: 120px;
	}
}


/* ============================================
   PRODUCT V2 — Redesign de página/modal de produto
   ============================================ */

/* --- Option Group V2 --- */
.og-v2{
	margin: 0 0 2px 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.og-v2.is-invalid{
	border-left: 3px solid var(--status-closed);
	padding-left: 8px;
	animation: og-shake .4s ease;
}

@keyframes og-shake{
	0%,100%{transform:translateX(0)}
	20%,60%{transform:translateX(-4px)}
	40%,80%{transform:translateX(4px)}
}

/* ── Toast de validação obrigatório ── */
.pm-toast{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 16px 8px;
	padding: 10px 14px;
	background: rgba(220,38,38,.12);
	border: 1px solid rgba(220,38,38,.3);
	border-radius: 12px;
	color: #ef4444;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	animation: pm-toast-in .3s ease;
}
.pm-toast-icon{
	flex-shrink: 0;
	font-size: 16px;
}
.pm-toast.is-hiding{
	animation: pm-toast-out .3s ease forwards;
}
@keyframes pm-toast-in{
	from{opacity:0;transform:translateY(-8px)}
	to{opacity:1;transform:translateY(0)}
}
@keyframes pm-toast-out{
	from{opacity:1;transform:translateY(0)}
	to{opacity:0;transform:translateY(-8px)}
}

.og-head-v2{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	margin: 0;
	background: #e8e8e8 !important;
	border-radius: 0;
	border: none;
}

body.public-page .og-head-v2{
	background: #e8e8e8 !important;
	color: #222 !important;
}

body.public-page .og-head-v2 .og-title-v2,
body.public-page .og-head-v2 .og-subtitle-v2{
	color: #222 !important;
}

.og-head-v2-left{
	min-width: 0;
	padding-left: 12px;
}

.og-title-v2{
	font-weight: 800;
	font-size: 0.95em;
	letter-spacing: -0.01em;
}

.og-subtitle-v2{
	margin-top: 2px;
	font-size: 0.82em;
	opacity: 0.6;
}

.og-badge-v2{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	margin-right: 12px;
	border-radius: 999px;
	background: #ff5a00;
	color: #fff;
	font-size: 0.68em;
	letter-spacing: 0.06em;
	font-weight: 900;
	white-space: nowrap;
}

.og-list-v2{
	display: block;
	padding: 0;
}

.og-item-v2{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 8px;
	border-top: none;
	border-bottom: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
	cursor: pointer;
	border-radius: 0;
	transition: background 140ms ease;
}

.og-item-v2:last-child{
	border-bottom: none;
}

.og-item-v2:hover{
	background: color-mix(in srgb, var(--brand) 6%, transparent);
}

.og-text-v2{
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.og-price-v2{
	font-size: 0.88em;
	font-weight: 700;
	opacity: 0.8;
}

/* Clean circular + button for og-mark inside v2 */
.og-item-v2 .og-mark{
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 2px solid #ff5a00;
	background: transparent;
	box-shadow: none;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ff5a00;
	transition: all 160ms ease;
}

.og-item-v2 .og-mark::before{
	content: "+" !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.og-item-v2 .og-input:checked + .og-mark{
	background: #ff5a00;
	border-color: #ff5a00;
	color: #fff;
}

.og-item-v2 .og-input:checked + .og-mark::before{
	content: "\2713" !important;
	font-size: 15px !important;
}

.og-item-v2 .og-input[type="radio"] + .og-mark{
	background: transparent;
	color: #ff5a00;
}

.og-item-v2 .og-input[type="radio"] + .og-mark::before{
	content: "" !important;
}

.og-item-v2 .og-input[type="radio"]:checked + .og-mark{
	background: #ff5a00;
	color: #fff;
}

.og-item-v2 .og-input[type="radio"]:checked + .og-mark::before{
	content: "\2713" !important;
	font-size: 15px !important;
}

/* --- Observation V2 --- */
.og-obs-v2{
	padding: 8px 0;
}

.og-obs-label-v2{
	font-weight: 700;
	font-size: 0.92em;
}

.og-obs-textarea-v2{
	margin-top: 6px;
	border-radius: 12px !important;
	padding: 10px 12px;
	font-size: 0.9em;
	resize: vertical;
}

/* --- Addbar V2 (qty + add button) --- */
.addbar-v2{
	display: flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: nowrap;
	margin-top: 0;
}

.qty-stepper-v2{
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
}

.qty-btn-v2{
	width: 42px;
	font-size: 20px;
	background: transparent;
	border: none;
	color: inherit;
}

.qty-btn-v2:hover{
	background: color-mix(in srgb, var(--brand) 10%, transparent);
}

.qty-input-v2{
	width: 42px;
	border-left: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
	border-right: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
	background: transparent !important;
	font-weight: 800;
}

.add-to-cart-btn-v2{
	flex: 1 1 auto;
	min-height: 48px;
	border-radius: 12px;
	font-weight: 850;
	font-size: 0.95em;
	justify-content: center;
	gap: 8px;
}

/* --- Product Modal V2 (inside modal) --- */
.product-modal-v2 .pm-grid-v2{
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.product-modal-v2 .pm-media-v2{
	flex: 0 0 auto;
	display: block;
	min-height: 0;
	border-right: none;
	border-bottom: none;
	background: color-mix(in srgb, var(--surface, Canvas) 80%, rgba(128,128,128,.08));
}

.product-modal-v2 .pm-media-frame-v2{
	width: 100%;
	height: 240px;
	overflow: hidden;
	border-radius: 0;
}

.product-modal-v2 .pm-panel-v2{
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.product-modal-v2 .pm-head-v2{
	padding: 16px 16px 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
	background: transparent;
}

.product-modal-v2 .pm-name-v2{
	font-weight: 900;
	font-size: 1.2em;
	letter-spacing: -0.02em;
}

.product-modal-v2 .pm-desc-v2{
	margin-top: 6px;
	font-size: 0.9em;
	opacity: 0.7;
	line-height: 1.4;
}

.product-modal-v2 .pm-price-v2{
	margin-top: 8px;
}

.product-modal-v2 .pm-scroll-v2{
	padding: 8px 16px;
	overflow: auto;
	flex: 1 1 auto;
}

.product-modal-v2 .pm-sticky-v2{
	padding: 12px 16px;
	border-top: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
	background: var(--surface, Canvas);
}

.product-modal-v2 .pm-sticky-v2 .addbar-v2{
	margin-top: 0;
}

/* Override old modal option group styles for v2 */
.product-modal-v2 .og-v2{
	margin: 0;
}

.product-modal-v2 .og-v2 .og-item-v2{
	padding: 12px 6px;
}

/* --- Product Full Page V2 --- */
body.public-page .product-page-v2{
	position: relative;
}

body.public-page .pp-v2-back{
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
}

body.public-page .pp-v2-back-btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--surface, Canvas) 75%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid color-mix(in srgb, var(--border, currentColor) 30%, transparent);
	color: inherit;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(0,0,0,.2);
	transition: transform 120ms ease;
}

body.public-page .pp-v2-back-btn:hover{
	transform: translateY(-1px);
	text-decoration: none;
}

body.public-page .pp-v2-image{
	width: 100%;
	max-height: 280px;
	overflow: hidden;
	border-radius: 0 0 20px 20px;
}

body.public-page .pp-v2-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.public-page .pp-v2-info{
	padding: 16px 4px 8px;
}

body.public-page .pp-v2-name{
	font-size: 1.3em;
	font-weight: 900;
	letter-spacing: -0.02em;
	margin: 0;
}

body.public-page .pp-v2-desc{
	margin: 6px 0 0;
	font-size: 0.9em;
	opacity: 0.7;
	line-height: 1.4;
}

body.public-page .pp-v2-price{
	margin-top: 8px;
}

body.public-page .pp-v2-sticky{
	position: sticky;
	bottom: 0;
	z-index: 10;
	padding: 12px 0;
	background: var(--surface, Canvas);
	border-top: 1px solid color-mix(in srgb, var(--border, currentColor) 40%, transparent);
}

body.public-page .pp-v2-sticky .addbar-v2{
	margin: 0;
}

/* Desktop modal: taller image area */
@media (min-width: 861px){
	.product-modal-v2 .pm-media-frame-v2{
		height: 300px;
	}
}

/* Mobile modal adjustments */
@media (max-width: 860px){
	.product-modal-v2{height: auto;}
	.product-modal-v2 .pm-grid-v2{height: auto;}
	.product-modal-v2 .pm-panel-v2 form{display: block; padding-bottom: 80px;}
	.product-modal-v2 .pm-scroll-v2{overflow: visible; flex: none;}
	.product-modal-v2 .pm-sticky-v2{
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 200;
		background: var(--surface, Canvas);
		box-shadow: 0 -4px 16px rgba(0,0,0,.12);
	}
	.product-modal-v2 .pm-media-frame-v2{height: 220px;}
}


/* ============================================================
   CART V2 — Redesign do carrinho estilo app
   ============================================================ */

/* Make cart modal fullscreen like product modal */
.modal-card.modal-cart{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

@media (min-width: 861px){
	.modal-card.modal-cart{
		width: 580px;
		max-width: 90vw;
		height: 90vh;
		border-radius: 20px;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		border: 1px solid rgba(0,0,0,.12);
		box-shadow: 0 24px 64px rgba(0,0,0,.25);
	}
}

/* Overrides de tema claro dentro do modal do carrinho */
.modal-card.modal-cart .cart-v2-head{
	border-bottom-color: rgba(0,0,0,.10);
}
.modal-card.modal-cart .cart-v2-back{
	color: #111;
}
.modal-card.modal-cart .cart-v2-back:hover{
	background: rgba(0,0,0,.06);
}
.modal-card.modal-cart .cart-v2-section-label{
	color: #111;
}
.modal-card.modal-cart .cart-v2-item{
	background: #f5f5f5;
	border-color: rgba(0,0,0,.10);
}
.modal-card.modal-cart .cart-v2-item + .cart-v2-item::before{
	background: rgba(0,0,0,.08);
}
.modal-card.modal-cart .cart-v2-thumb{
	background: rgba(0,0,0,.06);
}
.modal-card.modal-cart .cart-v2-item-actions{
	border-top-color: rgba(0,0,0,.08);
}
.modal-card.modal-cart .cart-v2-qty-row{
	border-color: rgba(0,0,0,.14);
}
.modal-card.modal-cart .cart-v2-qty-btn:hover{
	background: rgba(0,0,0,.06);
}
.modal-card.modal-cart .cart-v2-edit:hover{
	background: rgba(0,0,0,.06);
}
.modal-card.modal-cart .cart-v2-footer{
	border-top-color: rgba(0,0,0,.10);
	background: #fff;
}
.modal-card.modal-cart .cart-v2-btn-clear{
	border-color: rgba(0,0,0,.20);
	color: #333;
}
.modal-card.modal-cart .cart-v2-btn-clear:hover{
	background: rgba(0,0,0,.05);
}

/* ---- Header ---- */
.cart-v2-head{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--public-border, rgba(255,255,255,.1));
	flex-shrink: 0;
}
.cart-v2-back{
	background: none;
	border: none;
	color: var(--public-ink, #fff);
	cursor: pointer;
	padding: 4px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cart-v2-back:hover{
	background: rgba(255,255,255,.08);
}
.cart-v2-title{
	font-size: 1.15rem;
	font-weight: 700;
}

/* ---- Body (scrollable) ---- */
.cart-v2-body{
	flex: 1;
	overflow-y: auto;
	padding: 0 16px 16px;
	-webkit-overflow-scrolling: touch;
}

/* ---- Empty state ---- */
.cart-v2-empty{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 60px 16px;
	opacity: .5;
}

/* ---- Section label ---- */
.cart-v2-section-label{
	font-size: .8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--public-ink, #fff);
	opacity: .5;
	margin: 16px 0 8px;
}

/* ---- Item card ---- */
.cart-v2-items{
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cart-v2-item{
	background: var(--public-card-bg, var(--surface-2, #222));
	border: 1px solid var(--public-border, rgba(255,255,255,.12));
	border-radius: 12px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cart-v2-item + .cart-v2-item{
	position: relative;
}

.cart-v2-item + .cart-v2-item::before{
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: -7px;
	height: 1px;
	background: color-mix(in srgb, var(--public-border, rgba(255,255,255,.12)) 85%, transparent);
}
.cart-v2-item-top{
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

/* ---- Thumbnail ---- */
.cart-v2-thumb{
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	background: rgba(255,255,255,.06);
	display: flex;
	align-items: center;
	justify-content: center;
}
.cart-v2-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cart-v2-thumb-empty svg{
	opacity: .25;
}

/* ---- Info ---- */
.cart-v2-info{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.cart-v2-name{
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.25;
}
.cart-v2-opts{
	font-size: .78rem;
	opacity: .6;
	display: flex;
	flex-direction: column;
}
.cart-v2-note{
	font-size: .78rem;
	font-style: italic;
	opacity: .5;
}
.cart-v2-price{
	font-weight: 700;
	font-size: .95rem;
	color: var(--brand, #e53935);
	margin-top: 2px;
}

/* ---- Actions row ---- */
.cart-v2-item-actions{
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid rgba(255,255,255,.06);
	padding-top: 8px;
}
.cart-v2-qty-row{
	display: flex;
	align-items: center;
	gap: 0;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.12);
}
.cart-v2-qty-btn{
	background: none;
	border: none;
	color: var(--brand, #e53935);
	cursor: pointer;
	padding: 6px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background .15s;
}
.cart-v2-qty-btn:hover{
	background: rgba(255,255,255,.06);
}
.cart-v2-qty-val{
	font-weight: 700;
	font-size: .95rem;
	min-width: 28px;
	text-align: center;
	padding: 4px 0;
}
.cart-v2-edit{
	font-size: .82rem;
	font-weight: 600;
	color: var(--brand, #e53935);
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 6px;
	transition: background .15s;
}
.cart-v2-edit:hover{
	background: rgba(255,255,255,.06);
}

/* ---- Footer (sticky) ---- */
.cart-v2-footer{
	flex-shrink: 0;
	padding: 12px 16px 16px;
	border-top: 1px solid var(--public-border, rgba(255,255,255,.1));
	background: var(--public-bg, #181818);
}
.cart-v2-total{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 12px;
}
.cart-v2-footer-actions{
	display: flex;
	gap: 10px;
}
.cart-v2-btn-clear{
	flex: 1;
	padding: 12px 0;
	border-radius: 10px;
	border: 1.5px solid var(--public-border, rgba(255,255,255,.2));
	background: transparent;
	color: var(--public-ink, #fff);
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
	text-align: center;
}
.cart-v2-btn-clear:hover{
	background: rgba(255,255,255,.06);
}
.cart-v2-btn-checkout{
	flex: 2;
	padding: 12px 0;
	border-radius: 10px;
	border: none;
	background: var(--brand, #e53935);
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity .15s;
}
.cart-v2-btn-checkout:hover{
	opacity: .9;
}

/* ============================================================
   PROMOS V2 — Modal de promoções fullscreen
   ============================================================ */
.modal-card.modal-promos{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

@media (min-width: 681px){
	.modal-card.modal-promos{
		width: 980px;
		max-width: 980px;
		height: 90vh;
		height: 90dvh;
		max-height: 90vh;
		max-height: 90dvh;
		border-radius: 16px;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
}
.promos-v2-head{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--public-border, rgba(255,255,255,.1));
	flex-shrink: 0;
}
.promos-v2-body{
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	-webkit-overflow-scrolling: touch;
}
.promos-v2-grid{
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.promos-v2-card{
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--public-card-bg, var(--surface-2, #222));
	border-radius: 12px;
	padding: 12px;
	text-decoration: none;
	color: inherit;
	transition: background .15s;
}
.promos-v2-card:hover{
	background: color-mix(in srgb, var(--public-card-bg, var(--surface-2, #222)) 90%, white);
}
.promos-v2-img{
	width: 72px;
	height: 72px;
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
	background: rgba(255,255,255,.06);
	display: flex;
	align-items: center;
	justify-content: center;
}
.promos-v2-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.promos-v2-img-empty svg{
	opacity: .25;
}
.promos-v2-info{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.promos-v2-name{
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.25;
}
.promos-v2-desc{
	font-size: .82rem;
	opacity: .55;
	line-height: 1.3;
}
.promos-v2-prices{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}
.promos-v2-prices .price-now{
	font-weight: 700;
	font-size: .95rem;
	color: var(--brand, #e53935);
}
.promos-v2-prices .price-old{
	font-size: .82rem;
	text-decoration: line-through;
	opacity: .45;
}

/* ============================================================
   COUPONS V2 — Modal de cupons
   ============================================================ */
.modal-card.modal-coupons{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

@media (min-width: 681px){
	.modal-card.modal-coupons{
		width: 980px;
		max-width: 980px;
		height: 90vh;
		height: 90dvh;
		max-height: 90vh;
		max-height: 90dvh;
		border-radius: 16px;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
}

.coupons-v2-grid{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.coupons-v2-card{
	background: var(--public-card-bg, var(--surface-2, #222));
	border: 1px solid var(--public-border, rgba(255,255,255,.12));
	border-radius: 14px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Forçar cores claras dentro do modal de cupons */
.modal-card.modal-coupons .coupons-v2-card{
	background: #f5f5f5;
	border-color: rgba(0,0,0,.10);
	color: #111;
}

.modal-card.modal-coupons .coupons-v2-btn-apply{
	background: #111;
	color: #fff;
	border-color: transparent;
}

.modal-card.modal-coupons .coupons-v2-btn-copy{
	background: transparent;
	color: #111;
	border-color: rgba(0,0,0,.20);
}

.modal-card.modal-promos .promos-v2-card{
	background: #f5f5f5;
	border: 1px solid rgba(0,0,0,.08);
	color: #111;
}

.modal-card.modal-promos .promos-v2-card:hover{
	background: #ebebeb;
}

.modal-card.modal-promos .promos-v2-img{
	background: rgba(0,0,0,.06);
}

.modal-card.modal-promos .promos-v2-img-empty svg{
	opacity: .18;
}

.modal-card.modal-coupons .cart-v2-back,
.modal-card.modal-coupons .cart-v2-title,
.modal-card.modal-promos .cart-v2-back,
.modal-card.modal-promos .cart-v2-title,
.modal-card.modal-profile .cart-v2-back,
.modal-card.modal-profile .cart-v2-title,
.modal-card.modal-edit-profile .cart-v2-back,
.modal-card.modal-edit-profile .cart-v2-title,
.modal-card.modal-addresses .cart-v2-back,
.modal-card.modal-addresses .cart-v2-title{
	color: #111;
}

.modal-card.modal-coupons .promos-v2-head,
.modal-card.modal-promos .promos-v2-head,
.modal-card.modal-profile .promos-v2-head,
.modal-card.modal-edit-profile .promos-v2-head,
.modal-card.modal-addresses .promos-v2-head{
	border-bottom-color: rgba(0,0,0,.10);
}

.coupons-v2-code{
	font-size: .92rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.coupons-v2-value{
	font-size: 1.55rem;
	font-weight: 800;
	line-height: 1.15;
	margin-top: 2px;
}

.coupons-v2-validity,
.coupons-v2-rule{
	font-size: .82rem;
	opacity: .7;
}

.coupons-v2-actions{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 10px;
}

.coupons-v2-btn{
	appearance: none;
	border-radius: 10px;
	padding: 10px 12px;
	font-size: .9rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	border: 1.5px solid transparent;
}

.coupons-v2-btn-apply{
	background: var(--public-ink, #fff);
	color: var(--public-bg, #111);
	border-color: color-mix(in srgb, var(--public-ink, #fff) 30%, transparent);
}

.coupons-v2-btn-copy{
	background: transparent;
	color: inherit;
	border-color: var(--public-border, rgba(255,255,255,.2));
}

/* ============================================================
   AUTH V2 — Login/cadastro publico
   ============================================================ */
.modal-card.modal-auth{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

.modal-card.modal-auth-direct{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

.auth-v2-panel{
	max-width: 520px;
	margin: 0 auto;
	padding: 6px 0 14px;
	text-align: center;
}

.auth-v2-head{
	justify-content: center;
}

.auth-v2-head .cart-v2-back{
	position: absolute;
	left: 12px;
}

.auth-v2-body{
	padding-top: 18px;
}

.modal-auth-direct .auth-v2-body{
	padding: 0;
}

/* Overrides para tema claro nos modais de auth */
.modal-card.modal-auth,
.modal-card.modal-auth-direct{
	--public-border: rgba(0,0,0,.12);
	--public-card-bg: #f5f5f5;
	--surface-2: #f5f5f5;
}
.modal-card.modal-auth .promos-v2-head,
.modal-card.modal-auth-direct .promos-v2-head{
	border-bottom-color: rgba(0,0,0,.10);
}
.modal-card.modal-auth .cart-v2-back,
.modal-card.modal-auth .cart-v2-title,
.modal-card.modal-auth-direct .cart-v2-back,
.modal-card.modal-auth-direct .cart-v2-title{
	color: #111;
}
.modal-card.modal-auth .auth-v2-field input,
.modal-card.modal-auth .auth-v2-input,
.modal-card.modal-auth .auth-v2-pin-btn,
.modal-card.modal-auth-direct .auth-v2-field input,
.modal-card.modal-auth-direct .auth-v2-input,
.modal-card.modal-auth-direct .auth-v2-pin-btn{
	background: #f5f5f5;
	border-color: rgba(0,0,0,.18);
	color: #111;
}

.auth-v2-logo-wrap{
	width: 90px;
	height: 90px;
	border-radius: 50%;
	overflow: hidden;
	margin: 4px auto 14px;
	border: 2px solid var(--public-border, rgba(255,255,255,.2));
	background: #fff;
}

.auth-v2-logo{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.auth-v2-title{
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.35;
	margin: 0 0 8px;
}

.auth-v2-text{
	font-size: .9rem;
	opacity: .68;
	line-height: 1.45;
	margin: 0 auto 10px;
	max-width: 320px;
}

.auth-v2-helper{
	font-size: .8rem;
	opacity: .58;
	margin: 0 0 12px;
}

.auth-v2-google-btn{
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	padding: 4px;
	border-radius: 8px;
	border: 1px solid color-mix(in srgb, #2e6fd3 50%, #fff);
	background: #3e7be0;
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	text-decoration: none;
}

.auth-v2-google-icon{
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 4px;
	flex: 0 0 32px;
}

.auth-v2-divider{
	font-size: .78rem;
	opacity: .58;
	margin: 12px 0 10px;
	text-transform: lowercase;
}

.auth-v2-direct-btn{
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	min-height: 42px;
	margin-top: 10px;
	padding: 4px;
	border: 1px solid #b71a24;
	border-radius: 8px;
	background: #c7222d;
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
}

.auth-v2-direct-icon{
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 4px;
	flex: 0 0 32px;
	color: #c7222d;
}

.auth-v2-form{
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: left;
	margin-top: 12px;
	padding-top: 0;
}

.auth-v2-field{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.auth-v2-field span{
	font-size: .78rem;
	opacity: .72;
}

.auth-v2-field input{
	min-height: 40px;
	padding: 8px 10px;
	border-radius: 9px;
	border: 1px solid var(--public-border, rgba(255,255,255,.2));
	background: var(--public-card-bg, var(--surface-2, #222));
	color: inherit;
	font-size: .92rem;
}

.auth-v2-input{
	min-height: 40px;
	padding: 8px 10px;
	border-radius: 9px;
	border: 1px solid var(--public-border, rgba(255,255,255,.2));
	background: var(--public-card-bg, var(--surface-2, #222));
	color: inherit;
	font-size: .92rem;
}

.auth-v2-cep-row{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}

.auth-v2-submit-mini{
	min-height: 40px;
	padding: 0 12px;
	border-radius: 9px;
	font-size: .85rem;
	font-weight: 700;
	white-space: nowrap;
}

.auth-v2-pin-btn{
	min-height: 40px;
	padding: 8px 12px;
	border-radius: 9px;
	border: 1px solid var(--public-border, rgba(255,255,255,.2));
	background: transparent;
	color: inherit;
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
}

.auth-v2-status{
	min-height: 18px;
	font-size: .82rem;
	opacity: .72;
	margin-top: 2px;
}

.auth-v2-submit{
	margin-top: 2px;
	min-height: 42px;
	border: none;
	border-radius: 10px;
	background: var(--brand, #ff6b00);
	color: #fff;
	font-size: .93rem;
	font-weight: 800;
	cursor: pointer;
}

.auth-email-v3-shell{
	max-width: none;
	width: 100%;
	margin: 0 auto;
	position: relative;
	padding-bottom: 8px;
}

.auth-email-v3-hero{
	aspect-ratio: 1200 / 305;
	height: auto;
	border-radius: 0;
	overflow: hidden;
	background: #000;
}

.auth-email-v3-hero img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.auth-email-v3-logo-wrap{
	position: absolute;
	top: 74px;
	left: 50%;
	transform: translateX(-50%);
	width: 84px;
	height: 84px;
	border-radius: 14px;
	padding: 6px;
	background: #fff;
	box-shadow: 0 6px 14px rgba(0,0,0,.22);
	z-index: 2;
}

.auth-email-v3-logo{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.auth-email-v3-card{
	margin-top: -16px;
	padding: 88px 12px 12px;
	border-radius: 18px 18px 0 0;
	background: color-mix(in srgb, var(--public-bg, #181818) 94%, #fff 6%);
	border: 1px solid var(--public-border, rgba(255,255,255,.12));
	position: relative;
	overflow: hidden;
}

.auth-email-v3-card::after{
	content: '';
	display: block;
	margin: 10px -12px -12px;
	height: 8px;
	background: radial-gradient(circle at 10px -1px, transparent 7px, color-mix(in srgb, var(--public-bg, #181818) 94%, #fff 6%) 8px) 0 0/20px 8px repeat-x;
	opacity: .85;
}

.auth-email-step{
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
}

.auth-email-step[hidden]{
	display: none !important;
}

.auth-email-v3-title{
	margin: 0;
	font-size: 1.62rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
}

.auth-email-v3-sub{
	margin: 0 0 2px;
	font-size: .98rem;
	line-height: 1.4;
	text-align: center;
	opacity: .72;
}

.auth-email-v3-note,
.auth-email-v3-terms{
	margin: 0;
	font-size: .82rem;
	line-height: 1.45;
	opacity: .72;
}

.auth-email-v3-terms a{
	color: color-mix(in srgb, var(--brand, #ff6b00) 80%, #fff 20%);
	text-decoration: underline;
}

.auth-email-v3-code-grid{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 6px;
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
}

.auth-email-v3-code-grid .auth-v2-input{
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	text-align: center;
	font-size: 1.15rem;
	font-weight: 800;
	padding: 0;
	min-height: 48px;
}

.auth-email-v3-resend{
	margin: 2px 0;
	font-size: .9rem;
	opacity: .74;
	text-align: center;
}

.auth-email-step .auth-v2-submit:disabled{
	background: #b7c0c8;
	cursor: not-allowed;
	color: #eff3f6;
}

/* ============================================================
   PROFILE V2 — Perfil do cliente
   ============================================================ */
.modal-card.modal-profile{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

.modal-profile .promos-v2-body{
	display: flex;
	flex-direction: column;
}

.profile-v2-body{
	flex: 1;
	display: flex;
	flex-direction: column;
}

.profile-v2-greeting{
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 14px;
}

.profile-v2-greeting span{
	font-size: .94rem;
	opacity: .8;
}

.profile-v2-greeting strong{
	font-size: 1.22rem;
	font-weight: 800;
}

.profile-v2-greeting small{
	font-size: .84rem;
	opacity: .65;
}

.profile-v2-list{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.profile-v2-item{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 12px;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.12);
	background: #f9f9f9;
	color: inherit;
	text-decoration: none;
	width: 100%;
	text-align: left;
	font: inherit;
}

.profile-v2-item:disabled{
	opacity: .94;
	cursor: default;
}

.profile-v2-item-main{
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.profile-v2-item-title{
	font-size: .98rem;
	font-weight: 700;
}

.profile-v2-item-sub{
	font-size: .84rem;
	opacity: .66;
}

.profile-v2-item-arrow{
	font-size: 1.3rem;
	line-height: 1;
	opacity: .7;
}

.profile-v2-footer{
	margin-top: auto;
	padding-top: 14px;
}

.profile-v2-item-logout .profile-v2-item-title{
	color: #c0392b;
}

/* ============================================================
   EDIT PROFILE MODAL
   ============================================================ */
.modal-card.modal-edit-profile{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

.edit-profile-body{
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.edit-profile-form{
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 12px;
}

.edit-profile-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.edit-profile-label{
	font-size: .88rem;
	font-weight: 600;
	color: var(--public-ink, #333);
}

.edit-profile-label-opt{
	font-weight: 400;
	opacity: .7;
}

.edit-profile-input{
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid var(--public-border, #d5d5d5);
	background: #fff;
	color: var(--public-ink, #222);
	font: inherit;
	font-size: .97rem;
	width: 100%;
	box-sizing: border-box;
	outline: none;
	transition: border-color .15s;
}

.edit-profile-input:focus{
	border-color: var(--restaurant-primary, #e0001b);
}

.edit-profile-input--disabled{
	background: #f0f0f0 !important;
	color: #888 !important;
	cursor: default;
}

.edit-profile-msg{
	font-size: .88rem;
	padding: 8px 12px;
	border-radius: 8px;
	text-align: center;
}
.edit-profile-msg--ok{
	background: #e6f7ee;
	color: #1a7a3a;
}
.edit-profile-msg--error{
	background: #fde8e8;
	color: #c0392b;
}

.edit-profile-foot{
	flex-shrink: 0;
	padding: 12px 16px;
	border-top: 1px solid var(--public-border, rgba(0,0,0,.08));
	background: #fff;
}

.edit-profile-save-btn{
	width: 100%;
	padding: 14px;
	border-radius: 10px;
	border: none;
	background: var(--restaurant-primary, #e0001b);
	color: #fff;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .15s;
}

.edit-profile-save-btn:disabled{
	opacity: .6;
	cursor: default;
}

/* ============================================================
   PROFILE / EDIT-PROFILE / ADDRESSES — Desktop
   ============================================================ */
@media (min-width: 700px){
	/* Perfil e Editar Perfil — painel compacto */
	.modal-card.modal-profile,
	.modal-card.modal-edit-profile{
		width: 480px;
		max-width: 480px;
		height: auto;
		max-height: 86vh;
		max-height: 86dvh;
		border-radius: 16px;
		border: 1px solid rgba(0,0,0,.1);
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		box-shadow: 0 12px 48px rgba(0,0,0,.22);
	}

	.modal-card.modal-profile .promos-v2-body,
	.modal-card.modal-edit-profile .promos-v2-body{
		max-height: calc(86vh - 120px);
		max-height: calc(86dvh - 120px);
		overflow-y: auto;
	}

	.modal-card.modal-profile .promos-v2-head,
	.modal-card.modal-edit-profile .promos-v2-head{
		border-bottom: 1px solid rgba(0,0,0,.08);
	}
}

/* ============================================================
   ADDRESSES V2 — Meus enderecos
   ============================================================ */
.modal-card.modal-addresses{
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: 100vw;
	max-height: 100vh;
	max-height: 100dvh;
	border-radius: 0;
	border: none;
	left: 0;
	top: 0;
	transform: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	color: #111;
}

@media (min-width: 700px){
	.modal-card.modal-addresses{
		width: 600px;
		max-width: 600px;
		height: 86vh;
		height: 86dvh;
		max-height: 86vh;
		max-height: 86dvh;
		border-radius: 16px;
		border: 1px solid rgba(0,0,0,.1);
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		box-shadow: 0 12px 48px rgba(0,0,0,.22);
	}
	.modal-card.modal-addresses .promos-v2-body{
		flex: 1;
		overflow-y: auto;
	}
	.modal-card.modal-addresses .promos-v2-head{
		border-bottom: 1px solid rgba(0,0,0,.08);
	}
}

.addresses-body{
	display: flex;
	flex-direction: column;
}

.addresses-empty{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 48px 24px 24px;
	gap: 12px;
	flex: 1;
}

.addresses-empty-icon{
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #d8d8e0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #888;
	margin-bottom: 8px;
}

.addresses-empty-title{
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--public-ink, #222);
	margin: 0;
}

.addresses-empty-sub{
	font-size: .875rem;
	color: var(--restaurant-primary, #4040cc);
	margin: 0;
	line-height: 1.4;
}

.addresses-add-btn{
	margin-top: 8px;
	width: 100%;
	padding: 14px;
	border-radius: 10px;
	border: none;
	background: var(--restaurant-primary, #3b3bef);
	color: #fff;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}

[data-addresses-empty][hidden],
[data-addresses-list][hidden],
[data-address-form][hidden],
[data-addr-step][hidden],
[data-addr-save-foot][hidden],
[data-addr-list-foot][hidden]{
	display: none !important;
}

/* ---- campos genéricos do formulário de endereço ---- */
.addr-field{
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.addr-label{
	font-size: .88rem;
	font-weight: 600;
	color: var(--public-ink, #333);
}

.addr-label-opt{
	font-weight: 400;
	color: var(--restaurant-primary, #3b3bef);
}

.addr-required{
	color: var(--restaurant-primary, #e0001b);
	margin-left: 2px;
}

.addr-input{
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid var(--public-border, #d5d5d5);
	background: #fff;
	color: var(--public-ink, #222);
	font: inherit;
	font-size: .97rem;
	width: 100%;
	box-sizing: border-box;
	outline: none;
	transition: border-color .15s;
}

.addr-input:focus{
	border-color: var(--restaurant-primary, #3b3bef);
}

.addr-status{
	font-size: .84rem;
	color: #c0392b;
	min-height: 18px;
}

/* ---- botão geolocalização ---- */
.addr-geo-btn{
	display: flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	color: var(--restaurant-primary, #3b3bef);
	font: inherit;
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
	padding: 4px 0;
}

/* ---- card do endereço encontrado ---- */
.addr-found-card{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--public-border, #d5d5d5);
	border-radius: 10px;
	background: #fff;
	margin-bottom: 4px;
}

.addr-found-icon{
	flex-shrink: 0;
	color: var(--restaurant-primary, #3b3bef);
	margin-top: 2px;
}

.addr-found-info{
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.addr-found-street{
	font-size: .97rem;
	font-weight: 700;
}

.addr-found-sub{
	font-size: .84rem;
	color: #666;
}

/* ---- linha de dois campos ---- */
.addr-row-two{
	display: grid;
	grid-template-columns: 1fr 1.6fr;
	gap: 12px;
}

/* ---- painel do formulário ---- */
.address-v2-panel[data-address-form]{
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 0;
}

/* ---- rodapé fixo com botão salvar ---- */
.addr-save-foot{
	flex-shrink: 0;
	padding: 12px 16px;
	border-top: 1px solid rgba(0,0,0,.08);
	background: #fff;
}

.addr-save-btn{
	width: 100%;
	padding: 14px;
	border-radius: 10px;
	border: none;
	background: var(--restaurant-primary, #3b3bef);
	color: #fff;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	opacity: 1;
	transition: opacity .15s;
}

.addr-save-btn:disabled{
	opacity: .6;
}

/* ---- estado lista de endereços ---- */
[data-addresses-list]{
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.addr-list-hint{
	font-size: .82rem;
	color: #888;
	margin: 0;
}

.addr-list-card{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	border-radius: 10px;
	border: 1.5px solid var(--restaurant-primary, #3b3bef);
	background: #fff;
	cursor: pointer;
}

.addr-list-info{
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.addr-list-street{
	font-size: .97rem;
	font-weight: 700;
	color: var(--public-ink, #222);
}

.addr-remove-btn{
	background: none;
	border: none;
	padding: 0;
	margin-top: 4px;
	color: #c0392b;
	font: inherit;
	font-size: .8rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	align-self: flex-start;
}

.addr-list-sub{
	font-size: .83rem;
	color: #666;
}

.addr-list-radio{
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

/* ---- rodapé do estado lista ---- */
.addr-list-foot{
	flex-shrink: 0;
	padding: 10px 16px 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-top: 1px solid rgba(0,0,0,.08);
	background: #fff;
}

.addr-add-new-btn{
	width: 100%;
	padding: 13px;
	border-radius: 10px;
	border: 2px solid var(--restaurant-primary, #3b3bef);
	background: transparent;
	color: var(--restaurant-primary, #3b3bef);
	font: inherit;
	font-size: .97rem;
	font-weight: 700;
	cursor: pointer;
}


.address-v2-panel{
	max-width: 560px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.address-v2-label{
	font-size: .86rem;
	opacity: .8;
}

.address-v2-cep-row{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
}

.address-v2-input{
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--public-border, rgba(255,255,255,.2));
	background: var(--public-card-bg, var(--surface-2, #222));
	color: inherit;
	font-size: .95rem;
}

.address-v2-btn{
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid transparent;
	background: var(--brand, #ff6b00);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.address-v2-btn-ghost{
	width: 100%;
	background: transparent;
	border-color: var(--public-border, rgba(255,255,255,.2));
	color: inherit;
}

.address-v2-status{
	font-size: .84rem;
	opacity: .76;
	min-height: 20px;
}

.address-v2-preview{
	border-radius: 10px;
	border: 1px solid var(--public-border, rgba(255,255,255,.2));
	background: var(--public-card-bg, var(--surface-2, #222));
	padding: 10px 12px;
	min-height: 64px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.address-v2-preview-line{
	font-size: .9rem;
	line-height: 1.3;
}

.address-v2-divider{
	text-align: center;
	font-size: .82rem;
	opacity: .6;
	margin: 6px 0;
}

/* ===== FIDELIDADE MODAL ===== */
.modal-loyalty{
	max-width: 480px;
}
.loyalty-loading{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 40px 20px;
	gap: 16px;
	opacity: .7;
}
.loyalty-spinner{
	width: 32px;
	height: 32px;
	border: 3px solid var(--public-border, rgba(255,255,255,.2));
	border-top-color: var(--brand, #ff6b00);
	border-radius: 50%;
	animation: loyalty-spin .7s linear infinite;
}
@keyframes loyalty-spin{ to{ transform: rotate(360deg); } }

.loyalty-disabled{
	padding: 32px 20px;
	text-align: center;
	opacity: .7;
}

.loyalty-balance-card{
	background: var(--brand, #ff6b00);
	color: #fff;
	border-radius: 14px;
	padding: 20px 18px;
	margin-bottom: 20px;
}
.loyalty-balance-label{
	font-size: .8rem;
	opacity: .85;
	text-transform: uppercase;
	letter-spacing: .07em;
}
.loyalty-balance-value{
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1.1;
	margin: 4px 0 6px;
}
.loyalty-balance-sub{
	font-size: .82rem;
	opacity: .85;
}

.loyalty-section-title{
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .07em;
	opacity: .65;
	margin: 20px 0 10px;
}

.loyalty-products{
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.loyalty-product-card{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 12px;
	background: var(--public-card-bg, var(--surface-2, rgba(255,255,255,.06)));
}
.loyalty-product-img{
	width: 60px;
	height: 60px;
	border-radius: 8px;
	object-fit: cover;
	flex-shrink: 0;
}
.loyalty-product-img--ph{
	background: rgba(128,128,128,.2);
}
.loyalty-product-info{
	flex: 1;
	min-width: 0;
}
.loyalty-product-name{
	font-weight: 600;
	font-size: .95rem;
	margin-bottom: 2px;
}
.loyalty-product-pts{
	font-size: .82rem;
	opacity: .7;
	margin-bottom: 6px;
}
.loyalty-redeem-btn{
	padding: 6px 14px;
	border-radius: 8px;
	border: none;
	background: var(--brand, #ff6b00);
	color: #fff;
	font-size: .84rem;
	font-weight: 700;
	cursor: pointer;
}
.loyalty-redeem-btn:disabled{ opacity: .5; cursor: not-allowed; }
.loyalty-redeem-missing{
	font-size: .8rem;
	opacity: .55;
}

.loyalty-history{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.loyalty-hist-item{
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 8px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--public-border, rgba(255,255,255,.08));
	font-size: .88rem;
}
.loyalty-hist-earn{ color: #4caf50; font-weight: 700; }
.loyalty-hist-redeem{ color: var(--brand, #ff6b00); font-weight: 700; }
.loyalty-hist-date{ opacity: .5; font-size: .78rem; }

/* ── Confirm panel ── */
.loyalty-confirm-panel[hidden]{ display: none; }
.loyalty-confirm-panel{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 32px 24px 28px;
	text-align: center;
}
.loyalty-confirm-icon{
	font-size: 52px;
	line-height: 1;
}
.loyalty-confirm-title{
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0;
}
.loyalty-confirm-prod{
	font-size: 1rem;
	font-weight: 500;
	opacity: .8;
	margin: 0;
}
.loyalty-confirm-pts-row{
	display: flex;
	align-items: stretch;
	gap: 0;
	background: var(--public-card-bg, #f5f5f5);
	border-radius: 12px;
	overflow: hidden;
	width: 100%;
	max-width: 280px;
}
.loyalty-confirm-pts-item{
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: 12px 10px;
}
.loyalty-confirm-pts-divider{
	width: 1px;
	background: var(--public-border, rgba(0,0,0,.1));
	margin: 10px 0;
}
.loyalty-confirm-pts-label{
	font-size: .73rem;
	opacity: .6;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.loyalty-confirm-pts-val{
	font-size: 1rem;
	font-weight: 700;
}
.loyalty-confirm-actions{
	display: flex;
	gap: 10px;
	width: 100%;
	max-width: 280px;
	margin-top: 4px;
}
.loyalty-confirm-cancel-btn{
	flex: 1;
	padding: 13px;
	border: 1.5px solid var(--public-border, #ddd);
	background: transparent;
	border-radius: 12px;
	font-size: .95rem;
	cursor: pointer;
	color: inherit;
	opacity: .75;
}
.loyalty-confirm-ok-btn{
	flex: 1.4;
	padding: 13px;
	border: none;
	background: var(--brand, #ff6b00);
	color: #fff;
	border-radius: 12px;
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
}
.loyalty-confirm-ok-btn:disabled{ opacity: .6; cursor: not-allowed; }

/* ── Success state ── */
.loyalty-success{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 40px 24px;
	text-align: center;
}
.loyalty-success-icon{ font-size: 56px; line-height: 1; }
.loyalty-success-title{
	font-size: 1.15rem;
	font-weight: 700;
	color: #16a34a;
	margin: 0;
}
.loyalty-success-sub{
	font-size: .88rem;
	opacity: .7;
	margin: 0;
}

/* ── Inline error ── */
.loyalty-inline-error{
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #dc2626;
	border-radius: 10px;
	padding: 10px 14px;
	font-size: .88rem;
	margin-bottom: 12px;
	text-align: center;
}

/* ── Preço loyalty no product modal ── */
.pm-loyalty-price{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 1.3rem;
	font-weight: 800;
	color: var(--brand, #ff6b00);
}
.pm-loyalty-price-sub{
	display: block;
	font-size: .8rem;
	opacity: .65;
	margin-top: 2px;
}

/* ── Badge fidelidade no carrinho ── */
.cart-v2-loyalty-badge{
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: .72rem;
	font-weight: 700;
	color: var(--brand, #ff6b00);
	background: rgba(255,107,0,.1);
	border-radius: 6px;
	padding: 2px 7px;
	margin-bottom: 2px;
}
.cart-v2-price--free{
	color: #16a34a;
	font-weight: 700;
}

/* =========================================================
   Checkout redesign — co-* (mobile-first)
   ========================================================= */

/* Força tema claro no checkout, meus pedidos e detalhe do pedido */
html.public-page:has(body.public-checkout-page),
html.public-page:has(body.public-orders-page),
html.public-page:has(body.public-order-detail-page),
html.public-page:has(body.public-cart-page){
	color-scheme: light !important;
	background: #f0f0f0 !important;
}
/* Especificidade dupla (body.public-page.public-*) para ganhar de body.public-page !important */
body.public-page.public-checkout-page,
body.public-page.public-orders-page,
body.public-page.public-order-detail-page,
body.public-page.public-cart-page{
	color-scheme: light !important;
	background: #f0f0f0 !important;
	color: #111 !important;
	--surface: #fff;
	--surface-2: #f5f5f5;
	--border: rgba(0,0,0,.12);
	--public-border: rgba(0,0,0,.12);
	--muted: #666;
	--public-ink: #111;
	--public-bg: #f0f0f0;
	--public-card-bg: #fff;
}
/* Overrides explícitos para elementos genéricos no carrinho */
body.public-page.public-cart-page h1,
body.public-page.public-cart-page h2,
body.public-page.public-cart-page h3,
body.public-page.public-cart-page p,
body.public-page.public-cart-page a{
	color: #111;
}
body.public-page.public-cart-page a{
	color: var(--brand, #ff6b00);
}
body.public-page.public-cart-page table,
body.public-page.public-cart-page thead,
body.public-page.public-cart-page tbody,
body.public-page.public-cart-page tr,
body.public-page.public-cart-page th,
body.public-page.public-cart-page td{
	color: #111;
	background: transparent;
	border-color: rgba(0,0,0,.10);
}
body.public-page.public-cart-page .card{
	background: #fff !important;
	color: #111 !important;
	border-color: rgba(0,0,0,.12) !important;
}
body.public-page.public-cart-page input,
body.public-page.public-cart-page select,
body.public-page.public-cart-page textarea{
	background: #f5f5f5 !important;
	color: #111 !important;
	border-color: rgba(0,0,0,.18) !important;
}

/* ── Meus Pedidos / Detalhe — layout po-* ── */
body.public-orders-page .container,
body.public-order-detail-page .container{max-width:560px; padding:0;}

.po-topbar{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 16px;
	background:Canvas;
	border-bottom:1px solid var(--border);
	position:sticky;
	top:0;
	z-index:10;
}
.po-topbar-back{
	background:none;
	border:none;
	cursor:pointer;
	padding:6px;
	border-radius:50%;
	color:CanvasText;
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background .15s;
}
.po-topbar-back:hover{background:color-mix(in srgb,CanvasText 8%,Canvas);}
.po-topbar-title{font-size:1.1rem;font-weight:800;letter-spacing:-0.02em;}

.po-body{
	max-width:560px;
	margin:0 auto;
	padding:20px 16px 60px;
}

.po-hero{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	padding:24px 0 20px;
	gap:10px;
}
.po-hero-logo{
	width:64px;
	height:64px;
	border-radius:16px;
	object-fit:cover;
	border:1px solid var(--border);
	box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.po-hero-name{
	font-size:1.1rem;
	font-weight:700;
	letter-spacing:-0.01em;
	color:#444;
}

.po-msg{
	padding:12px 14px;
	border-radius:12px;
	font-size:.9rem;
	font-weight:600;
	margin-bottom:16px;
}
.po-msg-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;}
.po-msg-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}

.po-section-label{
	font-size:.8rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:#999;
	margin-bottom:10px;
	display:flex;
	align-items:center;
	gap:8px;
}
.po-count{
	background:#e5e7eb;
	color:#555;
	border-radius:999px;
	padding:1px 8px;
	font-size:.78rem;
	font-weight:700;
	text-transform:none;
	letter-spacing:0;
}

/* Borda esquerda colorida por status */
.public-order-card[data-status="new"]{
	border-left:3px solid #ef4444;
}
.public-order-card[data-status="accepted"],
.public-order-card[data-status="preparing"]{
	border-left:3px solid #f97316;
}
.public-order-card[data-status="out_for_delivery"],
.public-order-card[data-status="ready_for_pickup"]{
	border-left:3px solid #16a34a;
}
.public-order-card[data-status="done"]{
	border-left:3px solid #d1d5db;
}
.public-order-card[data-status="rejected"],
.public-order-card[data-status="canceled"]{
	border-left:3px solid #d1d5db;
}

/* Dot pulsante para pedidos ativos */
.po-status-dot{
	display:inline-block;
	width:7px;
	height:7px;
	border-radius:50%;
	background:currentColor;
	margin-right:5px;
	vertical-align:middle;
	animation:po-pulse 1.6s ease-in-out infinite;
}
@keyframes po-pulse{
	0%,100%{opacity:1; transform:scale(1);}
	50%{opacity:.4; transform:scale(.75);}
}

/* ── Detalhe do pedido ── */
.po-topbar-menu{
	margin-left:auto;
	font-size:.85rem;
	font-weight:700;
	color:#666;
	text-decoration:none;
	padding:6px 10px;
	border-radius:8px;
	transition:background .15s;
}
.po-topbar-menu:hover{background:color-mix(in srgb,CanvasText 8%,Canvas);}

.pod-hero{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	padding:24px 0 20px;
	gap:8px;
}
.pod-order-num{
	font-size:1.4rem;
	font-weight:900;
	letter-spacing:-0.03em;
}
.pod-meta{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
}
.pod-date{
	font-size:.85rem;
	color:#888;
}

/* Card de resumo (substitui os 3 KPI cards) */
.pod-summary-card{
	background:#fff;
	border:1px solid rgba(0,0,0,.10);
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,.06);
	margin-bottom:16px;
}
.pod-summary-row{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 16px;
}
.pod-summary-row--col{
	flex-direction:column;
	align-items:flex-start;
	gap:4px;
}
.pod-summary-row-top{
	display:flex;
	align-items:center;
	gap:12px;
	width:100%;
}
.pod-summary-icon{
	width:36px;
	height:36px;
	border-radius:10px;
	background:#f3f4f6;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#555;
	flex-shrink:0;
}
.pod-summary-label{
	flex:1;
	font-weight:600;
	font-size:.95rem;
}
.pod-summary-value{
	font-size:.95rem;
	color:#555;
}
.pod-summary-value--strong{
	font-weight:900;
	font-size:1.05rem;
	color:#111;
	font-variant-numeric:tabular-nums;
}
.pod-summary-address{
	font-size:.82rem;
	color:#888;
	padding-left:48px;
	line-height:1.4;
}
.pod-summary-divider{
	height:1px;
	background:rgba(0,0,0,.07);
	margin:0 16px;
}

/* Botão WhatsApp */
.pod-whatsapp-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	width:100%;
	padding:14px 20px;
	border-radius:14px;
	background:#25d366;
	color:#fff;
	font-weight:800;
	font-size:.95rem;
	text-decoration:none;
	margin-bottom:20px;
	transition:filter .15s, transform .1s;
}
.pod-whatsapp-btn:hover{filter:brightness(1.07); color:#fff;}
.pod-whatsapp-btn:active{transform:scale(.98);}

/* Seção de itens */
.pod-items-title{
	font-size:.8rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.07em;
	color:#999;
	margin:0 0 10px;
}
.pod-items-card{
	background:#fff;
	border:1px solid rgba(0,0,0,.10);
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.pod-item{
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:14px 16px;
}
.pod-item-divider{
	height:1px;
	background:rgba(0,0,0,.07);
	margin:0 16px;
}
.pod-item-qty{
	min-width:32px;
	height:32px;
	border-radius:8px;
	background:#f3f4f6;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:800;
	font-size:.85rem;
	color:#555;
	flex-shrink:0;
}
.pod-item-info{
	flex:1;
	min-width:0;
}
.pod-item-name{
	font-weight:700;
	font-size:.95rem;
}
.pod-item-opts{
	margin-top:4px;
	display:flex;
	flex-direction:column;
	gap:2px;
}
.pod-item-opt{
	font-size:.82rem;
	color:#777;
}
.pod-item-opt-price{
	color:#aaa;
}
.pod-item-note{
	margin-top:4px;
	font-size:.82rem;
	color:#f97316;
	font-style:italic;
}
.pod-item-price{
	font-weight:700;
	font-size:.9rem;
	color:#333;
	white-space:nowrap;
	font-variant-numeric:tabular-nums;
	flex-shrink:0;
}

/* Empty state */
.po-empty{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	padding:40px 20px;
	gap:10px;
}
.po-empty-icon{
	width:52px;
	height:52px;
	color:#ccc;
	margin-bottom:6px;
}
.po-empty-title{
	font-weight:800;
	font-size:1.05rem;
	color:#333;
}
.po-empty-sub{
	font-size:.9rem;
	color:#888;
	margin-bottom:8px;
}

body.public-checkout-page .container{max-width:560px;}
body.public-checkout-page .app-main{padding:0;}
body.public-checkout-page .container{padding:0;}
.co-page{padding-bottom:120px;}
.co-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;background:Canvas;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-shrink:0;}
.co-topbar-back{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:CanvasText;text-decoration:none;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.co-topbar-back:hover{background:color-mix(in srgb,CanvasText 8%,Canvas);}
.co-topbar-title{font-size:1.15rem;font-weight:700;}
.co-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;background:Canvas;border-top:1px solid var(--border);padding:12px 16px;display:flex;flex-direction:column;gap:8px;z-index:100;}
.co-footer-total{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;width:100%;padding:0;}
.co-footer-total-label{flex:1;font-weight:600;}
.co-footer-total-value{font-weight:900;font-size:1.1rem;}
.co-footer-btn{width:100%;min-height:50px;font-size:1.05rem;font-weight:800;}
.co-footer-spacer{height:140px;}
.co-section{background:Canvas;border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:8px;}
.co-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.co-section-title{font-weight:800;font-size:1rem;}
.co-badge{background:color-mix(in srgb,CanvasText 12%,Canvas);border-radius:999px;padding:3px 10px;font-size:0.78rem;font-weight:700;}
.co-coupon-row{display:flex;align-items:center;gap:10px;}
.co-coupon-link{background:none;border:none;color:var(--brand);font-weight:700;cursor:pointer;text-decoration:underline;}
.co-coupon-applied-code{font-weight:800;}
.co-coupon-applied-discount{color:#16a34a;font-weight:700;}
.co-coupon-remove{background:none;border:none;font-size:1.2rem;cursor:pointer;color:color-mix(in srgb,CanvasText 60%,Canvas);}
.co-option-card{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--border);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;}
.co-option-card--selected{border-color:var(--brand);}
.co-option-radio{display:none;}
.co-option-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;margin-left:auto;}
.co-option-card--selected .co-option-dot{border-color:var(--brand);background:radial-gradient(circle,var(--brand) 50%,transparent 50%);}
.co-option-name{font-weight:700;}
.co-option-time{font-size:0.85rem;opacity:0.7;}
.co-option-fee{font-size:0.82rem;background:color-mix(in srgb,var(--brand) 15%,Canvas);color:var(--brand);border-radius:6px;padding:2px 8px;font-weight:700;}
.co-addr-fields{display:flex;flex-direction:column;gap:10px;}
.co-addr-grid{display:grid;grid-template-columns:1fr 100px;gap:10px;}
.co-addr-neighborhood,.co-addr-complement{grid-column:1/-1;}
.co-addr-status{font-size:0.82rem;min-height:18px;color:color-mix(in srgb,CanvasText 70%,Canvas);}
.co-field-label{font-size:0.88rem;font-weight:700;display:block;margin-bottom:4px;}
.co-field-input{width:100%;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:Canvas;font-size:1rem;}
.co-field-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent);}
.co-field-hint{font-size:0.8rem;opacity:0.7;margin-top:6px;}
.co-optional{font-weight:400;opacity:0.65;}
.co-loyalty-banner{border:1px solid color-mix(in srgb,#f59e0b 40%,var(--border));background:color-mix(in srgb,#f59e0b 8%,Canvas);border-radius:var(--radius);padding:20px 16px;text-align:center;margin-bottom:8px;}
.co-loyalty-star{font-size:2rem;}
.co-loyalty-text{margin:8px 0 12px;}
.co-loyalty-btn{display:block;border:2px solid var(--brand);border-radius:var(--radius-sm);padding:12px;color:var(--brand);font-weight:800;text-align:center;text-decoration:none;}
.co-payment-selected{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);}
.co-pm-icon-img{width:28px;height:28px;object-fit:contain;}
.co-pm-change-btn{margin-left:auto;background:none;border:none;color:var(--brand);font-weight:700;cursor:pointer;}
.co-cash-change{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);}
.co-cash-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;}
.co-cash-amount{margin-top:10px;}
.co-terms{font-size:0.8rem;opacity:0.7;text-align:center;padding:8px 16px;}
.co-terms a{color:var(--brand);}
.co-sheet{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end;}
.co-sheet[hidden]{display:none;}
.co-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.co-sheet-card{position:relative;background:#fff;color:#111;border-radius:var(--radius) var(--radius) 0 0;max-height:85vh;display:flex;flex-direction:column;max-width:560px;width:100%;margin:0 auto;}
.co-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border);}
.co-sheet-title{font-weight:800;font-size:1rem;}
.co-sheet-close{background:none;border:none;font-size:1.4rem;cursor:pointer;padding:0 4px;}
.co-sheet-body{overflow-y:auto;padding:12px 16px;flex:1;}
.co-sheet-footer{padding:12px 16px;border-top:1px solid var(--border);}
.co-coupon-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;}
.co-coupon-item--selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,Canvas);}
.co-coupon-radio{display:none;}
.co-radio-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);margin-left:auto;flex-shrink:0;}
.co-coupon-item--selected .co-radio-dot{border-color:var(--brand);background:radial-gradient(circle,var(--brand) 50%,transparent 50%);}
.co-coupon-code{font-size:0.95rem;}
.co-coupon-desc{display:block;font-size:0.82rem;opacity:0.7;font-weight:400;}
.co-hint-center{text-align:center;opacity:0.6;padding:20px 0;}
.co-pm-group{margin-bottom:16px;}
.co-pm-group-title{font-size:0.82rem;font-weight:700;opacity:0.65;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:8px;}
.co-pm-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:Canvas;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;cursor:pointer;}
.co-pm-row:hover{background:var(--surface);}
.co-pm-row-icon{width:28px;height:28px;object-fit:contain;}
.co-pm-row-label{flex:1;font-weight:600;text-align:left;}
.co-pm-row-arrow{font-size:1.2rem;opacity:0.5;}
.co-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:0.95rem;}
.co-summary-row:last-child{border-bottom:none;}
.co-summary-row--discount{color:#16a34a;}
.co-summary-row--total{font-weight:800;font-size:1.05rem;padding-top:14px;}
.co-flash{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);font-size:0.88rem;line-height:1.45;margin-bottom:12px;border-width:1px;border-style:solid;}
.msg.co-flash{background:color-mix(in srgb,#ef4444 8%,Canvas);border-color:color-mix(in srgb,#ef4444 28%,var(--border));color:color-mix(in srgb,#b91c1c 90%,CanvasText);}
.msg.co-flash::before{content:"⚠";font-style:normal;flex-shrink:0;margin-top:1px;}
.msg-ok.co-flash{background:color-mix(in srgb,#22c55e 8%,Canvas);border-color:color-mix(in srgb,#22c55e 28%,var(--border));color:color-mix(in srgb,#15803d 90%,CanvasText);}
.msg-ok.co-flash::before{content:"✓";font-weight:700;flex-shrink:0;margin-top:1px;}
/* co-* melhorias visuais */
.co-page .container{padding-left:16px;padding-right:16px;}
.co-option-body{display:flex;flex-direction:column;gap:2px;flex:1;}
.co-option-card{margin-bottom:6px;}
.co-option-card:last-child{margin-bottom:0;}
.co-section-head-right{display:flex;align-items:center;gap:8px;}
.co-addr-grid{margin-top:10px;}
.co-addr-city{grid-column:1/2;}
.co-addr-state{grid-column:2/3;}
.co-footer-chevron{display:flex;align-items:center;color:color-mix(in srgb,CanvasText 50%,Canvas);}
.co-coupon-icon{display:flex;align-items:center;color:var(--brand);}
.co-coupon-row{gap:8px;}
.co-coupon-none{font-size:0.9rem;opacity:0.6;}
/* co-addr: CEP-first, detalhes colapsáveis */
.co-addr-found{display:flex;align-items:flex-start;gap:10px;padding:12px;background:color-mix(in srgb,var(--brand) 6%,Canvas);border:1px solid color-mix(in srgb,var(--brand) 25%,var(--border));border-radius:var(--radius-sm);margin-bottom:10px;}
.co-addr-found-icon{color:var(--brand);flex-shrink:0;margin-top:2px;}
.co-addr-found-text{display:flex;flex-direction:column;gap:2px;font-size:0.9rem;}
.co-addr-found-text strong{font-weight:700;}
.co-addr-found-text span{opacity:0.7;font-size:0.82rem;}
.co-addr-grid-simple{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;}

/* co-id-card: card de identificação do cliente logado */
.co-id-card{display:flex;align-items:center;gap:12px;}
.co-id-avatar{width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em;}
.co-id-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.co-id-name{font-weight:700;font-size:0.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.co-id-phone{font-size:0.82rem;opacity:0.6;}
.co-id-edit{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:color-mix(in srgb,CanvasText 55%,Canvas);text-decoration:none;flex-shrink:0;transition:background .15s,color .15s;}
.co-id-edit:hover{background:color-mix(in srgb,var(--brand) 10%,Canvas);color:var(--brand);}
.co-required-star{color:var(--brand);}
.co-addr-status:not(:empty){font-size:0.82rem;color:color-mix(in srgb,CanvasText 65%,Canvas);padding:4px 0;}
/* Seletor de endereços salvos */
.co-saved-addr-list{display:flex;flex-direction:column;gap:6px;}
.co-saved-addr-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:Canvas;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;font:inherit;}
.co-saved-addr-item:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));}
.co-saved-addr-item--selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,Canvas);}
.co-saved-addr-pin{color:var(--brand);flex-shrink:0;}
.co-saved-addr-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.co-saved-addr-street{font-weight:700;font-size:0.9rem;}
.co-saved-addr-cep{font-size:0.78rem;opacity:0.6;}
.co-saved-addr-check{display:none;color:#22c55e;flex-shrink:0;}
.co-saved-addr-item--selected .co-saved-addr-check{display:block;}
.co-saved-addr-new{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;font:inherit;font-size:0.88rem;color:color-mix(in srgb,CanvasText 65%,Canvas);transition:border-color .15s,color .15s;}
.co-saved-addr-new:hover{border-color:var(--brand);color:var(--brand);}