/* vietnamese */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cdba852a-71b7-4945-b478-3169ac7e69f1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d74f8819-c120-412a-a0b0-bd4d48689c89.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Alfa Slab One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fe930331-478e-4bc5-8021-198978b96359.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bungee';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/59c9fe3f-3d87-48b3-966f-488a1c27504a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bungee';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/9d29935d-1cc3-4450-a7d3-03e4ae84a386.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bungee';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/810a6984-0e1a-4444-a4d7-329eea14635d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/f30293b2-819a-4952-8e66-ce784c1f9d49.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/61bdba41-2ec2-4e71-8e6d-717f04aea048.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/0e9e49af-7abe-4464-af3d-39205f78de64.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/de98c8b0-9a88-4a08-bfea-677e3400232a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/d6ce87f4-afd6-473a-94f6-5bb1b12c35ca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/f30293b2-819a-4952-8e66-ce784c1f9d49.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/61bdba41-2ec2-4e71-8e6d-717f04aea048.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/0e9e49af-7abe-4464-af3d-39205f78de64.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/de98c8b0-9a88-4a08-bfea-677e3400232a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/d6ce87f4-afd6-473a-94f6-5bb1b12c35ca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/f30293b2-819a-4952-8e66-ce784c1f9d49.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/61bdba41-2ec2-4e71-8e6d-717f04aea048.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/0e9e49af-7abe-4464-af3d-39205f78de64.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/de98c8b0-9a88-4a08-bfea-677e3400232a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/d6ce87f4-afd6-473a-94f6-5bb1b12c35ca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/f30293b2-819a-4952-8e66-ce784c1f9d49.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/61bdba41-2ec2-4e71-8e6d-717f04aea048.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/0e9e49af-7abe-4464-af3d-39205f78de64.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/de98c8b0-9a88-4a08-bfea-677e3400232a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/d6ce87f4-afd6-473a-94f6-5bb1b12c35ca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/f30293b2-819a-4952-8e66-ce784c1f9d49.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/61bdba41-2ec2-4e71-8e6d-717f04aea048.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/0e9e49af-7abe-4464-af3d-39205f78de64.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/de98c8b0-9a88-4a08-bfea-677e3400232a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/d6ce87f4-afd6-473a-94f6-5bb1b12c35ca.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/94769de3-1aa6-421b-9f48-bdf9d933f0d7.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/22a58735-cafd-4645-9e62-c14ddffab743.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Special Elite';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/f10e821e-40f2-4793-a5c0-bb0ecf8eed63.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Special Elite';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/22becc65-8854-4e0a-9fb4-bae916d19320.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ===========================================================
   ZÉ DA ROÇA — sistema visual
   Estética: banca de feira, popular brasileira, retrô
   =========================================================== */

:root{
  /* --- paleta (editável via Tweaks) --- */
  --amarelo:   #F2BE3C;   /* amarelo fubá / milho */
  --amarelo-2: #E8A91E;   /* gema mais forte */
  --vermelho:  #C42A24;   /* vermelho tomate / feira */
  --vermelho-2:#9B1B16;   /* vermelho escuro / lacre */
  --creme:     #F4E8CC;   /* papel antigo */
  --creme-2:   #EADFC0;
  --branco:    #FBF4E3;   /* branco sujo (leitura) */
  --marrom:    #5B3A24;   /* madeira / terra */
  --marrom-2:  #3A2415;   /* madeira escura */
  --verde:     #5E7B36;   /* caldo de cana */
  --verde-2:   #47611f;
  --grafite:   #221C15;   /* contraste / tinta */

  /* --- tipografia --- */
  --f-letreiro: 'Alfa Slab One', Georgia, serif;   /* letreiro pintado grande */
  --f-carimbo:  'Special Elite', 'Courier New', monospace; /* voz da marca: comanda/carimbo */
  --f-corpo:    'Libre Franklin', system-ui, sans-serif;   /* leitura */

  --maxw: 1180px;
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family:var(--f-corpo);
  color:var(--grafite);
  background-color:var(--creme);
  background-image:
    radial-gradient(circle at 20% 12%, rgba(255,255,255,.35), transparent 38%),
    var(--paper-noise);
  background-attachment:fixed, scroll;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* textura de papel — turbulência SVG aplicada via variável */
:root{
  --paper-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}

img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
a{ color:inherit; text-decoration:none; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px; }

/* ============ TEXTOS / UTIL ============ */
.eyebrow{
  font-family:var(--f-carimbo);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:13px;
}
.kraft-noise::before{
  content:""; position:absolute; inset:0;
  background-image:var(--paper-noise);
  mix-blend-mode:multiply; opacity:.5; pointer-events:none;
}

/* ============ TOLDO / LONA LISTRADA ============ */
.toldo{
  height:34px;
  background:repeating-linear-gradient(90deg,
    var(--vermelho) 0 38px,
    var(--branco) 38px 76px);
  position:relative;
  box-shadow:inset 0 -6px 12px rgba(0,0,0,.18);
}
.toldo::after{
  content:""; position:absolute; left:0; right:0; top:100%;
  height:20px;
  background:
    radial-gradient(20px 22px at 19px 0,
       transparent 0 17px,
       var(--branco) 17px) repeat-x;
  background-size:38px 22px;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.18));
}
.toldo.toldo-amarelo{
  background:repeating-linear-gradient(90deg,
    var(--vermelho) 0 38px, var(--amarelo) 38px 76px);
}

