:root {

      --green: #d4a760;

      --green-soft: #e6b870;

      --text: #e8e8e8;

      --muted: #a9a9a9;

      --line: rgba(212, 167, 96, .2);

      --bg: #0a0a0a;

      --bg-soft: #111111;

      --shadow: 0 12px 34px rgba(0, 0, 0, .32);

    }



    * {

      box-sizing: border-box;

    }



    html {

      scroll-behavior: smooth;

    }



    body {

      margin: 0;

      padding-top: 81px;

      padding-bottom: 0;

      background: var(--bg);

      color: var(--text);

      font-family: Garamond, Georgia, serif;

      -webkit-font-smoothing: antialiased;

    }



    .page {

      width: min(1180px, calc(100% - 48px));

      margin: 0 auto;

      padding: 28px 0 48px;

    }



    .topbar {

      display: flex;

      justify-content: flex-end;

      align-items: center;

      padding: 0 0 18px;

      border-bottom: 1px solid var(--line);

      margin-bottom: 22px;

    }

    .menu-hero {

      padding: 34px 0 30px;

      border-bottom: 1px solid var(--line);

      margin-bottom: 24px;

    }

    .menu-eyebrow {

      margin: 0;

      color: var(--green);

      font-size: 12px;

      letter-spacing: 3px;

      text-transform: uppercase;

    }

    .menu-title {

      max-width: 880px;

      margin: 0;

      color: #fff;

      font-size: clamp(2.2rem, 6vw, 4.6rem);

      font-weight: 300;

      line-height: 1.05;

      letter-spacing: 1px;

      text-transform: uppercase;

    }

    .menu-description {

      max-width: 860px;

      margin: 0 0 16px;

    }

    .menu-description summary {

      display: inline-flex;

      align-items: center;

      gap: 10px;

      color: var(--green);

      background: transparent;

      cursor: pointer;

      list-style: none;

      text-transform: uppercase;

      letter-spacing: 3px;

      font-size: 12px;

      user-select: none;

      transition: color .3s;

    }

    .menu-description summary::-webkit-details-marker {

      display: none;

    }

    .menu-description summary::after {

      content: "";

      display: inline-block;

      width: 7px;

      height: 7px;

      border: solid currentColor;

      border-width: 0 1px 1px 0;

      transform: translateY(-2px) rotate(45deg);

      transition: transform .3s;

    }

    .menu-description[open] summary {

      color: var(--green-soft);

    }

    .menu-description[open] summary::after {

      transform: translateY(2px) rotate(-135deg);

    }

    .menu-intro {

      max-width: 860px;

      margin: 16px 0 0;

      color: #b8b8b8;

      font-size: 17px;

      line-height: 1.85;

    }

    .menu-filter {

      margin-top: 24px;

    }

    .menu-filter summary {

      display: inline-flex;

      align-items: center;

      min-height: 38px;

      padding: 9px 14px;

      border: 1px solid var(--green);

      color: var(--green);

      background: transparent;

      cursor: pointer;

      list-style: none;

      text-transform: uppercase;

      letter-spacing: 1.6px;

      font-size: 11px;

      user-select: none;

      transition: all .3s;

    }

    .menu-filter summary::-webkit-details-marker {

      display: none;

    }

    .menu-filter summary::after {

      content: "+";

      margin-left: 10px;

      font-size: 14px;

      line-height: 1;

    }

    .menu-filter[open] summary {

      background: rgba(212, 167, 96, .08);

    }

    .menu-filter[open] summary::after {

      content: "-";

    }

    .menu-filter .toolbar {

      position: static;

      top: auto;

      z-index: auto;

      background: transparent;

      backdrop-filter: none;

      padding: 18px 0 12px;

      border-bottom: 0;

      margin-bottom: 0;

    }

    .menu-links {

      display: flex;

      flex-wrap: wrap;

      gap: 10px;

      margin-top: 26px;

    }

    .menu-links a {

      display: inline-flex;

      align-items: center;

      min-height: 38px;

      padding: 9px 14px;

      border: 1px solid var(--line);

      color: var(--green);

      text-decoration: none;

      text-transform: uppercase;

      letter-spacing: 1.6px;

      font-size: 11px;

      transition: all .3s;

    }

    .menu-links a:hover {

      border-color: var(--green);

      background: rgba(212, 167, 96, .08);

    }

    .menu-cta-row {

      display: flex;

      flex-wrap: wrap;

      gap: 12px;

      margin-top: 28px;

    }

    .menu-cta {

      display: inline-block;

      padding: 14px 28px;

      border: 1px solid var(--green);

      color: var(--green);

      background: transparent;

      text-decoration: none;

      text-transform: uppercase;

      letter-spacing: 2px;

      font-size: 11px;

      transition: all .3s;

    }

    .menu-cta:hover,
    .menu-cta.primary {

      background: var(--green);

      color: #0a0a0a;

    }

    .menu-cta.primary:hover {

      background: var(--green-soft);

      border-color: var(--green-soft);

    }



    .brand {

      margin: 0 0 8px;

      color: var(--green);

      font-size: clamp(2rem, 5vw, 4.25rem);

      line-height: .95;

      letter-spacing: -.055em;

      font-weight: 300;

      text-transform: uppercase;

    }



    .site-logo {

      display: inline-flex;

      margin-bottom: 22px;

    }



    .site-logo img {

      display: block;

      width: auto;

      height: 54px;

    }



    .updated {

      margin: 0;

      color: var(--muted);

      font-size: .98rem;

    }



    .happy-hour {

      min-width: 250px;

      padding: 16px 18px;

      border: 1px solid var(--green);

      border-radius: 12px;

      color: var(--green);

      text-align: right;

      background: #111;

    }



    .happy-hour span {

      display: block;

      margin-bottom: 4px;

      font-size: .78rem;

      line-height: 1.2;

      letter-spacing: .08em;

      text-transform: uppercase;

      font-weight: 800;

    }



    .happy-hour strong {

      display: block;

      font-size: 1.6rem;

      line-height: 1;

      letter-spacing: -.04em;

      font-weight: 700;

    }


    .happy-hour small {

      display: block;

      margin-top: 8px;

      color: var(--green-soft);

      font-size: .84rem;

      line-height: 1.25;

      font-weight: 750;

    }



    .topbar-actions {

      display: flex;

      justify-content: flex-end;

      min-width: 0;

    }



    .pdf-btn {

      display: inline-block;

      padding: 15px 40px;

      border: 2px solid var(--green);

      color: var(--green);

      background: transparent;

      text-decoration: none;

      text-transform: uppercase;

      letter-spacing: 3px;

      font-size: 12px;

      transition: all .3s;

    }



    .pdf-btn:hover {

      background: var(--green);

      color: #0a0a0a;

    }



    .toolbar {

      position: sticky;

      top: 0;

      z-index: 20;

      background: rgba(10,10,10,.96);

      backdrop-filter: blur(12px);

      padding: 14px 0 12px;

      border-bottom: 1px solid var(--line);

      margin-bottom: 22px;

    }



    .search-row {

      display: flex;

      align-items: center;

      gap: 10px;

      width: 100%;

      padding: 0;

    }



    .search {

      width: 100%;

      height: 48px;

      border: 1px solid var(--line);

      border-radius: 999px;

      padding: 0 18px;

      color: var(--green);

      background: var(--bg-soft);

      font-size: 1rem;

      outline: none;

      transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;

    }



    .search::placeholder {

      color: #777;

    }



    .search:focus {

      border-color: var(--green);

      background: #0a0a0a;

      box-shadow: 0 0 0 4px rgba(212, 167, 96, .1);

    }



    .clear-btn {

      display: none;

      height: 44px;

      padding: 0 16px;

      border: 1px solid var(--line);

      border-radius: 999px;

      background: #111;

      color: var(--green);

      font-weight: 800;

      cursor: pointer;

    }



    .clear-btn.visible {

      display: inline-flex;

      align-items: center;

    }





    .section {

      padding: 0 0 30px;

      margin-bottom: 8px;

      border-bottom: 1px solid var(--line);

      scroll-margin-top: 130px;

    }



    .section.hidden {

      display: none;

    }



    .section-header {

      display: flex;

      justify-content: space-between;

      align-items: baseline;

      gap: 16px;

      margin: 0 0 22px;

    }



    .section-header h2 {

      margin: 0;

      color: var(--green);

      font-size: clamp(1.35rem, 3vw, 1.72rem);

      letter-spacing: -.035em;

      font-weight: 850;

    }



    .section-note {

      margin: -10px 0 22px;

      color: var(--green-soft);

      font-size: .96rem;

      font-weight: 750;

    }



    .items {

      display: grid;

      grid-template-columns: repeat(2, minmax(0, 1fr));

      column-gap: 78px;

      row-gap: 30px;

    }



    .item {

      min-width: 0;

      break-inside: avoid;

    }



    .item.hidden {

      display: none;

    }



    .item-top {

      display: grid;

      grid-template-columns: minmax(0, 1fr) auto;

      gap: 22px;

      align-items: start;

    }



    .item-name {

      margin: 0;

      color: var(--green);

      font-size: 1.18rem;

      line-height: 1.22;

      letter-spacing: -.035em;

      font-weight: 850;

    }



    .price {

      color: var(--text);

      font-size: 1.03rem;

      line-height: 1.25;

      font-weight: 500;

      white-space: nowrap;

      text-align: right;

    }



    .desc {

      margin: 8px 0 0;

      color: #b8b8b8;

      font-size: 1.04rem;

      line-height: 1.43;

      letter-spacing: -.015em;

    }



    .empty {

      display: none;

      margin: 34px 0;

      padding: 28px;

      border: 1px dashed var(--line);

      border-radius: 14px;

      color: var(--muted);

      text-align: center;

      background: var(--bg-soft);

      font-weight: 700;

    }



    .empty.visible {

      display: block;

    }



    .footer-note {

      margin: 28px 0 0;

      color: var(--muted);

      font-size: .94rem;

    }

    .menu-end-note {

      max-width: 900px;

      margin: 22px 0 0;

      padding: 18px 20px;

      border: 1px solid var(--line);

      border-radius: 12px;

      color: #b8b8b8;

      background: rgba(212, 167, 96, .045);

      font-size: .98rem;

      line-height: 1.65;

    }


    footer{background:#000;padding:80px 40px 40px}
    .footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-bottom:50px}
    .footer-section h3{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#d4a760;margin:0 0 25px}
    .footer-section p,.footer-section a{font-size:14px;color:#b8b8b8;line-height:1.8;text-decoration:none;display:block;margin:0 0 10px;transition:color .3s}
    .footer-section a:hover{color:#d4a760}
    .social-links{display:flex;gap:15px;margin-top:20px}
    .social-links a{width:40px;height:40px;border:1px solid #d4a760;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:all .3s}
    .social-links a:hover{background:#d4a760}
    .social-links svg{width:18px;height:18px;fill:#d4a760;transition:fill .3s}
    .social-links a:hover svg{fill:#0a0a0a}
    .copyright{text-align:center;padding-top:40px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#666;letter-spacing:1px}



    .print-btn {

      border: 1px solid var(--green);

      border-radius: 999px;

      background: var(--green);

      color: #0a0a0a;

      height: 40px;

      padding: 0 16px;

      font-weight: 800;

      cursor: pointer;

      margin-left: 14px;

    }



    @media (max-width: 820px) {

      body {

        padding-top: 170px;

        padding-bottom: 0;

        font-size: 13px;

      }



      .page {

        width: min(100% - 28px, 1180px);

        padding-top: 20px;

      }



      .topbar {

        grid-template-columns: 1fr;

        gap: 18px;

      }

      .menu-hero {

        padding: 24px 0 22px;

      }

      .menu-eyebrow {

        font-size: 10px;

        letter-spacing: 2px;

      }

      .menu-title {

        font-size: 1.85rem;

        line-height: 1.12;

      }

      .menu-description {

        margin-top: 16px;

      }

      .menu-description summary {

        min-height: auto;

        padding: 0;

        font-size: 9px;

        letter-spacing: 1.1px;

      }

      .menu-description summary::after {

        margin-left: 8px;

        font-size: 12px;

      }

      .menu-intro {

        margin-top: 14px;

        font-size: 13px;

        line-height: 1.65;

      }

      .menu-filter {

        margin-top: 16px;

      }

      .menu-filter summary {

        min-height: 32px;

        padding: 7px 10px;

        font-size: 9px;

        letter-spacing: 1.1px;

      }

      .menu-filter summary::after {

        margin-left: 8px;

        font-size: 12px;

      }

      .menu-filter .toolbar {

        padding: 14px 0 8px;

      }

      .menu-links {

        gap: 8px;

        margin-top: 20px;

      }

      .menu-links a {

        min-height: 32px;

        padding: 7px 10px;

        font-size: 9px;

        letter-spacing: 1.1px;

      }

      .menu-cta-row {

        gap: 8px;

        margin-top: 20px;

      }

      .menu-cta {

        padding: 10px 14px;

        font-size: 9px;

        letter-spacing: 1.2px;

      }



      .happy-hour {

        width: 100%;

        text-align: left;

      }



      .topbar-actions {

        width: 100%;

        min-width: 0;

        justify-content: flex-start;

      }



      .site-logo img {

        height: 44px;

      }

      .topbar .pdf-btn {

        display: inline-block;

        width: auto;

        max-width: 100%;

        padding: 11px 22px;

        border: 2px solid var(--green);

        background: transparent;

        color: var(--green);

        font-size: 9px;

        line-height: 1.25;

        letter-spacing: 1.7px;

        text-align: center;

      }

      .topbar .pdf-btn:hover {

        background: var(--green);

        color: #0a0a0a;

      }

      .search {

        height: 42px;

        font-size: 12px;

      }

      .clear-btn {

        height: 40px;

        padding: 0 14px;

        font-size: 10px;

      }

      .section-header h2 {

        font-size: 1.32rem;

        letter-spacing: .08em;

      }

      .section-note {

        font-size: .76rem;

      }



      .items {

        grid-template-columns: 1fr;

        row-gap: 25px;

      }



      .item-name {

        font-size: .9rem;

      }

      .price {

        font-size: .8rem;

      }



      .desc {

        font-size: .78rem;

      }

      .footer-note {

        font-size: .76rem;

      }

      .footer-section h3 {

        font-size: 11px;

      }

      .footer-section p,
      .footer-section a {

        font-size: 11px;

      }



      .print-btn {

        display: none;

      }

      .footer-content { grid-template-columns: 1fr; gap: 40px; text-align: center; }

      .social-links { justify-content: center; }

    }





    /* Kompakt menüfejléc: a PDF gomb már nem külön felső sávban van */

    .topbar {
      display: none;
    }

    .page {
      padding-top: 18px;
    }

    .menu-hero {
      padding: 18px 0 20px;
      margin-bottom: 20px;
    }

    .menu-hero-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 28px;
      align-items: start;
    }

    .menu-hero-main {
      min-width: 0;
    }

    .menu-hero-actions {
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      padding-top: 0;
    }

    .menu-pdf-btn {
      padding: 10px 28px;
      font-size: 10px;
      letter-spacing: 2px;
      white-space: nowrap;
    }

    .menu-title {
      margin-top: 14px;
    }

    .menu-filter {
      margin-top: 20px;
    }

    @media (max-width: 820px) {
      body {
        padding-top: 120px;
      }

      .page {
        padding-top: 12px;
      }

      .menu-hero {
        padding: 16px 0 18px;
        margin-bottom: 18px;
      }

      .menu-hero-head {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .menu-hero-actions {
        justify-content: flex-start;
      }

      .menu-pdf-btn {
        width: auto;
        max-width: 100%;
        padding: 8px 18px;
        font-size: 8px;
        letter-spacing: 1.4px;
        text-align: center;
      }

      .menu-title {
        margin-top: 10px;
      }

      .menu-filter {
        margin-top: 16px;
      }
    }


    /* PDF gomb a Koktélok cím mellett */

    .menu-hero-head {
      display: block;
    }

    .menu-hero-actions {
      display: none;
    }

    .section-header {
      justify-content: flex-start;
      align-items: center;
      gap: 14px;
    }

    .section-pdf-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      height: 28px;
      padding: 0 12px;
      border: 1px solid var(--green);
      color: var(--green);
      background: transparent;
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 1.6px;
      font-size: 10px;
      line-height: 1;
      transition: all .3s;
      transform: translateY(1px);
    }

    .section-pdf-btn:hover {
      background: var(--green);
      color: #0a0a0a;
    }

    @media (max-width: 820px) {
      .section-header {
        gap: 10px;
      }

      .section-pdf-btn {
        min-width: 36px;
        height: 24px;
        padding: 0 9px;
        font-size: 8px;
        letter-spacing: 1.2px;
      }
    }


    /* SEO-barát heading szerkezet és kompakt lenyitható H1 */

    .menu-description {
      max-width: 100%;
      margin: 0 0 16px;
    }

    .menu-description summary.menu-title-summary {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      padding: 0;
      color: var(--green);
      text-transform: none;
      letter-spacing: normal;
      font-size: inherit;
      line-height: 1;
    }

    .menu-description summary.menu-title-summary::after {
      width: 10px;
      height: 10px;
      border-width: 0 1px 1px 0;
      transform: translateY(-5px) rotate(45deg);
    }

    .menu-description[open] summary.menu-title-summary::after {
      transform: translateY(2px) rotate(-135deg);
    }

    .menu-title-summary .menu-title {
  margin: 0;
  color: var(--green);
  font-size: clamp(1.35rem, 1.7vw, 1.6rem);
  line-height: 1.08;
  letter-spacing: 0.055em;
  font-weight: 700;
  text-transform: uppercase;
}

    .section-header h2 {
      color: transparent;
      -webkit-text-stroke: 0.6px var(--green);
      text-stroke: 0.6px var(--green);
      font-size: clamp(1.3rem, 2vw, 2rem);
      line-height: 1.1;
      letter-spacing: 0.035em;
      font-weight: 700;
      text-transform: uppercase;
    }

    .item-name {
      margin: 0;
      color: var(--green);
      font-size: 1.18rem;
      line-height: 1.22;
      letter-spacing: -.035em;
      font-weight: 850;
    }

    @media (max-width: 820px) {
      .menu-description summary.menu-title-summary {
        gap: 10px;
      }

      .menu-description summary.menu-title-summary::after {
        width: 7px;
        height: 7px;
        transform: translateY(-3px) rotate(45deg);
      }

      .menu-description[open] summary.menu-title-summary::after {
        transform: translateY(1px) rotate(-135deg);
      }

      .section-header h2 {
        font-size: 1.45rem;
        -webkit-text-stroke: 0.55px var(--green);
        letter-spacing: 0.03em;
      }

      .item-name {
        font-size: .9rem;
      }
    }


    @media print {

      body {

        padding-bottom: 0;

      }



      .toolbar,

      .print-btn {

        display: none !important;

      }



      .page {

        width: 100%;

        padding: 0;

      }



      .section {

        page-break-inside: avoid;

      }



      .items {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 48px;

        row-gap: 20px;

      }

    }
