/* =========================================
     SPONSORS SECTION — Festival Somos Cerveceros
     Bootstrap 5 compatible
  ========================================= */

.sponsors {
    background: #ffffff;
    padding: 64px 0 80px;
}

/* --- Section header --- */
.sponsors-eyebrow {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #E87722;
    margin: 0 0 6px;
    display: block;
}

.sponsors-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 36px;
    font-weight: 800;
    text-transform: uppercase;
    color: #2C2C2A;
    letter-spacing: 0.02em;
    margin: 0 0 10px;
}

.sponsors-title span { color: #E87722; }

.sponsors-subtitle {
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    color: #888780;
    max-width: 480px;
    margin: 0 auto 52px;
    line-height: 1.6;
}

/* --- Nivel (tier) --- */
.sponsor-tier {
    margin-bottom: 40px;
}

.sponsor-tier:last-child {
    margin-bottom: 0;
}

/* Separador de nivel */
.sponsor-tier-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.sponsor-tier-header::before,
.sponsor-tier-header::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E5E3DC;
}

.sponsor-tier-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 4px 12px;
    border-radius: 20px;
    border: 1.5px solid currentColor;
}

/* Colores por nivel */
.tier-main     .sponsor-tier-label { color: #2C2C2A;  border-color: #2C2C2A;  background: #2C2C2A;  color: #fff; }
.tier-platino  .sponsor-tier-label { color: #7B8FA1;  border-color: #A8BFCF;  background: linear-gradient(135deg,#C8D8E4,#E8F0F5); color: #4A6070; }
.tier-oro      .sponsor-tier-label { color: #8A6800;  border-color: #C9A227;  background: linear-gradient(135deg,#F5D060,#E8B830); color: #5A4000; }
.tier-plata    .sponsor-tier-label { color: #666;     border-color: #B0B0B0;  background: linear-gradient(135deg,#D8D8D8,#C0C0C0); color: #444; }
.tier-bronce   .sponsor-tier-label { color: #7A4A2A;  border-color: #C47A3A;  background: linear-gradient(135deg,#D4956A,#C07040); color: #fff; }

/* --- Logos row --- */
.sponsor-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

/* --- Logo card --- */
.sponsor-logo-card {
    background: #ffffff;
    border: 1px solid #E5E3DC;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 28px;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    text-decoration: none;
}

.sponsor-logo-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.09);
    transform: translateY(-2px);
    border-color: #E87722;
}

.sponsor-logo-card img {
    display: block;
    object-fit: contain;
    filter: grayscale(30%);
    transition: filter 0.2s ease;
}

.sponsor-logo-card:hover img {
    filter: grayscale(0%);
}

/* Tamaños de logo por nivel */
.tier-main    .sponsor-logo-card { padding: 28px 48px; }
.tier-main    .sponsor-logo-card img { height: 150px; max-width: 360px; }

.tier-platino .sponsor-logo-card { padding: 22px 36px; }
.tier-platino .sponsor-logo-card img { height: 130px; max-width: 260px; }

.tier-oro     .sponsor-logo-card { padding: 20px 32px; }
.tier-oro     .sponsor-logo-card img { height: 110px; max-width: 220px; }

.tier-plata   .sponsor-logo-card { padding: 18px 28px; }
.tier-plata   .sponsor-logo-card img { height: 90px; max-width: 190px; }

.tier-bronce  .sponsor-logo-card { padding: 16px 24px; }
.tier-bronce  .sponsor-logo-card img { height: 75px; max-width: 165px; }

/* --- CTA sponsors --- */
.sponsors-cta-wrap {
    margin-top: 52px;
    padding-top: 40px;
    border-top: 1px solid #E5E3DC;
}

.sponsors-cta-text {
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    color: #888780;
    margin: 0 0 16px;
    line-height: 1.6;
}

.sponsors-cta-text strong {
    color: #2C2C2A;
    font-weight: 600;
}

.sponsor-contact-btn {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 10px 28px;
    border-radius: 8px;
    border: 1.5px solid #E87722;
    color: #E87722;
    background: transparent;
    text-decoration: none;
    display: inline-block;
    transition: background 0.15s ease, color 0.15s ease;
}

.sponsor-contact-btn:hover {
    background: #E87722;
    color: #ffffff;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    .sponsors { padding: 40px 0 56px; }
    .sponsors-title { font-size: 28px; }
    .tier-main    .sponsor-logo-card img { height: 64px; }
    .tier-platino .sponsor-logo-card img { height: 52px; }
    .tier-oro     .sponsor-logo-card img { height: 44px; }
    .tier-plata   .sponsor-logo-card img { height: 38px; }
    .tier-bronce  .sponsor-logo-card img { height: 32px; }
}