/* Identitat corporativa · Emblema original de la Penya El Descontrol 2.0 */
:root{--ink:#0d2258;--navy:#0d2258;--navy-deep:#08163d;--royal:#1c3c83;--ice:#eef3fb;--pale:#f7f9fe;--line:#dce4f1;--muted:#566784;--white:#fff;--pink:#1c3c83;--purple:#17326f;--lime:#e8effb;--blue:#2c4d96}
html{scroll-behavior:smooth}
body{color:var(--ink);background:#fff}
header{background:rgba(255,255,255,.95);border-bottom:1px solid var(--line)}
.navwrap{max-width:1160px}
.brand{color:var(--navy);font:800 19px/1.08 Manrope,'DM Sans',sans-serif;letter-spacing:-.045em}
.brand-logo{width:53px;height:53px;object-fit:contain;background:var(--navy);border:1px solid #d6e1f1;box-shadow:0 5px 16px #10285918}
nav a{color:var(--navy);border-radius:8px;transition:.18s}
nav a.active,nav a:hover{background:var(--navy);color:#fff}
.hero{border-radius:24px;min-height:310px;margin-top:27px;padding:clamp(30px,6vw,66px)}
.hero::before{display:none}
.hero h1{font:800 clamp(36px,5vw,66px)/1.07 Manrope,'DM Sans',sans-serif;letter-spacing:-.055em}
.hero p{font-size:clamp(16px,1.7vw,19px);line-height:1.65}
.eyebrow{font-size:12px;letter-spacing:.14em}
.hero.home,.hero.program,.hero.moments,.hero.history{background:linear-gradient(118deg,#0a1d4b,#142f6a);color:#fff}
.hero.home{min-height:405px;padding-right:40%}
.hero.home::after,.hero.history::after{content:'';position:absolute;width:min(39%,365px);aspect-ratio:1;background:url('/logo-el-descontrol.png') center/contain no-repeat;right:3.5%;top:50%;transform:translateY(-50%);filter:drop-shadow(0 16px 25px #0002)}
.hero.home>div{max-width:100%}
.hero.home h1{color:#fff}
.hero.home p,.hero.program p,.hero.moments p,.hero.history p{color:#e3ebff}
.hero.program{background:linear-gradient(118deg,#112d6d,#254b9a)}
.hero.moments{background:linear-gradient(118deg,#172c5b,#294f95)}
.hero.history{background:linear-gradient(118deg,#0a1d4b,#173873);padding-right:31%}
.hero.history::after{width:min(28%,230px);opacity:.85}
.hero.bookhero{background:#ecf2fb;color:var(--navy)}
.hero.bookhero p{color:#3d527a}
.btn,.pill{background:var(--navy);border-radius:9px;color:#fff;font-weight:800;transition:transform .16s,background .16s}
.btn:hover{background:#20458e;transform:translateY(-2px)}
.hero.home .btn{background:#fff;color:var(--navy)}
.hero.home .btn.white{background:#244a92;color:#fff}
.hero.home .btn:hover{background:#e9effb}
.hero.home .btn.white:hover{background:#315cac}
.section{padding:46px 0}
.section h2{font:800 clamp(28px,3.7vw,42px)/1.17 Manrope,'DM Sans',sans-serif;letter-spacing:-.045em;color:var(--navy)}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 38px #081e4510;transition:transform .18s,box-shadow .18s}
a.card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0d22581f}
.card h3{color:var(--navy);font-family:Manrope,'DM Sans',sans-serif}
.card p{color:#485873}
.card.color1,.card.color2,.card.color3,.card.color4{background:#f1f5fc}
.card.color2{background:#eaf0fa}.card.color3{background:#f8fafd}
.grid a.card{border-top:4px solid #1c3c83}
.grid a.card:nth-child(2){border-top-color:#6482b8}.grid a.card:nth-child(3){border-top-color:#0d2258}
.festival,.cta-band{background:linear-gradient(115deg,#0d2258,#1c3c83);color:#fff;border-radius:19px}
.festival p{color:#e4edff}
.festival h2{color:white}
.festival .btn.white{background:#fff;color:var(--navy)}
.event,.step,.gallery-card{border-radius:14px;border-color:var(--line)}
.filters .filter{background:#edf2fa;color:var(--navy);border:1px solid #dce5f2}
.filters .filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.filter:hover{background:#dae5f7}
.day-tab.active{background:var(--navy);border-color:var(--navy)}
.day-tab:hover{border-color:var(--royal)}
.programme-day-head{background:#eaf1fa;color:var(--navy)}
.programme-day .event time{color:var(--royal);background:#eff3fb}
.programme-day .event strong{color:var(--navy)}
.programme-day-weekday,.event-category,.story-card small{color:var(--royal)}
.event-category{background:#e7eefa}
.story-card{border-color:var(--line);background:#fff}
.story-card p{color:#526079}
.photo-grid .gallery-photo{background:var(--navy)}
.photo-grid .gallery-photo-caption{background:var(--navy)}
.cover-box{background:#e9effa}
.cover{background:linear-gradient(135deg,#0d2258,#2c4d96);box-shadow:14px 16px 0 #bdcce4;border-radius:9px}
.price{color:var(--navy);font-family:Manrope,sans-serif}
#book-price[hidden]{display:none!important}
.notice{background:#edf2fa;color:#425879;font-size:13px;border-radius:10px}
.reader{background:#f0f4fc;border-radius:17px}
footer{color:#72809a;border-color:var(--line)}
/* La penya: història i majorals d'honor */
.majorals-story-heading{max-width:795px;margin:0 0 28px}
.majorals-story-heading h2{margin:7px 0 16px}
.majorals-story-heading p{color:#566784;line-height:1.75;font-size:17px}
.majorals-cards{gap:18px}
.majorals-cards .story-card{border-radius:17px;border-top:5px solid var(--royal)}
.majorals-cards .story-card>div{padding:28px}
.majorals-cards .story-card small{font-size:15px;font-weight:800}
.majorals-cards .story-card h3{font-size:25px;letter-spacing:-.04em}
.majorals-cards .story-card p{font-size:15px;line-height:1.75}
.honor-section{padding-top:8px}
.honor-panel{position:relative;overflow:hidden;background:linear-gradient(120deg,#10265c,#1d3e7d);border-radius:20px;color:#fff;padding:clamp(28px,6vw,56px)}
.honor-panel::after{content:'✦';position:absolute;color:#fff;opacity:.08;right:-25px;bottom:-130px;font-size:360px;pointer-events:none}
.honor-panel h2{color:#fff;font-size:clamp(29px,4vw,44px);max-width:660px;margin:13px 0}
.honor-panel p{max-width:660px;color:#e7efff;font-size:18px;line-height:1.8;position:relative;z-index:1}
.honor-eyebrow{font:800 12px DM Sans,sans-serif;letter-spacing:.15em;color:#bfcff2}
.honor-stamp{font-size:12px;letter-spacing:.15em;margin-top:26px;font-weight:800;color:#becff1;position:relative;z-index:1}
.honor-stamp span{color:white}
/* Participació per correu al llibre */
.contribute-panel{display:grid;grid-template-columns:1.25fr .85fr;gap:35px;align-items:center;border-radius:20px;padding:clamp(24px,5vw,48px);background:var(--navy);color:white}
.contribute-panel h2{color:#fff;font-size:clamp(26px,3.6vw,39px);margin:10px 0 16px}
.contribute-content>p{max-width:630px;line-height:1.75;font-size:17px;color:#e4eaf7}
.contribute-panel .eyebrow{color:#cad8f5;margin:0}
.contribute-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.contribute-tags span{border:1px solid #5b6e99;border-radius:7px;padding:9px 11px;font-size:12px;font-weight:800;background:#1b356c}
.contribute-action{background:#fff;color:var(--navy);padding:27px;border-radius:14px;min-width:0;display:flex;flex-direction:column;gap:16px}
.contact-caption{font-size:11px;letter-spacing:.11em;font-weight:800;color:#5b6e8d}
.contribute-email{font-weight:800;overflow-wrap:anywhere;font-size:clamp(16px,1.7vw,20px);text-decoration:underline;text-underline-offset:4px}
.contribute-action .btn{align-self:flex-start;text-align:center}
.contribute-action small{font-size:12px;line-height:1.5;color:#697791}
.book-layout{align-items:stretch}
.book-layout .card{min-height:0}
#compra .card>p{line-height:1.7}
#compra .card .btn[aria-disabled="true"]{background:#5d7093}
:focus-visible{outline:3px solid #3c62ab;outline-offset:3px}
@media(max-width:840px){.mobile-nav{background:#fff;border-top:1px solid #dce5f2;box-shadow:0 -8px 26px #0d225815}.mobile-nav a{color:var(--navy);max-width:20%;line-height:1.15}.mobile-nav a.active{color:#214688;font-weight:900}.mobile-nav a span{margin-bottom:2px}.contribute-panel{grid-template-columns:1fr}.contribute-action{max-width:100%}}
@media(max-width:690px){.hero.home,.hero.history{padding:31px 23px;display:flex;flex-direction:column;align-items:flex-start;min-height:unset;gap:16px}.hero.home>div,.hero.history>div{max-width:100%}.hero.home::after,.hero.history::after{position:relative;top:auto;right:auto;transform:none;width:180px;height:180px;max-width:70%;margin:2px auto 0;align-self:center}.hero.history::after{width:130px;height:130px}.hero{border-radius:16px;min-height:unset;padding:32px 23px}.hero h1{font-size:clamp(34px,9vw,44px)}.hero p{font-size:16px}.hero.home .actions{width:100%}.hero.home .actions .btn{width:100%}.contribute-panel{padding:24px;gap:23px}.contribute-action{padding:20px}.majorals-cards{grid-template-columns:1fr}.section{padding:36px 0}}
@media(prefers-reduced-motion:reduce){a.card,.btn,.day-tab{transition:none;transform:none!important}}
