/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1782843396
Updated: 2026-06-30 21:16:36

*/


/* ============================================================
   CARD HOMEPAGE — FESTIVALS HERO
   ============================================================ */

/* ---- Hero container ---------------------------------------- */
.pz-hero {
  --pz-navy:      #123B63;
  --pz-navy-deep: #0E2E4D;
  --pz-ink:       #3A4C5E;
  --pz-muted:     #6B7B8C;
  --pz-panel:     #FFFFFF;

  background: #FFFFFF;
  border-radius: 28px;
  padding: clamp(28px, 4vw, 60px);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--pz-ink);
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 6px 18px rgba(17, 17, 26, .06);
}

.pz-hero * {
  box-sizing: border-box;
}

/* ---- Two-column layout ------------------------------------- */
.pz-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}

/* ---- Text column ------------------------------------------- */
.pz-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding: 9px 18px;
  background: var(--pz-navy);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
}

.pz-hero__title {
  margin: 0 0 20px;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--pz-navy);
}

.pz-hero__lead {
  margin: 0 0 30px;
  max-width: 44ch;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.65;
}

.pz-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--pz-navy-deep);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 12px;
  box-shadow: 0 12px 26px -12px rgba(14, 46, 77, .55);
  transition: transform .15s;
}

.pz-cta:hover {
  transform: translateY(-2px);
  color: #fff;
}

/* ---- Feature row ------------------------------------------- */
.pz-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 46px;
}

.pz-feature {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pz-feature svg {
  width: 26px;
  height: 26px;
  color: var(--pz-navy);
}

.pz-feature span {
  font-size: 12.5px;
  line-height: 1.35;
  color: var(--pz-muted);
}

/* ---- Visual stage (photo + card fan) ----------------------- */
.pz-stage {
  position: relative;
  min-height: 470px;
}

.pz-photo {
  position: absolute;
  inset: 0 26% 10% 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(18, 59, 99, .5);
}

.pz-photo img {
  display: block;
  width: 100%;
  height: stretch !important;
  object-fit: cover;
}


/* ============================================================
   EVENTS PLUGIN (WPLE) — CARD FAN
   ============================================================ */

/* Hide plugin chrome, keep the cards */
.pz-deck .wple-header,
.pz-deck .wple-more-wrap,
.pz-deck .wple-panel[data-ole-panel="past"] {
  display: none !important;
}

.pz-deck .wple-wrap {
  margin: 0;
}

/* The active grid becomes the fan container */
.pz-deck .wple-panel.is-active .wple-grid {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 70%;
}

/* Only show the first three cards */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card:nth-child(n+4) {
  display: none !important;
}

/* Base card: position + EQUAL SIZE, no cropping of the card.
   Card is a touch taller now to fit the full line-up. */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card {
  position: absolute;
  width: 300px;
  height: 550px;
  margin: 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 26px 50px -22px rgba(18, 59, 99, .5);
  transition: transform .25s, box-shadow .25s;
}

/* --- Equalize cards while KEEPING the full line-up ---------- */

/* Hide only the long variable description */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-desc {
   display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  margin-bottom: 6px;
  height: 40px;
}

/* Body is a flex column so we can pin things top/bottom */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* Slightly smaller image to make room for the line-up */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-thumb {
  height: 150px;
  flex: 0 0 auto;
}

.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Line-up: ALWAYS reserved, tall enough that nothing is cropped.
   Empty cards keep the same reserved space so heights match. */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-artists {
  display: flex !important;
  align-items: flex-start;
  gap: 20px;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-artists img {
	width:32px !important;
	height:32px !important;
	min-width: 32px !important;
}

/* artist */
.pz-deck .wple-panel.is-active .wple-artists{
	display:none;
}
/* Each line-up entry: avatar + name, kept compact */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-artist {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
/*   width: 52px; */
  flex: 0 0 auto;
  text-align: center;
}

/* Smaller circles */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-artist-img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

/* Name: one clamped line under the avatar */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-artist-name {
  font-size: 10.5px;
  line-height: 1.2;
  color: var(--pz-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Reserve 2 lines for the title so 1-line vs 2-line titles match */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
  margin: 0;
  height: 60px;
}

/* Push the meta + actions to the bottom so they align across cards */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-meta {
  margin-top: auto;
}

/* Fan placement + rotation */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card:nth-child(1) {
  right: 62%;
  bottom: 12%;
  z-index: 3;
  transform: rotate(0deg);
}

.pz-deck .wple-panel.is-active .wple-grid > .wple-card:nth-child(2) {
  right: 36%;
  bottom: 6%;
  z-index: 2;
  transform: rotate(5deg);
}

.pz-deck .wple-panel.is-active .wple-grid > .wple-card:nth-child(3) {
  right: 10%;
  bottom: 2%;
  z-index: 1;
  transform: rotate(9deg);
}

/* Lift card on hover */
.pz-deck .wple-panel.is-active .wple-grid > .wple-card:hover {
  z-index: 5;
  transform: rotate(0deg) translateY(-6px);
  box-shadow: 0 34px 60px -20px rgba(18, 59, 99, .55);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1000px) {
  .pz-hero__inner {
    grid-template-columns: 1fr;
  }

  .pz-stage {
    min-height: 0;
  }

  .pz-photo {
    position: relative;
    inset: auto;
    aspect-ratio: 16 / 10;
    margin-bottom: 24px;
  }

  /* Fan becomes a normal grid */
  .pz-deck .wple-panel.is-active .wple-grid {
    position: static;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .pz-deck .wple-panel.is-active .wple-grid > .wple-card {
    position: static;
    width: auto;
    min-height: 0;
    transform: none !important;
    box-shadow: 0 12px 30px -18px rgba(18, 59, 99, .4);
  }

  .pz-deck .wple-panel.is-active .wple-grid > .wple-card:nth-child(n) {
    right: auto;
    bottom: auto;
  }
}

@media (max-width: 760px) {
  .pz-deck .wple-panel.is-active .wple-grid {
    grid-template-columns: 1fr;
  }

  .pz-features {
    grid-template-columns: repeat(2, 1fr);
  }

  .pz-deck .wple-panel.is-active .wple-grid > .wple-card .wple-thumb {
    height: 140px;
  }
}