/* Supporting illustrations and poster collections open only on request. */
.landing-folds.wrap{box-sizing:border-box;width:min(1060px,calc(100% - 32px));margin:24px auto;padding:22px;background:#f9f0dc;border:1px solid #b5a583;border-radius:7px;box-shadow:0 3px 9px #203e320c;color:#203e32;scroll-margin-top:24px}
.landing-folds-heading{margin:0 0 16px}
.landing-folds-heading h2{margin:0;font:800 clamp(23px,3vw,30px)/1.15 'League Spartan',sans-serif;letter-spacing:.015em}
.landing-folds-heading p{margin:7px 0 0;font:500 15px/1.4 'League Spartan',sans-serif;color:#52604b}
.landing-fold{border:1px solid #a8ad98;border-left:4px solid #657c61;border-radius:5px;background:#fff8e9;scroll-margin-top:20px}
.landing-fold+.landing-fold{margin-top:10px;border-left-color:#983e49}
.landing-fold>summary{box-sizing:border-box;display:flex;align-items:center;gap:14px;min-height:80px;padding:12px 16px;list-style:none;cursor:pointer}
.landing-fold>summary::-webkit-details-marker{display:none}
.landing-fold-thumb{display:block;flex:0 0 48px;width:48px;height:56px;object-fit:contain;object-position:center;border-radius:2px}
.landing-fold-label{display:grid;gap:6px;flex:1;min-width:0}
.landing-fold-label strong{font:800 19px/1.15 'League Spartan',sans-serif;color:#203e32}
.landing-fold-label small{font:500 13px/1.3 'League Spartan',sans-serif;color:#5d604b}
.landing-fold-state{display:grid;justify-items:center;gap:4px;flex:0 0 auto;min-width:34px;color:#8d303b;font:700 11px/1 'League Spartan',sans-serif}
.landing-fold-state svg{transition:transform .16s ease}
.landing-fold-close-label,.landing-fold[open] .landing-fold-open-label{display:none}
.landing-fold[open] .landing-fold-close-label{display:block}
.landing-fold[open]>summary{border-bottom:1px solid #d8c9a9;background:#f3e8ce}
.landing-fold[open]>summary .landing-fold-state svg{transform:rotate(180deg)}
.landing-fold>summary:focus-visible,.landing-fold-close:focus-visible{outline:3px solid #8d303b;outline-offset:3px}
.landing-fold-content{min-width:0;padding:20px}
.landing-fold-content>.wrap{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto}
.landing-fold-content>.hero{padding:0;gap:24px}
.landing-fold-content>.compact-portugal{padding:0}
.landing-fold-content #edicion-2027{box-sizing:border-box;width:100%;max-width:100%;box-shadow:none}
.landing-fold-content>.posters-section{padding:0}
.landing-fold-content .posters-section h2{font-size:24px;margin-bottom:16px}
.landing-fold-content>.rrss-posters{padding:0}
.landing-fold-content .rrss-heading{padding-top:0;border-top:0;gap:20px}
.landing-fold-content .rrss-heading h2{font-size:28px}
.landing-fold-content .rrss-intro{font-size:14px;margin-top:12px}
.landing-fold-close{display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;min-height:44px;width:calc(100% - 40px);margin:0 20px 16px;padding:10px 14px;border:1px solid #a8ad98;border-radius:3px;background:transparent;color:#203e32;font:700 14px/1.25 'League Spartan',sans-serif;cursor:pointer}
@media(hover:hover){.landing-fold>summary:hover,.landing-fold-close:hover{background:#f0e4c9}}
@media(max-width:600px){
 .landing-folds.wrap{padding:16px;margin:20px auto}
 .landing-folds-heading{margin-bottom:14px}
 .landing-folds-heading p{font-size:14px}
 .landing-fold>summary{padding:11px 10px;gap:10px;min-height:80px}
 .landing-fold-label strong{font-size:17px}
 .landing-fold-label small{font-size:12px}
 .landing-fold-thumb{width:38px;height:50px;flex-basis:38px}
 .landing-fold-content{padding:12px}
 .landing-fold-content>.hero{gap:18px}
 .landing-fold-content .hero-copy{max-width:100%;margin:0;min-height:450px}
 .landing-fold-content .hero-copy .hero-poster-event small{font-size:16px}
 .landing-fold-content .hero-copy .hero-poster-event strong{font-size:27px;gap:6px}
 .landing-fold-content #edicion-2027 .portugal-poster-top{flex-wrap:wrap;gap:10px;padding:12px}
 .landing-fold-content #edicion-2027 .portugal-poster-top>b{font-size:32px}
 .landing-fold-content #edicion-2027 .portugal-poster-stamp{min-width:0;flex:1;font-size:10px}
 .landing-fold-content #edicion-2027 .portugal-poster-copy{padding:18px 10px}
 .landing-fold-content #edicion-2027 .portugal-poster-copy h3{font-size:28px}
 .landing-fold-content .rrss-heading{gap:10px}
 .landing-fold-content .rrss-heading h2{font-size:24px}
 .landing-fold-content .rrss-kicker{font-size:10px}
 .landing-fold-content .rrss-edition{padding:8px}
 .landing-fold-content .rrss-edition b{font-size:27px}
 .landing-fold-content .rrss-edition span{font-size:10px}
 .landing-fold-content .rrss-card{flex-basis:calc(100% - 20px)}
 .landing-fold-content .rrss-art img{height:300px}
 .landing-fold-close{width:calc(100% - 24px);margin:0 12px 12px}
}
@media(max-width:350px){.landing-folds.wrap{padding:12px}.landing-fold>summary{gap:8px}.landing-fold-label strong{font-size:16px}.landing-fold-thumb{width:30px;flex-basis:30px}.landing-fold-content{padding:10px}.landing-fold-content .rrss-card-actions a,.landing-fold-content .rrss-card-actions button{font-size:12px;gap:4px}}
@media(prefers-reduced-motion:reduce){.landing-fold-state svg{transition:none}}

/* The manuals use text links so external PDFs load only on request. */
.manual-archive.wrap { padding: 0; border: 0; background: transparent; box-shadow: none; }
.manual-archive summary { justify-content: space-between; }
.manual-archive summary h2 { margin: 0; font: 800 clamp(20px, 3vw, 28px)/1.15 'League Spartan', sans-serif; color: #203e32; }
.manual-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 6px 12px; border: 1px solid #a9ad98; border-radius: 4px; color: #823743; font-weight: 700; text-align: center; }
.manual-archive details[open] .manual-toggle b { transform: rotate(180deg); }
.manual-archive h3 { margin: 0 0 4px; color: #203e32; font-size: 18px; }
.manual-archive ul { padding: 0; margin: 0 0 20px; list-style: none; }
.manual-archive ul:last-child { margin-bottom: 0; }
.manual-archive li { border-bottom: 1px solid #dbcfb5; }
.manual-archive li a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; padding: 8px 2px; color: #203e32; text-decoration: none; }
.manual-archive li a:focus-visible { outline: 2px solid #823743; outline-offset: 2px; }
.manual-archive li small { display: block; color: #4c564a; line-height: 1.4; }
.manual-action { flex-shrink: 0; max-width: 42%; text-align: end; font-weight: 700; color: #823743; }
.manual-action span { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 480px) {
  .manual-archive summary { flex-wrap: wrap; }
  .manual-toggle { font-size: 14px; }
  .manual-archive li a { font-size: 15px; }
}

.manual-archive li.manual-edition {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 4px 14px;
  padding: 4px 2px;
}
.manual-archive .edition-actions { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.manual-archive .edition-actions a { min-height: 44px; padding: 2px; max-width: none; }
.manual-archive .edition-actions .manual-action { color: #823743; }
.manual-archive .manual-source { text-decoration: underline; text-underline-offset: 3px; }