/* ============ CARIMBO / SELO ============ */
.selo{
  font-family:var(--f-carimbo);
  text-transform:uppercase;
  display:inline-grid; place-items:center;
  text-align:center; line-height:1.05;
  color:var(--vermelho-2);
  border:2.5px solid var(--vermelho-2);
  border-radius:50%;
  width:84px; height:84px;
  font-size:11px; letter-spacing:.04em;
  padding:6px;
  background:rgba(251,244,227,.55);
  box-shadow:inset 0 0 0 4px rgba(155,27,22,.12);
  transform:rotate(-12deg);
  position:relative;
}
.selo::after{
  content:""; position:absolute; inset:6px;
  border:1.5px dashed rgba(155,27,22,.5);
  border-radius:50%;
}
.selo.verde{ color:var(--verde-2); border-color:var(--verde-2); box-shadow:inset 0 0 0 4px rgba(71,97,31,.12); }
.selo.verde::after{ border-color:rgba(71,97,31,.5); }

/* selo pequeno tipo etiqueta */
.tag{
  font-family:var(--f-carimbo);
  text-transform:uppercase;
  font-size:10.5px; letter-spacing:.08em;
  padding:3px 9px;
  display:inline-block; white-space:nowrap;
  border:1.5px solid currentColor;
  border-radius:2px;
  background:var(--branco);
}
.tag.maispedido{ color:var(--vermelho-2); transform:rotate(-3deg); }
.tag.dacasa{ color:var(--verde-2); transform:rotate(2deg); }
.tag.novidade{ color:var(--marrom); background:var(--amarelo); border-color:var(--marrom); transform:rotate(-2deg); }

/* ============ FITA / TAPE ============ */
.tape{
  position:absolute;
  width:96px; height:30px;
  background:rgba(242,190,60,.62);
  box-shadow:0 2px 5px rgba(0,0,0,.12);
  border-left:1px dashed rgba(0,0,0,.12);
  border-right:1px dashed rgba(0,0,0,.12);
}

/* ============ BOTÕES ============ */
.btn{
  font-family:var(--f-carimbo);
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:17px;
  border:3px solid var(--grafite);
  padding:15px 26px;
  background:var(--amarelo);
  color:var(--grafite);
  border-radius:3px;
  box-shadow:4px 4px 0 var(--grafite);
  transition:transform .08s ease, box-shadow .08s ease, background .15s ease;
  display:inline-flex; align-items:center; gap:10px;
}
.btn:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--grafite); }
.btn:active{ transform:translate(2px,2px); box-shadow:1px 1px 0 var(--grafite); }
.btn.vermelho{ background:var(--vermelho); color:var(--branco); }
.btn.verde{ background:var(--verde); color:var(--branco); }
.btn.outline{ background:transparent; box-shadow:3px 3px 0 var(--grafite); }
.btn.lg{ font-size:20px; padding:18px 32px; }
.btn.sm{ font-size:13px; padding:9px 15px; box-shadow:3px 3px 0 var(--grafite); border-width:2px; }

/* ============ TÍTULOS DE SEÇÃO ============ */
.sec-head{ position:relative; text-align:center; margin:0 auto 34px; }
.sec-num{
  font-family:var(--f-carimbo);
  font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--vermelho); display:block; margin-bottom:6px;
}
.sec-title{
  font-family:var(--f-letreiro);
  font-size:clamp(34px, 8vw, 64px);
  line-height:.96; margin:0;
  color:var(--marrom-2);
  text-transform:uppercase;
  letter-spacing:.01em;
}
.sec-title .stroke{ color:var(--vermelho); }
.cat-title{
  font-family:var(--f-carimbo); font-size:18px; color:var(--vermelho);
  text-transform:uppercase; margin:30px 0 20px;
  display:flex; align-items:center; gap:12px;
}
.cat-title::after{ content:""; flex:1; height:2px; background:rgba(196,42,36,.15); }

