:root{color-scheme:light;--ink:#172d38;--muted:#50626a;--paper:#f8f7f1;--white:#fff;--line:#d6dddb;--gold:#f2bd53;--rose:#dc6f70;--blue:#c5dbe0;--focus:#005baa;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{text-decoration-thickness:2px}.skip-link{position:absolute;top:-80px;left:12px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.topbar{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px max(24px,calc((100vw - 1320px)/2));min-height:82px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:flex;align-items:baseline;gap:2px;border:2px solid var(--gold);color:var(--gold);font-size:1.45rem;font-weight:900;letter-spacing:-.07em;padding:3px 7px;line-height:1.5}.brand-mark span{font-size:.85rem;letter-spacing:0}.brand-name{font-size:.84rem;line-height:1.23;color:#d6e1e1}.brand-name strong{color:#fff;font-size:1.03rem}.top-actions{display:flex;align-items:center;gap:12px}.nav-button,.pdf-link{display:inline-flex;align-items:center;gap:9px;border:1px solid #74909a;border-radius:7px;padding:9px 13px;color:#fff;text-decoration:none;background:transparent;font-weight:650;font-size:.9rem;white-space:nowrap}.nav-button:hover,.pdf-link:hover{background:#294652}.nav-button[aria-pressed="true"]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.nav-button>span:first-child{font-size:1.35rem;line-height:1}.count-badge{background:#fff2;color:inherit;border-radius:100px;padding:0 7px;font-size:.8rem}main{max-width:1368px;margin:auto;padding:0 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:216px;padding:32px 0 26px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:.8rem;color:#9f4b42;margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.45rem,5vw,4.65rem);letter-spacing:-.065em;line-height:1.03;margin:0 0 12px}h2{letter-spacing:-.035em;line-height:1.15}.lead{font-size:1.08rem;margin:0;color:var(--muted)}.intro-stamp{flex:none;width:222px;height:142px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;transform:rotate(4deg);padding:18px 22px;background:var(--gold);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);font-weight:900;line-height:1;color:var(--ink)}.intro-stamp span{font-size:.78rem;letter-spacing:.12em}.intro-stamp strong{font-size:1.75rem;letter-spacing:-.065em}.intro-stamp small{align-self:flex-end;font-size:1.4rem}.workspace{display:grid;grid-template-columns:minmax(260px,314px) minmax(0,1fr);gap:26px;align-items:start}.filter-panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px;position:sticky;top:18px;box-shadow:0 5px 22px #1937470b}.panel-title-row,.days-heading,.results-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.filter-panel h2{font-size:1.38rem;margin:0 0 23px}.text-button{border:0;background:none;color:#8e3d3d;text-decoration:underline;font-weight:700;padding:3px}.filter-panel label,.result-options label{display:block;font-size:.9rem;font-weight:750;margin-bottom:7px}.search-wrap{position:relative}.search-wrap span{position:absolute;left:13px;top:8px;font-size:1.55rem;line-height:1;color:var(--muted)}.search-wrap input{padding-left:41px!important}input[type=search],select{width:100%;min-height:46px;border-radius:7px;border:1px solid #a9b9be;background:#fff;color:var(--ink);padding:9px 12px}input::placeholder{color:#64767c}.filter-grid{display:grid;gap:17px;margin-top:20px}.checks{border-top:1px solid var(--line);margin-top:22px;padding-top:13px}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-size:.87rem!important;font-weight:650!important;line-height:1.35;margin:14px 0!important}.check-row input{accent-color:var(--ink);width:19px;height:19px;flex:none;margin:1px 0}.check-row small{display:block;font-weight:450;color:var(--muted);font-size:.8rem;margin-top:2px}.filter-help{color:var(--muted);font-size:.81rem;line-height:1.45;margin:22px 0 0}.results-panel{min-width:0}.days-heading h2{font-size:1.25rem;margin:0}.days-heading>span{color:var(--muted);font-size:.86rem}.day-scroll{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 14px;margin:0 -2px;scrollbar-color:#a8b7b7 transparent}.day-button{flex:none;min-width:77px;border:1px solid #adbcbf;border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);text-align:left;line-height:1.18;box-shadow:0 3px 0 #172d3812}.day-button span{display:block;font-size:.78rem;color:var(--muted)}.day-button strong{font-size:1.13rem;display:block}.day-button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 3px 0 var(--gold)}.day-button[aria-pressed="true"] span{color:#d8e6e7}.day-button:hover:not([aria-pressed="true"]){border-color:var(--ink);background:#eff4f3}.results-heading{margin:16px 0 17px;padding-top:16px;border-top:1px solid var(--line)}.results-heading h2{font-size:1.6rem;margin:0}.kicker{color:#8c4b41;margin:0 0 5px}.result-options{display:flex;align-items:center;gap:7px}.result-options label{margin:0;white-space:nowrap}.result-options select{width:128px;min-height:40px}.notice{background:#fff1cc;border-left:4px solid #a7790a;padding:12px 15px;border-radius:4px;margin-bottom:14px;font-size:.92rem}.day-group > h3{font-size:1rem;border-bottom:1px solid var(--line);padding:17px 0 8px;margin:0 0 10px}.day-group:first-child > h3{padding-top:0}.day-group > h3 small{font-weight:400;color:var(--muted);margin-left:6px}.events-list{display:grid;gap:12px}.event-card{display:grid;grid-template-columns:94px minmax(0,1fr);gap:16px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 18px;box-shadow:0 2px 9px #16333e08}.event-time{color:var(--ink);font-size:1.1rem;font-weight:850;line-height:1.17;overflow-wrap:anywhere}.event-time small{display:block;font-size:.76rem;font-weight:500;color:var(--muted);margin-top:4px}.event-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.event-card h3{font-size:1.18rem;line-height:1.28;letter-spacing:-.02em;margin:1px 0 6px}.event-place{font-size:.94rem;color:#405861;margin:0 0 9px}.event-place::before{content:"▹";color:#9e4c3c;margin-right:6px}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{border-radius:4px;background:#e6eded;color:#23434b;padding:3px 7px;font-size:.75rem;font-weight:750}.tag.fire{background:#f8e2dc;color:#793a30}.tag.quiet{background:#e3eed7;color:#315c28}.tag.ticket{background:#fff0c9;color:#6b4b00}.favorite{flex:none;border:1px solid #a9bbbe;background:#fff;color:var(--ink);border-radius:7px;width:36px;height:36px;line-height:1;font-size:1.4rem;padding:0}.favorite:hover{background:#fff3d9}.favorite[aria-pressed="true"]{background:var(--gold);border-color:var(--ink)}.event-desc{margin:0;color:#3e5158;font-size:.91rem;line-height:1.48}.event-card details{margin-top:11px}.event-card summary{color:#1f5965;cursor:pointer;font-size:.88rem;font-weight:750;display:inline-block}.detail-body{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;color:#42575f;font-size:.88rem}.detail-body p{margin:0 0 10px}.detail-body a{color:#1d5669;font-weight:700}.empty{background:#fff;border:1px solid var(--line);border-radius:10px;padding:38px;text-align:center}.empty p{color:var(--muted);margin:8px 0 20px}.primary-button{background:var(--ink);color:#fff;border:0;border-radius:6px;padding:11px 16px;font-weight:700}.source-note{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#e3ebea;border-radius:11px;padding:23px 28px;margin:46px 0}.source-note h2{font-size:1.24rem;margin:0 0 7px}.source-note p{margin:0;max-width:770px;color:#41545b;font-size:.91rem}.source-note a{white-space:normal;overflow-wrap:anywhere;font-weight:800;text-underline-offset:3px}footer{background:var(--ink);color:#d3e0df;padding:22px max(24px,calc((100vw - 1320px)/2));font-size:.82rem}@media(max-width:900px){.workspace{grid-template-columns:1fr}.filter-panel{position:static}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.intro{min-height:180px}.intro-stamp{width:169px;height:120px;padding:15px}.intro-stamp strong{font-size:1.32rem}}@media(max-width:650px){.topbar{padding:12px 16px;gap:10px;align-items:flex-start}.brand-name{font-size:.72rem}.brand-name strong{font-size:.9rem}.top-actions{gap:6px}.nav-button,.pdf-link{font-size:.78rem;padding:7px 8px}.nav-button .count-badge{display:none}.pdf-link{max-width:85px;white-space:normal;line-height:1.1}main{padding:0 15px}.intro{min-height:0;padding:30px 0 22px}.intro-stamp{display:none}.lead{font-size:.96rem}.filter-panel{padding:16px}.filter-panel h2{margin-bottom:13px}.filter-grid{grid-template-columns:1fr;gap:12px;margin-top:15px}.checks{margin-top:14px}.filter-help{margin-top:13px}.day-scroll{margin-right:-15px;padding-right:15px}.day-button{min-width:68px}.results-heading{align-items:end}.results-heading h2{font-size:1.31rem}.result-options label{display:none}.event-card{grid-template-columns:68px minmax(0,1fr);gap:9px;padding:15px 11px}.event-time{font-size:.96rem}.event-card h3{font-size:1.06rem}.event-place{font-size:.88rem}.source-note{display:block;padding:20px;margin:32px 0}.source-note > a{display:inline-block;margin-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:480px){.topbar{flex-wrap:wrap}.top-actions{width:100%;justify-content:flex-start}.pdf-link{max-width:none;white-space:nowrap}.intro{padding-top:25px}}
.independent-note{display:flex;align-items:baseline;gap:12px;background:#fff3d5;border-left:5px solid #9e611c;border-radius:5px;padding:13px 17px;margin:0 0 23px;color:#322b21;font-size:.91rem;line-height:1.45}.independent-note strong{flex:none;font-weight:800}.independent-note a{font-weight:750;text-underline-offset:2px}@media(max-width:650px){.independent-note{display:block;padding:12px 14px}.independent-note strong{display:block;margin-bottom:3px}}

/* Enllaços externs útils a cada activitat: accessibles, tàctils i adaptables. */
.event-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.event-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;max-width:100%;padding:8px 11px;border-radius:7px;border:1px solid #b4c8cd;font-size:.85rem;font-weight:750;line-height:1.25;text-decoration:none;overflow-wrap:anywhere;transition:background-color .12s ease,border-color .12s ease}
.event-link:hover{text-decoration:underline;text-underline-offset:3px}
.event-link--map{background:#e8f1ff;color:#214b81;border-color:#b2caeb}
.event-link--map:hover{background:#d7e8fc}
.event-link--spotify{background:#e7f5e9;color:#205a2f;border-color:#b2d6b9}
.event-link--spotify:hover{background:#d2edd7}
.event-link--site{background:#f1effa;color:#46397d;border-color:#cdc6e5}
.event-link--site:hover{background:#e6e1f7}
.map-tip{color:#5a6569;font-size:.79rem;margin:5px 0 0}
@media(max-width:650px){.event-links{gap:7px}.event-link{flex:1 1 auto;min-height:44px;padding:9px 10px;font-size:.83rem}}
@media(prefers-reduced-motion:reduce){.event-link{transition:none}}

.event-link--tickets{background:#fff4db;color:#684807;border-color:#e8cf99}.event-link--tickets:hover{background:#f9e7bd}


/* Difusió discreta al peu i compartició de plans. */
[hidden]{display:none!important}
.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.site-footer>span{flex:1 1 350px}
.footer-share{position:relative}
.footer-share-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;background:transparent;color:#f5f9f8;border:1px solid #99adb0;border-radius:7px;font-size:.86rem;font-weight:700}
.footer-share-button:hover,.footer-share-button[aria-expanded="true"]{background:#294652;border-color:#d4e4e4}
.share-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border-radius:7px;border:1px solid #8ca6aa;background:#fff;color:var(--ink);padding:9px 12px;text-decoration:none;font-size:.86rem;font-weight:750;line-height:1.3}
.share-button:hover{background:#f2f7f6}
.plans-share-bar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;background:#e3eeeb;border:1px solid #bdd6d0;border-radius:9px;padding:11px 13px;margin:-3px 0 16px}
.plans-share-bar>span{font-size:.88rem;color:#31504b;font-weight:650}
.share-button--plans{background:#173e4a;border-color:#173e4a;color:#fff}
.share-button--plans:hover,.share-button--plans[aria-expanded="true"]{background:#265568}
.shared-plan-note{background:#e7effb;border-left:4px solid #446a9e;border-radius:4px;padding:10px 12px;font-size:.88rem;color:#284569;margin:0 0 16px}
.compact-share-menu{position:absolute;top:calc(100% + 5px);right:0;display:flex;flex-direction:column;gap:3px;min-width:192px;max-width:min(330px,calc(100vw - 36px));background:#fff;border:1px solid #aabcbf;border-radius:9px;box-shadow:0 12px 26px #142f3d30;padding:6px;z-index:20}
.compact-share-menu a,.compact-share-menu button{display:block;width:100%;border:0;background:#fff;color:#183f48;text-align:left;text-decoration:none;border-radius:5px;min-height:42px;padding:10px 11px;font-size:.88rem;font-weight:650}
.compact-share-menu a:hover,.compact-share-menu button:hover{background:#e9f3f1;text-decoration:underline}
.compact-share-menu--footer{top:auto;bottom:calc(100% + 7px)}
.share-status,.plans-status{font-size:.82rem;line-height:1.4;margin:0}
.site-footer>.share-status{flex-basis:100%;color:#e6f2ee}
.plans-status{color:#235343;flex-basis:100%}
.share-status:empty,.plans-status:empty{display:none}
.event-link--whatsapp{background:#e0f5e6;border-color:#94caa3;color:#175b36}
.event-link--whatsapp:hover{background:#c8ebd4}
.event-card:focus{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:650px){.plans-share-bar{align-items:stretch}.plans-share-bar>span{width:100%}.plans-share-bar .share-button{width:100%}.site-footer{align-items:flex-start}.footer-share-button{min-height:44px}}


/* Correcció del desbordament horitzontal en mòbil (enllaç llarg dins «Abans de sortir»).
   No amaguem el problema amb overflow-x:hidden: permetem que els fills i les URL es parteixin. */
.source-note{min-width:0;max-width:100%}
.source-note > div{min-width:0;max-width:100%}
.source-note p,.source-note p a{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.source-note > a{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.site-footer,.site-footer > span,.site-footer .footer-share{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:650px){
  .source-note{width:100%}
  .source-note p a{display:inline;margin:0}
  .source-note > a{display:inline-block;margin-top:15px}
  .site-footer > span{flex-basis:100%}
  .event-card,.event-main,.results-heading,.plans-share-bar{min-width:0;max-width:100%}
  .event-links .event-link{min-width:0;white-space:normal;overflow-wrap:anywhere}
}
