@import url(‘https://fonts.googleapis.com/css2?family=Expletus+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Roboto:wght@300;400;500&display=swap’); :root { –plum: #70217C; –plum-60: #70217C99; –plum-85: #70217CD9; –dark: #2B1130; –darker: #1a0a1f; –white: #FFFFFF; –white-60: rgba(255,255,255,0.6); –white-20: rgba(255,255,255,0.12); –container: 1290px; –font-display: ‘Expletus Sans’, serif; –font-body: ‘Roboto’, sans-serif; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } #nomad-landing h1, #nomad-landing h2, #nomad-landing h3, #nomad-landing h4, #nomad-landing p, #nomad-landing a { color: inherit; } html { scroll-behavior: smooth; } body { background: var(–darker); color: var(–white); font-family: var(–font-body); font-weight: 400; overflow-x: hidden; cursor: auto; } #nomad-landing, #nomad-landing * { cursor: auto !important; } /* Custom cursor */ .cursor, .cursor-ring { display: none !important; } /* Grain overlay */ body::before { content: ”; position: fixed; inset: 0; background-image: url(„data:image/svg+xml,%3Csvg viewBox=’0 0 256 256′ xmlns=’http://www.w3.org/2000/svg’%3E%3Cfilter id=’noise’%3E%3CfeTurbulence type=’fractalNoise’ baseFrequency=’0.9′ numOctaves=’4′ stitchTiles=’stitch’/%3E%3C/filter%3E%3Crect width=’100%25′ height=’100%25′ filter=’url(%23noise)’ opacity=’0.05’/%3E%3C/svg%3E”); pointer-events: none; z-index: 100; opacity: 0.4; } /* Nav */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 500; padding: 24px 48px; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(to bottom, rgba(27,10,31,0.9) 0%, transparent 100%); backdrop-filter: blur(0px); transition: background 0.4s, backdrop-filter 0.4s; } nav.scrolled { background: rgba(27,10,31,0.95); backdrop-filter: blur(12px); padding: 16px 48px; } nav .logo img { height: 48px; } nav .nav-links { display: flex; gap: 40px; list-style: none; } nav .nav-links a { font-family: var(–font-display); font-size: 13px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(–white-60); text-decoration: none; transition: color 0.2s; } nav .nav-links a:hover { color: var(–white); } nav .nav-cta { font-family: var(–font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(–white); background: var(–plum); padding: 10px 28px; text-decoration: none; border: 1px solid var(–plum); transition: background 0.2s, color 0.2s; } nav .nav-cta:hover { background: transparent; color: var(–white); } /* HERO */ #hero { position: sticky; top: 0; height: 100vh; min-height: 700px; display: flex; align-items: center; justify-content: center; text-align: center; clip-path: inset(0); z-index: 0; padding-bottom: 50px; } .hero-bg { position: absolute; inset: 0; background-image: url(‘https://nomadgathering.com/wp-content/uploads/2025/04/NOMAD-BG-scaled-1.webp’); background-size: cover; background-position: center; transform: scale(1.1); transition: transform 0.1s linear; } .hero-bg::after { content: ”; position: absolute; inset: 0; background: linear-gradient( 180deg, rgba(27,10,31,0.3) 0%, rgba(43,17,48,0.55) 40%, rgba(27,10,31,0.92) 100% ); } /* Psychedelic blobs */ .hero-blobs { position: absolute; inset: 0; overflow: hidden; z-index: 1; filter: blur(60px) saturate(1.4); } .blob { position: absolute; border-radius: 50%; mix-blend-mode: screen; opacity: 0.55; } .blob-1 { width: 700px; height: 700px; background: radial-gradient(circle, #9B1EB5 0%, transparent 70%); top: -10%; left: -10%; animation: blobDrift1 14s ease-in-out infinite; } .blob-2 { width: 500px; height: 500px; background: radial-gradient(circle, #3D0A6B 0%, transparent 70%); bottom: -5%; right: -5%; animation: blobDrift2 18s ease-in-out infinite; } .blob-3 { width: 400px; height: 400px; background: radial-gradient(circle, #C2185B 0%, transparent 70%); top: 30%; left: 60%; animation: blobDrift3 12s ease-in-out infinite; opacity: 0.3; } .blob-4 { width: 350px; height: 350px; background: radial-gradient(circle, #1A237E 0%, transparent 70%); top: 60%; left: 20%; animation: blobDrift4 16s ease-in-out infinite; opacity: 0.35; } .blob-5 { width: 250px; height: 250px; background: radial-gradient(circle, #00838F 0%, transparent 70%); top: 20%; left: 40%; animation: blobDrift5 10s ease-in-out infinite; opacity: 0.2; } @keyframes blobDrift1 { 0% { transform: translate(0,0) scale(1); } 33% { transform: translate(12%, 18%) scale(1.12); } 66% { transform: translate(-8%, 10%) scale(0.95); } 100% { transform: translate(0,0) scale(1); } } @keyframes blobDrift2 { 0% { transform: translate(0,0) scale(1); } 40% { transform: translate(-15%, -12%) scale(1.18); } 70% { transform: translate(-5%, -20%) scale(0.9); } 100% { transform: translate(0,0) scale(1); } } @keyframes blobDrift3 { 0% { transform: translate(0,0) scale(1) rotate(0deg); } 50% { transform: translate(-20%, 15%) scale(1.3) rotate(45deg); } 100% { transform: translate(0,0) scale(1) rotate(0deg); } } @keyframes blobDrift4 { 0% { transform: translate(0,0) scale(1); } 45% { transform: translate(18%, -10%) scale(1.15); } 100% { transform: translate(0,0) scale(1); } } @keyframes blobDrift5 { 0% { transform: translate(0,0) scale(1); } 30% { transform: translate(-10%, 20%) scale(1.4); } 60% { transform: translate(15%, -5%) scale(0.8); } 100% { transform: translate(0,0) scale(1); } } /* SVG turbulence displacement overlay */ .hero-distort { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.18; mix-blend-mode: overlay; } /* Pulsing center glow */ .hero-glow { position: absolute; width: 600px; height: 600px; background: radial-gradient(circle, rgba(112,33,124,0.55) 0%, transparent 70%); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; animation: pulse 5s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; } 50% { transform: translate(-50%, -50%) scale(1.25); opacity: 1; } } .hero-content { position: relative; z-index: 2; max-width: 900px; padding: 90px 24px 50px !important; margin-top: 0 !important; } .hero-eyebrow { font-family: var(–font-display); font-size: 11px; font-weight: 500; letter-spacing: 0.35em; text-transform: uppercase; color: var(–plum); margin-bottom: 24px; opacity: 0; animation: fadeUp 0.8s ease 0.2s forwards; } .hero-logo { width: 120px; margin-bottom: 22px; opacity: 0; animation: fadeUp 0.8s ease 0.4s forwards; } .hero-name { font-family: var(–font-display); font-size: 17px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(–white); margin-bottom: 24px; opacity: 0; animation: fadeUp 0.8s ease 0.55s forwards; } .hero-countdown-label { font-family: var(–font-body); font-size: 12px; font-weight: 300; letter-spacing: 0.15em; text-transform: uppercase; color: var(–white-60); margin-bottom: 20px; opacity: 0; animation: fadeUp 0.8s ease 1.1s forwards; } .hero-countdown-inline { display: flex; gap: 24px; justify-content: center; margin-bottom: 38px; opacity: 0; animation: fadeUp 0.8s ease 1.2s forwards; } .hero-countdown-inline .cd-num { font-family: var(–font-display); font-size: clamp(28px, 4vw, 44px); font-weight: 700; display: block; line-height: 1; color: var(–white); } .hero-countdown-inline .cd-label { font-family: var(–font-body); font-size: 10px; font-weight: 300; letter-spacing: 0.25em; text-transform: uppercase; color: var(–white-60); margin-top: 6px; display: block; } .hero-countdown-inline .cd-sep { font-family: var(–font-display); font-size: 30px; color: var(–plum); line-height: 1.1; align-self: flex-start; margin-top: 4px; } .hero-title { font-family: var(–font-display); font-size: clamp(12px, 1.6vw, 14px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(–white-60); line-height: 1.9; margin-bottom: 26px; opacity: 0; animation: fadeUp 0.8s ease 0.6s forwards; } .hero-title span { color: var(–white); } .hero-date { font-family: var(–font-display); font-size: clamp(26px, 4vw, 46px); font-weight: 600; letter-spacing: -0.01em; line-height: 1.1; margin-bottom: 16px; color: #ffffff !important; opacity: 0; animation: fadeUp 0.8s ease 0.8s forwards; } .hero-location { font-family: var(–font-body); font-size: 13px; font-weight: 300; letter-spacing: 0.2em; text-transform: uppercase; color: var(–white-60); margin-bottom: 30px; opacity: 0; animation: fadeUp 0.8s ease 1s forwards; } .hero-cta-wrap { display: flex; gap: 16px; justify-content: center; opacity: 0; animation: fadeUp 0.8s ease 1.2s forwards; } .btn-primary { display: inline-block; font-family: var(–font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(–white); background: var(–plum); padding: 15px 44px; text-decoration: none; border: 2px solid var(–plum); transition: background 0.25s, transform 0.2s, box-shadow 0.25s; position: relative; overflow: hidden; } .btn-primary::before { content: ”; position: absolute; inset: 0; background: rgba(255,255,255,0.06); transform: translateX(-100%); transition: transform 0.3s ease; } .btn-primary:hover::before { transform: translateX(0); } .btn-primary:hover { box-shadow: 0 0 40px rgba(112,33,124,0.6); transform: translateY(-2px); } .btn-ghost { display: inline-block; font-family: var(–font-display); font-size: 14px; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(–white-60); background: transparent; padding: 15px 44px; text-decoration: none; border: 2px solid var(–white-20); transition: border-color 0.25s, color 0.25s; } .btn-ghost:hover { border-color: var(–white-60); color: var(–white); } .cd-item { text-align: center; } /* Scroll hint */ .scroll-hint { position: absolute; bottom: 24px; right: 48px; display: flex; align-items: center; gap: 12px; font-family: var(–font-body); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(–white-60); z-index: 2; writing-mode: vertical-rl; } .scroll-hint::before { content: ”; width: 1px; height: 40px; background: var(–white-20); display: block; animation: scrollLine 1.5s ease infinite; } @keyframes scrollLine { 0% { height: 40px; opacity: 1; } 100% { height: 0; opacity: 0; } } @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } /* Sections base */ section { padding: 120px 48px; } .container { max-width: var(–container); margin: 0 auto; } .section-label { font-family: var(–font-display); font-size: 11px; font-weight: 500; letter-spacing: 0.4em; text-transform: uppercase; color: var(–plum); margin-bottom: 20px; } .section-title { font-family: var(–font-display); font-size: clamp(28px, 4vw, 48px); font-weight: 600; line-height: 1.15; margin-bottom: 24px; } .section-body { font-size: 17px; font-weight: 400; line-height: 1.8; color: var(–white-60); max-width: 560px; } /* Reveal animation */ .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.8s ease, transform 0.8s ease; } .reveal.visible { opacity: 1; transform: translateY(0); } .reveal-delay-1 { transition-delay: 0.1s; } .reveal-delay-2 { transition-delay: 0.2s; } .reveal-delay-3 { transition-delay: 0.3s; } .reveal-delay-4 { transition-delay: 0.4s; } /* Minden szekció a hero felett csúszik */ #stats, #about, #vibes, #stages, #lineup, #location, #tickets, #faq, footer { position: relative; z-index: 1; } /* STATS BAR */ #stats { padding: 0; background: var(–plum); overflow: hidden; } .stats-inner { display: flex; align-items: center; padding: 32px 48px; max-width: var(–container); margin: 0 auto; gap: 0; } .stat { flex: 1; text-align: center; padding: 0 24px; position: relative; } .stat + .stat::before { content: ”; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 40px; background: rgba(255,255,255,0.25); } .stat-num { font-family: var(–font-display); font-size: 36px; font-weight: 700; display: block; } .stat-label { font-size: 12px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.7); display: block; margin-top: 4px; } /* MI EZ */ #about { background: var(–darker); padding: 140px 48px; } .about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; } .about-video-outer { position: relative; padding-bottom: 28px; } .about-video-wrap { position: relative; aspect-ratio: 16/9; overflow: hidden; background: url(‘https://nomadgathering.com/wp-content/uploads/2025/04/NOMAD-BG-scaled-1.webp’) center/cover no-repeat; } .about-video { width: 100%; height: 100%; object-fit: cover; display: block; } .video-play-btn { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(27,10,31,0.35); border: none; cursor: pointer; transition: background 0.3s; padding: 0; } .video-play-btn svg { width: 72px; height: 72px; transition: transform 0.2s; } .video-play-btn:hover { background: rgba(27,10,31,0.15); } .video-play-btn:hover svg { transform: scale(1.1); } .video-play-btn.hidden { display: none; } /* Video glass label — videó alatt középen */ .video-glass-label { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 4; padding: 13px 28px; background: rgba(43, 17, 48, 0.45); backdrop-filter: blur(20px) saturate(1.8); -webkit-backdrop-filter: blur(20px) saturate(1.8); border: 1px solid rgba(255,255,255,0.13); border-top: 1px solid rgba(112,33,124,0.5); border-radius: 0 0 2px 2px; white-space: nowrap; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.3), 0 0 0 0.5px rgba(112,33,124,0.2); } .video-glass-label::before { content: ”; position: absolute; inset: 0; background: linear-gradient( 105deg, rgba(112,33,124,0.25) 0%, rgba(255,255,255,0.03) 45%, rgba(112,33,124,0.2) 100% ); animation: glassShimmer 5s ease-in-out infinite; } @keyframes glassShimmer { 0%, 100% { opacity: 0.6; transform: translateX(-12%) skewX(-4deg); } 50% { opacity: 1; transform: translateX(12%) skewX(4deg); } } .video-glass-label span { position: relative; z-index: 1; font-family: var(–font-display); font-size: 14px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.9); text-shadow: 0 1px 16px rgba(112,33,124,0.7); } .about-text .section-body { margin-bottom: 40px; } /* HANGULAT */ #vibes { position: relative; scroll-margin-top: 110px; background: radial-gradient(circle at 12% 10%, rgba(194,24,91,0.22), transparent 34%), radial-gradient(circle at 88% 28%, rgba(0,131,143,0.14), transparent 30%), linear-gradient(180deg, #24102a 0%, var(–dark) 45%, #17081d 100%); padding: 150px 48px; overflow: hidden; } #vibes::before { content: ”; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px); background-size: 92px 92px; mask-image: radial-gradient(circle at center, black 0%, transparent 76%); pointer-events: none; } .vibes-header { position: relative; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.55fr); gap: 48px; align-items: end; margin-bottom: 56px; } .vibes-header .section-title { margin-bottom: 0; max-width: 680px; } .vibes-copy { color: var(–white-60); font-size: 15px; line-height: 1.8; padding-left: 28px; border-left: 1px solid rgba(255,255,255,0.16); } .vibes-grid { position: relative; display: grid; grid-template-columns: 1.35fr 0.85fr 0.85fr; grid-auto-rows: minmax(170px, 13vw); gap: 14px; } .vibe-card { position: relative; display: block; min-height: 0; overflow: hidden; background: #120716; border: 1px solid rgba(255,255,255,0.09); isolation: isolate; transform: translateZ(0); } .vibe-card.feature { grid-row: span 2; } .vibe-card.tall { grid-row: span 2; } .vibe-card.wide { grid-column: span 2; } .vibe-card.large { grid-column: span 2; grid-row: span 2; } .vibe-card img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.9) contrast(1.08) brightness(0.86); transform: scale(1.02); transition: transform 0.75s ease, filter 0.75s ease; } .vibe-card::before { content: ”; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 35%, rgba(18,7,22,0.86) 100%), radial-gradient(circle at var(–x, 50%) var(–y, 50%), rgba(112,33,124,0.5), transparent 34%); opacity: 0.72; transition: opacity 0.45s ease; } .vibe-card::after { content: ”; position: absolute; inset: 10px; z-index: 2; border: 1px solid rgba(255,255,255,0.18); opacity: 0; transform: scale(0.96); transition: opacity 0.45s ease, transform 0.45s ease; } .vibe-card:hover img { transform: scale(1.09); filter: saturate(1.12) contrast(1.12) brightness(0.98); } .vibe-card:hover::before { opacity: 0.5; } .vibe-card:hover::after { opacity: 1; transform: scale(1); } .vibe-caption { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-family: var(–font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.94); text-shadow: 0 10px 30px rgba(0,0,0,0.55); } .vibe-caption span:last-child { color: var(–white-60); font-size: 10px; font-weight: 500; letter-spacing: 0.24em; } .vibe-lightbox { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 38px; background: rgba(8, 3, 11, 0.88); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); } .vibe-lightbox.open { display: flex; } .vibe-lightbox img { max-width: min(1180px, 92vw); max-height: 84vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 30px 90px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.12); } .vibe-lightbox-caption { position: absolute; left: 38px; bottom: 30px; font-family: var(–font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.86); } .vibe-lightbox-close { position: absolute; top: 24px; right: 24px; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,0.22); border-radius: 50%; background: rgba(255,255,255,0.08); color: var(–white); font-size: 28px; line-height: 1; cursor: pointer; } .vibe-lightbox-close:hover { background: var(–plum); border-color: var(–plum); } /* STAGES */ #stages { background: var(–darker); padding: 140px 48px; } .stages-header { text-align: center; margin-bottom: 80px; } .stages-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; } .stage-card { background: var(–dark); padding: 48px 32px; text-align: center; transition: background 0.3s, transform 0.3s; cursor: default; position: relative; overflow: hidden; } .stage-card::before { content: ”; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(–plum); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease; } .stage-card:hover::before { transform: scaleX(1); } .stage-card:hover { background: rgba(112,33,124,0.12); transform: translateY(-4px); } .stage-icon { width: 64px; height: 64px; margin: 0 auto 28px; filter: brightness(0) invert(1); opacity: 0.7; transition: opacity 0.3s, filter 0.3s; } .stage-card:hover .stage-icon { opacity: 1; filter: brightness(0) saturate(100%) invert(18%) sepia(80%) saturate(1500%) hue-rotate(280deg) brightness(90%) contrast(120%); } .stage-name { font-family: var(–font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 12px; } .stage-desc { font-size: 13px; font-weight: 300; line-height: 1.7; color: var(–white-60); } /* LINEUP */ #lineup { background: var(–dark); padding: 140px 48px; } .lineup-header { text-align: center; margin-bottom: 80px; } .lineup-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; } .artist-card { position: relative; aspect-ratio: 1; overflow: hidden; cursor: pointer; } .artist-card img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(30%); transition: transform 0.5s ease, filter 0.5s ease; } .artist-card:hover img { transform: scale(1.08); filter: grayscale(0%); } .artist-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(43,17,48,0.95) 100%); opacity: 0; transition: opacity 0.4s ease; display: flex; align-items: flex-end; padding: 24px; } .artist-card:hover .artist-overlay { opacity: 1; } .artist-name { font-family: var(–font-display); font-size: 16px; font-weight: 600; letter-spacing: 0.05em; } .artist-origin { font-size: 12px; color: var(–plum); margin-top: 4px; font-weight: 300; letter-spacing: 0.1em; } /* Artist cards without photos */ .artist-card.no-photo { background: var(–dark); border: 1px solid var(–white-20); display: flex; align-items: center; justify-content: center; aspect-ratio: 1; } .artist-card.no-photo .artist-inner { text-align: center; padding: 20px; } .artist-card.no-photo:hover { background: rgba(112,33,124,0.12); } .artist-card.no-photo .artist-name { font-size: 14px; } /* LOCATION */ #location { background: var(–darker); padding: 140px 48px; } .location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; } .location-map { position: relative; overflow: hidden; } .location-map img { width: 100%; display: block; } .location-map::after { content: ”; position: absolute; inset: 0; border: 1px solid var(–white-20); pointer-events: none; } .location-details { } .location-detail-item { padding: 24px 0; border-bottom: 1px solid var(–white-20); display: flex; gap: 20px; align-items: flex-start; } .location-detail-item:first-child { border-top: 1px solid var(–white-20); } .detail-icon { font-size: 18px; margin-top: 2px; opacity: 0.6; min-width: 24px; } .detail-label { font-family: var(–font-display); font-size: 11px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(–plum); display: block; margin-bottom: 4px; } .detail-value { font-size: 16px; font-weight: 300; line-height: 1.6; color: var(–white-60); } /* JEGY CTA */ #tickets { position: relative; padding: 160px 48px; text-align: center; overflow: hidden; background: var(–dark); } #tickets::before { content: ”; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 800px; height: 800px; background: radial-gradient(circle, rgba(112,33,124,0.35) 0%, transparent 65%); pointer-events: none; } .tickets-label { font-family: var(–font-display); font-size: 11px; font-weight: 500; letter-spacing: 0.4em; text-transform: uppercase; color: var(–plum); margin-bottom: 20px; } .tickets-title { font-family: var(–font-display); font-size: clamp(32px, 5vw, 64px); font-weight: 600; line-height: 1.1; margin-bottom: 20px; } .tickets-sub { font-size: 17px; font-weight: 300; color: var(–white-60); margin-bottom: 16px; line-height: 1.8; } .tickets-urgency { font-family: var(–font-display); font-size: 13px; font-weight: 500; letter-spacing: 0.1em; color: var(–plum); margin-bottom: 56px; } .ticket-tiers { display: flex; gap: 24px; justify-content: center; margin-bottom: 56px; flex-wrap: wrap; } .ticket-tier { background: rgba(255,255,255,0.04); border: 1px solid var(–white-20); padding: 40px 48px; min-width: 220px; transition: border-color 0.3s, background 0.3s; position: relative; } .ticket-tier:hover { border-color: var(–plum); background: rgba(112,33,124,0.08); } .ticket-tier.featured { border-color: #b040c8; background: rgba(112,33,124,0.22); box-shadow: 0 0 0 1px #b040c8, 0 0 32px rgba(176,64,200,0.35), 0 0 80px rgba(112,33,124,0.18); } .ticket-tier.featured:hover { box-shadow: 0 0 0 1px #c955e0, 0 0 48px rgba(176,64,200,0.5), 0 0 100px rgba(112,33,124,0.25); } .tier-badge { position: absolute; top: -1px; right: -1px; background: linear-gradient(90deg, #8a2a98, #c040d8); font-family: var(–font-display); font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; padding: 5px 12px; box-shadow: 0 0 12px rgba(192,64,216,0.6); } .tier-price-old { font-family: var(–font-display); font-size: 18px; font-weight: 400; color: rgba(255,255,255,0.35); text-decoration: line-through; display: block; margin-bottom: 4px; } .tier-name { font-family: var(–font-display); font-size: 13px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(–white-60); margin-bottom: 16px; display: block; } .tier-price { font-family: var(–font-display); font-size: 42px; font-weight: 700; display: block; line-height: 1; margin-bottom: 8px; } .tier-currency { font-size: 20px; font-weight: 400; vertical-align: super; margin-left: 6px; } .tier-note { font-size: 13px; color: var(–white-60); font-weight: 300; } .tier-features { list-style: none; padding: 0; margin: 20px 0 0; text-align: left; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; } .tier-features li { font-size: 13px; font-weight: 300; color: rgba(255,255,255,0.7); display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; } .tier-features li::before { content: ”; display: inline-block; flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px; background: var(–plum); border-radius: 50%; background-image: url(„data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 16 16’%3E%3Cpath fill=’none’ stroke=’white’ stroke-width=’2′ stroke-linecap=’round’ stroke-linejoin=’round’ d=’M3.5 8l3 3 6-6’/%3E%3C/svg%3E”); background-size: 12px; background-repeat: no-repeat; background-position: center; } .secure-note { font-size: 13px; font-weight: 300; color: rgba(255,255,255,0.35); margin-top: 24px; letter-spacing: 0.05em; } .secure-note img { height: 16px; vertical-align: middle; margin-right: 6px; opacity: 0.4; } .tier-cta { display: block; width: 100%; margin-top: 24px; padding: 14px 24px; background: var(–plum); color: var(–white); font-family: var(–font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-align: center; text-decoration: none; border: none; cursor: pointer; transition: background 0.25s, transform 0.2s; } .tier-cta:hover { background: #8a2a98; transform: translateY(-1px); } /* Nomad Circle */ #nomad-circle { position: relative; overflow: hidden; padding: 110px 24px 94px; background: linear-gradient(180deg, rgba(12,5,17,0.4), rgba(12,5,17,0.72)), url(‘https://nomadgathering.com/wp-content/uploads/2026/nomad-circle-bg-desktop.png’); background-repeat: no-repeat; background-size: cover; background-position: center right; } #nomad-circle::before { content: ”; position: absolute; inset: 0; background: radial-gradient(circle at 22% 24%, rgba(112,33,124,0.18), transparent 24%), radial-gradient(circle at 82% 66%, rgba(194,24,91,0.12), transparent 22%); pointer-events: none; } .nomad-circle-stage { position: relative; z-index: 1; min-height: 760px; display: flex; align-items: center; width: 100%; max-width: 100%; min-width: 0; } .nomad-circle-panel { position: relative; width: min(980px, 72%); max-width: 100%; min-width: 0; padding: 56px 56px 42px; border-radius: 42px; border: 1px solid rgba(231,97,255,0.42); background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.025) 42%, rgba(255,255,255,0.04)), linear-gradient(135deg, rgba(22,7,31,0.92), rgba(34,9,45,0.86) 55%, rgba(66,15,78,0.58)); box-shadow: 0 40px 120px rgba(0,0,0,0.42), 0 0 48px rgba(112,33,124,0.28), inset 0 1px 0 rgba(255,255,255,0.14), inset 0 0 38px rgba(255,255,255,0.02); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); isolation: isolate; } .nomad-circle-panel::before { content: ”; position: absolute; inset: 12px; border-radius: 34px; border: 1px solid rgba(255,255,255,0.06); pointer-events: none; } .nomad-circle-panel::after { content: ”; position: absolute; inset: -1px; border-radius: 42px; box-shadow: 0 0 34px rgba(214,82,255,0.26); opacity: 0.8; pointer-events: none; } .nomad-circle-inner { position: relative; z-index: 1; max-width: 860px; width: 100%; min-width: 0; } .nomad-circle-title { max-width: 720px; margin: 0 0 22px; color: rgba(255,255,255,0.98); font-family: var(–font-display); font-size: 40px; font-weight: 700; line-height: 1.08; letter-spacing: 0; text-wrap: balance; } .nomad-circle-copy { max-width: 720px; margin: 0 0 34px; color: rgba(255,255,255,0.78); font-family: var(–font-body); font-size: 17px; font-weight: 300; line-height: 1.72; } .nomad-circle-form { max-width: 860px; width: 100%; min-width: 0; } .nomad-circle-form-row { display: grid; grid-template-columns: minmax(0, 1fr) 312px; gap: 24px; align-items: stretch; width: 100%; min-width: 0; } .nomad-circle-input-wrap { position: relative; min-height: 92px; display: flex; align-items: center; width: 100%; min-width: 0; } .nomad-circle-input-placeholder { position: absolute; inset: 0; display: flex; align-items: center; gap: 14px; padding: 0 24px 0 26px; color: rgba(255,255,255,0.6); font-family: var(–font-body); font-size: 17px; font-weight: 300; line-height: 1; pointer-events: none; z-index: 2; transition: opacity 0.18s ease; } .nomad-circle-input-wrap.has-value .nomad-circle-input-placeholder, .nomad-circle-input:focus + .nomad-circle-input-placeholder { opacity: 0; } .nomad-circle-input-placeholder svg { width: 24px; height: 24px; flex: 0 0 24px; opacity: 0.7; } .nomad-circle-input-wrap > svg { position: absolute; top: 50%; left: 26px; width: 24px; height: 24px; transform: translateY(-50%); opacity: 0.7; pointer-events: none; z-index: 2; } .nomad-circle-input { width: 100%; height: 100%; min-height: 92px; padding: 0 24px 0 64px; border-radius: 24px; border: 1px solid rgba(234,94,255,0.28); background: linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015)), rgba(18,7,22,0.58); color: #fff; font-family: var(–font-body); font-size: 17px; font-weight: 300; line-height: 1.2; appearance: none; -webkit-appearance: none; box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); transition: border-color 0.24s ease, box-shadow 0.24s ease, background 0.24s ease; } .nomad-circle-input:focus { outline: none; border-color: rgba(249,107,255,0.5); box-shadow: 0 0 0 4px rgba(112,33,124,0.16), 0 0 24px rgba(194,24,91,0.18); background: linear-gradient(135deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)), rgba(22,8,28,0.72); } .nomad-circle-button { width: 100%; max-width: 100%; min-height: 92px; padding: 0 28px; border: 1px solid rgba(255,255,255,0.18); border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.02)), linear-gradient(135deg, #ff4fc8 0%, #b82dcb 42%, #70217c 100%); color: #fff; font-family: var(–font-display); font-size: 17px; font-weight: 600; letter-spacing: 0.01em; line-height: 1.2; white-space: normal; overflow-wrap: anywhere; text-align: center; box-shadow: 0 0 0 1px rgba(255,255,255,0.06) inset, 0 16px 42px rgba(194,24,91,0.34), 0 0 26px rgba(214,82,255,0.28); cursor: pointer; transition: transform 0.24s ease, filter 0.24s ease, box-shadow 0.24s ease; } .nomad-circle-button:hover { transform: translateY(-2px); filter: brightness(1.04); box-shadow: 0 0 0 1px rgba(255,255,255,0.08) inset, 0 20px 50px rgba(194,24,91,0.4), 0 0 32px rgba(214,82,255,0.34); } .nomad-circle-button:disabled { opacity: 0.76; cursor: wait; transform: none; } .nomad-circle-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; } .nomad-circle-feedback { min-height: 24px; margin: 16px 0 0; color: rgba(255,255,255,0.72); font-size: 14px; line-height: 1.5; } .nomad-circle-consent { display: flex; align-items: flex-start; gap: 12px; width: 100%; min-width: 0; margin-top: 16px; color: rgba(255,255,255,0.74); font-family: var(–font-body); font-size: 13px; line-height: 1.55; } .nomad-circle-consent input[type=”checkbox”] { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.34); background: rgba(17, 6, 27, 0.42); box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); cursor: pointer; position: relative; transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; } .nomad-circle-consent input[type=”checkbox”]::after { content: ”; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); opacity: 0; transition: opacity 0.16s ease; } .nomad-circle-consent input[type=”checkbox”]:checked { border-color: rgba(249,107,255,0.78); background: linear-gradient(135deg, #ff4fc8 0%, #70217c 100%); box-shadow: 0 0 0 3px rgba(112,33,124,0.14); } .nomad-circle-consent input[type=”checkbox”]:checked::after { opacity: 1; } .nomad-circle-consent input[type=”checkbox”]:focus { outline: none; box-shadow: 0 0 0 3px rgba(112,33,124,0.18); } .nomad-circle-consent label { display: block; cursor: pointer; } .nomad-circle-consent a { color: rgba(255,255,255,0.92); text-decoration: underline; text-underline-offset: 2px; } .nomad-circle-feedback.is-success { color: rgba(147,255,201,0.92); } .nomad-circle-feedback.is-error { color: rgba(255,170,201,0.96); } .nomad-circle-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 34px; padding-top: 26px; } .nomad-circle-benefit { display: flex; align-items: center; gap: 16px; padding: 0 22px; min-height: 88px; } .nomad-circle-benefit:first-child { padding-left: 0; } .nomad-circle-benefit + .nomad-circle-benefit { border-left: 1px solid rgba(255,255,255,0.12); } .nomad-circle-benefit-icon { width: 56px; height: 56px; flex: 0 0 56px; object-fit: contain; filter: drop-shadow(0 0 18px rgba(214,82,255,0.22)); } .nomad-circle-benefit-copy { color: rgba(255,255,255,0.72); font-family: var(–font-body); font-size: 14px; line-height: 1.5; } .nomad-circle-benefit-copy strong { display: block; color: rgba(255,255,255,0.94); font-weight: 400; } @media (max-width: 1100px) { .nomad-circle-panel { width: min(980px, 82%); padding: 46px 42px 34px; } .nomad-circle-form-row { grid-template-columns: minmax(0, 1fr) 280px; } } @media (max-width: 900px) { #nomad-circle { padding: 90px 18px 80px; background-image: linear-gradient(180deg, rgba(12,5,17,0.36), rgba(12,5,17,0.7)), url(‘https://nomadgathering.com/wp-content/uploads/2026/nomad-circle-bg-mobile.png’); background-position: center bottom; background-size: cover; } #nomad-circle .container, #nomad-circle .nomad-circle-stage, #nomad-circle .nomad-circle-panel, #nomad-circle .nomad-circle-inner, #nomad-circle .nomad-circle-form, #nomad-circle .nomad-circle-form-row, #nomad-circle .nomad-circle-input-wrap, #nomad-circle .nomad-circle-input, #nomad-circle .nomad-circle-button, #nomad-circle .nomad-circle-benefits, #nomad-circle .nomad-circle-benefit { width: 100%; max-width: 100%; min-width: 0; } .nomad-circle-stage { min-height: 0; } .nomad-circle-panel { width: 100%; padding: 38px 22px 28px; border-radius: 30px; } .nomad-circle-panel::before { inset: 8px; border-radius: 24px; } .nomad-circle-panel::after { border-radius: 30px; } .nomad-circle-title { max-width: 100%; font-size: clamp(34px, 8vw, 40px); } .nomad-circle-copy { font-size: 16px; line-height: 1.68; margin-bottom: 28px; } .nomad-circle-form-row { grid-template-columns: 1fr; gap: 16px; } .nomad-circle-input-wrap, .nomad-circle-input, .nomad-circle-button { min-height: 72px; } .nomad-circle-input, .nomad-circle-input-placeholder { font-size: 16px; } .nomad-circle-button { font-size: 16px; width: 100%; } .nomad-circle-benefits { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; padding-top: 22px; } .nomad-circle-benefit { min-height: 0; padding: 0; } .nomad-circle-benefit + .nomad-circle-benefit { padding-top: 14px; border-left: 0; border-top: 1px solid rgba(255,255,255,0.1); } } @media (max-width: 640px) { #nomad-circle { padding: 72px 14px 64px; background-position: 68% bottom; } #nomad-circle .container { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; } .nomad-circle-panel { padding: 28px 16px 22px; border-radius: 26px; } .nomad-circle-panel::before { inset: 7px; border-radius: 20px; } .nomad-circle-panel::after { border-radius: 26px; box-shadow: 0 0 24px rgba(214,82,255,0.2); } .nomad-circle-title { font-size: 32px; line-height: 1.08; margin-bottom: 18px; } .nomad-circle-copy { font-size: 15px; line-height: 1.62; margin-bottom: 22px; } .nomad-circle-form-row { gap: 14px; } .nomad-circle-input-wrap, .nomad-circle-input, .nomad-circle-button { min-height: 64px; } .nomad-circle-input-placeholder { gap: 12px; padding: 0 18px 0 20px; font-size: 15px; } .nomad-circle-input-placeholder svg { width: 20px; height: 20px; } .nomad-circle-input { border-radius: 18px; font-size: 15px; padding-left: 52px; } .nomad-circle-button { min-height: 64px; padding: 0 20px; border-radius: 18px; font-size: 15px; justify-self: stretch; } .nomad-circle-feedback { margin-top: 12px; font-size: 13px; } .nomad-circle-consent { gap: 10px; margin-top: 14px; font-size: 12px; line-height: 1.5; } .nomad-circle-consent input[type=”checkbox”] { width: 18px; height: 18px; flex-basis: 18px; } .nomad-circle-consent input[type=”checkbox”]::after { left: 5px; top: 1px; width: 4px; height: 9px; } .nomad-circle-benefits { margin-top: 24px; padding-top: 18px; gap: 12px; } .nomad-circle-benefit { gap: 12px; padding: 0; align-items: center; } .nomad-circle-benefit + .nomad-circle-benefit { padding-top: 12px; } .nomad-circle-benefit-icon { width: 42px; height: 42px; flex-basis: 42px; } .nomad-circle-benefit-copy { font-size: 13px; line-height: 1.45; } } @media (max-width: 420px) { #nomad-circle { padding-left: 12px; padding-right: 12px; } .nomad-circle-title { font-size: 29px; } .nomad-circle-copy { font-size: 14px; } .nomad-circle-panel { padding: 24px 14px 20px; } .nomad-circle-button { letter-spacing: 0; } } /* FAQ */ #faq { background: var(–darker); padding: 140px 48px; } .faq-header { text-align: center; margin-bottom: 80px; } .faq-list { max-width: 760px; margin: 0 auto; } .faq-item { border-bottom: 1px solid var(–white-20); } .faq-q { width: 100%; background: none; border: none; color: var(–white); font-family: var(–font-display); font-size: 17px; font-weight: 500; text-align: left; padding: 28px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; transition: color 0.2s; } .faq-q:hover { color: var(–plum); } .faq-icon { width: 20px; height: 20px; position: relative; flex-shrink: 0; transition: transform 0.3s; } .faq-icon::before, .faq-icon::after { content: ”; position: absolute; background: currentColor; transition: transform 0.3s, opacity 0.3s; } .faq-icon::before { width: 20px; height: 1px; top: 50%; left: 0; transform: translateY(-50%); } .faq-icon::after { width: 1px; height: 20px; top: 0; left: 50%; transform: translateX(-50%); } .faq-item.open .faq-icon::after { transform: translateX(-50%) rotate(90deg); opacity: 0; } .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s; font-size: 16px; font-weight: 300; line-height: 1.8; color: var(–white-60); } .faq-item.open .faq-a { max-height: 400px; padding-bottom: 28px; } /* FOOTER */ footer { background: var(–darker); padding: 80px 48px 40px; border-top: 1px solid var(–white-20); } .footer-inner { max-width: var(–container); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid var(–white-20); margin-bottom: 32px; } .footer-logo img { height: 56px; opacity: 0.8; } .footer-info { font-size: 14px; font-weight: 300; color: var(–white-60); line-height: 1.8; text-align: center; } .footer-info a { color: var(–white-60); text-decoration: none; transition: color 0.2s; } .footer-info a:hover { color: var(–white); } .footer-social { display: flex; gap: 20px; } .social-link { width: 44px; height: 44px; border: 1px solid var(–white-20); display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(–white-60); transition: border-color 0.2s, color 0.2s, background 0.2s; font-size: 16px; } .social-link:hover { border-color: var(–plum); color: var(–white); background: rgba(112,33,124,0.2); } .footer-bottom { max-width: var(–container); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: rgba(255,255,255,0.25); letter-spacing: 0.05em; flex-wrap: wrap; gap: 12px; } .footer-bottom a { color: inherit; text-decoration: none; transition: color 0.2s; } .footer-bottom a:hover { color: var(–white-60); } /* Responsive */ @media (max-width: 1024px) { .stages-grid { grid-template-columns: repeat(3, 1fr); } .lineup-grid { grid-template-columns: repeat(3, 1fr); } .about-grid, .location-grid { grid-template-columns: 1fr; gap: 40px; } .about-video-outer { padding-bottom: 26px; } .video-glass-label { padding: 11px 22px; } .video-glass-label span { font-size: 13px; letter-spacing: 0.16em; } } @media (max-width: 768px) { body { cursor: auto; } .cursor, .cursor-ring { display: none; } /* Nav */ nav { padding: 14px 20px; } nav .nav-links { display: none; } nav .logo img { height: 36px; } nav .nav-cta { padding: 9px 18px; font-size: 12px; letter-spacing: 0.08em; } /* HERO MOBIL */ #hero { height: 100svh; min-height: 600px; align-items: flex-start; justify-content: center; } .hero-content { padding: 64px 20px 48px; display: flex; flex-direction: column; align-items: center; width: 100%; } .hero-logo { width: 82px; margin-bottom: 8px; } .hero-name { font-size: 12px; letter-spacing: 0.16em; margin-bottom: 10px; } .hero-title { font-size: 10px; letter-spacing: 0.15em; line-height: 1.7; margin-bottom: 10px; } .hero-date { font-size: 30px !important; margin-bottom: 4px; line-height: 1.1; } .hero-location { font-size: 10px; letter-spacing: 0.12em; margin-bottom: 14px; } .hero-countdown-label { font-size: 10px; letter-spacing: 0.1em; margin-bottom: 8px; } .hero-countdown-inline { gap: 14px; margin-bottom: 18px; } .hero-countdown-inline .cd-num { font-size: 32px; } .hero-countdown-inline .cd-sep { font-size: 24px; margin-top: 3px; } .hero-countdown-inline .cd-label { font-size: 9px; letter-spacing: 0.15em; } .hero-cta-wrap { flex-direction: column; align-items: stretch; width: 100%; gap: 10px; } .btn-primary, .btn-ghost { padding: 14px 24px; font-size: 13px; text-align: center; } .scroll-hint { display: none; } .hero-blobs { filter: blur(50px) saturate(1.2); } .blob-1 { width: 350px; height: 350px; } .blob-2 { width: 280px; height: 280px; } .blob-3, .blob-4, .blob-5 { display: none; } /* Egyéb szekciók */ section, #about, #vibes, #stages, #lineup, #location, #tickets, #faq { padding: 72px 20px; } .stages-grid { grid-template-columns: repeat(2, 1fr); } .lineup-grid { grid-template-columns: repeat(2, 1fr); } .masonry { columns: 2; column-gap: 10px; } .masonry-item { margin-bottom: 10px; } .stats-inner { flex-wrap: wrap; gap: 20px; padding: 24px 20px; } .stat { min-width: 40%; } .stat + .stat::before { display: none; } .stat-num { font-size: 28px; } .ticket-tiers { flex-direction: column; align-items: stretch; } .ticket-tier { min-width: unset; } .footer-inner { flex-direction: column; text-align: center; gap: 24px; } .footer-social { justify-content: center; } .about-text .section-body { margin-bottom: 24px; } .section-title { font-size: clamp(22px, 6vw, 36px); } #about { padding: 72px 20px 80px; } .about-video-outer { padding-bottom: 22px; } .video-play-btn svg { width: 54px; height: 54px; } .video-glass-label { padding: 10px 18px; white-space: normal; text-align: center; max-width: 80%; } .video-glass-label span { font-size: 11px; letter-spacing: 0.14em; } } @media (max-width: 400px) { .hero-date { font-size: 26px !important; } .hero-countdown-inline .cd-num { font-size: 28px; } .hero-countdown-inline { gap: 10px; } } /* Restore refinements */ #stages .container, #lineup .container { width: 100% !important; max-width: var(–container) !important; } .stage-kicker { display: flex; width: fit-content; max-width: 100%; align-items: center; justify-content: center; min-height: 28px; margin: 0 auto 18px; padding: 7px 14px 6px; border: 1px solid rgba(255,255,255,0.16); background: rgba(112,33,124,0.28); color: rgba(255,255,255,0.78); font-family: var(–font-display); font-size: 9px; font-weight: 700; line-height: 1; letter-spacing: 0.16em; text-transform: uppercase; } .stages-grid { grid-template-columns: repeat(6, 1fr) !important; grid-auto-rows: minmax(210px, auto); gap: 12px !important; } .stage-card { border: 1px solid rgba(255,255,255,0.08); box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); } .stage-main { grid-column: span 3; grid-row: span 2; } .stage-move { grid-column: span 3; grid-row: span 1; } .stage-workshop, .stage-heal, .stage-fire { grid-column: span 2; grid-row: span 1; } .stage-main .stage-icon { width: 84px; height: 84px; } .stage-name { min-height: 72px; display: flex; align-items: center; justify-content: center; font-size: 17px; line-height: 1.45; letter-spacing: 0.16em; } .stage-desc { margin-top: 22px; font-size: 15px; line-height: 1.75; } #lineup { background: radial-gradient(circle at 18% 4%, rgba(112,33,124,0.24), transparent 32%), radial-gradient(circle at 82% 30%, rgba(194,24,91,0.16), transparent 28%), linear-gradient(180deg, var(–dark) 0%, #1b0921 100%); overflow: hidden; } .lineup-grid { gap: 18px !important; } .artist-card { min-height: 360px; background: rgba(18,7,22,0.72); border: 1px solid rgba(255,255,255,0.1); box-shadow: 0 22px 70px rgba(0,0,0,0.24); } .artist-card img { height: calc(100% – 116px); min-height: 244px; filter: saturate(0.82) contrast(1.08) brightness(0.88); } .artist-overlay { inset: auto 0 0 0 !important; min-height: 116px; padding: 24px 24px 22px; opacity: 1 !important; background: linear-gradient(180deg, rgba(27,10,31,0) 0%, rgba(27,10,31,0.82) 26%, rgba(17,6,21,0.98) 100%); } .artist-name { font-size: clamp(17px, 1.45vw, 24px); font-weight: 700; line-height: 1.05; letter-spacing: 0.04em; text-transform: uppercase; } .artist-origin { display: inline-flex; align-self: flex-start; min-height: 24px; padding: 5px 10px 4px; border: 1px solid rgba(255,255,255,0.16); background: rgba(112,33,124,0.38); color: rgba(255,255,255,0.76); font-size: 10px; line-height: 1; } .lineup-more { position: relative; scroll-margin-top: 110px; margin-top: 58px; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; } .lineup-more-title { font-family: var(–font-display); font-size: clamp(24px, 2.6vw, 38px); font-weight: 700; line-height: 1.1; margin-bottom: 26px; color: rgba(255,255,255,0.98); text-shadow: 0 18px 44px rgba(0,0,0,0.42); } .lineup-more-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } .lineup-chip { position: relative; min-height: 62px; display: flex; align-items: center; padding: 14px 18px; overflow: hidden; isolation: isolate; background: linear-gradient(135deg, rgba(255,255,255,0.135), rgba(255,255,255,0.042) 48%, rgba(255,255,255,0.075)), radial-gradient(circle at 18% 0%, rgba(255,255,255,0.16), transparent 34%), rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.93); box-shadow: 0 18px 54px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -1px 0 rgba(255,255,255,0.07); backdrop-filter: blur(16px) saturate(135%); -webkit-backdrop-filter: blur(16px) saturate(135%); font-family: var(–font-display); font-size: 14px; font-weight: 650; line-height: 1.15; letter-spacing: 0.07em; text-transform: uppercase; transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease; } .lineup-chip::before { content: ”; width: 7px; height: 7px; flex: 0 0 auto; margin-right: 12px; border-radius: 50%; background: rgba(196,90,210,0.92); box-shadow: 0 0 18px rgba(196,90,210,0.8), 0 0 0 5px rgba(255,255,255,0.045); } .lineup-chip::after { content: ”; position: absolute; inset: 1px; z-index: -1; background: linear-gradient(115deg, rgba(255,255,255,0.18), transparent 28%, rgba(255,255,255,0.075) 54%, transparent 74%), radial-gradient(circle at 86% 22%, rgba(255,255,255,0.12), transparent 20%); opacity: 0.82; pointer-events: none; } .lineup-chip:hover { transform: translateY(-2px); border-color: rgba(255,255,255,0.3); background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06) 48%, rgba(255,255,255,0.1)), radial-gradient(circle at 18% 0%, rgba(255,255,255,0.2), transparent 34%), rgba(255,255,255,0.05); box-shadow: 0 24px 70px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(255,255,255,0.09); } @media (max-width: 768px) { #stages .container, #lineup .container { max-width: 100% !important; } .stages-grid { grid-template-columns: 1fr !important; grid-auto-rows: auto; gap: 12px !important; } .stage-main, .stage-move, .stage-workshop, .stage-heal, .stage-fire { grid-column: auto; grid-row: auto; } .lineup-grid { grid-template-columns: 1fr !important; gap: 16px !important; } .artist-card { min-height: 430px; } .artist-card img { min-height: 300px; height: calc(100% – 118px); } .artist-name { font-size: 22px; } .lineup-more { margin-top: 28px; } .lineup-more-grid { grid-template-columns: 1fr; gap: 8px; } .lineup-chip { min-height: 50px; font-size: 13px; } } .nomad-final-call { position: relative; margin: clamp(62px, 7vw, 104px) auto 0; max-width: 1120px; isolation: isolate; } .nomad-final-orbit { position: absolute; inset: -34px; z-index: -1; background: radial-gradient(circle at 22% 22%, rgba(255,255,255,0.13), transparent 20%), radial-gradient(circle at 80% 28%, rgba(194,24,91,0.28), transparent 28%), radial-gradient(circle at 48% 100%, rgba(112,33,124,0.32), transparent 34%); filter: blur(4px); opacity: 0.86; } .nomad-final-glass { position: relative; overflow: hidden; padding: clamp(38px, 6vw, 76px) clamp(24px, 5vw, 72px); text-align: center; background: linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.055) 42%, rgba(255,255,255,0.1)), radial-gradient(circle at 50% 0%, rgba(255,255,255,0.16), transparent 34%), rgba(255,255,255,0.045); border: 1px solid rgba(255,255,255,0.2); box-shadow: 0 34px 110px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(255,255,255,0.08); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); } .nomad-final-glass::before { content: ”; position: absolute; inset: 1px; background: linear-gradient(115deg, rgba(255,255,255,0.2), transparent 24%, rgba(255,255,255,0.08) 52%, transparent 78%), repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 92px); pointer-events: none; } .nomad-final-logo, .nomad-final-date, .nomad-final-title, .nomad-final-label, .nomad-final-countdown, .nomad-final-place, .nomad-final-btn { position: relative; z-index: 1; } .nomad-final-logo { width: clamp(96px, 12vw, 156px); height: auto; margin: 0 auto 24px; display: block; filter: drop-shadow(0 20px 46px rgba(0,0,0,0.38)); } .nomad-final-date { margin: 0 0 12px; color: rgba(255,255,255,0.72); font-family: var(–font-display); font-size: 13px; font-weight: 650; letter-spacing: 0.18em; text-transform: uppercase; } .nomad-final-title { max-width: 760px; margin: 0 auto 28px; color: rgba(255,255,255,0.98); font-family: var(–font-display); font-size: clamp(34px, 5.2vw, 72px); font-weight: 750; line-height: 0.98; letter-spacing: 0.02em; text-wrap: balance; } .nomad-final-label { margin: 0 0 18px; color: rgba(255,255,255,0.68); font-size: 14px; line-height: 1.5; } .nomad-final-countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; max-width: 680px; margin: 0 auto 24px; } .nomad-final-countdown div { min-height: 94px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(255,255,255,0.085); border: 1px solid rgba(255,255,255,0.16); box-shadow: inset 0 1px 0 rgba(255,255,255,0.16); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } .nomad-final-num { color: #fff; font-family: var(–font-display); font-size: clamp(30px, 4vw, 54px); font-weight: 800; line-height: 1; } .nomad-final-unit { margin-top: 8px; color: rgba(255,255,255,0.58); font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; } .nomad-final-place { margin: 0 0 28px; color: rgba(255,255,255,0.78); font-family: var(–font-display); font-size: clamp(15px, 1.4vw, 20px); font-weight: 650; letter-spacing: 0.08em; } .nomad-final-btn { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 0 28px; background: linear-gradient(135deg, #9b2aa8, #70217c); color: #fff; border: 1px solid rgba(255,255,255,0.22); box-shadow: 0 18px 46px rgba(112,33,124,0.36), inset 0 1px 0 rgba(255,255,255,0.22); font-family: var(–font-display); font-size: 13px; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease; } .nomad-final-btn:hover { transform: translateY(-2px); background: linear-gradient(135deg, #b138bd, #7e278b); box-shadow: 0 24px 70px rgba(112,33,124,0.48), inset 0 1px 0 rgba(255,255,255,0.28); } @media (max-width: 768px) { .nomad-final-call { margin-top: 48px; } .nomad-final-glass { padding: 36px 18px; } .nomad-final-date { font-size: 11px; line-height: 1.5; } .nomad-final-countdown { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nomad-final-countdown div { min-height: 82px; } .nomad-final-btn { width: 100%; padding: 0 18px; } } /* Elegant closed venue mosaic */ #stages .stages-grid { position: relative !important; display: grid !important; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) minmax(290px, 0.72fr) !important; grid-template-areas: „main move move” „main workshop heal” „main workshop fire”; align-items: stretch; gap: 14px !important; height: auto !important; min-height: 0 !important; padding: 12px; border: 1px solid rgba(255,255,255,0.12); background: linear-gradient(135deg, rgba(255,255,255,0.055), rgba(255,255,255,0.012)), radial-gradient(circle at 18% 12%, rgba(194,24,91,0.16), transparent 34%), linear-gradient(180deg, rgba(23,8,30,0.78), rgba(14,4,18,0.96)); box-shadow: 0 34px 100px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.08); overflow: visible; } #stages .stages-grid::before { content: ”; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,0.055); pointer-events: none; z-index: 2; } #stages .stage-card { position: relative; min-height: 0; height: auto; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: left; padding: clamp(26px, 2.4vw, 42px); border: 1px solid rgba(255,255,255,0.11); background: linear-gradient(145deg, rgba(42,16,50,0.9), rgba(18,6,24,0.9)), radial-gradient(circle at 18% 0%, rgba(255,255,255,0.07), transparent 32%); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), inset 0 -1px 0 rgba(255,255,255,0.03); overflow: hidden; transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease; } #stages .stage-card::before { content: ”; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(180deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 62px 62px; opacity: 0.35; pointer-events: none; } #stages .stage-card::after { content: ”; position: absolute; left: clamp(24px, 2.4vw, 40px); right: clamp(24px, 2.4vw, 40px); bottom: 0; height: 2px; background: linear-gradient(90deg, rgba(194,24,91,0.85), rgba(255,255,255,0.14), transparent); transform: scaleX(0.38); transform-origin: left; transition: transform 0.35s ease; pointer-events: none; } #stages .stage-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.2); background: linear-gradient(145deg, rgba(50,18,60,0.96), rgba(19,6,25,0.92)), radial-gradient(circle at 20% 4%, rgba(194,24,91,0.14), transparent 36%); } #stages .stage-card:hover::after { transform: scaleX(1); } #stages .stage-main { grid-area: main !important; min-height: 610px; } #stages .stage-move { grid-area: move !important; min-height: 260px; } #stages .stage-workshop { grid-area: workshop !important; min-height: 360px; } #stages .stage-heal { grid-area: heal !important; min-height: 300px; } #stages .stage-fire { grid-area: fire !important; min-height: 300px; } #stages .stage-icon, #stages .stage-kicker, #stages .stage-name, #stages .stage-desc { position: relative; z-index: 1; } #stages .stage-icon { width: clamp(44px, 3vw, 58px); height: clamp(44px, 3vw, 58px); margin: 0 0 22px; opacity: 0.9; } #stages .stage-main .stage-icon { width: clamp(72px, 5vw, 96px); height: clamp(72px, 5vw, 96px); margin-bottom: 30px; } #stages .stage-kicker { margin: 0 0 18px; background: rgba(255,255,255,0.065); border-color: rgba(255,255,255,0.16); color: rgba(255,255,255,0.76); } #stages .stage-name { min-height: 0; max-width: 100%; margin: 0; display: block; font-size: clamp(18px, 1.28vw, 23px); line-height: 1.24; letter-spacing: 0.12em; text-wrap: balance; } #stages .stage-main .stage-name { max-width: 560px; font-size: clamp(32px, 3.1vw, 50px); line-height: 1.18; letter-spacing: 0.1em; } #stages .stage-desc { max-width: 620px; margin: 18px 0 0; font-size: clamp(13px, 0.9vw, 15px); line-height: 1.68; color: rgba(255,255,255,0.68); text-wrap: pretty; } #stages .stage-main .stage-desc { max-width: 600px; font-size: clamp(15px, 1.05vw, 18px); line-height: 1.7; color: rgba(255,255,255,0.72); } #stages .stage-heal .stage-name, #stages .stage-fire .stage-name { font-size: clamp(17px, 1.05vw, 21px); letter-spacing: 0.1em; } #stages .stage-heal .stage-desc, #stages .stage-fire .stage-desc { font-size: 13px; line-height: 1.62; } @media (max-width: 1100px) { #stages .stages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-areas: „main main” „move move” „workshop heal” „workshop fire”; } #stages .stage-main { min-height: 420px; } #stages .stage-move { min-height: 250px; } #stages .stage-workshop, #stages .stage-heal, #stages .stage-fire { min-height: 300px; } } @media (max-width: 768px) { #stages .stages-grid { display: grid !important; grid-template-columns: 1fr !important; grid-template-areas: „main” „move” „workshop” „heal” „fire”; gap: 12px !important; padding: 8px; } #stages .stage-card { min-height: 280px; padding: 28px 24px; } #stages .stage-main { min-height: 380px; } #stages .stage-main .stage-name { font-size: clamp(27px, 8vw, 38px); } #stages .stage-desc { font-size: 14px; } } /* Lineup portrait framing fix */ #lineup { padding-top: clamp(86px, 8vw, 140px); padding-bottom: clamp(86px, 8vw, 140px); } #lineup .lineup-header { margin-bottom: clamp(42px, 5vw, 72px); } #lineup .lineup-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.4vw, 22px) !important; } #lineup .artist-card { position: relative; min-height: 0 !important; aspect-ratio: 0.78; display: block; overflow: hidden; isolation: isolate; background: #120716; border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 24px 70px rgba(0,0,0,0.28); } #lineup .artist-card::before { content: ”; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(15,5,20,0.04) 0%, rgba(15,5,20,0.1) 48%, rgba(15,5,20,0.88) 100%), radial-gradient(circle at 50% 16%, rgba(255,255,255,0.1), transparent 36%); pointer-events: none; } #lineup .artist-card img { width: 100%; height: 100% !important; min-height: 0 !important; aspect-ratio: auto !important; display: block; padding: 0 !important; object-fit: cover !important; object-position: var(–artist-focus, center center) !important; background: #120716 !important; filter: saturate(0.9) contrast(1.08) brightness(0.9) !important; transform: scale(1.01); transition: transform 0.7s ease, filter 0.7s ease; } #lineup .artist-card:hover img { transform: scale(1.06); filter: saturate(1.04) contrast(1.08) brightness(0.98) !important; } #lineup .artist-card:nth-child(1) { –artist-focus: 43% 50%; } #lineup .artist-card:nth-child(2) { –artist-focus: 52% 37%; } #lineup .artist-card:nth-child(3) { –artist-focus: 50% 38%; } #lineup .artist-card:nth-child(4) { –artist-focus: 54% 43%; } #lineup .artist-card:nth-child(5) { –artist-focus: 50% 44%; } #lineup .artist-card:nth-child(6) { –artist-focus: 48% 40%; } #lineup .artist-card:nth-child(7) { –artist-focus: 50% 50%; } #lineup .artist-card:nth-child(8) { –artist-focus: 50% 44%; } #lineup .artist-overlay { position: absolute !important; inset: auto 0 0 0 !important; z-index: 2; min-height: 116px; padding: 24px 24px 22px !important; display: flex; align-items: flex-end; justify-content: flex-start; background: linear-gradient(180deg, rgba(20,7,26,0) 0%, rgba(20,7,26,0.7) 36%, rgba(11,4,15,0.98) 100%) !important; opacity: 1 !important; } #lineup .artist-name { font-size: clamp(17px, 1.35vw, 23px); line-height: 1.05; letter-spacing: 0.04em; text-transform: uppercase; } #lineup .artist-origin { width: fit-content; margin-top: 10px; padding: 5px 10px 4px; border: 1px solid rgba(255,255,255,0.18); background: rgba(112,33,124,0.44); color: rgba(255,255,255,0.78); font-size: 10px; line-height: 1; } @media (max-width: 1024px) { #lineup .lineup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } #lineup .artist-card { aspect-ratio: 0.86; } } @media (max-width: 768px) { #lineup .lineup-grid { grid-template-columns: 1fr !important; gap: 16px !important; } #lineup .artist-card { aspect-ratio: 0.82; } #lineup .artist-overlay { min-height: 104px; padding: 22px 20px 20px !important; } } /* Programs booklet teaser */ #programs { position: relative; overflow: hidden; padding: 132px 48px 126px; background: radial-gradient(circle at 20% 10%, rgba(194,24,91,0.2), transparent 34%), radial-gradient(circle at 88% 78%, rgba(0,131,143,0.12), transparent 34%), linear-gradient(180deg, #1a0a1f 0%, #26102d 48%, #17081d 100%); } #programs::before { content: ”; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 86px 86px; mask-image: radial-gradient(circle at 50% 44%, black 0%, transparent 80%); pointer-events: none; } .programs-header { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(320px, 0.62fr); gap: clamp(28px, 5vw, 72px); align-items: end; margin-bottom: 48px; } .programs-header .section-title { max-width: 760px; margin-bottom: 0; } .programs-intro { color: rgba(255,255,255,0.68); font-size: clamp(16px, 1.25vw, 20px); line-height: 1.76; padding-left: 26px; border-left: 1px solid rgba(255,255,255,0.14); } .programs-card-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .program-card { position: relative; min-height: clamp(520px, 46vw, 680px); display: grid; grid-template-rows: minmax(260px, 1.05fr) auto; border: 1px solid rgba(255,255,255,0.12); background: rgba(18,7,22,0.62); box-shadow: 0 26px 80px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.06); overflow: hidden; } .program-card::before { content: ”; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(18,7,22,0.02) 0%, rgba(18,7,22,0.18) 48%, rgba(18,7,22,0.95) 100%); pointer-events: none; } .program-card-image { position: relative; min-height: 0; overflow: hidden; } .program-card-image img { width: 100%; height: 100%; min-height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(0.92) contrast(1.05) brightness(0.88); transform: scale(1.01); transition: transform 0.65s ease, filter 0.65s ease; } .program-card:hover .program-card-image img { transform: scale(1.055); filter: saturate(1.04) contrast(1.08) brightness(0.96); } .program-card-body { position: relative; z-index: 3; padding: clamp(24px, 3vw, 42px); background: linear-gradient(180deg, rgba(31,10,38,0.84), rgba(13,4,17,0.97)), rgba(18,7,22,0.82); } .program-card-index { display: inline-flex; align-items: center; min-height: 26px; margin-bottom: 18px; padding: 6px 10px 5px; border: 1px solid rgba(255,255,255,0.14); background: rgba(112,33,124,0.24); color: rgba(255,255,255,0.66); font-family: var(–font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.18em; line-height: 1; text-transform: uppercase; } .program-card h3 { margin: 0 0 14px; color: rgba(255,255,255,0.96); font-family: var(–font-display); font-size: clamp(22px, 2vw, 34px); font-weight: 700; line-height: 1.08; letter-spacing: 0.04em; text-transform: uppercase; } .program-card h4 { margin: 0 0 16px; color: rgba(255,255,255,0.86); font-size: clamp(17px, 1.28vw, 21px); font-weight: 700; line-height: 1.35; } .program-card p { margin: 0; color: rgba(255,255,255,0.64); font-size: 15px; line-height: 1.72; } .programs-closing { position: relative; z-index: 1; max-width: 880px; margin: 44px auto 0; padding: 24px 28px; border: 1px solid rgba(255,255,255,0.12); background: rgba(18,7,22,0.44); color: rgba(255,255,255,0.82); font-family: var(–font-display); font-size: clamp(18px, 1.5vw, 24px); font-weight: 700; line-height: 1.42; text-align: center; } @media (max-width: 980px) { #programs { padding: 96px 20px; } .programs-header { grid-template-columns: 1fr; margin-bottom: 34px; } .programs-intro { padding-left: 0; border-left: 0; max-width: 760px; } .programs-card-grid { grid-template-columns: 1fr; } .program-card { min-height: 0; grid-template-rows: minmax(240px, 48vw) auto; } } @media (max-width: 560px) { .program-card { grid-template-rows: 250px auto; } .program-card-body { padding: 24px 20px 26px; } .programs-closing { padding: 22px 18px; text-align: left; } } /* Programs mobile containment fix */ #programs, #programs .container, #programs .programs-card-grid, #programs .program-card, #programs .program-card-body, #programs .program-card-image { min-width: 0; max-width: 100%; box-sizing: border-box; } #programs .program-card { overflow: hidden; } #programs .program-card-image img { width: 100% !important; max-width: none !important; height: 100% !important; min-width: 100%; min-height: 100%; object-fit: cover !important; } #programs .program-card h3, #programs .program-card h4, #programs .program-card p { max-width: 100%; overflow-wrap: break-word; word-break: normal; } @media (max-width: 560px) { #programs { padding-left: 20px; padding-right: 20px; } #programs .container { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; } #programs .program-card { width: 100%; } #programs .program-card-body { overflow: hidden; } #programs .program-card p { font-size: 14px; line-height: 1.65; } } /* Location editorial block */ #location { position: relative; background: radial-gradient(circle at 18% 12%, rgba(194,24,91,0.16), transparent 34%), radial-gradient(circle at 82% 76%, rgba(0,131,143,0.11), transparent 30%), linear-gradient(180deg, #17081d 0%, #100514 100%); padding: 150px 48px; overflow: hidden; } #location::before { content: ”; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(circle at 50% 45%, black 0%, transparent 78%); pointer-events: none; } #location .container { position: relative; z-index: 1; } .location-grid { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.78fr); gap: clamp(34px, 5vw, 76px); align-items: stretch; } .location-map { position: relative; min-height: 640px; overflow: hidden; border: 1px solid rgba(255,255,255,0.12); background: rgba(18,7,22,0.5); box-shadow: 0 34px 100px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.06); } .location-map img { width: 100%; height: 100%; min-height: 640px; display: block; object-fit: cover; filter: saturate(0.82) contrast(1.08) brightness(0.78); transform: scale(1.015); } .location-map::before { content: ”; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(18,7,22,0.02), rgba(18,7,22,0.32)), radial-gradient(circle at 50% 50%, transparent 38%, rgba(18,7,22,0.5) 100%); pointer-events: none; } .location-map::after { content: ‘Playa Luna’; position: absolute; left: 28px; bottom: 26px; z-index: 2; color: rgba(255,255,255,0.84); font-family: var(–font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; } .location-details { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4.2vw, 58px); border: 1px solid rgba(255,255,255,0.12); background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.015)), rgba(18,7,22,0.56); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); } .location-eyebrow { color: var(–plum); font-family: var(–font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.34em; margin-bottom: 18px; text-transform: uppercase; } .location-title { margin: 0 0 10px; color: rgba(255,255,255,0.96); font-family: var(–font-display); font-size: clamp(42px, 4.4vw, 74px); font-weight: 700; line-height: 0.98; letter-spacing: 0; } .location-subtitle { margin: 0 0 34px; color: rgba(255,255,255,0.68); font-size: clamp(17px, 1.25vw, 21px); line-height: 1.45; } .location-copy { display: grid; gap: 18px; margin-bottom: 34px; } .location-copy p { margin: 0; color: rgba(255,255,255,0.66); font-size: 16px; line-height: 1.78; } .location-facts { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,0.12); border-left: 1px solid rgba(255,255,255,0.12); margin-bottom: 26px; } .location-fact { min-height: 112px; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px; border-right: 1px solid rgba(255,255,255,0.12); border-bottom: 1px solid rgba(255,255,255,0.12); background: rgba(18,7,22,0.34); } .location-fact::before { content: ”; width: 8px; height: 8px; border-radius: 50%; background: var(–plum); box-shadow: 0 0 20px rgba(112,33,124,0.9); } .location-fact-label { color: rgba(255,255,255,0.52); font-family: var(–font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; } .location-fact-value { color: rgba(255,255,255,0.86); font-size: 14px; line-height: 1.5; } .location-map-link { width: fit-content; display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 0 22px; border: 1px solid rgba(255,255,255,0.16); background: rgba(112,33,124,0.42); color: rgba(255,255,255,0.95); font-family: var(–font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-decoration: none; text-transform: uppercase; transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease; } .location-map-link::after { content: ”; width: 34px; height: 1px; background: rgba(255,255,255,0.55); } .location-map-link:hover { transform: translateY(-2px); background: rgba(194,24,91,0.48); border-color: rgba(255,255,255,0.28); } @media (max-width: 980px) { #location { padding: 96px 20px; } .location-grid { grid-template-columns: 1fr; } .location-map, .location-map img { min-height: 420px; } } @media (max-width: 560px) { .location-details { padding: 30px 22px; } .location-facts { grid-template-columns: 1fr; } .location-map, .location-map img { min-height: 330px; } .location-map-link { width: 100%; justify-content: center; padding: 0 16px; text-align: center; } } /* Location mobile containment fix */ #location, #location .container, #location .location-grid, #location .location-details, #location .location-copy, #location .location-facts, #location .location-fact { min-width: 0; max-width: 100%; box-sizing: border-box; } #location .location-title, #location .location-subtitle, #location .location-copy p, #location .location-fact-value { max-width: 100%; overflow-wrap: break-word; } @media (max-width: 560px) { #location .container { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; } #location .location-details { padding: 28px 20px 30px; } #location .location-title { font-size: 44px; } #location .location-copy p { font-size: 15px; line-height: 1.68; } #location .location-fact { min-height: 96px; padding: 16px; } } /* Programs closing CTA */ .programs-closing-wrap { position: relative; z-index: 1; max-width: 980px; margin: 44px auto 0; padding: 28px; border: 1px solid rgba(255,255,255,0.12); background: rgba(18,7,22,0.44); text-align: center; } .programs-closing-wrap .programs-closing { margin: 0 auto 22px; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,0.84); font-family: var(–font-display); font-size: clamp(18px, 1.5vw, 24px); font-weight: 700; line-height: 1.42; } .programs-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 0 30px; background: linear-gradient(135deg, #70217c, #9a2aaa); border: 1px solid rgba(255,255,255,0.16); color: #fff; font-family: var(–font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-decoration: none; text-transform: uppercase; box-shadow: 0 18px 50px rgba(112,33,124,0.34); transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease; } .programs-cta:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 22px 64px rgba(112,33,124,0.46); } @media (max-width: 560px) { .programs-closing-wrap { padding: 22px 18px; text-align: left; } .programs-cta { width: 100%; min-height: 56px; padding: 0 16px; text-align: center; letter-spacing: 0.1em; } } /* Mobile section optimization: about, vibes, tickets */ @media (max-width: 768px) { #about, #vibes, #tickets { padding-left: 18px !important; padding-right: 18px !important; overflow-x: hidden; } /* „Öt nap…” + video */ #about { padding-top: 84px !important; padding-bottom: 92px !important; background: radial-gradient(circle at 22% 4%, rgba(112,33,124,0.2), transparent 34%), linear-gradient(180deg, #120716 0%, #1a0920 100%); } #about .container { max-width: 100% !important; } #about .about-grid { display: flex !important; flex-direction: column; gap: 34px !important; align-items: stretch; } #about .about-text { max-width: 100%; text-align: left; } #about .section-label { margin-bottom: 16px; font-size: 10px; letter-spacing: 0.22em; } #about .section-title { font-size: clamp(34px, 11vw, 48px) !important; line-height: 1.02; letter-spacing: 0.01em; margin-bottom: 20px; text-wrap: balance; } #about .section-body { margin-bottom: 0 !important; font-size: 15px; line-height: 1.72; color: rgba(255,255,255,0.72); } #about .section-body + .section-body { margin-top: 14px !important; } #about .btn-primary { width: 100%; margin-top: 26px !important; padding: 16px 18px; text-align: center; } #about .about-video-outer { order: -1; padding-bottom: 0 !important; border: 1px solid rgba(255,255,255,0.14); background: linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04)), rgba(255,255,255,0.035); box-shadow: 0 24px 70px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.16); overflow: hidden; } #about .about-video-wrap { aspect-ratio: 4 / 5; min-height: 0; background-position: center; } #about .about-video { object-fit: cover; object-position: center; } #about .video-play-btn { background: linear-gradient(180deg, rgba(20,7,26,0.1), rgba(20,7,26,0.42)); } #about .video-play-btn svg { width: 58px; height: 58px; filter: drop-shadow(0 12px 28px rgba(0,0,0,0.45)); } #about .video-glass-label { position: static; transform: none; width: auto; max-width: none; margin: 0; padding: 14px 16px; border: 0; border-top: 1px solid rgba(255,255,255,0.14); border-radius: 0; background: rgba(255,255,255,0.07); white-space: normal; text-align: center; box-shadow: none; } #about .video-glass-label span { display: block; font-size: 11px; line-height: 1.45; letter-spacing: 0.12em; } /* Gallery */ #vibes { padding-top: 86px !important; padding-bottom: 88px !important; } #vibes .container { max-width: 100% !important; } #vibes .vibes-header { display: block !important; margin-bottom: 28px; } #vibes .vibes-header .section-title { max-width: 100%; font-size: clamp(31px, 10vw, 44px) !important; line-height: 1.04; text-wrap: balance; } #vibes .vibes-copy { margin-top: 18px; padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,0.14); font-size: 14px; line-height: 1.68; } #vibes .vibes-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 10px; } #vibes .vibe-card, #vibes .vibe-card.feature, #vibes .vibe-card.tall, #vibes .vibe-card.large, #vibes .vibe-card.wide { grid-column: auto; grid-row: auto; aspect-ratio: 1 / 1.15; min-height: 0; } #vibes .vibe-card.feature, #vibes .vibe-card.large { grid-column: 1 / -1; aspect-ratio: 1.18 / 1; } #vibes .vibe-card img { height: 100%; transform: none; filter: saturate(0.95) contrast(1.06) brightness(0.9); } #vibes .vibe-card::after { display: none; } #vibes .vibe-caption { left: 12px; right: 12px; bottom: 12px; gap: 10px; font-size: 10px; line-height: 1.25; letter-spacing: 0.11em; } #vibes .vibe-caption span:last-child { font-size: 9px; letter-spacing: 0.14em; } #vibes .vibe-lightbox { padding: 18px; } #vibes .vibe-lightbox img { max-width: 94vw; max-height: 78vh; } #vibes .vibe-lightbox-caption { left: 18px; right: 72px; bottom: 18px; font-size: 11px; line-height: 1.4; } #vibes .vibe-lightbox-close { top: 14px; right: 14px; width: 44px; height: 44px; } /* Tickets */ #tickets { padding-top: 92px !important; padding-bottom: 96px !important; background: radial-gradient(circle at 50% 0%, rgba(176,64,200,0.18), transparent 38%), linear-gradient(180deg, #1b0921 0%, #100515 100%); } #tickets::before { width: 360px; height: 360px; opacity: 0.72; } #tickets .container { max-width: 100% !important; } #tickets .tickets-label { margin-bottom: 14px; font-size: 10px; letter-spacing: 0.26em; } #tickets .tickets-title { max-width: 340px; margin-left: auto; margin-right: auto; font-size: clamp(32px, 10vw, 44px); line-height: 1.03; text-wrap: balance; } #tickets .tickets-urgency { max-width: 320px; margin: 0 auto 30px; font-size: 12px; line-height: 1.55; letter-spacing: 0.06em; } #tickets .ticket-tiers { display: grid !important; grid-template-columns: 1fr; gap: 16px; margin-bottom: 0; } #tickets .ticket-tier { width: 100%; min-width: 0; padding: 28px 20px 22px; text-align: left; background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.035)), rgba(255,255,255,0.035); border-color: rgba(255,255,255,0.16); box-shadow: 0 22px 64px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.16); } #tickets .ticket-tier.featured { background: linear-gradient(135deg, rgba(176,64,200,0.24), rgba(255,255,255,0.055)), rgba(112,33,124,0.16); box-shadow: 0 0 0 1px rgba(176,64,200,0.5), 0 24px 72px rgba(112,33,124,0.26); } #tickets .tier-badge { position: static; display: inline-flex; margin: -6px 0 16px; padding: 6px 10px; font-size: 9px; line-height: 1.2; max-width: 100%; } #tickets .tier-name { font-size: 11px; line-height: 1.35; letter-spacing: 0.16em; margin-bottom: 12px; } #tickets .tier-price { font-size: clamp(36px, 12vw, 48px); margin-bottom: 8px; white-space: nowrap; } #tickets .tier-price-old { font-size: 16px; } #tickets .tier-note { font-size: 13px; line-height: 1.45; } #tickets .tier-features { margin-top: 18px; padding-top: 18px; gap: 11px; } #tickets .tier-features li { font-size: 13px; line-height: 1.5; color: rgba(255,255,255,0.74); } #tickets .tier-cta { min-height: 52px; margin-top: 22px; padding: 15px 16px; font-size: 13px; line-height: 1.2; text-align: center; } } @media (max-width: 400px) { #vibes .vibes-grid { gap: 8px; } #vibes .vibe-caption { font-size: 9px; letter-spacing: 0.08em; } #tickets .ticket-tier { padding-left: 18px; padding-right: 18px; } } /* End mobile section optimization */ /* FAQ long-copy mobile fix */ #faq .faq-header .section-title { max-width: 1080px; margin-left: auto; margin-right: auto; font-size: clamp(42px, 6vw, 96px); line-height: 1.04; } #faq .faq-a { font-size: 16px; line-height: 1.78; overflow: hidden; } #faq .faq-a strong { color: rgba(255,255,255,0.9); font-weight: 700; } #faq .faq-item.open .faq-a { max-height: 680px; } @media (max-width: 768px) { #faq .faq-header { margin-bottom: 42px; } #faq .faq-header .section-title { font-size: clamp(34px, 11vw, 52px); line-height: 1.08; text-align: left; } #faq .faq-header .section-label { text-align: left; } #faq .faq-q { gap: 18px; font-size: 18px; line-height: 1.35; padding: 24px 0; } #faq .faq-a { font-size: 15px; line-height: 1.7; padding-right: 0; } #faq .faq-item.open .faq-a { max-height: 900px; } } /* Final tribe CTA */ #tribe-cta { position: relative; overflow: hidden; padding: 150px 48px 142px; background: radial-gradient(circle at 50% 0%, rgba(194,24,91,0.22), transparent 34%), radial-gradient(circle at 12% 82%, rgba(0,131,143,0.12), transparent 30%), linear-gradient(180deg, #17081d 0%, #100514 100%); text-align: center; } #tribe-cta::before { content: ”; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px); background-size: 92px 92px; mask-image: radial-gradient(circle at 50% 44%, black 0%, transparent 76%); pointer-events: none; } .tribe-cta-panel { position: relative; z-index: 1; max-width: 1120px; margin: 0 auto; padding: clamp(42px, 6vw, 86px) clamp(26px, 6vw, 96px); border: 1px solid rgba(255,255,255,0.13); background: linear-gradient(135deg, rgba(255,255,255,0.07), rgba(255,255,255,0.018)), rgba(18,7,22,0.58); box-shadow: 0 36px 110px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.08); } .tribe-cta-panel::before { content: ”; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,0.06); pointer-events: none; } .tribe-logo-wrap { position: relative; width: clamp(104px, 10vw, 150px); height: clamp(104px, 10vw, 150px); margin: 0 auto 34px; display: grid; place-items: center; } .tribe-logo-wrap::before { content: ”; position: absolute; inset: -20px; border-radius: 50%; background: radial-gradient(circle, rgba(112,33,124,0.28), transparent 66%); filter: blur(2px); } .tribe-logo-wrap img { position: relative; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 40px rgba(0,0,0,0.5)); } .tribe-title { position: relative; margin: 0 auto 28px; max-width: 900px; color: rgba(255,255,255,0.96); font-family: var(–font-display); font-size: clamp(48px, 7vw, 112px); font-weight: 700; line-height: 0.95; letter-spacing: 0; } .tribe-copy { position: relative; max-width: 760px; margin: 0 auto 40px; display: grid; gap: 16px; color: rgba(255,255,255,0.72); font-size: clamp(17px, 1.25vw, 21px); line-height: 1.72; } .tribe-copy p { margin: 0; } .tribe-cta-note { position: relative; margin: 0 auto 16px; color: rgba(255,255,255,0.66); font-family: var(–font-display); font-size: clamp(15px, 1.1vw, 18px); font-style: italic; line-height: 1.45; } .tribe-cta-button { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 62px; padding: 0 34px; border: 1px solid rgba(255,255,255,0.16); background: linear-gradient(135deg, #70217c, #a72db8); color: #fff; font-family: var(–font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.15em; text-decoration: none; text-transform: uppercase; box-shadow: 0 22px 64px rgba(112,33,124,0.42); transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease; } .tribe-cta-button:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 28px 78px rgba(112,33,124,0.52); } @media (max-width: 768px) { #tribe-cta { padding: 92px 20px; } .tribe-cta-panel { padding: 38px 22px 42px; } .tribe-title { font-size: clamp(42px, 15vw, 64px); } .tribe-copy { font-size: 16px; line-height: 1.68; } .tribe-cta-button { width: 100%; min-height: 58px; padding: 0 16px; letter-spacing: 0.1em; } } /* FAQ mobile optimization */ #faq .section-title { max-width: 760px; margin-left: auto; margin-right: auto; font-size: 30px !important; line-height: 1.18; text-wrap: balance; } @media (max-width: 768px) { #faq { padding: 92px 18px 96px !important; scroll-margin-top: 88px; background: radial-gradient(circle at 18% 0%, rgba(112,33,124,0.22), transparent 36%), linear-gradient(180deg, #100515 0%, #18081e 100%) !important; overflow-x: hidden; } #faq .container { max-width: 100% !important; } #faq .faq-header { text-align: left; margin-bottom: 32px; } #faq .section-label { margin-bottom: 14px; font-size: 10px; letter-spacing: 0.24em; color: rgba(255,255,255,0.58); } #faq .section-title { max-width: 100%; margin: 0; font-size: 30px !important; line-height: 1.15; letter-spacing: 0.01em; } #faq .faq-list { max-width: 100%; margin: 0; display: flex; flex-direction: column; gap: 10px; } #faq .faq-item { border: 1px solid rgba(255,255,255,0.14); background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)), rgba(255,255,255,0.025); box-shadow: 0 18px 54px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.12); overflow: hidden; } #faq .faq-q { min-height: 68px; padding: 18px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: left; font-size: 15px; line-height: 1.35; letter-spacing: 0.03em; } #faq .faq-icon { flex: 0 0 auto; } #faq .faq-a { max-height: 0; padding: 0 16px; opacity: 0; font-size: 14px; line-height: 1.68; color: rgba(255,255,255,0.72); transition: max-height 0.35s ease, padding 0.25s ease, opacity 0.25s ease; } #faq .faq-item.open .faq-a { max-height: 760px; padding: 0 16px 20px; opacity: 1; } } @media (max-width: 400px) { #faq .section-title { font-size: 30px !important; } #faq .faq-q { font-size: 14px; padding-left: 14px; padding-right: 14px; } #faq .faq-a { padding-left: 14px; padding-right: 14px; } } /* End FAQ mobile optimization */ /* Location full map image fit */ #location .location-grid { align-items: start; } #location .location-map { min-height: 0 !important; height: auto !important; align-self: start; display: flex; background: linear-gradient(145deg, rgba(255,255,255,0.04), rgba(18,7,22,0.62)), rgba(18,7,22,0.5); } #location .location-map img { width: 100% !important; height: auto !important; min-height: 0 !important; object-fit: contain !important; object-position: center center !important; transform: none !important; } #location .location-map::before { background: linear-gradient(180deg, rgba(18,7,22,0.08), rgba(18,7,22,0.2)), radial-gradient(circle at 50% 50%, transparent 46%, rgba(18,7,22,0.28) 100%); } @media (max-width: 980px) { #location .location-map, #location .location-map img { min-height: 0 !important; } } /* Tribe CTA mobile optimization */ #tribe-cta .tribe-title { font-size: 40px !important; line-height: 1.08; letter-spacing: 0.01em; text-wrap: balance; } @media (max-width: 768px) { #tribe-cta { padding: 92px 18px 88px !important; scroll-margin-top: 88px; background: radial-gradient(circle at 50% 0%, rgba(194,24,91,0.2), transparent 34%), radial-gradient(circle at 16% 94%, rgba(112,33,124,0.2), transparent 34%), linear-gradient(180deg, #17081d 0%, #0f0514 100%) !important; } #tribe-cta .container { max-width: 100% !important; padding: 0; } #tribe-cta .tribe-cta-panel { padding: 34px 20px 36px !important; background: linear-gradient(135deg, rgba(255,255,255,0.105), rgba(255,255,255,0.032)), rgba(18,7,22,0.58); border-color: rgba(255,255,255,0.16); box-shadow: 0 24px 76px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.14); } #tribe-cta .tribe-cta-panel::before { inset: 8px; } #tribe-cta .tribe-logo-wrap { width: 92px; height: 92px; margin-bottom: 24px; } #tribe-cta .tribe-title { max-width: 310px; margin-bottom: 22px; font-size: 40px !important; line-height: 1.08; } #tribe-cta .tribe-copy { max-width: 310px; margin-bottom: 26px; gap: 12px; font-size: 15px; line-height: 1.68; color: rgba(255,255,255,0.74); } #tribe-cta .tribe-cta-note { max-width: 300px; margin-bottom: 18px; font-size: 14px; line-height: 1.5; } #tribe-cta .tribe-cta-button { width: 100%; min-height: 56px; padding: 0 16px; font-size: 12px; line-height: 1.2; letter-spacing: 0.1em; text-align: center; } } @media (max-width: 400px) { #tribe-cta .tribe-title { font-size: 40px !important; } #tribe-cta .tribe-cta-panel { padding-left: 18px !important; padding-right: 18px !important; } } /* End Tribe CTA mobile optimization */ /* Lineup more mobile two-column optimization */ @media (max-width: 768px) { #lineup .lineup-more { margin-top: 40px !important; } #lineup .lineup-more-title { margin-bottom: 18px; font-size: 28px; line-height: 1.1; } #lineup .lineup-more-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 1fr; align-items: stretch; gap: 9px !important; } #lineup .lineup-chip { width: 100%; min-width: 0; min-height: 64px !important; height: 100%; padding: 12px 10px !important; align-items: center; font-size: 11px !important; line-height: 1.18; letter-spacing: 0.045em; word-break: normal; overflow-wrap: anywhere; hyphens: auto; } #lineup .lineup-chip::before { width: 6px; height: 6px; margin-right: 8px; box-shadow: 0 0 14px rgba(196,90,210,0.72), 0 0 0 4px rgba(255,255,255,0.04); } } @media (max-width: 360px) { #lineup .lineup-more-grid { gap: 8px !important; } #lineup .lineup-chip { min-height: 62px !important; padding: 11px 9px !important; font-size: 10px !important; letter-spacing: 0.035em; } } /* End lineup more mobile two-column optimization */ /* Hide currency switcher on Nomad 2026 landing */ body:has(#nomad-landing) .wmc-currency-wrapper, body:has(#nomad-landing) .wmc-currency-switcher, body:has(#nomad-landing) .wmc-currency, body:has(#nomad-landing) .wmc-currency-symbol { display: none !important; visibility: hidden !important; pointer-events: none !important; } /* Hide side cart trigger while cart is empty */ body.nomad-cart-empty:has(#nomad-landing) .xoo-wsc-basket { display: none !important; visibility: hidden !important; pointer-events: none !important; } /* Who For section */ #who-for { position: relative; isolation: isolate; padding: 132px 48px 138px; overflow: hidden; background: radial-gradient(circle at 14% 16%, rgba(112,33,124,0.38), transparent 32%), radial-gradient(circle at 82% 8%, rgba(206,87,134,0.18), transparent 30%), linear-gradient(180deg, #17081d 0%, #25102b 48%, #120716 100%); } #who-for::before { content: ”; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px); background-size: 76px 76px; mask-image: radial-gradient(circle at 50% 42%, black 0%, transparent 76%); pointer-events: none; } #who-for::after { content: ”; position: absolute; left: 50%; top: 50%; z-index: -1; width: min(780px, 84vw); height: min(780px, 84vw); border: 1px solid rgba(255,255,255,0.08); border-radius: 999px; transform: translate(-50%, -50%); box-shadow: inset 0 0 0 38px rgba(255,255,255,0.018), 0 0 110px rgba(112,33,124,0.24); opacity: 0.78; pointer-events: none; } .who-for-shell { position: relative; display: grid; grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr); gap: 58px; align-items: center; } .who-for-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; font-family: var(–font-display); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(255,255,255,0.72); } .who-for-kicker::before { content: ”; width: 46px; height: 1px; background: rgba(255,255,255,0.34); } .who-for-title { max-width: 540px; margin: 0 0 28px; font-family: var(–font-display); font-size: clamp(42px, 5vw, 74px); font-weight: 600; line-height: 0.98; letter-spacing: 0.01em; color: var(–white); text-wrap: balance; } .who-for-copy { max-width: 440px; margin: 0; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,0.68); } .who-for-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; } .who-for-list li { position: relative; min-height: 118px; padding: 22px 20px 22px 58px; border: 1px solid rgba(255,255,255,0.13); background: linear-gradient(135deg, rgba(255,255,255,0.095), rgba(255,255,255,0.028)), rgba(18,7,22,0.48); color: rgba(255,255,255,0.82); font-size: 15px; line-height: 1.55; box-shadow: 0 22px 54px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.12); } .who-for-list li::before { content: ”; position: absolute; left: 20px; top: 24px; width: 18px; height: 18px; border: 1px solid rgba(255,255,255,0.55); border-radius: 50%; background: radial-gradient(circle at center, #ffffff 0 3px, rgba(112,33,124,0.72) 4px 8px, transparent 9px); box-shadow: 0 0 22px rgba(255,255,255,0.18); } .who-for-final { grid-column: 1 / -1; display: flex; gap: 28px; align-items: center; justify-content: space-between; margin-top: 16px; padding: 28px 30px; border: 1px solid rgba(255,255,255,0.16); background: linear-gradient(90deg, rgba(112,33,124,0.64), rgba(112,33,124,0.28)), rgba(255,255,255,0.04); } .who-for-final p { max-width: 670px; margin: 0; font-family: var(–font-display); font-size: clamp(22px, 2.6vw, 34px); font-weight: 600; line-height: 1.18; color: var(–white); text-wrap: balance; } .who-for-cta { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 28px; border: 1px solid rgba(255,255,255,0.78); border-radius: 999px; background: var(–white); color: #2B1130 !important; -webkit-text-fill-color: #2B1130; font-family: var(–font-display); font-size: 14px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease; } .who-for-cta:hover { transform: translateY(-2px); background: #70217C; color: var(–white) !important; -webkit-text-fill-color: var(–white); box-shadow: 0 18px 42px rgba(0,0,0,0.28); } @media (max-width: 1024px) { .who-for-shell { grid-template-columns: 1fr; gap: 34px; } .who-for-copy { max-width: 640px; } } @media (max-width: 768px) { #who-for { padding: 96px 18px 94px; scroll-margin-top: 88px; } #who-for::before { background-size: 54px 54px; opacity: 0.78; } #who-for::after { top: 38%; width: 118vw; height: 118vw; opacity: 0.48; } #who-for .container { max-width: 100% !important; padding: 0; } .who-for-kicker { margin-bottom: 18px; font-size: 10px; letter-spacing: 0.22em; } .who-for-kicker::before { width: 34px; } .who-for-title { max-width: 340px; margin-bottom: 18px; font-size: clamp(34px, 10.4vw, 42px); line-height: 1.02; } .who-for-copy { max-width: 330px; font-size: 15px; line-height: 1.68; } .who-for-list { grid-template-columns: 1fr; gap: 10px; } .who-for-list li { min-height: 0; padding: 17px 16px 17px 50px; font-size: 14px; line-height: 1.52; } .who-for-list li::before { left: 17px; top: 18px; width: 16px; height: 16px; } .who-for-final { display: block; margin-top: 12px; padding: 26px 18px 20px; text-align: left; } .who-for-final p { margin-bottom: 20px; font-size: 25px; line-height: 1.16; } .who-for-cta { width: 100%; min-height: 56px; padding: 0 16px; font-size: 12px; line-height: 1.2; letter-spacing: 0.12em; text-align: center; } } @media (max-width: 380px) { .who-for-title { font-size: 38px; } .who-for-final p { font-size: 23px; } } /* End Who For section */

Nomad Tribal Gathering 2026.

A nyár utolsó ünnepe azokkal, akikkel egy nyelvet beszél a lelked

2026. augusztus 19–23.

Playa Luna magánbirtok · Pápa, Magyarország

Már csak ennyi idő van hátra:

Nap
·
Óra
·
Perc
·
Másodperc
Görgets
500 Limitált hely
5 Nap a természetben
30+ Programesemény
8 Országból érkező művész
Végtelen Kapcsolódás

Öt nap, ahol a természet és a zene eggyé válik

A Nomad Tribal Gathering egy 5 napos, limitált létszámú (kb. 500 fős) közösségi élményfesztivál, ahol a természet, az elektronikus törzsi zene és a tudatos jelenlét találkozik.

A Playa Luna privát birtokon, Pápa közelében megrendezett esemény zenei élményeket, workshopokat és feltöltődést kínál — nemzetközileg elismert előadókkal.

Nem egy hagyományos fesztivál, hanem egy elvonulás jellegű közösségi élmény, ahol lelassulhatsz, kapcsolódhatsz, és feltöltődve térhetsz vissza a hétköznapokba.

Szeretnék ott lenni
Éld át a Nomad autentikus hangulatát!

Nézd meg, milyen hangulat vár rád augusztusban

Szieszta a tóparton. Naplementés találkozások. Tánc a csillagok alatt. Ezek a képek megmutatják azt az élményt, aminek hamarosan te is a részese lehetsz.

Minden helyszín más élményt és programot hoz

A Nomád nem egyetlen színpad köré épül. Minden helyszín saját hangulattal, programokkal és közösségi élménnyel vár.

Main Stage
Main Stage
A törzs közös szívverése
Nemzetközi tribal, organic és downtempo előadók. Naplementétől hajnalig tartó zenei utazások a tópart mellett.
Movements
Movements
Mozgás, ami visszahoz a testedbe
Acro jóga, Hatha jóga, Vinyasa Flow, Tai Chi, Chi Kung és szabad mozgásgyakorlatok várnak egész nap. Akár energikusan indítanád a reggelt, akár finoman hangolódnál a napra, itt megtalálod a saját ritmusodat.
Lectures
Lectures & Workshops
Inspiráció, amit hazaviszel magaddal
Előadások, beszélgetések és gyakorlati workshopok olyan témákban, amelyek a fesztivál után is veled maradnak.
Healing Garden
Healing Garden
Ahol lelassul minden
Hangfürdők, teaszertartások, relaxáció és feltöltődés. Egy tér, ahol relaxálhatsz az élmények között.
Fireplace
Fireplace
A nap utolsó történetei
Tábortűz, spontán zenélések, mély beszélgetések és azok a találkozások, amelyekből gyakran életre szóló kapcsolatok születnek.

Nyerj betekintést a 2026 Nomad Gathering programfüzetébe

Mozgás, zene, önismeret és rituálék. A Nomádon nincs kötelező útvonal. Minden pillanatban te döntöd el, hogy a testedhez, a közösséghez vagy önmagadhoz szeretnél közelebb kerülni.

Mozgás és testtudatosság a Nomad Gatheringen
01

Mozgás és testtudatosság

Kapcsolódj újra a testedhez

Acro jóga, Hatha jóga, Vinyasa Flow, Tai Chi, Chi Kung és Lemanguria segítenek lelassulni, feltöltődni és megérkezni a jelen pillanatba.

Zene és hangutazások a Nomad Gatheringen
02

Zene és hangutazások

Ahol minden hang egy új utazás kezdete

Jam sessionök, hangfürdők, handpan utazások, kristályhangfürdők, doromb és didgeridoo workshopok várnak egész héten.

Önismeret és kapcsolódás a Nomad Gatheringen
03

Önismeret és kapcsolódás

Mélyebb találkozások önmagaddal és másokkal

Ecstatic Dance, Watson Coaching, Bodyway, Contact Beyond Contact, Shibari Art, táncszínház és különleges mozgásalapú önismereti programok.

Szertartások és rituálék a Nomad Gatheringen
04

Szertartások és rituálék

Lassíts le, hangolódj rá a pillanatra

Tea szertartás, kakaó ceremónia, rapé ceremónia és gyógygomba workshopok segítenek elmélyíteni az élményt.

És ez még csak egy része annak, ami a Nomad Gatheringen vár rád. A teljes program hamarosan érkezik.

Tovább a jegyvásárlásra!

Kinek szól a Nomád?

Jól fogod nálunk érezni magad, ha…

Ha a fesztivál számodra nem csak program, hanem kapcsolódás, lelassulás és egy új nyári emlék, akkor jó helyen jársz.

  • Szereted a tribal, organic és downtempo zenei világot.
  • Fontos számodra a kapcsolódás és a közösségi élmény.
  • Szívesen kezded a napot jógával vagy egy tóparti sétával.
  • Nyitott vagy workshopokra, önismereti programokra és új nézőpontokra.
  • Vonz a természetközeli, emberléptékű fesztiválok hangulata.
  • Szeretnéd feltöltve, inspiráltan és új élményekkel gazdagodva zárni a nyarat.

Ha olvasás közben többször is azt érezted, hogy „ez nagyon én vagyok”, akkor találkozzunk augusztusban!

Ott szeretnék lenni!

Előadók a világ minden tájáról

Nemzetközi tribal, organic és downtempo előadók, élő koncertek, hangutazások és különleges zenei találkozások napkeltétől hajnalig.

Gagarin Project
Gagarin Project
Örményország
Suduaya
Suduaya
Franciaország
Alanda
Alanda
Izrael
Schiipman
Schiipman
Magyarország
Nasiri
Nasiri
Irán
Ping Medusa
Ping Medusa
Magyarország
Acoustic Substances
Acoustic Substances
Ukrajna

További előadók

Rey&Kjavik
Meo Culpa
Palo Canto
Szenka
Booshanka
Urban Vinyl
HuBertus
DJ Hunbaba
Bellegance
Palya Bea
Marton Gergő
Sarkadi Eszter Mirka
Tas Gergő
Hangay Niki
Kura Dani
Halász Anna
Lukács Gabi
Kakucsi Csabi
Lengyel Bori
Seder Laura
Pálmai Tibi
Ládonyi Bori
Lina
Jámbor Anna
Heller Karin

Találkozzunk 2026 Augusztus 19-én.

Nomad Tribal Gathering 2026

Már csak ennyi idő van hátra:

nap
óra
perc
mp

Playa Luna magánbirtok – Pápai tavak

Jegyet vásárolok!
Playa Luna magánbirtok térképe

A helyszín

Playa Luna

Playa Luna magánbirtok – Pápai tavak

A Playa Luna magánbirtok egy külön világ Pápa mellett. Homokos part, bambuszligetek, árnyékos pihenőhelyek és egy tó, amely egész nap hívogat egy hűsítő fürdőzésre.

A terület elég nagy ahhoz, hogy mindig találj egy nyugodt sarkot magadnak, és elég kicsi ahhoz, hogy néhány nap alatt minden ismerőssé váljon.

Ha kapcsolódni szeretnél, a színpad és a közösségi terek mindig tele vannak élettel. Ha csendre vágysz, egy függőágy a bambuszok között vagy egy árnyékos hely a tóparton pillanatok alatt kiszakít a külvilágból.

Pontos cím 8500 Pápa, Mátyusháza puszta 1.
Playa Luna magánbirtok
Létszám Maximum 500 résztvevő
Szállás Sátrazási lehetőség a helyszínen
Megközelítés Budapestről körülbelül 1,5-2 óra autóval
Megnyitom Google Térképen

Nomad Gathering 2026 jegyek

Most érhetőek el a legkedvezőbb Nomád belépők

A helyek száma limitált – max. 500 fő!

Normál belépő 39 900Ft

Korlátozott darabszám

  • Belépést biztosít mind az 5 napra
  • Biztonságos bankkártyás fizetés a Stripe rendszerén belül
  • Azonnali visszaigazolás e-mailben

Még nem döntöttél?

Csatlakozz a Nomad körhöz, és értesülj elsőként a friss jegyinfókról, programokról és fellépőkről. A legújabb infók először csak a kör tagjaihoz jutnak el.

Elsőként értesítünk a friss infókról
Exkluzív tartalmak csak a kör tagjainak
Különleges ajánlatok és early access

Leggyakrabban felmerülő kérdések megválaszolva a 2026-os Nomad Gatheringről

A belépő a Nomad Tribal Gathering teljes időtartamára érvényes. Részt vehetsz a koncerteken, DJ szetteken, workshopokon, jógaórákon, közösségi programokon és a fesztivál legtöbb programján.
A Nomad Tribal Gathering helyszíne a Playa Luna magánbirtok a Pápai tavaknál.

Cím:
8500 Pápa, Mátyusháza puszta 1.

A helyszín Google Mapsen, Waze-ben és Apple Mapsben is megtalálható „Pápaitavak” néven.
Igen. A helyszínen több kijelölt sátorzóna is lesz. Találsz csendesebb és a közösségi terekhez közelebb eső területeket is. Lakóautóval érkezők számára külön parkolóhely áll rendelkezésre.
A Nomád szándékosan családias léptékű esemény. A résztvevők száma maximum 500 fő, így könnyebb kapcsolódni, ismerős arcokkal találkozni és valódi közösségi élményt átélni.
Igen. A 14 év alatti gyermekek szülői felügyelet mellett ingyenesen látogathatják a rendezvényt. Belépéskor életkorukat igazoló okmányt kérhetünk. A helyszínen gyermekfelügyeletet nem biztosítunk.
Igen, a háziállatokat szívesen látjuk. Arra kérünk, hogy ügyelj más résztvevők nyugalmára, és szükség esetén használd a pórázt. Az oltási könyvet mindenképpen hozd magaddal.
ATM és dohánybolt nincs a helyszínen, ezért érdemes előre felkészülni. Wifi nem áll rendelkezésre, a mobilhálózat pedig helyenként gyenge lehet. Sokan éppen ezért szeretik a Nomádot: néhány napra könnyebb kiszakadni a mindennapokból.
A Playa Luna egy különleges természeti környezet. Kérünk, vigyázz a növényekre, a tó élővilágára és a közös terek tisztaságára. A tóban kizárólag napkeltétől napnyugtáig lehet fürdeni, a teljes területen pedig csak a kijelölt helyen lehet tüzet használni.
Nomad Tribal Gathering logó

A törzs már gyülekezik

Augusztusban újra találkozunk azokkal, akikkel egy nyelvet beszél a lelkünk.

Ha hív a zene, a természet és a kapcsolódás, várunk a Playa Lunán.

Csapj le most a legkedvezőbb jegyekre!

Csatlakozom a törzshöz
document.addEventListener(‘DOMContentLoaded’, function() { // Psychedelic canvas wave const canvas = document.createElement(‘canvas’); canvas.style.cssText = ‘position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:overlay;opacity:0.22;’; document.getElementById(‘hero’).appendChild(canvas); const ctx = canvas.getContext(‘2d’); function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; } resizeCanvas(); window.addEventListener(‘resize’, resizeCanvas); let t = 0; function drawWave() { ctx.clearRect(0, 0, canvas.width, canvas.height); const w = canvas.width, h = canvas.height; const colors = [ [150, 30, 180], [80, 0, 120], [180, 20, 100], [20, 10, 120], ]; colors.forEach(([r,g,b], i) => { const phase = t * 0.0007 + i * 1.3; const cx = w * (0.3 + 0.4 * Math.sin(phase * 0.7)); const cy = h * (0.3 + 0.4 * Math.cos(phase * 0.5)); const rad = Math.min(w, h) * (0.28 + 0.1 * Math.sin(phase * 1.1)); const grad = ctx.createRadialGradient(cx, cy, 0, cx, cy, rad); grad.addColorStop(0, `rgba(${r},${g},${b},0.55)`); grad.addColorStop(1, `rgba(${r},${g},${b},0)`); ctx.beginPath(); ctx.arc(cx, cy, rad, 0, Math.PI * 2); ctx.fillStyle = grad; ctx.fill(); }); t++; requestAnimationFrame(drawWave); } drawWave(); // Native cursor enabled. // Navbar scroll const navbar = document.getElementById(‘navbar’); window.addEventListener(‘scroll’, () => { navbar.classList.toggle(‘scrolled’, window.scrollY > 60); }); // Countdown function updateCountdown() { const target = new Date(‘2026-08-19T10:00:00′); const now = new Date(); const diff = target – now; if (diff { const el = document.getElementById(id); if (el) el.textContent = String(value).padStart(2,’0’); }; setCountdownValue(‘cd-days’, d); setCountdownValue(‘cd-hours’, h); setCountdownValue(‘cd-mins’, m); setCountdownValue(‘cd-secs’, s); setCountdownValue(‘final-days’, d); setCountdownValue(‘final-hours’, h); setCountdownValue(‘final-mins’, m); setCountdownValue(‘final-secs’, s); } updateCountdown(); setInterval(updateCountdown, 1000); // Video play / pause toggle const aboutVideo = document.querySelector(‘.about-video’); const playBtn = document.querySelector(‘.video-play-btn’); if (aboutVideo) { function videoPlay() { aboutVideo.muted = false; aboutVideo.loop = false; aboutVideo.play(); if (playBtn) { playBtn.classList.add(‘hidden’); } } function videoPause() { aboutVideo.pause(); if (playBtn) { playBtn.classList.remove(‘hidden’); } } if (playBtn) { playBtn.addEventListener(‘click’, videoPlay); } aboutVideo.addEventListener(‘click’, function() { if (aboutVideo.paused) { videoPlay(); } else { videoPause(); } }); aboutVideo.addEventListener(‘ended’, function() { if (playBtn) { playBtn.classList.remove(‘hidden’); } }); } // Scroll reveal const reveals = document.querySelectorAll(‘.reveal’); const observer = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add(‘visible’); observer.unobserve(e.target); } }); }, { threshold: 0.12 }); reveals.forEach(el => observer.observe(el)); // Nomad Circle subscribe const nomadCircleForm = document.getElementById(‘nomad-circle-form’); if (nomadCircleForm) { const feedbackEl = document.getElementById(‘nomad-circle-feedback’); const submitButton = nomadCircleForm.querySelector(‘.nomad-circle-button’); const emailInput = nomadCircleForm.querySelector(‘.nomad-circle-input’); const inputWrap = nomadCircleForm.querySelector(‘.nomad-circle-input-wrap’); const consentInput = nomadCircleForm.querySelector(‘#nomad-circle-consent’); const syncNomadCirclePlaceholder = () => { if (!emailInput || !inputWrap) return; inputWrap.classList.toggle(‘has-value’, Boolean(String(emailInput.value || ”).trim())); }; if (emailInput && inputWrap) { emailInput.addEventListener(‘input’, syncNomadCirclePlaceholder); emailInput.addEventListener(‘blur’, syncNomadCirclePlaceholder); syncNomadCirclePlaceholder(); } nomadCircleForm.addEventListener(‘submit’, async function(event) { event.preventDefault(); if (!submitButton) return; const formData = new FormData(nomadCircleForm); const email = String(formData.get(’email’) || ”).trim(); const hasConsent = consentInput ? consentInput.checked : false; feedbackEl.className = ‘nomad-circle-feedback’; feedbackEl.textContent = ”; if (!email || !/^[^s@]+@[^s@]+.[^s@]+$/.test(email)) { feedbackEl.classList.add(‘is-error’); feedbackEl.textContent = ‘Kérlek, adj meg egy valós email címet.’; return; } if (!hasConsent) { feedbackEl.classList.add(‘is-error’); feedbackEl.textContent = ‘A feliratkozáshoz el kell fogadnod az adatkezelési tájékoztatót.’; if (consentInput) consentInput.focus(); return; } submitButton.disabled = true; const originalText = submitButton.textContent; submitButton.textContent = ‘Feldolgozás…’; try { const response = await fetch(‘/wp-json/nomad/v1/circle-subscribe’, { method: ‘POST’, credentials: ‘same-origin’, headers: { ‘Content-Type’: ‘application/json’ }, body: JSON.stringify({ email: email, source: formData.get(‘source’), context: formData.get(‘context’), website: formData.get(‘website’), consent: hasConsent }) }); const data = await response.json(); if (!response.ok || !data.success) { throw new Error(data.message || ‘Most nem sikerült a feliratkozás.’); } feedbackEl.classList.add(‘is-success’); feedbackEl.textContent = data.message || ‘Sikeresen csatlakoztál a Nomad körhöz.’; nomadCircleForm.reset(); syncNomadCirclePlaceholder(); } catch (error) { feedbackEl.classList.add(‘is-error’); feedbackEl.textContent = error.message || ‘Most nem sikerült a feliratkozás. Kérlek, próbáld újra.’; } finally { submitButton.disabled = false; submitButton.textContent = originalText; } }); } // FAQ document.querySelectorAll(‘.faq-q’).forEach(btn => { btn.addEventListener(‘click’, () => { const item = btn.closest(‘.faq-item’); const isOpen = item.classList.contains(‘open’); document.querySelectorAll(‘.faq-item.open’).forEach(el => el.classList.remove(‘open’)); if (!isOpen) item.classList.add(‘open’); }); }); // Gallery lightbox const vibeCards = document.querySelectorAll(‘.vibe-card’); if (vibeCards.length) { const lightbox = document.createElement(‘div’); lightbox.className = ‘vibe-lightbox’; lightbox.innerHTML = ‘
‘; document.body.appendChild(lightbox); const lightboxImg = lightbox.querySelector(‘img’); const lightboxCaption = lightbox.querySelector(‘.vibe-lightbox-caption’); const closeLightbox = () => { lightbox.classList.remove(‘open’); lightboxImg.removeAttribute(‘src’); document.body.style.overflow = ”; }; vibeCards.forEach(card => { card.addEventListener(‘click’, event => { event.preventDefault(); const img = card.querySelector(‘img’); lightboxImg.src = card.getAttribute(‘href’) || img.currentSrc || img.src; lightboxImg.alt = img.alt || ”; lightboxCaption.textContent = card.querySelector(‘.vibe-caption span:first-child’)?.textContent || ”; lightbox.classList.add(‘open’); document.body.style.overflow = ‘hidden’; }); }); lightbox.addEventListener(‘click’, event => { if (event.target === lightbox || event.target.closest(‘.vibe-lightbox-close’)) closeLightbox(); }); document.addEventListener(‘keydown’, event => { if (event.key === ‘Escape’ && lightbox.classList.contains(‘open’)) closeLightbox(); }); } // Hide side cart trigger until there is an item in cart function updateNomadSideCartState() { const countEl = document.querySelector(‘.xoo-wsc-items-count’); const count = countEl ? parseInt((countEl.textContent || ‘0’).replace(/[^0-9]/g, ”), 10) || 0 : 0; document.body.classList.toggle(‘nomad-cart-empty’, count === 0); document.body.classList.toggle(‘nomad-cart-has-items’, count > 0); } updateNomadSideCartState(); const sideCartObserverTarget = document.querySelector(‘.xoo-wsc-modal’) || document.body; if (sideCartObserverTarget && window.MutationObserver) { new MutationObserver(updateNomadSideCartState).observe(sideCartObserverTarget, { childList: true, subtree: true, characterData: true, attributes: true }); } document.body.addEventListener(‘click’, () => setTimeout(updateNomadSideCartState, 250)); // AJAX add-to-cart — WooCommerce fragment refresh, no redirect document.querySelectorAll(‘.atc-btn’).forEach(function(btn) { btn.addEventListener(‘click’, function() { var productId = btn.getAttribute(‘data-product-id’); var originalText = btn.textContent; btn.textContent = ‘Hozzáadás…’; btn.disabled = true; btn.style.opacity = ‘0.7’; fetch(‘/?wc-ajax=add_to_cart’, { method: ‘POST’, credentials: ‘same-origin’, headers: { ‘Content-Type’: ‘application/x-www-form-urlencoded’ }, body: ‘product_id=’ + productId + ‘&quantity=1’ }) .then(function(r) { return r.json(); }) .then(function(data) { if (data.error) { btn.textContent = originalText; btn.disabled = false; btn.style.opacity = ”; window.location.href = ‘/?add-to-cart=’ + productId; return; } // Update WooCommerce fragments (mini cart widget) if (data.fragments) { Object.keys(data.fragments).forEach(function(selector) { var els = document.querySelectorAll(selector); els.forEach(function(el) { el.outerHTML = data.fragments[selector]; }); }); } // Trigger WC jQuery events so header cart icon updates if (typeof jQuery !== ‘undefined’) { jQuery(document.body).trigger(‘added_to_cart’, [data.fragments, data.cart_hash, jQuery(btn)]); jQuery(document.body).trigger(‘wc_fragment_refresh’); } btn.textContent = ‘✓ Kosárba téve’; btn.style.opacity = ‘1’; btn.style.background = ‘#2d8a4e’; setTimeout(function() { btn.textContent = originalText; btn.disabled = false; btn.style.background = ”; }, 2500); }) .catch(function() { window.location.href = ‘/?add-to-cart=’ + productId; }); }); }); }); // DOMContentLoaded
(function(){ function isEnglishNomad(){ return document.body && document.body.classList && document.body.classList.contains(‘translatepress-en_GB’); } var replacements = { ‘NAP’: ‘DAYS’, ‘Nap’: ‘Days’, ‘nap’: ‘days’, ‘ÓRA’: ‘HOURS’, ‘Óra’: ‘Hours’, ‘óra’: ‘hours’, ‘PERC’: ‘MINUTES’, ‘Perc’: ‘Minutes’, ‘perc’: ‘minutes’, ‘MÁSODPERC’: ‘SECONDS’, ‘Másodperc’: ‘Seconds’, ‘másodperc’: ‘seconds’, ‘A helyszín Google Mapsen, Waze-ben és Apple Mapsben is megtalálható „Pápaitavak” néven.’: ‘The venue can also be found on Google Maps, Waze and Apple Maps under the name “Pápaitavak”.’, ‘A helyszín Google Mapsen, Waze-ben és Apple Mapsben is megtalálható „Pápaitavak” néven.’: ‘The venue can also be found on Google Maps, Waze and Apple Maps under the name “Pápaitavak”.’ }; function polishEnglishText(){ if (!isEnglishNomad()) return; var root = document.getElementById(‘nomad-landing’); if (!root) return; var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT); var node; while ((node = walker.nextNode())) { var originalValue = node.nodeValue; var nextValue = originalValue; var trimmed = originalValue.trim(); if (replacements[trimmed]) { nextValue = originalValue.replace(trimmed, replacements[trimmed]); } else { Object.keys(replacements).forEach(function(from){ if (nextValue.indexOf(from) !== -1) nextValue = nextValue.split(from).join(replacements[from]); }); } if (nextValue !== originalValue) node.nodeValue = nextValue; } } if (document.readyState === ‘loading’) { document.addEventListener(‘DOMContentLoaded’, polishEnglishText); } else { polishEnglishText(); } window.addEventListener(‘load’, polishEnglishText); var runs = 0; var timer = window.setInterval(function(){ runs += 1; polishEnglishText(); if (runs >= 24) window.clearInterval(timer); }, 500); })();
Select your currency
HUF Magyar forint
EUR euró
0
    0
    Kosarad tartalma
    A kosarad üres
    ×
    ×

    Cart

    Nomad
    Adatvédelmi áttekintés

    Ez a weboldal sütiket használ, hogy a lehető legjobb felhasználói élményt nyújthassuk. A cookie-k információit tárolja a böngészőjében, és olyan funkciókat lát el, mint a felismerés, amikor visszatér a weboldalunkra, és segítjük a csapatunkat abban, hogy megértsék, hogy a weboldal mely részei érdekesek és hasznosak.