/* ═══ Glass Cup Masala Chai — hyper-real tapri cutting chai ═══ */

@property --cg-meniscus-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 105deg;
}

@property --cg-meniscus-shine {
  syntax: '<number>';
  inherits: false;
  initial-value: 0.45;
}

@property --cg-tea-hue-shift {
  syntax: '<angle>';
  inherits: false;
  initial-value: 180deg;
}

.dish--chai {
  --cg-tea-foam: #e6cbab;
  --cg-tea-core: #9c5c2e;
  --cg-tea-deep: #472005;
  --cg-tea-spice: #7c4a1e;
  --cg-glass-specular-light: rgba(255, 255, 255, 0.45);
  --cg-glass-specular-sharp: rgba(255, 255, 255, 0.78);
  --cg-glass-tint-shadow: rgba(0, 0, 0, 0.15);
  --cg-clay-light: #d67a4b;
  --cg-clay-mid: #b55e31;
  --cg-clay-dark: #7a3a19;
  --cg-biscuit-crust: #c48c46;
  --cg-biscuit-body: #e3ae66;
  --cg-biscuit-shadow: #8f5f24;
  --cg-cardamom: #6b8f3c;
  --cg-bezier: var(--food-bezier-spring, cubic-bezier(0.25, 1.35, 0.5, 1));
  --cg-pop: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --cg-dur: var(--food-dur, 550ms);
  --cg-meniscus-angle: 105deg;
  --cg-meniscus-shine: 0.45;
  --cg-tea-hue-shift: 180deg;
}

.chai-glass-art {
  position: relative;
  width: 340px;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  perspective: var(--food-perspective, 950px);
}

/* ── Card-level hover ── */
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .display-assembly {
  transform: translateY(-14px) rotateX(6deg) rotateY(-4deg);
}

