/* FaxFacts visual identity for V2 fax pages.
   Keeps the legacy purple product cue while using the shared Copia V2 system. */

.fax-theme {
  --fax-purple-950: #24143f;
  --fax-purple-900: #312052;
  --fax-purple-800: #43286f;
  --fax-purple-700: #59358f;
  --fax-purple-600: #7048aa;
  --fax-purple-500: #8560bd;
  --fax-purple-300: #bea8dc;
  --fax-purple-200: #d8caea;
  --fax-purple-100: #eee8f7;
  --fax-purple-050: #f8f5fc;
}

/* Give the SVG explicit rendered dimensions on fax pages. This also avoids
   browsers falling back to default SVG intrinsic dimensions. */
.fax-theme .site-brand img {
  display: block;
  width: 217px;
  height: auto;
  max-height: 36px;
}

.fax-theme .page-breadcrumb {
  border-bottom-color: #e5dcef;
}

.fax-theme .page-breadcrumb a,
.fax-theme main a:not(.btn) {
  color: var(--fax-purple-700);
}

.fax-theme .site-nav a[aria-current="page"] {
  color: var(--fax-purple-800);
  background: var(--fax-purple-050);
}

.fax-theme .landing-hero {
  border-bottom-color: #d9cbe9;
  background:
    radial-gradient(circle at 88% 12%, rgba(112, 72, 170, .24), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(133, 96, 189, .15), transparent 31%),
    linear-gradient(135deg, #fbf9fe 0%, #f2edf9 54%, #eee7f7 100%);
}

.fax-theme .landing-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--fax-purple-800), var(--fax-purple-500), transparent 78%);
}

.fax-theme .landing-hero__panel {
  border-color: rgba(89, 53, 143, .22);
  box-shadow: 0 22px 54px rgba(67, 40, 111, .13);
}

.fax-theme main .eyebrow {
  color: var(--fax-purple-700);
}

.fax-theme .article-body .pull-question {
  color: var(--fax-purple-700);
}

.fax-theme main .tag {
  color: var(--fax-purple-800);
  background: var(--fax-purple-100);
}

.fax-theme .related-card {
  background: var(--fax-purple-050);
}

.fax-theme .related-card:hover,
.fax-theme .related-card:focus-visible {
  background: var(--fax-purple-100);
}

.fax-theme .related-card__icon {
  color: var(--fax-purple-700);
}

.fax-theme .related-card__arrow {
  color: var(--fax-purple-600);
}

.fax-theme main .btn--primary {
  background: var(--fax-purple-700);
  box-shadow: 0 7px 18px rgba(89, 53, 143, .23);
}

.fax-theme main .btn--primary:hover {
  background: var(--fax-purple-800);
}

.fax-theme main .btn--secondary {
  border-color: #c9b9dc;
  color: var(--fax-purple-800);
}

.fax-theme main .btn--secondary:hover {
  border-color: var(--fax-purple-600);
  color: var(--fax-purple-900);
  background: var(--fax-purple-050);
}

.fax-theme .landing-chip-list svg,
.fax-theme .check-list__icon {
  color: var(--fax-purple-700);
  background: var(--fax-purple-100);
}

.fax-theme .landing-strip {
  border-bottom-color: #e5dcef;
  box-shadow: inset 0 3px 0 rgba(112, 72, 170, .08);
}

.fax-theme .landing-strip__item {
  border-right-color: #eadff3;
}

.section--fax-soft {
  background:
    radial-gradient(circle at 95% 0%, rgba(133, 96, 189, .07), transparent 28%),
    var(--fax-purple-050);
}

.fax-theme .feature-card {
  border-color: #e0d5ec;
  box-shadow: 0 10px 28px rgba(67, 40, 111, .055);
}

.fax-theme .feature-card__number,
.fax-theme .process-step::before,
.fax-theme .process-loop-badge {
  background: linear-gradient(145deg, var(--fax-purple-800), var(--fax-purple-500));
}

.fax-theme .process-step::after {
  border-color: var(--fax-purple-300);
}

.fax-theme .process-step,
.fax-theme .data-source {
  border-color: #e2d8ed;
}

.fax-theme .data-source svg {
  color: var(--fax-purple-600);
}

.fax-theme .source-hub {
  border-color: #e2d8ed;
  color: var(--fax-purple-700);
}

.fax-theme .source-hub .hub-node {
  stroke: var(--fax-purple-100);
}

.fax-theme .source-hub .hub-core {
  fill: var(--fax-purple-700);
}

.fax-theme .compliance-note {
  border-left-color: var(--fax-purple-600);
  background: var(--fax-purple-050);
}

.fax-theme .landing-faq summary::after {
  color: var(--fax-purple-700);
}

.fax-theme .section--dark {
  background:
    radial-gradient(circle at 90% 20%, rgba(133, 96, 189, .22), transparent 31%),
    linear-gradient(135deg, var(--fax-purple-950), var(--fax-purple-900));
}

