.horaris-page{background:var(--veix);color:var(--marro);font-family:var(--font-text)}
.horaris-shell{width:min(1150px,calc(100% - 64px));margin-inline:auto}
.horaris-page h1,.horaris-page h2,.horaris-page h3{font-weight:normal}
.horaris-page a:focus-visible{outline:3px solid var(--taronja);outline-offset:5px}
.horaris-eyebrow{font-size:.68rem;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;font-weight:600}
.horaris-hero{background:var(--marro);color:var(--veix)}
.horaris-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:3.1rem 3.4rem}
.horaris-hero-copy{min-width:0;max-width:900px}
.horaris-hero h1{font-family:var(--font-titol);font-size:clamp(4rem,7vw,7.2rem);line-height:.97;text-transform:uppercase;margin:0}
.horaris-hero-copy>p:last-child{font-size:.8rem;line-height:1.75;margin-top:1.1rem}
.horaris-hero-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:194px;height:194px;transform:rotate(8deg);border-radius:50%;background:var(--blau-cel);color:var(--marro);border:4px solid var(--veix);text-align:center;box-shadow:8px 9px 0 #1f171344}
.horaris-hero-stamp strong{font-family:var(--font-titol);font-weight:normal;font-size:3rem;line-height:1}
.horaris-hero-stamp span{font-size:.53rem;line-height:1.4;max-width:130px;margin:.1rem 0}
.horaris-concerts{padding-block:3.25rem 4.5rem}
.horaris-date{margin:0 0 1.4rem}
.horaris-timeline{position:relative;list-style:none;padding:0;margin:0}
.horaris-timeline:before{content:"";position:absolute;top:56px;bottom:55px;left:168px;width:3px;background:#3e322c40}
.horaris-event{position:relative;display:grid;grid-template-columns:138px 60px 88px minmax(0,1fr);align-items:center;gap:0;min-height:116px;padding:12px 0;border-bottom:1px solid #3e322c30}
.horaris-event:first-child{border-top:1px solid #3e322c30}
.horaris-event time{display:inline-flex;align-items:center;justify-content:center;width:126px;min-height:74px;border:2px solid var(--marro);border-radius:12px;background:var(--event-color);font:normal 2.6rem/1 var(--font-titol);padding-top:.2em;font-variant-numeric:tabular-nums}
.horaris-dot{position:relative;z-index:1;width:15px;height:15px;border:3px solid var(--marro);border-radius:50%;background:var(--veix);justify-self:center}
.horaris-artist-photo,.horaris-event-icon{width:80px;height:80px;border:2px solid var(--marro);border-radius:12px;object-fit:cover;object-position:center;transform:rotate(-3deg);box-shadow:3px 4px 0 var(--marro)}
.horaris-event:nth-child(even) .horaris-artist-photo{transform:rotate(3deg)}
.horaris-event-icon{display:grid;place-items:center;background:var(--event-color);font-size:2.6rem;line-height:1}
.horaris-event-name{font-size:clamp(1.12rem,2.4vw,1.7rem);font-weight:600;line-height:1.3;padding-left:1.15rem}
.horaris-event--portes .horaris-event-name,.horaris-event--tancament .horaris-event-name{font-family:var(--font-titol);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:normal;text-transform:uppercase}
.horaris-next-day{font-size:.66rem;line-height:1.7;margin:1.2rem 0 0;color:#67574e}
@media(hover:hover) and (pointer:fine){
.horaris-event::before{content:"";position:absolute;inset:6px -12px;border-radius:14px;background:var(--event-color);opacity:0;transform:scale(.985);transition:opacity .25s ease,transform .3s ease;pointer-events:none}
.horaris-event time,.horaris-event .horaris-artist-photo,.horaris-event .horaris-event-icon,.horaris-event .horaris-event-name,.horaris-event .horaris-dot{position:relative;z-index:1;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,background-color .3s ease}
.horaris-event:hover::before{opacity:.2;transform:scale(1)}
.horaris-event:hover time{transform:translateY(-4px) rotate(-2deg);box-shadow:4px 5px 0 var(--marro)}
.horaris-event:hover .horaris-artist-photo,.horaris-event:hover .horaris-event-icon{transform:translateY(-6px) rotate(0) scale(1.08);box-shadow:5px 7px 0 var(--marro)}
.horaris-event:hover .horaris-event-name{transform:translateX(8px)}
.horaris-event:hover .horaris-dot{background:var(--event-color);box-shadow:0 0 0 5px var(--event-color)}
}
@media(prefers-reduced-motion:reduce){.horaris-event::before,.horaris-event time,.horaris-event .horaris-artist-photo,.horaris-event .horaris-event-icon,.horaris-event .horaris-event-name,.horaris-event .horaris-dot{transition:none!important}.horaris-event:hover time,.horaris-event:hover .horaris-artist-photo,.horaris-event:hover .horaris-event-icon,.horaris-event:hover .horaris-event-name{transform:none}}
@media(max-width:900px){.horaris-hero-inner{gap:1.5rem}.horaris-hero-stamp{display:none}}
@media(max-width:700px){
.horaris-shell{width:calc(100% - 36px)}
.horaris-hero-inner{padding-block:2.3rem 2.5rem;align-items:flex-start}
.horaris-hero h1{font-size:clamp(3.4rem,12vw,5rem)}
.horaris-hero-copy>p:last-child{font-size:.72rem}
.horaris-concerts{padding-block:2.3rem 3rem}
.horaris-date{margin-bottom:1.1rem}
.horaris-timeline:before{left:99px;top:45px;bottom:45px;width:2px}
.horaris-event{grid-template-columns:84px 32px 54px minmax(0,1fr);min-height:84px;padding:9px 0}
.horaris-event time{width:80px;min-height:56px;border-radius:9px;font-size:1.78rem}
.horaris-dot{width:12px;height:12px;border-width:2px}
.horaris-artist-photo,.horaris-event-icon{width:50px;height:50px;border-radius:9px;box-shadow:2px 3px 0 var(--marro)}
.horaris-event-icon{font-size:1.6rem}
.horaris-event-name{font-size:.78rem;padding-left:.55rem;overflow-wrap:anywhere}
.horaris-event--portes .horaris-event-name,.horaris-event--tancament .horaris-event-name{font-size:1.25rem}
.horaris-next-day{font-size:.6rem}
}
@media(max-width:380px){.horaris-timeline:before{left:89px}.horaris-event{grid-template-columns:76px 28px 44px minmax(0,1fr)}.horaris-event time{width:73px;font-size:1.62rem}.horaris-artist-photo,.horaris-event-icon{width:42px;height:42px}.horaris-event-name{font-size:.7rem}.horaris-event--portes .horaris-event-name,.horaris-event--tancament .horaris-event-name{font-size:1.15rem}}
