/* Conversations between couples and vendors (inc/messaging.php, 2026-10-13). Vendor inbox + couple page. */
.pvp-thread { list-style: none; margin: 6px 0 18px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pvp-thread__msg { max-width: 86%; background: #f4f6f7; border: 1px solid #e6eaec; border-radius: 14px 14px 14px 4px; padding: 12px 16px; }
.pvp-thread__msg.is-mine { align-self: flex-end; background: #e7f7f6; border-color: #bfe9e7; border-radius: 14px 14px 4px 14px; }
.pvp-thread-admin .pvp-thread__msg.is-vendor { align-self: flex-end; background: #e7f7f6; }
.pvp-thread__meta { font-size: 13px; color: #6b7280; margin: 0 0 4px; }
.pvp-thread__meta b { color: #1a1a2e; font-weight: 600; }
.pvp-thread__text { font-size: 15.5px; line-height: 1.6; color: #1a1a2e; overflow-wrap: anywhere; }
.pvp-thread__text p { margin: 0; padding: 0 0 .7em; }
.pvp-thread__text p:last-child { padding-bottom: 0; }
.pvp-thread__files { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pvp-thread__files a { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #dfe4e6; border-radius: 10px; padding: 6px 10px 6px 6px !important; max-width: 260px; text-decoration: none !important; color: #1a1a2e !important; font-size: 13.5px; }
.pvp-thread__files img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; flex: none; }
.pvp-thread__ficon { width: 44px; height: 44px; border-radius: 6px; background: #1a395c; color: #fff; font: 700 11px/44px Arial, sans-serif; text-align: center; flex: none; }
.pvp-thread__fname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pvp-thread__files small { color: #6b7280; flex: none; }

.pvp-reply { background: #fff; border: 1px solid #e3e7e9; border-radius: 12px; padding: 14px 16px 12px; margin: 0 0 18px; }
.pvp-reply__label { display: block; font-weight: 600; font-size: 15px; color: #1a1a2e; margin: 0 0 8px; }
.pvp-reply textarea { width: 100%; box-sizing: border-box; border: 1px solid #cfd6da; border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 15.5px; min-height: 120px; resize: vertical; }
.pvp-reply textarea:focus { outline: 2px solid #0bb7b3; outline-offset: 1px; border-color: #0bb7b3; }
.pvp-reply__bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 10px 0 0; flex-wrap: wrap; }
.pvp-reply__attach { position: relative; display: inline-flex; align-items: center; cursor: pointer; color: #1a395c; font-weight: 600; font-size: 14.5px; border: 1px dashed #b9c3c8; border-radius: 999px; padding: 7px 14px; }
.pvp-reply__attach:hover { border-color: #0bb7b3; color: #087f7c; }
.pvp-reply__attach input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.pvp-reply__files { list-style: none; margin: 8px 0 0; padding: 0; font-size: 13.5px; color: #374151; }
.pvp-reply__files li { padding: 2px 0; }
.pvp-reply__files li.is-bad { color: #b32d2e; }
.pvp-reply__hint { margin: 8px 0 0; padding: 0; font-size: 13px; color: #6b7280; }

/* Couple's conversation page */
.pvp-conv-page { background: #f7f8f9; padding: 40px 16px 56px; }
.pvp-conv { max-width: 760px; margin: 0 auto; }
.pvp-conv__kicker { margin: 0; padding: 0 0 4px; font: 600 13px/1.3 "Fira Sans", Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #087f7c; }
.pvp-conv__title { font-family: "Old Standard TT", Georgia, serif; font-weight: 400; font-size: clamp(30px, 5vw, 42px); line-height: 1.15; color: #1a1a2e; margin: 0 0 8px; }
.pvp-conv__lede { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: #4b5563; font-size: 15.5px; margin: 0 0 22px; }
.pvp-conv__logo { width: 52px; height: 52px; object-fit: contain; background: #fff; border-radius: 8px; border: 1px solid #e3e7e9; }
.pvp-conv__lede a { color: #087f7c; font-weight: 600; }
.pvp-conv__private { font-size: 13px; color: #6b7280; margin: 0; }
.pvp-conv .pvp-inbox__notice { background: #e7f7f6; border: 1px solid #bfe9e7; border-radius: 10px; padding: 10px 14px; margin: 0 0 14px; color: #0b5e5b; }
@media (max-width: 600px) { .pvp-thread__msg { max-width: 94%; } .pvp-conv-page { padding-top: 26px; } }
.pvp-reply button[type=submit] { background: #0bb7b3; color: #fff; border: 0; border-radius: 999px; padding: 10px 26px; font: 600 15px/1.2 "Fira Sans", Arial, sans-serif; cursor: pointer; }
.pvp-reply button[type=submit]:hover { background: #089e9a; }
.pvp-reply button[type=submit]:disabled { background: #9fb3b8; cursor: not-allowed; }
.pvp-conv-page .pvp-thread { margin-top: 0; }
.pvp-conv__back { margin: 0; padding: 0 0 14px; font-size: 14.5px; }
.pvp-conv__back a { color: #087f7c; font-weight: 600; text-decoration: none; }

/* Couples: My messages list */
.pvp-cmsgs { max-width: 860px; }
.pvp-favs__msglink { margin: 10px 0 0; padding: 0; }
.pvp-favs__msglink a { display: inline-flex; gap: 6px; align-items: center; font-weight: 600; color: #087f7c; text-decoration: none; border: 1px solid #bfe9e7; background: #f1fbfa; border-radius: 999px; padding: 6px 14px; }
.pvp-favs__msglink b { background: #e0457b; color: #fff; border-radius: 999px; padding: 1px 8px; font-size: 12.5px; }
.pvp-cmsgs__hint { font-size: 14px; color: #6b7280; margin: 10px 0 0; }
.pvp-cmsgs__list { list-style: none; margin: 18px 0 0; padding: 0; border: 1px solid #e3e7e9; border-radius: 12px; overflow: hidden; background: #fff; }
.pvp-cmsgs__list li + li { border-top: 1px solid #edf0f1; }
.pvp-cmsgs__row { display: flex; gap: 14px; align-items: center; padding: 14px 16px; text-decoration: none !important; color: #1a1a2e !important; }
.pvp-cmsgs__row:hover { background: #f7fafa; }
.pvp-cmsgs__pic { width: 54px; height: 54px; flex: none; border-radius: 10px; overflow: hidden; background: #eef1f2; border: 1px solid #e3e7e9; }
.pvp-cmsgs__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pvp-cmsgs__pic img.is-logo { object-fit: contain; background: #fff; padding: 4px; box-sizing: border-box; }
.pvp-cmsgs__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pvp-cmsgs__name { font-family: "Old Standard TT", Georgia, serif; font-size: 19px; }
.pvp-cmsgs__badge { font: 600 11.5px/1 "Fira Sans", Arial, sans-serif; background: #e0457b; color: #fff; border-radius: 999px; padding: 3px 8px; vertical-align: 3px; }
.pvp-cmsgs__prev { font-size: 14.5px; color: #4b5563; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvp-cmsgs__row.is-new .pvp-cmsgs__prev { color: #1a1a2e; font-weight: 600; }
.pvp-cmsgs__meta { font-size: 12.5px; color: #6b7280; }
.pvp-cmsgs__date { flex: none; font-size: 13px; color: #6b7280; align-self: flex-start; padding-top: 4px; }
@media (max-width: 600px) { .pvp-cmsgs__row { padding: 12px; gap: 10px; } .pvp-cmsgs__pic { width: 44px; height: 44px; } .pvp-cmsgs__date { display: none; } }

/* Text alerts: vendor card (Login & password) and couple switch (conversation page), inc/sms.php */
.pvp-smsform { margin-top: 18px; }
.pvp-smsform__lede { margin: 0; padding: 0 0 12px; color: #4b5563; font-size: 15px; }
.pvp-smsform__notice { background: #e7f7f6; border: 1px solid #bfe9e7; border-radius: 10px; padding: 9px 13px; margin: 0 0 12px; color: #0b5e5b; font-size: 14.5px; }
.pvp-smsform__field { display: flex; flex-direction: column; gap: 5px; max-width: 320px; font-weight: 600; font-size: 14px; color: #1a1a2e; margin: 0 0 12px; }
.pvp-smsform__field input { font: inherit; font-weight: 400; font-size: 15.5px; padding: 9px 12px; border: 1px solid #cfd6da; border-radius: 10px; }
.pvp-smsform__opts { border: 0; padding: 0; margin: 0 0 12px; display: flex; flex-direction: column; gap: 7px; }
.pvp-smsform__opts legend { font-weight: 600; font-size: 14px; color: #1a1a2e; padding: 0 0 6px; }
.pvp-smsform__opts label { display: flex; gap: 8px; align-items: flex-start; font-size: 14.5px; color: #374151; line-height: 1.4; }
.pvp-smsform__opts input { margin-top: 3px; accent-color: #0bb7b3; }
.pvp-smsform__sub { padding-left: 22px; color: #6b7280 !important; font-size: 13.5px !important; }
.pvp-smsform__fine { font-size: 12.5px; color: #6b7280; margin: 4px 0 0; padding: 0 0 16px; line-height: 1.5; } /* padding: Elementor zeroes the last p margin */
.pvp-smsform__fine a { color: #087f7c !important; padding: 0 !important; }
.pvp-smsform__save { background: #0bb7b3 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 10px 22px !important; font: 600 15px/1.2 "Fira Sans", Arial, sans-serif !important; cursor: pointer; }
.pvp-smsform__off { background: none !important; border: 0 !important; color: #b32d2e !important; font: 500 14px "Fira Sans", Arial, sans-serif !important; cursor: pointer; padding: 6px 10px !important; }
.pvp-smscouple { background: #fff; border: 1px solid #e3e7e9; border-radius: 12px; padding: 12px 16px; margin: 0 0 16px; font-size: 14.5px; color: #374151; }
.pvp-smscouple p { margin: 0; padding: 0; }
.pvp-smscouple__h { padding-bottom: 8px !important; color: #1a1a2e; }
.pvp-smscouple__row { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 8px; }
.pvp-smscouple__row input { flex: 1 1 180px; font: inherit; padding: 8px 12px; border: 1px solid #cfd6da; border-radius: 10px; }
.pvp-smscouple__row button { background: #1a395c; color: #fff; border: 0; border-radius: 999px; padding: 8px 18px; font: 600 14.5px "Fira Sans", Arial, sans-serif; cursor: pointer; }
.pvp-smscouple__agree { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; color: #6b7280; line-height: 1.5; }
.pvp-smscouple__agree input { margin-top: 3px; accent-color: #0bb7b3; }
.pvp-smscouple__agree a, .pvp-smscouple .pvp-linkbtn { color: #087f7c !important; }
/* Request info form: "Text me when this vendor replies" box (field sms_ok) as small print */
.elementor-field-group-sms_ok .elementor-field-subgroup label, .elementor-field-group-sms_ok label { font-size: 13.5px !important; line-height: 1.45 !important; color: #4b5563 !important; font-weight: 400 !important; }
.elementor-field-group-sms_ok input[type=checkbox] { accent-color: #0bb7b3; width: 16px; height: 16px; vertical-align: -3px; }
.elementor-field-group-sms_ok a { color: #087f7c !important; }
