body {
    background: #f5f7fb;
    color: #31465b;
}

.header {
    background: #0f2740;
    padding: 0.3em 0;
}

.header-left p,
.header-right ul li a,
.header-right ul li {
    color: #dbe8f5;
}

.header-right ul li a:hover,
.header-left p span,
.header-right ul li a span {
    color: #7fd1ff;
}

.navigation {
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #dce6f1;
    box-shadow: 0 12px 28px rgba(15, 39, 64, 0.08);
}

.navigation .logo img {
    height: 58px;
    width: auto;
}

.navbar-default {
    background: transparent;
    border: 0;
}

.navbar-default .navbar-nav > li > a {
    color: #163654;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover {
    color: #1d6fb8;
    background: transparent;
}

.footer {
    background: #0f2740;
    padding: 2em 0;
}

.footer-left p,
.footer-left p a,
.footer-right ul li a {
    color: #c8d9ea;
}

.footer-left p a:hover {
    color: #7fd1ff;
}

.apron-hero,
.cap-hero,
.shoe-hero,
.sheet-hero,
.hero {
    background: linear-gradient(135deg, #0f2740 0%, #22507b 52%, #d8e8f4 100%) !important;
    color: #fff !important;
    padding: 5.2em 0 4.2em !important;
    position: relative;
    overflow: hidden;
}

.apron-hero h2,
.cap-hero h2,
.shoe-hero h2,
.sheet-hero h2,
.hero h2 {
    font-size: 2.8em !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
}

.apron-hero p,
.cap-hero p,
.shoe-hero p,
.sheet-hero p,
.hero p {
    color: #e6f2fb !important;
}

.hero-stat {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(4px);
}

.hero-stat span {
    color: #d8ebfa !important;
}

.apron-section,
.cap-section,
.shoe-section,
.sheet-section,
.section {
    padding: 4.5em 0 !important;
}

.product-carousel-wrap,
.product-overview,
.product-card {
    border-radius: 24px !important;
    box-shadow: 0 20px 50px rgba(21, 56, 84, 0.09) !important;
    border: 1px solid #e2ebf3;
}

.product-card {
    border-top: 5px solid #1d6fb8 !important;
}

.product-card .badge-line {
    background: #e8f4fb !important;
    color: #1d6fb8 !important;
}

.overview-list li:before,
.detail-list li:before {
    background: #1d6fb8 !important;
}

.cta-strip {
    background: linear-gradient(135deg, #153854, #1f567f) !important;
}

.cta-strip .btn {
    background: #7fd1ff !important;
    border-color: #7fd1ff !important;
    color: #103148 !important;
    border-radius: 999px;
    padding: 0.8em 1.6em;
}

.catalog-sidebar {
    padding: 2.4em 1.8em;
}

.catalog-content {
    padding: 0 1.5em 2em;
}

.catalog-title {
    color: #173854;
    margin-bottom: 1em;
    font-size: 2.3em;
}

.catalog-toggle {
    width: 100% !important;
    margin: 0 0 1em !important;
    border-radius: 999px;
    border: 1px solid #d4e1ee;
    background: #fff !important;
    color: #173854 !important;
    font-weight: 700;
    padding: 1em 1.2em;
    box-shadow: 0 10px 24px rgba(15, 39, 64, 0.07);
}

.catalog-toggle:hover,
.catalog-toggle:focus,
.catalog-toggle.active {
    background: #1d6fb8 !important;
    border-color: #1d6fb8 !important;
    color: #fff !important;
}

.section-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 2.4em;
}

.section-kicker {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.78em;
    font-weight: 700;
    color: #1d6fb8;
    margin-bottom: 0.8em;
}

.section-head p {
    color: #607387;
    line-height: 1.8em;
}

.home-product-slider {
    padding: 1em 0 4.5em;
}

.home-carousel {
    background: transparent;
}

.home-carousel-card {
    background: #fff;
    border-radius: 28px;
    box-shadow: 0 22px 54px rgba(18, 52, 78, 0.1);
    overflow: hidden;
    border: 1px solid #dfebf4;
}

.home-carousel-media {
    min-height: 420px;
    height: 100%;
}

.home-carousel-media img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

.home-carousel-copy {
    padding: 3.2em 3em;
}

.home-carousel-copy h4 {
    font-size: 2.2em;
    line-height: 1.2em;
    color: #173854;
    margin-bottom: 0.55em;
}

.home-carousel-copy p {
    color: #627485;
    line-height: 1.9em;
    margin-bottom: 1.6em;
}

.home-carousel-copy .btn {
    background: #1d6fb8;
    border-color: #1d6fb8;
    border-radius: 999px;
    padding: 0.9em 1.7em;
    font-weight: 700;
}

.home-carousel-indicators {
    bottom: -52px;
}

.home-carousel-indicators li {
    width: 12px;
    height: 12px;
    margin: 0 6px;
    border: 0;
    background: #cad9e6;
}

.home-carousel-indicators .active {
    width: 12px;
    height: 12px;
    background: #1d6fb8;
}

.home-product-slider .carousel-control.left,
.home-product-slider .carousel-control.right {
    background-image: none;
    width: 8%;
}

.home-product-slider .carousel-control .glyphicon {
    width: 46px;
    height: 46px;
    line-height: 46px;
    border-radius: 50%;
    background: rgba(15, 39, 64, 0.84);
    color: #fff;
}

.gallery-grids {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

#medical,
#industrial {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    width: 100%;
}

.gallery-grids .view.view-eighth {
    float: none;
    width: calc(50% - 8px);
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(18, 52, 78, 0.08);
    background: #fff;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-grids .view.view-eighth > a {
    display: block;
    position: relative;
}

.gallery-grids .view.view-eighth img {
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.gallery-grids .view.view-eighth:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 46px rgba(18, 52, 78, 0.14);
}

/* Force two-up layout and no float overrides */
.gallery-grids .view {
    float: none !important;
    width: calc(50% - 12px);
    margin: 0;
}

@media (max-width: 1199px) {
    .gallery-grids .view {
        width: calc(50% - 14px);
    }
}

@media (max-width: 768px) {
    .gallery-grids .view {
        width: 100%;
    }
}

.gallery-grids .view.view-eighth .mask {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 34, 53, 0.05), rgba(12, 34, 53, 0.88));
    opacity: 0;
    padding: 1.7em 1.7em 1.5em;
    transition: opacity 0.25s ease;
}

