/* Frankie 1.1.0 — Advanced Logic Engine; launcher sizing inherited from 1.0.4 */
#frankie-widget{
  --frankie-black:#090806;
  --frankie-ink:#15120f;
  --frankie-panel:#1d1813;
  --frankie-gold:#b08a55;
  --frankie-gold2:#d7b47a;
  --frankie-cream:#f0ece5;
  --frankie-warm:#cfc5b7;
  --frankie-line:#3b3127;
  --frankie-burgundy:#3a1517;
  position:fixed!important;
  right:18px!important;
  bottom:14px!important;
  left:auto!important;
  top:auto!important;
  z-index:999999!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--frankie-cream)!important;
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:16px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.45!important;
  letter-spacing:normal!important;
  text-align:left!important;
  text-transform:none!important;
  isolation:isolate!important;
  overflow:visible!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
#frankie-widget *,#frankie-widget *::before,#frankie-widget *::after{box-sizing:border-box!important}
#frankie-widget [hidden]{display:none!important}

/* Hard reset against Elementor/theme button and form rules. */
#frankie-widget button,#frankie-widget input{
  all:unset!important;
  box-sizing:border-box!important;
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
#frankie-widget button{cursor:pointer!important}

/* Closed launcher: only bubble + cut-out mascot. */
#frankie-widget .frankie-launch{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:inherit!important;
  text-decoration:none!important;
  transform:none!important;
}
#frankie-widget .frankie-launch:hover,#frankie-widget .frankie-launch:active,#frankie-widget .frankie-launch:focus{background:transparent!important;box-shadow:none!important;transform:none!important}
#frankie-widget .frankie-mascot{
  display:block!important;
  width:168px!important;
  max-width:168px!important;
  height:auto!important;
  max-height:258px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  filter:drop-shadow(0 14px 25px #0008)!important;
}
#frankie-widget .frankie-bubble{
  all:unset!important;
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:max-content!important;
  max-width:284px!important;
  margin:0 0 -8px!important;
  padding:11px 14px!important;
  border:1px solid var(--frankie-gold)!important;
  border-radius:2px!important;
  background:rgba(13,11,9,.96)!important;
  box-shadow:0 10px 26px #0007!important;
  color:var(--frankie-cream)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.32!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  white-space:normal!important;
}
#frankie-widget .frankie-bubble::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-7px!important;
  width:13px!important;
  height:13px!important;
  background:#0d0b09!important;
  border-right:1px solid var(--frankie-gold)!important;
  border-bottom:1px solid var(--frankie-gold)!important;
  transform:translateX(-50%) rotate(45deg)!important;
}
#frankie-widget .frankie-size-toggle{
  all:unset!important;
  box-sizing:border-box!important;
  position:absolute!important;
  z-index:4!important;
  right:-2px!important;
  bottom:8px!important;
  display:grid!important;
  place-items:center!important;
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(176,138,85,.72)!important;
  border-radius:50%!important;
  background:rgba(9,8,6,.88)!important;
  box-shadow:0 5px 14px #0007!important;
  color:var(--frankie-gold2)!important;
  font-family:Arial,sans-serif!important;
  font-size:18px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer!important;
}
#frankie-widget .frankie-size-toggle:hover{border-color:var(--frankie-gold2)!important;background:#17120d!important;color:#fff!important}
#frankie-widget.frankie-is-compact .frankie-mascot{width:116px!important;max-width:116px!important;max-height:180px!important}
#frankie-widget.frankie-is-compact .frankie-bubble{max-width:205px!important;margin-bottom:-6px!important;padding:8px 10px!important;font-size:11.5px!important;line-height:1.28!important}
#frankie-widget.frankie-is-compact .frankie-bubble::after{bottom:-6px!important;width:10px!important;height:10px!important}

