/* =========================================================
   GMC Sponsors — Joomla Module
   STABLE v1.1.1 — responsive repair (same extension version)
   Reutilizable en SP Page Builder / Astroid.
   ========================================================= */

.gmc-sponsors {
    width: 100%;
    max-width: var(--gmc-max-width, 1120px);
    margin: 12px auto 30px;
    padding: 0 8px;
    box-sizing: border-box;
    overflow: visible;
}

.gmc-sponsors__viewport {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    overflow: clip;
    padding: 16px 0 22px;
    box-sizing: border-box;
    transition: padding .2s ease;
    isolation: isolate;
}

/*
 * Navigation floats above the rail. It must never reserve horizontal
 * padding because that is what produces the visible slice of the next card.
 */
.gmc-sponsors.has-navigation .gmc-sponsors__viewport {
    padding-left: 0;
    padding-right: 0;
}

.gmc-sponsors__track {
    display: flex;
    align-items: stretch;
    gap: var(--gmc-gap, 14px);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    will-change: transform;
    transition: transform .68s cubic-bezier(.22,.61,.36,1);
}

.gmc-sponsors__card {
    --gmc-logo-scale: 1;
    position: relative;
    flex: 0 0 auto;
    min-width: 0;
    height: var(--gmc-card-height, 132px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 8px;
    box-sizing: border-box;
    border-radius: var(--gmc-radius, 15px);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 2%, rgba(255,255,255,.96), rgba(255,255,255,.33) 34%, transparent 59%),
        linear-gradient(145deg, var(--gmc-card-top, #f5eedc) 0%, var(--gmc-card-mid, #eadfc5) 52%, var(--gmc-card-bottom, #d9c79f) 100%);
    border: 1px solid color-mix(in srgb, var(--gmc-border, #d3a62c) 58%, transparent);
    box-shadow: 0 9px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.92);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, opacity .35s ease;
}

.gmc-sponsors__link {
    width: 100%;
    height: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    outline: none;
}

.gmc-sponsors__link--static { cursor: default; }

.gmc-sponsors__logo {
    display: block;
    width: 100%;
    height: var(--gmc-logo-height, 108px);
    max-width: none;
    object-fit: contain;
    padding: 0;
    box-sizing: border-box;
    transform: scale(var(--gmc-logo-scale, 1));
    transform-origin: center center;
    transition: filter .35s ease;
}

.gmc-sponsors__card:hover {
    transform: translateY(calc(var(--gmc-hover-lift, 4px) * -1)) scale(var(--gmc-hover-scale, 1.045));
    border-color: var(--gmc-highlight, #ead89a);
    box-shadow: 0 16px 32px rgba(0,0,0,.28), 0 0 20px color-mix(in srgb, var(--gmc-border, #d3a62c) 14%, transparent), inset 0 1px 0 rgba(255,255,255,.96);
    z-index: 5;
}

.gmc-sponsors__card:hover .gmc-sponsors__logo {
    filter: saturate(1.06) contrast(1.04);
}

.gmc-sponsors--spotlight .gmc-sponsors__card.is-active {
    transform: translateY(-3px) scale(var(--gmc-active-scale, 1.035));
    border-color: var(--gmc-highlight, #ead89a);
    box-shadow: 0 15px 30px rgba(0,0,0,.27), 0 0 18px color-mix(in srgb, var(--gmc-border, #d3a62c) 13%, transparent), inset 0 1px 0 rgba(255,255,255,.96);
    z-index: 4;
}

.gmc-sponsors__nav {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--gmc-border, #d3a62c);
    background: color-mix(in srgb, var(--gmc-arrow-bg, #141418) 90%, transparent);
    color: var(--gmc-arrow-color, #ead89a);
    font: inherit;
    font-size: 21px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 5px 14px rgba(0,0,0,.26);
    transition: background .28s ease, color .28s ease, opacity .28s ease;
}

.gmc-sponsors__nav:hover {
    background: var(--gmc-border, #d3a62c);
    color: #171717;
}

.gmc-sponsors__nav--prev { left: 4px; }
.gmc-sponsors__nav--next { right: 4px; }
.gmc-sponsors__nav[hidden] { display: none !important; }

/* Tablet family: two visible cards by module configuration. */
.gmc-sponsors.is-tablet {
    margin-top: 8px;
    margin-bottom: 26px;
}

.gmc-sponsors.is-tablet .gmc-sponsors__viewport {
    padding-top: 13px;
    padding-bottom: 19px;
}

/* Keep motion elegant without clipping enlarged cards on narrower rails. */
.gmc-sponsors.is-tablet.gmc-sponsors--spotlight .gmc-sponsors__card.is-active {
    transform: translateY(-2px) scale(min(var(--gmc-active-scale, 1.035), 1.02));
}

/* Phone family: one visible card by module configuration. */
.gmc-sponsors.is-mobile {
    margin-top: 6px;
    margin-bottom: 24px;
    padding-left: 6px;
    padding-right: 6px;
}

.gmc-sponsors.is-mobile .gmc-sponsors__viewport {
    padding-top: 10px;
    padding-bottom: 16px;
}

.gmc-sponsors.is-mobile.has-navigation .gmc-sponsors__viewport {
    padding-left: 0;
    padding-right: 0;
}

.gmc-sponsors.is-mobile .gmc-sponsors__nav {
    width: 27px;
    height: 27px;
    font-size: 19px;
}

.gmc-sponsors.is-mobile .gmc-sponsors__nav--prev { left: 3px; }
.gmc-sponsors.is-mobile .gmc-sponsors__nav--next { right: 3px; }

.gmc-sponsors.is-mobile.gmc-sponsors--spotlight .gmc-sponsors__card.is-active {
    transform: translateY(-1px) scale(1.008);
}

@media (prefers-reduced-motion: reduce) {
    .gmc-sponsors__track,
    .gmc-sponsors__card,
    .gmc-sponsors__logo,
    .gmc-sponsors__viewport {
        transition: none !important;
    }
}
