/* Shared customer-facing styles. Deploy the same file on both Renton IT sites. */
:root {
    --rit-brand-font: Rubik, "Segoe UI", Arial, sans-serif;
    --rit-brand-copy: #536983;
    --rit-brand-field-text: #263c56;
    --rit-brand-line: #dce4ed;
    --rit-brand-action: #a8d66d;
    --rit-brand-action-hover: #bee58c;
    --rit-brand-action-text: #152338;
    --rit-brand-focus: #527b2d;
    --rit-brand-text-size: 1rem;
    --rit-brand-small-size: .875rem;
    --rit-brand-leading: 1.6;
    --rit-brand-title-size: clamp(2rem, 3.2vw, 2.75rem);
    --rit-brand-display-size: clamp(2.15rem, 4.1vw, 4.15rem);
    --rit-brand-section-size: clamp(1.5rem, 2.3vw, 2rem);
    --rit-brand-space-2: .5rem;
    --rit-brand-space-3: .75rem;
    --rit-brand-space-4: 1rem;
    --rit-brand-space-6: 1.5rem;
    --rit-brand-space-8: 2rem;
    --rit-brand-gutter: clamp(1rem, 2vw, 2rem);
    --rit-brand-panel-inset: clamp(1rem, 2vw, 1.5rem);
    --rit-brand-control-height: 2.75rem;
    --rit-brand-control-radius: .5rem;
    --rit-brand-panel-radius: .75rem;
}

[data-bs-theme="dark"] {
    --rit-brand-field-text: #ecf2fb;
    --rit-brand-line: #3b344b;
    --rit-brand-focus: #bee58c;
}

body.rit-brand-ui {
    font-family: var(--rit-brand-font);
    font-size: var(--rit-brand-text-size);
    line-height: var(--rit-brand-leading);
}

body.rit-brand-ui:not(.rit-signature-page) { color: var(--rit-brand-copy); }
body.rit-brand-ui.rit-signature-page { --signature-frame-gutter: var(--rit-brand-gutter); }

body.rit-brand-ui :is(h1, h2, h3, h4, h5, h6, .btn, label, button, input, select, textarea, .rsv-page) {
    font-family: var(--rit-brand-font);
}

body.rit-brand-ui .rsv-page { line-height: var(--rit-brand-leading); }

body.rit-brand-ui :is(#site-content > .content-header h1, .rit-order-title h1, .card-header h1) {
    font-size: var(--rit-brand-title-size);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.025em;
}

body.rit-brand-ui :is(.rit-home-hero-content h1, .rit-auth-story h1, .rsv-page h1) {
    font-size: var(--rit-brand-display-size);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.03em;
}

body.rit-brand-ui :is(.wpb_text_column h2, .rsv-section h2) {
    font-size: var(--rit-brand-section-size);
    font-weight: 500;
    line-height: 1.22;
}

body.rit-brand-ui .rit-auth-content h5.text-center { margin-bottom: var(--rit-brand-space-6) !important; }

body.rit-brand-ui :is(#site-header .menu > li > a, .rit-site-header .navbar .nav-link) {
    font-family: var(--rit-brand-font);
    font-size: .8125rem;
    font-weight: 500;
}

body.rit-brand-ui .rit-sidebar-column .nav-link { font-family: var(--rit-brand-font); font-weight: 500; }

body.rit-brand-ui :is(.rit-home-hero-actions, .rit-public-support-choices, .rit-product-grid) { gap: var(--rit-brand-space-3); }

body.rit-brand-ui #site-content > .content-header { padding-block: clamp(1.25rem, 2.4vw, 2rem); }
body.rit-brand-ui .rsv-section { padding-block: clamp(1.5rem, 3.5vw, 3rem); }

body.rit-brand-ui :is(.card, .rit-order-redesign .rit-product-card, .rit-category-card, .rit-public-support-choices > a, .rsv-panel, .rsv-plan) {
    border-radius: var(--rit-brand-panel-radius);
}

body.rit-brand-ui.rit-signature-page :is(.card-header, .card-body, .rit-order-redesign .rit-product-card) {
    padding-inline: var(--rit-brand-panel-inset);
}

body.rit-brand-ui.rit-signature-page .card-header {
    padding-block: var(--rit-brand-space-4);
    border-radius: var(--rit-brand-panel-radius) var(--rit-brand-panel-radius) 0 0;
}

body.rit-brand-ui.rit-signature-page .card-body { padding-block: var(--rit-brand-panel-inset); }
body.rit-brand-ui.rit-signature-page .card-header :is(p, .text-muted) { font-weight: 400; }
body.rit-brand-ui .rit-catalog-search-form { gap: var(--rit-brand-space-2); }
body.rit-brand-ui .rit-order-redesign .rit-order-intro--browse { margin-bottom: var(--rit-brand-space-4); }