.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .ambient-studio-light { opacity: 1; transform: scale(1.06); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .thermal-heat-glow { opacity: 1; transform: scale(1.18); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .glass-cup-assembly { transform: translateY(-26px) scale(1.03) rotate(-2deg); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .biscuits-rack { transform: translateY(-10px) rotate(-3deg); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .clay-plate-3d { transform: scale(1.05) translateY(5px); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .floor-shadow-deep { transform: scale(0.7); opacity: 0.55; }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .floor-shadow-ambient { transform: scale(0.78); opacity: 0.32; }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .steam-convection-engine { opacity: 1; transform: translateY(-18px) scale(1.08); }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .steam-wave { animation-duration: 1.6s; }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .tea-meniscus-shimmer { opacity: 0.9; }
.dish--chai:not(.order-card):is(:hover, .is-raised, :focus-within) .glass-condensation { opacity: 0.75; }

/* Cup-focused steam boost via :has() */
.chai-glass-art:has(.glass-cup-assembly:hover) .steam-convection-engine {
  opacity: 1;
  transform: translateY(-22px) scale(1.12);
}

.chai-glass-art:has(.glass-cup-assembly:hover) .thermal-heat-glow {
  transform: scale(1.25);
  opacity: 1;
}

/* ── Ambient lighting ── */
.chai-glass-art .ambient-studio-light {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 48% 52%, rgba(255, 184, 77, 0.18) 0%, rgba(255, 160, 60, 0.08) 40%, transparent 68%);
  opacity: 0.8;
  pointer-events: none;
  transition: opacity var(--cg-dur) ease, transform var(--cg-dur) ease;
}

.chai-glass-art .thermal-heat-glow {
  position: absolute;
  width: 190px;
  height: 190px;
  background: radial-gradient(circle, rgba(214, 122, 75, 0.28) 0%, transparent 70%);
  filter: blur(14px);
  top: 26%;
  left: 50%;
  transform: translateX(-50%);
  transition: opacity var(--cg-dur) ease, transform var(--cg-dur) ease;
  animation: cg-thermal-pulse 4s ease-in-out infinite alternate;
}

@keyframes cg-thermal-pulse {
  0% { transform: translateX(-50%) scale(0.88); opacity: 0.35; }
  100% { transform: translateX(-50%) scale(1.15); opacity: 0.82; }
}

/* ── Display assembly ── */
.chai-glass-art .display-assembly {
  position: relative;
  width: 100%;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--cg-dur) var(--cg-bezier);
  transform-style: preserve-3d;
  z-index: 2;
  pointer-events: none;
}

/* ── Steam convection engine ── */
.chai-glass-art .steam-convection-engine {
  position: absolute;
  top: 22px;
  height: 118px;
  width: 128px;
  z-index: 10;
  display: flex;
  justify-content: space-around;
  opacity: 0.38;
  pointer-events: none;
  transition: opacity var(--cg-dur) var(--cg-bezier), transform var(--cg-dur) var(--cg-bezier);
}

.chai-glass-art .steam-wave {
  width: 8px;
  height: 100%;
  background: linear-gradient(to top, transparent, rgba(255, 255, 255, 0.55) 22%, rgba(255, 255, 255, 0.15) 62%, transparent);
  border-radius: 50%;
  filter: blur(5px);
}

.chai-glass-art .steam-left   { animation: cg-rising-vapor 2.4s infinite ease-in-out; }
.chai-glass-art .steam-center { animation: cg-rising-vapor 2.9s infinite ease-in-out 0.4s; }
.chai-glass-art .steam-right  { animation: cg-rising-vapor 2.1s infinite ease-in-out 0.2s; }

@keyframes cg-rising-vapor {
  0% { transform: translateY(42px) scaleX(0.65) skewX(0deg); opacity: 0; }
  50% { transform: translateY(8px) scaleX(1.7) skewX(-14deg); opacity: 0.68; }
  100% { transform: translateY(-42px) scaleX(0.35) skewX(14deg); opacity: 0; }
}

/* ── Glass cup assembly ── */
.chai-glass-art .glass-cup-assembly {
  position: relative;
  width: 92px;
  height: 132px;
  z-index: 5;
  margin-top: -30px;
  transition: transform var(--cg-dur) var(--cg-bezier), filter var(--cg-dur) ease;
  pointer-events: auto;
  cursor: pointer;
  transform-style: preserve-3d;
}

.chai-glass-art .glass-container {
  position: absolute;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.04) 45%, rgba(0, 0, 0, 0.1) 100%);
  clip-path: polygon(0% 0%, 100% 0%, 82% 100%, 18% 100%);
  border-radius: 4px 4px 18px 18px;
  box-shadow:
    inset 0 0 14px rgba(255, 255, 255, 0.28),
    inset -6px -5px 16px rgba(0, 0, 0, 0.12),
    0 8px 18px rgba(0, 0, 0, 0.15);
  transform: translateZ(2px);
  transform-style: preserve-3d;
  backdrop-filter: blur(0.5px);
}

.chai-glass-art .glass-inner-wall {
  position: absolute;
  inset: 3px 5px 4px 5px;
  clip-path: polygon(0% 0%, 100% 0%, 84% 100%, 16% 100%);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.08) 0%, rgba(140, 90, 40, 0.06) 50%, rgba(0, 0, 0, 0.04) 100%);
  border-radius: 2px 2px 14px 14px;
  z-index: 1;
  pointer-events: none;
}

.chai-glass-art .glass-cup-shadow {
  --cast-w: 70%;
  --cast-h: 8px;
  bottom: -6px;
  left: 50%;
  opacity: 0.45;
  z-index: 0;
}

.glass-highlight-arc {
  position: absolute;
  width: 12px;
  height: 60%;
  top: 12%;
  border-radius: 50%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.55), transparent 80%);
  z-index: 7;
  pointer-events: none;
  filter: blur(0.5px);
}

.glass-highlight-arc--1 { left: 8%; transform: rotate(-4deg); }
.glass-highlight-arc--2 { right: 10%; height: 45%; top: 20%; opacity: 0.5; transform: rotate(6deg); }

