/* GX Connect public surfaces · local, additive polish.
   Loaded after the existing Colón styles. No layout, media or runtime replacement. */

:root {
  --connect-control: #0864ca;
  --connect-control-hover: #064f9f;
  --connect-border: #cfdae7;
  --connect-border-strong: #8ca5bf;
  --connect-muted: #435b74;
  --connect-panel-shadow: 0 8px 26px #071b3908;
  --connect-radius: 16px;
}

/* Clear, stable navigation; changing pages does not move the link itself. */
[data-public-ux] .site-header {
  border-bottom-color: var(--connect-border);
  box-shadow: 0 4px 18px #071b3908;
}
[data-public-ux] .primary-nav > ul { gap: 5px; }
[data-public-ux] .primary-nav > ul > li > a:not(.btn),
[data-public-ux] .primary-nav .mc-channel-menu details > summary {
  border-radius: 8px;
  transition: background-color .16s ease, color .16s ease;
}
[data-public-ux] .primary-nav > ul > li > a:not(.btn):hover,
[data-public-ux] .primary-nav .mc-channel-menu details > summary:hover {
  background: #edf4fc;
  color: #064f9f;
}
[data-public-ux] .primary-nav a[aria-current="page"] {
  background: #edf4fc;
  color: #064f9f;
  text-decoration-thickness: 2px;
}
[data-public-ux] .primary-nav .mc-channel-menu details > ul {
  border-color: var(--connect-border);
  box-shadow: 0 16px 42px #071b391c;
}
[data-public-ux] .breadcrumbs { gap: 8px 12px; }
[data-public-ux] .breadcrumbs a { padding-block: 9px; }

/* Buttons retain their purpose and tone. Primary blue is readable on white. */
[data-public-ux] .btn {
  border-radius: 9px;
  min-height: 46px;
  padding: 13px 19px;
  line-height: 1.4;
  text-wrap: pretty;
}
[data-public-ux] .btn:hover { transform: none; }
[data-public-ux] .btn-primary {
  background: var(--connect-control);
  border-color: var(--connect-control);
  color: #fff;
  box-shadow: 0 6px 17px #0864ca1a;
}
[data-public-ux] .btn-primary:hover {
  background: var(--connect-control-hover);
  border-color: var(--connect-control-hover);
  color: #fff;
}
[data-public-ux] .btn-secondary { border-color: var(--connect-border-strong); }
[data-public-ux] .btn-secondary:hover { background: #edf4fc; }
[data-public-ux] :is(.btn,.journey-tab):disabled,
[data-public-ux] :is(.btn,.journey-tab)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  box-shadow: none;
}
[data-public-ux] :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid #0864ca;
  outline-offset: 4px;
}
[data-public-ux] .journey-section :is(a,button):focus-visible,
[data-public-ux] .mc-total :is(a,button,textarea):focus-visible {
  outline-color: #9eedcc;
}

/* One visual family for discovery, comparison and selection. */
[data-public-ux] :is(.mc-card,.package,.slot,.mc-screen-rate) {
  border-color: var(--connect-border);
  border-radius: var(--connect-radius);
  box-shadow: var(--connect-panel-shadow);
}
[data-public-ux] .mc-card { padding: 28px 24px; }
[data-public-ux] .mc-card h3 { line-height: 1.2; }
[data-public-ux] .mc-card p { line-height: 1.75; }
[data-public-ux] .mc-card .btn { margin-top: auto; }
[data-public-ux] .mc-card.is-selected {
  border-color: #0864ca;
  box-shadow: inset 0 3px #0864ca, var(--connect-panel-shadow);
}
[data-public-ux] .mc-status { border-radius: 6px; font-size: .73rem; }
[data-public-ux] .mc-tabs { gap: 9px; }
[data-public-ux] .mc-tabs :is(a,button) {
  border-radius: 9px;
  min-height: 48px;
  line-height: 1.4;
}
[data-public-ux] .mc-tabs a[aria-current="page"] {
  background: #071b39;
  border-color: #071b39;
  color: #fff;
  box-shadow: 0 4px 12px #071b3915;
}
[data-public-ux] .mc-detail { border-radius: var(--connect-radius); }
[data-public-ux] .mc-detail-copy { min-width: 0; }
[data-public-ux] .mc-detail-copy :is(p,li) { line-height: 1.75; }
[data-public-ux] .mc-facts { margin-block: 26px; }
[data-public-ux] .mc-facts > div { padding-block: 16px; }
[data-public-ux] .mc-facts dt { font-size: .76rem; }
[data-public-ux] .mc-facts dd { font-size: .94rem; }
[data-public-ux] .mc-detail-art { border-radius: 0 15px 15px 0; }

