// Monoline glassware SVG components — simple strokes only
const { useId } = React;

const Glass = ({ children, viewBox = "0 0 80 110", stroke = "currentColor", strokeWidth = 1.4, style }) => (
  <svg viewBox={viewBox} fill="none" stroke={stroke} strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" style={{ display: 'block', ...style }}>
    {children}
  </svg>
);

// Coupe glass
const Coupe = (props) => (
  <Glass {...props}>
    <path d="M14 22 Q40 60 66 22" />
    <path d="M14 22 L66 22" />
    <line x1="40" y1="60" x2="40" y2="92" />
    <line x1="24" y1="96" x2="56" y2="96" />
    {/* liquid line */}
    <path d="M22 28 Q40 50 58 28" strokeDasharray="2 3" opacity="0.55" />
    {/* garnish */}
    <circle cx="52" cy="22" r="2.2" fill="currentColor" opacity="0.7" />
  </Glass>
);

// Highball
const Highball = (props) => (
  <Glass {...props}>
    <path d="M22 14 L26 96 L54 96 L58 14 Z" />
    <line x1="22" y1="14" x2="58" y2="14" />
    <path d="M27 36 L53 36" strokeDasharray="2 3" opacity="0.55" />
    <line x1="50" y1="8" x2="50" y2="38" opacity="0.7" />
  </Glass>
);

// Tiki mug
const TikiMug = (props) => (
  <Glass {...props}>
    <path d="M22 18 L24 96 Q24 100 28 100 L52 100 Q56 100 56 96 L58 18" />
    <line x1="22" y1="18" x2="58" y2="18" />
    {/* handle */}
    <path d="M58 30 Q68 32 68 50 Q68 68 58 70" />
    {/* face */}
    <circle cx="34" cy="50" r="2" fill="currentColor" />
    <circle cx="46" cy="50" r="2" fill="currentColor" />
    <path d="M32 62 Q40 68 48 62" />
    <path d="M30 40 L36 36" />
    <path d="M50 40 L44 36" />
  </Glass>
);

// Martini / cocktail
const Martini = (props) => (
  <Glass {...props}>
    <path d="M10 18 L40 60 L70 18 Z" />
    <line x1="10" y1="18" x2="70" y2="18" />
    <line x1="40" y1="60" x2="40" y2="94" />
    <line x1="24" y1="98" x2="56" y2="98" />
    <line x1="48" y1="14" x2="60" y2="6" opacity="0.7" />
    <circle cx="60" cy="6" r="2.4" fill="currentColor" opacity="0.7" />
  </Glass>
);

// Rocks / old fashioned
const Rocks = (props) => (
  <Glass {...props}>
    <path d="M18 22 L22 96 L58 96 L62 22 Z" />
    <line x1="18" y1="22" x2="62" y2="22" />
    {/* ice cube */}
    <rect x="32" y="42" width="16" height="16" />
    <line x1="32" y1="42" x2="40" y2="50" opacity="0.6" />
    <line x1="48" y1="42" x2="40" y2="50" opacity="0.6" />
  </Glass>
);

// Snifter
const Snifter = (props) => (
  <Glass {...props}>
    <path d="M22 30 Q22 62 40 62 Q58 62 58 30 Q58 22 50 22 L30 22 Q22 22 22 30 Z" />
    <line x1="40" y1="62" x2="40" y2="88" />
    <ellipse cx="40" cy="92" rx="14" ry="3" />
  </Glass>
);

// Flute
const Flute = (props) => (
  <Glass {...props}>
    <path d="M30 12 Q30 50 40 60 Q50 50 50 12 Z" />
    <line x1="30" y1="12" x2="50" y2="12" />
    <line x1="40" y1="60" x2="40" y2="94" />
    <line x1="28" y1="98" x2="52" y2="98" />
    {/* bubbles */}
    <circle cx="38" cy="30" r="1" fill="currentColor" opacity="0.6" />
    <circle cx="42" cy="40" r="1" fill="currentColor" opacity="0.6" />
    <circle cx="40" cy="22" r="0.8" fill="currentColor" opacity="0.6" />
  </Glass>
);

// Citrus wheel — decorative
const Citrus = ({ size = 60, stroke = "currentColor" }) => (
  <svg viewBox="0 0 60 60" width={size} height={size} fill="none" stroke={stroke} strokeWidth="1.2" strokeLinecap="round">
    <circle cx="30" cy="30" r="26" />
    <circle cx="30" cy="30" r="22" />
    <line x1="30" y1="8" x2="30" y2="52" />
    <line x1="8" y1="30" x2="52" y2="30" />
    <line x1="14" y1="14" x2="46" y2="46" />
    <line x1="46" y1="14" x2="14" y2="46" />
    <circle cx="30" cy="30" r="3" />
  </svg>
);

// Decorative brass ornament — frame divider
const Ornament = ({ width = 240, stroke = "currentColor" }) => (
  <svg viewBox="0 0 240 20" width={width} fill="none" stroke={stroke} strokeWidth="1" strokeLinecap="round">
    <line x1="0" y1="10" x2="100" y2="10" />
    <line x1="140" y1="10" x2="240" y2="10" />
    <path d="M100 10 L110 4 L120 10 L130 4 L140 10" />
    <circle cx="120" cy="10" r="2.5" fill="currentColor" />
    <circle cx="100" cy="10" r="1.2" fill="currentColor" />
    <circle cx="140" cy="10" r="1.2" fill="currentColor" />
  </svg>
);

Object.assign(window, { Coupe, Highball, TikiMug, Martini, Rocks, Snifter, Flute, Citrus, Ornament });
