.buyerChat { position:fixed; inset-inline-end:20px; bottom:20px; z-index:1400; max-width:90vw; text-align:start; font-size:16px; display:flex; flex-direction:column; align-items:stretch; }
.buyerChat [hidden] { display:none !important; }
body:has(.cCookieConsent) .buyerChat { visibility:hidden; }
.buyerChat #buyerChatOpen { display:flex; order:2; align-items:center; gap:8px; margin-inline-start:auto; min-height:44px; border-radius:24px; box-shadow:0 3px 16px #0003; }
.buyerChat #buyerChatPanel { width:500px; max-width:90vw; height:600px; max-height:90dvh; box-sizing:border-box; display:flex; flex-direction:column; overflow:hidden; border:0; border-radius:32px; box-shadow:0 0 24px #00000014; }
.buyerChat:has(#buyerChatPanel:not([hidden])) #buyerChatOpen { display:none; }
.buyerChatContent { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
.buyerChatOffer { padding:18px; line-height:1.5; overflow-wrap:anywhere; }
.buyerChatOffer h3 { margin-block:0 12px; color:inherit; }
.buyerChatOffer p { margin-block:0 16px; }
.buyerChatOffer .buyerChatActivate { min-height:44px; white-space:normal; }
#chat-box:has(#buyerChatTry) { container-type:inline-size; container-name:buyerChatAdmin; }
#chat-box:has(#buyerChatTry) .chatTitle { gap:6px; padding-inline:20px; }
#chat-box:has(#buyerChatTry) .chatTitle > p { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#buyerChatTry { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; margin:0; padding:0 10px; flex-shrink:0; border:1px solid #ddd; border-radius:12px; background:#f1f1f1; color:#222; font:inherit; font-size:12px; line-height:1.2; white-space:nowrap; cursor:pointer; }
#buyerChatTry:hover { background:#e5e5e5; }
#buyerChatTry:focus-visible { outline:3px solid currentColor; outline-offset:2px; }
@container buyerChatAdmin (max-width:300px) {
    #chatMode .chatTitle > p { display:none; }
    #chat-box:has(#buyerChatTry) .chatTitle { padding-inline:10px; justify-content:flex-end; }
    #chatMode .chatActionBar { gap:4px; }
}
#chat-box:not(.chatOpen) #buyerChatTry { visibility:hidden; }
.buyerChatPreviewActions { display:flex; flex-wrap:wrap; gap:8px; }
.buyerChatPreviewActions button { min-height:44px; }
.buyerChat #buyerChatOpen[hidden] { display:none; }
body.buyerChatPreviewActive #chat-box, body.buyerChatPreviewActive #chat-button { display:none !important; }
.buyerChat header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:24px 20px; }
.buyerChat header h2 { margin:0 0 5px; padding:0; font-size:20px; font-weight:500; line-height:1.4; color:inherit; }
.buyerChat header span { font-size:.82em; }
.buyerChat header button { color:inherit; background:transparent; border:1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius:12px; min-width:44px; min-height:44px; cursor:pointer; font-size:1.1em; }
.buyerChat #buyerChatBody { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:20px; overflow-wrap:anywhere; }
.buyerChat #buyerChatBody h3 { font-size:1.12em; color:inherit; margin:0 0 12px; }
.buyerChat #buyerChatBody p { line-height:1.5; margin:0 0 16px; white-space:pre-line; }
.buyerChat .buyerChatChoices, .buyerChat .buyerChatOrderActions { display:grid; gap:9px; }
.buyerChat .buyerChatOrder { margin-bottom:18px; padding:14px; border:1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius:10px; }
.buyerChat .buyerChatOrder h4 { margin:0 0 12px; font-size:1em; line-height:1.5; color:inherit; }
.buyerChat .buyerChatChoice { display:block; width:100%; box-sizing:border-box; text-align:start; white-space:normal; padding:12px 14px; font:inherit; min-height:44px; border-radius:8px; text-decoration:none; cursor:pointer; border:1px solid currentColor; background:var(--ColBgUtilityBtn); color:var(--ColTextUtilityBtn); }
.buyerChat .buyerChatChoice:hover { background:var(--ColBgClickableHover, var(--ColBgUtilityBtn)); color:var(--ColTextClickableHover, var(--ColTextUtilityBtn)); }
.buyerChat button:focus-visible, .buyerChat a:focus-visible, .buyerChat input:focus-visible, .buyerChat textarea:focus-visible, .buyerChat #buyerChatBody:focus-visible { outline:3px solid var(--ColTextHighlight); outline-offset:2px; }
.buyerChat footer { display:flex; justify-content:space-between; gap:10px; padding:18px 20px; border-top:1px solid color-mix(in srgb, currentColor 14%, transparent); }
.buyerChat footer button { min-height:44px; border-radius:10px; }
.buyerChat form { margin:0 0 16px; }
.buyerChat label { display:block; margin-bottom:6px; }
.buyerChat .buyerChatSearch { display:flex; gap:8px; }
.buyerChat .buyerChatPreview { padding:12px 18px; border-bottom:1px solid currentColor; overflow-wrap:anywhere; }
.buyerChat .buyerChatPreview p { margin-block:8px; font-size:.82em; }
.buyerChat #buyerChatBuyer { float:none; display:block; }
.buyerChat #buyerChatSearchHint { margin-block:12px 16px; }
.buyerChat #buyerChatManageFaq { display:block; box-sizing:border-box; margin-top:12px; min-height:44px; text-align:center; }
.buyerChat .ui-autocomplete { position:absolute; max-height:180px; overflow:auto; z-index:2; max-width:100%; box-sizing:border-box; }
.buyerChat .buyerChatTicketList { padding-inline-start:24px; }
.buyerChat .buyerChatTicketList li { margin-block:10px; line-height:1.5; }
.buyerChat .buyerChatQr { display:block; margin:12px auto; background:white; }
.buyerChat input { min-width:0; width:100%; box-sizing:border-box; font:inherit; min-height:44px; }
.buyerChat textarea { box-sizing:border-box; width:100%; min-height:130px; resize:vertical; font:inherit; }
.buyerChatEmailFallback { margin-top:18px; }
.buyerChatSr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.buyerFaqEditor > .modulebody { padding-block:0 32px; }
.buyerFaqEditor .buyerFaqIntro { margin-bottom:24px; max-width:900px; }
.buyerFaqEditor .buyerFaqIntro > p { margin:0 0 16px; line-height:1.6; font-size:1.05em; }
.buyerFaqEditor .buyerFaqIntro nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.buyerFaqEditor .buyerFaqIntro nav a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
.buyerFaqEditor .buyerFaqMessage { display:block; margin-bottom:20px; padding:14px 18px; border-inline-start:3px solid var(--ColTextHighlight); background:color-mix(in srgb, currentColor 5%, transparent); }
.buyerFaqEditor .buyerFaqMessage:empty { display:none; }
.buyerFaqLayout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,340px); grid-template-areas:"editor email" "editor saved"; grid-template-rows:auto 1fr; align-items:start; gap:24px; }
.buyerFaqEditor .buyerFaqCard { min-width:0; border:1px solid color-mix(in srgb, currentColor 20%, transparent); border-radius:12px; overflow:hidden; scroll-margin-top:80px; }
.buyerFaqEdit { grid-area:editor; }
.buyerFaqEmail { grid-area:email; }
.buyerFaqSaved { grid-area:saved; }
.buyerFaqEditor .buyerFaqCardHeader { display:flex; align-items:flex-start; gap:12px; padding:22px 24px; border-bottom:1px solid color-mix(in srgb, currentColor 14%, transparent); background:color-mix(in srgb, currentColor 4%, transparent); }
.buyerFaqEditor .buyerFaqCardHeader > i { color:var(--ColTextHighlight); font-size:1.3em; margin-top:3px; }
.buyerFaqEditor .buyerFaqCardHeader h2 { margin:0 0 7px; padding:0; font-size:1.2em; line-height:1.3; color:inherit; }
.buyerFaqEditor .buyerFaqCardHeader p { margin:0; font-size:.9em; line-height:1.5; }
.buyerFaqEditor .buyerFaqCardBody { padding:24px; }
.buyerFaqFields { display:grid; gap:22px; }
.buyerFaqEditor .row { margin:0; min-width:0; clear:both; }
.buyerFaqEditor .editLabel { display:block; float:none; width:auto; margin-bottom:8px; font-weight:600; line-height:1.4; }
.buyerFaqEditor .editText { float:none; display:block; box-sizing:border-box; width:100%; max-width:100%; min-height:44px; font:inherit; }
.buyerFaqEditor textarea.editText { min-height:180px; resize:vertical; line-height:1.5; }
.buyerFaqEditor .hint { display:block; clear:both; margin:8px 0 0; line-height:1.55; font-size:.85em; }
.buyerFaqEditor .buyerFaqTargeting { min-width:0; border-block:1px solid color-mix(in srgb, currentColor 18%, transparent); }
.buyerFaqTargeting summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:18px; list-style:none; cursor:pointer; font-weight:600; line-height:1.4; }
.buyerFaqTargeting summary::-webkit-details-marker { display:none; }
.buyerFaqTargeting summary small { display:block; margin-top:5px; font-weight:400; font-size:.85em; }
.buyerFaqTargeting[open] summary > i { transform:rotate(180deg); }
.buyerFaqTargetFields { grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:20px; }
.buyerFaqRuleHelp { grid-column:1 / -1; padding:14px 16px; border-inline-start:3px solid var(--ColTextHighlight); background:color-mix(in srgb, currentColor 4%, transparent); }
.buyerFaqRuleHelp p { margin:0; font-size:.85em; line-height:1.6; }
.buyerFaqRuleHelp p + p { margin-top:10px; }
.buyerFaqPublish { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px; }
.buyerFaqEditor .buyerFaqPublish input[type=number] { max-width:120px; }
.buyerFaqEditor .buyerFaqToggle { display:flex; align-items:center; gap:10px; min-height:44px; line-height:1.5; }
.buyerFaqEditor .buyerFaqToggle input { float:none; flex-shrink:0; width:22px; height:22px; margin:0; }
.buyerFaqEditor .buyerFaqToggle label { display:flex; align-items:center; min-height:44px; margin:0; font-weight:600; cursor:pointer; }
.buyerFaqEditor .buyerFaqActions { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:18px 24px; border-top:1px solid color-mix(in srgb, currentColor 14%, transparent); background:color-mix(in srgb, currentColor 3%, transparent); }
.buyerFaqEditor .buyerFaqActions input { min-width:100px; }
.buyerFaqEditor .buyerFaqActions .buyerFaqDelete { margin-inline-start:auto; }
.buyerFaqEditor .buyerFaqEmailNote { display:flex; align-items:flex-start; gap:10px; margin:0; padding:14px; border-radius:8px; background:color-mix(in srgb, currentColor 5%, transparent); font-size:.85em; line-height:1.6; }
.buyerFaqEmailNote > i { margin-top:4px; color:var(--ColTextHighlight); }
.buyerFaqEditor .buyerFaqList { list-style:none; padding:0; margin:0; overflow-wrap:anywhere; }
.buyerFaqEditor .buyerFaqList li { list-style:none; margin:0; padding:0; }
.buyerFaqEditor .buyerFaqList li + li { margin-top:10px; }
.buyerFaqEditor .buyerFaqList a { display:block; padding:14px; border:1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius:8px; color:inherit; text-decoration:none; }
.buyerFaqEditor .buyerFaqList a:hover { background:var(--ColBgClickableHover); color:var(--ColTextClickableHover); }
.buyerFaqQuestion { display:block; font-weight:600; line-height:1.5; }
.buyerFaqMeta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; font-size:.8em; }
.buyerFaqState { padding:3px 8px; border:1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius:20px; }
.buyerFaqEmpty { padding-block:12px; text-align:center; }
.buyerFaqEmpty > i { font-size:2em; color:var(--ColTextHighlight); }
.buyerFaqEditor .buyerFaqEmpty h3 { margin:16px 0 8px; font-size:1.05em; color:inherit; }
.buyerFaqEmpty p { margin:0; font-size:.9em; line-height:1.6; }
.buyerFaqEditor :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--ColTextHighlight); outline-offset:3px; }
@media(max-width:1000px) {
    .buyerFaqLayout { grid-template-columns:minmax(0,1fr); grid-template-areas:"email" "editor" "saved"; grid-template-rows:auto; }
}
@media(max-width:600px) {
    .buyerFaqEditor .buyerFaqCardHeader, .buyerFaqEditor .buyerFaqCardBody { padding:20px; }
    .buyerFaqTargetFields, .buyerFaqPublish { grid-template-columns:minmax(0,1fr); }
    .buyerFaqEditor .buyerFaqActions { padding:16px 20px; }
    .buyerFaqEditor .buyerFaqActions input { flex:1; }
    .buyerFaqEditor .buyerFaqActions .buyerFaqDelete { margin-inline-start:0; }
}
@media(max-width:480px) {
    .buyerChat #buyerChatBody { padding:16px; }
}
@media print { .buyerChat { display:none; } }
