.pcw-root { --ink: #04222C; --teal: #036B8A; --cyan: #00BAEE; --mist: #EAF9FD; --line: #D8E6EA; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: var(--ink); }
.pcw-root [hidden] { display: none !important; }
.pcw-launcher { position: fixed; right: 18px; bottom: 18px; z-index: 9998; display: flex; align-items: center; gap: 8px; background: var(--ink); color: #fff; border: 0; border-radius: 999px; padding: 12px 18px; font-size: 15px; font-weight: 700; box-shadow: 0 8px 24px rgba(4, 34, 44, .25); cursor: pointer; }
.pcw-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px rgba(0, 186, 238, .25); }
.pcw-teaser { position: fixed; right: 18px; bottom: 76px; z-index: 9998; max-width: 280px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; font-size: 14px; box-shadow: 0 8px 24px rgba(4, 34, 44, .15); cursor: pointer; }
.pcw-sheet { position: fixed; right: 18px; bottom: 76px; z-index: 9999; width: min(420px, calc(100vw - 24px)); height: min(680px, calc(100vh - 100px)); display: flex; flex-direction: column; background: #fff; border-radius: 20px; border: 1px solid var(--line); box-shadow: 0 16px 48px rgba(4, 34, 44, .25); overflow: hidden; }
@media (max-width: 600px) { .pcw-sheet { right: 0; bottom: 0; width: 100vw; height: 100dvh; border-radius: 0; } }
.pcw-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; background: var(--ink); color: #fff; }
.pcw-head strong { display: block; font-size: 16px; }
.pcw-head-actions { display: flex; gap: 8px; align-items: center; }
.pcw-head .pcw-link { color: #fff; }
.pcw-close { background: transparent; border: 0; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.pcw-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #F7FBFC; }
.pcw-msg { max-width: 86%; padding: 10px 12px; border-radius: 14px; font-size: 14px; line-height: 1.4; }
.pcw-bot { align-self: flex-start; background: #fff; border: 1px solid var(--line); border-bottom-left-radius: 4px; }
.pcw-me { align-self: flex-end; background: var(--teal); color: #fff; border-bottom-right-radius: 4px; }
.pcw-error { align-self: center; background: #FFF3F0; color: #8A2B14; }
.pcw-system { align-self: center; max-width: 100%; font-size: 12px; color: #6B7F85; background: transparent; text-align: center; }
.pcw-input { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--line); }
.pcw-input input { flex: 1; border: 1px solid var(--line); border-radius: 999px; padding: 12px 14px; font-size: 15px; }
.pcw-input button, .pcw-cta { background: var(--ink); color: #fff; border: 0; border-radius: 999px; padding: 12px 16px; font-weight: 700; cursor: pointer; min-height: 44px; }
.pcw-link { background: transparent; border: 0; color: var(--teal); text-decoration: underline; cursor: pointer; font-size: 13px; }
.pcw-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pcw-chips button { background: #fff; border: 1px solid var(--teal); color: var(--teal); border-radius: 999px; padding: 8px 12px; font-size: 13px; cursor: pointer; min-height: 36px; }
.pcw-card, .pcw-cart, .pcw-sub, .pcw-save-offer, .pcw-identity, .pcw-email { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px; display: grid; gap: 8px; }
.pcw-card-top { display: flex; gap: 10px; align-items: center; }
.pcw-card-top img, .pcw-sub-head img { width: 64px; height: 64px; object-fit: contain; border-radius: 12px; background: var(--mist); }
.pcw-card h4, .pcw-sub h4, .pcw-save-offer h4 { margin: 0; font-size: 15px; }
.pcw-rating { font-size: 12px; color: #6B7F85; }
.pcw-rating span { color: #F5A623; }
.pcw-benefit { margin: 0; font-size: 13px; }
.pcw-options { display: grid; gap: 6px; }
.pcw-option { display: flex; gap: 8px; border: 2px solid var(--line); border-radius: 12px; padding: 8px 10px; cursor: pointer; }
.pcw-option.is-selected { border-color: var(--cyan); background: var(--mist); }
.pcw-option-main { display: grid; gap: 2px; font-size: 13px; }
.pcw-option-label { font-weight: 700; }
.pcw-price { font-size: 15px; font-weight: 700; }
.pcw-price s { color: #7A8D93; font-weight: 400; }
.pcw-save { background: var(--teal); color: #fff; border-radius: 999px; padding: 1px 8px; font-size: 11px; }
.pcw-perday, .pcw-renewal { font-size: 12px; color: #35535C; }
.pcw-gifts ul { margin: 4px 0 0; padding-left: 18px; font-size: 13px; }
.pcw-gifts span { color: #6B7F85; }
.pcw-guarantee { margin: 0; font-size: 12px; text-align: center; color: #35535C; }
.pcw-details { font-size: 12px; text-align: center; color: var(--teal); }
.pcw-live { margin: 0; font-size: 13px; }
.pcw-cart ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 13px; }
.pcw-cart li, .pcw-total { display: flex; justify-content: space-between; gap: 10px; }
.pcw-total { font-weight: 700; border-top: 1px solid var(--line); padding-top: 6px; }
.pcw-checkout { display: block; text-align: center; background: var(--cyan); color: var(--ink); font-weight: 800; border-radius: 999px; padding: 12px; text-decoration: none; }
.pcw-sub-head { display: flex; gap: 10px; align-items: center; }
.pcw-sub dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 0; font-size: 13px; }
.pcw-sub dt { color: #6B7F85; }
.pcw-sub dd { margin: 0; font-weight: 600; }
.pcw-sub.is-cancelled { opacity: .85; }
.pcw-sub-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.pcw-sub-actions button { border: 1px solid var(--teal); background: #fff; color: var(--teal); border-radius: 999px; padding: 8px 12px; cursor: pointer; }
.pcw-confirm { margin: 0; font-size: 12px; color: var(--teal); font-weight: 700; }
.pcw-email label { display: grid; gap: 6px; font-size: 13px; }
.pcw-email input { border: 1px solid var(--line); border-radius: 12px; padding: 10px; font-size: 15px; }
.pcw-typing { align-self: flex-start; display: flex; gap: 4px; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.pcw-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--teal); animation: pcw-blink 1s infinite; }
.pcw-typing span:nth-child(2) { animation-delay: .15s; }
.pcw-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes pcw-blink { 0%, 100% { opacity: .2; } 50% { opacity: 1; } }
.pcw-modal { position: fixed; inset: 0; z-index: 10000; background: rgba(4, 34, 44, .55); display: grid; place-items: center; padding: 16px; }
.pcw-modal-box { width: min(640px, 100%); max-height: 90vh; background: #fff; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.pcw-modal-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #D8E6EA; font-size: 13px; }
.pcw-modal-head span { display: block; color: #6B7F85; }
.pcw-modal iframe { width: 100%; height: 60vh; border: 0; }
.pcw-note { margin: 0; padding: 8px 14px; font-size: 12px; color: #6B7F85; }
.pcw-input input:disabled, .pcw-input button:disabled { opacity: .6; cursor: default; }
.pcw-chips button:disabled { opacity: .45; cursor: default; }
.pcw-chips button.is-picked:disabled { opacity: 1; background: var(--teal); color: #fff; }
.pcw-plan { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px; display: grid; gap: 8px; }
.pcw-plan h4 { margin: 0; font-size: 15px; }
.pcw-plan p { margin: 0; font-size: 13px; color: #35535C; }
.pcw-plan-actions { display: grid; gap: 6px; }
.pcw-plan-secondary { display: flex; justify-content: center; }
.pcw-plan button:disabled { opacity: .45; cursor: default; }
.pcw-plan button.is-picked:disabled { opacity: 1; }
.pcw-gifts summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--teal); }
@media (prefers-reduced-motion: reduce) { .pcw-typing span { animation: none; opacity: .6; } }

/* Glass theme (Omar, 2026-09-15): a round PC logo launcher and a see-through cyan chat box. */
.pcw-root { --glass: rgba(118, 198, 221, .30); --glass-strong: rgba(3, 107, 138, .62); --glass-edge: rgba(255, 255, 255, .55); --frost: rgba(255, 255, 255, .80); }
.pcw-launcher { width: 62px; height: 62px; padding: 0; gap: 0; justify-content: center; border-radius: 50%; overflow: hidden; background: #76C5DC; box-shadow: 0 0 0 3px rgba(255, 255, 255, .92), 0 10px 28px rgba(4, 34, 44, .30); transition: transform .18s ease, box-shadow .18s ease; }
.pcw-launcher:hover { transform: scale(1.06); box-shadow: 0 0 0 3px #fff, 0 14px 32px rgba(4, 34, 44, .34); }
.pcw-launcher:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.pcw-launcher-icon { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pcw-teaser, .pcw-sheet { bottom: 94px; }
.pcw-teaser { background: var(--glass); border: 1px solid var(--glass-edge); backdrop-filter: blur(18px) saturate(170%); -webkit-backdrop-filter: blur(18px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 10px 30px rgba(4, 34, 44, .18); }
.pcw-sheet { background: var(--glass); border: 1px solid var(--glass-edge); backdrop-filter: blur(22px) saturate(170%); -webkit-backdrop-filter: blur(22px) saturate(170%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), 0 18px 50px rgba(4, 34, 44, .28); }
@media (max-width: 600px) { .pcw-sheet { bottom: 0; } }
.pcw-head { background: var(--glass-strong); border-bottom: 1px solid var(--glass-edge); }
.pcw-log { background: transparent; }
.pcw-bot, .pcw-typing { background: var(--frost); border-color: rgba(255, 255, 255, .75); }
.pcw-chips button { background: rgba(255, 255, 255, .72); }
.pcw-card, .pcw-cart, .pcw-sub, .pcw-save-offer, .pcw-identity, .pcw-email, .pcw-plan { background: rgba(255, 255, 255, .92); border-color: rgba(255, 255, 255, .85); }
.pcw-input { background: rgba(255, 255, 255, .30); border-top: 1px solid var(--glass-edge); }
.pcw-input input { background: rgba(255, 255, 255, .88); border-color: rgba(255, 255, 255, .9); }
.pcw-system { color: #2F4A52; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .pcw-teaser, .pcw-sheet { background: rgba(232, 247, 252, .97); } }
@media (prefers-reduced-motion: reduce) { .pcw-launcher { transition: none; } .pcw-launcher:hover { transform: none; } }

/* Logo-only chat header (Omar, 2026-09-15): the Physician's Choice wordmark and icon buttons. */
.pcw-head { padding: 14px 12px 14px 16px; }
.pcw-head-logo { display: block; height: 20px; width: auto; }
.pcw-icon-btn { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; }
.pcw-icon-btn:hover { background: rgba(255, 255, 255, .16); }
.pcw-icon-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pcw-icon-btn svg { display: block; width: 18px; height: 18px; }

/* Product looks (Omar, 2026-09-15): the real gummy and capsule photos for "what does it look like". */
.pcw-looks { background: rgba(255, 255, 255, .92); border-radius: 16px; padding: 10px; display: grid; gap: 8px; }
.pcw-looks-2 { grid-template-columns: 1fr 1fr; }
.pcw-look { margin: 0; background: #F3FAFC; border-radius: 12px; display: grid; place-items: center; }
.pcw-look img { max-width: 100%; max-height: 180px; object-fit: contain; }

/* Supplement Facts panel (Omar, 2026-09-15): the real label data for "what is in it". */
/* FX2 (fix round 1): .pcw-log is a flex column, so without flex-shrink: 0 the
   panel's automatic minimum height (0, from overflow: auto) lets it collapse
   to a sliver once the log overflows in a long chat. */
.pcw-facts { background: #fff; border: 2px solid #04222C; border-radius: 12px; padding: 12px; max-height: 360px; overflow: auto; flex-shrink: 0; color: #04222C; }
.pcw-facts h4 { margin: 0 0 4px; font-size: 20px; font-weight: 800; border-bottom: 8px solid #04222C; padding-bottom: 4px; }
.pcw-facts-title { margin: 6px 0 2px; font-weight: 700; font-size: 14px; }
.pcw-facts-serving { margin: 0; padding: 3px 0; border-bottom: 4px solid #04222C; font-size: 13px; }
.pcw-facts-table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; margin-top: 6px; }
.pcw-facts-table th, .pcw-facts-table td { padding: 3px 4px; border-bottom: 1px solid #cfd8da; text-align: left; vertical-align: top; }
.pcw-facts-table th:not(:first-child), .pcw-facts-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.pcw-facts-row.pcw-l1 td:first-child { padding-left: 16px; }
.pcw-facts-row.pcw-l2 td:first-child { padding-left: 28px; }
.pcw-facts-details { font-size: 11px; color: #4a5a60; font-weight: 400; }
.pcw-facts-chips { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.pcw-facts-chips .pcw-chip { background: #EAF6F9; border-radius: 999px; padding: 2px 8px; font-size: 11px; }
.pcw-facts-heading { margin: 8px 0 2px; font-weight: 700; font-size: 12px; }
.pcw-facts-small { margin: 4px 0 0; font-size: 11px; color: #4a5a60; }
.pcw-facts-label { margin-top: 8px; font-size: 12px; }
.pcw-facts-label img { max-width: 100%; margin-top: 6px; border-radius: 8px; }
