/* Kiosk-only skin; not loaded by the other public menus. */

/* Native hidden must win over responsive grid/flex declarations. */
[hidden] { display: none !important; }
body.detail-open { overflow: hidden; }
.menu-message { font-size: 12px; color: var(--muted); white-space: pre-line; margin: 0 0 20px; }
.prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 9px; }
.prices del { font-size: 11px; color: var(--muted); }
.product > .prices { margin-top: auto; padding-right: 13px; }
.product-size { font-size: 10px; color: var(--muted); }
.product-photo { position: absolute; top: 38px; right: 12px; width: 40px; height: 40px; object-fit: contain; border-radius: 5px; }
.product:has(.product-photo) h4 { padding-right: 43px; }
.feature-media .symbol { height: 100%; display: grid; place-items: center; color: var(--accent); background: radial-gradient(ellipse at center, var(--soft), var(--bg)); }
.feature-media .symbol svg { width: 65px; height: 65px; opacity: .65; }
.feature h3 { min-height: 38px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.detail-options { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 12px; }
.detail-options h3 { font-size: 14px; }
.detail-options ul { padding: 0; list-style: none; }
.detail-options li { display: flex; gap: 12px; justify-content: space-between; margin: 12px 0; font-size: 13px; color: var(--muted); }
.detail-options b { font-weight: 500; white-space: nowrap; }
.detail-description { white-space: pre-line; overflow-wrap: anywhere; }
.detail-content h2 { overflow-wrap: anywhere; }
.footer p { margin: 0 0 10px; }
#footer-social { display: flex; gap: 15px; align-items: center; margin-bottom: 14px; }
.product-meta .badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

:root {
  color-scheme:dark;
  --bg:var(--cor-fundo,#080909);
  --card:#121313;
  --line:#292b29;
  --text:var(--cor-texto,#f6f0e8);
  --muted:#a6a6a0;
  --accent:var(--cor-primaria,#ff824e);
  --soft:#251a14;
  --radius:14px;
  font-family:Inter,"Segoe UI",Arial,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:155px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text)
}
button,input,select {
  font:inherit
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer;
  color:inherit
}
button:disabled {
  opacity:.45;
  cursor:default
}
a {
  color:inherit;
  text-decoration:none
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px
}
button {
  border:0
}
svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
.muted {
  color:var(--muted)
}
.caps {
  font-size:10px;
  font-weight:650;
  letter-spacing:1.8px;
  text-transform:uppercase
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:10px 17px;
  border:1px solid var(--line);
  border-radius:9px;
  background:transparent
}
.btn.primary {
  background:var(--accent);
  color:#17100b;
  border-color:var(--accent);
  font-weight:650
}
.btn:hover {
  border-color:#8d6049
}
.icon-button {
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:10px
}
.logo {
  width:126px;
  height:45px;
  object-fit:contain
}
.header {
  height:88px;
  position:sticky;
  top:0;
  z-index:20;
  background:var(--bg);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line)
}
.header-inner {
  max-width:1440px;
  margin:auto;
  height:100%;
  padding:0 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px
}
.brand {
  display:flex;
  align-items:center;
  gap:27px
}
.brand-copy {
  padding-left:27px;
  border-left:1px solid var(--line);
  line-height:1.8;
  color:var(--muted)
}
.header-links {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:12px
}
.shell {
  max-width:1440px;
  margin:0 auto;
  padding:35px 44px 85px;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:40px
}
.side {
  position:sticky;
  top:122px;
  align-self:start
}
.side-head {
  margin:0 0 18px 12px;
  color:var(--muted)
}
.side nav {
  display:grid;
  gap:5px
}
.category {
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  min-height:46px;
  padding:11px 13px;
  background:transparent;
  border:1px solid transparent;
  border-radius:9px;
  width:100%;
  font-size:13px;
  color:#b5b6b0
}
.category span.name {
  flex:1
}
.category small {
  font-size:11px;
  font-variant-numeric:tabular-nums;
  color:#858983
}
.category[aria-pressed=true] {
  background:var(--soft);
  border-color:#563224;
  color:var(--accent)
}
.category[aria-pressed=true] small {
  color:var(--accent)
}
.category:hover {
  background:#181a18
}
.side-note {
  border-top:1px solid var(--line);
  margin:26px 12px 0;
  padding-top:24px;
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}
.side-note b {
  display:block;
  color:#ddd9d0;
  font-weight:500;
  margin:9px 0 5px
}
.side-note svg {
  color:var(--accent)
}
.side-link {
  display:flex;
  align-items:center;
  gap:10px;
  margin:23px 12px;
  font-size:12px;
  color:var(--muted)
}
main {
  min-width:0
}
.hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:20px;
  align-items:center;
  margin-bottom:26px;
  min-height:165px
}
.eyebrow {
  color:var(--accent);
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 13px
}
.eyebrow:before {
  content:"";
  width:23px;
  height:1px;
  background:var(--accent)
}
h1 {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(35px,3.5vw,51px);
  line-height:1.06;
  font-weight:400;
  letter-spacing:-2px;
  margin:0 0 14px
}
h1 em {
  color:var(--accent);
  font-weight:400
}
h1 em span {
  white-space:nowrap
}
.hero p {
  font-size:12px;
  color:var(--muted);
  margin:0;
  line-height:1.75
}
.venue {
  height:160px;
  position:relative;
  border-radius:12px 60px 12px 12px;
  overflow:hidden
}
.venue img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 68%;
  filter:brightness(.65)
}
.venue:after {
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#0009)
}
.venue-label {
  position:absolute;
  z-index:1;
  left:16px;
  bottom:15px;
  color:#fff;
  font-size:11px;
  line-height:1.5
}
.venue-label b {
  display:block;
  letter-spacing:1.2px;
  font-size:9px;
  color:#e3d5c7
}
.searchbar {
  display:flex;
  gap:10px;
  padding:0 0 22px
}
.search {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  background:var(--card);
  border:1px solid var(--line);
  padding:0 15px;
  border-radius:10px;
  height:50px;
  color:var(--muted)
}
.search input {
  background:transparent;
  border:0;
  outline:none;
  color:var(--text);
  width:100%;
  min-width:0;
  font-size:13px;
  height:44px
}
.search:focus-within {
  border-color:var(--accent)
}
.clear {
  background:transparent;
  color:var(--muted);
  font-size:21px;
  width:28px;
  height:36px
}
.clear[hidden] {
  display:none
}
.searchbar select {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 34px 0 12px;
  color:#bbbdb6;
  font-size:12px;
  max-width:170px
}
.mobile-categories {
  display:none
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:17px
}
.section-heading h2 {
  font:400 25px Georgia,serif;
  margin:0;
  letter-spacing:-.6px
}
.section-heading p {
  font-size:11px;
  line-height:1.5;
  margin:6px 0 0;
  color:var(--muted)
}
.section-heading .counter {
  font-size:11px;
  color:var(--muted);
  white-space:nowrap
}
.features {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:30px
}
.feature {
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--radius);
  overflow:hidden;
  text-align:left;
  position:relative;
  padding:0;
  transition:border-color .15s,transform .15s
}
.feature:hover {
  border-color:#8c563b;
  transform:translateY(-2px)
}
.feature-media {
  height:160px;
  background:#0b0c0c;
  position:relative
}
.feature-media img {
  width:100%;
  height:100%;
  object-fit:contain
}
.feature-tag {
  position:absolute;
  left:12px;
  top:11px;
  background:#121313e8;
  padding:6px 8px;
  border:1px solid #ffffff15;
  border-radius:5px;
  font-size:9px;
  color:#f3d6ba;
  letter-spacing:.5px
}
.feature-body {
  padding:15px
}
.feature-body .caps {
  color:#a8aaa3;
  letter-spacing:1.1px;
  font-size:9px
}
.feature h3 {
  font-size:16px;
  font-weight:550;
  margin:7px 0 12px
}
.feature-foot {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.price {
  font-size:19px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.price .currency {
  font-size:11px;
  font-weight:450;
  margin-right:3px;
  color:var(--muted)
}
.feature .arrow {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid #44413b;
  border-radius:50%;
  color:var(--accent)
}
.feature .arrow svg {
  width:15px;
  height:15px
}
.menu-top {
  border-top:1px solid var(--line);
  padding-top:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
  gap:12px
}
.menu-top h2 {
  font:400 27px Georgia,serif;
  margin:0;
  letter-spacing:-.5px
}
.menu-top p {
  font-size:11px;
  margin:7px 0 0;
  color:var(--muted)
}
.toggle-new {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  white-space:nowrap;
  min-height:44px;
  color:var(--muted);
  cursor:pointer
}
.toggle-new input {
  accent-color:var(--accent);
  width:16px;
  height:16px
}
.category-section {
  margin:0 0 32px
}
.category-title {
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 13px;
  font-size:15px;
  font-weight:550
}
.category-title svg {
  color:var(--accent);
  width:18px
}
.category-title .num {
  font-size:10px;
  color:var(--muted);
  font-weight:400
}
.category-title:after {
  content:"";
  flex:1;
  height:1px;
  background:#212421;
  margin-left:5px
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
.product {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  height:148px;
  min-width:0;
  padding:15px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:11px;
  transition:background .15s,border-color .15s
}
.product:hover {
  background:#1b1c1a;
  border-color:#74523e
}
.product-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  height:18px;
  color:#969b92
}
.product-meta svg {
  width:17px;
  height:17px
}
.product-meta .badge {
  color:#dfbd90;
  font-size:9px;
  background:#2e261b;
  border-radius:3px;
  padding:3px 6px
}
.product h4 {
  font-size:13px;
  line-height:1.4;
  font-weight:550;
  margin:10px 0 4px;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.product .price {
  font-size:17px;
  margin-top:auto;
  line-height:26px
}
.product .chevron {
  position:absolute;
  right:15px;
  bottom:19px;
  color:#646c63;
  width:13px;
  height:13px
}
.empty {
  padding:50px 15px;
  text-align:center;
  line-height:1.7;
  color:var(--muted);
  border:1px dashed #373a35;
  border-radius:12px
}
.empty h3 {
  color:var(--text);
  font-weight:500
}
.empty svg {
  width:35px;
  height:35px;
  color:var(--accent)
}
.footer {
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:35px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--muted);
  font-size:10px;
  line-height:1.8
}
.footer a {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer-note {
  margin-top:12px;
  font-size:10px;
  color:#868b81;
  line-height:1.7
}
dialog {
  background:#111312;
  color:var(--text);
  border:1px solid #343933;
  border-radius:18px;
  max-width:calc(100% - 28px);
  max-height:90dvh;
  padding:0;
  width:660px;
  overflow:auto;
  box-shadow:0 25px 100px #0008
}
dialog::backdrop {
  background:#000b;
  backdrop-filter:blur(5px)
}
body:has(dialog[open]) {
  overflow:hidden
}
.dialog-close {
  position:absolute;
  right:15px;
  top:15px;
  z-index:2;
  background:#101211e8
}
.detail-visual {
  height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a0d0b;
  border-bottom:1px solid var(--line)
}
.detail-visual img {
  width:100%;
  height:100%;
  object-fit:contain
}
.detail-visual>.symbol {
  width:130px;
  height:130px;
  color:#b78b62;
  border:1px solid #3c3528;
  border-radius:50%;
  display:grid;
  place-items:center
}
.detail-visual>.symbol svg {
  width:55px;
  height:55px
}
.detail-content {
  padding:28px
}
.detail-content .caps {
  color:var(--accent)
}
.detail-content h2 {
  font:400 32px Georgia,serif;
  margin:12px 0 16px;
  line-height:1.15
}
.detail-description {
  font-size:13px;
  color:var(--muted);
  line-height:1.75;
  margin:0 0 20px
}
.detail-note {
  font-size:11px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:17px;
  line-height:1.6
}
.hidden {
  display:none!important
}
@media(min-width:1450px) {
  .feature-media {
  height:186px
}
.product {
  height:145px
}

}

@media(max-width:1100px) {
  .header-inner {
  padding:0 26px
}
.shell {
  padding:28px 26px 75px;
  grid-template-columns:170px minmax(0,1fr);
  gap:25px
}
.hero {
  grid-template-columns:minmax(0,1fr) 190px
}
.venue {
  height:148px
}
.header-links {
  gap:15px
}
.brand-copy {
  display:none
}
.product-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.feature-media {
  height:138px
}
.feature h3 {
  font-size:14px
}
.feature-body {
  padding:12px
}

}

@media(max-width:760px) {
  html {
  scroll-padding-top:178px
}
.header {
  height:72px
}
.header-inner {
  padding:0 19px;
  gap:12px
}
.logo {
  width:105px;
  height:38px
}
.header-links>a,.header-links>.help {
  display:none
}
.header-links {
  gap:0
}
.header-links .btn {
  font-size:11px;
  padding:8px 11px;
  gap:7px;
  min-height:40px
}
.header-links .btn svg {
  width:17px
}
.shell {
  display:block;
  padding:23px 18px 100px
}
.side {
  display:none
}
.hero {
  display:block;
  min-height:0;
  margin-bottom:23px
}
.eyebrow {
  font-size:9px;
  letter-spacing:1.5px;
  margin-bottom:13px
}
h1 {
  font-size:39px;
  letter-spacing:-1.5px;
  max-width:430px;
  line-height:1.05;
  margin-bottom:13px
}
.hero p {
  font-size:12px;
  max-width:280px
}
.venue {
  display:none
}
.searchbar {
  gap:8px;
  padding-bottom:0
}
.search {
  height:48px;
  padding:0 12px
}
.search input {
  font-size:16px
}
.searchbar select {
  font-size:11px;
  max-width:120px;
  width:120px;
  padding:0 7px
}
.mobile-categories {
  display:flex;
  position:sticky;
  top:72px;
  z-index:15;
  margin:0 -18px 23px;
  padding:13px 18px 12px;
  background:var(--bg);
  border-bottom:1px solid #252923;
  overflow:auto;
  gap:7px;
  scrollbar-width:none
}
.mobile-categories::-webkit-scrollbar {
  display:none
}
.mobile-categories .category {
  width:auto;
  flex-shrink:0;
  font-size:11px;
  min-height:38px;
  padding:8px 12px;
  gap:7px;
  background:#141613;
  border-color:#2c3029
}
.mobile-categories .category[aria-pressed=true] {
  background:#332219;
  border-color:#77503a;
  color:#ff9b65
}
.mobile-categories svg,.mobile-categories small {
  display:none
}
.section-heading {
  margin-bottom:14px
}
.section-heading h2 {
  font-size:24px
}
.section-heading p {
  font-size:10px
}
.section-heading .counter {
  font-size:9px
}
.features {
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  gap:12px;
  margin:0 -18px 24px;
  padding:0 18px 8px;
  scrollbar-width:thin;
  scrollbar-color:#4d3a2c transparent
}
.feature {
  flex:0 0 204px;
  scroll-snap-align:start
}
.feature-media {
  height:142px
}
.feature-body {
  padding:13px
}
.feature h3 {
  font-size:16px;
  margin-bottom:11px
}
.feature .price {
  font-size:18px
}
.menu-top {
  padding-top:20px;
  margin-bottom:20px
}
.menu-top h2 {
  font-size:25px
}
.menu-top p {
  font-size:10px
}
.toggle-new {
  font-size:10px;
  gap:6px
}
.product-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}
.product {
  height:146px;
  padding:13px
}
.product h4 {
  font-size:13px;
  margin-top:10px
}
.product .price {
  font-size:17px
}
.product .chevron {
  right:11px;
  bottom:18px
}
.category-section {
  margin-bottom:28px
}
.category-title {
  font-size:15px
}
.footer {
  flex-direction:column;
  gap:12px;
  font-size:11px
}
.footer-note {
  font-size:10px
}
.detail-content {
  padding:23px
}
.detail-content h2 {
  font-size:29px
}
.detail-visual {
  height:220px
}
dialog {
  border-radius:16px;
  width:500px
}

}

@media(max-width:370px) {
  .shell {
  padding-inline:13px
}
.header-inner {
  padding-inline:13px
}
.mobile-categories {
  margin-inline:-13px;
  padding-inline:13px
}
.features {
  margin-inline:-13px;
  padding-inline:13px
}
.searchbar select {
  width:100px;
  font-size:10px
}
.product h4 {
  font-size:12px
}
.product {
  padding:11px
}
.product .price {
  font-size:16px
}
h1 {
  font-size:35px
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
* {
  transition:none!important
}

}

@media(min-width:761px) and (max-height:850px) {
  .header {
  height:72px
}
.shell {
  padding-top:24px
}
.side {
  top:100px
}
.hero {
  min-height:125px;
  margin-bottom:20px
}
.hero h1 {
  font-size:39px;
  letter-spacing:-1.5px
}
.hero h1 br,.hero p br {
  display:none
}
.hero h1 em:before {
  content:" "
}
.hero p {
  max-width:430px
}
.venue {
  height:125px
}
.searchbar {
  padding-bottom:14px
}
.section-heading {
  margin-bottom:14px
}
.feature-media {
  height:140px
}

}

@media(max-width:760px) {
  .hero h1 {
  font-size:32px;
  letter-spacing:-1.2px
}
.hero h1 br {
  display:none
}
.hero h1 em:before {
  content:" "
}
.hero {
  margin-bottom:18px
}
.hero .eyebrow {
  margin-bottom:11px
}
.hero p {
  font-size:11px;
  line-height:1.7
}
.shell {
  padding-top:20px
}

}




.header-caption {
  color:var(--muted);
  font-size:10px;
  letter-spacing:1.2px
}
.detail-back {
  width:100%;
  margin-top:14px
}
.feature-controls {
  display:none
}

@media(max-width:760px) {
  .shell {
  padding-bottom:50px
}
.features {
  display:block;
  overflow:visible;
  margin:0;
  padding:0;
  scroll-snap-type:none
}
.feature {
  display:none;
  width:100%;
  margin:0;
  transform:none
}
.feature.is-current {
  display:block
}
.feature-media {
  height:174px
}
.feature-body {
  padding:15px 17px
}
.feature h3 {
  margin:6px 0 10px;
  font-size:18px
}
.feature-controls {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:7px 0 22px;
  min-height:44px
}
.carousel-arrow,.carousel-pause {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  background:transparent;
  color:var(--muted);
  border-radius:8px;
  font-size:24px
}
.carousel-arrow:hover,.carousel-pause:hover {
  background:var(--card);
  color:var(--accent)
}
.carousel-pause {
  font-size:16px
}
.feature-dots {
  display:flex;
  gap:0
}
.feature-dot {
  display:grid;
  place-items:center;
  width:30px;
  height:44px;
  padding:0;
  background:transparent
}
.feature-dot:after {
  content:"";
  height:5px;
  width:5px;
  background:#565b52;
  border-radius:10px;
  transition:width .2s,background .2s
}
.feature-dot[aria-current=true]:after {
  background:var(--accent);
  width:20px
}
.feature-position {
  font-size:10px;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  min-width:28px
}
.feature .feature-tag {
  top:12px;
  left:12px
}

}
