/* Premium glass refinement: a restrained web approximation of frosted glass. */
:root {
  --glass-paper: rgba(248, 248, 244, 0.68);
  --glass-paper-strong: rgba(248, 248, 244, 0.86);
  --glass-line: rgba(255, 255, 255, 0.58);
  --glass-shadow: 0 18px 48px rgba(18, 37, 28, 0.09);
  --glass-shadow-hover: 0 24px 58px rgba(18, 37, 28, 0.14);
  --glass-blur: blur(20px) saturate(125%);
}

.taste-header {
  background: var(--glass-paper);
  border-bottom-color: var(--glass-line);
  box-shadow: 0 8px 28px rgba(18, 37, 28, 0.06);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}

.taste-header.is-away {
  background: var(--glass-paper-strong);
  border-bottom-color: rgba(18, 37, 28, 0.14);
  box-shadow: 0 12px 34px rgba(18, 37, 28, 0.1);
}

.taste-menu {
  background: rgba(248, 248, 244, 0.84);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  backdrop-filter: blur(28px) saturate(120%);
}

.taste-menu-head {
  background: rgba(248, 248, 244, 0.72);
  border-bottom-color: var(--glass-line);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}

.customer-shortcuts a,
.home-product,
.pt-product,
.secondary-index > a {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.64);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.54), rgba(238, 240, 234, 0.3));
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(16px) saturate(118%);
  backdrop-filter: blur(16px) saturate(118%);
  transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease, background 240ms ease;
}

.customer-shortcuts a,
.secondary-index > a {
  padding-inline: 18px;
}

.customer-shortcuts a:hover,
.customer-shortcuts a:focus-visible,
.home-product:hover,
.home-product:focus-visible,
.pt-product:hover,
.pt-product:focus-visible,
.secondary-index > a:hover,
.secondary-index > a:focus-visible {
  border-color: rgba(168, 125, 53, 0.42);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(244, 239, 226, 0.48));
  box-shadow: var(--glass-shadow-hover);
  transform: translateY(-3px);
}

.home-product,
.pt-product {
  padding: 12px 12px 18px;
}

.home-product figure,
.pt-product figure,
.secondary-gallery figure {
  border-radius: 12px;
}

.home-product > div,
.pt-product > span,
.pt-product > h4,
.pt-product > p,
.pt-product > small,
.pt-product > strong {
  position: relative;
}

.th-booking,
.th-principle-inner {
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.42), rgba(232, 237, 230, 0.24));
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
  backdrop-filter: blur(18px) saturate(118%);
}

.th-booking {
  padding-inline: clamp(24px, 4vw, 56px);
}

@media (max-width: 620px) {
  .customer-shortcuts a,
  .home-product,
  .pt-product,
  .secondary-index > a {
    border-radius: 14px;
  }

  .customer-shortcuts a,
  .secondary-index > a {
    min-width: 0;
    padding-inline: 14px;
  }

  .customer-shortcuts strong {
    min-width: 0;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .home-product,
  .pt-product {
    padding: 10px 10px 15px;
  }

  .th-booking,
  .th-principle-inner {
    border-radius: 16px;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .taste-header,
  .taste-header.is-away,
  .taste-menu,
  .taste-menu-head,
  .customer-shortcuts a,
  .home-product,
  .pt-product,
  .secondary-index > a,
  .th-booking,
  .th-principle-inner {
    background: var(--paper);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
