.empty-state{background:#f5f7f2;padding:24px;border-radius:12px;color:#626a5d;font-weight:650}.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.story-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e9ece7;border-radius:14px;overflow:hidden}.story-card img{width:100%;height:220px;object-fit:cover}.story-card>div{padding:23px}.story-card small{font-size:12px;font-weight:800;letter-spacing:.08em;color:#245fff}.story-card h3{font:800 23px/1.22 Manrope,sans-serif;letter-spacing:-.04em;margin:10px 0}.story-card p{line-height:1.6;white-space:pre-line;color:#545b54}.photo-grid .gallery-photo{padding:0;min-height:250px;display:flex;flex-direction:column;justify-content:end;background:#191919;color:white}.gallery-photo:after{display:none}.gallery-photo>img{width:100%;height:260px;object-fit:cover}.gallery-photo-caption{padding:16px;background:#171717}.gallery-photo-caption h3{font-size:21px;color:white;margin:0 0 6px}.gallery-photo-caption p{color:#e4e4e4;font-size:14px;margin:0;white-space:pre-line}.hero.hero-has-photo{background-image:linear-gradient(90deg,rgba(17,17,17,.82),rgba(17,17,17,.33)),var(--hero-image)!important;background-size:cover;background-position:center;color:white}.hero.hero-has-photo p{color:#fff}.hero.hero-has-photo .eyebrow{color:#cefc39}@media(max-width:640px){.story-grid{grid-template-columns:1fr}}

.brand-logo{width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid #c3cbdc;box-shadow:0 1px 8px #0001;flex-shrink:0}
#compra-link[aria-disabled="true"]{pointer-events:none;opacity:.65;cursor:not-allowed}
.photo-grid .gallery-photo>img{cursor:zoom-in}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;border:0;background:#0e1524ee;color:white;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.gallery-lightbox img{max-height:79vh;max-width:95vw;object-fit:contain}.gallery-lightbox button{position:absolute;top:17px;right:20px;border:1px solid white;background:#14254f;color:white;padding:10px 18px;border-radius:10px;cursor:pointer}

/* Programa organitzat per dies. Compatible amb dates de qualsevol any del Sheets. */
.programme-intro{max-width:720px;color:#565c6b;line-height:1.65;font-size:16px;margin:0 0 25px}
.day-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 27px}
.day-tab{border:1.5px solid #d7deee;background:#f6f8fd;color:#172653;min-width:148px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:15px 19px;border-radius:13px;transition:background .17s,border-color .17s,transform .17s;line-height:1.25;text-align:left}
.day-tab:hover{border-color:#245fff;transform:translateY(-2px)}
.day-tab.active{background:#172653;border-color:#172653;color:#fff;box-shadow:0 7px 18px #17265324}
.day-tab:focus-visible,.filter:focus-visible,.fav:focus-visible{outline:3px solid #245fff;outline-offset:3px}
.day-tab-title{font-size:15px;font-weight:800}
.day-tab-extra{font-size:12px;opacity:.75;font-weight:600}
.programme-filter-label{font-size:13px;text-transform:uppercase;letter-spacing:.11em;margin:0;color:#505c70}
.programme-section .filters{margin:13px 0 32px}
.programme-day{margin:0 0 29px;border:1px solid #dfe4ed;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 6px 20px #17265309}
.programme-day-head{display:flex;align-items:center;gap:19px;background:#eef2fb;padding:18px 23px;border-bottom:1px solid #dee6f4;color:#172653}
.programme-day-number{font:800 clamp(46px,5vw,66px)/1 Manrope,sans-serif;letter-spacing:-.07em;min-width:75px;text-align:center}
.programme-day-identity{min-width:0;flex:1}
.programme-day-weekday{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#245fff}
.programme-day-head h3{font:800 clamp(19px,2.5vw,25px)/1.2 Manrope,sans-serif;margin:4px 0 0;letter-spacing:-.045em}
.programme-day-count{border-radius:50px;background:white;padding:7px 13px;font-size:12px;font-weight:800;white-space:nowrap}
.programme-day-events{padding:8px 16px 13px}
.programme-day .event{border:0;border-radius:0;border-bottom:1px solid #edf0f3;box-shadow:none;margin:0;padding:16px 9px;align-items:start;gap:17px}
.programme-day .event:last-child{border-bottom:0}
.programme-day .event time{background:#f1f5ff;color:#245fff;border-radius:9px;min-width:100px;min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center;padding:8px;font:800 16px/1.3 Manrope,sans-serif}
.programme-day .event-detail{flex:1;min-width:0}
.programme-day .event strong{font-size:17px;color:#172653;line-height:1.42;display:block}
.programme-day .event small{font-size:13px;line-height:1.6;color:#667086;margin:7px 0 8px;white-space:pre-line}
.event-category{font-size:11px;display:inline-flex;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#245fff;background:#ecf1ff;border-radius:5px;padding:4px 7px}
.programme-day .fav{margin-left:2px;flex-shrink:0;background:#f2f4f8;color:#172653}
.programme-day .fav.selected{background:#ffedef;color:#e23b55}
@media(max-width:640px){.day-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.day-tab{min-width:0;padding:12px 13px}.day-tab-title{font-size:14px}.programme-day-head{gap:12px;padding:16px 13px}.programme-day-number{min-width:53px;font-size:50px}.programme-day-count{padding:5px 7px;font-size:10px}.programme-day-events{padding:5px 10px 8px}.programme-day .event{gap:9px;padding:13px 4px}.programme-day .event time{min-width:73px;max-width:90px;font-size:12px;padding:5px}.programme-day .event strong{font-size:15px}.programme-day .event small{font-size:12px}.programme-day .fav{font-size:21px;padding:7px}.programme-day-head h3{font-size:18px}}
@media(max-width:370px){.programme-day-count{display:none}}
