/* Plush74 Helper widget v2 — SQUARE / editorial (matches the how-it-works tile aesthetic).
 * Everything is scoped under #p74-helper-root and namespaced .p74h-* so it can't collide with
 * theme/card styles. Palette: accent yellow #E9FF75, ink #111, white surfaces, #F5F5F2 fill,
 * #333 body-gray. border-radius:0 EVERYWHERE. Uppercase + letter-spacing ONLY for eyebrows,
 * tab labels and buttons. Primary button = yellow bg + black text. BANNED/absent: any dark/black
 * fill with yellow/lime TEXT. Hover: interactive TEXT stays #111 always (theme yellow-text
 * bleed pinned out, see the defensive block at the end). No scale/bounce; 120ms bg/opacity only. */

#p74-helper-root{position:fixed;right:20px;bottom:20px;z-index:99990;
  font-family:inherit;line-height:1.45;color:#111}
#p74-helper-root *{box-sizing:border-box;border-radius:0 !important}

/* ---- launcher (square, never a circle) ---- */
.p74h-launch{position:fixed;right:20px;bottom:20px;width:48px;height:48px;
  background:#E9FF75;border:1px solid #111;color:#111;font-weight:600;font-size:20px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  box-shadow:0 4px 14px rgba(0,0,0,.12);transition:background .12s ease}
.p74h-launch:hover{background:#DDF060;color:#111}
.p74h-launch:focus-visible{outline:2px solid #111;outline-offset:2px}
.p74h-launch .p74h-glyph{display:block;color:#111;transform:translateY(-.5px)}

/* mobile offsets */
@media (max-width:600px){
  #p74-helper-root,.p74h-launch{right:16px;bottom:16px}
  .p74h-launch{width:44px;height:44px;font-size:19px}
}
/* mobile /m/* shell has a fixed 5-tab bottom nav (~64px + safe area) — lift above it */
[data-p74h-shell="m"] .p74h-launch{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
[data-p74h-shell="m"] .p74h-panel{bottom:calc(128px + env(safe-area-inset-bottom,0px))}
/* chat v2: keep clear of the mobile composer at the bottom of the page */
@media (max-width:820px){
  [data-p74h-page="chat"] .p74h-launch{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  [data-p74h-page="chat"] .p74h-panel{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
}
/* owner preview (?p74helper=preview): +72px lift so it clears the staff feedback bubble bottom-right */
[data-p74h-preview="1"] .p74h-launch{bottom:92px}
[data-p74h-preview="1"] .p74h-panel{bottom:152px}

/* ---- panel (square) ---- */
.p74h-panel{position:fixed;right:20px;bottom:80px;width:360px;max-width:calc(100vw - 32px);
  max-height:min(560px,80vh);display:flex;flex-direction:column;background:#fff;color:#111;
  border:1px solid #111;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.14);animation:p74h-in .12s ease}
@media (max-width:600px){.p74h-panel{right:16px;bottom:72px}}
@keyframes p74h-in{from{opacity:0}to{opacity:1}}
.p74h-panel[hidden]{display:none}

/* ---- header: eyebrow row + square close ---- */
.p74h-head{flex:0 0 auto}
.p74h-head-top{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px}
.p74h-eyebrow{display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#111}
.p74h-swatch{width:10px;height:10px;flex:0 0 auto;background:#E9FF75;border:1px solid #111}
.p74h-x{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:#111;padding:2px 6px}
.p74h-x:hover{background:#F5F5F2;color:#111}

/* ---- tabs: full-width segmented squares, shared 1px #111 borders, uppercase ---- */
.p74h-tabs{display:flex;border-top:1px solid #111;border-bottom:1px solid #111}
.p74h-tab{flex:1 1 0;border:0;border-left:1px solid #111;background:#fff;color:#111;font:inherit;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:11px 6px;cursor:pointer;transition:background .12s ease}
.p74h-tab:first-child{border-left:0}
.p74h-tab.is-on{background:#E9FF75;color:#111}
.p74h-tab:hover:not(.is-on){background:#F5F5F2;color:#111}

.p74h-scroll{flex:1 1 auto;overflow-y:auto;padding:14px}

/* ---- help tab ---- */
.p74h-greet{font-size:13.5px;color:#333;margin:0 0 12px}
/* suggestion chips: square outline buttons (sentence case — they're questions, not labels) */
.p74h-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.p74h-chip{border:1px solid #111;background:#fff;color:#111;font:inherit;font-size:12.5px;
  padding:7px 12px;cursor:pointer;text-align:left;line-height:1.3;transition:background .12s ease}
.p74h-chip:hover{background:#E9FF75;color:#111}

/* help thread — NOT chat bubbles: stacked, full width */
.p74h-convo{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.p74h-bubble{white-space:pre-wrap;word-break:break-word}
/* user question: tiny eyebrow "YOU" + question text, no box */
.p74h-bubble.p74h-b-user{align-self:stretch;font-size:14px;font-weight:600;color:#111;line-height:1.45}
.p74h-bubble.p74h-b-user::before{content:"YOU";display:block;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8a82;margin-bottom:4px}
/* answer: square white card, 1px #111, 3px yellow top edge */
.p74h-bubble.p74h-b-helper{align-self:stretch;background:#fff;border:1px solid #111;
  border-top:3px solid #E9FF75;padding:14px 16px;font-size:14px;line-height:1.55;color:#111}

/* link pills under answers → square mini buttons "Label →" */
.p74h-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:-6px}
.p74h-linkpill{display:inline-block;border:1px solid #111;background:#fff;color:#111;
  font-size:12px;font-weight:600;padding:5px 11px;text-decoration:none;transition:background .12s ease}
.p74h-linkpill::after{content:" \2192"}
.p74h-linkpill:hover{background:#E9FF75;color:#111}

/* loading: small gray text (no animated dots) */
.p74h-loading{align-self:stretch;font-size:12.5px;color:#8a8a82;padding:2px 0}

.p74h-tabnote{font-size:11px;color:#8a8a82;margin-top:14px}

/* ---- composer (help + feedback) ---- */
.p74h-foot{flex:0 0 auto;border-top:1px solid #111;padding:12px}
.p74h-ta-wrap{position:relative}
.p74h-ta{width:100%;resize:none;min-height:40px;max-height:88px;border:1px solid #111;
  padding:10px 12px;font:inherit;font-size:13px;line-height:1.5;color:#111;background:#fff;outline:none}
.p74h-ta:focus{border-color:#111;box-shadow:0 0 0 2px #E9FF75}
.p74h-composer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.p74h-count{font-size:11px;color:#999;visibility:hidden}
.p74h-count.is-show{visibility:visible}
.p74h-count.is-max{color:#c0392b}
.p74h-send{border:1px solid #111;background:#E9FF75;color:#111;font:inherit;font-weight:600;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:11px 18px;cursor:pointer;transition:background .12s ease}
.p74h-send:hover{background:#DDF060;color:#111}
.p74h-send:disabled{opacity:.5;cursor:default}
/* GDPR transparency line under the input (quiet gray; darkens on hover) */
.p74h-privacy{margin:8px 0 0;font-size:11px;line-height:1.4}
#p74-helper-root .p74h-privacy a{color:#8a8a82;font-weight:400;text-decoration:underline}
#p74-helper-root .p74h-privacy a:hover{color:#111}

/* ---- feedback tab ---- */
/* kind toggle: 2-cell segmented squares, uppercase */
.p74h-kind{display:flex;border:1px solid #111;margin-bottom:12px}
.p74h-kind .p74h-chip{flex:1 1 0;border:0;border-left:1px solid #111;background:#fff;color:#111;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  text-align:center;padding:10px 6px}
.p74h-kind .p74h-chip:first-child{border-left:0}
.p74h-kind .p74h-chip:hover{background:#F5F5F2;color:#111}
.p74h-kind .p74h-chip.is-on{background:#E9FF75;color:#111}
.p74h-ctxnote{font-size:11.5px;color:#8a8a82;margin:10px 0 0}
/* success state: square card, yellow top edge, plain sentence */
.p74h-ok{border:1px solid #111;border-top:3px solid #E9FF75;padding:18px 16px;font-size:14px;color:#111}
.p74h-ok .p74h-ok-ic{font-size:22px;display:block;margin-bottom:8px;color:#111}
.p74h-status{font-size:11.5px;color:#6b7280;min-height:14px;margin-top:8px}
.p74h-status.is-err{color:#c0392b}

/* ---- contact tab / blocks ---- */
.p74h-contact{display:flex;flex-direction:column;font-size:13px}
.p74h-contact-row{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid #EAEAE5}
.p74h-contact-row:first-child{border-top:0;padding-top:2px}
.p74h-contact-lbl{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8a82}
.p74h-contact-row a{color:#111;font-weight:600;text-decoration:none}
.p74h-contact-row a:hover{color:#111;text-decoration:underline}

/* ---- logged-out locked view ---- */
.p74h-intro{font-size:13.5px;color:#333;margin:0 0 14px}
/* FAQ accordion: rows with 1px #111 top borders, "+"/"−" indicator */
.p74h-faq{display:flex;flex-direction:column;margin-bottom:16px;border-bottom:1px solid #111}
.p74h-faq-item{border-top:1px solid #111}
.p74h-faq-q{width:100%;text-align:left;border:0;background:#fff;color:#111;font:inherit;font-weight:600;
  font-size:14px;padding:12px 2px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;
  align-items:center;transition:background .12s ease}
.p74h-faq-q:hover{background:#F5F5F2;color:#111}
.p74h-faq-q .p74h-caret{flex:0 0 auto;color:#111;font-size:18px;line-height:1;width:16px;text-align:center}
.p74h-faq-q .p74h-caret::before{content:"+"}
.p74h-faq-item.is-open .p74h-caret::before{content:"\2212"}
.p74h-faq-a{padding:0 2px;max-height:0;overflow:hidden;font-size:14px;line-height:1.55;color:#333;
  transition:max-height .2s ease,padding .2s ease}
.p74h-faq-item.is-open .p74h-faq-a{padding:0 2px 12px;max-height:480px}
/* lock card: square, 1px #111, eyebrow + one sentence + yellow button */
.p74h-lock{border:1px solid #111;padding:16px;margin-bottom:16px}
.p74h-lock-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#8a8a82;margin:0 0 8px}
.p74h-lock-t{font-size:14px;line-height:1.5;color:#111;margin:0 0 14px}
.p74h-login{display:inline-block;border:1px solid #111;background:#E9FF75;color:#111;font-weight:600;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1;
  padding:12px 18px;text-decoration:none;transition:background .12s ease}
.p74h-login:hover{background:#DDF060;color:#111}

/* ---- DEFENSIVE: kill the theme/Elementor yellow-TEXT-on-hover bleed ----
 * A theme rule (a:hover / button:hover) recolours our button/link TEXT to a lighter yellow on
 * hover. Pin ink text on every interactive element (resting + hover + focus) at #p74-helper-root
 * ID specificity, plus a blanket !important layer that also covers nested glyph spans. */
#p74-helper-root a,#p74-helper-root button{color:#111}
#p74-helper-root a:hover,#p74-helper-root a:focus,
#p74-helper-root button:hover,#p74-helper-root button:focus,
#p74-helper-root a:hover *,#p74-helper-root button:hover *{color:#111 !important}

@media print{#p74-helper-root{display:none !important}}
