/* ==========================================================================
   PLUSH74 — DIRECTION A SKIN: CHAT (/chat/, threads, composer)
   File: assets/css/p74-skin-chat.css
   Created: 2026-08-07 (empty stub, UI apply pass group "traps").
   Filled:  2026-08-07 by group "chat".

   SCOPE OF THIS FILE
   ------------------
   Only the two LEGACY member/client SW_Win chat views:
       themes/yordy/SW_Win_Classified/views/frontend/dashboard_requestchat.php
       themes/yordy/SW_Win_Classified/views/frontend/dashboard_requestmemberchat.php
   Both now carry a single scope hook on their content wrapper:
       <div class="bootstrap-wrapper p74-chat-legacy">
   EVERY selector below is anchored to .p74-chat-legacy, so nothing here can
   reach any other page.

   /chat/ (template-chat-v2.php) is NOT skinned from here: that template ships
   its own inline <style>, which the cascade places AFTER this file, so it would
   always win. Its Direction A pass was done in the template itself.

   RULES (from the stub header, still binding)
   ------------------------------------------
   - Loaded AFTER custom.css / custom-media.css / palette.css / custom-andre.css.
   - Tokens from p74-system-2026.css: --ink --grey --line --line-2 --yellow
     --paper --wash --body --body-2 --ph --r --disp --text --hatch.
   - NO box-shadow / text-shadow. 0 radius on panels/cards/inputs/chips;
     var(--r) = 6px on buttons ONLY. No pills.
   - NEVER yellow/lime as a TEXT colour. NEVER dark fill + yellow text.
   - font-family PER TEXT SELECTOR only — never a blanket override (it would kill
     dashicons / FontAwesome / ionicons / icomoon, all loaded on these pages).
   - No new hues. danger/warning = ink hairline + var(--hatch).
   ========================================================================== */


/* ==========================================================================
   1. THE MAGENTA HEADER — killed.
   custom.css:12299 sets `.alert-danger { background:#e0115f }` (and :11182 the
   same for `.sw_form_sec .alert-danger`). On these two chat pages that painted a
   full-bleed MAGENTA bar across the top of the thread ("Chat archived").
   Direction A: white paper, one 1px var(--line) bottom hairline, uppercase
   Maison display title. The state is named by a hairline MARK, never by a hue.
   Markup and role="alert" semantics are untouched.
   ========================================================================== */
