/*
 * FCT Sponsors
 * Sponsor manager, public sponsor grid, and supporter list styles.
 * Extracted from fct-sponsors.php so sponsor styling has one maintained source.
 */


/* Sponsor manager */
.fct-sponsor-admin { max-width:100%; margin:20px auto; font-family:sans-serif; color:#eaf2ff; }
.fct-m-wrap { max-width:100%; margin:20px auto 0; font-family:sans-serif; color:#eaf2ff; }
.fct-m-wrap .fct-card { background:rgba(13, 21, 34, .94); border:1px solid rgba(166, 197, 231, .22); padding:25px; border-radius:12px; margin-bottom:30px; box-shadow:0 4px 6px -1px rgba(0,0,0,0.05); }
.fct-m-wrap .fct-bulk-season-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fct-m-wrap .fct-bulk-season-tools input[type="text"] { width:140px; max-width:100%; padding:7px 9px; border-radius:6px; border:1px solid rgba(166,197,231,.28); }
.fct-m-wrap .fct-row-check { display:block; margin-bottom:8px; text-align:center; }
.fct-m-wrap .fct-input-text, .fct-m-wrap .fct-input-area { width:100%; padding:10px; border:1px solid rgba(166, 197, 231, .28); border-radius:6px; box-sizing:border-box; margin-bottom:10px; font-family:sans-serif; }
.fct-m-wrap .fct-btn { background:#a6c5e7; color:#071421; padding:10px 20px; border:none; border-radius:6px; cursor:pointer; font-weight:700; }
.fct-m-wrap .fct-btn-small { background:#a6c5e7; color:#071421; padding:5px 12px; border-radius:4px; border:none; font-size:12px; font-weight:bold; cursor:pointer; }
.fct-m-wrap .fct-list { display:grid; gap:10px; }
.fct-m-wrap .fct-list-head { font-weight:800; color:#73839a; font-size:12px; text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; }
.fct-m-wrap .fct-list-actions { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:12px; font-weight:800; color:#a9b7c9; text-transform:uppercase; }
.fct-m-wrap .fct-row { background:rgba(13, 21, 34, .94); border:1px solid rgba(166, 197, 231, .22); padding:10px; border-radius:8px; display:flex; align-items:center; gap:15px; }
.fct-m-wrap .fct-pill { font-size:10px; padding:2px 8px; border-radius:10px; text-transform:uppercase; font-weight:bold; }
.fct-m-wrap .pill-green { background:rgba(16, 185, 129, .14); color:#86efac; }
.fct-m-wrap .pill-blue { background:rgba(166, 197, 231, .14); color:#a6c5e7; }
.fct-m-wrap .fct-grid-2 { display:flex; gap:20px; }
.fct-m-wrap .fct-grid-3 { display:flex; gap:15px; }
.fct-m-wrap .fct-grid-3 > * { flex:1; }
.fct-m-wrap .fct-act-btn { width:28px; height:28px; border-radius:4px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:14px; }
.fct-m-wrap .fct-act-btn.edit { background:rgba(5, 8, 13, .58); color:#a9b7c9; text-decoration:none; }
.fct-m-wrap .fct-act-btn.del { background:rgba(153, 27, 27, .24); color:#fecaca; }
.fct-m-wrap .fct-order-col input { width:50px; text-align:center; padding:5px; border-color:rgba(166, 197, 231, .22); font-weight:bold; }
.fct-m-wrap .fct-row-img { width:40px; height:40px; background:rgba(13, 21, 34, .94); display:flex; align-items:center; justify-content:center; border:1px solid rgba(166, 197, 231, .18); border-radius:4px; overflow:hidden; }
.fct-m-wrap .fct-row-img img { width:100%; height:100%; object-fit:contain; }
.fct-m-wrap .fct-row-icon { width:40px; height:40px; background:rgba(5, 8, 13, .58); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; }
.fct-m-wrap .fct-row-info { flex:1; }
.fct-m-wrap .fct-meta { font-size:11px; color:#a9b7c9; }
.fct-m-wrap .fct-actions { display:flex; gap:5px; }
.fct-m-wrap label { display:block; font-size:11px; font-weight:800; text-transform:uppercase; color:#a9b7c9; margin-bottom:5px; }
@media (max-width:600px) {
    .fct-m-wrap .fct-grid-2, .fct-m-wrap .fct-grid-3 { flex-direction:column; gap:10px; }
    .fct-m-wrap .fct-grid-3 > * { width:100%; }
}


/* Public sponsor grid */
.fct-sponsors-engine { margin:40px 0; font-family:sans-serif; width:100%; }
.fct-tier-section { margin-bottom:45px; text-align:center; }
.fct-smart-separator { display:flex; align-items:center; justify-content:center; margin-bottom:25px; }
.fct-smart-separator span { font-size:11px; font-weight:800; color:#73839a; text-transform:uppercase; letter-spacing:1.5px; padding:0 15px; background:rgba(13, 21, 34, .94); z-index:1; }
.fct-smart-separator::before { content:""; position:absolute; left:10%; right:10%; height:1px; background:rgba(166, 197, 231, .12); z-index:0; }
.fct-layout-hero .fct-smart-separator span { font-size:14px; color:#f8fbff; letter-spacing:2px; }
ul.fct-flex-grid { list-style:none!important; margin:0!important; padding:0!important; display:flex!important; flex-wrap:wrap!important; justify-content:center!important; gap:20px!important; }
li.fct-sponsor-card { list-style:none!important; margin:0!important; padding:0!important; flex:0 0 auto!important; display:block!important; width:var(--fct-size)!important; max-width:90%; transition:transform 0.2s; position:relative; }
li.fct-sponsor-card:hover { transform:translateY(-4px); }
ul.fct-flex-grid>p, li.fct-sponsor-card>p { display:none!important; margin:0!important; }

/* Enhanced Logo Wrapper */
.fct-logo-wrap { position:relative; display:flex; align-items:center; justify-content:center; border-radius:12px; box-shadow:0 4px 15px -3px rgba(0,0,0,0.05); overflow:hidden; width:100%; height:calc(var(--fct-size) * 0.6); border:1px solid rgba(166, 197, 231, .18); }
.fct-logo-wrap img { width:auto; height:auto; object-fit:contain; max-width:90%; max-height:90%; transition:transform 0.3s ease; }
.fct-sponsor-card:hover .fct-logo-wrap img { transform:scale(1.05); }

/* New Hover Slide-Up Banner */
.fct-sponsor-hover-name {
    position:absolute; bottom:0; left:0; right:0;
    background:rgba(166, 197, 231, 0.95);
    color:#f8fbff; font-size:13px; font-weight:800; text-align:center;
    padding:8px 5px; transform:translateY(100%);
    transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter:blur(4px); margin:0!important; line-height:1.2;
}
.fct-sponsor-card:hover .fct-sponsor-hover-name { transform:translateY(0); }

.fct-layout-hero .fct-logo-wrap { border:2px solid rgba(166,197,231,0.4); box-shadow:0 10px 30px -5px rgba(166,197,231,0.2); }
@media(max-width:600px){ .fct-smart-separator::before{left:0;right:0;} li.fct-sponsor-card{max-width:46%!important;} .fct-layout-hero li.fct-sponsor-card{max-width:100%!important;width:90%!important;} .fct-logo-wrap{height:100px!important;} }


/* Public supporter list */
.fct-supporters-wrap { max-width:800px; margin:50px auto; text-align:center; font-family:sans-serif; color:#102238; }
.fct-sup-main-title { font-size:16px; font-weight:900; text-transform:uppercase; color:#102238; margin-bottom:30px; letter-spacing:1px; }
.fct-sup-group { margin-bottom:40px; }
.fct-sup-group h5 { font-size:13px; text-transform:uppercase; letter-spacing:1px; color:#24425f; margin-bottom:15px; font-weight:800; border-bottom:1px solid rgba(16, 34, 56, .20); display:inline-block; padding-bottom:5px; }
.fct-sup-list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; line-height:1.4; }
.fct-sup-list span { color:#16283d; font-size:15px; font-weight:600; text-shadow:none; }
.fct-sup-list span::after { content:"•"; color:rgba(16, 34, 56, .32); margin-left:20px; }
.fct-sup-list span:last-child::after { display:none; }
.fct-page-rail .fct-supporters-wrap, .fct-cinema-content .fct-supporters-wrap, .fct-seamless-cinematic .fct-supporters-wrap { color:#eaf2ff; }
.fct-page-rail .fct-sup-main-title, .fct-cinema-content .fct-sup-main-title, .fct-seamless-cinematic .fct-sup-main-title { color:#ffffff; }
.fct-page-rail .fct-sup-group h5, .fct-cinema-content .fct-sup-group h5, .fct-seamless-cinematic .fct-sup-group h5 { color:#c7d8ef; border-bottom-color:rgba(159, 208, 255, .24); }
.fct-page-rail .fct-sup-list span, .fct-cinema-content .fct-sup-list span, .fct-seamless-cinematic .fct-sup-list span { color:#eaf2ff; }
.fct-page-rail .fct-sup-list span::after, .fct-cinema-content .fct-sup-list span::after, .fct-seamless-cinematic .fct-sup-list span::after { color:rgba(159, 208, 255, .34); }