.gallery-grids .view.view-eighth h4,
.gallery-grids .view.view-eighth p {
    color: #dce9f5;
    transform: none;
}

.gallery-grids .view.view-eighth p {
    font-size: 1.02em;
    line-height: 1.7em;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.gallery-grids .view.view-eighth:hover .mask {
    opacity: 1;
}

.gallery-grids .view.view-eighth:hover p {
    opacity: 1;
}

/* Contact form */
.contact-card {
    max-width: 960px;
    margin: 28px auto 16px;
    padding: 22px 26px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(12, 34, 53, 0.08);
}

.contact-card h3 {
    margin-top: 0;
    margin-bottom: 16px;
    font-weight: 700;
    color: #153854;
}

.contact-input {
    margin-bottom: 14px;
    height: 46px;
}

.contact-textarea {
    margin-top: 6px;
    margin-bottom: 14px;
}

.contact-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.contact-submit {
    min-width: 160px;
}

.contact-status {
    display: block;
    margin-top: 8px;
    color: #627485;
}

.contact-status.success {
    color: #1f8a4d;
    font-weight: 600;
}

.contact-status.error {
    color: #c12f54;
    font-weight: 600;
}

@media (max-width: 1199px) {
    .gallery-grids .view.view-eighth {
        width: calc(50% - 12px);
    }
}

@media (max-width: 991px) {
    .catalog-sidebar,
    .catalog-content {
        padding: 0 15px;
    }

    .catalog-sidebar {
        margin-bottom: 1.8em;
    }

    .apron-hero h2,
    .cap-hero h2,
    .shoe-hero h2,
    .sheet-hero h2,
    .hero h2 {
        font-size: 2.2em !important;
    }

    .home-carousel-copy {
        padding: 2.2em;
    }

    .home-carousel-copy h4 {
        font-size: 1.9em;
    }

    #medical,
    #industrial {
        gap: 20px;
    }
}

@media (max-width: 767px) {
    .gallery-grids .view.view-eighth,
    .gallery-grids .view {
        width: 100%;
    }

    .gallery-grids .view.view-eighth img {
        height: 250px;
    }

    #medical,
    #industrial {
        display: block;
    }

    .home-product-slider {
        padding-bottom: 5.5em;
    }

    .home-carousel-media,
    .home-carousel-media img {
        min-height: 240px;
        height: 240px;
    }

    .home-carousel-copy {
        padding: 1.8em;
    }

    .home-carousel-copy h4 {
        font-size: 1.6em;
    }
}