.p74-chat-legacy .alert,
.p74-chat-legacy .alert-danger,
.p74-chat-legacy .alert-info,
.p74-chat-legacy .alert-success,
.p74-chat-legacy .alert-warning {
  background: var(--paper, #fff) !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line, #000) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--ink, #0a0a0a) !important;
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 14px 0 13px !important;
  margin: 0 0 26px !important;
  width: 100%;
}
.p74-chat-legacy .alert a { color: var(--ink, #0a0a0a); text-decoration: underline; }

/* the mark that replaces the hue: yellow square = informational,
   hairline hatch square = blocked / read-only. */
.p74-chat-legacy .alert::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  vertical-align: -1px;
  border: 1px solid var(--ink, #0a0a0a);
  background: var(--yellow, #E9FF75);
}
.p74-chat-legacy .alert-danger::before,
.p74-chat-legacy .alert-warning::before {
  background: none;
  background-image: var(--hatch, repeating-linear-gradient(45deg, #0a0a0a 0 1px, transparent 1px 6px));
}


/* ==========================================================================
   2. HEADINGS + META — the two real Maison cuts, per text selector.
   ========================================================================== */
.p74-chat-legacy .requestchat--info-article .requestchat--info-article--title {
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;   /* was capitalize at 24px */
  color: var(--ink, #0a0a0a);
}
.p74-chat-legacy .requestchat--info-article .requestchat--info-article--subtitle {
  font-family: var(--text, 'Maison Neue Book', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 400;
  font-size: 13px;
  color: var(--grey, #6b6b6b);
}
/* field labels inside the details / cost boxes */
.p74-chat-legacy .requestchat--info-article.details .line b,
.p74-chat-legacy .form-group-inline label {
  font-family: var(--text, 'Maison Neue Book', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 400;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--grey, #6b6b6b);
}
.p74-chat-legacy .requestchat--info-article.details .line .date-text,
.p74-chat-legacy .requestchat--info-article.details .line m {
  font-family: var(--text, 'Maison Neue Book', 'Helvetica Neue', Arial, sans-serif);
  font-size: 13px;
  color: var(--ink, #0a0a0a);
}
/* money reads as the display cut at ink — never a hue, never a second weight */
.p74-chat-legacy .requestchat--info-article.cost .field-input-group input,
.p74-chat-legacy .requestchat--info-article.cost .field-input-group .suff {
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  color: var(--ink, #0a0a0a);
  font-variant-numeric: tabular-nums;
}


/* ==========================================================================
   3. THE LISTING STRIP ABOVE THE THREAD — hairline table, wash header.
   ========================================================================== */
.p74-chat-legacy .table.pl_table {
  border-collapse: collapse;
  background: var(--paper, #fff);
}
.p74-chat-legacy .table.pl_table > tbody > tr > th,
.p74-chat-legacy .table.pl_table > tbody > tr > td {
  border-top: 0;
  border-bottom: 1px solid var(--line-2, #e2e2e2);
  vertical-align: middle;
}
.p74-chat-legacy .table.pl_table .title {
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--ink, #0a0a0a);
}
.p74-chat-legacy .table.pl_table img {
  border: 1px solid var(--line-2, #e2e2e2);
  border-radius: 0;
}


/* ==========================================================================
   4. COMPOSER + SEND — the pa-composer idiom (0 radius, hairline, yellow send).
   The view's own <style> already sets the 1px ink frame and 0 radius on
   .form-group-inline-chat; this only re-dresses the send control and the
   textarea inside it. NO send/submit logic is touched anywhere.
   ========================================================================== */
.p74-chat-legacy .chat .form-group-inline-chat .write-message {
  font-family: var(--text, 'Maison Neue Book', 'Helvetica Neue', Arial, sans-serif);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink, #0a0a0a);
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
}
.p74-chat-legacy .chat .form-group-inline-chat .write-message::placeholder {
  color: var(--ph, #9a9a93);
}
.p74-chat-legacy .chat .form-group-inline-chat .request-chat-submit {
  background: var(--yellow, #E9FF75);
  border: 1px solid var(--ink, #0a0a0a);
  border-radius: var(--r, 6px);
  color: var(--ink, #0a0a0a);
  padding: 0 8px;
  margin: 3px 3px 3px 10px;
  line-height: 0;
}
/* deliberately NOT inverting to an ink fill on hover: the send glyph is a dark
   PNG, so an ink fill would make it invisible. The existing contrast() filter
   in the view stays as the hover affordance. */
.p74-chat-legacy .chat .form-group-inline-chat .request-chat-submit img {
  max-width: 30px;
}
/* read-only composer (archived / locked thread) */
.p74-chat-legacy .chat .request-chat-form.readonly .form-group-inline-chat {
  border-color: var(--line-2, #e2e2e2);
}


/* ==========================================================================
   5. BUTTON VOCABULARY — anything in these views the inline <style> does not own.
   primary   = var(--yellow) fill / var(--ink) text / 1px solid var(--ink) / 6px
   secondary = #fff fill / same border + geometry
   hover     = the one allowed inversion: ink fill + WHITE text
   ========================================================================== */
.p74-chat-legacy .btn.btn-primary,
.p74-chat-legacy .btn.btn-custom-primary {
  background: var(--yellow, #E9FF75);
  color: var(--ink, #0a0a0a);
  border: 1px solid var(--ink, #0a0a0a);
  border-radius: var(--r, 6px);
  box-shadow: none;
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.p74-chat-legacy .btn.btn-primary:hover,
.p74-chat-legacy .btn.btn-primary:focus,
.p74-chat-legacy .btn.btn-custom-primary:hover,
.p74-chat-legacy .btn.btn-custom-primary:focus {
  background: var(--ink, #0a0a0a);
  color: #fff;
  border-color: var(--ink, #0a0a0a);
}
.p74-chat-legacy .btn.btn-default,
.p74-chat-legacy .btn.btn-custom-secondary {
  background: var(--paper, #fff);
  color: var(--ink, #0a0a0a);
  border: 1px solid var(--ink, #0a0a0a);
  border-radius: var(--r, 6px);
  box-shadow: none;
  font-family: var(--disp, 'Maison Neue', 'Helvetica Neue', Arial, sans-serif);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.p74-chat-legacy .btn.btn-default:hover,
.p74-chat-legacy .btn.btn-custom-secondary:hover {
  background: var(--ink, #0a0a0a);
  color: #fff;
}
/* the inline edit / save / reset glyph buttons in the details box —
   property-specific only, so the dashicons font-family is left alone. */
.p74-chat-legacy .requestchat--info-article.details .btn-icon {
  color: var(--ink, #0a0a0a);
  border-radius: 0;
  box-shadow: none;
}


/* ==========================================================================
   6. BELT-AND-BRACES — no shadow, no pill, anywhere inside the legacy chat.
   Scoped, and deliberately NOT using `display` (so nothing that is hidden by
   role/permission logic can ever be revealed by this sheet).
   ========================================================================== */
.p74-chat-legacy .panel,
.p74-chat-legacy .panel-default,
.p74-chat-legacy .panel-heading,
.p74-chat-legacy .panel-body,
.p74-chat-legacy .box,
.p74-chat-legacy .well,
.p74-chat-legacy .form-control {
  box-shadow: none;
  border-radius: 0;
}
.p74-chat-legacy .panel,
.p74-chat-legacy .panel-default {
  border-color: var(--line-2, #e2e2e2);
  background: var(--paper, #fff);
}
.p74-chat-legacy .form-control {
  border: 1px solid var(--ink, #0a0a0a);
  background: var(--paper, #fff);
  color: var(--ink, #0a0a0a);
}
.p74-chat-legacy .form-control:focus {
  border-color: var(--ink, #0a0a0a);
  box-shadow: none;
  outline: none;
}