.glass-caustic-spot {
  position: absolute;
  top: 18px;
  left: 38%;
  width: 28px;
  height: 12px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 220, 160, 0.45) 0%, transparent 70%);
  pointer-events: none;
  z-index: 3;
}

.chai-glass-art .glass-container::before {
  content: '';
  position: absolute;
  top: 4px;
  right: -2px;
  width: 10px;
  height: calc(100% - 12px);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.04));
  border-radius: 0 6px 6px 0;
  transform: skewY(-1.5deg);
  pointer-events: none;
}

.glass-condensation {
  position: absolute;
  inset: 8px 2px 20px 2px;
  z-index: 6;
  pointer-events: none;
  opacity: 0.58;
  transition: opacity 0.45s ease;
  background-image:
    radial-gradient(ellipse at 12% 35%, rgba(255, 255, 255, 0.5) 1px, transparent 3px),
    radial-gradient(ellipse at 88% 28%, rgba(255, 255, 255, 0.45) 1.2px, transparent 3.2px),
    radial-gradient(ellipse at 78% 62%, rgba(255, 255, 255, 0.4) 0.8px, transparent 2.5px),
    radial-gradient(ellipse at 15% 72%, rgba(255, 255, 255, 0.35) 1px, transparent 2.8px);
}

.chai-glass-art .glass-lip-rim {
  position: absolute;
  top: 0;
  width: 100%;
  height: 7px;
  background: linear-gradient(to bottom, var(--cg-glass-specular-sharp), rgba(255, 255, 255, 0.12));
  border-radius: 50%;
  z-index: 7;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

.chai-glass-art .glass-inner-specular {
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  border-left: 1.5px solid rgba(255, 255, 255, 0.18);
  z-index: 5;
  pointer-events: none;
}

.chai-glass-art .glass-flute {
  position: absolute;
  top: 6px;
  width: 3px;
  height: calc(100% - 22px);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.42), transparent);
  box-shadow: -1px 0 2px var(--cg-glass-tint-shadow);
  z-index: 5;
  border-radius: 2px;
  transform: skewX(-2deg);
}

.chai-glass-art .flute-1 { left: 24%; }
.chai-glass-art .flute-2 { left: 41%; }
.chai-glass-art .flute-3 { right: 41%; }
.chai-glass-art .flute-4 { right: 24%; }

.chai-glass-art .glass-specular-shimmer {
  position: absolute;
  top: 0;
  right: 5%;
  width: 16px;
  height: 100%;
  background: linear-gradient(to left, var(--cg-glass-specular-light), transparent 72%);
  z-index: 6;
  pointer-events: none;
}

.chai-glass-art .glass-solid-base-bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 18px;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.06) 100%);
  z-index: 4;
}

/* Individual cup hover — sip lift */
.glass-cup-assembly:hover {
  animation: cg-cup-sip-lift 0.6s var(--cg-pop) forwards;
  z-index: 20;
  filter: brightness(1.06);
}

.glass-cup-assembly:hover .tea-liquid-surface {
  animation: cg-tea-ripple 0.7s ease-in-out infinite alternate;
}

.glass-cup-assembly:hover .tea-meniscus-shimmer {
  opacity: 1;
  animation: cg-meniscus-glow 0.8s ease-in-out infinite alternate;
}

.glass-cup-assembly:hover::after {
  content: '';
  position: absolute;
  top: -24px;
  left: 50%;
  width: 18px;
  height: 32px;
  margin-left: -9px;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.55), transparent);
  border-radius: 50%;
  filter: blur(4px);
  animation: cg-cup-steam-burst 1s ease-in-out infinite;
  pointer-events: none;
}

@keyframes cg-cup-sip-lift {
  0%   { transform: translateY(0) scale(1) rotate(0deg); }
  45%  { transform: translateY(-32px) scale(1.06) rotate(-5deg); }
  100% { transform: translateY(-26px) scale(1.04) rotate(-3deg); }
}

