:root {
    --catalog-ink: #16324f;
    --catalog-navy: #113a63;
    --catalog-blue: #1f5e99;
    --catalog-red: #e95c41;
    --catalog-red-deep: #c84831;
    --catalog-line: #d6e1ec;
    --catalog-copy: #51667e;
    --catalog-panel: #ffffff;
    --catalog-shadow: 0 22px 50px rgba(17, 58, 99, 0.12);
}

body.promo-catalog-page {
    font-family: 'Source Sans 3', sans-serif;
    color: var(--catalog-ink);
    background:
        radial-gradient(circle at top left, rgba(233, 92, 65, 0.08), transparent 22%),
        radial-gradient(circle at 85% 8%, rgba(31, 94, 153, 0.12), transparent 20%),
        linear-gradient(180deg, #f7fbff 0%, #edf4fa 36%, #f7fafc 100%);
}

.promo-catalog-page .page-loader {
    display: none;
}

.promo-catalog-page .site-header {
    padding: 14px 0;
    background: rgba(247, 251, 255, 0.9);
    border-bottom: 1px solid transparent;
    box-shadow: none;
}

.promo-catalog-page .site-header.is-scrolled {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(17, 58, 99, 0.08);
    box-shadow: 0 16px 40px rgba(17, 58, 99, 0.08);
}

.promo-catalog-page .brand-mark,
.promo-catalog-page .footer-brand-mark {
    color: var(--catalog-navy);
    text-shadow: none;
}

.promo-catalog-page .brand-mark span,
.promo-catalog-page .footer-brand-mark span {
    color: var(--catalog-red);
}

.promo-catalog-page .nav-menu a,
.promo-catalog-page .nav-dropdown-toggle,
.promo-catalog-page .nav-btn,
.promo-catalog-page .mobile-toggle {
    color: rgba(22, 50, 79, 0.72);
}

.promo-catalog-page .nav-menu a:hover,
.promo-catalog-page .nav-menu a.active,
.promo-catalog-page .nav-dropdown.is-open .nav-dropdown-toggle,
.promo-catalog-page .nav-btn:hover,
.promo-catalog-page .mobile-toggle:hover {
    color: var(--catalog-navy);
}

.promo-catalog-page .nav-menu a::after {
    background: var(--catalog-red);
}

.promo-catalog-page .nav-dropdown-menu {
    background: #fff;
    border: 1px solid rgba(17, 58, 99, 0.1);
    box-shadow: 0 24px 60px rgba(17, 58, 99, 0.14);
}

.promo-catalog-page .nav-dropdown-menu::before {
    color: var(--catalog-blue);
}

.promo-catalog-page .nav-dropdown-menu a {
    color: var(--catalog-ink);
}

.promo-catalog-page .nav-dropdown-menu a:hover,
.promo-catalog-page .nav-dropdown-menu a.active {
    background: #f2f7fc;
    color: var(--catalog-navy);
}

.promo-catalog-page main {
    padding: 18px 0 78px;
}

.promo-catalog-page .hero-panel,
.promo-catalog-page .content-panel,
.promo-catalog-page .filter-panel,
.promo-catalog-page .contact-card,
.promo-catalog-page .product-card,
.promo-catalog-page .detail-panel,
.promo-catalog-page .gallery-panel,
.promo-catalog-page .related-card,
.promo-catalog-page .modal-card,
.promo-catalog-page .purchase-card {
    background: var(--catalog-panel);
    border: 1px solid var(--catalog-line);
    box-shadow: var(--catalog-shadow);
    color: var(--catalog-ink);
}

.promo-catalog-page .hero-panel::before,
.promo-catalog-page .hero-spotlight::after,
.promo-catalog-page .hero-process::after {
    display: none;
}

.promo-catalog-page .eyebrow,
.promo-catalog-page .section-kicker,
.promo-catalog-page .hero-panel-label {
    color: var(--catalog-blue);
}

.promo-catalog-page .eyebrow::before,
.promo-catalog-page .hero-panel-label::before {
    background: var(--catalog-red);
}

.promo-catalog-page .hero-title,
.promo-catalog-page .section-title,
.promo-catalog-page .product-title,
.promo-catalog-page .modal-title,
.promo-catalog-page h1,
.promo-catalog-page h2,
.promo-catalog-page h3 {
    color: var(--catalog-navy);
    letter-spacing: 0;
}

.promo-catalog-page .hero-copy,
.promo-catalog-page .section-copy,
.promo-catalog-page .card-copy,
.promo-catalog-page .product-copy,
.promo-catalog-page .modal-copy,
.promo-catalog-page .about-side-card p,
.promo-catalog-page .about-list li,
.promo-catalog-page .contact-side-card p,
.promo-catalog-page .contact-side-list li,
.promo-catalog-page .hero-aside p,
.promo-catalog-page .hero-list li,
.promo-catalog-page .purchase-copy,
.promo-catalog-page .purchase-desc,
.promo-catalog-page .info-value {
    color: var(--catalog-copy);
}

.promo-catalog-page .about-side-card,
.promo-catalog-page .contact-side-card,
.promo-catalog-page .hero-spotlight,
.promo-catalog-page .hero-process,
.promo-catalog-page .hero-metric,
.promo-catalog-page .purchase-price,
.promo-catalog-page .summary-card,
.promo-catalog-page .info-card,
.promo-catalog-page .value-card,
.promo-catalog-page .stat-card,
.promo-catalog-page .spec-box {
    background: #f4f8fc;
    border: 1px solid #dbe7f2;
    box-shadow: none;
}

.promo-catalog-page .about-list i,
.promo-catalog-page .contact-side-list i,
.promo-catalog-page .hero-list i,
.promo-catalog-page .info-card i,
.promo-catalog-page .value-card i,
.promo-catalog-page .contact-icon {
    color: var(--catalog-red);
}

.promo-catalog-page .btn-primary,
.promo-catalog-page .modal-submit,
.promo-catalog-page .product-btn {
    background: var(--catalog-red);
    color: #ffffff;
    border: 0;
    box-shadow: 0 14px 28px rgba(233, 92, 65, 0.22);
}

.promo-catalog-page .btn-primary::after,
.promo-catalog-page .modal-submit::after,
.promo-catalog-page .product-btn::after {
    display: none;
}

.promo-catalog-page .btn-primary:hover,
.promo-catalog-page .modal-submit:hover,
.promo-catalog-page .product-btn:hover {
    background: var(--catalog-red-deep);
    color: #ffffff;
}

.promo-catalog-page .btn-secondary,
.promo-catalog-page .btn-outline {
    background: #ffffff;
    border: 1px solid var(--catalog-line);
    color: var(--catalog-navy);
}

.promo-catalog-page .btn-secondary:hover,
.promo-catalog-page .btn-outline:hover {
    background: #f3f8fd;
    color: var(--catalog-navy);
}

.promo-catalog-page .form-label,
.promo-catalog-page .filter-label,
.promo-catalog-page .modal-label,
.promo-catalog-page .price-label {
    color: var(--catalog-navy);
}

.promo-catalog-page .form-control,
.promo-catalog-page .filter-input,
.promo-catalog-page .filter-select,
.promo-catalog-page .modal-input,
.promo-catalog-page .modal-textarea,
.promo-catalog-page .quantity-input,
.promo-catalog-page .search-input,
.promo-catalog-page .notes-input {
    border: 1px solid #d5e1ed;
    background: #f9fbfd;
    color: var(--catalog-ink);
}

.promo-catalog-page .form-control:focus,
.promo-catalog-page .filter-input:focus,
.promo-catalog-page .filter-select:focus,
.promo-catalog-page .modal-input:focus,
.promo-catalog-page .modal-textarea:focus,
.promo-catalog-page .quantity-input:focus,
.promo-catalog-page .search-input:focus,
.promo-catalog-page .notes-input:focus {
    border-color: rgba(31, 94, 153, 0.4);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(31, 94, 153, 0.08);
    color: var(--catalog-ink);
}

.promo-catalog-page .product-media,
.promo-catalog-page .product-media.detail-media {
    background: linear-gradient(180deg, #f6f9fc 0%, #ebf2f9 100%);
}

.promo-catalog-page .product-media::after {
    background: linear-gradient(180deg, rgba(246, 249, 252, 0), rgba(17, 58, 99, 0.1));
}

.promo-catalog-page .product-badge,
.promo-catalog-page .result-badge {
    background: #ffffff;
    color: var(--catalog-blue);
    border: 1px solid #dbe7f2;
}

.promo-catalog-page .product-code,
.promo-catalog-page .price-value {
    color: var(--catalog-red);
}

.promo-catalog-page .info-line {
    border-bottom-color: var(--catalog-line);
}

.promo-catalog-page .info-label,
.promo-catalog-page .hero-metric strong,
.promo-catalog-page .summary-card strong,
.promo-catalog-page .spec-box strong,
.promo-catalog-page .info-card h3,
.promo-catalog-page .value-card h3 {
    color: var(--catalog-navy);
}

.promo-catalog-page .hero-metric span,
.promo-catalog-page .summary-card span,
.promo-catalog-page .spec-box span,
.promo-catalog-page .info-card p,
.promo-catalog-page .value-card p {
    color: var(--catalog-copy);
}

.promo-catalog-page .fullscreen-search {
    background: rgba(247, 251, 255, 0.96);
}

.promo-catalog-page .search-dialog {
    background: #ffffff;
    border: 1px solid var(--catalog-line);
    box-shadow: 0 28px 70px rgba(17, 58, 99, 0.18);
}

.promo-catalog-page .search-close,
.promo-catalog-page .quantity-btn {
    border-color: #d5e1ed;
    background: #ffffff;
    color: var(--catalog-navy);
}

.promo-catalog-page .gallery-modal .modal-content {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
    border: 1px solid var(--catalog-line);
    color: var(--catalog-ink);
}

.promo-catalog-page .gallery-modal .modal-header {
    border-bottom-color: var(--catalog-line);
}

.promo-catalog-page .gallery-modal .btn-close {
    filter: none;
}

.promo-catalog-page .success-message {
    background: #f4f8fc;
    border: 1px solid #dbe7f2;
}

.promo-catalog-page .gallery-footer {
    margin-top: 54px;
    background:
        radial-gradient(circle at top left, rgba(233, 92, 65, 0.16), transparent 24%),
        linear-gradient(180deg, #113a63 0%, #0b2a46 100%);
    border-top: 0;
}

.promo-catalog-page .footer-brand-mark,
.promo-catalog-page .footer-heading,
.promo-catalog-page .footer-bottom,
.promo-catalog-page .footer-links a:hover {
    color: #ffffff;
}

.promo-catalog-page .footer-copy,
.promo-catalog-page .footer-links li,
.promo-catalog-page .footer-bottom p {
    color: rgba(255, 255, 255, 0.76);
}

.promo-catalog-page .footer-contact i {
    color: #ffc2b6;
}

.promo-catalog-page .footer-bottom {
    border-color: rgba(255, 255, 255, 0.14);
}

.promo-catalog-page .price-value small {
    color: var(--catalog-copy);
}

.promo-catalog-page .table-wrap,
.promo-catalog-page .pricing-table,
.promo-catalog-page .pricing-table th,
.promo-catalog-page .pricing-table td {
    color: var(--catalog-ink);
    border-color: var(--catalog-line);
}

.promo-catalog-page .pricing-table th {
    color: var(--catalog-copy);
}

.promo-catalog-page .thumbnail-item {
    border-color: var(--catalog-line);
    background: #f4f8fc;
}

.promo-catalog-page .thumbnail-item.active {
    border-color: var(--catalog-red);
}