[data-public-ux] .package { padding: 30px 25px; }
[data-public-ux] .package :is(.package-q,.package-price),
[data-public-ux] .mc-total > strong,
[data-public-ux] .ux-summary-price { font-variant-numeric: tabular-nums; }
[data-public-ux] .package .package-unit { font-size: .8rem; line-height: 1.55; }
[data-public-ux] .package .estimated { font-size: .71rem; line-height: 1.5; }
[data-public-ux] .package.is-selected {
  outline-color: #0864ca;
  outline-offset: 4px;
}
[data-public-ux] .slot-copy :is(p,.quantity) { line-height: 1.7; }
[data-public-ux] .slot-copy .btn { min-height: 46px; }
[data-public-ux] .ux-placement-rate { font-size: .82rem; line-height: 1.6; }
[data-public-ux] .ux-package-context { border-radius: 0 10px 10px 0; }
[data-public-ux] .ux-route-progress a { border-radius: 10px; }
[data-public-ux] .ux-route-progress a:not([aria-current="step"]):hover {
  border-color: #0864ca;
  background: #f4f8fd;
}

/* Light-background copy gets sufficient weight and size without changing dark panels. */
[data-public-ux] :is(.mc-intro,.mc-card p,.mc-detail-copy p,.mc-detail-copy li,
  .mc-caption,.mc-channel-note,.mc-network,.mc-summary-line p,.ux-after-note) {
  color: var(--connect-muted);
}
[data-public-ux] :is(.mc-caption,.mc-channel-note,.mc-network,.mc-local-note) {
  font-size: .82rem;
  line-height: 1.7;
}
[data-public-ux] .mc-warning { line-height: 1.75; border-radius: 0 10px 10px 0; }
[data-public-ux] .mc-local-note { border-radius: 0 10px 10px 0; }
[data-public-ux] .mc-summary-line { padding-block: 27px; }
[data-public-ux] .mc-line-title { gap: 10px 20px; }
[data-public-ux] .mc-line-title h3 { line-height: 1.3; }
[data-public-ux] .mc-total { border-radius: var(--connect-radius); }
[data-public-ux] .mc-total p { font-size: .86rem; line-height: 1.75; }
[data-public-ux] .mc-total .mc-status { color: #9eedcc; }
[data-public-ux] .mc-copy { border-radius: 10px; font-size: .9rem; }

/* Public proposal fields only. The private BOM and 3D controls are untouched. */
[data-public-ux] .mc-editor :is(select,textarea),
[data-public-ux] .config-input :is(select,input),
[data-public-ux] .stand-request :is(input,textarea) {
  border-color: var(--connect-border-strong);
  border-radius: 9px;
  line-height: 1.5;
}
[data-public-ux] .mc-editor select,
[data-public-ux] .config-input :is(select,input),
[data-public-ux] .stand-request input { min-height: 48px; }
[data-public-ux] .stand-request fieldset {
  border-color: var(--connect-border);
  border-radius: var(--connect-radius);
  padding: 28px;
}
[data-public-ux] .stand-request legend { padding-inline: 9px; }
[data-public-ux] .stand-request .sr-field { gap: 8px; line-height: 1.5; }
[data-public-ux] .stand-request :is(.sr-help,.sr-privacy,.sr-logo-note) {
  font-size: .84rem;
  color: var(--connect-muted);
}
[data-public-ux] .stand-request :is(.sr-preview,.sr-errors,.sr-next) { border-radius: 12px; }
[data-public-ux] .stand-request [aria-invalid="true"] {
  border-color: #a44531;
  background: #fff7f3;
}
[data-public-ux] .stand-request .sr-errors { line-height: 1.75; }
[data-public-ux] .ux-spec-table { border: 1px solid var(--connect-border); border-radius: 12px; }
[data-public-ux] .ux-spec-table :is(th,td) { line-height: 1.65; }
[data-public-ux] .ux-spec-table tbody tr:nth-child(even) { background: #f6f9fd; }

/* Guide and Touch: legible copy and controls, preserving map/viewer geometry. */
[data-colon-directory] { --cdt-blue: #0864ca; }
[data-colon-directory] .cdt-search input::placeholder { color: #526b80; opacity: 1; }
[data-colon-directory] :is(.cdt-filters button,.cdt-source,.cdt-source p,
  .cdt-source .cdt-source-language,.cdt-status,.cdt-count,.cdt-pending,.cdt-fine) {
  font-size: 12px;
  line-height: 1.65;
}
[data-colon-directory] .cdt-card { padding: 18px; border-color: #c9d9e6; }
[data-colon-directory] :is(.cdt-category,.cdt-card > span:last-child > small) {
  font-size: 12px;
  line-height: 1.5;
  color: #446178;
}
[data-colon-directory] :is(.cdt-card-cta,.cdt-card small) { font-size: 12px; color: #176087; }
.sf-panel :is(label,button,summary) { font-size: 13px; line-height: 1.5; }
.sf-panel :is(.sf-screen p,.sf-small,.sf-step-list li,.sf-progress) {
  font-size: 12px;
  line-height: 1.65;
  color: #3f607b;
}
.sf-panel .sf-pilot summary { min-height: 44px; }

@media (max-width: 900px) {
  [data-public-ux] .primary-nav > ul { gap: 6px; }
  [data-public-ux] .primary-nav > ul > li > a { min-height: 48px; }
}
@media (max-width: 760px) {
  [data-public-ux] .mc-detail-art { border-radius: 0 0 15px 15px; }
  [data-public-ux] :is(.mc-detail-copy,.mc-editor,.mc-total) { padding: 25px 22px; }
  [data-public-ux] .mc-card { padding: 25px 22px; }
  [data-public-ux] .package { padding: 26px 20px; }
  [data-public-ux] .stand-request fieldset { padding: 24px 20px; }
  [data-public-ux] .mc-editor :is(select,textarea),
  [data-public-ux] .config-input :is(select,input),
  [data-public-ux] .stand-request :is(input,textarea) { font-size: 16px; }
  [data-public-ux] .ux-spec-table { overscroll-behavior-inline: contain; }
  [data-public-ux] .ux-spec-table :is(th,td) { padding: 15px; min-width: 155px; }
}
@media (max-width: 450px) {
  [data-public-ux] .package-grid { grid-template-columns: 1fr; gap: 16px; }
  [data-public-ux] .package .btn { font-size: .88rem; }
  [data-public-ux] .package .package-unit { min-height: 0; }
  [data-public-ux] .mc-line-title strong { overflow-wrap: anywhere; }
  [data-public-ux] .stand-request .button-row { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-public-ux] .primary-nav :is(a,summary),
  [data-public-ux] .btn { transition: none; }
}

/* Joint sprint table keyboard closeout */
[data-public-ux] .ux-spec-table:focus-visible{outline:3px solid #0864ca;outline-offset:4px}
[data-public-ux] .ux-spec-table caption{text-align:left;padding:16px;color:#071b39;background:#fff;font-weight:700;line-height:1.6;caption-side:top}
