    /* =============================================
       FOOTER
       ============================================= */
    .site-footer {
      text-align: center;
      padding: 56px 24px 20px;
      background: #020201;
      border-top: 1px solid rgba(201,168,76,0.10);
    }

    .footer-section {
      margin-bottom: 24px;
    }

    .footer-label {
      font-size: 10px; font-weight: 500; letter-spacing: 3px;
      text-transform: uppercase; color: #fff; margin-bottom: 16px;
    }

    .footer-hours {
      display: grid;
      grid-template-columns: auto auto;
      gap: 6px 20px;
      justify-content: center;
    }
    .fh-day {
      font-size: 12px; font-weight: 400; color: rgba(237,232,224,0.7);
      text-align: right;
    }
    .fh-time {
      font-size: 12px; font-weight: 300; color: rgba(237,232,224,0.45);
      text-align: left;
    }
    .fh-closed {
      font-style: italic; color: rgba(237,232,224,0.4);
    }

    .footer-address {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 12px; font-weight: 300; color: rgba(237,232,224,0.6);
      text-decoration: none; margin-bottom: 10px;
      transition: color 0.25s;
    }
    .footer-address svg {
      width: 12px; height: 12px; opacity: 0.5;
    }
    .footer-address:active { color: var(--text); }

    .footer-phones {
      font-size: 11.5px; font-weight: 300; color: rgba(237,232,224,0.55);
    }
    .footer-phones a {
      color: rgba(237,232,224,0.6); text-decoration: none;
    }

    .footer-line {
      width: 40px; height: 1px; background: rgba(201,168,76,0.15);
      margin: 0 auto 24px;
    }

    .footer-brands {
      display: grid; grid-template-columns: 1fr auto 1fr; align-items: end;
    }

    .footer-brand {
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      text-decoration: none;
    }
    .footer-brand-logo {
      height: 50px; width: auto;
      filter: brightness(0) invert(1); opacity: 0.9;
    }
    .footer-brand-logo[alt="Arena 54"] {
      height: 58px;
    }
    .footer-brand-handle {
      font-size: 10.5px; font-weight: 400; color: var(--text-secondary);
      display: flex; align-items: center; gap: 4px;
    }
    .footer-brand-handle svg {
      width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 1.5;
    }
    .footer-divider {
      width: 1px; height: 60px; background: rgba(255,255,255,0.08); align-self: center;
    }

    .footer-cta {
      display: block; padding: 14px 40px;
      font-family: var(--font-body);
      font-size: 10px; font-weight: 500; letter-spacing: 2.5px; text-transform: uppercase;
      color: var(--bg); text-decoration: none;
      background: var(--gold); border: none; border-radius: 0;
      margin: 0 auto 16px; max-width: 260px;
      transition: opacity 0.25s;
    }
    .footer-cta:active { opacity: 0.8; }


    .footer-back {
      font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
      color: var(--text-dim); text-decoration: none; display: inline-block; margin-bottom: 24px;
    }

    .footer-credit {
      font-size: 9px; color: rgba(237,232,224,0.5); letter-spacing: 1px;
      padding-bottom: calc(8px + var(--safe-bottom));
    }
    .footer-credit a { color: var(--gold); text-decoration: none; }

    /* =============================================
       DESKTOP
       ============================================= */
    @media (min-width: 768px) {
      .menu-sec-name { font-size: 40px; }
      .menu-sec-inner { max-width: 700px; }
      .hero-title { font-size: 60px; }
      .header-style-cocktails .menu-sec-name { font-size: 48px; }
      .header-style-pizze .menu-sec-name { font-size: 54px; }
    }

    @media (max-width: 380px) {
      .menu-sec-name { font-size: 24px; letter-spacing: 4px; }
      .hero-title { font-size: 38px; }
      .gin-card-img { height: 100px; }
      .header-style-cocktails .menu-sec-name { font-size: 30px; letter-spacing: 6px; }
      .header-style-pizze .menu-sec-name { font-size: 34px; letter-spacing: 8px; }
      .header-style-vini .menu-sec-name { font-size: 24px; letter-spacing: 10px; }
      .header-style-sour .menu-sec-header-content { padding: 18px 24px; }
    }

    /* =============================================
       HOME GALLERY + INFO
       ============================================= */
    .home-gallery-section {
      padding: 72px 0 90px;
      background: linear-gradient(
        to bottom,
        #15110C 0%,
        #181614 8%,
        #242019 20%,
        #2A2620 32%,
        #272319 45%,
        #2C2820 55%,
        #282520 65%,
        #221F19 78%,
        #181510 88%,
        #0C0B09 100%
      );
      overflow: hidden;
      position: relative;
    }
    .home-gallery-section::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 60px;
      background: linear-gradient(to bottom, #15110C, transparent);
      pointer-events: none;
    }
    .home-gallery-section::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 100px;
      background: linear-gradient(to top, #060504, transparent);
      pointer-events: none;
    }

    .home-gallery-title {
      font-family: var(--font-body);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: rgba(237,232,224,0.5);
      text-align: center;
      margin-bottom: 28px;
    }

    .home-gallery {
      display: flex;
      gap: 12px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding: 0 24px;
      scroll-snap-type: x proximity;
      overscroll-behavior-x: contain;
    }
    .home-gallery::-webkit-scrollbar { display: none; }

    .home-gallery img {
      flex-shrink: 0;
      width: 42vw;
      max-width: 180px;
      height: 56vw;
      max-height: 240px;
      object-fit: cover;
      scroll-snap-align: center;
      cursor: pointer;
      transition: opacity 0.3s;
      border: 1px solid rgba(255,255,255,0.06);
    }
    .home-gallery img:active { opacity: 0.7; }

    /* === HOME INFO — orari + dove siamo === */
    .home-info {
      padding: 44px 24px 56px;
      background: linear-gradient(to bottom, #151310 0%, #1C1A17 15%, #222019 30%, #1E1C18 50%, #181614 70%, #0E0D0C 90%, #000 100%);
    }

    .home-info-inner {
      max-width: 320px;
      margin: 0 auto;
      text-align: center;
    }

    .home-info-block {
      padding: 24px 0;
    }

    .home-info-label {
      font-family: var(--font-body);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(237,232,224,0.9);
      margin-bottom: 14px;
    }

    .home-info-hours {
      display: grid;
      grid-template-columns: auto auto;
      gap: 6px 20px;
      justify-content: center;
      font-family: var(--font-body);
      font-size: 12px;
      font-weight: 300;
      color: rgba(237,232,224,0.5);
    }
    .home-info-hours span:nth-child(odd) {
      text-align: right;
      color: rgba(237,232,224,0.6);
      font-weight: 400;
    }
    .home-closed {
      font-style: italic;
      color: rgba(237,232,224,0.25) !important;
    }

    .home-info-divider {
      width: 24px;
      height: 1px;
      background: rgba(255,255,255,0.08);
      margin: 0 auto;
    }

    .home-info-address {
      font-family: var(--font-body);
      font-size: 13px;
      font-weight: 300;
      color: rgba(237,232,224,0.5);
      margin-bottom: 16px;
    }

    .home-info-map-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: var(--font-body);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: rgba(237,232,224,0.85);
      text-decoration: none;
      border: 1px solid rgba(255,255,255,0.2);
      padding: 10px 20px;
      transition: all 0.25s;
    }
    .home-info-map-btn svg {
      width: 13px;
      height: 13px;
    }
    .home-info-map-btn:active {
      background: rgba(255,255,255,0.05);
    }

