﻿.variant-option.in-active:not(option):after {
    background-color: transparent !important;
}

/* Split background row (SplitBackground field) */
.split-bg {
    background: linear-gradient(to bottom, var(--swift-background-color) var(--split-bg-pct), transparent var(--split-bg-pct));
}
@media (max-width: 991px) {
    .split-bg {
        background: var(--swift-background-color);
    }
}

/* Text pull-up transforms (TextAddBottomPadding field on TextAdvanced) */
@media (min-width: 1200px) {
    .text-pull-up-1 { transform: translateY(-0.5rem); }
    .text-pull-up-2 { transform: translateY(-1rem); }
    .text-pull-up-3 { transform: translateY(-1.5rem); }
    .text-pull-up-4 { transform: translateY(-2.5rem); }
}

/* Vertical accent line (TextAdvanced custom) */
.vertical-text-line {
    position: relative;
    padding-left: 30px;
}

    .vertical-text-line::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 2px;
        background-color: var(--swift-accent-color);
    }

.vertical-line-parent {
    display: grid;
}

.vertical-row-line {
    margin-left: 30px;
    padding-left: 30px;
}

    .vertical-row-line::before {
        content: '';
        position: absolute;
        left: 30px; /* match padding */
        top: 0;
        bottom: 0;
        width: 2px;
        background-color: var(--swift-accent-color);
    }

/* Custom button styles (TextAdvanced custom, TextAndImage custom) */
.btn-custom {
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
    color: #333;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    -webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
}

.btn-link-without-underline {
    font-weight: var(--swift-button-link-font-weight);
    text-transform: var(--swift-button-link-casing);
    color: var(--swift-button-link-color) !important;
}

/* Accordion custom image layouts (Swift_Accordion_Custom) */
.accordion-custom-image-right img {
    width: 100%;
    height: auto;
    max-width: 100%;
    margin-left: 1rem;
    margin-right: 1rem;
}

.accordion-custom-image-bottom img {
    width: 100%;
    height: auto;
    max-width: 50%;
}

.accordion-content-container {
    display: flex;
}

/* News article image float layout (GreenfieldNewsArticle) */
.news-article-content {
    display: block;
}

    .news-article-content > figure.news-article {
        float: left;
        width: 50%;
        margin: 0 1.5rem 1rem 0;
        height: auto;
        shape-outside: inset(0);
    }

    .news-article-content img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .news-article-content > .mb-0-last-child {
        max-width: none;
    }

    .news-article-content::after {
        content: "";
        display: block;
        clear: both;
    }

    .news-article-content ul {
        display: flow-root;
    }

/* Dealer locator (GreenfieldDealerLocations) */
.dealer-card {
    background: white;
    padding: 40px;
    height: 100%;
}

.cornercutBlock {
    clip-path: polygon(0px 2.08333vw, 2.08333vw 0px, 101% 0px, 101% 101%, 0px 101%);
    object-fit: cover !important;
}

.dealer-table {
    width: -webkit-fill-available;
}

    .dealer-table td.label {
        white-space: nowrap;
        font-weight: 600;
        padding-right: 24px;
        vertical-align: top;
    }

.cell-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.countryFilter {
    width: auto;
}

.link-without-underline {
    font-weight: var(--swift-button-link-font-weight);
    text-transform: var(--swift-button-link-casing);
    text-decoration: none;
}

.greenfield-map {
    height: 50vh;
}

/* Portrait Accordion (GreenfieldPortraitAccordion) */
.accordion-container {
    display: flex;
    height: var(--accordion-height, 70vh);
    overflow: hidden;
}

.accordion-panel {
    flex: 1;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    transition: flex 0.5s ease;
    position: relative;
    cursor: pointer;
}

.accordion-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.accordion-panel:hover {
    flex: 4;
}

.accordion-panel:hover::after {
    opacity: 1;
}

