/* Vextrex refinement: retain the established red / graphite identity and page shell. */
:root { --ct-action: #c91d25; }
::selection { background: #f9d6d8; color: #202326; }
:is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #a6161d; outline-offset: 4px; }
html { scroll-padding-top: 100px; }
.ct-model-quote { background: #fff; border: 1px solid #c91d25; border-radius: 6px; color: #a6161d; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; min-height: 44px; padding: 10px 14px; white-space: nowrap; }
.ct-model-quote:hover { background: #fff1f2; }
.cs1-hero-actions .ct-sample-action { background: transparent; border: 1px solid #bfc3c6; color: #202326; border-radius: 6px; cursor: pointer; font: inherit; font-weight: 600; min-height: 48px; padding: 12px 20px; }
.cs1-hero-actions .ct-sample-action:hover { border-color: #c91d25; }
.cs1-spec-section .cs1-table-scroll td:last-child { vertical-align: middle; }

/* The selected request stays visible; alternative routes remain one click away. */
.ct-guided-inquiry .ct-inquiry-service-note { color: #50565b; font-size: 12px; line-height: 1.6; margin: 0 0 4px; }
.ct-guided-inquiry.ct-route-chosen .ct-inquiry-paths,
.ct-guided-inquiry.ct-route-chosen .ct-inquiry-step { display: none; }
.ct-route-summary:not([hidden]) { align-items: center; display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-block: 1px solid #e0e3e5; color: #343a40; font-size: 13px; }
.ct-route-summary button { background: transparent; border: 0; color: #a6161d; cursor: pointer; font: inherit; font-weight: 600; min-height: 44px; padding: 6px; text-decoration: underline; text-underline-offset: 4px; }
.ct-guided-inquiry .ct-inquiry-optional summary { min-height: 44px; align-items: center; }
.ct-guided-inquiry .ct-inquiry-optional[open] > .ct-inquiry-field-grid { margin-top: 12px; }
.ct-guided-inquiry .ct-form-status[data-state="error"] { color: #a6161d; background: #fff1f2; padding: 12px; border-radius: 6px; }
.ct-guided-inquiry .ct-form-status[data-state="success"] { color: #155b35; background: #edf7f1; padding: 14px; border-radius: 6px; }
.ct-guided-inquiry .ct-inquiry-submit { background: #c91d25; color: #fff; }
.ct-guided-inquiry [type="submit"]:disabled { cursor: wait; opacity: .65; }
.ct-contact-rail a[href^="mailto:"], .ct-contact-rail a[href^="tel:"], body.home .ct-contact-rail a[href^="mailto:"], body.home .ct-contact-rail a[href^="tel:"] { display: none; }
.ct-contact-rail { gap: 10px; }
.ct-guided-inquiry :is(input,textarea)::placeholder { color: #626970; opacity: 1; font-weight: 400; }
.ct-guided-inquiry textarea { min-height: 104px; }
.cs1-product-page { padding-top: 100px; }
.cs1-product-page .cs1-hero h1 { font-size: clamp(30px, 3vw, 44px); line-height: 1.12; }
.cs1-product-page .cs1-hero-actions { margin-block: 20px 24px; }

@media (max-width: 768px) {
  .ct-guided-inquiry input, .ct-guided-inquiry select, .ct-guided-inquiry textarea { font-size: 16px; }
  .cs1-product-page { padding-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ct-dialog { animation: none !important; transition: none !important; }
}
.home .ct-contact-rail,
.ct-overview-stage1 .ct-contact-rail,
.ct-catalog-page .ct-contact-rail { display: none !important; }

/* Mobile inquiry access: keep one visible action above the device safe area. */
@media (max-width: 768px) {
  body .ct-contact-rail[aria-label] {
    display: flex !important;
    position: fixed;
    top: auto !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    right: 12px !important;
    width: auto !important;
    height: auto;
    padding: 0 !important;
    background: transparent;
    box-shadow: none;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 900;
  }
  body .ct-contact-rail[aria-label] > :is(button,a) { display: none !important; }
  body .ct-contact-rail[aria-label] > button:first-child {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    max-width: 46vw;
    min-height: 48px;
    height: auto !important;
    padding: 12px 14px;
    border: 0;
    border-radius: 26px;
    background: #e6232b;
    color: #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,.2);
  }
  body .ct-contact-rail[aria-label] .ct-contact-rail-label {
    display: inline !important;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    overflow-wrap: anywhere;
    clip: auto;
    clip-path: none;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    white-space: normal;
  }
  body .ct-contact-rail button:first-child .dashicons {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    line-height: 20px;
  }
}