/* Expo Volcanes · L.A.V.A. Europe — palette of the printed fact sheets */
.xv{--sand:#EFE6D2;--sand-d:#D2C3A2;--ink:#2B211C;--ink-soft:#6B5E55;--lava:#C2410C;--lava-d:#9A3209;--peach:#F6C8A8;--white:#FBF6EC;--sea:#DDE5E7;
  font-family:Poppins,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--sand);border-radius:22px;padding:22px 24px 14px;box-sizing:border-box;line-height:1.45}
.xv *,.xv *::before,.xv *::after{box-sizing:border-box}
.xv h2,.xv h3,.xv p{margin:0}
.xv h2,.xv h3{font-family:inherit;text-transform:none;letter-spacing:normal}
.xv .xv-title{color:var(--ink)!important}.xv .xv-sheet h3{color:var(--ink)!important}
.xv-lang{display:flex;gap:4px;background:rgba(43,33,28,.08);border-radius:999px;padding:3px;margin-left:16px}.xv-lang button{border:0;background:transparent;font:700 12px Poppins,sans-serif;letter-spacing:.08em;padding:6px 12px;border-radius:999px;cursor:pointer;color:var(--ink-soft)}.xv-lang button.is-active{background:var(--lava);color:#fff}
.xv-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-top:6px solid var(--lava);padding-top:14px;margin-bottom:16px}
.xv-kicker{font-weight:700;font-size:11px;letter-spacing:.18em;color:var(--lava)}
.xv-title{font-weight:700;font-size:clamp(26px,4vw,44px);line-height:1.05;margin-top:4px;letter-spacing:-.01em}
.xv-sub{max-width:720px;margin-top:8px;font-size:14.5px;color:var(--ink-soft)}
.xv-logos{display:flex;gap:14px;align-items:center;flex-shrink:0}
.xv-logos img{height:38px;width:auto}
.xv-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:20px;align-items:stretch}
@media (max-width:900px){.xv-body{grid-template-columns:1fr}.xv-head{flex-direction:column}.xv-logos img{height:30px}}