@keyframes cg-tea-ripple {
  0%   { transform: scaleX(1) translateY(0); }
  100% { transform: scaleX(1.03) translateY(-1px); }
}

@keyframes cg-meniscus-glow {
  0%   { opacity: 0.7; filter: brightness(1); }
  100% { opacity: 1; filter: brightness(1.15); }
}

@keyframes cg-cup-steam-burst {
  0%   { transform: translateY(10px) scaleX(0.7); opacity: 0.25; }
  50%  { transform: translateY(-8px) scaleX(1.3); opacity: 0.7; }
  100% { transform: translateY(-20px) scaleX(0.5); opacity: 0; }
}

/* ── Tea liquid volume ── */
.chai-glass-art .tea-liquid-volume {
  position: absolute;
  bottom: 12px;
  left: 4%;
  width: 92%;
  height: 72%;
  z-index: 2;
  transform: translateZ(4px);
  transform-style: preserve-3d;
}

.chai-glass-art .tea-liquid-surface {
  position: absolute;
  top: -5px;
  width: 100%;
  height: 13px;
  background:
    conic-gradient(
      from var(--cg-tea-hue-shift) at 50% 50%,
      var(--cg-tea-foam),
      #f0dcc0,
      var(--cg-tea-foam),
      #d4b896,
      var(--cg-tea-foam)
    );
  border-radius: 50%;
  z-index: 3;
  box-shadow: inset 0 -3px 6px rgba(71, 32, 5, 0.45);
  transition: transform 0.4s ease;
  animation: cg-tea-surface-turn 7s linear infinite;
}

.tea-meniscus-shimmer {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    var(--cg-meniscus-angle),
    transparent 35%,
    rgba(255, 255, 255, var(--cg-meniscus-shine)) 50%,
    transparent 65%
  );
  opacity: 0.85;
  pointer-events: none;
  transition: opacity 0.4s ease;
  animation: cg-meniscus-property 4.5s ease-in-out infinite alternate;
}

@keyframes cg-meniscus-property {
  0% {
    --cg-meniscus-angle: 95deg;
    --cg-meniscus-shine: 0.35;
  }
  100% {
    --cg-meniscus-angle: 155deg;
    --cg-meniscus-shine: 0.72;
  }
}

@keyframes cg-tea-surface-turn {
  to {
    --cg-tea-hue-shift: 540deg;
  }
}