.accordion-content, .accordion-content-2, .accordion-content-3, .accordion-content-4 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 100%;
    overflow: hidden;
    padding: 30px;
    text-align: left;
    color: #fff;
    z-index: 2;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.accordion-content, .accordion-content-2, .accordion-content-3, .accordion-content-4,
.accordion-preview-title {
    text-shadow: 0 2px 4px rgba(0,0,0,0.8), 0 0 12px rgba(0,0,0,0.6);
}

.accordion-panel:hover .accordion-content,
.accordion-panel:hover .accordion-content-2,
.accordion-panel:hover .accordion-content-3,
.accordion-panel:hover .accordion-content-4 {
    opacity: 1;
    transform: translateY(0);
}

.accordion-content h3,
.accordion-content-2 h3,
.accordion-content-3 h3,
.accordion-content-4 h3 {
    flex-shrink: 0;
    margin: 0 0 10px;
    color: #fff;
}


.accordion-content p, .accordion-content-2 p, .accordion-content-3 p, .accordion-content-4 p {
    max-width: max-content;
    margin: 0;
    line-height: 1.4;
    color: #e5e5e5;
}

.accordion-content p    { font-size: clamp(var(--accordion-mobile-text-size, 14px), 1.2vw, var(--accordion-text-size-1, 16px)); }
.accordion-content-2 p  { font-size: clamp(var(--accordion-mobile-text-size, 14px), 1.2vw, var(--accordion-text-size-2, 16px)); }
.accordion-content-3 p  { font-size: clamp(var(--accordion-mobile-text-size, 14px), 1.2vw, var(--accordion-text-size-3, 16px)); }
.accordion-content-4 p  { font-size: clamp(var(--accordion-mobile-text-size, 14px), 1.2vw, var(--accordion-text-size-4, 16px)); }

.accordion-preview-title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    color: #fff;
    font-size: clamp(var(--accordion-mobile-title-size, 22px), 2vw, var(--panel-title-size, 28px));
    z-index: 2;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.accordion-content h3,
.accordion-content-2 h3,
.accordion-content-3 h3,
.accordion-content-4 h3 {
    font-size: clamp(var(--accordion-mobile-title-size, 22px), 2vw, var(--panel-title-size, 28px));
}

.accordion-panel:hover .accordion-preview-title {
    opacity: 0;
}

@media (max-width: 991px) {
    /* Layout: column for all small screens */
    .accordion-container {
        flex-direction: column;
        height: auto;
    }

    .accordion-panel {
        flex: none;
        height: 60px;
        transition: height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Small desktop: hover expands height in vertical layout */
    .accordion-container:not(.is-mobile-device) .accordion-panel:hover {
        flex: none;
        height: 240px;
    }

    /* Mobile device: chevron arrow */
    .is-mobile-device .accordion-panel::before {
        content: "";
        position: absolute;
        right: 20px;
        top: 50%;
        width: 10px;
        height: 10px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translateY(-50%) rotate(45deg);
        transition: transform 0.3s ease;
        z-index: 3;
    }

    .is-mobile-device .accordion-panel.is-active::before {
        transform: translateY(-50%) rotate(-135deg);
    }

    /* Mobile device: click-based expansion */
    .is-mobile-device .accordion-panel.is-active {
        height: 240px;
    }

    .is-mobile-device .accordion-panel:not(.is-active):hover::after {
        opacity: 0;
    }

    .is-mobile-device .accordion-panel.is-active::after {
        opacity: 1;
    }

    .is-mobile-device .accordion-panel.is-active .accordion-content,
    .is-mobile-device .accordion-panel.is-active .accordion-content-2,
    .is-mobile-device .accordion-panel.is-active .accordion-content-3,
    .is-mobile-device .accordion-panel.is-active .accordion-content-4 {
        opacity: 1;
        transform: translateY(0);
    }

    .is-mobile-device .accordion-panel.is-active .accordion-preview-title {
        opacity: 0;
    }

}