/* Open dialog. */
#frankie-widget .frankie-panel{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:clamp(360px,30vw,410px)!important;
  max-width:calc(100vw - 24px)!important;
  height:min(640px,calc(100svh - 28px))!important;
  max-height:calc(100svh - 28px)!important;
  min-height:440px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  border:1px solid var(--frankie-gold)!important;
  border-radius:3px!important;
  background:linear-gradient(180deg,#17130f,#0c0b09)!important;
  box-shadow:0 24px 80px #000b!important;
  color:var(--frankie-cream)!important;
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  text-align:left!important;
}
@supports(height:100dvh){#frankie-widget .frankie-panel{height:min(640px,calc(100dvh - 28px))!important;max-height:calc(100dvh - 28px)!important}}

#frankie-widget .frankie-head{
  position:relative!important;
  display:flex!important;
  flex:0 0 auto!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:18px 18px 17px!important;
  border:0!important;
  border-bottom:1px solid var(--frankie-line)!important;
  background:radial-gradient(circle at 85% -20%,rgba(176,138,85,.24),transparent 45%),linear-gradient(135deg,#17120e,#261516)!important;
}
#frankie-widget .frankie-head>div{min-width:0!important;flex:1 1 auto!important}
#frankie-widget .frankie-head::after{content:""!important;position:absolute!important;left:18px!important;right:18px!important;bottom:5px!important;height:1px!important;background:linear-gradient(90deg,transparent,var(--frankie-gold),transparent)!important;opacity:.55!important}
#frankie-widget .frankie-eyebrow{all:unset!important;display:block!important;margin:0!important;padding:0!important;color:var(--frankie-gold2)!important;font-family:Manrope,system-ui,sans-serif!important;font-size:9px!important;font-style:normal!important;font-weight:700!important;line-height:1.35!important;letter-spacing:.18em!important;text-transform:uppercase!important;white-space:normal!important}
#frankie-widget .frankie-head h2{all:unset!important;display:block!important;margin:4px 0 0!important;padding:0!important;color:var(--frankie-cream)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:31px!important;font-style:normal!important;font-weight:500!important;line-height:1.02!important;letter-spacing:.02em!important;text-transform:none!important;white-space:normal!important}
#frankie-widget .frankie-head p{all:unset!important;display:block!important;margin:5px 0 0!important;padding:0!important;color:var(--frankie-warm)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:13px!important;font-style:italic!important;font-weight:400!important;line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important;white-space:normal!important}
#frankie-widget .frankie-close{all:unset!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;flex:0 0 34px!important;margin:0!important;padding:0!important;border:1px solid var(--frankie-line)!important;border-radius:50%!important;background:transparent!important;color:var(--frankie-gold2)!important;font-family:Arial,sans-serif!important;font-size:22px!important;font-style:normal!important;font-weight:400!important;line-height:1!important;letter-spacing:normal!important;text-align:center!important;text-transform:none!important;cursor:pointer!important}
#frankie-widget .frankie-close:hover{border-color:var(--frankie-gold)!important;background:rgba(176,138,85,.08)!important}

#frankie-widget .frankie-log{display:block!important;flex:1 1 auto!important;min-width:0!important;min-height:0!important;width:100%!important;margin:0!important;padding:14px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-color:var(--frankie-gold) transparent!important}
#frankie-widget .frankie-message{display:block!important;max-width:92%!important;margin:0 0 10px!important;padding:10px 12px!important;border:1px solid var(--frankie-line)!important;background:transparent!important;color:var(--frankie-cream)!important;font-family:Manrope,system-ui,sans-serif!important;font-size:13.5px!important;font-style:normal!important;font-weight:400!important;line-height:1.45!important;letter-spacing:normal!important;text-transform:none!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:normal!important}
#frankie-widget .frankie-assistant{border-left:2px solid var(--frankie-gold)!important;background:#18140f!important;color:var(--frankie-cream)!important}
#frankie-widget .frankie-user{margin-left:auto!important;border-color:#5b4740!important;background:var(--frankie-burgundy)!important;color:#fff5eb!important}

#frankie-widget .frankie-card{display:flex!important;min-width:0!important;width:100%!important;overflow:hidden!important;margin:10px 0!important;border:1px solid var(--frankie-line)!important;background:#16120e!important;box-shadow:0 8px 20px #0003!important}
#frankie-widget .frankie-card-image{display:block!important;width:90px!important;min-width:90px!important;max-width:90px!important;min-height:132px!important;flex:0 0 90px!important;object-fit:contain!important;background:#efe9de!important;padding:7px!important}
#frankie-widget .frankie-card-body{display:block!important;min-width:0!important;flex:1 1 auto!important;padding:12px!important}
#frankie-widget .frankie-card-title{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;min-width:0!important}
#frankie-widget .frankie-card h3{all:unset!important;display:block!important;min-width:0!important;flex:1 1 auto!important;margin:0!important;padding:0!important;color:var(--frankie-cream)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:16px!important;font-style:normal!important;font-weight:600!important;line-height:1.18!important;letter-spacing:normal!important;text-transform:none!important;overflow-wrap:anywhere!important}
#frankie-widget .frankie-price{display:block!important;flex:0 0 auto!important;color:var(--frankie-gold2)!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap!important}
#frankie-widget .frankie-meta{display:block!important;margin-top:6px!important;color:#aa9f91!important;font-size:10px!important;line-height:1.35!important;text-transform:uppercase!important;letter-spacing:.04em!important;overflow-wrap:anywhere!important}
#frankie-widget .frankie-desc{all:unset!important;display:block!important;margin:8px 0 0!important;padding:0!important;color:var(--frankie-warm)!important;font-family:Manrope,system-ui,sans-serif!important;font-size:12px!important;font-style:normal!important;font-weight:400!important;line-height:1.45!important;letter-spacing:normal!important;text-transform:none!important;overflow-wrap:anywhere!important}
#frankie-widget .frankie-tags{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:8px!important}
#frankie-widget .frankie-tag{display:inline-block!important;padding:3px 6px!important;border:1px solid #4a3a2c!important;color:#d5c4aa!important;font-size:9.5px!important;line-height:1.2!important;letter-spacing:.03em!important}
#frankie-widget .frankie-pairing{display:grid!important;gap:3px!important;margin-top:9px!important;padding-top:8px!important;border-top:1px dashed #493827!important;color:#c9b28f!important;font-size:10.5px!important;line-height:1.4!important}
#frankie-widget .frankie-pairing strong{display:block!important;color:var(--frankie-gold2)!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:9px!important}

/* Quick actions: always fit the panel; no sideways carousel. */
#frankie-widget .frankie-chips{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;margin:0!important;padding:9px 10px!important;overflow:hidden!important;overflow-x:hidden!important;border-top:1px solid var(--frankie-line)!important;background:#100e0b!important}
#frankie-widget .frankie-chips button{all:unset!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:38px!important;margin:0!important;padding:7px 8px!important;border:1px solid #5a4733!important;border-radius:999px!important;background:#17130f!important;color:#dbc6a6!important;font-family:Manrope,system-ui,sans-serif!important;font-size:10.5px!important;font-style:normal!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.02em!important;text-align:center!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere!important;cursor:pointer!important}
#frankie-widget .frankie-chips button:hover{border-color:var(--frankie-gold)!important;color:#fff!important}
#frankie-widget .frankie-status{display:block!important;flex:0 0 auto!important;min-height:18px!important;width:100%!important;margin:0!important;padding:0 11px!important;background:#100e0b!important;color:#a99b88!important;font-size:10px!important;line-height:1.4!important;overflow-wrap:anywhere!important}

#frankie-widget .frankie-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;margin:0!important;padding:9px 10px 7px!important;border:0!important;border-top:1px solid var(--frankie-line)!important;background:#100e0b!important}
#frankie-widget .frankie-form input{all:unset!important;box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:42px!important;margin:0!important;padding:0 11px!important;border:1px solid #4b4034!important;border-radius:0!important;outline:none!important;background:#201a14!important;color:var(--frankie-cream)!important;font-family:Manrope,system-ui,sans-serif!important;font-size:14px!important;font-style:normal!important;font-weight:400!important;line-height:42px!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important}
#frankie-widget .frankie-form input::placeholder{color:#8f867d!important;opacity:1!important}
#frankie-widget .frankie-form input:focus{border-color:var(--frankie-gold)!important;box-shadow:0 0 0 1px var(--frankie-gold)!important}
#frankie-widget .frankie-form button{all:unset!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:92px!important;max-width:118px!important;height:42px!important;margin:0!important;padding:0 13px!important;border:1px solid var(--frankie-gold)!important;border-radius:0!important;background:var(--frankie-gold)!important;color:#130f0b!important;font-family:Manrope,system-ui,sans-serif!important;font-size:10.5px!important;font-style:normal!important;font-weight:900!important;line-height:1!important;letter-spacing:.06em!important;text-align:center!important;text-transform:uppercase!important;white-space:nowrap!important;cursor:pointer!important;box-shadow:none!important}
#frankie-widget .frankie-form button:disabled,#frankie-widget .frankie-chips button:disabled{opacity:.5!important;cursor:wait!important}
#frankie-widget .frankie-foot{display:block!important;flex:0 0 auto!important;width:100%!important;margin:0!important;padding:0 10px 9px!important;background:#100e0b!important;color:#756c61!important;font-size:9px!important;line-height:1.3!important;text-align:center!important;overflow-wrap:anywhere!important}
#frankie-widget .frankie-launch:focus-visible,#frankie-widget .frankie-size-toggle:focus-visible,#frankie-widget .frankie-close:focus-visible,#frankie-widget .frankie-chips button:focus-visible,#frankie-widget .frankie-form button:focus-visible{outline:2px solid var(--frankie-gold2)!important;outline-offset:2px!important}

@media(max-width:520px){
  #frankie-widget{right:7px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;left:auto!important}
  #frankie-widget .frankie-mascot{width:122px!important;max-width:122px!important;max-height:193px!important}
  #frankie-widget .frankie-bubble{width:auto!important;max-width:min(237px,calc(100vw - 16px))!important;margin:0 0 -6px!important;padding:8px 11px!important;font-size:12px!important;line-height:1.3!important}
  #frankie-widget .frankie-size-toggle{right:0!important;bottom:5px!important;width:27px!important;min-width:27px!important;max-width:27px!important;height:27px!important;min-height:27px!important;max-height:27px!important;font-size:17px!important}
  #frankie-widget.frankie-is-compact .frankie-mascot{width:84px!important;max-width:84px!important;max-height:134px!important}
  #frankie-widget.frankie-is-compact .frankie-bubble{max-width:min(175px,calc(100vw - 14px))!important;margin-bottom:-5px!important;padding:7px 9px!important;font-size:10.5px!important}
  #frankie-widget.frankie-is-compact .frankie-bubble::after{bottom:-5px!important;width:9px!important;height:9px!important}
  #frankie-widget .frankie-panel{
    position:fixed!important;
    inset:auto 0 0 0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:min(720px,calc(100svh - env(safe-area-inset-top)))!important;
    max-height:calc(100svh - env(safe-area-inset-top))!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    overflow-x:hidden!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
    border-radius:0!important;
  }
  @supports(height:100dvh){#frankie-widget .frankie-panel{height:min(720px,calc(100dvh - env(safe-area-inset-top)))!important;max-height:calc(100dvh - env(safe-area-inset-top))!important}}
  #frankie-widget .frankie-head{padding:14px 14px 13px!important;gap:10px!important}
  #frankie-widget .frankie-head::after{left:14px!important;right:14px!important}
  #frankie-widget .frankie-eyebrow{font-size:8.5px!important;letter-spacing:.15em!important}
  #frankie-widget .frankie-head h2{font-size:28px!important;line-height:1!important}
  #frankie-widget .frankie-head p{font-size:12.5px!important}
  #frankie-widget .frankie-close{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;flex-basis:32px!important;font-size:20px!important}
  #frankie-widget .frankie-log{padding:11px!important}
  #frankie-widget .frankie-message{max-width:94%!important;padding:9px 10px!important;font-size:13px!important;line-height:1.4!important}
  #frankie-widget .frankie-card-image{width:78px!important;min-width:78px!important;max-width:78px!important;flex-basis:78px!important;min-height:116px!important;padding:6px!important}
  #frankie-widget .frankie-card-body{padding:10px!important}
  #frankie-widget .frankie-card h3{font-size:15px!important}
  #frankie-widget .frankie-price{font-size:11px!important}
  #frankie-widget .frankie-chips{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important}
  #frankie-widget .frankie-chips button{min-height:36px!important;padding:6px!important;font-size:10px!important;line-height:1.15!important}
  #frankie-widget .frankie-form{grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;padding:8px 8px 6px!important}
  #frankie-widget .frankie-form input{height:41px!important;padding:0 10px!important;font-size:16px!important;line-height:41px!important}
  #frankie-widget .frankie-form button{min-width:86px!important;max-width:100px!important;height:41px!important;padding:0 10px!important;font-size:10px!important}
  #frankie-widget .frankie-foot{padding:0 9px max(8px,env(safe-area-inset-bottom))!important;font-size:8.5px!important}
}

@media(max-width:380px){
  #frankie-widget .frankie-form{grid-template-columns:1fr!important}
  #frankie-widget .frankie-form button{width:100%!important;min-width:0!important;max-width:none!important;height:38px!important}
  #frankie-widget .frankie-chips button{font-size:9.5px!important}
}

@media(max-height:620px) and (min-width:521px){
  #frankie-widget .frankie-panel{height:calc(100svh - 20px)!important;max-height:calc(100svh - 20px)!important;min-height:0!important}
  #frankie-widget .frankie-head{padding-top:14px!important;padding-bottom:13px!important}
  #frankie-widget .frankie-head h2{font-size:27px!important}
  #frankie-widget .frankie-log{padding:10px!important}
  #frankie-widget .frankie-chips{padding:7px 9px!important}
}

@media(prefers-reduced-motion:reduce){#frankie-widget *{scroll-behavior:auto!important}}

/* Hidden state must outrank the isolated component display rules. */
#frankie-widget .frankie-launch[hidden],#frankie-widget .frankie-panel[hidden],#frankie-widget [hidden]{display:none!important}
#frankie-widget .frankie-launch[hidden]{display:none!important}
#frankie-widget .frankie-panel[hidden]{display:none!important}
