/* Festival Sponsors. Original Claude sponsors.html inline styling is preserved in PHP. */
body.page-template-page-festival-sponsors .site-content > .ast-container,
body.page-template-page-festival-sponsors #content > .ast-container {
    max-width: none;
    padding: 0;
    display: block;
}
#n1, #n1 .header_title_inner *{  transition: font-size .55s cubic-bezier(.4,0,.2,1),line-height .55s cubic-bezier(.4,0,.2,1);}
.header_title_inner{transition: padding .55s cubic-bezier(.4,0,.2,1),row-gap .55s cubic-bezier(.4,0,.2,1),gap .55s cubic-bezier(.4,0,.2,1);}


.iff38-festival-sponsors {
    --margin: clamp(20px, 4.5vw, 80px);
    --gutter: 24px;
    --headh: 80px;
    font-family: Jost, Heebo, sans-serif;
    color: #071a3d;
    width: 100%;
}
.iff38-festival-sponsors *, .iff38-festival-sponsors *::before, .iff38-festival-sponsors *::after { box-sizing: border-box; }
.iff38-festival-sponsors h1, .iff38-festival-sponsors h2 { text-transform: none; }
.iff38-fs__navbtn {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 16px !important;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 30px;
    background: transparent;
    color: #fff;
    font-family: Jost, Heebo, sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: background .25s, color .25s, border-color .25s;
}
.iff38-fs__navbtn:hover, .iff38-fs__navbtn.is-active { color: #071a3d; background: #fff; border-color: #fff; }
.iff38-festival-sponsors [data-sptile] { text-decoration: none; }
.iff38-festival-sponsors [data-sptile]:hover {}
.iff38-festival-sponsors [data-sptile]:hover [data-spflip],
.iff38-festival-sponsors [data-sptile]:focus-visible [data-spflip] { transform: rotateY(180deg); }
.iff38-festival-sponsors [data-sptile] img { border-radius: 0; }
.iff38-festival-sponsors [data-sphero].is-compact [data-spwrap] { padding-top: 12px !important; padding-bottom: 12px !important; row-gap: 8px !important; }
.iff38-festival-sponsors [data-sphero].is-compact [data-sph1] { font-size: 34px !important; }
.iff38-festival-sponsors [data-sphero].is-compact [data-spp] { display: none; }
.iff38-festival-sponsors [data-sphero].is-compact [data-spnav] { padding-top: 8px !important; }
@media (max-width: 1100px) {
    .iff38-festival-sponsors .iff38-fs__grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    .iff38-festival-sponsors { --headh: 64px; }
    .iff38-festival-sponsors [data-spwrap] { display: flex !important; flex-direction: column !important; padding: 40px 20px !important; gap: 22px !important; align-items: stretch !important; }
    .iff38-festival-sponsors [data-sph1] { font-size: 48px !important; }
    .iff38-festival-sponsors [data-spp] { font-size: 16px !important; }
    .iff38-festival-sponsors [data-spbtn] { width: fit-content; }
    .iff38-festival-sponsors [data-spnav] { width: 100%; gap: 8px; }
    .iff38-festival-sponsors [data-spcat] { padding: 40px 20px !important; }
    .iff38-festival-sponsors .iff38-fs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .iff38-festival-sponsors [data-sptile] { height: 110px !important; }
	
	.iff38-festival-sponsors [data-sphero].is-compact [data-sph1]{margin: 10px 0 20px !important;font-size: 24px !important;}
	[data-dpg] [data-flrow], [data-dpg] [data-spwrap] > div {display: flex !important;flex-flow: column !important;align-items: flex-start !important;gap: 14px !important;}
}
@media (max-width: 480px) {
    .iff38-festival-sponsors [data-sphero].is-compact [data-spnav] { max-height: 52px; overflow-x: auto; flex-wrap: nowrap !important; }
    .iff38-festival-sponsors .iff38-fs__navbtn { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    .iff38-festival-sponsors [data-spflip] { transition-duration: .01ms !important; }
}

/* Mobile: single horizontal category rail with a progress indicator. */
@media (max-width: 767px) {
    .iff38-festival-sponsors [data-spnav],
    .iff38-festival-sponsors [data-sphero].is-compact [data-spnav] {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: 100%;
        min-width: 0;
        max-height: none !important;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
        padding-bottom: 12px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
        overscroll-behavior-x: contain;
		padding-top: 15px !important;
		margin-top: 15px;
    }

    .iff38-festival-sponsors [data-spnav]::-webkit-scrollbar {
        display: none;
    }

    .iff38-festival-sponsors [data-spnav] .iff38-fs__navbtn {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .iff38-festival-sponsors .iff38-fs__nav-progress {
        position: relative;
        width: 100%;
        height: 3px;
        flex: 0 0 auto;
        background: rgba(255, 255, 255, .25);
        overflow: hidden;
    }

    .iff38-festival-sponsors .iff38-fs__nav-progress-thumb {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: #f04b47;
        will-change: transform;
    }
}

@media (min-width: 768px) {
    .iff38-festival-sponsors .iff38-fs__nav-progress {
        display: none;
    }
}
