/* ── Scoops section price size ── */
.m-sec[data-category="scoops"] .mc-tprice { font-size: 1.8rem; }

/* ── Page fade-in transition ── */
.page-transition {
  animation: pgFadeIn 0.4s ease both;
}
@keyframes pgFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ── Menu filter: mobile vertical dropdown ── */
.m-filter-mobile { display: none; }

@media (max-width: 640px) {
  .m-filter-desktop { display: none !important; }
  .m-filter-mobile  { display: block; }

  .m-filter-mob-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.1rem 2rem;
    background: none;
    border: none;
    font-family: nav, sans-serif;
    font-size: 1rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }

  .m-filter-mob-list {
    border-top: 1px solid #e5e2da;
    background: #f8f7f4;
  }

  .m-filter-mob-item {
    display: block;
    width: 100%;
    padding: 0.9rem 2rem;
    background: none;
    border: none;
    border-bottom: 1px solid #ede9e2;
    font-family: nav, sans-serif;
    font-size: 0.9rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #bbb;
    text-align: left;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s, background 0.2s;
  }
  .m-filter-mob-item:last-child { border-bottom: none; }
  .m-filter-mob-item.active {
    color: #1a1a1a;
    background: #f0ece4;
    border-left: 3px solid #1a1a1a;
    padding-left: calc(2rem - 3px);
  }
  .m-filter-mob-item:not(.active):hover { color: #555; background: #f5f2ec; }
}

/* ── Flavours filter: mobile vertical dropdown ── */
.flv-filter-mobile { display: none; }

@media (max-width: 640px) {
  .flv-filter-desktop { display: none !important; }
  .flv-filter-mobile  { display: block; }

  .flv-mob-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.1rem 2rem;
    background: none;
    border: none;
    font-family: nav, sans-serif;
    font-size: 1rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }

  .flv-mob-list {
    border-top: 1px solid #e5e2da;
  }

  .flv-mob-item {
    display: block;
    width: 100%;
    padding: 0.9rem 2rem;
    background: none;
    border: none;
    border-bottom: 1px solid #ede9e2;
    font-family: nav, sans-serif;
    font-size: 0.9rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #bbb;
    text-align: left;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s, background 0.2s;
  }
  .flv-mob-item:last-child { border-bottom: none; }
  .flv-mob-item.active {
    color: #1a1a1a;
    background: #f0ece4;
    border-left: 3px solid #1a1a1a;
    padding-left: calc(2rem - 3px);
  }
  .flv-mob-item:not(.active):hover { color: #555; background: #f5f2ec; }
}

/* ── Boutique city filter: mobile vertical dropdown ── */
.bq-filter-mobile { display: none; }

@media (max-width: 640px) {
  .bq-filter-desktop { display: none !important; }
  .bq-filter-mobile  { display: block; }

  .bq-mob-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.1rem 2rem;
    background: none;
    border: none;
    font-family: nav, sans-serif;
    font-size: 1rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }

  .bq-mob-list {
    border-top: 1px solid #e5e2da;
  }

  .bq-mob-item {
    display: block;
    width: 100%;
    padding: 0.9rem 2rem;
    background: none;
    border: none;
    border-bottom: 1px solid #ede9e2;
    font-family: nav, sans-serif;
    font-size: 0.9rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #bbb;
    text-align: left;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s, background 0.2s;
  }
  .bq-mob-item:last-child { border-bottom: none; }
  .bq-mob-item.active {
    color: #1a1a1a;
    background: #f0ece4;
    border-left: 3px solid #1a1a1a;
    padding-left: calc(2rem - 3px);
  }
  .bq-mob-item:not(.active):hover { color: #555; background: #f5f2ec; }
}

/* ── Stagger items (menu cards, flavour cards) ── */
.stagger-init {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  transition-delay: var(--stagger-delay, 0s);
}
.stagger-init.revealed {
  opacity: 1;
  transform: none;
}