.cardamom-float {
  position: absolute;
  top: 2px;
  right: 22%;
  width: 7px;
  height: 5px;
  background: linear-gradient(135deg, var(--cg-cardamom), #4a6b2a);
  border-radius: 40% 60% 50% 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  transform: rotate(18deg);
  pointer-events: none;
}

.chai-glass-art .tea-froth-foam {
  position: absolute;
  inset: 1px;
  border-radius: 50%;
  background-image:
    radial-gradient(circle at 18% 48%, #ffffff 1.2px, transparent 1.8px),
    radial-gradient(circle at 38% 28%, #ffffff 0.9px, transparent 1.5px),
    radial-gradient(circle at 62% 38%, #ffffff 1px, transparent 1.6px),
    radial-gradient(circle at 78% 55%, #ffffff 0.8px, transparent 1.4px),
    radial-gradient(circle at 45% 72%, var(--cg-tea-core) 2px, transparent 3px),
    radial-gradient(circle at 82% 62%, var(--cg-tea-core) 1.5px, transparent 2.5px);
  opacity: 0.88;
  pointer-events: none;
}

.chai-glass-art .tea-liquid-depth {
  position: absolute;
  top: 4px;
  width: 100%;
  height: calc(100% - 4px);
  background:
    radial-gradient(ellipse at 30% 20%, rgba(180, 100, 50, 0.25) 0%, transparent 50%),
    linear-gradient(to top, var(--cg-tea-deep) 0%, var(--cg-tea-core) 55%, var(--cg-tea-spice) 100%);
  border-radius: 0 0 12px 12px;
  z-index: 1;
  overflow: hidden;
}

.tea-spice-flecks {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 40%, rgba(120, 60, 20, 0.6) 1px, transparent 2px),
    radial-gradient(circle at 55% 25%, rgba(90, 45, 15, 0.5) 0.8px, transparent 1.8px),
    radial-gradient(circle at 75% 60%, rgba(100, 50, 18, 0.55) 1.2px, transparent 2.2px),
    radial-gradient(circle at 35% 75%, rgba(80, 40, 12, 0.45) 0.7px, transparent 1.7px);
  opacity: 0.7;
  pointer-events: none;
}

/* ── Biscuits rack (Parle-G style) ── */
.chai-glass-art .biscuits-rack {
  position: absolute;
  width: 144px;
  height: 64px;
  bottom: 28px;
  right: 62px;
  z-index: 4;
  transition: transform var(--cg-dur) var(--cg-bezier);
  pointer-events: none;
}

.chai-glass-art .biscuit {
  position: absolute;
  width: 54px;
  height: 38px;
  transform-style: preserve-3d;
  pointer-events: auto;
  cursor: pointer;
  transition: transform var(--cg-dur) var(--cg-bezier), filter 0.35s ease;
}

.biscuit-top-face {
  position: absolute;
  inset: 0;
  border-radius: 5px;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, 0.25) 0%, transparent 50%),
    linear-gradient(135deg, var(--cg-biscuit-body) 0%, var(--cg-biscuit-crust) 100%);
  box-shadow:
    2px 5px 8px rgba(0, 0, 0, 0.32),
    inset -2px -3px 4px var(--cg-biscuit-shadow);
  z-index: 2;
}

.chai-glass-art .biscuit-inner-rim,
.chai-glass-art .biscuit-dots,
.biscuit-sugar-crust {
  z-index: 3;
}

.biscuit-side-face {
  position: absolute;
  background: linear-gradient(to bottom, var(--cg-biscuit-crust), var(--cg-biscuit-shadow));
  z-index: 1;
}

.biscuit-side-face--front {
  bottom: -4px;
  left: 2px;
  width: calc(100% - 4px);
  height: 5px;
  border-radius: 0 0 3px 3px;
  transform: rotateX(-65deg);
  transform-origin: top center;
}

.biscuit-side-face--right {
  right: -3px;
  top: 3px;
  width: 4px;
  height: calc(100% - 6px);
  border-radius: 0 2px 2px 0;
  transform: rotateY(65deg);
  transform-origin: left center;
}

.biscuit-sugar-crust {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image:
    radial-gradient(circle at 25% 30%, rgba(255, 255, 255, 0.35) 0.5px, transparent 1.5px),
    radial-gradient(circle at 70% 60%, rgba(255, 255, 255, 0.25) 0.4px, transparent 1.2px);
  opacity: 0.8;
  pointer-events: none;
}

.chai-glass-art .biscuit-inner-rim {
  position: absolute;
  inset: 4px;
  border: 1.5px dashed rgba(143, 95, 36, 0.45);
  border-radius: 3px;
  pointer-events: none;
}

.chai-glass-art .biscuit-dots {
  position: absolute;
  inset: 10px;
  background-image:
    radial-gradient(circle, var(--cg-biscuit-shadow) 1.5px, transparent 2px),
    radial-gradient(circle, var(--cg-biscuit-shadow) 1.5px, transparent 2px);
  background-size: 10px 10px;
  background-repeat: repeat;
  opacity: 0.75;
  pointer-events: none;
}

.chai-glass-art .biscuit-primary,
.chai-glass-art .biscuit-secondary {
  box-shadow:
    0 6px 12px rgba(0, 0, 0, 0.18),
    inset 0 2px 4px rgba(255, 255, 255, 0.35);
}

.chai-glass-art .biscuit-primary {
  bottom: 6px;
  left: 10px;
  transform: rotate(-32deg) rotateX(15deg);
  z-index: 2;
}

.chai-glass-art .biscuit-secondary {
  bottom: -4px;
  right: 15px;
  transform: rotate(18deg) rotateY(10deg);
  z-index: 1;
}

.biscuit-crumb-dust {
  position: absolute;
  bottom: 2px;
  left: 20px;
  width: 50px;
  height: 8px;
  background-image:
    radial-gradient(circle, var(--cg-biscuit-shadow) 1px, transparent 2px),
    radial-gradient(circle, var(--cg-biscuit-crust) 0.8px, transparent 1.5px);
  background-size: 8px 8px, 6px 6px;
  opacity: 0.55;
  pointer-events: none;
}

/* Individual biscuit hovers — signature dunk ritual */
.biscuit-primary:hover {
  animation: cg-biscuit-dunk 0.75s var(--cg-pop) forwards;
  z-index: 22;
  filter: brightness(1.08);
}

.biscuit-secondary:hover {
  animation: cg-biscuit-lift 0.55s var(--cg-pop) forwards;
  z-index: 21;
  filter: brightness(1.06);
}

.chai-glass-art:has(.biscuit-primary:hover) .biscuit-crumb-dust {
  animation: cg-crumb-scatter 0.7s ease forwards;
}

.chai-glass-art:has(.biscuit-primary:hover) .steam-convection-engine {
  opacity: 1;
  transform: translateY(-22px) scale(1.12);
}

.chai-glass-art:has(.biscuit-primary:hover) .steam-wave {
  animation-duration: 1.35s;
}

.chai-glass-art:has(.biscuit-primary:hover) .tea-liquid-surface {
  animation: cg-tea-ripple 0.55s ease-in-out infinite alternate;
}

.chai-glass-art:has(.biscuit-primary:hover) .tea-meniscus-shimmer {
  opacity: 1;
}

.chai-glass-art:has(.biscuit-primary:hover) .glass-cup-assembly {
  transform: translateY(-6px) rotate(-2deg);
}

@keyframes cg-biscuit-dunk {
  0%   { transform: rotate(-32deg) rotateX(15deg) translate(0, 0); }
  35%  { transform: rotate(-12deg) rotateX(6deg) translate(36px, -8px) scale(1.04); }
  55%  { transform: rotate(-8deg) rotateX(4deg) translate(42px, 10px) scale(0.98); }
  100% { transform: rotate(-14deg) rotateX(8deg) translate(34px, -6px) scale(1.02); }
}

@keyframes cg-biscuit-lift {
  0%   { transform: rotate(18deg) rotateY(10deg) translateY(0); }
  45%  { transform: rotate(24deg) rotateY(12deg) translateY(-14px) scale(1.08); }
  100% { transform: rotate(20deg) rotateY(10deg) translateY(-10px) scale(1.04); }
}

@keyframes cg-crumb-scatter {
  0%   { opacity: 0.55; transform: scale(1) translate(0, 0); }
  60%  { opacity: 0.95; transform: scale(1.2) translate(10px, 8px); }
  100% { opacity: 0.7; transform: scale(1.1) translate(14px, 14px); }
}

/* ── Clay saucer plate ── */
.chai-glass-art .clay-plate-3d {
  position: absolute;
  bottom: 25px;
  width: 204px;
  height: 50px;
  background:
    repeating-conic-gradient(from 0deg, rgba(0, 0, 0, 0.04) 0deg 10deg, transparent 10deg 20deg),
    linear-gradient(to bottom, var(--cg-clay-light), var(--cg-clay-mid));
  border-radius: 50%;
  z-index: 2;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.42),
    inset 0 -7px 10px rgba(0, 0, 0, 0.24),
    inset 0 3px 6px rgba(255, 200, 150, 0.15);
  transition: transform var(--cg-dur) var(--cg-bezier);
  pointer-events: auto;
  cursor: pointer;
}

.clay-plate-3d:hover {
  animation: cg-plate-wobble 0.55s var(--cg-bezier) forwards;
}

.clay-plate-3d:hover .tea-spill {
  animation: cg-spill-shimmer 0.7s ease-in-out infinite alternate;
}

@keyframes cg-plate-wobble {
  0%   { transform: scale(1) translateY(0) rotate(0deg); }
  30%  { transform: scale(1.06) translateY(4px) rotate(1.5deg); }
  60%  { transform: scale(1.04) translateY(3px) rotate(-1deg); }
  100% { transform: scale(1.05) translateY(4px) rotate(0.5deg); }
}

@keyframes cg-spill-shimmer {
  0%   { opacity: 0.75; filter: brightness(1); }
  100% { opacity: 1; filter: brightness(1.2); }
}

.chai-glass-art .plate-lip-bevel {
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  height: 13px;
  border-top: 1.5px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  pointer-events: none;
}

.chai-glass-art .plate-sunken-basin {
  position: absolute;
  top: 12px;
  left: 14%;
  width: 72%;
  height: 24px;
  background: linear-gradient(to bottom, var(--cg-clay-dark), var(--cg-clay-mid));
  border-radius: 50%;
  box-shadow: inset 0 6px 12px rgba(0, 0, 0, 0.42);
  overflow: hidden;
}

.chai-glass-art .tea-spill {
  position: absolute;
  background-color: var(--cg-tea-deep);
  border-radius: 50%;
  opacity: 0.85;
}

.chai-glass-art .drop-alpha { width: 8px; height: 4px; top: 4px; left: 22%; }
.chai-glass-art .drop-beta  { width: 5px; height: 3px; top: 13px; right: 28%; }
.chai-glass-art .drop-gamma { width: 4px; height: 2px; top: 8px; left: 48%; opacity: 0.65; }

.chai-glass-art .plate-foot-ring {
  position: absolute;
  bottom: -4px;
  left: 22%;
  width: 56%;
  height: 12px;
  background-color: #52230c;
  border-radius: 50%;
  z-index: -1;
  filter: blur(1px);
  pointer-events: none;
}

/* ── Floor shadows ── */
.chai-glass-art .floor-shadow-deep {
  position: absolute;
  bottom: 12px;
  width: 152px;
  height: 10px;
  background: rgba(0, 0, 0, 0.62);
  border-radius: 50%;
  z-index: 1;
  filter: blur(4px);
  transition: transform var(--cg-dur) var(--cg-bezier), opacity var(--cg-dur) var(--cg-bezier);
}

.chai-glass-art .floor-shadow-ambient {
  position: absolute;
  bottom: 4px;
  width: 214px;
  height: 20px;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  z-index: 0;
  filter: blur(10px);
  transition: transform var(--cg-dur) var(--cg-bezier), opacity var(--cg-dur) var(--cg-bezier);
}

/* ── Reduced motion ── */
.motion-reduced .chai-glass-art .thermal-heat-glow,
.motion-reduced .chai-glass-art .steam-wave,
.motion-reduced .tea-meniscus-shimmer,
.motion-reduced .chai-glass-art .tea-liquid-surface {
  animation: none !important;
}

.motion-reduced .glass-cup-assembly:hover,
.motion-reduced .biscuit-primary:hover,
.motion-reduced .biscuit-secondary:hover,
.motion-reduced .clay-plate-3d:hover {
  animation: none;
  transform: translateY(-6px) scale(1.03);
}

.motion-reduced .tea-meniscus-shimmer {
  --cg-meniscus-angle: 120deg;
  --cg-meniscus-shine: 0.55;
}

@media (prefers-reduced-motion: reduce) {
  .chai-glass-art .thermal-heat-glow,
  .chai-glass-art .steam-wave,
  .tea-meniscus-shimmer,
  .chai-glass-art .tea-liquid-surface {
    animation: none !important;
  }

  .tea-meniscus-shimmer {
    --cg-meniscus-angle: 120deg;
    --cg-meniscus-shine: 0.55;
  }

  .glass-cup-assembly:hover,
  .biscuit-primary:hover,
  .biscuit-secondary:hover,
  .clay-plate-3d:hover {
    animation: none;
    transform: translateY(-6px) scale(1.03);
  }
}
