.support-main { max-width: 850px; padding: 46px 18px 80px; }
.support-card { padding: clamp(22px, 5vw, 48px); border-radius: 12px; background: var(--cream); }
.support-form { max-width: 620px; margin: 28px auto 0; display: flex; flex-direction: column; gap: 9px; }
.support-form label,.support-reply-form label { color: var(--wine); font-size: .84rem; font-weight: 600; }
.support-form label span { color: var(--text-light); font-weight: 400; }
.support-form input,.support-form textarea,.support-reply-form textarea { width: 100%; padding: 12px 14px; border: 1px solid rgba(84,44,61,.22); border-radius: 6px; background: white; color: var(--text); font: .9rem 'Lora',serif; outline: none; }
.support-form textarea,.support-reply-form textarea { resize: vertical; line-height: 1.6; }
.support-form input:focus,.support-form textarea:focus,.support-reply-form textarea:focus { border-color: var(--rose); box-shadow: 0 0 0 3px rgba(169,111,118,.12); }
.support-submit { min-height: 46px; margin-top: 8px; border: 0; border-radius: 6px; background: var(--wine); color: var(--cream); font: 600 .8rem 'Lora',serif; letter-spacing: .5px; cursor: pointer; }
.support-submit:disabled,.support-reply-form button:disabled { opacity: .6; cursor: wait; }
.support-submit i { margin-left: 7px; }
.support-feedback { min-height: 1.2rem; color: var(--wine); font-size: .83rem; text-align: center; }
.support-chat { margin: 30px auto 0; max-width: 740px; }
.support-chat-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid rgba(84,44,61,.16); }
.support-chat-heading h2 { color: var(--wine); font: 600 1.45rem 'Cormorant Garamond',serif; overflow-wrap: anywhere; }
.support-chat-heading p,.support-access-note { margin-top: 4px; color: var(--text-light); font-size: .76rem; }
.support-new-button { padding: 8px 11px; border: 1px solid rgba(84,44,61,.2); border-radius: 5px; background: transparent; color: var(--wine); font: .76rem 'Lora',serif; cursor: pointer; }
.support-messages { max-height: 460px; min-height: 120px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; padding: 18px 4px; }
.support-message { max-width: 84%; padding: 12px 15px; border-radius: 10px; overflow-wrap: anywhere; }
.support-message p { white-space: pre-wrap; line-height: 1.55; font-size: .88rem; }
.support-message time { display: block; margin-top: 7px; opacity: .72; font-size: .68rem; }
.support-message.from-shop { align-self: flex-start; background: #f1e8df; color: var(--text); }
.support-message.from-customer { align-self: flex-end; background: var(--wine); color: white; }
.support-reply-form { display: flex; gap: 9px; align-items: stretch; }
.support-reply-form textarea { min-height: 58px; }
.support-reply-form button { width: 54px; flex: 0 0 54px; border: 0; border-radius: 6px; background: var(--wine); color: white; cursor: pointer; }
.support-access-note { margin-top: 10px; line-height: 1.5; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 560px) { .support-main { padding: 26px 12px 55px; } .support-card { padding: 21px 15px; } .support-chat-heading { align-items: flex-start; } .support-message { max-width: 94%; } }