.fax-theme .section--dark .eyebrow {
  color: #cfbce8;
}

.fax-theme .section--dark .callout {
  border-color: rgba(216, 202, 234, .25);
}

.fax-theme .cta-band {
  background: linear-gradient(120deg, var(--fax-purple-900), var(--fax-purple-700));
}

/* Three broadcast-model illustrations. These replace the legacy raster
   diagram with lightweight, accessible inline SVGs. */
.broadcast-model-visual {
  height: 158px;
  display: grid;
  place-items: center;
  margin: -4px -4px 22px;
  overflow: hidden;
  border: 1px solid #e2d6ee;
  border-radius: 13px;
  color: var(--fax-purple-700);
  background:
    radial-gradient(circle at 82% 18%, rgba(133, 96, 189, .12), transparent 27%),
    linear-gradient(145deg, #fff, var(--fax-purple-050));
}

.broadcast-model-visual svg {
  width: min(100%, 320px);
  height: 138px;
}

.broadcast-model-visual .doc {
  fill: #fff;
  stroke: currentColor;
  stroke-width: 2;
}

.broadcast-model-visual .doc-fill {
  fill: var(--fax-purple-100);
  stroke: none;
}

.broadcast-model-visual .line {
  stroke: var(--fax-purple-500);
  stroke-width: 3;
  stroke-linecap: round;
}

.broadcast-model-visual .flow {
  fill: none;
  stroke: var(--fax-purple-600);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.broadcast-model-visual .node {
  fill: var(--fax-purple-600);
}

.broadcast-model-visual .accent {
  fill: var(--fax-purple-500);
}

.broadcast-model-visual .accent-soft {
  fill: var(--fax-purple-200);
}

.broadcast-model-visual .person {
  fill: #fff;
  stroke: var(--fax-purple-600);
  stroke-width: 2;
}

.broadcast-model-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--fax-purple-800);
  background: var(--fax-purple-100);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .025em;
}

.broadcast-model-label::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--fax-purple-600);
  content: "";
}

/* Job-administration visual replaces the old broadcast-options bitmap once
   the three model illustrations have moved into their individual cards. */
.broadcast-admin-panel {
  padding: 28px;
  border: 1px solid #ddd0ea;
  border-radius: 17px;
  background:
    radial-gradient(circle at 90% 8%, rgba(133, 96, 189, .15), transparent 32%),
    #fff;
  box-shadow: 0 18px 42px rgba(67, 40, 111, .08);
}

.broadcast-admin-panel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.broadcast-admin-panel__top strong {
  color: var(--fax-purple-900);
  font-size: 1.04rem;
}

.broadcast-admin-panel__status {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--fax-purple-800);
  background: var(--fax-purple-100);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.broadcast-admin-job {
  display: grid;
  grid-template-columns: 12px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #eee6f5;
}

.broadcast-admin-job:first-of-type {
  border-top: 0;
}

.broadcast-admin-job__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

/* Matches the color-per-channel convention used for the globe/textmark
   brand marks (graphx/globes, graphx/textmarks): fax, voice and e-mail
   jobs are the same queue system, distinguished by color. */
.broadcast-admin-job__dot--fax {
  background: var(--queue-fax);
  box-shadow: 0 0 0 4px rgba(138, 54, 193, .16);
}

.broadcast-admin-job__dot--voice {
  background: var(--queue-voice);
  box-shadow: 0 0 0 4px rgba(29, 175, 228, .16);
}

.broadcast-admin-job__dot--email {
  background: var(--queue-email);
  box-shadow: 0 0 0 4px rgba(50, 199, 96, .16);
}

.broadcast-admin-job strong {
  display: block;
  margin-bottom: 2px;
  color: var(--copia-ink);
  font-size: .9rem;
}

.broadcast-admin-job span {
  color: var(--copia-muted);
  font-size: .78rem;
}

.broadcast-admin-job__state {
  color: var(--fax-purple-700) !important;
  font-weight: 750;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .fax-theme .site-brand img {
    width: 190px;
    max-height: 32px;
  }
}

@media (max-width: 700px) {
  .broadcast-model-visual {
    height: 146px;
  }

  .broadcast-model-visual svg {
    height: 126px;
  }

  .broadcast-admin-panel {
    padding: 22px;
  }
}
/* Two protocol modes on the FoIP page. */
.foip-mode-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 700px) { .foip-mode-grid { grid-template-columns: 1fr; } }

/* Make the intent links distinct against the FaxFacts soft section. */
.workflow-grid .related-card { background: #fff; border: 1px solid var(--fax-purple-200); box-shadow: 0 6px 20px rgba(49,32,82,.05); }
.workflow-grid .related-card:hover, .workflow-grid .related-card:focus-visible { background: #f9f6fc; }
