/* CATNARA_AI_CONSULT_MOBILE_V1 — mobile chat-first screen. */
@media(max-width:820px){
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult{
  --ai-chat-bottom:calc(86px + env(safe-area-inset-bottom,0px));
  padding:4px 10px var(--ai-chat-bottom)!important;
  background:var(--utility-bg,var(--catapp-native-bg,var(--ui-bg,#fff)))!important;
 }
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active.catnara-app-route-consult .catapp-global-logo-row{
  display:none!important;
 }
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult .catnara-ai-consult{
  display:flex;flex-direction:column;gap:6px;width:100%;max-width:740px;margin:0 auto;
  height:calc(100dvh - 162px - env(safe-area-inset-bottom,0px));
  min-height:0;
  color:var(--utility-ink,var(--catapp-native-text,var(--ui-text,#332925)));
 }
 html[data-mobile-experience="app"] body.catnara-app-shell-v2-active #app main.catnara-pwa-utility.consult .catnara-ai-consult{
  height:calc(100dvh - 116px - env(safe-area-inset-bottom,0px));
 }
 .catnara-ai-consult .ai-consult-top{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:max(12px,env(safe-area-inset-top,0px)) 3px 5px;flex:0 0 auto}
 .catnara-ai-consult .ai-consult-brand{display:flex;align-items:center;gap:9px;min-width:0}
 .catnara-ai-consult .ai-consult-logo-home{width:34px;height:34px;flex:0 0 34px;
  display:flex;align-items:center;justify-content:center;border-radius:10px;
  border:1px solid var(--utility-line);background:var(--utility-card);overflow:hidden}
 .catnara-ai-consult .ai-consult-logo-home img{width:30px;height:30px;object-fit:contain}
 .catnara-ai-consult .ai-consult-logo-home:focus-visible{outline:2px solid var(--utility-accent);outline-offset:2px}
 .catnara-ai-consult .ai-consult-top strong{display:block;font-size:15px;font-weight:850}
 .catnara-ai-consult .ai-consult-top small{display:block;font-size:9px;color:var(--utility-muted);margin-top:1px}
 .catnara-ai-consult .ai-consult-ready{padding:4px 7px;border-radius:30px;background:var(--utility-soft);
  color:var(--utility-accent);font-size:9px;font-weight:800;white-space:nowrap}
 .catnara-ai-consult .ai-consult-ready span{font-size:8px}
 .catnara-ai-consult .ai-consult-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:0 0 auto;
  padding:2px;background:var(--utility-soft);border-radius:12px}
 .catnara-ai-consult .ai-consult-mode{border:0;background:transparent;min-height:32px;border-radius:9px;
  color:var(--utility-muted);font-weight:800;font-size:11px}
 .catnara-ai-consult .ai-consult-mode[aria-pressed="true"]{background:var(--utility-card);color:var(--utility-ink);
  box-shadow:0 3px 12px color-mix(in srgb,var(--utility-accent) 12%,transparent)}
 .catnara-ai-consult .ai-consult-member-notice{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  flex:0 0 auto;padding:8px 10px;border:1px solid var(--utility-line);
  border-radius:10px;background:var(--utility-soft);color:var(--utility-ink);
  font-size:11px;line-height:1.4;
 }
 .catnara-ai-consult .ai-consult-member-notice[hidden]{display:none!important}
 .catnara-ai-consult .ai-consult-member-notice button{
  flex:0 0 auto;border:0;border-radius:8px;padding:7px 10px;
  background:var(--utility-accent);color:var(--utility-on-accent);
  font-size:11px;font-weight:800;
 }
 .catnara-ai-consult .ai-consult-messages{flex:1 1 auto;height:auto;min-height:146px;max-height:none;
  display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;
  padding:16px 12px;border:1px solid var(--utility-line);border-radius:17px;
  background:var(--utility-card);-webkit-overflow-scrolling:touch;scroll-behavior:auto;overflow-anchor:none}
 .catnara-ai-consult .ai-consult-bubble{max-width:92%;width:fit-content;border-radius:15px;
  padding:12px 13px;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;
  background:var(--utility-soft);color:var(--utility-ink)}
 .catnara-ai-consult .ai-consult-user{align-self:flex-end;background:var(--utility-accent);
  color:var(--utility-on-accent);-webkit-text-fill-color:var(--utility-on-accent)}
 .catnara-ai-consult .ai-consult-assistant{align-self:flex-start}
 .catnara-ai-consult .ai-consult-form{display:flex;flex:0 0 auto;flex-direction:row;align-items:end;gap:6px;
  padding:4px 7px 4px 11px;background:var(--utility-card);
  border:1px solid var(--utility-line);border-radius:15px}
 .catnara-ai-consult .ai-consult-form textarea{flex:1;resize:none;min-width:0;width:100%;height:42px;
  min-height:42px;max-height:96px;border:0;background:transparent;outline:none;
  color:var(--utility-ink);font:inherit;font-size:13px;padding:9px 0}
 .catnara-ai-consult .ai-consult-form button{flex:0 0 auto;min-width:50px;height:42px;font-size:12px;
  border:0;border-radius:10px;background:var(--utility-accent)!important;
  color:var(--utility-on-accent)!important;-webkit-text-fill-color:var(--utility-on-accent)!important;font-weight:800}
 .catnara-ai-consult .ai-consult-form button:disabled{opacity:.55}
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult .ai-consult-caution{
  flex:0 0 auto;font-size:8.5px!important;line-height:1.3!important;
  color:var(--utility-muted);margin:0 2px
 }
 .catnara-ai-consult .ai-consult-human{display:grid;flex:0 0 auto;gap:4px;padding:4px 2px 2px}
 .catnara-ai-consult .ai-consult-human>span{font-size:10px;font-weight:750;color:var(--utility-muted)}
 .catnara-ai-consult .ai-consult-human-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult .ai-consult-human-actions a{
  display:flex;justify-content:center;align-items:center;min-height:40px;padding:6px;
  border-radius:12px;background:var(--utility-accent)!important;
  color:var(--utility-on-accent)!important;-webkit-text-fill-color:var(--utility-on-accent)!important;
  text-decoration:none;text-align:center;font-size:11px;font-weight:800;white-space:nowrap}
 .catnara-ai-consult .ai-consult-sr{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
 @media(max-height:650px){.catnara-ai-consult .ai-consult-messages{min-height:96px}}
 /* CATNARA_AI_CONSULT_COMPACT_KEYBOARD_V2 — only while composing in chat.
    Hide secondary controls, including the fixed APP tabs, so WebKit/Chrome
    leave room for two messages and an input bar immediately above the IME. */
 body.catnara-ai-keyboard-open.catnara-app-shell-v2-active .catapp-tabs,
 body.catnara-ai-keyboard-open #catnara-app-shell-v2 .catapp-tabs{display:none!important}
 /* The shared APP shell still treats a focused textarea as keyboard-open
    even after Android Back dismissed the IME. Restore standard tabs and
    padding when the actual visual viewport has returned to normal. */
 body.catnara-app-shell-v2-active.catnara-app-route-consult.catnara-app-keyboard-open:not(.catnara-ai-keyboard-open){
  padding-bottom:calc(var(--catapp-bottom,78px) + env(safe-area-inset-bottom,0px))!important;
 }
 body.catnara-app-shell-v2-active.catnara-app-route-consult.catnara-app-keyboard-open:not(.catnara-ai-keyboard-open) .catapp-tabs{
  display:flex!important;opacity:1!important;transform:none!important;pointer-events:auto!important;
 }
 html[data-view-mode="public"] body.catnara-ai-keyboard-open
 #app main.catnara-pwa-utility.consult{
  box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  height:calc(var(--catnara-ai-visual-height, 360px) - 14px)!important;
  min-height:0!important;padding:4px 10px 5px!important;
 }
 html[data-view-mode="public"] body.catnara-ai-keyboard-open
 #app main.catnara-pwa-utility.consult .catnara-ai-consult{
  display:flex!important;flex:1 1 auto!important;min-height:0!important;height:100%!important;gap:7px!important;
 }
 body.catnara-ai-keyboard-open .catnara-ai-consult
 :is(.ai-consult-top,.ai-consult-modes,.ai-consult-member-notice,.ai-consult-caution,.ai-consult-human){
  display:none!important;
 }
 body.catnara-ai-keyboard-open .catnara-ai-consult .ai-consult-messages{
  flex:1 1 auto!important;min-height:58px!important;max-height:none!important;
  height:auto!important;padding:9px!important;
 }
 body.catnara-ai-keyboard-open .catnara-ai-consult .ai-consult-form{
  flex:0 0 auto!important;min-height:55px!important;margin:0!important;
  box-shadow:0 4px 18px color-mix(in srgb,var(--utility-accent) 9%,transparent);
 }

}

/* CATNARA_PC_AI_CONSULT_V1 — scoped desktop version of the existing PWA chat. */
.pc-ai-consult-link{display:none!important}
@media(min-width:821px){
 html[data-view-mode="public"] #app .pc-ai-consult-link{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-height:36px;padding:8px 9px!important;font-size:11px!important;font-weight:800!important;cursor:pointer}
 html[data-view-mode="public"] #app .pc-ai-consult-link:focus-visible{outline:3px solid var(--st-accent,var(--ui-accent,#a97573));outline-offset:2px}
 html[data-view-mode="public"] #app .public-header>.top-actions{align-items:center;gap:5px;flex-wrap:nowrap}
 html[data-view-mode="public"][data-public-layout="fullscreen-impact"] #app .impact-actions .pc-ai-consult-link{position:fixed;top:18px;right:22px;z-index:70;width:auto!important;border-radius:12px!important;box-shadow:0 4px 22px rgba(0,0,0,.25)}
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult{
  --utility-bg:var(--st-bg,var(--ui-bg,#faf8f5));--utility-card:var(--st-surface,var(--ui-surface,#fff));--utility-soft:var(--st-soft,var(--ui-soft,#f7f2ee));--utility-ink:var(--st-ink,var(--ui-text,#382c2f));--utility-muted:var(--st-muted,var(--ui-muted,#71645e));--utility-line:var(--st-line,var(--ui-line,#e7dcd5));--utility-accent:var(--st-accent,var(--ui-accent,#a97573));--utility-on-accent:var(--ui-accent-text,#fff);
  box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);padding:30px 24px 40px!important;background:var(--utility-bg);color:var(--utility-ink)
 }
 html[data-view-mode="public"] #app main.catnara-pwa-utility.consult .catnara-ai-consult{
  display:flex;flex-direction:column;gap:11px;box-sizing:border-box;width:min(100%,780px);height:min(760px,calc(100dvh - 160px));min-height:460px;
  padding:24px;border:1px solid var(--utility-line);border-radius:22px;background:var(--utility-card);box-shadow:0 16px 44px rgba(25,25,25,.07)
 }
 .catnara-pwa-utility.consult .ai-consult-top,.catnara-pwa-utility.consult .ai-consult-brand{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .catnara-pwa-utility.consult .ai-consult-brand{justify-content:flex-start}
 .catnara-pwa-utility.consult .ai-consult-logo-home{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--utility-line);background:var(--utility-soft)}
 .catnara-pwa-utility.consult .ai-consult-logo-home img{width:42px;height:42px;object-fit:contain}
 .catnara-pwa-utility.consult .ai-consult-brand strong{display:block;font-size:20px;color:var(--utility-ink)}
 .catnara-pwa-utility.consult .ai-consult-brand small{display:block;font-size:12px;color:var(--utility-muted)}
 .catnara-pwa-utility.consult .ai-consult-ready{padding:6px 10px;border-radius:99px;background:var(--utility-soft);color:var(--utility-accent);font-size:12px;font-weight:800;white-space:nowrap}
 .catnara-pwa-utility.consult .ai-consult-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:12px;background:var(--utility-soft)}
 .catnara-pwa-utility.consult .ai-consult-mode{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--utility-muted);font-size:13px;font-weight:800;cursor:pointer}
 .catnara-pwa-utility.consult .ai-consult-mode[aria-pressed="true"]{background:var(--utility-card);color:var(--utility-ink);box-shadow:0 3px 12px rgba(0,0,0,.06)}
 .catnara-pwa-utility.consult .ai-consult-member-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:10px;background:var(--utility-soft);font-size:12px}
 .catnara-pwa-utility.consult .ai-consult-member-notice[hidden]{display:none!important}
 .catnara-pwa-utility.consult .ai-consult-member-notice button{border:0;border-radius:8px;padding:9px 12px;background:var(--utility-accent);color:var(--utility-on-accent)}
 .catnara-pwa-utility.consult .ai-consult-messages{display:flex;flex:1 1 auto;min-height:145px;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:18px;border:1px solid var(--utility-line);border-radius:16px;background:var(--utility-bg)}
 .catnara-pwa-utility.consult .ai-consult-bubble{max-width:86%;width:fit-content;padding:12px 15px;border-radius:15px;background:var(--utility-soft);color:var(--utility-ink);font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
 .catnara-pwa-utility.consult .ai-consult-user{align-self:flex-end;background:var(--utility-accent);color:var(--utility-on-accent)}
 .catnara-pwa-utility.consult .ai-consult-assistant{align-self:flex-start}
 .catnara-pwa-utility.consult .ai-consult-form{display:flex;align-items:center;gap:10px;padding:6px;border:1px solid var(--utility-line);border-radius:14px;background:var(--utility-card)}
 .catnara-pwa-utility.consult .ai-consult-form textarea{flex:1;min-width:0;width:100%;height:46px;max-height:110px;resize:vertical;padding:12px;border:0;background:transparent;color:var(--utility-ink);font:inherit;font-size:14px;outline:none}
 .catnara-pwa-utility.consult .ai-consult-form button{min-width:72px;min-height:46px;border:0;border-radius:10px;background:var(--utility-accent);color:var(--utility-on-accent);font-weight:800;cursor:pointer}
 .catnara-pwa-utility.consult .ai-consult-caution{margin:0;color:var(--utility-muted);font-size:11px;line-height:1.5}
 .catnara-pwa-utility.consult .ai-consult-human{display:grid;gap:7px}
 .catnara-pwa-utility.consult .ai-consult-human>span{color:var(--utility-muted);font-size:12px}
 .catnara-pwa-utility.consult .ai-consult-human-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .catnara-pwa-utility.consult .ai-consult-human-actions a{display:grid;place-items:center;min-height:43px;border-radius:11px;background:var(--utility-accent);color:var(--utility-on-accent);text-decoration:none;font-size:13px;font-weight:800}
 .catnara-pwa-utility.consult .ai-consult-sr{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
}

/* CATNARA_AI_BOOKING_BRIDGE_V1: PC and PWA consultation availability cards. */
#app .catnara-ai-consult .ai-booking-card{display:flex;flex-direction:column;align-self:stretch;flex-shrink:0;gap:9px;
 border:1px solid var(--utility-line,#dfd7d1);border-radius:14px;background:var(--utility-card,#fff);
 padding:13px;overflow-wrap:anywhere}
#app .catnara-ai-consult .ai-booking-card strong{font-size:14px;color:var(--utility-ink,#332925)}
#app .catnara-ai-consult .ai-booking-card p{margin:0!important;font-size:12px!important;line-height:1.5!important;color:var(--utility-muted,#71645e)!important}
#app .catnara-ai-consult .ai-booking-card button{
 min-height:42px;padding:8px 12px!important;border:1px solid var(--utility-accent,#a97573)!important;
 border-radius:10px;background:var(--utility-accent,#a97573)!important;color:var(--utility-on-accent,#fff)!important;
 -webkit-text-fill-color:var(--utility-on-accent,#fff)!important;font-size:12px!important;font-weight:800!important;
 cursor:pointer;white-space:normal}
#app .catnara-ai-consult .ai-booking-card .ai-booking-slot{align-self:flex-start;min-width:82px;
 background:var(--utility-soft,#f7f2ee)!important;border-color:var(--utility-line,#dfd7d1)!important;
 color:var(--utility-ink,#382c2f)!important;-webkit-text-fill-color:var(--utility-ink,#382c2f)!important}
#app .catnara-ai-consult .ai-booking-card button:disabled{opacity:.6;cursor:wait}
@media(max-width:820px){#app .catnara-ai-consult .ai-booking-card{gap:7px;padding:10px}}


/* Care Library referral card appears inside PC/PWA consultation conversation.
   The existing animated research GIF is reused; no new asset or API call. */
#app .catnara-ai-consult .ai-consult-care-promo{
  box-sizing:border-box;align-self:stretch;flex:0 0 auto;min-width:0;width:100%;
  display:grid;gap:10px;padding:15px 16px;border-radius:17px;
  border:1px solid var(--utility-line,#e6d7d1);
  background:linear-gradient(145deg,var(--utility-card,#fff) 0%,var(--utility-soft,#fff4f4) 100%);
  box-shadow:0 5px 20px rgba(94,64,72,.07);overflow-wrap:anywhere;
}
#app .catnara-ai-consult .ai-consult-care-promo-hero{display:flex;align-items:center;gap:11px;min-width:0}
#app .catnara-ai-consult .ai-consult-care-promo-hero img{
 width:70px;height:70px;object-fit:contain;flex:0 0 70px;border-radius:12px;background:#fffdfa
}
#app .catnara-ai-consult .ai-consult-care-promo-title{
 font-weight:850;font-size:15px;line-height:1.5;color:var(--utility-ink,#382c2f)
}
#app .catnara-ai-consult .ai-consult-care-sparkle{
 color:var(--utility-accent,#a97573);font-size:22px;animation:catnara-care-twinkle 2.5s ease-in-out infinite
}
#app .catnara-ai-consult .ai-consult-care-promo-description{
 margin:0!important;color:var(--utility-ink,#382c2f)!important;
 font-size:13px!important;line-height:1.75!important;white-space:normal
}
#app .catnara-ai-consult .ai-consult-care-promo-link{
 display:flex;justify-content:center;align-items:center;gap:6px;
 box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:12px;
 color:var(--utility-on-accent,#fff)!important;-webkit-text-fill-color:var(--utility-on-accent,#fff)!important;
 background:var(--utility-accent,#a97573)!important;text-align:center;text-decoration:none!important;
 font-size:13px;font-weight:850;line-height:1.5
}
#app .catnara-ai-consult .ai-consult-care-promo-link:focus-visible{
 outline:3px solid var(--utility-ink,#382c2f);outline-offset:3px
}
#app .catnara-ai-consult .ai-consult-care-promo>small{
 display:block;color:var(--utility-muted,#756a67);font-size:11px;line-height:1.65
}
@keyframes catnara-care-twinkle{
 0%,100%{opacity:.45;transform:scale(.8) rotate(-10deg)}
 50%{opacity:1;transform:scale(1.2) rotate(12deg)}
}
@media(max-width:820px){
 #app .catnara-ai-consult .ai-consult-care-promo{padding:13px 12px}
 #app .catnara-ai-consult .ai-consult-care-promo-hero img{width:60px;height:60px;flex-basis:60px}
 #app .catnara-ai-consult .ai-consult-care-promo-title{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 #app .catnara-ai-consult .ai-consult-care-sparkle{animation:none!important}
 #app .catnara-ai-consult .ai-consult-care-promo-hero img{display:none}
}
