.wp-commerce { min-height: 50vh; padding-block: clamp(30px, 5vw, 76px); }
.wp-commerce-content { min-width: 0; max-width: 78ch; }
.wp-commerce-content > * + * { margin-top: 14px; }
.wp-commerce-content a { text-decoration: underline; text-decoration-color: var(--accent-text); text-underline-offset: .16em; }
.wp-commerce-content :is(ul, ol) { padding-inline-start: 1.5em; }
.wp-page-title { font-size: clamp(32px, 5vw, 58px); letter-spacing: -.045em; }
.wp-commerce .button { margin-top: 12px; }

.contact-vehicle { border: 0; border-top: 1px solid var(--line); padding: 0; margin: 18px 0 0; min-width: 0; }
.contact-vehicle legend { padding-right: 8px; font-size: 14px; font-weight: 800; }
.contact-vehicle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
.contact-destination { border: 0; padding: 0; margin: 12px 0 0; min-width: 0; }
.contact-destination legend small { color: var(--slate); font-weight: 400; }
.contact-destination .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.contact-destination p { color: var(--slate); font-size: 12px; margin-top: 5px; }
.contact-dialog .photo-field { display: grid; gap: 6px; margin-top: 12px; }
.contact-dialog .photo-field span { color: var(--slate); font-size: 12px; }

@media (max-width: 420px) {
  .contact-vehicle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-vehicle-grid label:last-child { grid-column: 1 / -1; }
}

.contact-dock { position: fixed; z-index: 32; right: clamp(12px, 2.2vw, 28px); bottom: calc(15px + env(safe-area-inset-bottom)); }
.contact-dock-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.contact-dock-actions > :is(a, button, span) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 13px; border-radius: 24px; box-shadow: 0 3px 12px #17171b38; font-size: 13px; font-weight: 800; color: #fff; }
.contact-dock-actions svg { width: 18px; height: 18px; }
.dock-whatsapp { background: #176749; }
.dock-chat { background: var(--accent-text); }
.dock-placeholder { opacity: .65; }
.chat-panel { position: absolute; bottom: calc(100% + 9px); right: 0; width: min(360px, calc(100vw - 24px)); border: 1px solid var(--line); border-radius: 9px; background: var(--white); box-shadow: 0 8px 32px #17171b32; overflow: hidden; }
.chat-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; background: var(--deep); color: var(--white); }
.chat-heading h2 { font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.chat-heading button { display: grid; place-items: center; width: 38px; height: 38px; background: transparent; color: inherit; border-radius: 4px; }
.chat-heading button:hover { background: #ffffff22; }
.chat-body { max-height: min(460px, 62vh); max-height: min(460px, 62dvh); overflow: auto; padding: 12px; font-size: 14px; }
.chat-intro, .chat-status { color: var(--slate); font-size: 13px; }
.chat-messages { display: grid; gap: 6px; list-style: none; padding: 0; margin: 8px 0; max-height: 200px; overflow: auto; }
.chat-messages li { border-radius: 5px; background: var(--rose-paper); padding: 7px 9px; overflow-wrap: anywhere; }
.chat-messages .chat-from-support { background: #edf3ef; }
.chat-messages li p { white-space: pre-wrap; }
.chat-form { display: grid; gap: 5px; }
.chat-form label { font-weight: 800; }
.chat-form textarea { width: 100%; min-height: 54px; padding: 6px; resize: vertical; border: 1px solid var(--line); border-radius: 3px; font-size: 16px; }
.chat-form .button { min-height: 40px; justify-self: end; padding: 7px 13px; }
.chat-status:not(:empty) { margin-top: 6px; }
@media (max-width: 760px) {
  body:has(.mobile-contact:not([hidden])) .contact-dock { bottom: calc(75px + env(safe-area-inset-bottom)); }
}
