:root{--gallery-green:#078a43;--gallery-dark:#03160c;--gallery-mint:#e9f6ef}
.gallery-hero{position:relative;display:flex;align-items:flex-end;min-height:280px;background-color:#02150b;background-image:linear-gradient(90deg,rgba(0,10,5,.92) 0%,rgba(0,20,10,.67) 38%,rgba(0,10,5,.12) 68%,rgba(0,10,5,.42) 100%),url('/assets/gallery-cover-uesf.png?v=2.5.124');background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;padding:32px 0 28px}.gallery-hero:after{content:'';position:absolute;inset:auto 0 0;height:42%;pointer-events:none;background:linear-gradient(transparent,rgba(0,7,3,.74))}.gallery-hero>.wrap{position:relative;z-index:1;width:min(calc(100% - 40px),var(--max,1320px));margin-inline:auto}.gallery-hero h1{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1;margin:12px 0;text-shadow:0 4px 24px #000}.gallery-hero p{font-size:1.1rem;max-width:720px;text-shadow:0 2px 12px #000}.gallery-hero nav{position:static;flex-direction:row;padding:0;border:0;box-shadow:none;background:transparent;display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.gallery-hero nav a{border:1px solid #ffffff77;border-radius:999px;color:#fff;padding:9px 15px;text-decoration:none;background:#02150b66;backdrop-filter:blur(3px)}.gallery-hero nav a:focus-visible,.gallery-hero nav a:hover{background:#fff;color:var(--gallery-dark)}
.gallery-editorial,.gallery-album-view{padding-top:42px;padding-bottom:80px}.gallery-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(110px,1fr));gap:12px;padding:20px;background:#f4f8f5;border:1px solid #d6e3db;border-radius:18px;margin-bottom:42px}.gallery-filters label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:800;text-transform:uppercase}.gallery-filters input,.gallery-filters select{min-height:44px;border:1px solid #bdcec3;border-radius:10px;background:#fff;padding:8px}.gallery-filters .btn{align-self:end;min-height:44px}
.gallery-feature{margin-bottom:64px}.gallery-album-card{display:grid;grid-template-rows:240px auto;border:1px solid #dbe3de;border-radius:20px;overflow:hidden;color:inherit;text-decoration:none;background:#fff;box-shadow:0 10px 32px #04130b12;transition:transform .2s,box-shadow .2s}.gallery-album-card:hover,.gallery-album-card:focus-visible{transform:translateY(-5px);box-shadow:0 18px 42px #04130b24;outline:3px solid #42d984;outline-offset:3px}.gallery-album-card.featured{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);grid-template-rows:520px}.gallery-cover{position:relative;background:var(--gallery-dark);overflow:hidden}.gallery-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-album-card:hover .gallery-cover img{transform:scale(1.03)}.gallery-cover>span{position:absolute;left:18px;bottom:18px;background:#06170ecc;color:#63e797;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:900;text-transform:uppercase}.gallery-image-fallback{display:grid;place-items:center;height:100%;font-size:4rem;color:#63e797;font-weight:900;background:radial-gradient(circle at 20% 20%,#12673b,#03160c)}.gallery-card-copy{padding:24px;display:flex;flex-direction:column;justify-content:center}.gallery-card-copy small{color:#627168}.gallery-card-copy h2{font-size:clamp(1.45rem,3vw,2.6rem);margin:12px 0}.gallery-card-copy p{color:#516159;line-height:1.55}.gallery-card-copy>b{color:var(--gallery-green);margin-top:auto}.gallery-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:70px}
.gallery-moments>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-media-tile{position:relative;min-height:240px;border:0;border-radius:16px;overflow:hidden;background:#dce9e1;padding:0;cursor:pointer;text-align:left}.gallery-media-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.gallery-media-tile>span:last-child{position:absolute;inset:auto 0 0;padding:38px 14px 14px;color:#fff;background:linear-gradient(transparent,#000d);display:flex;flex-direction:column}.gallery-media-tile .gallery-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#fff;color:var(--gallery-green);font-size:1.4rem}.gallery-media-tile:focus-visible{outline:4px solid #14b963;outline-offset:3px}.gallery-media-tile.load-error img{display:none}.gallery-media-tile.load-error:before{content:'UESF';position:absolute;inset:0;display:grid;place-items:center;color:#056d37;font-weight:900;font-size:2rem;background:#e6f1eb}
.gallery-empty{text-align:center;padding:80px 20px;border:1px dashed #9ebcad;border-radius:24px;background:#f6faf7}.gallery-empty img{width:82px}.gallery-empty span{display:block;color:var(--gallery-green);font-weight:900;margin-top:18px}.gallery-empty h2{font-size:clamp(1.8rem,4vw,3rem)}.gallery-empty.compact{padding:50px}
.gallery-album-head{padding:70px 0 48px;background:linear-gradient(125deg,#02150b,#075b31);color:#fff}.gallery-album-head a{color:#75eaa6}.gallery-album-head h1{font-size:clamp(2.7rem,7vw,6rem);line-height:1;margin:12px 0}.gallery-album-head p{max-width:760px;line-height:1.6}.gallery-masonry{columns:4 260px;column-gap:14px}.gallery-masonry .gallery-media-tile{display:block;width:100%;margin:0 0 14px;break-inside:avoid}.gallery-masonry .gallery-media-tile.portrait{height:440px}.gallery-masonry .gallery-media-tile.landscape{height:250px}.gallery-masonry .gallery-media-tile.square{height:320px}
.gallery-viewer[hidden]{display:none}.gallery-viewer{position:fixed;inset:0;z-index:9999;background:#020806f5;color:#fff;display:grid;grid-template-columns:72px 1fr 72px;grid-template-rows:1fr auto 100px;gap:10px;padding:18px}.viewer-stage{grid-column:2;display:grid;place-items:center;min-height:0}.viewer-stage img,.viewer-stage video{max-width:100%;max-height:calc(100vh - 210px);object-fit:contain}.viewer-close,.viewer-prev,.viewer-next{border:0;background:#ffffff12;color:#fff;font-size:2.5rem;border-radius:50%;width:54px;height:54px;cursor:pointer;align-self:center}.viewer-close{position:absolute;right:20px;top:20px;z-index:2}.viewer-prev{grid-column:1;grid-row:1}.viewer-next{grid-column:3;grid-row:1}.viewer-footer{grid-column:1/4;display:flex;gap:16px;align-items:center;border-top:1px solid #ffffff33;padding-top:10px}.viewer-footer>div{flex:1}.viewer-footer p{margin:5px 0}.viewer-footer .btn{color:#fff;border-color:#ffffff55}.viewer-thumbs{grid-column:1/4;display:flex;justify-content:center;gap:8px;overflow:auto}.viewer-thumbs button{width:76px;height:76px;padding:0;border:2px solid transparent;background:none}.viewer-thumbs button.active{border-color:#58e898}.viewer-thumbs img{width:100%;height:100%;object-fit:cover}.viewer-open{overflow:hidden}
.gallery-admin{display:grid;gap:24px}.gallery-admin-intro{background:#eaf7ef;padding:20px;border-radius:16px}.gallery-admin-album{border:1px solid #cedbd3;border-radius:18px;padding:18px;background:#fff}.gallery-admin-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-admin-fields label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:800}.gallery-admin-fields input,.gallery-admin-fields select,.gallery-admin-fields textarea{width:100%;min-height:40px}.gallery-upload{display:flex;gap:10px;align-items:end;margin:18px 0;padding:14px;background:#f1f7f3;border-radius:12px}.gallery-admin-entries{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-admin-entry{display:grid;grid-template-columns:90px 1fr;gap:8px;border:1px solid #d8e0db;border-radius:10px;padding:8px}.gallery-admin-entry img{width:90px;height:90px;object-fit:cover}.gallery-admin-entry button{font-size:.7rem}.card-minutes{display:flex;flex-direction:column;white-space:nowrap}.minutes-pending{color:#a34f00;font-weight:700}.fair-play-table .dirtiest{box-shadow:inset 5px 0 #c82020}
@media(max-width:1000px){.gallery-filters{grid-template-columns:repeat(3,1fr)}.gallery-album-card.featured{grid-template-columns:1fr;grid-template-rows:400px auto}.gallery-album-grid{grid-template-columns:repeat(2,1fr)}.gallery-admin-fields{grid-template-columns:repeat(2,1fr)}.gallery-admin-entries{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.gallery-hero{min-height:300px;padding-top:28px;background-position:center}.gallery-hero p{font-size:1rem;line-height:1.5}.gallery-hero nav{gap:8px}.gallery-hero nav a{padding:8px 12px}.gallery-filters{grid-template-columns:1fr}.gallery-album-card.featured{grid-template-rows:280px auto}.gallery-album-grid{grid-template-columns:1fr}.gallery-moments>div:last-child{grid-template-columns:1fr 1fr}.gallery-viewer{grid-template-columns:44px 1fr 44px;padding:8px}.viewer-prev,.viewer-next{width:42px;height:42px}.viewer-footer{flex-wrap:wrap}.viewer-thumbs{height:72px}.gallery-admin-fields,.gallery-admin-entries{grid-template-columns:1fr}.gallery-upload{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){.gallery-album-card,.gallery-cover img{transition:none}}

/* v2.5.116 · titular editorial para todos los álbumes y ambos idiomas */
.gallery-card-copy h2,.gallery-album-head h1{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",Arial,sans-serif;font-weight:900;line-height:.96;letter-spacing:-.025em;text-wrap:balance}
.gallery-card-copy h2{position:relative;width:fit-content;max-width:100%;margin:16px 0 22px;font-size:clamp(2rem,3.8vw,4.25rem);background:linear-gradient(105deg,#04130b 0 66%,#d90073 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(255,255,255,.65))}
.gallery-card-copy h2:after{content:"";display:block;width:min(120px,34%);height:6px;margin-top:13px;border-radius:99px;background:linear-gradient(90deg,#00a859,#ff1493);box-shadow:0 4px 15px #ff14934a}
.gallery-card-copy p{font-size:clamp(.98rem,1.15vw,1.15rem);font-weight:550}
.gallery-album-head{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 84% 35%,#11844a 0,transparent 38%),linear-gradient(125deg,#020c06,#075b31 68%,#d40070 150%)}
.gallery-album-head:after{content:"";position:absolute;z-index:-1;inset:auto -6% -120px auto;width:420px;height:260px;border:32px solid rgba(255,20,147,.18);border-radius:50%;transform:rotate(-13deg)}
.gallery-album-head h1{position:relative;width:fit-content;max-width:960px;color:#fff;font-size:clamp(3.4rem,8.8vw,8rem);text-transform:none;text-shadow:0 7px 30px #000,3px 3px 0 #0b7e40}
.gallery-album-head h1:after{content:"";display:block;width:min(170px,32%);height:7px;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,#62f69e,#ff4ca5);box-shadow:0 0 22px #ff149388}
@media(max-width:650px){.gallery-card-copy h2{font-size:clamp(2rem,10vw,3.2rem)}.gallery-album-head h1{font-size:clamp(3rem,15vw,5.2rem)}}

/* v2.5.77 · Galeria estructurada en General i Jornades */
.gallery-scope{margin-top:68px}.gallery-round-group{margin:0 0 46px;padding:24px;border:1px solid #d7e5dc;border-radius:24px;background:linear-gradient(145deg,#fff,#f3faf6);box-shadow:0 12px 30px rgba(3,35,18,.08)}.gallery-round-group>header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.gallery-round-group>header>span{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#090d0a;color:#ff58aa;font-size:24px;font-weight:950;box-shadow:0 7px 18px rgba(0,0,0,.2)}.gallery-round-group>header small{color:#078a43;font-weight:900;letter-spacing:.12em}.gallery-round-group>header h3{margin:2px 0 0;font-size:clamp(1.35rem,3vw,2rem)}.gallery-round-group .gallery-album-grid{margin-bottom:0}
.gallery-upload{display:grid;align-items:start}.gallery-upload h4{margin:0;grid-column:1/-1}.gallery-upload-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;grid-column:1/-1}.gallery-upload-text label,.gallery-entry-editor label{display:grid;gap:4px;font-size:.7rem;font-weight:850}.gallery-upload-text input,.gallery-upload-text textarea,.gallery-entry-editor input,.gallery-entry-editor textarea{width:100%;padding:8px;border:1px solid #bdcec3;border-radius:8px;background:#fff}.gallery-admin-entries{grid-template-columns:1fr}.gallery-admin-entry{grid-template-columns:130px minmax(0,1fr) auto;padding:13px}.gallery-admin-entry img{width:130px;height:130px;border-radius:9px}.gallery-entry-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gallery-entry-checks{display:flex;gap:14px;align-items:center}.gallery-entry-actions{display:flex;flex-direction:column;gap:7px}.gallery-entry-actions button{padding:8px;border:1px solid #aac4b4;border-radius:8px;background:#fff;cursor:pointer}.gallery-entry-actions .danger{border-color:#efb4bd;color:#a50f28;background:#fff3f5}
@media(max-width:850px){.gallery-entry-editor{grid-template-columns:1fr 1fr}.gallery-admin-entry{grid-template-columns:100px 1fr}.gallery-admin-entry img{width:100px;height:100px}.gallery-entry-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.gallery-upload-text{grid-template-columns:1fr}}
@media(max-width:560px){.gallery-round-group{padding:15px}.gallery-round-group>header>span{width:54px;height:54px;font-size:19px}.gallery-admin-entry{grid-template-columns:1fr}.gallery-admin-entry img{width:100%;height:190px}.gallery-entry-editor{grid-template-columns:1fr}}

/* v2.5.78 · administració visible i escut durant la càrrega */
.gallery-public-admin{margin:0 0 38px;border:2px solid #ff58aa;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(43,5,25,.13);overflow:hidden}.gallery-public-admin>summary{padding:18px 22px;background:linear-gradient(100deg,#071b10,#0a6337);color:#ff68b1;font-weight:950;letter-spacing:.06em;cursor:pointer}.gallery-public-admin>.gallery-admin{padding:20px}.gallery-admin-intro ol{margin:12px 0 0;padding-left:22px;color:#355343;line-height:1.65}
.gallery-cover{background:#e6f4eb url('/assets/uesf-crest.png') center/82px auto no-repeat}.gallery-cover>img{opacity:0}.gallery-cover.media-loaded>img{opacity:1}.gallery-image-fallback{gap:8px}.gallery-image-fallback img{width:84px!important;height:84px!important;object-fit:contain!important;opacity:1!important}
.gallery-media-tile{background:#e6f4eb url('/assets/uesf-crest.png') center/72px auto no-repeat}.gallery-media-tile .gallery-media-image{opacity:0;transition:opacity .25s}.gallery-media-tile.media-loaded .gallery-media-image{opacity:1}.gallery-media-tile.load-error{background:#e6f4eb url('/assets/uesf-crest.png') center/72px auto no-repeat}.gallery-media-tile.load-error:before{display:none}
.gallery-uploading{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;align-content:center;gap:12px;background:rgba(2,16,8,.94);color:#fff;text-align:center}.gallery-uploading[hidden]{display:none}.gallery-uploading img{width:110px;filter:drop-shadow(0 0 22px rgba(91,235,148,.5));animation:gallery-pulse 1.2s ease-in-out infinite}.gallery-uploading b{color:#ff68b1;font-size:20px;letter-spacing:.1em}.gallery-uploading span{color:#cce9d7}.gallery-uploading:after{content:'';width:220px;height:8px;border-radius:999px;background:linear-gradient(90deg,#087b40,#67e99e,#ff58aa,#087b40);background-size:220% 100%;animation:gallery-progress 1.1s linear infinite}
@keyframes gallery-pulse{50%{transform:scale(1.08)}}@keyframes gallery-progress{to{background-position:-220% 0}}
@media(max-width:650px){.gallery-public-admin>.gallery-admin{padding:11px}.gallery-public-admin>summary{padding:15px;font-size:.78rem}}

/* v2.5.127: readable editorial title over an illuminated stadium. */
.gallery-card-copy h2,.gallery-album-head h1{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.12;text-wrap:balance;font-stretch:normal}
.gallery-card-copy h2{font-size:clamp(2rem,3.4vw,3.6rem);color:#052f1b;background:none;-webkit-text-fill-color:currentColor;filter:none;text-shadow:none;margin:16px 0 22px}
.gallery-album-card.featured .gallery-card-copy{background:radial-gradient(ellipse at 100% 0,#fff0f8,transparent 60%),linear-gradient(150deg,#fff,#edf8f1)}
.gallery-card-copy h2:after{width:84px;height:5px;background:linear-gradient(90deg,#008e47,#e50087)}
.gallery-album-head{min-height:420px;padding:64px 0 54px;position:relative;isolation:isolate;overflow:hidden;background-color:#02150b;background-image:linear-gradient(90deg,rgba(0,12,7,.94),rgba(0,20,12,.76) 52%,rgba(0,15,10,.4)),url('/assets/estadio-sant-fost.png');background-size:cover;background-position:center 58%}
.gallery-album-head:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 5%,#f2fff977,transparent 32%),linear-gradient(120deg,transparent 58%,#ffffff14 59%,transparent 73%),linear-gradient(70deg,transparent 75%,#e5008726);pointer-events:none}
.gallery-album-head:after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:5px;width:auto;border:0;border-radius:0;transform:none;background:linear-gradient(90deg,#00c667 0%,#7effb4 45%,#e50087 100%);box-shadow:0 -10px 60px #00b55a66}
.gallery-album-head>.wrap{max-width:1180px;margin-inline:auto;padding-inline:28px}
.gallery-album-head a{display:inline-block;margin-bottom:25px;padding:8px 13px;border:1px solid #ffffff50;border-radius:8px;background:#001c1399;color:#fff;font-family:Arial,sans-serif;font-size:14px;font-weight:700}
.gallery-album-head .eyebrow{display:block;color:#82ffb7;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.18em;margin:0 0 18px}
.gallery-album-head h1{width:auto;max-width:900px;font-size:clamp(2.5rem,5.4vw,5rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 24px;color:#fff;text-shadow:0 3px 25px #0009}
.gallery-album-head h1:after{width:86px;height:5px;margin-top:24px;box-shadow:none}
.gallery-album-head p{font:400 18px/1.65 Arial,sans-serif;color:#ebfff3;max-width:700px}
.gallery-album-head small{display:inline-block;font:700 13px/1.5 Arial,sans-serif;letter-spacing:.025em;color:#fff;background:#00170ec9;border:1px solid #ffffff30;border-radius:9px;padding:11px 16px;backdrop-filter:blur(8px)}
.profile-statistics-admin{padding:20px;border:1px solid #b5d4c3;border-radius:12px;background:#f3faf6;margin:18px 0}.profile-statistics-admin h4{margin:0 0 10px}.profile-statistics-admin p{font:400 14px/1.5 Arial,sans-serif}.profile-statistics-admin .btn{margin:14px 8px 0 0}
@media(max-width:650px){.gallery-album-head{min-height:380px;padding:36px 0 38px;background-position:65% center}.gallery-album-head>.wrap{padding-inline:22px}.gallery-album-head h1{font-size:clamp(2.4rem,9vw,3.5rem);line-height:1.15}.gallery-album-head p{font-size:16px}.gallery-card-copy h2{font-size:clamp(1.9rem,8vw,2.7rem)}}

.gallery-admin-create>summary{padding:18px;background:#073c28;color:#ff53a7;font-weight:900;cursor:pointer;border-radius:12px}.gallery-admin-archive{margin-top:28px}.gallery-admin-day{border:1px solid #b9d4c3;border-radius:14px;margin:14px 0;background:#f4faf6;overflow:hidden}.gallery-admin-day>summary{display:flex;gap:16px;justify-content:space-between;padding:20px;background:#e4f1e8;cursor:pointer;color:#075432}.gallery-admin-day>div{padding:12px}.gallery-admin-saved{background:white;border-radius:10px;margin:10px 0;border:1px solid #d5e2d9}.gallery-admin-saved>summary{padding:16px;cursor:pointer;font-weight:800}.gallery-admin-saved>summary small{margin-left:14px;color:#607665}.gallery-admin-create .gallery-admin-album{margin:16px 0}