/* Keep compact action groups in tables and the mail reader at their existing size. */
body.rit-brand-ui .btn { border-radius: var(--rit-brand-control-radius); }
body.rit-brand-ui :is(.btn:not(.btn-sm, .btn-icon, .btn-close), .rit-hw-add, .rit-home-hero-actions > a, .rit-contact-cta > a, .rsv-order, #rit-fb-lookup-form button[type="submit"]) {
    min-height: var(--rit-brand-control-height);
    padding: .625rem var(--rit-brand-space-4);
    border-radius: var(--rit-brand-control-radius);
    font-family: var(--rit-brand-font);
    font-size: var(--rit-brand-small-size);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: normal;
    text-transform: none;
}

body.rit-brand-ui .rsv-page .rsv-order { display: flex; align-items: center; justify-content: center; }

body.rit-brand-ui :is(.rit-home-hero-primary, .rit-contact-cta > a, .rsv-order, #rit-fb-lookup-form button[type="submit"]) {
    background: var(--rit-brand-action);
    border-color: var(--rit-brand-action);
    color: var(--rit-brand-action-text);
}

body.rit-brand-ui :is(.rit-home-hero-primary, .rit-contact-cta > a, .rsv-order, #rit-fb-lookup-form button[type="submit"]):hover {
    background: var(--rit-brand-action-hover);
    border-color: var(--rit-brand-action-hover);
    color: var(--rit-brand-action-text);
}

/* The portal theme sets its primary colors with !important. */
body.rit-brand-ui.rit-signature-page :is(.btn-primary, .rit-hardware-product .rit-hw-add) {
    background: var(--rit-brand-action) !important;
    border-color: var(--rit-brand-action) !important;
    color: var(--rit-brand-action-text) !important;
}

body.rit-brand-ui.rit-signature-page :is(.btn-primary, .rit-hardware-product .rit-hw-add):hover {
    background: var(--rit-brand-action-hover) !important;
    border-color: var(--rit-brand-action-hover) !important;
    color: var(--rit-brand-action-text) !important;
}

body.rit-brand-ui.rit-signature-page .rit-auth-content .card .btn-primary { -webkit-text-fill-color: var(--rit-brand-action-text) !important; }

body.rit-brand-ui.rit-signature-page :is(.form-control:not(.form-control-sm), .form-select:not(.form-select-sm)),
body.rit-brand-ui :is(#rit-fb-lookup-form input[type="text"], .search-form input[type="search"]) {
    min-height: var(--rit-brand-control-height);
    padding-block: .5625rem;
    padding-inline-start: var(--rit-brand-space-3);
    border-radius: var(--rit-brand-control-radius);
    font-size: var(--rit-brand-text-size);
    font-weight: 400;
    line-height: 1.4;
}

body.rit-brand-ui.rit-signature-page textarea.form-control:not(.form-control-sm) { min-height: 7.5rem; }
body.rit-brand-ui #rit-fb-lookup-form :is(input[type="text"], button[type="submit"]) { height: auto; }
body.rit-brand-ui.rit-signature-page :is(.form-control:not(.form-control-sm), .form-select:not(.form-select-sm)) {
    color: var(--rit-brand-field-text);
    border-color: var(--rit-brand-line);
}

/* The legacy lookup markup has inline padding and border styles. */
body.rit-brand-ui #rit-fb-lookup-form input[type="text"] {
    background: #fff;
    color: var(--rit-brand-field-text);
    padding: .5625rem var(--rit-brand-space-3) !important;
    margin-block: var(--rit-brand-space-2) var(--rit-brand-space-4) !important;
    border: 1px solid var(--rit-brand-line) !important;
    border-radius: var(--rit-brand-control-radius) !important;
}

body.rit-brand-ui #rit-fb-lookup-form button[type="submit"] { padding: .625rem var(--rit-brand-space-4) !important; }

body.rit-brand-ui :is(.form-label, #rit-fb-lookup-form label) {
    font-size: var(--rit-brand-small-size);
    font-weight: 500;
    line-height: 1.4;
}

body.rit-brand-ui :is(.btn, .form-control, .form-select, .rit-home-hero-actions > a, .rit-contact-cta > a, .rsv-order, #rit-fb-lookup-form :is(input, button), .search-form input[type="search"]):focus-visible {
    outline: 2px solid var(--rit-brand-focus);
    outline-offset: 2px;
}

body.rit-brand-ui #site-footer.rit-shared-footer { font: 400 var(--rit-brand-small-size)/1.5 var(--rit-brand-font); }
body.rit-brand-ui #site-footer.rit-shared-footer h2 { font: 500 var(--rit-brand-text-size)/1.3 var(--rit-brand-font); }
body.rit-brand-ui .rit-shared-footer__body {
    gap: clamp(var(--rit-brand-space-4), 3vw, var(--rit-brand-space-8));
    padding: var(--rit-brand-space-6) var(--rit-brand-gutter) var(--rit-brand-space-4);
}
body.rit-brand-ui .rit-shared-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--rit-brand-space-2) var(--rit-brand-space-4);
    padding-inline: var(--rit-brand-gutter);
}

body.rit-brand-ui #site-footer.rit-shared-footer .rit-shared-footer__top {
    padding-block: .25rem;
    text-decoration: underline;
}

@media (max-width: 680px) {
    body.rit-brand-ui .rit-shared-footer__body { gap: var(--rit-brand-space-4) var(--rit-brand-space-3); padding-block: var(--rit-brand-space-4); }
}
