/* L.A.V.A. Europe – visual WPBakery page. Applied to rows with the extra class "lava-sec". */
.lava-sec {
	--l-sand: #E4D7B8; --l-sand-l: #F4ECDA; --l-ink: #2B211C; --l-ink-2: #3A2E28; --l-ink-soft: #5B4E45;
	--l-lava: #E2531B; --l-lava-2: #C2410C; --l-lava-d: #9A3412; --l-gold: #FFB547; --l-peach: #E9B98F; --l-sea: #DDE5E7;
	--l-glow: radial-gradient(60% 80% at 50% 120%, rgba(226,83,27,.55), rgba(226,83,27,0) 70%);
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--l-ink-2); font-size: 16px; line-height: 1.65; overflow: hidden; position: relative;
}
.lava-sec *, .lava-sec *::before, .lava-sec *::after { box-sizing: border-box; }
.lava-sec h1, .lava-sec h2, .lava-sec h3, .lava-sec h4 { font-family: 'Poppins', system-ui, sans-serif; color: var(--l-ink-2); line-height: 1.12; margin: 0 0 .45em; letter-spacing: 0; }
.lava-sec h2 { font-size: clamp(30px, 4.2vw, 56px); font-weight: 800; text-transform: uppercase; }
.lava-sec h2 em { font-style: normal; color: var(--l-lava); }
.lava-sec h3 { font-size: 20px; font-weight: 700; }
.lava-sec p { margin: 0 0 1em; }
.lava-sec a { color: var(--l-lava-2); }
.lava-sec img { max-width: 100%; height: auto; border: 0; box-shadow: none; }
.lava-sec.vc_row, .lava-sec.wpb_row { padding-top: 96px; padding-bottom: 90px; margin-bottom: 0 !important; }
.lava-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--l-lava-2); margin-bottom: 14px; }
.lava-kicker::before { content: ''; width: 34px; height: 3px; border-radius: 3px; background: currentColor; }
.lava-lead { font-size: 19px; max-width: 760px; }
.lava-center { text-align: center; } .lava-center .lava-lead { margin-left: auto; margin-right: auto; }
.lava-bg-sand { background: var(--l-sand); }
.lava-bg-cream { background: var(--l-sand-l); }
.lava-bg-ink { background: var(--l-ink); color: rgba(255,255,255,.88); }
.lava-bg-ink h2, .lava-bg-ink h3 { color: #fff; }
.lava-bg-ink .lava-kicker { color: var(--l-gold); }
.lava-bg-sea { background: var(--l-sea); }
.lava-glow::after { content: ''; position: absolute; inset: auto 0 0 0; height: 70%; background: var(--l-glow); pointer-events: none; }
.lava-sec > .vc_column_container, .lava-sec .vc_column-inner, .lava-sec .wpb_wrapper { position: relative; z-index: 1; }
.lava-marker { font-family: 'Permanent Marker', 'Poppins', cursive; font-weight: 400; letter-spacing: .02em; text-transform: none; }

/* reveal on scroll (JS adds .is-in) */
.lava-js .reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.lava-js .reveal.is-in { opacity: 1; transform: none; }

/* ---------- HERO ---------- */
.lava-hero { min-height: 100vh; display: flex; align-items: center; color: #fff; padding-top: 120px !important; padding-bottom: 150px !important;
	background: #1a0f0a url('lava/hero-lava.jpg') 30% 50% / cover no-repeat; }
.lava-hero::before { content: ''; position: absolute; inset: 0; background:
	linear-gradient(90deg, rgba(18,10,7,.92) 0%, rgba(18,10,7,.7) 42%, rgba(18,10,7,.1) 78%),
	linear-gradient(0deg, rgba(18,10,7,.85) 0%, rgba(18,10,7,0) 35%); }
.lava-hero .lava-kicker { color: var(--l-gold); }
.lava-hero h1 { font-family: 'Permanent Marker', 'Poppins', cursive; color: #fff; font-weight: 400; font-size: clamp(70px, 13vw, 190px); line-height: .9; margin: 0; letter-spacing: .02em;
	text-shadow: 6px 6px 0 rgba(226,83,27,.55), 0 10px 40px rgba(0,0,0,.45); }
.lava-hero .lava-europe { display: block; font-family: 'Poppins', sans-serif; font-size: clamp(22px, 3.2vw, 44px); font-weight: 800; letter-spacing: .5em; color: var(--l-gold); margin: 6px 0 14px 6px; }
.lava-hero .lava-sub { font-size: clamp(13px, 1.4vw, 17px); font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: #fff; margin-bottom: 26px; }
.lava-hero .lava-lead { color: rgba(255,255,255,.9); max-width: 600px; font-size: 18px; }
.lava-hero .lava-credit { position: absolute; right: 18px; bottom: 12px; font-size: 11px; color: rgba(255,255,255,.6); z-index: 2; }
.lava-hero::after { content: ''; position: absolute; left: 50%; bottom: 96px; z-index: 2; width: 18px; height: 18px; margin-left: -9px; border-right: 3px solid rgba(255,255,255,.8); border-bottom: 3px solid rgba(255,255,255,.8); transform: rotate(45deg); animation: lava-scroll 1.8s ease-in-out infinite; }
@keyframes lava-scroll { 0%, 100% { opacity: .2; translate: 0 -8px; } 50% { opacity: 1; translate: 0 6px; } }
.lava-hero-badges { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 22px; }
.lava-hero-badges span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(6px); padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: #fff; }

/* buttons */
.lava-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.lava-btn, .lava-sec a.lava-btn { display: inline-flex; align-items: center; gap: 10px; background: linear-gradient(135deg, var(--l-lava), var(--l-lava-2)); color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: 15.5px; padding: 16px 28px; border-radius: 999px; box-shadow: 0 10px 30px rgba(226,83,27,.38); transition: transform .2s, box-shadow .2s, background .2s; }
.lava-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(226,83,27,.5); }
.lava-btn::after { content: '→'; font-size: 1.1em; }
.lava-btn.ghost, .lava-sec a.lava-btn.ghost { background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.8); box-shadow: none; }
.lava-btn.ghost:hover, .lava-sec a.lava-btn.ghost:hover { background: rgba(255,255,255,.18); }
.lava-btn.dark { background: var(--l-ink-2); box-shadow: none; }

/* counters strip (overlaps the hero bottom) */
.lava-counter-row.vc_row, .lava-counter-row.wpb_row { padding-top: 0 !important; padding-bottom: 0 !important; background: transparent; overflow: visible; z-index: 3; }
.lava-counters { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0; margin-top: -78px; background: #fff; border-radius: 22px; box-shadow: 0 24px 60px rgba(43,33,28,.22); overflow: hidden; }
.lava-counter { padding: 28px 18px 24px; text-align: center; position: relative; }
.lava-counter + .lava-counter::before { content: ''; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: #eadfca; }
.lava-counter b { display: block; font-size: clamp(38px, 5vw, 60px); line-height: 1; font-weight: 800; background: linear-gradient(180deg, var(--l-gold), var(--l-lava) 60%, var(--l-lava-d)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lava-counter span { display: block; margin-top: 6px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--l-ink-soft); }

/* split layouts */
.lava-split { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.lava-split.rev > :first-child { order: 2; }
.lava-collage { position: relative; min-height: 460px; }
.lava-collage .lava-img { position: absolute; border-radius: 22px; object-fit: cover; box-shadow: 0 24px 50px rgba(43,33,28,.25); }
.lava-collage .c1 { width: 78%; height: 340px; right: 0; top: 0; }
.lava-collage .c2 { width: 58%; height: 250px; left: 0; bottom: 0; border: 8px solid #fff; }
.lava-collage .lava-float { position: absolute; right: 6%; bottom: 30px; background: var(--l-ink); color: #fff; border-radius: 18px; padding: 16px 20px; box-shadow: 0 14px 30px rgba(0,0,0,.25); max-width: 220px; }
.lava-collage .lava-float b { display: block; font-size: 34px; line-height: 1; color: var(--l-gold); }
.lava-collage .lava-float span { font-size: 13px; }

/* objective cards with photos */
.lava-obj { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 40px; }
.lava-obj > div { position: relative; min-height: 340px; border-radius: 22px; overflow: hidden; color: #fff; padding: 22px 20px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--l-ink) center / cover no-repeat; transition: transform .35s ease; }
.lava-obj > div::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,12,8,.1) 20%, rgba(20,12,8,.88) 100%); transition: background .35s; }
.lava-obj > div:hover { transform: translateY(-6px); }
.lava-obj > div:hover::before { background: linear-gradient(180deg, rgba(194,65,12,.25) 0%, rgba(20,12,8,.92) 100%); }
.lava-obj > div > * { position: relative; }
.lava-obj .n { font-family: 'Permanent Marker', cursive; font-size: 46px; line-height: 1; color: var(--l-gold); margin-bottom: 8px; }
.lava-obj h3 { color: #fff; font-size: 19px; margin: 0 0 6px; }
.lava-obj p { font-size: 14px; margin: 0; color: rgba(255,255,255,.88); }
.lava-obj .o1 { background-image: url('lava/night.jpg'); } .lava-obj .o2 { background-image: url('lava/isora.jpg'); }
.lava-obj .o3 { background-image: url('lava/is.jpg'); } .lava-obj .o4 { background-image: url('lava/teide2.jpg'); }
.lava-obj .o5 { background-image: url('lava/gr.jpg'); }

/* activities: path */
.lava-acts { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px; margin-top: 50px; }
.lava-acts::before { content: ''; position: absolute; left: 6%; right: 6%; top: 38px; height: 3px; background: linear-gradient(90deg, var(--l-gold), var(--l-lava), var(--l-lava-d)); border-radius: 3px; box-shadow: 0 0 18px rgba(226,83,27,.7); }
.lava-act { position: relative; text-align: center; }
.lava-act .ico { width: 78px; height: 78px; margin: 0 auto 18px; border-radius: 50%; background: var(--l-ink-2) center / 38px no-repeat; border: 3px solid var(--l-lava); box-shadow: 0 0 0 8px rgba(226,83,27,.15), 0 0 30px rgba(226,83,27,.45); }
.lava-act h3 { color: #fff; font-size: 18px; }
.lava-act p { font-size: 14.5px; color: rgba(255,255,255,.78); }
.lava-act .ico-hike { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 3 4 8 5-5 5 15H2L8 3z'/%3E%3C/svg%3E"); }
.lava-act .ico-culture { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20'/%3E%3C/svg%3E"); }
.lava-act .ico-create { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.1-3.1a2 2 0 0 0-2.8 0L6 21'/%3E%3C/svg%3E"); }
.lava-act .ico-community { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.lava-act .ico-eval { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB547' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E"); }
.lava-acts-sec::before { content: ''; position: absolute; right: -50px; bottom: -40px; width: 380px; height: 370px; background: url('lava/fountain.webp') center / contain no-repeat; opacity: .35; mix-blend-mode: screen; pointer-events: none; z-index: 0; }
.lava-act .ico { display: block; font-size: 0; color: transparent; }

/* Europe map */
.lava-eumap { margin: 34px 0 0; border-radius: 26px; overflow: hidden; box-shadow: 0 24px 60px rgba(43,33,28,.18); background: var(--l-sea); }
.lava-eumap img { display: block; width: 100%; height: auto; }

/* partner cards */
.lava-partners { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
.lava-partner { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 28px rgba(43,33,28,.10); transition: transform .3s, box-shadow .3s; }
.lava-partner:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(43,33,28,.18); }
.lava-partner .img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--l-ink); }
.lava-partner .img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.lava-partner:hover .img img { transform: scale(1.08); }
.lava-partner .place { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 9px; font-size: 12px; font-weight: 600; letter-spacing: .05em; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.7)); }
.lava-partner .txt { padding: 16px 18px 18px; }
.lava-partner h3 { font-size: 21px; margin: 0 0 2px; }
.lava-partner .org { font-size: 14px; color: var(--l-ink-soft); margin: 0; }
.lava-partner .sheets { font-size: 12.5px; font-weight: 600; color: var(--l-lava-2); margin: 8px 0 0; }

/* interactive map section */
.lava-map-wrap .vdt { margin-top: 26px; box-shadow: 0 30px 70px rgba(0,0,0,.35); }
.lava-play { display: inline-flex; align-items: center; gap: 8px; background: var(--l-gold); color: var(--l-ink) !important; font-weight: 800; letter-spacing: .14em; font-size: 12px; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; margin-bottom: 14px; }

/* exhibition marquee */
.lava-marquee { width: 100vw; margin: 44px 0 0 calc(50% - 50vw); display: flex; flex-direction: column; gap: 14px; }
.lava-mq-row { overflow: hidden; }
.lava-mq-track { display: flex; gap: 14px; width: max-content; animation: lava-mq 60s linear infinite; }
.lava-mq-row.rev .lava-mq-track { animation-direction: reverse; animation-duration: 70s; }
.lava-marquee:hover .lava-mq-track { animation-play-state: paused; }
.lava-mq-track figure { position: relative; margin: 0; width: 300px; height: 210px; border-radius: 16px; overflow: hidden; flex: 0 0 auto; }
.lava-mq-track img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lava-mq-track figcaption { position: absolute; left: 12px; bottom: 10px; color: #fff; font-weight: 700; font-size: 14px; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
@keyframes lava-mq { to { transform: translateX(-50%); } }
.lava-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 30px; }
.lava-stats div { background: #fff; border-radius: 18px; padding: 20px; text-align: center; box-shadow: 0 8px 22px rgba(43,33,28,.08); }
.lava-stats b { display: block; font-size: 40px; line-height: 1; font-weight: 800; color: var(--l-lava-2); }
.lava-stats span { font-size: 13px; color: var(--l-ink-soft); }

/* venue */
.lava-venue { display: grid; grid-template-columns: 1.2fr 1fr; gap: 18px; }
.lava-venue .lava-img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; border-radius: 20px; display: block; }
.lava-venue .big { grid-row: span 2; }

/* info cards */
.lava-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.lava-box { position: relative; background: #fff; border-radius: 20px; padding: 26px 26px 22px; box-shadow: 0 10px 28px rgba(43,33,28,.08); }
.lava-box h3 { display: flex; align-items: center; gap: 12px; font-size: 17px; text-transform: uppercase; letter-spacing: .06em; color: var(--l-ink-2); }
.lava-box h3::before { content: ''; flex: 0 0 44px; height: 44px; border-radius: 14px; background: var(--l-lava-2) center / 24px no-repeat; }
.lava-box.i-home h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-7 9 7v10a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
.lava-box.i-food h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2M7 2v20M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3zm0 0v7'/%3E%3C/svg%3E"); }
.lava-box.i-plane h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E"); }
.lava-box.i-rules h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E"); }
.lava-box.i-euro h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12M4 14h9M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2'/%3E%3C/svg%3E"); }
.lava-box.i-bag h3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M8 14h8'/%3E%3C/svg%3E"); }
.lava-box ul { margin: 0; padding-left: 18px; } .lava-box li { margin-bottom: 5px; font-size: 15px; }
.lava-box p { font-size: 15px; }
.lava-table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 0; }
.lava-table td { padding: 8px 4px; border-bottom: 1px solid #eee3cc; border-top: 0; }
.lava-table td:last-child { text-align: right; font-weight: 800; color: var(--l-lava-2); white-space: nowrap; }

/* weather strip */
.lava-weather { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 22px; border-radius: 18px; overflow: hidden; }
.lava-weather div { padding: 18px; color: #fff; text-align: center; }
.lava-weather b { display: block; font-size: 24px; line-height: 1.15; white-space: nowrap; }
.lava-weather span { font-size: 13px; opacity: .9; }
.lava-weather .w1 { background: #E2531B; } .lava-weather .w2 { background: #C2410C; } .lava-weather .w3 { background: #3A2E28; }

/* contact */
.lava-contact-sec { background: #120a07 url('lava/night.jpg') center / cover no-repeat; color: #fff; text-align: center; padding-top: 130px !important; padding-bottom: 130px !important; }
.lava-contact-sec::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,10,7,.82), rgba(18,10,7,.55) 50%, rgba(18,10,7,.88)); }
.lava-contact-sec h2 { color: #fff; font-family: 'Permanent Marker', cursive; font-weight: 400; font-size: clamp(44px, 7vw, 96px); text-transform: none; text-shadow: 4px 4px 0 rgba(226,83,27,.55); }
.lava-contact-sec .lava-kicker { color: var(--l-gold); }
.lava-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 18px; }
.lava-contact a { display: inline-block; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(6px); color: #fff !important; text-decoration: none !important; padding: 11px 18px; border-radius: 999px; font-weight: 600; font-size: 15px; transition: background .2s; }
.lava-contact a:hover { background: var(--l-lava); border-color: var(--l-lava); }
.lava-contact-sec .lava-btns { justify-content: center; }

/* funding footer */
.lava-funding { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.lava-funding .logos { display: flex; gap: 18px; align-items: center; background: #fff; border-radius: 14px; padding: 12px 18px; }
.lava-funding .logos .lava-img { height: 56px; width: auto; }
.lava-funding p { flex: 1 1 320px; font-size: 13px; color: var(--l-ink-soft); margin: 0; }
.lava-credits { font-size: 11.5px; color: var(--l-ink-soft); margin-top: 22px; line-height: 1.5; }
.lava-sec.lava-foot.vc_row, .lava-sec.lava-foot.wpb_row { padding-top: 46px; padding-bottom: 40px; }

/* responsive */
@media (max-width: 1100px) {
	.lava-obj { grid-template-columns: repeat(3, 1fr); }
	.lava-partners { grid-template-columns: repeat(3, 1fr); }
	.lava-acts { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
	.lava-acts::before { display: none; }
	.lava-info { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.lava-sec.vc_row, .lava-sec.wpb_row { padding-top: 64px; padding-bottom: 60px; }
	.lava-hero { min-height: 92vh; padding-bottom: 130px !important; background-position: 62% 50%; }
	.lava-hero::before { background: linear-gradient(180deg, rgba(18,10,7,.55), rgba(18,10,7,.88)); }
	.lava-hero .lava-credit { position: static; display: block; margin-top: 22px; }
	.lava-counters { margin-top: -60px; }
	.lava-counter { padding: 22px 8px 18px; }
	.lava-counter span { font-size: 10.5px; letter-spacing: .04em; }
	.lava-split, .lava-venue { grid-template-columns: 1fr; gap: 30px; }
	.lava-split.rev > :first-child { order: 0; }
	.lava-collage { min-height: 360px; }
	.lava-collage .c1 { height: 250px; } .lava-collage .c2 { height: 180px; }
	.lava-obj { grid-template-columns: 1fr 1fr; } .lava-obj > div { min-height: 260px; }
	.lava-obj > div:last-child { grid-column: span 2; }
	.lava-partners { grid-template-columns: 1fr 1fr; gap: 12px; }
	.lava-partner h3 { font-size: 17px; } .lava-partner .org, .lava-partner .sheets { font-size: 12px; }
	.lava-acts { grid-template-columns: 1fr 1fr; }
	.lava-info, .lava-stats { grid-template-columns: 1fr 1fr; }
	.lava-info { grid-template-columns: 1fr; }
	.lava-mq-track figure { width: 220px; height: 150px; }
	.lava-lead { font-size: 17px; }
	.lava-acts-sec::before { width: 220px; height: 210px; }
}
@media (prefers-reduced-motion: reduce) {
	.lava-mq-track, .lava-hero::after { animation: none; }
	.lava-js .reveal { opacity: 1; transform: none; transition: none; }
}

/* keep the interactive map's own typography inside themed sections */
.lava-sec .vdt h2.vdt-h2 { font-size: 27px; font-weight: 700; color: #3A2E28; text-transform: uppercase; line-height: 1.08; margin: 0 0 4px; }
.lava-sec .vdt p { margin: 0 0 .7em; }
.lava-sec .vdt img { max-width: none; }

/* ---------- Results: cards + photo gallery (v1.3) ---------- */
.lava-res { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 40px; }
.lava-sec a.lava-res-card { position: relative; display: flex; align-items: flex-end; min-height: 300px; border-radius: 22px; overflow: hidden; color: #fff; text-decoration: none; box-shadow: 0 14px 34px rgba(43,33,28,.18); isolation: isolate; }
.lava-res-card .lava-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s ease; }
.lava-res-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(43,33,28,0) 30%, rgba(43,33,28,.88)); }
.lava-res-card:hover .lava-img { transform: scale(1.06); }
.lava-res-card .t { padding: 24px; }
.lava-res-card .tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; background: var(--l-lava); color: #fff; padding: 5px 10px; border-radius: 999px; margin-bottom: 10px; }
.lava-res-card .tag.soon { background: rgba(255,255,255,.2); }
.lava-sec .lava-res-card h3 { color: #fff; font-size: 21px; margin: 0 0 4px; }
.lava-res-card p { margin: 0; font-size: 14.5px; color: rgba(255,255,255,.88); line-height: 1.5; }
.lava-gal-title { margin-top: 56px !important; text-align: center; font-size: 15px !important; letter-spacing: .22em; text-transform: uppercase; color: var(--l-lava-2) !important; }
.lava-gal { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 12px; margin-top: 22px; }
.lava-gal figure { margin: 0; position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--l-sand); }
.lava-gal figure:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.lava-gal a { display: block; height: 100%; }
.lava-gal img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .5s ease; }
.lava-gal figure:hover img { transform: scale(1.05); }
.lava-gal figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 12px 8px; font-size: 12.5px; color: #fff; background: linear-gradient(180deg, transparent, rgba(0,0,0,.7)); }
.lava-gal-empty { margin-top: 22px; border: 2px dashed rgba(194,65,12,.35); border-radius: 22px; padding: 38px 24px; text-align: center; background: rgba(255,255,255,.55); }
.lava-gal-empty .cam { display: inline-block; width: 58px; height: 58px; border-radius: 18px; margin-bottom: 12px; background: var(--l-lava-2) center / 30px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E"); }
.lava-gal-empty p { margin: 0 auto; max-width: 520px; font-weight: 600; color: var(--l-ink-soft); }
@media (max-width: 900px) {
	.lava-res { grid-template-columns: 1fr; }
	.lava-sec a.lava-res-card { min-height: 230px; }
	.lava-gal { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Impreza theme compatibility (v1.3) ---------- */
/* Hide the theme's page-title band on the LAVA page and let the LAVA rows use the full width. */
body:has(.lava-sec) .l-main > .l-section:first-child:not(:has(.lava-sec)) { display: none !important; }
.l-section:not(.lava-sec):has(.lava-sec) { padding: 0 !important; }
.l-section:not(.lava-sec):has(.lava-sec) > .l-section-h { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.l-section:not(.lava-sec):has(.lava-sec) > .l-section-h > .g-cols { margin-left: 0 !important; margin-right: 0 !important; }
.l-section:not(.lava-sec):has(.lava-sec) > .l-section-h > .g-cols > .wpb_column > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
.lava-hero > .l-section-h { width: 100%; }