/* ============ NAV / TOPO ============ */
.topbar{
  position:sticky; top:0; z-index:40;
  background:var(--vermelho);
  color:var(--branco);
  border-bottom:3px solid var(--grafite);
}
.topbar .row{ display:flex; align-items:center; justify-content:space-between; height:58px; gap:12px; }
.topbar .mark{ font-family:var(--f-letreiro); font-size:22px; letter-spacing:.02em; color:var(--amarelo); text-shadow:1.5px 1.5px 0 var(--grafite); }
.topbar nav{ display:flex; gap:6px; align-items:center; }
.topbar nav a{ font-family:var(--f-carimbo); font-size:13px; text-transform:uppercase; letter-spacing:.05em; padding:8px 10px; border-radius:3px; opacity:.92; white-space:nowrap; line-height:1; }
.topbar nav a:hover{ background:rgba(0,0,0,.18); opacity:1; }
.topbar .navcta{ background:var(--amarelo); color:var(--grafite); border:2px solid var(--grafite); box-shadow:2px 2px 0 var(--grafite); padding:10px 14px; }
.nav-hide-mobile{ }
@media (max-width:760px){
  .nav-hide-mobile{ display:none !important; }
}

/* ============ HERO ============ */
.hero{
  position:relative;
  background:
    linear-gradient(rgba(155,27,22,.04), rgba(155,27,22,.04)),
    var(--amarelo);
  border-bottom:4px solid var(--grafite);
  overflow:hidden;
}
.hero .raios{
  position:absolute; inset:-30% -10% auto; height:160%;
  background:repeating-conic-gradient(from 0deg at 50% 22%,
     rgba(255,255,255,.16) 0deg 7deg, transparent 7deg 14deg);
  pointer-events:none;
  animation: girarRaios 60s linear infinite;
}
@keyframes girarRaios {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.hero .wrap{ position:relative; z-index:2; padding-top:46px; padding-bottom:54px; display:grid; gap:30px; grid-template-columns:1.05fr .95fr; align-items:center; }
.hero-badge{
  font-family:var(--f-carimbo); text-transform:uppercase; letter-spacing:.1em;
  font-size:11.5px; color:var(--vermelho-2);
  border:2px solid var(--vermelho-2); border-radius:40px;
  padding:6px 15px; background:rgba(251,244,227,.6);
  display:inline-flex; gap:8px; align-items:center; white-space:nowrap;
}
.hero h1{
  font-family:var(--f-carimbo);
  font-weight:400;
  margin:18px 0 6px;
  line-height:.9;
  letter-spacing:-.01em;
}
.hero h1 .z1{
  display:block;
  font-family:var(--f-letreiro);
  font-size:clamp(64px,15vw,150px);
  color:var(--vermelho);
  text-transform:uppercase;
  text-shadow:
     4px 4px 0 var(--grafite),
     5px 5px 0 var(--grafite);
  letter-spacing:.005em;
  line-height:.82;
}
.hero h1 .z2{
  display:block;
  font-family:var(--f-letreiro);
  font-size:clamp(40px,9.4vw,94px);
  color:var(--marrom-2);
  text-transform:uppercase;
  line-height:.85;
  -webkit-text-stroke:1px var(--grafite);
}
.hero .lead{
  font-size:clamp(17px,2.3vw,21px);
  font-weight:600; max-width:30ch; margin:14px 0 26px;
  color:var(--marrom-2);
}
.hero .ctas{ display:flex; gap:14px; flex-wrap:wrap; }

/* composição visual do hero (lado direito) */
.hero-art{ position:relative; min-height:360px; }
.hero-plate{
  position:absolute; inset:8% 4% 6% 6%;
  transform:rotate(-3deg);
}

/* placeholder de imagem (hachura) */
.ph{
  position:relative;
  background:
    repeating-linear-gradient(45deg,
      rgba(91,58,36,.16) 0 8px, transparent 8px 16px),
    var(--creme);
  border:2.5px solid var(--marrom-2);
  border-radius:4px;
  display:grid; place-items:center;
  color:var(--marrom-2);
  overflow:hidden;
}
.ph .ph-label{
  font-family:var(--f-carimbo); text-transform:uppercase;
  font-size:12px; letter-spacing:.1em;
  background:var(--branco); padding:5px 11px;
  border:1.5px solid var(--marrom-2); border-radius:2px;
  transform:rotate(-2deg);
  text-align:center; line-height:1.3;
}

/* ============ MARQUEE / FAIXA ============ */
.faixa{
  background:var(--grafite); color:var(--amarelo);
  border-top:3px solid var(--grafite); border-bottom:3px solid var(--grafite);
  overflow:hidden; padding:13px 0;
}
.faixa.verde{ background:var(--verde); color:var(--branco); }
.marquee{ display:flex; gap:0; white-space:nowrap; width:max-content; animation:slide 26s linear infinite; }
.marquee:hover{ animation-play-state:paused; }
.marquee span{
  font-family:var(--f-letreiro); text-transform:uppercase;
  font-size:21px; letter-spacing:.02em; padding:0 26px;
  display:inline-flex; align-items:center; gap:26px;
}
.marquee .dot{ width:11px; height:11px; border-radius:50%; background:var(--vermelho); display:inline-block; }
@keyframes slide{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ SEÇÕES ============ */
section{ position:relative; }
.pad{ padding:64px 0; }

/* tabs de categoria */
.tabs{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:34px; }
.tab{
  font-family:var(--f-carimbo); text-transform:uppercase;
  font-size:14px; letter-spacing:.06em;
  border:2.5px solid var(--grafite); background:var(--branco);
  color:var(--grafite); padding:10px 18px; border-radius:3px;
  box-shadow:3px 3px 0 var(--grafite);
  transition:transform .08s, box-shadow .08s;
}
.tab:hover{ transform:translate(-1px,-1px); }
.tab.active{ background:var(--vermelho); color:var(--branco); transform:translate(2px,2px); box-shadow:1px 1px 0 var(--grafite); }

/* grade de comandas */
.menu-grid{
  display:grid; gap:22px;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
}
.ficha{
  position:relative;
  background:var(--branco);
  border:2.5px solid var(--grafite);
  border-radius:4px;
  padding:20px 20px 18px;
  box-shadow:5px 5px 0 rgba(34,28,21,.16);
  transition:transform .12s ease, box-shadow .12s ease;
}
.ficha:nth-child(3n){ transform:rotate(-.7deg); }
.ficha:nth-child(3n+2){ transform:rotate(.6deg); }
.ficha:hover{ transform:translateY(-4px) rotate(0deg); box-shadow:8px 9px 0 rgba(34,28,21,.2); z-index:3; }
.ficha .ficha-top{ display:flex; gap:14px; align-items:flex-start; }
.ficha .ph{ width:78px; height:78px; flex:0 0 78px; }
.ficha .ph .ph-label{ font-size:9px; padding:3px 6px; }
.ficha h3{ font-family:var(--f-letreiro); font-size:21px; line-height:1; margin:2px 0 6px; color:var(--marrom-2); text-transform:uppercase; }
.ficha p{ margin:0; font-size:13.5px; color:#5b4a37; line-height:1.4; }
.ficha .preco{
  font-family:var(--f-carimbo); font-size:22px; color:var(--vermelho-2);
  margin-top:12px; display:flex; align-items:baseline; gap:6px;
  border-top:1.5px dashed rgba(34,28,21,.25); padding-top:11px;
}
.ficha .preco small{ font-size:12px; opacity:.7; }
.ficha .selos{ position:absolute; top:-12px; right:-8px; display:flex; flex-direction:column; gap:4px; align-items:flex-end; }

/* fundo doce */
.doces{ background:
   linear-gradient(rgba(196,42,36,.05), rgba(196,42,36,.05)),
   var(--creme-2);
   border-top:4px solid var(--grafite); border-bottom:4px solid var(--grafite); }

/* ============ BEBIDAS ============ */
.bebidas{ background:var(--verde); color:var(--branco); border-bottom:4px solid var(--grafite); }
.bebidas .sec-title{ color:var(--branco); }
.bebidas .sec-title .stroke{ color:var(--amarelo); }
.bebidas .sec-num{ color:var(--amarelo); }
.cana{
  background:var(--branco); color:var(--grafite);
  border:3px solid var(--grafite); border-radius:5px;
  box-shadow:7px 7px 0 var(--verde-2);
  padding:26px; display:grid; grid-template-columns:200px 1fr; gap:26px; align-items:center;
  margin-bottom:30px; position:relative;
}
.cana .ph{ height:200px; }
.cana h3{ font-family:var(--f-letreiro); font-size:clamp(28px,5vw,42px); margin:0 0 4px; color:var(--verde-2); text-transform:uppercase; line-height:.95; }
.cana .desc{ font-size:16px; max-width:46ch; }
.cana-footer{
  margin-top:20px;
  border-top:1.5px dashed rgba(34,28,21,.2); padding-top:15px;
}
.cana-tabela{ border-collapse:collapse; width:100%; }
.cana-tabela tr + tr td{ border-top:1px dashed rgba(34,28,21,.12); }
.cana-tabela td{ padding:6px 0; vertical-align:baseline; }
.cana .unidade{ font-family:var(--f-carimbo); font-size:14px; opacity:.7; text-transform:uppercase; padding-right:16px; }
.cana .preco{ font-family:var(--f-carimbo); font-size:22px; color:var(--vermelho-2); text-align:right; }
.bebida-mini{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px; }
.bebida-card{
  background:rgba(251,244,227,.95); color:var(--grafite);
  border:2.5px solid var(--grafite); border-radius:4px;
  padding:16px; display:flex; align-items:center; gap:14px;
  box-shadow:4px 4px 0 var(--verde-2);
}
.bebida-card .ph{ width:56px; height:56px; flex:0 0 56px; }
.bebida-card h4{ font-family:var(--f-carimbo); font-size:15px; margin:0 0 3px; text-transform:uppercase; }
.bebida-card .preco{ font-family:var(--f-carimbo); color:var(--vermelho-2); font-size:17px; }

/* ============ LOCAL ============ */
.local{ background:var(--marrom-2); color:var(--branco); border-bottom:4px solid var(--grafite); }
.local .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:38px; align-items:center; }
.local h2{ font-family:var(--f-letreiro); font-size:clamp(30px,6vw,52px); text-transform:uppercase; line-height:.95; margin:8px 0 16px; color:var(--amarelo); }
.local .info{ display:flex; flex-direction:column; gap:16px; }
.local .info-line{ display:flex; gap:13px; align-items:flex-start; }
.local .info-line .ic{ font-family:var(--f-carimbo); flex:0 0 38px; height:38px; border:2px solid var(--amarelo); color:var(--amarelo); border-radius:50%; display:grid; place-items:center; font-size:16px; }
.local .info-line b{ display:block; font-family:var(--f-carimbo); text-transform:uppercase; font-size:13px; letter-spacing:.08em; color:var(--amarelo); margin-bottom:2px; }
.local .info-line span{ font-size:16px; }
.mapa{ position:relative; }
.mapa .ph{ height:300px; }

/* ============ FINAL ============ */
.final{ background:var(--vermelho); color:var(--branco); text-align:center; border-bottom:4px solid var(--grafite); }
.final h2{ font-family:var(--f-letreiro); font-size:clamp(44px,11vw,108px); text-transform:uppercase; line-height:.86; margin:0 0 8px; text-shadow:4px 4px 0 var(--grafite); }
.final h2 .y{ color:var(--amarelo); }
.final p{ font-family:var(--f-carimbo); font-size:clamp(16px,2.6vw,22px); margin:0 auto 30px; max-width:30ch; }
.final .ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ============ RODAPÉ ============ */
.foot{ background:var(--grafite); color:var(--creme); padding:34px 0; }
.foot .row{ display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.foot .mark{ font-family:var(--f-letreiro); font-size:28px; color:var(--amarelo); text-transform:uppercase; }
.foot small{ font-family:var(--f-carimbo); font-size:12px; opacity:.7; line-height:1.7; }
.foot-copy{ font-family:var(--f-carimbo); font-size:11px; opacity:.55; }

/* ============ RESPONSIVO ============ */
@media (max-width:860px){
  .hero .wrap{ grid-template-columns:1fr; }
  .hero-art{ min-height:300px; order:-1; }
  .cana{ grid-template-columns:1fr; }
  .cana .ph{ height:160px; }
  .local .wrap{ grid-template-columns:1fr; }
  .pad{ padding:48px 0; }
}
@media (max-width:480px){
  .wrap{ padding:0 16px; }
  .ficha .ph{ flex:0 0 64px; width:64px; height:64px; }
  .btn{ font-size:15px; padding:13px 18px; }
}

/* ============ TWEAKS host ============ */
#tweaks-root{ position:fixed; right:0; top:0; z-index:9999; }

/* sem inclinações (Tweak "bagunça" desligado) */
.sem-bagunca .ficha,
.sem-bagunca .selo,
.sem-bagunca .tag,
.sem-bagunca .tape,
.sem-bagunca .hero-plate{ transform:none !important; }
.sem-bagunca .ficha:hover{ transform:translateY(-4px) !important; }