/* map */
.xv-mapwrap{position:relative;background:var(--sea);border-radius:18px;overflow:hidden;min-height:320px;display:flex;flex-direction:column}
.xv-mapwrap .xv-map{flex:1 1 auto}
.xv-map{display:block;width:100%;height:auto}
.xv-sea{fill:#DDE5E7}
.xv-oc{fill:#F7F1E3;stroke:#fff;stroke-width:.9}
.xv-pc{fill:#D9541C;stroke:#fff;stroke-width:1.3;cursor:pointer;transition:fill .18s,filter .18s;outline:none}
.xv-pc:hover,.xv-pc:focus-visible{fill:#9A3209;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.xv-pc.is-active{fill:#2B211C}
.xv-lbl{cursor:pointer}
.xv-leader{stroke:#2B211C;stroke-width:1.2;opacity:.7}
.xv-lbl-box{fill:#FBF6EC;stroke:#2B211C;stroke-width:.8;opacity:.96;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.xv-lbl-country{font:700 9.5px Poppins,'Segoe UI',Arial,sans-serif;letter-spacing:.12em;fill:#C2410C}
.xv-lbl-volcano{font:600 10.5px Poppins,'Segoe UI',Arial,sans-serif;fill:#2B211C}
.xv-halo{fill:#C2410C;opacity:.35;transform-box:fill-box;transform-origin:center;animation:xvpulse 2.2s ease-out infinite}
.xv-pin{fill:#C2410C;stroke:#fff;stroke-width:2}
.xv-lbl.is-active .xv-lbl-box{fill:#2B211C}.xv-lbl.is-active .xv-lbl-volcano{fill:#fff}.xv-lbl.is-active .xv-lbl-country{fill:#F6C8A8}
.xv-lbl:hover .xv-lbl-box{fill:#F6C8A8}
.xv-geo{font:600 9px Poppins,'Segoe UI',Arial,sans-serif;letter-spacing:.16em;fill:#6B5E55}
@keyframes xvpulse{0%{transform:scale(.5);opacity:.5}100%{transform:scale(2.6);opacity:0}}
.xv-maphint{position:absolute;left:14px;top:12px;background:rgba(251,246,236,.92);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink-soft)}
.xv-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 12px;background:#D2DCDF}
.xv-chip{border:0;background:var(--white);color:var(--ink);font:600 12px Poppins,sans-serif;padding:6px 11px;border-radius:999px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.xv-chip:hover{background:var(--peach)}
.xv-chip.is-active{background:var(--lava);color:#fff}

/* panel */
.xv-panel{background:var(--white);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:420px;box-shadow:0 6px 20px rgba(43,33,28,.08)}
.xv-empty{margin:auto;text-align:center;color:var(--ink-soft);padding:40px}
.xv-empty-ico{font-size:54px;margin-bottom:8px}
.xv-photo{position:relative;aspect-ratio:4/3;background:#2B211C}
.xv-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:xvfade .5s ease}
@keyframes xvfade{from{opacity:0}to{opacity:1}}
.xv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0) 55%)}
.xv-photo-txt{position:absolute;left:18px;right:18px;bottom:14px;color:#fff;z-index:1}
.xv .xv-photo-txt .xv-country{color:#F6C8A8!important;font-size:11px;letter-spacing:.2em;font-weight:600;color:#F6C8A8}
.xv .xv-photo-txt h3{font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.05;margin:2px 0 2px;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.xv .xv-photo-txt .xv-place{color:#fff!important;font-size:12px;letter-spacing:.08em;font-weight:500;text-transform:uppercase;opacity:.9}
.xv-credit{position:absolute;right:10px;top:8px;font-size:9px;color:rgba(255,255,255,.8);z-index:1;text-shadow:0 1px 2px #000}
.xv-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 6px}
.xv-btn{border:0;border-radius:14px;padding:14px 12px;cursor:pointer;text-align:left;font-family:inherit;color:#fff;transition:transform .12s,filter .12s}
.xv-btn:hover{transform:translateY(-1px);filter:brightness(1.07)}
.xv-btn b{display:block;font-size:15px;line-height:1.1}
.xv-btn span{display:block;font-size:11px;opacity:.85;margin-top:4px}
.xv-btn-info{background:var(--lava)}
.xv-btn-culture{background:#3A2E28}
.xv-teaser{padding:8px 16px 16px;font-size:13.5px;color:var(--ink-soft)}
.xv-teaser b{color:var(--ink)}
.xv-nav{display:flex;justify-content:space-between;padding:0 16px 14px;margin-top:auto}
.xv-nav button{border:0;background:transparent;color:var(--lava);font:600 12px Poppins,sans-serif;cursor:pointer;padding:6px 0}
.xv-foot{margin-top:14px;font-size:10.5px;color:var(--ink-soft);text-align:right}

/* modal */
.xv-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.xv-modal[hidden]{display:none}
.xv-modal-bg{position:absolute;inset:0;background:rgba(43,33,28,.72);backdrop-filter:blur(2px)}
.xv-modal-box{position:relative;width:min(980px,100%);max-height:92vh;overflow:auto;background:var(--sand);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.4);animation:xvpop .22s ease}
@keyframes xvpop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
.xv-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(43,33,28,.85);color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:3}
.xv-mphoto{position:relative;height:clamp(180px,30vh,300px);background:#2B211C}.xv-mphoto img{width:100%;height:100%;object-fit:cover;display:block}.xv-mphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(43,33,28,.85),rgba(43,33,28,0) 60%)}.xv-mphoto-txt{position:absolute;left:28px;bottom:16px;z-index:1;color:#fff}.xv-mphoto-txt span{display:block;font-size:11px;letter-spacing:.2em;font-weight:600;color:#F6C8A8}.xv-mphoto-txt b{display:block;font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.05;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.xv-modal-box{scrollbar-width:thin;scrollbar-color:#C2410C #EFE6D2}.xv-modal-box::-webkit-scrollbar{width:10px}.xv-modal-box::-webkit-scrollbar-track{background:#EFE6D2;border-radius:0 20px 20px 0}.xv-modal-box::-webkit-scrollbar-thumb{background:#C2410C;border-radius:8px;border:2px solid #EFE6D2}.xv-modal-box::-webkit-scrollbar-thumb:hover{background:#9A3209}
.xv-trumps-row,.xv-chips{scrollbar-width:thin;scrollbar-color:#C2410C transparent}
.xv-modal-content{padding:0 0 26px}.xv-modal-content .xv-sheet{margin:18px 28px 0;border-top:0}
.xv-sheet{border-top:6px solid var(--lava);padding-top:12px}
.xv-sheet-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--lava)}
.xv-pill{background:var(--lava);color:#fff;border-radius:999px;padding:5px 12px;font-size:10px;letter-spacing:.12em;white-space:nowrap}
.xv-sheet h3{font-size:clamp(26px,4vw,42px);line-height:1;margin-top:10px;letter-spacing:-.01em}
.xv-sheet .xv-place{font-size:12.5px;letter-spacing:.14em;font-weight:500;color:var(--lava);text-transform:uppercase;margin-top:6px}
.xv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;margin-top:18px}
@media (max-width:720px){.xv-grid{grid-template-columns:1fr}}
.xv-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xv-tile{background:var(--ink);color:#fff;border-radius:8px;padding:10px 12px;min-height:66px}
.xv-tile small{display:block;font-size:9.5px;letter-spacing:.14em;color:var(--peach);font-weight:500}
.xv-tile b{display:block;font-size:14px;line-height:1.2;margin-top:3px}
.xv-lab{font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--lava);margin:18px 0 6px}
.xv-lab:first-child{margin-top:0}
.xv-vei{display:flex;gap:3px;margin:6px 0 4px}
.xv-vei i{flex:1;height:18px;border-radius:3px;opacity:.28}
.xv-vei i.on{opacity:1}
.xv-vei i.cur{outline:2px solid var(--ink);outline-offset:1px;opacity:1}
.xv-vei-txt{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-soft)}
.xv-vei-note{font-size:13px;margin-top:6px}
.xv-fact{background:var(--lava);color:#fff;border-radius:14px;padding:16px 18px;margin-top:16px}
.xv-fact .xv-lab{color:#fff;margin:0 0 6px}
.xv-fact p{font-size:15px;font-weight:500;line-height:1.45}
.xv-text{font-size:15px;line-height:1.55}
.xv-text b{font-weight:700}
.xv-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px;position:relative}
@media (max-width:720px){.xv-timeline{grid-template-columns:repeat(3,1fr)}}
.xv-timeline::before{content:"";position:absolute;left:2%;right:2%;top:5px;height:2px;background:var(--sand-d)}
.xv-tl{position:relative;padding-top:14px;font-size:11.5px;line-height:1.3}
.xv-tl::before{content:"";position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--lava);border:2px solid var(--sand)}
.xv-tl b{display:block;font-size:12px;color:var(--lava)}
.xv-cimg{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;background:#fff;border-radius:14px;padding:14px}
.xv-cimg img{max-width:100%;max-height:420px;width:auto;height:auto;border-radius:6px}
.xv-sheet-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:10px;border-top:1px solid var(--sand-d);font-size:9.5px;color:var(--ink-soft)}
.xv-sheet-foot b{font-size:10px;color:var(--ink);letter-spacing:.06em}
.xv-switch{display:flex;gap:8px;margin-top:20px}
.xv-switch button{flex:1;border:0;border-radius:12px;padding:12px;font:600 13px Poppins,sans-serif;cursor:pointer;color:#fff}
