/**
 * ADC Metal Tech — Elementor / Elementor Pro scoped styles
 * v1.2.0
 *
 * Important: styles are intentionally scoped so Elementor Pro keeps control of
 * its own widgets, responsive settings and Theme Builder templates.
 */

/* Remove theme-side content spacing only for Elementor pages. */
body.adc-elementor-page .adc-elementor-main,
body.adc-elementor-page .adc-products-page-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.adc-elementor-page .adc-products-page-shell > .elementor,
body.adc-elementor-page .adc-elementor-main > .elementor {
    width: 100%;
}

/* Product landing page utility classes used by the supplied template. */
.adc-products-elementor {
    --adc-blue: #0F4C8E;
    --adc-ink: #1F2937;
    --adc-slate: #2C3E50;
    --adc-muted: #6B7280;
    --adc-line: #D1D5DB;
    --adc-soft: #F6F8FB;
}

.adc-products-elementor .adc-product-card {
    height: 100%;
    border: 1px solid var(--adc-line);
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    overflow: hidden;
}

.adc-products-elementor .adc-product-card:hover {
    transform: translateY(-6px);
    border-color: rgba(15, 76, 142, .55);
    box-shadow: 0 18px 40px rgba(15, 76, 142, .12);
}

.adc-products-elementor .adc-product-card .elementor-widget-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.adc-products-elementor .adc-featured-bbu {
    position: relative;
    overflow: hidden;
}

.adc-products-elementor .adc-featured-bbu::before {
    content: '';
    position: absolute;
    width: 260px;
    height: 260px;
    right: -70px;
    top: -120px;
    border: 1px solid rgba(15, 76, 142, .14);
    transform: rotate(45deg);
    pointer-events: none;
}

.adc-products-elementor .adc-section-label,
.adc-bbu-detail .adc-section-label {
    letter-spacing: .12em;
    text-transform: uppercase;
}

.adc-products-elementor .adc-category-nav .elementor-button,
.adc-bbu-detail .adc-category-nav .elementor-button {
    min-width: 120px;
}

/* BBU detail page */
.adc-bbu-detail {
    --adc-blue: #0F4C8E;
    --adc-ink: #1F2937;
    --adc-slate: #2C3E50;
    --adc-muted: #6B7280;
    --adc-line: #D1D5DB;
}

.adc-bbu-detail .adc-bbu-hero-image img,
.adc-bbu-detail .adc-bbu-gallery img {
    width: 100%;
    object-fit: cover;
}

.adc-bbu-detail .adc-bbu-hero-image img {
    aspect-ratio: 4 / 3;
}

.adc-bbu-detail .adc-bbu-gallery img {
    aspect-ratio: 16 / 10;
}

.adc-bbu-detail .adc-capability-card {
    height: 100%;
    border-left: 3px solid #0F4C8E;
    background: #fff;
}

@media (max-width: 767px) {
    .adc-products-elementor .adc-product-card:hover {
        transform: none;
    }

    .adc-products-elementor .adc-category-nav .elementor-button,
    .adc-bbu-detail .adc-category-nav .elementor-button {
        width: 100%;
    }
}


/* v1.2: protect product pages from global design-system collisions */
.adc-products-page-shell {
    background: #FFFFFF;
    position: relative;
    isolation: isolate;
}

.adc-products-elementor,
.adc-bbu-detail {
    color: #1F2937;
}

.adc-products-elementor .elementor-button,
.adc-bbu-detail .elementor-button,
.adc-products-elementor a,
.adc-bbu-detail a {
    pointer-events: auto !important;
    position: relative;
    z-index: 3;
}

.adc-products-elementor .adc-products-nav-button .elementor-button {
    cursor: pointer;
}

.adc-products-elementor [id],
.adc-bbu-detail [id] {
    scroll-margin-top: 110px;
}

/* Legacy product filter compatibility */
.adc-products-page-shell .category-filter {
    position: relative;
    z-index: 5;
    pointer-events: auto !important;
    cursor: pointer !important;
    border-color: #0F4C8E !important;
}

.adc-products-page-shell .category-filter.btn-primary,
.adc-products-page-shell .category-filter[data-active="true"] {
    background: #0F4C8E !important;
    color: #FFFFFF !important;
}

.adc-products-page-shell .category-filter.btn-outline {
    background: #FFFFFF !important;
    color: #0F4C8E !important;
}
