/* ============================================================
   ESTILO DO SITE (css/estilo.css)
   Aqui está todo o visual: cores, tamanhos, espaços, telemóvel e impressão.
   Para mudar as CORES, vai ao bloco ":root" no início do ficheiro.
   O que muda só em ecrãs pequenos está perto do fim, em "RESPONSIVE".
   ============================================================ */
@font-face{font-family:"Anton";font-weight:400;font-display:swap;src:url("/fonts/anton-400-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Anton";font-weight:400;font-display:swap;src:url("/fonts/anton-400-latin.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}
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url("/fonts/barlow-400-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url("/fonts/barlow-400-latin.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}
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url("/fonts/barlow-500-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url("/fonts/barlow-500-latin.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}
@font-face{font-family:"Barlow";font-weight:600;font-display:swap;src:url("/fonts/barlow-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-weight:600;font-display:swap;src:url("/fonts/barlow-600-latin.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}
@font-face{font-family:"Barlow";font-weight:700;font-display:swap;src:url("/fonts/barlow-700-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow";font-weight:700;font-display:swap;src:url("/fonts/barlow-700-latin.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}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url("/fonts/barlow-condensed-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url("/fonts/barlow-condensed-600-latin.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}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url("/fonts/barlow-condensed-700-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url("/fonts/barlow-condensed-700-latin.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}
/* ============ VARIÁVEIS (muda aqui as cores) ============ */
:root{
  --carvao:#0D0D0D;        /* fundo principal */
  --carvao-2:#181818;      /* cartões */
  --carvao-3:#2A2A28;      /* bordas / hover */
  --lima:#B0BF3F;          /* CTA e realces */
  --oliva:#7E8C4A;         /* secundária / detalhes */
  --creme:#F4F3EA;         /* texto */
  --creme-2:#A9AA9B;       /* texto secundário */
  --raio:14px;
  --titulo:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;   /* títulos: grossa e condensada, como nos sites de fast food */
  --destaque:"Barlow Condensed","Arial Narrow","Roboto Condensed",sans-serif;   /* botões, preços, nomes dos pratos */
  --traco:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22100 95 1010 235%22%3E%3Cpath fill=%22%23B0BF3F%22 fill-rule=%22evenodd%22 d=%22M118.4 321.2C119.1 320.4 121.2 317.8 122.7 316.2C124.3 314.6 126 313.1 127.8 311.7C129.6 310.2 131.5 308.9 133.4 307.6C135.3 306.2 137.2 304.9 139.1 303.6C141.1 302.3 143 301 145 299.8C146.9 298.5 148.9 297.2 150.9 296C152.8 294.8 154.8 293.6 156.8 292.4C158.8 291.2 160.9 290 162.9 288.9C164.9 287.7 166.9 286.5 168.9 285.3C170.9 284.2 172.9 283 175 281.9C177 280.7 179 279.6 181.1 278.4C183.1 277.3 185.1 276.2 187.2 275.1C189.2 274 191.3 272.9 193.4 271.9C195.5 270.9 197.6 269.9 199.7 268.8C201.8 267.8 203.9 266.8 206 265.8C208.1 264.8 210.2 263.7 212.3 262.8C214.4 261.8 216.5 260.9 218.7 260C220.8 259.1 223 258.2 225.1 257.3C227.2 256.4 229.4 255.5 231.5 254.6C233.7 253.7 235.8 252.7 237.9 251.8C240.1 251 242.3 250.2 244.5 249.3C246.6 248.5 248.8 247.7 251 247C253.2 246.2 255.4 245.4 257.6 244.7C259.9 243.9 262.1 243.2 264.3 242.5C266.5 241.8 268.7 241 270.9 240.3C273.1 239.6 275.4 238.9 277.6 238.2C279.8 237.6 282.1 236.9 284.3 236.3C286.6 235.7 288.8 235.1 291.1 234.5C293.3 233.9 295.6 233.3 297.9 232.8C300.1 232.2 302.4 231.7 304.6 231.1C306.9 230.6 309.2 230.1 311.5 229.6C313.8 229.1 316 228.6 318.3 228.2C320.6 227.7 322.9 227.3 325.2 226.8C327.5 226.4 329.8 226 332.1 225.7C334.4 225.3 336.7 225 339 224.7C341.3 224.4 343.6 224.1 346 223.8C348.3 223.6 350.6 223.3 352.9 223C355.2 222.7 357.5 222.4 359.9 222.2C362.2 222 364.5 221.8 366.8 221.6C369.1 221.4 371.5 221.2 373.8 221.1C376.1 220.9 378.4 220.8 380.8 220.7C383.1 220.5 385.4 220.4 387.8 220.4C390.1 220.3 392.4 220.3 394.8 220.2C397.1 220.2 399.4 220.1 401.8 220.1C404.1 220.1 406.4 220.1 408.7 220C411.1 220 413.4 220 415.7 220C418.1 219.9 420.4 219.9 422.7 219.9C425.1 219.9 427.4 219.9 429.7 219.9C432.1 219.9 434.4 219.8 436.7 219.8C439.1 219.8 441.4 219.8 443.7 219.8C446.1 219.8 448.4 219.8 450.7 219.8C453.1 219.8 455.4 219.8 457.7 219.8C460.1 219.8 462.4 219.8 464.7 219.8C467.1 219.8 469.4 219.8 471.7 219.8C474.1 219.8 476.4 219.7 478.7 219.7C481.1 219.7 483.4 219.7 485.7 219.7C488.1 219.7 490.4 219.7 492.7 219.7C495.1 219.6 497.4 219.6 499.7 219.6C502.1 219.6 504.4 219.6 506.7 219.6C509.1 219.6 511.4 219.5 513.7 219.5C516.1 219.5 518.4 219.5 520.7 219.6C523.1 219.6 525.4 219.6 527.7 219.6C530.1 219.6 532.4 219.6 534.7 219.6C537.1 219.6 539.4 219.5 541.8 219.5C544.1 219.5 546.4 219.6 548.8 219.6C551.1 219.6 553.4 219.6 555.8 219.6C558.1 219.6 560.4 219.6 562.7 219.6C565.1 219.6 567.4 219.6 569.7 219.6C572.1 219.6 574.4 219.6 576.7 219.6C579.1 219.6 581.4 219.6 583.7 219.6C586.1 219.6 588.4 219.6 590.7 219.6C593.1 219.6 595.4 219.6 597.7 219.6C600.1 219.6 602.4 219.6 604.7 219.6C607.1 219.6 609.4 219.6 611.7 219.6C614.1 219.6 616.4 219.6 618.7 219.5C621.1 219.5 623.4 219.5 625.7 219.5C628.1 219.5 630.4 219.5 632.7 219.5C635.1 219.5 637.4 219.5 639.7 219.4C642.1 219.4 644.4 219.4 646.7 219.4C649.1 219.4 651.4 219.4 653.7 219.4C656.1 219.4 658.4 219.4 660.7 219.4C663.1 219.4 665.4 219.4 667.8 219.4C670.1 219.4 672.4 219.5 674.8 219.5C677.1 219.5 679.4 219.5 681.8 219.5C684.1 219.5 686.4 219.5 688.8 219.5C691.1 219.5 693.4 219.5 695.7 219.6C698.1 219.6 700.4 219.6 702.7 219.6C705.1 219.6 707.4 219.7 709.8 219.7C712.1 219.7 714.4 219.7 716.8 219.7C719.1 219.7 721.4 219.7 723.8 219.7C726.1 219.6 728.4 219.6 730.7 219.6C733.1 219.6 735.4 219.6 737.7 219.5C740.1 219.5 742.4 219.6 744.7 219.6C747.1 219.6 749.4 219.6 751.7 219.6C754.1 219.6 756.4 219.6 758.7 219.6C761.1 219.6 763.4 219.6 765.7 219.6C768.1 219.6 770.4 219.6 772.7 219.6C775.1 219.6 777.4 219.6 779.7 219.6C782.1 219.6 784.4 219.5 786.7 219.5C789.1 219.5 791.4 219.5 793.7 219.5C796.1 219.4 798.4 219.4 800.7 219.4C803.1 219.4 805.4 219.4 807.7 219.3C810.1 219.3 812.4 219.2 814.7 219.2C817.1 219.1 819.4 219.1 821.7 219C824.1 219 826.4 218.9 828.7 218.9C831 218.8 833.4 218.8 835.7 218.8C838 218.8 840.4 218.7 842.7 218.7C845 218.7 847.4 218.6 849.7 218.6C852 218.5 854.4 218.5 856.7 218.5C859 218.4 861.4 218.5 863.7 218.4C866 218.4 868.4 218.4 870.7 218.3C873 218.2 875.4 218.1 877.7 218C880 218 882.4 217.9 884.7 217.8C887 217.8 889.3 217.7 891.7 217.6C894 217.5 896.3 217.4 898.6 217.3C901 217.2 903.3 217 905.6 216.8C908 216.6 910.3 216.5 912.6 216.3C914.9 216.1 917.2 215.9 919.6 215.7C921.9 215.4 924.2 215.2 926.5 215C928.9 214.7 931.2 214.5 933.5 214.3C935.8 214 938.1 213.8 940.5 213.6C942.8 213.3 945.1 213.1 947.4 212.8C949.7 212.6 952.1 212.3 954.4 212.1C956.7 211.8 959 211.6 961.3 211.2C963.6 210.9 966 210.6 968.3 210.3C970.6 209.9 972.9 209.6 975.2 209.2C977.5 208.9 979.8 208.5 982.1 208.1C984.4 207.8 986.7 207.4 989 206.9C991.3 206.5 993.6 206.1 995.8 205.6C998.1 205.2 1000.4 204.7 1002.7 204.2C1005 203.7 1007.2 203.2 1009.5 202.7C1011.8 202.2 1014.1 201.7 1016.3 201.2C1018.6 200.6 1020.9 200 1023.1 199.3C1025.3 198.7 1027.5 198 1029.7 197.2C1031.9 196.4 1034.1 195.6 1036.2 194.7C1038.4 193.8 1040.5 192.8 1042.6 191.7C1044.6 190.7 1046.7 189.5 1048.6 188.2C1050.5 187 1052.4 185.6 1054.2 184.2C1056 182.7 1057.8 181.2 1059.4 179.5C1061 177.9 1062.5 176.1 1063.9 174.3C1065.2 172.4 1066.5 170.5 1067.5 168.4C1068.5 166.4 1069.3 164.2 1069.8 162.1C1070.4 159.8 1070.7 157.6 1070.9 155.3C1071 153 1070.9 150.7 1070.6 148.4C1070.4 146.2 1069.9 143.9 1069.2 141.7C1068.5 139.6 1067.5 137.4 1066.4 135.4C1065.4 133.4 1064.1 131.5 1062.7 129.6C1061.3 127.7 1059.8 126 1058.3 124.2C1056.8 122.4 1055.2 120.8 1053.8 119C1052.5 117.2 1050.9 114.9 1050 113.6C1049.2 112.3 1048.9 111.6 1048.6 111.2C1049.8 111 1053.1 110.1 1055.3 109.9C1057.5 109.6 1059.8 109.5 1062.1 109.7C1064.3 109.9 1066.6 110.3 1068.7 111C1070.8 111.7 1072.8 112.8 1074.7 114C1076.6 115.2 1078.4 116.7 1080.1 118.3C1081.8 119.8 1083.4 121.5 1084.9 123.2C1086.5 125 1088 126.8 1089.3 128.6C1090.7 130.5 1092 132.4 1093.1 134.4C1094.3 136.4 1095.4 138.5 1096.3 140.6C1097.3 142.7 1098.2 144.9 1098.8 147.1C1099.6 149.3 1100.1 151.5 1100.6 153.8C1101 156 1101.3 158.3 1101.5 160.7C1101.7 163 1101.7 165.3 1101.7 167.6C1101.7 169.9 1101.6 172.3 1101.4 174.6C1101.1 176.9 1100.8 179.2 1100.4 181.4C1099.9 183.7 1099.3 185.9 1098.5 188.1C1097.8 190.2 1096.8 192.4 1095.7 194.4C1094.7 196.4 1093.4 198.4 1092.1 200.2C1090.7 202.1 1089.2 203.9 1087.7 205.7C1086.2 207.4 1084.6 209.1 1082.9 210.7C1081.2 212.3 1079.5 213.9 1077.7 215.3C1075.9 216.8 1074 218.2 1072.1 219.5C1070.2 220.8 1068.3 222.1 1066.3 223.3C1064.3 224.6 1062.3 225.7 1060.3 226.8C1058.2 228 1056.2 229 1054.1 230C1052 231 1049.8 232 1047.7 232.9C1045.6 233.8 1043.4 234.7 1041.2 235.5C1039 236.3 1036.9 237.1 1034.7 237.9C1032.5 238.7 1030.3 239.4 1028 240.2C1025.8 240.9 1023.6 241.6 1021.4 242.2C1019.1 242.9 1016.9 243.5 1014.6 244.1C1012.4 244.7 1010.1 245.2 1007.8 245.7C1005.6 246.3 1003.3 246.8 1001 247.3C998.8 247.9 996.5 248.4 994.2 248.9C991.9 249.4 989.7 249.9 987.4 250.4C985.1 250.8 982.8 251.3 980.5 251.7C978.2 252.1 975.9 252.4 973.6 252.8C971.3 253.1 969 253.4 966.7 253.7C964.4 254.1 962.1 254.4 959.8 254.7C957.5 255.1 955.2 255.4 952.9 255.7C950.5 256 948.2 256.2 945.9 256.5C943.6 256.8 941.3 257.1 939 257.3C936.6 257.6 934.3 257.9 932 258.1C929.7 258.4 927.4 258.7 925.1 258.9C922.7 259.2 920.4 259.5 918.1 259.7C915.8 259.9 913.5 260.1 911.1 260.3C908.8 260.4 906.5 260.6 904.2 260.7C901.8 260.9 899.5 261 897.2 261.1C894.9 261.2 892.5 261.4 890.2 261.5C887.9 261.6 885.5 261.8 883.2 261.9C880.9 262.1 878.6 262.3 876.2 262.4C873.9 262.6 871.6 262.7 869.3 262.8C866.9 262.9 864.6 263 862.3 263.1C859.9 263.2 857.6 263.3 855.3 263.4C852.9 263.4 850.6 263.5 848.3 263.6C845.9 263.7 843.6 263.8 841.3 263.9C839 264 836.6 264.1 834.3 264.2C832 264.2 829.6 264.3 827.3 264.4C825 264.4 822.6 264.5 820.3 264.5C818 264.6 815.6 264.6 813.3 264.7C811 264.7 808.6 264.8 806.3 264.8C804 264.9 801.6 265 799.3 265.1C797 265.3 794.7 265.4 792.3 265.6C790 265.7 787.7 265.9 785.4 266C783 266.1 780.7 266.2 778.4 266.3C776 266.4 773.7 266.4 771.4 266.5C769 266.6 766.7 266.7 764.4 266.8C762 266.8 759.7 266.9 757.4 267C755.1 267.1 752.7 267.2 750.4 267.3C748.1 267.3 745.7 267.4 743.4 267.4C741.1 267.5 738.7 267.5 736.4 267.6C734.1 267.7 731.7 267.7 729.4 267.8C727.1 267.9 724.8 267.9 722.4 268C720.1 268.1 717.8 268.2 715.4 268.2C713.1 268.3 710.8 268.4 708.4 268.5C706.1 268.6 703.8 268.7 701.4 268.8C699.1 268.9 696.8 269 694.5 269.1C692.1 269.2 689.8 269.3 687.5 269.4C685.1 269.5 682.8 269.5 680.5 269.6C678.1 269.7 675.8 269.8 673.5 269.9C671.1 270.1 668.8 270.2 666.5 270.3C664.1 270.4 661.8 270.5 659.5 270.6C657.1 270.7 654.8 270.8 652.5 270.9C650.2 271 647.8 271 645.5 271.1C643.2 271.2 640.8 271.3 638.5 271.4C636.2 271.5 633.8 271.6 631.5 271.7C629.2 271.7 626.9 271.8 624.5 271.9C622.2 272 619.9 272.1 617.5 272.2C615.2 272.3 612.9 272.4 610.5 272.6C608.2 272.7 605.9 272.8 603.6 273C601.2 273.1 598.9 273.2 596.6 273.4C594.2 273.6 591.9 273.7 589.6 273.9C587.3 274.1 584.9 274.3 582.6 274.5C580.3 274.7 578 275 575.7 275.2C573.4 275.5 571 275.8 568.7 276.1C566.4 276.5 564.1 276.8 561.8 277.2C559.5 277.5 557.2 277.9 554.9 278.3C552.6 278.7 550.3 279.1 548 279.5C545.7 279.9 543.4 280.3 541.1 280.7C538.8 281.1 536.5 281.6 534.3 282C532 282.4 529.7 282.9 527.4 283.4C525.1 283.8 522.8 284.3 520.5 284.8C518.3 285.3 516 285.8 513.7 286.3C511.5 286.9 509.2 287.4 506.9 288C504.7 288.6 502.4 289.2 500.2 289.8C497.9 290.4 495.7 291.1 493.5 291.7C491.2 292.4 489 293 486.8 293.7C484.5 294.4 482.3 295.1 480.1 295.9C477.9 296.7 475.8 297.5 473.6 298.4C471.5 299.2 469.3 300.1 467.2 301.1C465.1 302.1 463 303.1 461 304.2C458.9 305.3 457 306.5 455.1 307.9C453.2 309.2 451.4 310.7 449.7 312.2C448 313.8 446.2 315.5 444.7 317C443.1 318.5 441.1 320.4 440.4 321.1C439.3 321.2 435.8 321.6 433.5 321.8C431.2 321.9 428.9 322 426.5 322C424.2 322.1 421.9 322.1 419.5 322.1C417.2 322.1 414.9 322.1 412.5 322.1C410.2 322.1 407.9 322.1 405.5 322.2C403.2 322.2 400.9 322.2 398.5 322.2C396.2 322.2 393.9 322.2 391.5 322.2C389.2 322.2 386.9 322.2 384.5 322.2C382.2 322.2 379.9 322.2 377.5 322.2C375.2 322.2 372.9 322.2 370.5 322.2C368.2 322.2 365.9 322.2 363.5 322.2C361.2 322.2 358.9 322.2 356.5 322.2C354.2 322.2 351.9 322.3 349.5 322.3C347.2 322.3 344.9 322.3 342.5 322.3C340.2 322.3 337.9 322.3 335.5 322.3C333.2 322.3 330.9 322.3 328.5 322.3C326.2 322.3 323.9 322.4 321.5 322.4C319.2 322.4 316.9 322.5 314.5 322.5C312.2 322.5 309.9 322.5 307.5 322.5C305.2 322.5 302.9 322.5 300.5 322.5C298.2 322.5 295.9 322.5 293.5 322.5C291.2 322.5 288.9 322.5 286.5 322.5C284.2 322.6 281.9 322.6 279.5 322.6C277.2 322.6 274.9 322.6 272.5 322.6C270.2 322.6 267.9 322.6 265.6 322.6C263.2 322.6 260.9 322.6 258.6 322.7C256.2 322.7 253.9 322.7 251.6 322.8C249.2 322.8 246.9 322.9 244.6 322.9C242.2 322.9 239.9 322.9 237.6 323C235.2 323 232.9 323 230.6 323C228.2 323 225.9 323 223.6 322.9C221.2 322.9 218.9 322.9 216.6 322.9C214.2 322.9 211.9 322.9 209.6 323C207.2 323 204.9 323 202.6 323C200.2 323 197.9 323 195.6 323C193.2 323 190.9 323.1 188.6 323.1C186.2 323.1 183.9 323.1 181.6 323.1C179.2 323.1 176.9 323.1 174.6 323.1C172.2 323.1 169.9 323.1 167.6 323.1C165.2 323.1 162.9 323.2 160.6 323.2C158.2 323.2 155.9 323.2 153.6 323.3C151.2 323.3 148.9 323.3 146.6 323.3C144.2 323.4 141.9 323.4 139.6 323.4C137.2 323.5 134.9 323.6 132.6 323.5C130.3 323.4 128 323.3 125.8 323C123.6 322.6 120.6 321.8 119.3 321.5C118.1 321.2 118.6 321.3 118.4 321.2Z%22/%3E%3C/svg%3E");   /* o traço verde do logótipo */
  --corpo:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--alt-header,64px) + 8px)}
body{background:var(--carvao);color:var(--creme);font-family:var(--corpo);font-size:1.0625rem;line-height:1.5}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:0;color:inherit}
:focus-visible{outline:3px solid var(--lima);outline-offset:3px}
.wrap{width:min(1120px,92%);margin-inline:auto}
h1,h2{font-family:var(--titulo);font-weight:400;line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
h3{font-family:var(--destaque);font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.03em}
h2{font-size:clamp(2.1rem,5.2vw,3.3rem);margin-bottom:.5em}
section h2::after{content:"";display:block;width:120px;aspect-ratio:1010/235;margin-top:.45rem;background:var(--traco) no-repeat left center/contain}   /* traço verde sob cada título */

/* Botões */
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--lima);color:var(--carvao);font-family:var(--destaque);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;padding:.7rem 1.5rem;border-radius:999px;transition:transform .15s,background .15s}
.btn:hover{background:#c4d452;transform:translateY(-2px)}
.btn:active{transform:scale(.97)}
.btn--xl{font-size:1.6rem;padding:.9rem 2.4rem;box-shadow:0 10px 30px -8px var(--lima)}

/* Espaço reservado para fotos: substitui por <img src="a-tua-foto.jpg" alt="..."> */
.foto{aspect-ratio:4/3;border-radius:var(--raio);background:
  radial-gradient(circle at 30% 30%,#4a5326,transparent 60%),
  linear-gradient(135deg,#2c2f1c,#121311);
  display:grid;place-items:center;color:var(--creme-2);font-size:.9rem;overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover}

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:50;background:rgba(22,17,14,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--carvao-3)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0}
.logo{display:block;line-height:0}
.logo svg{display:block;height:clamp(40px,6vw,54px);width:auto;aspect-ratio:1010/290}
.logo-rodape{display:block;height:50px;width:auto;aspect-ratio:1010/290}
.links{display:flex;gap:1.3rem;list-style:none}
.links a{white-space:nowrap;color:var(--creme);text-decoration:none;font-family:var(--destaque);font-weight:600;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em}
.links a:hover{color:var(--lima)}
.cart-btn{white-space:nowrap;position:relative;display:flex;align-items:center;gap:.5rem;background:var(--lima);padding:.6rem 1.1rem;border-radius:999px;font-family:var(--destaque);font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--carvao)}
.cart-btn svg{width:20px;height:20px}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,9vw,7rem) 0;background:
  radial-gradient(ellipse at 85% 20%,rgba(126,140,74,.35),transparent 55%),
  radial-gradient(ellipse at 10% 100%,rgba(126,140,74,.18),transparent 55%)}
.hero{min-height:min(80vh,680px);display:flex;align-items:center}
.hero .wrap{display:block}
.hero-entrada{max-width:760px}
.hero h1{font-size:clamp(2.7rem,8vw,5.6rem);letter-spacing:.01em;line-height:1;margin-bottom:.35em}
.hero .wrap{position:relative;z-index:1}
.hero::after{content:"";position:absolute;right:-3%;bottom:6%;width:min(75vw,820px);aspect-ratio:1010/235;background:var(--traco) no-repeat center/contain;opacity:.13;pointer-events:none}
.hero p{font-size:1.3rem;color:#D8D8CC;max-width:34ch;margin-bottom:1.8rem}   /* um pouco mais claro: lê-se bem sobre a foto */
.hero-entrada>*{animation:entra .4s cubic-bezier(.2,.8,.2,1) backwards}
.hero-entrada>.estado{animation-delay:.05s}
.hero-entrada>p:not(.nota){animation-delay:.1s}
.hero-entrada>.btn{animation:entra .4s cubic-bezier(.2,.8,.2,1) .1s backwards,pulso 3s 2.6s infinite}
.hero-entrada>.nota{animation-delay:.1s}
@keyframes entra{from{opacity:0;transform:translateY(24px)}}

/* ============ MENU (tabs) ============ */
section{padding:clamp(3rem,7vw,5rem) 0}
.tabs{display:flex;gap:.6rem;overflow-x:auto;padding:.3rem 0 1rem;margin-bottom:1rem;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;background:var(--carvao-2);border:2px solid var(--carvao-3);padding:.5rem 1.3rem;border-radius:999px;font-family:var(--destaque);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;transition:.2s}
.tab:hover{border-color:var(--lima)}
.tab[aria-selected="true"]{background:var(--lima);border-color:var(--lima);color:var(--carvao)}
.vazio-cat{grid-column:1/-1;padding:2.5rem 1rem;text-align:center;opacity:.7;font-size:1.1rem}
.grelha{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem}

/* ============ CARTÃO DE PRODUTO ============ */
a.card{color:inherit;text-decoration:none}
.card{background:var(--carvao-2);border:1px solid var(--carvao-3);border-radius:var(--raio);padding:.8rem;display:flex;flex-direction:column;gap:.8rem}
.card.novo{animation:entraLado .45s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i)*60ms)} /* entrada em cascata; vem do lado para onde se desliza */
.card h3{font-size:1.4rem;letter-spacing:.02em;margin-top:.2rem}
.card p{color:var(--creme-2);font-size:.92rem;flex:1}
.card-fim{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:0}
.preco{font-family:var(--destaque);font-size:2rem;font-weight:700;letter-spacing:.01em;color:var(--lima)}
.preco small{font-size:.9rem}
.preco--vazio{font-family:var(--corpo);font-size:.95rem;color:var(--creme-2)}


/* ============ SALSA / CONTACTOS ============ */
.salsa{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.salsa p{color:var(--creme-2);margin-bottom:1rem;max-width:48ch}



.etiqueta{align-self:flex-start;font-size:.8rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;background:rgba(176,191,63,.15);color:var(--lima);margin:0 .2rem}
.nota{font-size:1rem}
.hero .nota{margin-top:1.2rem;margin-bottom:0}
.nota a,.contactos a{color:var(--lima);font-weight:700}
/* Barra fixa "Ligar" só em telemóvel */
.barra-ligar{display:none}

.tabs-barra{position:sticky;top:var(--alt-header,64px);z-index:40;background:var(--carvao);box-shadow:0 0 0 100vmax var(--carvao);clip-path:inset(0 -100vmax);padding-top:.5rem}
.estado{display:inline-flex;align-items:center;gap:.55rem;font-size:.95rem;font-weight:700;padding:.4rem .95rem;border-radius:999px;background:var(--carvao-2);border:1px solid var(--carvao-3);margin-bottom:1rem}
.ponto{width:10px;height:10px;border-radius:50%;background:var(--creme-2)}
.estado.aberto .ponto{background:var(--lima);box-shadow:0 0 0 4px rgba(176,191,63,.25)}
.prato-dia{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;background:var(--carvao-2);border:1px solid var(--lima);border-radius:var(--raio);padding:1.2rem 1.4rem;margin-bottom:1.2rem}
.prato-dia[hidden]{display:none}
.prato-dia h3{font-size:1.3rem;margin:.4rem 0 .2rem}.prato-dia p{color:var(--creme-2)}
.redes{display:flex;gap:1rem;margin-top:.9rem}
.redes a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--carvao-3);border-radius:50%;color:var(--creme)}
.redes a:hover{color:var(--lima);border-color:var(--lima)}
.redes svg{width:20px;height:20px}
/* --- acabamento --- */
.saltar{position:absolute;left:-999px;top:0;background:var(--lima);color:var(--carvao);font-weight:700;padding:.7rem 1rem;z-index:200;border-radius:0 0 10px 0}
.saltar:focus{left:0}
.card{box-shadow:0 6px 18px -10px rgba(0,0,0,.8);transition:transform .2s,border-color .2s,box-shadow .2s}
@media (hover:hover){.card:hover{transform:translateY(-4px);border-color:var(--oliva);box-shadow:0 16px 30px -14px rgba(0,0,0,.9)}}
header,.nav,.logo svg{transition:padding .25s,height .25s}
header.compacto .nav{padding:.35rem 0}
header.compacto .logo svg{height:clamp(32px,4.5vw,40px)}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.visto{opacity:1;transform:none}
.hero--foto{background:var(--carvao)}
.hero--foto::before{content:"";position:absolute;inset:-2% 0;z-index:0;background:var(--hero-foto) 68% center/cover no-repeat;translate:0 var(--py,0px);transform-origin:70% 50%;animation:zoomlento 26s ease-in-out infinite alternate;will-change:scale,translate}
.hero--foto::after{content:"";position:absolute;inset:0;width:auto;aspect-ratio:auto;opacity:1;z-index:0;background:linear-gradient(90deg,rgba(13,13,13,.86) 0%,rgba(13,13,13,.5) 42%,rgba(13,13,13,.04) 100%)}
.hero--foto h1,.hero--foto p{text-shadow:0 2px 16px rgba(0,0,0,.65)}
.rodape{border-top:1px solid var(--carvao-3);padding:2.5rem 0 1.2rem;color:var(--creme-2);font-size:.92rem}
.rodape-grelha{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.rodape h3{font-size:1.15rem;color:var(--creme);margin-bottom:.6rem}
.rodape p+p{margin-top:.4rem}
.rodape a{color:var(--creme)}
.rodape a:hover{color:var(--lima)}
.rodape .redes a{color:var(--creme)}
.rodape-fim{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--carvao-3);font-size:.85rem}
/* --- animações (todas desligadas para quem prefere menos movimento) --- */
@keyframes sobe{from{transform:translateY(105%)}}
@keyframes zoomlento{to{scale:1.09}}
@keyframes pulso{0%{box-shadow:0 10px 30px -8px var(--lima),0 0 0 0 rgba(176,191,63,.55)}70%,100%{box-shadow:0 10px 30px -8px var(--lima),0 0 0 18px rgba(176,191,63,0)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(176,191,63,.6)}100%{box-shadow:0 0 0 10px rgba(176,191,63,0)}}
@keyframes corre{to{transform:translateX(-50%)}}
@keyframes rola{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes logoIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.logo svg{animation:logoIn .5s cubic-bezier(.2,.8,.2,1) backwards}
.pal{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.12em 0 .06em;margin:-.12em 0 -.06em}
.pal>span{display:inline-block;animation:sobe .4s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i)*15ms)}
.estado.aberto .ponto{animation:ping 2s infinite}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);pointer-events:none}
.btn:hover::after{left:150%;transition:left .75s ease}
.foto img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
@media (hover:hover){.card:hover .foto img{transform:scale(1.07)}}
.js section h2::after{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1) .15s}
.js section h2.visto::after{clip-path:inset(0)}
.js .stag>*{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*110ms)}
.js .stag.visto>*{opacity:1;transform:none}
.faixa{background:var(--lima);color:var(--carvao);overflow:hidden}
.faixa-pista{display:flex;width:max-content;animation:corre 40s linear infinite}
.faixa:hover .faixa-pista{animation-play-state:paused}
.faixa span{font-family:var(--destaque);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem;padding:.85rem 0 .85rem 2.8rem;white-space:nowrap}
.faixa span::after{content:"";display:inline-block;width:.45em;height:.45em;margin-left:2.8rem;border-radius:50%;background:var(--carvao);vertical-align:middle}
.rolar{position:absolute;left:50%;bottom:1.1rem;z-index:2;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(244,243,234,.55);border-radius:14px}
.rolar span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--creme);animation:rola 1.8s infinite}
/* --- separadores deslizantes: setas, esbatimento nas pontas, arrastar --- */
@keyframes entraLado{from{opacity:0;transform:translate(var(--dx,0px),var(--dy,24px))}}
.tabs{cursor:grab;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.tabs.a-arrastar{cursor:grabbing;scroll-snap-type:none}
.tab{scroll-snap-align:center}
.tabs-barra::before,.tabs-barra::after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s}
.tabs-barra::before{left:0;background:linear-gradient(90deg,var(--carvao) 15%,transparent)}
.tabs-barra::after{right:0;background:linear-gradient(270deg,var(--carvao) 15%,transparent)}
.tabs-barra.borda-esq::before,.tabs-barra.borda-dir::after{opacity:1}
.seta{position:absolute;top:18px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid var(--carvao-3);background:var(--carvao-2);color:var(--creme);font-size:1.4rem;line-height:1;display:none;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,background .2s,color .2s}
.seta--esq{left:0}.seta--dir{right:0}
.seta:hover{background:var(--lima);color:var(--carvao)}
@media (hover:hover) and (min-width:821px){.seta{display:grid}.tabs-barra.borda-esq .seta--esq,.tabs-barra.borda-dir .seta--dir{opacity:1;visibility:visible;pointer-events:auto}}
/* --- mais pedidos, partilhar e menu em PDF --- */
.acoes-menu{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.1rem}
.btn-sec{text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1.5px solid var(--carvao-3);color:var(--creme);padding:.4rem 1rem;border-radius:999px;font-family:var(--destaque);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;transition:border-color .2s,color .2s}
.btn-sec:hover{border-color:var(--lima);color:var(--lima)}
.btn-sec svg{width:18px;height:18px}
.mais-pedidos{margin:.4rem 0 2rem}
.mais-pedidos[hidden]{display:none}
.mais-pedidos>h3{font-size:1.35rem;letter-spacing:.1em;color:var(--lima);margin-bottom:.8rem}
.mais-pedidos .lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.card--destaque{cursor:pointer;border-color:rgba(176,191,63,.4)}
.realce{outline:2px solid var(--lima);outline-offset:3px;box-shadow:0 0 0 8px rgba(176,191,63,.18)}
#menuImpressao{display:none}
@media print{
  @page{size:A4;margin:11mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body>*:not(#menuImpressao){display:none!important}
  body{background:#fff!important;padding:0!important}
  #menuImpressao{display:block!important;font-family:var(--corpo),Arial,Helvetica,sans-serif;color:#111;font-size:10pt}
  .im-topo{display:flex;justify-content:space-between;align-items:center;background:#0D0D0D;color:#F4F3EA;border-radius:3mm;padding:6mm 8mm}
  .im-logo{height:19mm;width:auto;display:block}
  .im-contacto{text-align:right;font-size:9pt;line-height:1.45;color:#D9DACB}
  .im-contacto b{display:block;color:#B0BF3F;font-size:11pt;letter-spacing:.04em}
  .im-titulo{font-family:var(--titulo),Impact,sans-serif;font-size:30pt;line-height:1;text-transform:uppercase;margin:7mm 0 5mm;color:#0D0D0D}
  .im-titulo::after{content:"";display:block;width:36mm;height:2.2mm;background:#B0BF3F;margin-top:2.5mm;border-radius:1mm}
  #menuImpressao .cols{columns:2;column-gap:10mm}
  #menuImpressao h2{break-after:avoid;background:#0D0D0D;color:#B0BF3F;font-family:var(--destaque),"Arial Narrow",sans-serif;font-weight:700;font-size:12.5pt;letter-spacing:.1em;text-transform:uppercase;padding:1.3mm 3mm 1mm;margin:0 0 2.4mm;border-radius:1.2mm;line-height:1.2}
  #menuImpressao .cat{margin-bottom:5mm}
  #menuImpressao .it{break-inside:avoid;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 4mm;margin-bottom:2.4mm}
  #menuImpressao .it b{font-family:var(--destaque),"Arial Narrow",sans-serif;font-weight:700;font-size:11pt;text-transform:uppercase;letter-spacing:.02em;flex:1 1 0}
  #menuImpressao .it .pr{order:2;font-family:var(--destaque),"Arial Narrow",sans-serif;font-weight:700;font-size:11.5pt;white-space:nowrap}
  #menuImpressao .it small{order:3;flex:0 0 100%;color:#444;font-size:8.4pt;line-height:1.3}
  .im-alergenios{margin-top:3mm;font-size:8.2pt;color:#555}
  .im-rodape{margin-top:4mm;border-top:.7mm solid #B0BF3F;padding-top:2.5mm;font-size:8.2pt;color:#555;display:flex;justify-content:space-between;gap:6mm}
}
/* --- sobre nós e avaliações --- */
#avaliacoes[hidden]{display:none}
.avaliacoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
.aval{background:var(--carvao-2);border:1px solid var(--carvao-3);border-radius:var(--raio);padding:1.4rem}
.estrelas{color:var(--lima);letter-spacing:.2em;margin-bottom:.6rem}
.aval p{color:var(--creme);margin-bottom:.9rem}
.aval-nome{color:var(--creme-2);font-weight:700;font-size:.9rem}
.mais-aval{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.8rem}
@media (max-width:1260px){.links{display:none}}   /* com letras condensadas o menu do topo cabe, mas em ecrãs médios fica só o botão de ligar */
/* --- selo "Mais pedido" e cartões em destaque (estilo cartaz de fast food) --- */
.foto{position:relative}
.mais-pedidos>h3{font-family:var(--titulo);font-weight:400;font-size:clamp(1.9rem,4.4vw,2.8rem);letter-spacing:.01em;line-height:1;color:var(--creme);margin-bottom:1rem}
.card.card--destaque{display:block;position:relative;padding:0;gap:0;border:0;overflow:hidden;background:#000;aspect-ratio:4/3;box-shadow:0 10px 28px -14px rgba(0,0,0,.9)}
.card.card--destaque .foto{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.card.card--destaque::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.9));pointer-events:none}
.card.card--destaque h3{position:absolute;z-index:2;left:1rem;right:1rem;bottom:3.9rem;margin:0;font-size:1.9rem;line-height:1}
.card.card--destaque .card-fim{position:absolute;z-index:2;left:1rem;right:1rem;bottom:.9rem;padding:0}
@media (hover:hover){.card.card--destaque:hover{border-color:transparent}}
/* --- topo com vários pratos --- */
.hero--slides::before{display:none}
.hero-slides{position:absolute;inset:-2% 0;z-index:0;translate:0 var(--py,0px)}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;background:no-repeat 68% center/cover;transform-origin:70% 50%}
.hero-slide.ativo{opacity:1;animation:zoomlento 24s ease-in-out forwards}
.hero-extra:empty{display:none}
.hero-prato{display:block;font-family:var(--destaque);font-weight:700;font-size:1.5rem;text-transform:uppercase;letter-spacing:.05em;color:var(--creme);margin-bottom:.15rem}
.hero-pontos{position:absolute;z-index:3;left:calc((100% - min(1120px,92%))/2);bottom:1.2rem;display:flex;gap:.5rem}
.hero-pontos{opacity:0;pointer-events:none}   /* sem barra à vista: só marca o tempo de cada prato e aparece quando se navega com o teclado */
.hero-pontos:focus-within{opacity:1;pointer-events:auto}
.hp{background:none;border:0;padding:.8rem 0;cursor:pointer}
.hp i{display:block;position:relative;overflow:hidden;width:46px;height:5px;border-radius:3px;background:rgba(244,243,234,.35)}
.hp i::after{content:"";position:absolute;inset:0;background:var(--lima);transform:scaleX(0);transform-origin:left}
.hp.ativo i::after{animation:encher 7s linear forwards}
.hero:hover .hp.ativo i::after{animation-play-state:paused}
@keyframes encher{to{transform:scaleX(1)}}
/* --- seletor de idioma --- */
.nav-dir{display:flex;align-items:center;gap:.6rem}
.idioma{position:relative}
.idioma-btn{display:flex;align-items:center;gap:.4rem;background:transparent;border:1.5px solid var(--carvao-3);color:var(--creme);font-family:var(--destaque);font-weight:700;font-size:1.05rem;letter-spacing:.05em;padding:.45rem .8rem;border-radius:999px;transition:border-color .2s,color .2s}
.idioma-btn:hover,.idioma-btn[aria-expanded="true"]{border-color:var(--lima);color:var(--lima)}
.idioma-btn svg{width:18px;height:18px}
.idioma-lista{position:absolute;right:0;top:calc(100% + .5rem);min-width:170px;list-style:none;background:var(--carvao-2);border:1px solid var(--carvao-3);border-radius:12px;padding:.4rem;z-index:90;box-shadow:0 16px 36px -12px rgba(0,0,0,.9)}
.idioma-lista[hidden]{display:none}
.idioma-lista li{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-radius:8px;cursor:pointer;font-size:1.02rem}
.bandeira{display:inline-block;flex:none;width:24px;height:16px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.bandeira svg{display:block;width:100%;height:100%}
.idioma-lista li:hover,.idioma-lista li:focus-visible{background:var(--carvao-3)}
.idioma-lista li[aria-selected="true"]{color:var(--lima);font-weight:700}
header.nav-compacta .links{display:none}   /* se, num idioma mais comprido, o menu do topo não couber, esconde-se */
/* --- perguntas frequentes e nota das estatísticas --- */
.nota-analitica{color:var(--creme-2);font-size:.8rem;margin-top:1rem}
.nota-analitica[hidden]{display:none}
/* --- acessibilidade: pausa do movimento, janela de privacidade --- */
.links-nav{display:block}
.pausa{position:absolute;z-index:4;right:calc((100% - min(1120px,92%))/2);bottom:1.1rem;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1.5px solid rgba(244,243,234,.55);background:rgba(13,13,13,.55);color:var(--creme);cursor:pointer;transition:border-color .2s,color .2s}
.pausa:hover{border-color:var(--lima);color:var(--lima)}
.pausa svg{width:18px;height:18px}
.pausa .ic-play{display:none}
.pausa[aria-pressed="true"] .ic-play{display:block}
.pausa[aria-pressed="true"] .ic-pausa{display:none}
html.pausado .hp.ativo i::after,html.pausado .faixa-pista,html.pausado .hero-slide.ativo,html.pausado .hero--foto::before,html.pausado .rolar span{animation-play-state:paused}
.hero:focus-within .hp.ativo i::after{animation-play-state:paused}
#dlgPriv{background:var(--carvao-2);color:var(--creme);border:1px solid var(--carvao-3);border-radius:var(--raio);padding:1.6rem 1.6rem 1.2rem;width:min(680px,92vw);max-height:86vh;overflow:auto;margin:auto}
#dlgPriv::backdrop{background:rgba(0,0,0,.72)}
#dlgPriv h2{font-size:clamp(1.7rem,4vw,2.2rem);margin-bottom:.8rem;padding-right:3rem}
#dlgPriv h2::after{content:none}
#dlgPriv p{color:var(--creme-2);margin-bottom:.8rem;font-size:1rem}
#dlgPriv a{color:var(--lima);font-weight:700}
.dlg-fechar{position:absolute;top:.8rem;right:.8rem;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--carvao-3);background:transparent;color:var(--creme);font-size:1.6rem;line-height:1;cursor:pointer}
.dlg-fechar:hover{border-color:var(--lima);color:var(--lima)}
/* --- página de cada prato --- */
.pagina-prato{display:none;padding:clamp(1.4rem,4vw,2.6rem) 0 clamp(3rem,7vw,5rem);min-height:60vh}
.pagina-prato:focus{outline:none}
body.vista-prato #inicio{display:none}
body.vista-prato .pagina-prato{display:block}
.pagina-prato .wrap{animation:entra .5s cubic-bezier(.2,.8,.2,1) backwards}
.migalhas{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;color:var(--creme-2);font-size:.95rem;margin-bottom:1.2rem}
.migalhas a,.migalhas button{background:none;border:0;color:var(--creme-2);padding:0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.migalhas a:hover,.migalhas button:hover{color:var(--lima)}
.migalhas span[aria-hidden]{opacity:.5}
.prato-grelha{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:start}
.prato-foto{position:relative;aspect-ratio:4/3;border-radius:var(--raio);overflow:hidden;background:radial-gradient(circle at 30% 30%,#3a4220,transparent 62%),linear-gradient(135deg,#222419,#121311)}
.prato-foto img{width:100%;height:100%;object-fit:cover;display:block}
.prato-foto--vazia::before,.foto--vazia::before{content:"";position:absolute;inset:0;background:var(--traco) no-repeat center/72%;opacity:.16}
.prato-info h1{font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.04;margin:.1rem 0 .8rem;text-shadow:none}
.prato-texto{color:var(--creme);font-size:1.15rem;margin-bottom:1.2rem}
.prato-info h2{font-size:1.45rem;letter-spacing:.06em;color:var(--lima);margin:1.4rem 0 .7rem;font-family:var(--destaque);font-weight:700}
.prato-info h2::after{content:none}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{background:var(--carvao-2);border:1px solid var(--carvao-3);border-radius:999px;padding:.35rem .9rem;font-size:1rem}
.prato-extra{display:inline-block;margin-top:.9rem;background:rgba(176,191,63,.14);color:var(--lima);font-weight:700;border-radius:6px;padding:.3rem .8rem}
.prato-factos{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;margin-top:1rem;color:var(--creme-2)}
.prato-factos dt{color:var(--creme);font-weight:700}
.prato-acoes{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.prato-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--carvao-3)}
.prato-nav a{text-decoration:none;color:var(--creme);font-family:var(--destaque);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;max-width:48%;text-align:left}
.prato-nav a:last-child{text-align:right;margin-left:auto}
.prato-nav a:hover{color:var(--lima)}
.nota-alergenios{color:var(--creme-2);font-size:.92rem;margin-top:1.2rem}
.nota-alergenios a{color:var(--lima);font-weight:700}
.prato-nav small{display:block;color:var(--creme-2);font-family:var(--corpo);font-weight:400;font-size:.8rem;letter-spacing:.04em}
.relacionados{margin-top:clamp(2rem,5vw,3.2rem)}
.relacionados h2{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:1rem}
.relacionados-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{cursor:pointer}
.ver-mais{color:var(--lima);font-family:var(--destaque);font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.card:focus-visible{outline-offset:2px}
/* --- pesquisa no menu --- */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pesquisa{position:relative;max-width:560px;margin:.2rem 0 .5rem}
.pesquisa input{width:100%;background:var(--carvao-2);border:1.5px solid var(--carvao-3);border-radius:999px;color:var(--creme);font:inherit;font-size:1.05rem;padding:.85rem 3rem .85rem 3rem;transition:border-color .2s}
.pesquisa input::placeholder{color:var(--creme-2)}
.pesquisa input:focus{outline:none;border-color:var(--lima)}
.pesquisa input::-webkit-search-cancel-button{display:none}
.pesq-ic{position:absolute;left:1.05rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--creme-2);pointer-events:none}
#pesqLimpar{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:var(--carvao-3);color:var(--creme);font-size:1.3rem;line-height:1;cursor:pointer}
#pesqLimpar[hidden]{display:none}
.pesq-info{color:var(--creme-2);font-size:.9rem;min-height:1.2em;margin:0 0 .3rem .4rem}
.a-pesquisar .tab{opacity:.55}
.sem-resultados{color:var(--creme-2);grid-column:1/-1;padding:1rem .2rem}
/* ============ RESPONSIVE ============ */
@media (max-width:820px){
  .links{display:none}
  .hero .wrap,.salsa,.sobre{grid-template-columns:1fr}
  .cart-btn .txt{display:none}
  body{padding-bottom:64px}
  /* telemóvel: topo compacto, com o preço e o botão logo abaixo do título (não ficam tapados pela barra de baixo) */
  .hero--foto{--foto-h:clamp(210px,calc(100svh - 460px),380px);align-items:flex-end;min-height:min(calc(100svh - var(--alt-header,70px) - 64px),720px);padding-top:calc(var(--foto-h) - 80px);padding-bottom:4.4rem}
  .hero-slides{inset:0 0 auto 0;height:var(--foto-h)}
  .hero-slide{background-size:cover;background-position:right center;transform-origin:70% 50%}
  .hero--foto::before{inset:0 0 auto 0;height:var(--foto-h);background:var(--hero-foto) right center/cover no-repeat;transform-origin:70% 50%}
  .hero--foto::after{background:linear-gradient(180deg,rgba(13,13,13,.15) 0,rgba(13,13,13,0) 70px,rgba(13,13,13,0) calc(var(--foto-h) - 170px),var(--carvao) var(--foto-h))}
  .hero h1{font-size:clamp(2.1rem,9.4vw,2.9rem);line-height:1.1;margin-bottom:.15em}
  .hero-entrada{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
  .hero-entrada>*{flex:0 0 100%;margin:0}
  .hero-entrada>.estado{flex:0 0 auto;order:1}
  .hero-entrada>h1{order:2}
  .hero-entrada>#heroTexto{order:3;font-size:1.08rem}
  .hero-entrada>.hero-extra{flex:0 0 auto;order:4}
  .hero-entrada>.btn{flex:0 0 auto;order:5}
  .hero-entrada>.nota{display:none}
  .hero-prato{font-size:1.25rem}
  .btn--xl{font-size:1.3rem;padding:.7rem 1.5rem}
  .hero-pontos{bottom:.9rem}
  .pausa{width:40px;height:40px;bottom:.8rem}
  /* "Os mais pedidos" passam a deslizar para o lado, em vez de ocuparem três ecrãs */
  .mais-pedidos .lista{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -4vw;padding:0 4vw .6rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mais-pedidos .lista::-webkit-scrollbar{display:none}
  .mais-pedidos .card--destaque{flex:0 0 78%;scroll-snap-align:center}
  .prato-grelha{grid-template-columns:1fr}
  .prato-acoes .btn{flex:1 1 100%}
  body{padding-bottom:56px}
  .barra-ligar{font-size:1.2rem;padding:.55rem 1rem calc(.55rem + env(safe-area-inset-bottom,0px))}
  .rolar{display:none}
  .hero{min-height:0}
  /* telemóvel: a foto aparece inteira no topo e esbate-se para o fundo escuro, com o texto por baixo */
  .hp i{width:38px}
  .rodape-grelha{grid-template-columns:1fr}
  /* cartões compactos: foto pequena ao lado do texto */
  .grelha{grid-template-columns:1fr;gap:.9rem}
  .card{display:grid;grid-template-columns:92px 1fr;gap:.35rem .8rem;align-items:start;padding:.7rem}
  .card .foto{grid-row:1/span 4;aspect-ratio:1;border-radius:10px;font-size:.7rem}
  .card>:not(.foto){grid-column:2}
  .card h3{font-size:1.25rem;margin:0}
  .card p{font-size:.85rem}
  .card-fim{padding:0}
  .card-fim .btn{padding:.55rem .9rem;font-size:.85rem}
  .preco{font-size:1.6rem}
  .card.card--destaque{aspect-ratio:16/10}
  .card.card--destaque h3{font-size:1.7rem}
  .btn-sec{padding:.4rem .8rem;font-size:.95rem;gap:.4rem}
  .preco--vazio{font-size:.82rem;line-height:1.2}
  .card .etiqueta{justify-self:start}
  .barra-ligar{display:flex;justify-content:center;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--lima);color:var(--carvao);font-family:var(--destaque);font-weight:700;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* áreas de toque, botão de ligar e aviso de horário */
.mapas a,.rodape p a,.rodape-fim a{display:inline-flex;align-items:center;min-height:44px}
.redes a{width:44px;height:44px}
.cart-btn,.btn-sec{min-height:44px}
.hp{padding:19.5px 0;margin:-7.5px 0}
.cart-btn .num{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:821px){.cart-btn .txt{display:none}.cart-btn .num{display:inline}}
.barra-ligar{flex-direction:column}
.barra-ligar small{font-family:var(--corpo);font-weight:600;font-size:.8rem;line-height:1.2;text-transform:none;letter-spacing:0}
.barra-ligar small:empty{display:none}

/* --- faixa de aviso no topo --- */
.aviso{display:flex;align-items:center;justify-content:center;gap:.8rem;background:var(--lima);color:var(--carvao);padding:.55rem 3.2rem .55rem 1rem;position:relative;text-align:center;font-weight:600;font-size:1rem;line-height:1.3}
.aviso[hidden]{display:none}
.aviso p{margin:0}
.aviso-fechar{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;color:var(--carvao);font-size:1.7rem;line-height:1;cursor:pointer;border-radius:50%}
.aviso-fechar:hover{background:rgba(0,0,0,.12)}
/* --- prato do dia (agora pode abrir o prato) --- */
a.prato-dia{color:inherit;text-decoration:none;cursor:pointer}
@media (hover:hover){a.prato-dia:hover{border-color:var(--creme)}}
.prato-dia .ver-mais{margin-left:.8rem}
/* --- O meu pedido --- */
.sr-so{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.card-wrap{position:relative;display:flex}
.card-wrap>.card{flex:1;min-width:0}
.prato-acoes .btn-sec[aria-pressed="true"]{border-color:var(--lima);color:var(--lima)}
/* o cartão e o botão "juntar" sobem juntos ao passar o rato */
@media (hover:hover){
  .card-wrap{transition:transform .2s}
  .card-wrap:hover{transform:translateY(-4px)}
  .card-wrap>.card:hover{transform:none}
}
/* alvos de toque com pelo menos 44 px */
.idioma-btn{min-height:44px}
.seta{width:44px;height:44px}
@media (max-width:820px){.pausa{width:44px;height:44px}}

/* --- topo no telemóvel: a foto cobre o topo todo e o texto fica por cima dela (em baixo).
   Para mudar o enquadramento da foto, mexe em .hero-slide{background-position:...} (right center = como está; center center = ao meio) --- */
@media (max-width:820px){
  /* a foto fica numa faixa em cima, no tamanho em que foi tirada (nítida, sem ampliar), e esbate-se no fundo escuro onde está o texto.
     Para a faixa maior/menor, muda --foto-h; para o enquadramento, muda background-position em .hero-slide */
  .hero--foto{--foto-h:clamp(300px,46svh,420px);min-height:calc(100svh - 190px);padding-top:0;padding-bottom:1.6rem;align-items:flex-end}
  /* botão de pausa pequeno, no canto de cima da foto */
  .pausa{top:.8rem;bottom:auto;right:.9rem;width:40px;height:40px;background:rgba(13,13,13,.5)}
  /* a faixa das categorias não se junta à barra verde "Ligar para encomendar": fica escura, fina, só com letras */
  .faixa{background:var(--carvao-2,#161616);color:var(--lima);border-top:1px solid rgba(244,243,234,.1)}
  .faixa span{font-size:.85rem;padding:.55rem 0 .55rem 2rem}
  .faixa span::after{background:var(--lima);margin-left:2rem}
  .hero-entrada>.nota{display:none}   /* o telefone já está na barra verde de baixo */
  .hero-entrada .btn{width:100%;justify-content:center}
  .hero-slides{inset:0 0 auto 0;height:var(--foto-h)}
  .hero-slide{background-position:center center}
  .hero-slide:nth-child(2){background-position:78% center}   /* Francesinha em Pão */
  .hero-slide:nth-child(3){background-position:66% center}   /* Cachorro Especial */
  .hero-slide:nth-child(4){background-position:82% center}   /* Cachorro na Chapa */
  .hero--foto::before{inset:0 0 auto 0;height:var(--foto-h);background-position:center center}
  .hero--foto::after{background:linear-gradient(180deg,rgba(13,13,13,.3) 0,rgba(13,13,13,0) 60px,rgba(13,13,13,0) calc(var(--foto-h) - 190px),var(--carvao) calc(var(--foto-h) - 4px),var(--carvao) 100%)}
  .hero-entrada>.estado{display:none}   /* a barra verde de baixo já diz se está aberto */
  .hero-entrada>h1{font-size:2.15rem;line-height:1.02}
  .hero-entrada>#heroTexto{font-size:1rem}
}


/* --- preço em "chip" sobre a foto (euros grandes, cêntimos e € pequenos) --- */
.preco-chip,.hero-preco{display:inline-flex;align-items:flex-start;gap:.06em;background:rgba(13,13,13,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--creme);border:1px solid rgba(244,243,234,.22);border-radius:999px;padding:.4rem .9rem .32rem;font-family:var(--destaque);font-weight:700;font-size:1.5rem;line-height:1;letter-spacing:.01em}
.pp{display:inline-flex;align-items:flex-start;gap:.06em}
.pd,.pe{font-size:.5em;line-height:1.1;margin-top:.14em;position:static;vertical-align:baseline}
.pe{color:var(--lima)}
.preco-chip{position:absolute;left:.7rem;bottom:.7rem;z-index:3}
.preco-chip--vazio{font-family:var(--corpo);font-weight:600;font-size:.82rem;letter-spacing:.02em;line-height:1.2;padding:.4rem .8rem;max-width:calc(100% - 1.4rem)}
.prato-foto .preco-chip{left:1rem;bottom:1rem;font-size:2rem;padding:.5rem 1.1rem .4rem}
.prato-foto .preco-chip--vazio{font-size:.95rem}
.card.card--destaque .preco-chip{left:1rem;bottom:.9rem;font-size:1.7rem}
.hero-preco{font-size:2rem;padding:.45rem 1rem .36rem;margin-right:.3rem}
@media (max-width:820px){
  .hero-preco{font-size:1.6rem;margin:0}
  .card:not(.card--destaque) .preco-chip{left:.35rem;bottom:.35rem;font-size:1rem;padding:.24rem .55rem .18rem}
  .card:not(.card--destaque) .preco-chip--vazio{font-size:.62rem;padding:.25rem .45rem;border-radius:10px;max-width:calc(100% - .7rem)}
  .prato-foto .preco-chip{font-size:1.6rem}
}

/* antes do topo estar pronto (altura fixada e letras carregadas), só o cabeçalho aparece: evita que a página "salte" ao carregar */
html.js:not(.pronto) body > :not(header):not(script):not(link):not(style){visibility:hidden}

/* computador: clicar na foto do topo passa para o prato seguinte */
@media (hover:hover) and (pointer:fine) and (min-width:821px){.hero--foto{cursor:pointer}.hero--foto :is(h1,p,small,.estado,a,button){cursor:auto}.hero--foto :is(a,button){cursor:pointer}}

/* telemóvel: cartões do menu com a foto grande (65%) e a informação (35%), a foto alterna entre a esquerda e a direita */
@media (max-width:820px){
  #grelha .card:not(.card--destaque){padding:0;gap:0;overflow:hidden;align-items:stretch;grid-template-columns:65% 1fr;grid-template-rows:auto auto 1fr auto;min-height:190px}
  #grelha .card:not(.card--destaque) .foto{grid-column:1;grid-row:1/span 4;align-self:stretch;aspect-ratio:auto;height:auto;border-radius:0;position:relative}
  #grelha .card:not(.card--destaque) .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
  #grelha .card:not(.card--destaque)>:not(.foto){grid-column:2;padding:0 .65rem 0 .6rem;min-width:0}
  #grelha .card:not(.card--destaque) h3{font-size:1.05rem;line-height:1.1;margin:.7rem 0 .3rem;overflow-wrap:anywhere}
  #grelha .card:not(.card--destaque) p{font-size:.72rem;line-height:1.3;margin:0}
  #grelha .card:not(.card--destaque) .card-fim{padding:.5rem .65rem .7rem .6rem}
  #grelha .card:not(.card--destaque) .ver-mais{font-size:.82rem;letter-spacing:.04em}
  /* linhas pares: foto à direita, informação e botão à esquerda */
  #grelha .card-wrap:nth-child(even) .card:not(.card--destaque){grid-template-columns:1fr 65%}
  #grelha .card-wrap:nth-child(even) .card:not(.card--destaque) .foto{grid-column:2}
  #grelha .card-wrap:nth-child(even) .card:not(.card--destaque)>:not(.foto){grid-column:1}
    /* o preço fica sempre no canto da foto que está virado para o centro do cartão */
  #grelha .card:not(.card--destaque) .preco-chip{left:.6rem;bottom:.6rem}
  #grelha .card-wrap:nth-child(odd) .card .preco-chip{left:.6rem}
  #grelha .card-wrap:nth-child(even) .card .preco-chip{left:auto;right:.6rem}
  #grelha .card:not(.card--destaque) .preco-chip{font-size:1.15rem}
}

/* telemóvel: sem botão de pausa na foto do topo (toca-se na foto ou desliza-se para mudar de prato) */
@media (max-width:820px){.pausa{display:none}}

/* a entrada anima o conjunto (cartão + botão "+") para não ficarem desencontrados enquanto os cartões deslizam */
.card-wrap:has(>.card.novo){animation:entraLado .45s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i)*60ms)}
.card-wrap>.card.novo{animation:none}

/* os cartões entram vindos do lado: cortar o que sai do ecrã para o telemóvel não alargar a página (e fazer zoom) durante a animação */
#menu{overflow-x:clip}
#grelha{overflow-x:clip;overflow-clip-margin:0}

/* botões e separadores com cantos retos e sem brilho (sem sombra verde nem pulsar) */
.btn,.btn--xl,.btn-sec,.tab,.juntar,.cart-btn,.idioma-btn,.pesquisa input,.chip,.pedido-flutuante{border-radius:4px}
.btn--xl{box-shadow:none}
.hero-entrada>.btn{animation:entra .4s cubic-bezier(.2,.8,.2,1) .1s backwards}
.btn::after{display:none}

/* sem botão de pausa na foto do topo (em nenhum ecrã) */
.pausa{display:none!important}


/* ============ SOBRE NÓS, VISITA-NOS E PERGUNTAS (secções finais) ============ */
#sobre h2::after,#contactos h2::after,#faq h2::after{content:none}
.eyebrow,.lab{font-family:var(--destaque);font-weight:700;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lima);margin:0 0 .5rem}
/* sobre nós: texto (e foto, quando houver) */
.sobre-ed{display:grid;gap:1.6rem;max-width:44rem}
.sobre-ed.com-foto{max-width:none}
.sobre-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:4px}
.sobre-txt h2{font-family:var(--titulo);font-weight:400;font-size:clamp(2rem,5vw,3.2rem);line-height:1.02;text-transform:uppercase;margin:0 0 1rem;color:var(--creme)}
.sobre-txt p{color:var(--creme-2);line-height:1.6;max-width:36rem;margin:0 0 .9rem}
.sobre-txt .eyebrow{color:var(--lima)}
.sobre-txt .sobre-dest{font-family:var(--titulo);font-size:1.5rem;line-height:1.2;color:var(--creme);text-transform:uppercase;margin-top:1.3rem;padding-left:1rem;border-left:4px solid var(--lima)}
@media (min-width:821px){.sobre-ed.com-foto{grid-template-columns:1fr 1fr;gap:4rem;align-items:center}}
/* visita-nos */
#contactos .wrap,#faq .wrap{border-top:1px solid var(--carvao-3);padding-top:2.6rem}
#contactos h2,#faq h2{font-family:var(--titulo);font-weight:400;font-size:clamp(2rem,5vw,2.8rem);line-height:1;text-transform:uppercase;margin:0 0 1.6rem;color:var(--creme)}
.visita-grelga,.visita-grelha{display:grid;gap:2.2rem}
.visita-estado{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--creme);margin:0 0 1rem}
.visita-estado i{width:9px;height:9px;border-radius:50%;background:var(--creme-2)}
.visita-estado.aberto i{background:var(--lima)}
.hor-tab{margin:0}
.hor-tab>div{display:flex;align-items:baseline;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--carvao-3)}
.hor-tab dt{font-family:var(--destaque);font-weight:700;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;color:var(--creme);white-space:nowrap}
.hor-tab b{flex:1;border-bottom:2px dotted #3a3a36;transform:translateY(-4px);min-width:.5rem}
.hor-tab dd{margin:0;color:var(--creme-2);font-size:.95rem;text-align:right}
.hor-tab .hoje dt,.hor-tab .hoje dd{color:var(--lima)}
.peq{font-size:.88rem;color:var(--creme-2);margin:.8rem 0 0}
.visita-morada{font-weight:600;font-size:1.35rem;line-height:1.25;color:var(--creme);margin:0 0 1rem}
.mapas-logos{display:flex;gap:.8rem;margin:0 0 1.8rem}
.mapa-logo{display:block;width:52px;height:52px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(244,243,234,.18);transition:transform .15s}
.mapa-logo[hidden]{display:none}
.mapa-logo img{display:block;width:100%;height:100%}
@media (hover:hover){.mapa-logo:hover{transform:translateY(-3px)}}
.visita-tel{display:grid;gap:.1rem;margin:0 0 .4rem}
.visita-tel a{font-family:var(--titulo);font-size:1.9rem;line-height:1.2;color:var(--creme);white-space:nowrap;letter-spacing:.01em}
.chegar-foto{margin:0 0 1.2rem}
.chegar-foto img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:4px}
@media (min-width:821px){.visita-grelha{grid-template-columns:1.1fr 1fr;gap:4rem}.visita-tel a{font-size:2.3rem}}
/* perguntas */
.faq{display:grid;gap:1.6rem 3rem}
.faq h3{font-family:var(--destaque);font-weight:700;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;color:var(--creme);margin:0 0 .3rem}
.faq p{margin:0;color:var(--creme-2)}
.faq p a{color:var(--lima);font-weight:700}
@media (min-width:821px){.faq{grid-template-columns:1fr 1fr}}
.visita-tel a{text-decoration:none}
#sobre,#contactos,#faq{padding-block:clamp(2.2rem,5vw,3.5rem)}

/* horário em duas linhas (café / refeições) */
.hor-tab dd{display:flex;flex-direction:column;gap:.1rem;align-items:flex-end}
.hor-tab dd em{font-style:normal;color:var(--creme-2);opacity:.7;font-size:.85em;margin-right:.3rem}
.visita-coz{margin:-.6rem 0 1rem;color:var(--creme-2)}
.nota-menu{margin-top:.6rem}

/* ===== afinação visual: mais espaço, fotos até às margens do cartão, cartões sem foto discretos ===== */
section{padding:clamp(3.6rem,8vw,6rem) 0}
#salsa,#sobre{border-top:1px solid #1d1d1b}
section h2{font-size:clamp(2.6rem,7.5vw,4.2rem)}
.grelha{gap:1.8rem}
.foto--vazia{background:#0a0a0a}                        /* sem foto: fundo escuro simples, com o traço do logótipo */
@media (min-width:821px){
  .card:not(.card--destaque){padding:0;gap:0;overflow:hidden;background:#141414;border-color:#222220}
  .card:not(.card--destaque) .foto{border-radius:0;aspect-ratio:4/3;overflow:hidden;background:#0a0a0a}
  .card:not(.card--destaque) .foto img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:brightness(.9) contrast(1.08) saturate(1.04)}
  .card:not(.card--destaque) .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(13,13,13,.55));pointer-events:none}
  .card:not(.card--destaque) .preco-chip{z-index:3}
  .card:not(.card--destaque)>:not(.foto){padding-inline:1.1rem}
  .card:not(.card--destaque) h3{margin:0;padding-top:1rem}
  .card:not(.card--destaque) p{padding-top:.45rem}
  .card:not(.card--destaque) .card-fim{padding:.9rem 1.1rem 1.1rem}
}
@media (max-width:820px){
  #grelha .card:not(.card--destaque) .foto img{filter:brightness(.9) contrast(1.08) saturate(1.04)}
}
@media (hover:hover) and (pointer:fine){
  .card:not(.card--destaque){transition:transform .25s,box-shadow .25s,border-color .2s}
  .card:not(.card--destaque):hover{transform:translateY(-4px);box-shadow:0 18px 30px -16px rgba(0,0,0,.95)}
}

/* faixa "Com fome?" antes do rodapé */
.banda-cta{background:var(--lima);color:var(--carvao);padding:clamp(2.4rem,6vw,3.6rem) 0;border:0}
.banda-cta-in{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap}
.banda-cta h2{color:var(--carvao);font-size:clamp(2rem,6vw,3.2rem)}
.banda-cta h2::after{display:none}
.banda-cta p{font-weight:600;font-size:1.1rem;margin-top:.4rem;color:var(--carvao)}
.banda-cta-tel{background:var(--carvao);color:var(--creme);padding:1rem 1.8rem;border-radius:4px;font-family:var(--destaque);font-weight:700;font-size:1.5rem;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.banda-cta-tel:hover{color:var(--lima)}
/* caixa provisória da foto em "Sobre nós" */
.sobre-prov{position:relative;aspect-ratio:4/3;border-radius:4px;background:#141414;border:1px solid var(--carvao-3);display:grid;place-items:center;overflow:hidden}
.sobre-prov::before{content:"";position:absolute;inset:0;background:var(--traco) no-repeat center/60%;opacity:.12}
.sobre-prov span{position:relative;font-family:var(--destaque);font-weight:700;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-2)}
/* menu do topo: secção atual */
.links a.ativo{color:var(--lima)}
/* o telefone por baixo do botão do topo não parte o número */
.hero .nota a{white-space:nowrap}

/* vídeo da salsa: de ponta a ponta do ecrã, com o texto por baixo */
.salsa-video{margin:1.6rem 0 0;background:#000;line-height:0}
.salsa-video video{display:block;width:100%;aspect-ratio:16/9;max-height:82vh;object-fit:cover;background:#000}
.salsa-info{padding-top:1.4rem}
.salsa-info p{max-width:60ch;margin-bottom:0}
@media (max-width:820px){.salsa-video video{aspect-ratio:4/3}}


/* ============ TELEMÓVEL: ecrã inicial com a foto a ocupar o ecrã todo e só um botão ============
   Foto vertical em ecrã completo (img/hero-m-*.webp); nome do prato + frase + "Ver menu →" e preço em baixo; pontinhos laterais mostram que há mais pratos.
   O telefone fica sempre no cabeçalho (fixo). */
.hero-vd,.hero-pr{display:none}
@media (max-width:820px){
  body{padding-bottom:0}
  .barra-ligar{display:none!important}
  .hero--foto{--foto-h:100%;min-height:calc(100svh - var(--alt-header,64px));padding:0 0 1.5rem;align-items:flex-end;background:var(--carvao)}
  .hero--foto .wrap{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}
  .hero-slides{inset:0;height:auto}
  .hero-slides .hero-slide,.hero-slides .hero-slide:nth-child(n){background-color:var(--carvao);background-repeat:no-repeat;background-size:100% auto;background-position:center calc(40svh - 26px - var(--r,.5)*125vw)}   /* foto vertical (4:5) a toda a largura, com o prato a ~40% da altura do ecrã */
  .hero--foto::after{background:linear-gradient(180deg,rgba(13,13,13,.55) 0,rgba(13,13,13,0) 12%,rgba(13,13,13,0) 56%,rgba(13,13,13,.9) 80%,var(--carvao) 100%)}
  .hero-vd{display:flex;flex-direction:column;gap:7px;position:absolute;z-index:3;right:.8rem;top:42%}
  .hero-vd i{width:5px;height:5px;border-radius:3px;background:rgba(244,243,234,.4);transition:height .3s,background .3s}
  .hero-vd i.a{height:22px;background:var(--creme)}
  .hero-entrada>.estado{display:none}
  .hero-entrada{gap:.3rem .9rem}
  .hero-entrada>h1{font-size:2.5rem;line-height:1}
  .hero-entrada>#heroTexto{display:none}
  .hero--prato .hero-entrada>#heroTexto{display:block;order:1;font-size:1rem;margin:0;max-width:none}
  .hero--prato .hero-prato{font-family:var(--titulo);font-weight:400;font-size:2.5rem;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:var(--creme);margin:0 0 .12em}
  .hero--prato .hero-desc{display:none}
  .hero--prato .hero-entrada>h1{order:2;font-family:var(--corpo);font-weight:500;font-size:1.05rem;line-height:1.35;color:#D9D8CC;text-transform:none;letter-spacing:0;margin-bottom:.9rem}
  .hero-entrada>.btn{order:5;flex:0 0 auto;width:auto;min-height:44px;padding:.4rem 0 .3rem;background:none;border:0;border-bottom:2px solid var(--lima);border-radius:0;box-shadow:none;color:var(--lima);font-size:1.3rem;animation:none}
  .hero-entrada>.btn::after{content:"→";margin-left:.7rem}
  .hero-entrada>.hero-extra{order:6;margin-left:auto}
  .hero-pr{display:inline-flex;font-family:var(--destaque);font-weight:700;font-size:1.8rem;line-height:1;color:var(--creme)}
  .pausa{top:.8rem;bottom:auto;right:.9rem}
}

.rodape-legal{font-size:.82rem;color:var(--creme-2);margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--carvao-3)}

.pesq-sug{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:700;color:var(--lima);text-decoration:underline;cursor:pointer}

/* ============ POLIMENTO VISUAL (v2) ============ */
/* espaçamento mais regular entre secções */
section{padding:clamp(2.4rem,5.5vw,4rem) 0}
/* letra um pouco maior e mais clara nos textos secundários */
.card p{color:#C2C3B5;font-size:1rem;line-height:1.45}
.peq,.hor-tab dd,.nota-alergenios,.pesq-info{font-size:1rem}
.hor-tab dd em{opacity:.85;font-size:.9em}
.rodape{font-size:1rem}
.rodape-fim{font-size:.95rem}
.rodape-legal{font-size:.9rem}
@media (min-width:821px){.rodape-grelha{grid-template-columns:1.3fr 1fr 1fr}}
.rodape p+p{margin-top:.6rem}
/* grelha do menu: os cartões esticam para preencher a linha, sem ficar demasiado largos */
.grelha{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grelha .card-wrap{max-width:480px}
/* topo no computador: foto mais clara e aviso de encomendas separado */
@media (min-width:821px){
  .hero--foto::after{background:linear-gradient(90deg,rgba(13,13,13,.8) 0%,rgba(13,13,13,.38) 42%,rgba(13,13,13,0) 78%)}
  .hero--foto::before{filter:brightness(1.12) saturate(1.05)}
  .hero .btn{font-size:1.25rem;padding-block:1.1rem}
  .hero .nota{margin-top:1.6rem;padding-top:1rem;border-top:1px solid rgba(244,243,234,.2);max-width:44ch;font-size:.98rem;color:#D8D8CC}
}
/* telemóvel: foto 50% / texto 50%, descrição legível; pratos sem foto ocupam menos */
@media (max-width:820px){
  #grelha .card:not(.card--destaque){grid-template-columns:50% 1fr;min-height:176px}
  #grelha .card-wrap:nth-child(even) .card:not(.card--destaque){grid-template-columns:1fr 50%}
  #grelha .card:not(.card--destaque) h3{font-size:1.2rem;margin:.8rem 0 .35rem}
  #grelha .card:not(.card--destaque) p{font-size:.84rem;line-height:1.35;color:#C2C3B5}
  #grelha .card:not(.card--destaque) .ver-mais{font-size:.9rem}
  #grelha .card:not(.card--destaque):has(.foto--vazia){grid-template-columns:34% 1fr;min-height:140px}
  #grelha .card-wrap:nth-child(even) .card:not(.card--destaque):has(.foto--vazia){grid-template-columns:1fr 34%}
  .hor-tab dd{font-size:1rem}
}
/* foco visível em qualquer fundo (teclado) */
.btn:focus-visible,.cart-btn:focus-visible,.barra-ligar:focus-visible,.tab:focus-visible{outline:3px solid var(--creme);outline-offset:3px;box-shadow:0 0 0 6px var(--carvao)}
.banda-cta :focus-visible{outline-color:var(--carvao);box-shadow:none}
.card:focus-visible{outline:3px solid var(--lima);outline-offset:4px}
input:focus-visible{outline-offset:2px}

/* ============ VISITA-NOS (telemóvel): estado grande, 3 ações e folha de mapas ============ */
.visita-acoes{display:none}
.folha{display:none}
@media (max-width:820px){
  .visita-estado{font:400 1.7rem/1.1 var(--destaque);text-transform:uppercase;gap:.7rem;margin-bottom:.4rem;align-items:flex-start}
  .visita-estado i{margin-top:.35rem}
  .visita-coz{margin:0 0 1rem}
  .visita-estado i{width:12px;height:12px;box-shadow:0 0 0 5px rgba(176,191,63,.18)}
  .visita-acoes{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:0 0 1.4rem}
  .va{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .3rem;background:var(--carvao-2);border:1px solid var(--carvao-3);border-radius:14px;color:var(--creme);font:600 .95rem var(--corpo);text-decoration:none;cursor:pointer}
  .va b{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--lima);color:var(--carvao)}
  .va--sec b{background:#262626;color:var(--creme)}
  .va svg{width:22px;height:22px}
  .mapas-logos{display:none}
  .folha[open]{display:block;position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:80vh;border:0;border-top:1px solid var(--carvao-3);border-radius:22px 22px 0 0;background:#171717;color:var(--creme);padding:.7rem 1rem calc(1.4rem + env(safe-area-inset-bottom));animation:folhaSobe .28s cubic-bezier(.2,.8,.2,1)}
  .folha::backdrop{background:rgba(0,0,0,.65)}
  .folha-pega{width:42px;height:4px;border-radius:9px;background:#444;margin:0 auto 1rem}
  .folha h2{font-size:1.7rem;margin:0;outline:0}.folha h2::after{content:none}
  .folha-morada{color:var(--creme-2);margin:.3rem 0 1rem}
  .folha-linha{display:flex;align-items:center;gap:1rem;min-height:62px;padding:0 .9rem;margin-bottom:.55rem;border-radius:12px;background:#1f1f1f;color:var(--creme);font:600 1.1rem var(--corpo);text-decoration:none}
  .folha-linha[hidden]{display:none}
  .folha-linha img{width:40px;height:40px;border-radius:9px}
  .folha-linha s{margin-left:auto;color:var(--creme-2);text-decoration:none;font-size:1.4rem}
}
@keyframes folhaSobe{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.folha[open]{animation:none}}

/* ============ ACABAMENTO: fotos que aparecem com suavidade, resposta ao toque, entrada da página do prato ============ */
.js .foto img:not(.ok),.js .prato-foto img:not(.ok){opacity:0}
.foto img,.prato-foto img{transition:opacity .45s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.card:active,.va:active,.folha-linha:active,.tab:active,.cart-btn:active,.banda-cta-tel:active{transform:scale(.98)}
.card,.va,.folha-linha,.tab,.cart-btn,.banda-cta-tel{-webkit-tap-highlight-color:transparent}
body.vista-prato .pagina-prato{animation:paginaEntra .3s ease-out}
@keyframes paginaEntra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.vista-prato .pagina-prato{animation:none}.foto img,.prato-foto img{transition:none}}

/* sem bolinha ao lado de "Aberto agora": a cor do texto diz se está aberto */
.estado.aberto,.visita-estado.aberto{color:var(--lima)}
@media (max-width:820px){.visita-estado{gap:0}}

/* cartões sem "Ver detalhes": o cartão todo é o botão; um pouco de ar por baixo do texto */
.card:not(.card--destaque) p{padding-bottom:.9rem}
@media (max-width:820px){#grelha .card:not(.card--destaque) p{padding-bottom:.8rem}}
