/* TicketsFest 10.2.58: canonical foundation bundle. Generated, do not hand-edit. */

/* === Source: assets/css/design-system-cleanup.css === */
/* TicketsFest.EU Design System Cleanup — v9.7.1 */
:root {
  --tfe-header-offset: 104px;
  --tfe-page-max: 1320px;
  --tfe-card-min: 280px;
}
html { overflow-x: hidden; }
body { overflow-x: clip; }
.tfe-page-container,
.tfe-container,
.tfe-events-archive,
.tfe-single-wrap,
.tfe-performer-wrap,
.tfe-tour-wrap {
  width: min(100% - 32px, var(--tfe-page-max));
  margin-inline: auto;
}
.tfe-card,
.tfe-event-card,
.tfe-event-card-v2,
.tfe-related-card,
.tfe-feature-card {
  min-width: 0;
}
.tfe-card img,
.tfe-event-card img,
.tfe-event-card-v2 img,
.tfe-single-wrap img,
.tfe-performer-wrap img,
.tfe-tour-wrap img {
  max-width: 100%;
  height: auto;
}
.tfe-btn,
.tfe-ticket-btn,
.tfe-event-cta,
.tfe-filter-submit,
button.tfe-btn,
a.tfe-btn {
  min-height: 44px;
}
.tfe-status,
.tfe-chip,
.tfe-badge,
.tfe-filter-chip {
  overflow-wrap: anywhere;
}
@media (max-width: 782px) {
  :root { --tfe-header-offset: 92px; }
  .tfe-page-container,
  .tfe-container,
  .tfe-events-archive,
  .tfe-single-wrap,
  .tfe-performer-wrap,
  .tfe-tour-wrap {
    width: min(100% - 24px, var(--tfe-page-max));
  }
}


/* === Source: assets/css/performance.css === */
/* TicketsFest.EU v9.8.3 — mobile performance / LCP helpers */
html{scroll-behavior:smooth;}
body{overflow-x:hidden;text-rendering:optimizeLegibility;}
img,svg,video,iframe{max-width:100%;height:auto;}
iframe{display:block;border:0;}

/* Keep below-the-fold sections cheap before they enter the viewport. */
.tfe-section,
.tfe-home-section,
.tfe-archive-section,
.tfe-related-events,
.tfe-performer-events,
.tfe-tour-schedule,
.tfe-seo-bottom,
.tfe-grid,
.tfe-slider-shell{
  content-visibility:auto;
  contain-intrinsic-size:1px 720px;
}

/* Hero/banner should reserve space early to reduce layout shift. */
.tftb-swiper,
.tftb-swiper .swiper,
.tftb-swiper .swiper-wrapper,
.tftb-swiper .swiper-slide{max-width:100%;}
.tftb-slide-inner{display:flex;align-items:center;justify-content:center;background:#0f172a;}
.tftb-slide-img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center center;}
.tftb-banners--fit-cover .tftb-slide-inner{aspect-ratio:16/9;}
.tftb-banners--fit-cover .tftb-slide-img{height:100%;aspect-ratio:16/9;object-fit:cover;}

/* First screen on mobile: reduce visual cost while retaining design. */
@media (max-width: 640px){
  .tftb-slide-inner{border-radius:18px!important;margin-inline:10px!important;}
  .tfe-card-item,.tfe-card-inner{contain:layout paint style;}
  .tfe-section,
  .tfe-home-section,
  .tfe-archive-section,
  .tfe-grid,
  .tfe-slider-shell{contain-intrinsic-size:1px 560px;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
}

/* TicketsFest.EU v9.8.4 — critical mobile TBT/LCP hardening */
@media (max-width: 767px){
  html{scroll-behavior:auto;}

  /* The blurred decorative orbs are expensive on low-end mobile GPUs and are below design-critical. */
  .tfe-orb-1,
  .tfe-orb-2,
  .tfe-hero-banner-section::before,
  .tfe-sub-wrapper::before,
  .tfe-sub-wrapper::after{display:none!important;}

  /* Mobile first screen: keep paint simple and stable. */
  .tfe-hero-banner-section{padding-top:50px!important;padding-bottom:22px!important;margin-bottom:28px!important;}
  .tfe-hero-banner-section .tfe-banners-wrap{box-shadow:none!important;border-radius:18px!important;}
  .tftb-banners,.tftb-track,.tftb-slide,.tftb-slide-inner{contain:layout paint style;}

  /* Remove expensive visual effects on mobile while keeping the brand look. */
  .tfe-header,
  .tfe-sub-form,
  .tfe-advanced-filters,
  .tfe-instance .tfe-card-caption,
  .tfe-chip{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

  .tfe-card-item,
  .tfe-card-inner,
  .tfe-artist-card,
  .tfe-view-all,
  .tfe-card-caption-cta,
  .tfe-btn-apply,
  .tfe-no-events__button{transition:none!important;animation:none!important;}

  .tfe-artist-card:hover,
  .tfe-card-inner:hover{transform:none!important;}

  /* Limit heavy shadows on mobile. */
  .tfe-card-inner,
  .tfe-artist-card,
  .tfe-advanced-filters,
  .tfe-no-events--archive{box-shadow:0 8px 24px rgba(15,23,42,.08)!important;}

  /* Stable image boxes reduce CLS. */
  .tfe-card-inner,
  .tfe-instance .tfe-card-inner{aspect-ratio:4/5;}
  .tfe-artist-cover{aspect-ratio:4/5;}

  /* Below-the-fold sections should not compete with the hero on initial mobile render. */
  .tfe-section-gap{content-visibility:auto;contain-intrinsic-size:1px 620px;}
}


/* TicketsFest.EU v9.9.20 — no-crop tour banner compatibility */
.tfe-hero-banner-section .tfe-banners-wrap{overflow:visible !important;}
.tfe-hero-banner-section .tftb-banners{overflow:hidden !important;}
.tfe-hero-banner-section .tftb-slide-inner{display:flex !important;align-items:center !important;justify-content:center !important;aspect-ratio:auto !important;background:#0f172a !important;}
.tfe-hero-banner-section .tftb-slide-img{width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;object-position:center center !important;aspect-ratio:auto !important;}
.tfe-hero-banner-section .tftb-banners--fit-cover .tftb-slide-inner{aspect-ratio:16/9 !important;}
.tfe-hero-banner-section .tftb-banners--fit-cover .tftb-slide-img{height:100% !important;object-fit:cover !important;aspect-ratio:16/9 !important;}
@media(max-width:640px){
  .tfe-hero-banner-section .tftb-slide-inner{margin-inline:0 !important;border-radius:18px !important;}
}


/* TicketsFest.EU v9.9.21 — compact homepage banner fix.
   Prevents the tour banner slider from stretching into a tall empty dark frame. */
.tfe-hero-banner-section{
  padding:clamp(24px,4vw,42px) 0 clamp(28px,4vw,46px)!important;
}
.tfe-hero-banner-section .tfe-container{
  max-width:min(1320px,94vw)!important;
}
.tfe-hero-banner-section .tfe-banners-wrap{
  overflow:visible!important;
  background:transparent!important;
  line-height:0!important;
  height:auto!important;
  min-height:0!important;
  border-radius:22px!important;
}
.tfe-hero-banner-section .tftb-banners,
.tfe-hero-banner-section .tftb-track,
.tfe-hero-banner-section .tftb-slide,
.tfe-hero-banner-section .tftb-slide-inner{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.tfe-hero-banner-section .tftb-track{
  align-items:stretch!important;
  contain:none!important;
}
.tfe-hero-banner-section .tftb-slide-inner{
  display:block!important;
  aspect-ratio:auto!important;
  background:transparent!important;
  line-height:0!important;
  border-radius:22px!important;
}
.tfe-hero-banner-section .tftb-slide-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  aspect-ratio:auto!important;
  vertical-align:top!important;
}
.tfe-hero-banner-section .tftb-nav{
  top:50%!important;
}
.tfe-hero-banner-section .tftb-dots{
  bottom:12px!important;
}
@media(max-width:640px){
  .tfe-hero-banner-section{padding-top:26px!important;padding-bottom:30px!important;margin-bottom:30px!important;}
  .tfe-hero-banner-section .tfe-container{max-width:100%!important;padding-inline:16px!important;}
  .tfe-hero-banner-section .tfe-banners-wrap{border-radius:18px!important;}
  .tfe-hero-banner-section .tftb-slide-inner{border-radius:18px!important;margin-inline:0!important;}
}


/* TicketsFest.EU v9.9.26 — keep original homepage design, fix banner ratio only */

.tfe-hero-banner-section .tfe-banners-wrap{max-width:1320px;margin:0 auto;}
.tfe-hero-banner-section .tftb-banners{height:auto!important;min-height:0!important;line-height:0;}
.tfe-hero-banner-section .tftb-track{align-items:stretch;height:auto!important;min-height:0!important;}
.tfe-hero-banner-section .tftb-slide{height:auto!important;min-height:0!important;}
.tfe-hero-banner-section .tftb-slide-inner{aspect-ratio:1600/791!important;height:auto!important;min-height:0!important;line-height:0;background:#0f172a;}
.tfe-hero-banner-section .tftb-slide-img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;aspect-ratio:1600/791!important;display:block;}
@media(max-width:767px){
  .tfe-hero-banner-section{padding-top:42px!important;padding-bottom:24px!important;margin-bottom:36px!important;}
  .tfe-hero-banner-section .tftb-slide-inner{border-radius:18px!important;margin-inline:0!important;}
}

/* v9.9.44 — only event shortcode containers need poster paint override on mobile */
@media (max-width: 768px){
  .tfe-events-page .tfe-instance .tfe-grid,
  .tfe-events-page .tfe-instance .tfe-card-item,
  .tfe-events-page .tfe-instance .tfe-card-inner,
  .tfe-events-page .tfe-slider-shell{
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
  }
}


/* === Source: assets/css/theme-unification.css === */

/* TicketsFest.EU v9.9.0 — global design unification layer */
:root{
  /* These aliases use the canonical tokens declared in style.css. */
  --tfe-surface:var(--tfe-white);
  --tfe-surface-soft:rgba(255,255,255,.88);
  --tfe-container:min(1320px, calc(100vw - 40px));
}
body{background:var(--tfe-bg);color:var(--tfe-text);overflow-x:hidden;}
.tfe-container,.tf-container,.ticketsfest-container{width:var(--tfe-container);max-width:var(--tfe-container);margin-inline:auto;box-sizing:border-box;}
.tfe-section{padding:clamp(42px,6vw,78px) 0;}
.tfe-section-header{text-align:center;max-width:860px;margin:0 auto clamp(22px,4vw,34px);}
.tfe-section-kicker{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900;font-size:13px;margin-bottom:14px;}
.tfe-section-title,.tfe-h1{font-size:clamp(30px,4.5vw,56px);line-height:1.05;letter-spacing:-.04em;font-weight:950;color:var(--tfe-text);margin:0 0 12px;}
.tfe-section-subtitle,.tfe-sub{font-size:clamp(16px,1.6vw,20px);line-height:1.65;color:#334155;margin:0 auto;max-width:860px;}
.tfe-page-hero{padding:clamp(62px,8vw,112px) 0 44px;background:linear-gradient(135deg,#fff 0%,#ebf3ff 58%,#dbeafe 100%);border-bottom:1px solid var(--tfe-border);}
.tfe-card,.tfe-panel,.tfe-unified-card{background:var(--tfe-surface-soft);border:1px solid rgba(226,232,240,.85);border-radius:var(--tfe-radius);box-shadow:var(--tfe-shadow);}
.tfe-btn,.tfe-button,.tf-button,.button.tfe-button,.tfe-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:13px 20px;font-weight:900;text-decoration:none;border:1px solid transparent;line-height:1.1;min-height:46px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.tfe-btn-primary,.tfe-button-primary,.tfe-cta-btn{background:linear-gradient(135deg,var(--tfe-primary),var(--tfe-primary-2));color:#fff;box-shadow:0 16px 34px -22px rgba(29,78,216,.8);}
.tfe-btn:hover,.tfe-button:hover,.tfe-cta-btn:hover{transform:translateY(-1px);}
.tfe-btn-secondary,.tfe-button-secondary{background:#fff;color:var(--tfe-primary);border-color:#bfdbfe;}
.tfe-page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;}
.tfe-empty-state{padding:42px 24px;text-align:center;border-radius:28px;background:#fff;border:1px dashed #bfdbfe;color:#475569;}
.tfe-empty-state h2,.tfe-empty-state h3{margin:0 0 10px;color:#0f172a;font-size:clamp(22px,3vw,34px);}
.tfe-prose{font-size:17px;line-height:1.75;color:#334155;}
.tfe-prose h2{font-size:clamp(24px,3vw,38px);letter-spacing:-.03em;color:#0f172a;line-height:1.1;}
/* Header/footer normalization */
.tfe-desktop-nav a,.tfe-mobile-list a,.footer-links a{text-decoration:none;}
.footer-brand-logo img{filter:brightness(0) invert(1);max-height:54px;width:auto;object-fit:contain;}
.footer-brand-desc{margin:12px 0 0;color:rgba(255,255,255,.74);line-height:1.55;max-width:320px;font-size:14px;}
/* Normalize older templates */
.tfe-about-wrap,.tfe-contact-wrap,.tfe-page-wrapper,.tfe-events-page,.tfe-tours-page,.tfe-artists-page{background:var(--tfe-bg);}
.tfe-post-card,.tfe-event-card,.tfe-performer-card,.tfe-tour-card{border-radius:24px;overflow:hidden;}
.tfe-post-card img,.tfe-event-card img,.tfe-performer-card img,.tfe-tour-card img{max-width:100%;height:auto;}
/* Legal/simple pages */
.tfe-simple-page{background:var(--tfe-bg);min-height:70vh;padding:clamp(64px,8vw,110px) 0;}
.tfe-simple-page__inner{width:var(--tfe-container);margin:auto;background:rgba(255,255,255,.82);border:1px solid rgba(226,232,240,.9);border-radius:30px;box-shadow:var(--tfe-shadow);padding:clamp(24px,5vw,54px);}
.tfe-simple-page__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.tfe-faq-list{display:grid;gap:14px;margin-top:26px;}
.tfe-faq-item{padding:20px;border-radius:20px;background:#fff;border:1px solid #dbeafe;}
.tfe-faq-item h2,.tfe-faq-item h3{margin:0 0 8px;font-size:19px;color:#0f172a;}
.tfe-faq-item p{margin:0;color:#475569;line-height:1.6;}
@media (max-width:782px){
  :root{--tfe-container:min(1320px, calc(100vw - 24px));}
  .tfe-section{padding:36px 0;}
  .tfe-page-hero{text-align:center;padding:54px 0 34px;}
  .tfe-page-grid{grid-template-columns:1fr;}
  .tfe-btn,.tfe-button,.tf-button,.tfe-cta-btn{width:auto;min-width:0;padding:12px 16px;}
  .tfe-simple-page__actions{justify-content:center;}
}

/* TicketsFest.EU v9.9.1 — page-by-page template cleanup */
.tfe-unified-page{background:var(--tfe-bg,#ebf3ff);min-height:70vh;}
.tfe-unified-hero .tfe-container{max-width:980px;text-align:center;}
.tfe-unified-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;}
.tfe-unified-panel{background:rgba(255,255,255,.86);border:1px solid rgba(226,232,240,.9);border-radius:30px;box-shadow:var(--tfe-shadow,0 24px 70px -40px rgba(15,23,42,.42));padding:clamp(24px,4vw,46px);}
.tfe-info-block{padding:18px 0;border-bottom:1px solid rgba(148,163,184,.2);}
.tfe-info-block:last-child{border-bottom:0;}
.tfe-info-block h2{margin:0 0 8px;}
.tfe-card-media{display:block;aspect-ratio:16/10;background:#dbeafe;overflow:hidden;border-radius:24px 24px 0 0;}
.tfe-card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.tfe-card-body{padding:20px;display:flex;flex-direction:column;gap:12px;}
.tfe-card-body h2{font-size:clamp(20px,2.4vw,28px);line-height:1.1;margin:0;letter-spacing:-.03em;}
.tfe-card-body h2 a{color:var(--tfe-text,#0f172a);text-decoration:none;}
.tfe-card-body p{margin:0;color:var(--tfe-muted,#64748b);line-height:1.55;}
.tfe-card-kicker{font-size:12px!important;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--tfe-primary,#1d4ed8)!important;}
.tfe-contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;}
.tfe-contact-card{padding:22px;border-radius:24px;background:#fff;border:1px solid rgba(226,232,240,.9);}
.tfe-contact-card a{color:var(--tfe-primary,#1d4ed8);font-weight:800;text-decoration:none;}
.tfe-legacy-template-clean{background:var(--tfe-bg,#ebf3ff);}
@media (max-width:980px){.tfe-unified-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.tfe-contact-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.tfe-unified-grid{grid-template-columns:1fr;gap:16px;}.tfe-card-body{padding:18px}.tfe-unified-panel{border-radius:24px}.tfe-card-media{border-radius:22px 22px 0 0;}}



/* TicketsFest.EU v9.9.7 — full premium design layer for all pages */
.tfe-premium-page{background:linear-gradient(180deg,#eef5ff 0%,#f8fbff 52%,#eef5ff 100%);min-height:75vh;color:#0f172a;overflow:hidden;}
.tfe-premium-hero{position:relative;padding:clamp(70px,8.5vw,128px) 0 clamp(42px,5vw,72px);background:radial-gradient(circle at 14% 16%,rgba(59,130,246,.26),transparent 32%),linear-gradient(135deg,#071a45 0%,#0d3b8f 52%,#1d4ed8 100%);color:#fff;isolation:isolate;}
.tfe-premium-bg{position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.18),transparent 30%),linear-gradient(120deg,rgba(255,255,255,.1),transparent 48%);opacity:.9;z-index:-1;}
.tfe-premium-hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(22px,4vw,54px);align-items:center;}
.tfe-premium-hero__content h1{font-size:clamp(38px,6vw,82px);line-height:.96;letter-spacing:-.06em;margin:0 0 18px;font-weight:950;color:#fff;}
.tfe-premium-hero__content p{font-size:clamp(17px,1.55vw,22px);line-height:1.62;color:rgba(255,255,255,.82);max-width:780px;margin:0;}
.tfe-premium-kicker{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border-radius:999px;padding:9px 14px;margin-bottom:18px;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#dbeafe;}
.tfe-premium-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.tfe-premium-hero__panel{display:grid;gap:14px;}
.tfe-premium-mini-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.12);border-radius:24px;padding:18px 18px;backdrop-filter:blur(14px);box-shadow:0 24px 70px -44px rgba(0,0,0,.8);}
.tfe-premium-mini-card span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;background:#fff;color:#1d4ed8;font-weight:950;margin-bottom:12px;}
.tfe-premium-mini-card strong{display:block;font-size:19px;color:#fff;line-height:1.1;}
.tfe-premium-mini-card em{display:block;margin-top:6px;color:#bfdbfe;font-style:normal;font-weight:700;font-size:13px;}
.tfe-premium-section{padding:clamp(44px,6vw,84px) 0;}
.tfe-premium-section-heading{text-align:center;max-width:900px;margin:0 auto clamp(24px,4vw,40px);}
.tfe-premium-section-heading span{display:inline-flex;padding:8px 13px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:950;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.tfe-premium-section-heading h2{font-size:clamp(30px,4vw,56px);line-height:1;letter-spacing:-.05em;margin:0 0 12px;color:#0f172a;}
.tfe-premium-section-heading p{margin:0 auto;color:#475569;line-height:1.65;font-size:18px;max-width:760px;}
.tfe-premium-grid{display:grid;gap:22px;}
.tfe-premium-grid--cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.tfe-premium-grid--posts{grid-template-columns:repeat(3,minmax(0,1fr));}
.tfe-premium-card{background:rgba(255,255,255,.86);border:1px solid rgba(226,232,240,.95);border-radius:30px;box-shadow:0 30px 80px -52px rgba(15,23,42,.5);padding:clamp(22px,3vw,30px);position:relative;overflow:hidden;}
.tfe-premium-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1d4ed8,#60a5fa,#93c5fd);opacity:.88;}
.tfe-premium-card__icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#eff6ff);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px;}
.tfe-premium-card h2,.tfe-premium-card h3{font-size:clamp(21px,2.2vw,30px);line-height:1.08;letter-spacing:-.035em;margin:0 0 10px;color:#0f172a;}
.tfe-premium-card p{margin:0;color:#475569;line-height:1.65;font-size:16px;}
.tfe-premium-prose-card{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:30px;box-shadow:0 30px 80px -52px rgba(15,23,42,.42);padding:clamp(24px,4vw,48px);margin-top:24px;}
.tfe-premium-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px;}
.tfe-premium-steps article{background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:22px;}
.tfe-premium-steps span{display:inline-flex;color:#1d4ed8;font-weight:950;margin-bottom:12px;}
.tfe-premium-steps h3{margin:0 0 8px;font-size:19px;}
.tfe-premium-steps p{margin:0;color:#64748b;line-height:1.55;}
.tfe-premium-faq{margin-top:36px;display:grid;gap:14px;}
.tfe-premium-faq article{background:#fff;border:1px solid rgba(191,219,254,.95);border-radius:22px;padding:20px 22px;box-shadow:0 18px 54px -44px rgba(15,23,42,.4);}
.tfe-premium-faq h3{margin:0 0 8px;font-size:20px;color:#0f172a;}
.tfe-premium-faq p{margin:0;color:#475569;line-height:1.62;}
.tfe-premium-cta{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:34px;padding:clamp(24px,4vw,38px);border-radius:30px;background:linear-gradient(135deg,#071a45,#1d4ed8);color:#fff;box-shadow:0 28px 90px -56px rgba(29,78,216,.8);}
.tfe-premium-cta span{display:block;color:#bfdbfe;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:8px;}
.tfe-premium-cta h2{color:#fff;margin:0 0 8px;font-size:clamp(24px,3vw,40px);line-height:1;letter-spacing:-.04em;}
.tfe-premium-cta p{margin:0;color:rgba(255,255,255,.78);max-width:720px;line-height:1.6;}
.tfe-premium-events-shell{background:rgba(255,255,255,.72);border:1px solid rgba(226,232,240,.86);border-radius:32px;padding:clamp(14px,3vw,28px);box-shadow:0 30px 90px -60px rgba(15,23,42,.38);}
.tfe-premium-post-card{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.tfe-premium-post-media{display:block;aspect-ratio:16/10;background:#dbeafe;overflow:hidden;}
.tfe-premium-post-media img{width:100%;height:100%;object-fit:cover;display:block;}
.tfe-premium-post-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.tfe-premium-post-body span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8;font-weight:950;}
.tfe-premium-post-body h2{margin:0;font-size:clamp(20px,2.2vw,28px);letter-spacing:-.035em;line-height:1.1;}
.tfe-premium-post-body h2 a{color:#0f172a;text-decoration:none;}
.tfe-premium-post-body p{margin:0;color:#64748b;line-height:1.6;}
.tfe-premium-status-card{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:34px;padding:clamp(28px,5vw,58px);box-shadow:0 30px 90px -58px rgba(15,23,42,.45);}
.tfe-premium-status-icon{width:84px;height:84px;border-radius:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:42px;font-weight:950;background:#dcfce7;color:#15803d;}
.tfe-premium-status-card.is-fail .tfe-premium-status-icon{background:#fee2e2;color:#b91c1c;}
.tfe-premium-status-card h2{font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.05em;margin:0 0 12px;}
.tfe-premium-status-card p{margin:0 auto;color:#475569;line-height:1.65;max-width:620px;font-size:18px;}
.tfe-premium-pagination{margin-top:28px;text-align:center;}
.tfe-premium-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;margin:4px;border-radius:999px;background:#fff;color:#1d4ed8;text-decoration:none;font-weight:900;border:1px solid #dbeafe;}
.tfe-premium-pagination .current{background:#1d4ed8;color:#fff;}
/* Make old simple wrappers visibly premium without rewriting content-heavy templates */
.tfe-simple-page,.payment-status-wrapper{background:linear-gradient(180deg,#eef5ff,#fff);}
.tfe-simple-page__inner,.payment-status-wrapper .status-card{border-radius:34px!important;box-shadow:0 30px 90px -58px rgba(15,23,42,.5)!important;border:1px solid rgba(226,232,240,.95)!important;}
@media(max-width:980px){.tfe-premium-hero__grid{grid-template-columns:1fr}.tfe-premium-hero__panel{grid-template-columns:repeat(3,minmax(0,1fr));}.tfe-premium-grid--cards,.tfe-premium-grid--posts{grid-template-columns:repeat(2,minmax(0,1fr));}.tfe-premium-steps{grid-template-columns:repeat(2,minmax(0,1fr));}.tfe-premium-cta{flex-direction:column;align-items:flex-start;}.tfe-premium-hero__content h1{font-size:clamp(36px,8vw,64px);}}
@media(max-width:680px){.tfe-premium-hero{padding:58px 0 34px}.tfe-premium-hero__content{text-align:center}.tfe-premium-hero__content p{font-size:16px}.tfe-premium-actions{justify-content:center}.tfe-premium-hero__panel{display:none}.tfe-premium-grid--cards,.tfe-premium-grid--posts,.tfe-premium-steps{grid-template-columns:1fr}.tfe-premium-card,.tfe-premium-prose-card,.tfe-premium-status-card{border-radius:24px}.tfe-premium-cta{text-align:left;border-radius:24px}.tfe-premium-section{padding:38px 0}.tfe-premium-events-shell{padding:10px;border-radius:24px}.tfe-premium-kicker{font-size:11px}}


/* TicketsFest.EU v9.9.8 — Artists / Concert Tours visual system for every page
   The target design is the existing premium /artists/ and /tours/ look: dark hero,
   light page background, compact blue badges, white cards, soft borders and unified CTAs. */
:root {
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-light: #3b82f6;
  --bg-dark: #0f172a;
  --white: #ffffff;
  --gray-50: #f8fafc;
  --gray-100: #f1f5f9;
  --gray-200: #e2e8f0;
  --gray-300: #cbd5e1;
  --gray-400: #94a3b8;
  --gray-500: #64748b;
  --gray-800: #1e293b;
  --gray-900: #0f172a;
  --container: 1140px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --padding-x: clamp(16px, 4vw, 24px);
  --transition: .3s cubic-bezier(.25,.8,.25,1);
}
body{background:var(--gray-50);}
.tfe-container{max-width:var(--container);margin:0 auto;padding:0 var(--padding-x);width:100%;box-sizing:border-box;}
.tfe-page-wrapper,
.tfe-premium-page,
.tfe-unified-page,
.tfe-legacy-template-clean,
.tfe-about-wrap,
.tfe-legal-page{
  background:var(--gray-50)!important;
  min-height:100vh;
  padding-bottom:clamp(40px,8vw,80px);
  color:var(--gray-900);
}
/* One hero style everywhere — same direction as Artists / Concert tours */
.tfe-hero,
.tfe-page-hero.tfe-unified-hero,
.tfe-premium-hero,
.tfe-legal-hero,
.tfe-about-wrap .tfe-hero{
  position:relative!important;
  background:var(--bg-dark)!important;
  padding:clamp(80px,12vw,120px) 0 clamp(60px,8vw,80px)!important;
  overflow:hidden!important;
  margin:0 0 clamp(20px,5vw,40px)!important;
  color:#fff!important;
  text-align:left!important;
}
.tfe-hero__bg,
.tfe-premium-bg,
.tfe-legal-hero:before,
.tfe-about-wrap .tfe-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,.36), transparent 38%),
    radial-gradient(circle at 82% 28%, rgba(59,130,246,.18), transparent 32%),
    linear-gradient(135deg, rgba(15,23,42,1), rgba(15,23,42,.94));
  opacity:1;
}
.tfe-hero__overlay,
.tfe-legal-hero:after,
.tfe-about-wrap .tfe-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,78,216,.12) 0%, transparent 60%);
  pointer-events:none;
}
.tfe-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.28;filter:blur(8px) saturate(1.08);transform:scale(1.04);}
.tfe-hero__content,
.tfe-premium-hero__content,
.tfe-legal-hero .tfe-container,
.tfe-about-wrap .tfe-hero .tfe-container,
.tfe-about-wrap .tfe-hero__content{
  position:relative!important;
  z-index:10!important;
  max-width:var(--container)!important;
  margin:0 auto!important;
  padding:0 var(--padding-x)!important;
  text-align:left!important;
}
.tfe-hero-badge,
.tfe-premium-kicker,
.tfe-legal-kicker,
.tfe-section-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 12px!important;
  background:rgba(29,78,216,.2)!important;
  backdrop-filter:blur(8px)!important;
  border:1px solid rgba(59,130,246,.35)!important;
  border-radius:99px!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  margin:0 0 20px!important;
  color:#93c5fd!important;
  width:max-content!important;
}
.tfe-hero-title,
.tfe-premium-hero__content h1,
.tfe-page-hero h1,
.tfe-legal-hero h1,
.tfe-about-wrap .tfe-hero h1{
  font-family:'e-Ukraine','e-Ukraine Head',system-ui,sans-serif!important;
  font-size:clamp(40px,7vw,80px)!important;
  font-weight:900!important;
  line-height:1!important;
  margin:0 0 16px!important;
  letter-spacing:-.03em!important;
  color:#fff!important;
  max-width:920px;
}
.tfe-hero-desc,
.tfe-premium-hero__content p,
.tfe-page-hero p,
.tfe-legal-hero p,
.tfe-about-wrap .tfe-hero p,
.tfe-section-subtitle{
  font-size:clamp(15px,2vw,18px)!important;
  color:var(--gray-300)!important;
  line-height:1.7!important;
  margin:0!important;
  max-width:680px!important;
  font-weight:500!important;
}
.tfe-premium-hero__grid{display:block!important;max-width:var(--container)!important;margin:0 auto!important;padding:0!important;}
.tfe-premium-hero__panel{display:none!important;}
.tfe-premium-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
/* Main page spacing follows Artists / Tours */
.tfe-layout,
.tfe-premium-section > .tfe-container,
.tfe-unified-page > .tfe-section > .tfe-container,
.tfe-premium-page > .tfe-premium-section > .tfe-container,
.tfe-simple-page__inner,
.tfe-legal-shell{
  max-width:var(--container)!important;
  margin:0 auto!important;
  padding:clamp(40px,6vw,60px) var(--padding-x)!important;
  display:flex;
  flex-direction:column;
  gap:clamp(32px,5vw,48px);
  box-sizing:border-box;
}
.tfe-premium-section{padding:0!important;}
.tfe-premium-section-heading,
.tfe-section-header{max-width:var(--container);margin:0 0 28px;text-align:left;}
.tfe-premium-section-heading span,
.tfe-section-heading{
  font-family:'e-Ukraine Head','e-Ukraine',system-ui,sans-serif!important;
  font-size:clamp(22px,4vw,28px)!important;
  font-weight:900!important;
  color:var(--gray-900)!important;
  margin:0 0 24px!important;
  letter-spacing:-.02em!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  text-align:left!important;
  background:transparent!important;
  padding:0!important;
  border:none!important;
  text-transform:none!important;
}
.tfe-premium-section-heading span:before,
.tfe-section-heading:before{
  content:"";
  width:4px;
  height:28px;
  background:var(--primary);
  border-radius:4px;
  flex-shrink:0;
}
.tfe-premium-section-heading h2{font-size:clamp(26px,4vw,36px)!important;color:var(--gray-900)!important;letter-spacing:-.03em!important;margin:0 0 10px!important;text-align:left!important;}
.tfe-premium-section-heading p{margin:0;color:var(--gray-500);max-width:760px;line-height:1.65;text-align:left!important;}
/* Cards — same white/card language as Artists and Tours */
.tfe-premium-card,
.tfe-unified-card,
.tfe-content-box,
.tfe-legal-card,
.tfe-premium-prose-card,
.tfe-premium-status-card,
.tfe-empty-state,
.tfe-unified-panel,
.tfe-contact-card,
.tfe-premium-events-shell{
  background:var(--white)!important;
  border:1px solid var(--gray-200)!important;
  border-radius:var(--radius-lg)!important;
  box-shadow:0 18px 45px -34px rgba(15,23,42,.36)!important;
  overflow:hidden;
}
.tfe-premium-card:before{display:none!important;}
.tfe-premium-grid--cards,
.tfe-premium-grid--posts,
.tfe-unified-grid,
.tfe-post-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,28px)!important;
}
.tfe-premium-card,
.tfe-unified-card{padding:24px!important;transition:var(--transition);}
.tfe-premium-card:hover,
.tfe-unified-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px -36px rgba(15,23,42,.45)!important;border-color:#bfdbfe!important;}
.tfe-premium-card__icon{width:48px!important;height:48px!important;border-radius:var(--radius-md)!important;background:var(--gray-50)!important;border:1px solid var(--gray-200)!important;margin-bottom:16px!important;}
.tfe-premium-card h2,.tfe-premium-card h3,.tfe-card-body h2{font-size:clamp(20px,2.4vw,28px)!important;line-height:1.1!important;margin:0 0 10px!important;letter-spacing:-.03em!important;color:var(--gray-900)!important;}
.tfe-premium-card p,.tfe-card-body p,.tfe-premium-prose-card p{color:var(--gray-500)!important;line-height:1.65!important;}
.tfe-premium-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px!important;margin-top:0!important;}
.tfe-premium-steps article{background:#fff!important;border:1px solid var(--gray-200)!important;border-radius:var(--radius-lg)!important;padding:22px!important;box-shadow:0 18px 45px -34px rgba(15,23,42,.28)!important;}
.tfe-premium-faq{display:grid;gap:14px;margin-top:0!important;}
.tfe-premium-faq article{background:#fff!important;border:1px solid var(--gray-200)!important;border-radius:var(--radius-md)!important;padding:20px 22px!important;box-shadow:none!important;}
.tfe-premium-cta{border-radius:var(--radius-lg)!important;background:var(--bg-dark)!important;box-shadow:0 24px 60px -40px rgba(15,23,42,.68)!important;}
.tfe-btn,
.tfe-btn-primary,
.tfe-btn-secondary,
.tfe-btn-view,
.tfe-clear-btn,
.tfe-search-btn{
  border-radius:var(--radius-sm)!important;
  font-weight:800!important;
  transition:var(--transition)!important;
}
.tfe-btn-primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;}
.tfe-btn-secondary{background:#fff!important;border:1px solid var(--gray-200)!important;color:var(--gray-900)!important;}
/* Legal pages inherit same visual system while keeping their full text */
.tfe-legal-shell{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;align-items:start!important;}
.tfe-legal-sidebar{background:#fff!important;border:1px solid var(--gray-200)!important;border-radius:var(--radius-lg)!important;box-shadow:0 18px 45px -34px rgba(15,23,42,.36)!important;}
.tfe-legal-card{padding:clamp(24px,4vw,42px)!important;}
.tfe-legal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
@media(max-width:980px){
  .tfe-premium-grid--cards,.tfe-premium-grid--posts,.tfe-unified-grid,.tfe-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .tfe-premium-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .tfe-legal-shell{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  .tfe-hero,.tfe-page-hero.tfe-unified-hero,.tfe-premium-hero,.tfe-legal-hero,.tfe-about-wrap .tfe-hero{padding:60px 0 42px!important;text-align:left!important;}
  .tfe-hero-title,.tfe-premium-hero__content h1,.tfe-page-hero h1,.tfe-legal-hero h1,.tfe-about-wrap .tfe-hero h1{font-size:clamp(34px,10vw,54px)!important;}
  .tfe-premium-grid--cards,.tfe-premium-grid--posts,.tfe-unified-grid,.tfe-post-grid,.tfe-premium-steps{grid-template-columns:1fr!important;}
  .tfe-layout,.tfe-premium-section > .tfe-container,.tfe-unified-page > .tfe-section > .tfe-container,.tfe-premium-page > .tfe-premium-section > .tfe-container,.tfe-legal-shell{padding:34px var(--padding-x)!important;gap:24px!important;}
  .tfe-premium-actions,.tfe-premium-cta,.tfe-legal-actions{flex-direction:column;align-items:stretch!important;}
  .tfe-btn,.tfe-btn-primary,.tfe-btn-secondary{width:100%;justify-content:center;}
}


/* v9.9.9 — Events/category pages visual hotfix
   Align /events/ and category pages with Artists / Concert tours design system.
   Prevent duplicate section-heading feeling after the dark hero. */
.tfe-events-page--premium{background:var(--tfe-bg,#f8fafc);color:var(--tfe-ink,#0f172a);overflow:hidden;}
.tfe-events-page--premium .tfe-events-hero{background:var(--bg-dark,#071225)!important;padding:clamp(80px,12vw,120px) 0 clamp(60px,8vw,80px)!important;margin-bottom:clamp(20px,5vw,40px)!important;text-align:left!important;}
.tfe-events-page--premium .tfe-events-hero:after{display:none!important;}
.tfe-events-page--premium .tfe-hero__bg{opacity:.14!important;background:radial-gradient(circle at 15% 18%,rgba(37,99,235,.58),transparent 30%),radial-gradient(circle at 86% 10%,rgba(96,165,250,.24),transparent 28%);filter:none!important;}
.tfe-events-page--premium .tfe-hero__overlay{background:linear-gradient(135deg,rgba(15,23,42,.86),rgba(15,23,42,.58) 48%,rgba(29,78,216,.22))!important;}
.tfe-events-page--premium .tfe-hero__content{position:relative;z-index:2;max-width:var(--container,1360px)!important;margin:0 auto!important;padding:0 var(--padding-x,20px)!important;text-align:left!important;}
.tfe-events-page--premium .tfe-hero-title{max-width:820px!important;margin:0 0 16px!important;color:#fff!important;font-size:clamp(40px,7vw,80px)!important;line-height:1!important;letter-spacing:-.03em!important;font-weight:900!important;}
.tfe-events-page--premium .tfe-hero-desc{max-width:650px!important;margin:0!important;color:var(--gray-300,#cbd5e1)!important;font-size:clamp(15px,2vw,18px)!important;line-height:1.7!important;font-weight:500!important;}
.tfe-events-page--premium .tfe-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.tfe-events-page--premium .tfe-events-hero__note{max-width:780px;margin:22px 0 0;padding:13px 16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.82);font-size:14px;line-height:1.55;font-weight:700;}
.tfe-events-page--premium .tfe-events-active-filters,.tfe-events-page--premium .tfe-events-popular-links{justify-content:flex-start;max-width:960px;}
.tfe-events-page--premium .tfe-events-popular-links a{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important;}
.tfe-events-page--premium .tfe-events-filter-chip{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;}
.tfe-events-page--premium .tfe-events-filter-clear{background:#fff!important;color:#0f172a!important;}
.tfe-events-page--premium .tfe-events-featured-section,.tfe-events-page--premium .tfe-events-archive-section,.tfe-events-page--premium .tfe-events-seo-block{max-width:var(--container,1360px)!important;}
.tfe-events-page--premium .tfe-events-archive-section{padding-top:clamp(34px,5vw,72px)!important;}
.tfe-events-page--premium .tfe-events-archive-shell{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:32px;padding:clamp(14px,2vw,24px);box-shadow:0 22px 70px rgba(15,23,42,.07);}
.tfe-premium-section--event-archive{background:var(--tfe-bg,#f8fafc);padding:clamp(34px,5vw,72px) 0 clamp(60px,7vw,100px)!important;}
.tfe-premium-section--event-archive .tfe-premium-events-shell{margin-top:0!important;background:#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 22px 70px rgba(15,23,42,.07);}
@media(max-width:720px){
  .tfe-events-page--premium .tfe-events-hero{padding:70px 0 44px!important;}
  .tfe-events-page--premium .tfe-hero__content{text-align:left!important;}
  .tfe-events-page--premium .tfe-hero-title{font-size:clamp(36px,11vw,56px)!important;}
  .tfe-events-page--premium .tfe-hero-actions .tfe-btn{width:auto;min-width:0;}
  .tfe-events-page--premium .tfe-events-archive-section{padding-left:20px!important;padding-right:20px!important;}
  .tfe-events-page--premium .tfe-events-archive-head{padding:0!important;}
  .tfe-events-page--premium .tfe-events-archive-shell{border-radius:24px;padding:10px;}
}


/* =====================================================
   v9.9.11 — Events/archive visual hotfix
   Align /events/ and category pages with Artists / Concert tours.
   Removes the large white boxed archive shell and uses the same clean
   light section + dark premium hero system.
   ===================================================== */
.tfe-events-page--premium,
.tfe-premium-page{
  background:#f8fafc;
}
.tfe-events-page--premium .tfe-events-hero,
.tfe-premium-hero{
  background:#0f172a !important;
}
.tfe-events-page--premium .tfe-events-hero{
  margin-bottom:0 !important;
  padding:clamp(82px,12vw,122px) 0 clamp(62px,8vw,86px) !important;
}
.tfe-events-page--premium .tfe-hero-title,
.tfe-premium-hero__content h1{
  font-family:'e-Ukraine Head','e-Ukraine',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:-.035em;
}
.tfe-events-page--premium .tfe-events-hero__note{
  display:none !important;
}
.tfe-events-page--premium .tfe-events-popular-links{
  margin-top:24px;
}
.tfe-events-page--premium .tfe-events-featured-section,
.tfe-events-page--premium .tfe-events-archive-section,
.tfe-premium-section--event-archive{
  background:#f8fafc !important;
  max-width:1140px !important;
  margin:0 auto !important;
  padding:clamp(44px,6vw,68px) clamp(16px,4vw,24px) !important;
}
.tfe-events-page--premium .tfe-events-archive-section{
  padding-top:clamp(42px,6vw,70px) !important;
}
.tfe-events-page--premium .tfe-events-archive-head,
.tfe-premium-section--event-archive .tfe-premium-section-head{
  margin:0 0 28px !important;
  padding:0 !important;
}
.tfe-events-page--premium .tfe-events-archive-kicker,
.tfe-premium-section--event-archive .tfe-premium-section-head > span{
  display:flex;
  align-items:center;
  gap:10px;
  color:#2563eb !important;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tfe-events-page--premium .tfe-events-archive-kicker::before,
.tfe-premium-section--event-archive .tfe-premium-section-head > span::before{
  content:'';
  width:4px;
  height:28px;
  border-radius:999px;
  background:#2563eb;
}
.tfe-events-page--premium .tfe-events-archive-head h2,
.tfe-premium-section--event-archive .tfe-premium-section-head h2{
  margin:10px 0 0 !important;
  color:#0f172a !important;
  font-size:clamp(30px,5vw,44px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}
.tfe-events-page--premium .tfe-events-archive-shell,
.tfe-events-page--premium .tfe-events-archive-shell--flush,
.tfe-premium-events-shell,
.tfe-premium-events-shell--flush{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.tfe-events-page--premium .tfe-wrap,
.tfe-premium-section--event-archive .tfe-wrap{
  max-width:100% !important;
  padding:0 !important;
}
.tfe-events-page--premium .tfe-advanced-filters,
.tfe-premium-section--event-archive .tfe-advanced-filters{
  margin:0 0 34px !important;
  padding:16px !important;
  border-radius:18px !important;
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.06) !important;
  backdrop-filter:none !important;
}
.tfe-events-page--premium .tfe-filter-searchline,
.tfe-premium-section--event-archive .tfe-filter-searchline{
  grid-template-columns:minmax(220px,1.25fr) minmax(180px,.75fr) !important;
}
.tfe-events-page--premium .tfe-filter-gridline,
.tfe-premium-section--event-archive .tfe-filter-gridline{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.tfe-events-page--premium .tfe-filter-gridline .tfe-filter-input,
.tfe-premium-section--event-archive .tfe-filter-gridline .tfe-filter-input,
.tfe-events-page--premium .tfe-select-chip,
.tfe-premium-section--event-archive .tfe-select-chip{
  min-height:48px !important;
  border-radius:14px !important;
  font-size:14px !important;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.tfe-events-page--premium .tfe-filter-actions,
.tfe-premium-section--event-archive .tfe-filter-actions{
  justify-content:flex-start !important;
  margin-top:14px !important;
}
.tfe-events-page--premium .tfe-grid,
.tfe-premium-section--event-archive .tfe-grid{
  gap:22px !important;
}
.tfe-events-page--premium .tfe-card-item,
.tfe-premium-section--event-archive .tfe-card-item{
  border-radius:20px !important;
  box-shadow:0 16px 40px rgba(15,23,42,.10) !important;
}
.tfe-events-page--premium .tfe-events-seo-block{
  background:#f8fafc !important;
  padding-top:0 !important;
}
.tfe-events-page--premium .tfe-events-seo-block__inner{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  box-shadow:0 16px 44px rgba(15,23,42,.06);
}
@media(max-width:1100px){
  .tfe-events-page--premium .tfe-filter-gridline,
  .tfe-premium-section--event-archive .tfe-filter-gridline{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:680px){
  .tfe-events-page--premium .tfe-events-hero{padding:70px 0 48px !important;}
  .tfe-events-page--premium .tfe-filter-searchline,
  .tfe-premium-section--event-archive .tfe-filter-searchline,
  .tfe-events-page--premium .tfe-filter-gridline,
  .tfe-premium-section--event-archive .tfe-filter-gridline{grid-template-columns:1fr !important;}
  .tfe-events-page--premium .tfe-advanced-filters,
  .tfe-premium-section--event-archive .tfe-advanced-filters{padding:12px !important;border-radius:18px !important;}
  .tfe-events-page--premium .tfe-events-featured-section,
  .tfe-events-page--premium .tfe-events-archive-section,
  .tfe-premium-section--event-archive{padding-left:16px !important;padding-right:16px !important;}
}


/* =====================================================
   v9.9.12 — Events archive visual repair
   Goal: event/category pages must match Artists / Concert tours, not look like a technical white WP block.
   ===================================================== */
.tfe-events-page--premium,
.tfe-premium-section--event-archive{
  background:#f6f8fc !important;
}
.tfe-events-page--premium .tfe-events-archive-section,
.tfe-premium-section--event-archive{
  max-width:1280px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:clamp(42px,6vw,74px) clamp(18px,4vw,28px) !important;
}
.tfe-events-page--premium .tfe-events-archive-shell,
.tfe-events-page--premium .tfe-events-archive-shell--flush,
.tfe-premium-section--event-archive .tfe-premium-events-shell,
.tfe-premium-section--event-archive .tfe-premium-events-shell--flush,
.tfe-premium-events-shell,
.tfe-premium-events-shell--flush{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
}
.tfe-events-page--premium .tfe-wrap,
.tfe-premium-section--event-archive .tfe-wrap{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
}
.tfe-events-page--premium .tfe-advanced-filters,
.tfe-premium-section--event-archive .tfe-advanced-filters{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  margin:0 0 clamp(24px,4vw,38px) !important;
  border-radius:0 !important;
  display:grid !important;
  gap:14px !important;
}
.tfe-events-page--premium .tfe-filter-searchline,
.tfe-premium-section--event-archive .tfe-filter-searchline{
  display:grid !important;
  grid-template-columns:minmax(260px,1.35fr) minmax(220px,.65fr) !important;
  gap:14px !important;
  margin:0 !important;
}
.tfe-events-page--premium .tfe-filter-gridline,
.tfe-premium-section--event-archive .tfe-filter-gridline{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  align-items:stretch !important;
}
.tfe-events-page--premium .tfe-filter-input,
.tfe-events-page--premium .tfe-select-chip,
.tfe-premium-section--event-archive .tfe-filter-input,
.tfe-premium-section--event-archive .tfe-select-chip{
  min-height:54px !important;
  height:auto !important;
  width:100% !important;
  min-width:0 !important;
  border-radius:18px !important;
  border:1px solid rgba(191,219,254,.92) !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(15,23,42,.055) !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:850 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.tfe-events-page--premium select.tfe-select-chip,
.tfe-premium-section--event-archive select.tfe-select-chip{
  padding-right:42px !important;
  white-space:nowrap !important;
}
.tfe-events-page--premium .tfe-filter-actions,
.tfe-premium-section--event-archive .tfe-filter-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  margin:4px 0 0 !important;
}
.tfe-events-page--premium .tfe-btn-apply,
.tfe-premium-section--event-archive .tfe-btn-apply{
  min-height:52px !important;
  border-radius:18px !important;
  padding:0 24px !important;
  box-shadow:0 16px 34px rgba(37,99,235,.22) !important;
}
.tfe-events-page--premium .tfe-btn-reset--link,
.tfe-premium-section--event-archive .tfe-btn-reset--link{
  min-height:52px !important;
  padding:0 12px !important;
}
.tfe-events-page--premium .tfe-grid,
.tfe-premium-section--event-archive .tfe-grid{
  gap:22px !important;
}
.tfe-events-page--premium .tfe-card-item,
.tfe-premium-section--event-archive .tfe-card-item{
  box-shadow:none !important;
}
.tfe-events-page--premium .tfe-card-inner,
.tfe-premium-section--event-archive .tfe-card-inner{
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:0 22px 50px rgba(15,23,42,.14) !important;
}
.tfe-events-page--premium .tfe-events-archive-head,
.tfe-premium-section--event-archive .tfe-premium-section-head{
  margin-bottom:26px !important;
}
.tfe-events-page--premium .tfe-events-archive-head h2{
  font-size:clamp(36px,5vw,58px) !important;
}
@media(max-width:760px){
  .tfe-events-page--premium .tfe-filter-searchline,
  .tfe-premium-section--event-archive .tfe-filter-searchline,
  .tfe-events-page--premium .tfe-filter-gridline,
  .tfe-premium-section--event-archive .tfe-filter-gridline{
    grid-template-columns:1fr !important;
  }
  .tfe-events-page--premium .tfe-filter-actions,
  .tfe-premium-section--event-archive .tfe-filter-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .tfe-events-page--premium .tfe-btn-apply,
  .tfe-events-page--premium .tfe-btn-reset--link,
  .tfe-premium-section--event-archive .tfe-btn-apply,
  .tfe-premium-section--event-archive .tfe-btn-reset--link{
    width:100% !important;
    justify-content:center !important;
  }
}

/* =====================================================
   v9.9.13 — Events archive duplicate heading / spacing fix
   Keep /events/ and category pages in the Artists / Concert tours visual system:
   one hero, then filters + cards. No second "Event Archive / All events" block.
   ===================================================== */
.tfe-events-page--premium .tfe-events-archive-section--single-flow{
  padding-top:clamp(24px,3.5vw,42px) !important;
}
.tfe-events-page--premium .tfe-events-archive-head,
.tfe-events-page--premium .tfe-events-archive-kicker{
  display:none !important;
}
.tfe-events-page--premium .tfe-events-archive-shell{
  padding-top:0 !important;
}
.tfe-events-page--premium .tfe-events-hero{
  min-height:auto !important;
  margin-bottom:0 !important;
}
.tfe-events-page--premium .tfe-hero__content{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.tfe-events-page--premium .tfe-events-featured-section + .tfe-events-archive-section--single-flow{
  padding-top:clamp(18px,3vw,32px) !important;
}
.tfe-events-page--premium .tfe-advanced-filters,
.tfe-premium-section--event-archive .tfe-advanced-filters{
  margin-top:0 !important;
}
.tfe-events-page--premium .tfe-grid,
.tfe-premium-section--event-archive .tfe-grid{
  margin-top:0 !important;
}
@media(max-width:760px){
  .tfe-events-page--premium .tfe-events-archive-section--single-flow{
    padding-top:22px !important;
  }
}


/* v9.9.19 stability hotfix: section titles are not hero titles.
   Keeps page cards, homepage blocks, event/tour details and shortcode areas readable. */
.tfe-page-wrapper .tfe-section-title,
.tfe-single-layout .tfe-section-title,
.tfe-events-page .tfe-section-title,
.tfe-home-section .tfe-section-title,
.tfe-growth-section .tfe-section-title,
.tfe-related-events .tfe-section-title,
.tfe-performer-events .tfe-section-title,
.tfe-tour-schedule .tfe-section-title,
.tfe-seo-bottom .tfe-section-title{
  color:#0f172a !important;
  font-size:clamp(24px,3vw,38px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
  margin:0 0 18px !important;
  max-width:none !important;
}
.tfe-page-wrapper .tfe-section-title a,
.tfe-single-layout .tfe-section-title a{color:inherit !important;}
.tfe-hero .tfe-section-title,
.tfe-premium-hero .tfe-section-title,
.tfe-page-hero .tfe-section-title{
  color:#fff !important;
}
body.single-event .tfe-hero,
body.single-tour .tfe-hero,
body.single-performer .tfe-hero{
  overflow:visible !important;
}
.tfe-hero-banner-section .tfe-banners-wrap{overflow:hidden;}
.tfe-hero-banner-section .tftb-banners,
.tfe-hero-banner-section .tftb-track,
.tfe-hero-banner-section .tftb-slide,
.tfe-hero-banner-section .tftb-slide-inner{max-width:100%;}
.logo-partners-slider,
.lps-wrapper,
.lps-swiper{max-width:100%;}


/* === Source: assets/css/pages/core-pages.css === */
/* TicketsFest.EU Core Pages + Header/Footer Polish — v9.9.5 */
:root{--tfe-blue:var(--tfe-primary);--tfe-blue-dark:#163c80;--tfe-line:var(--tfe-border);--tfe-card:#fff;}
.tfe-header-wrap{backdrop-filter:blur(18px);background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 50px rgba(15,23,42,.10)}
.tfe-nav-container{gap:14px}.tfe-desktop-nav .tfe-menu,.tfe-more-panel .tfe-menu{list-style:none;margin:0;padding:0}.tfe-menu-main{display:flex;gap:3px;align-items:center}.tfe-menu-main a,.tfe-more-toggle{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;font-weight:800;font-size:14px;color:#0f172a;text-decoration:none;white-space:nowrap;border:0;background:transparent;cursor:pointer}.tfe-menu-main li.is-active a,.tfe-menu-main a:hover,.tfe-more-toggle:hover{background:#eff6ff;color:#0b5cff}.tfe-more-menu{position:relative}.tfe-more-toggle:after{content:"⌄";font-size:12px;margin-left:7px}.tfe-more-panel{position:absolute;right:0;top:calc(100% + 10px);width:230px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 24px 65px rgba(15,23,42,.16);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:1000}.tfe-more-menu:hover .tfe-more-panel,.tfe-more-menu:focus-within .tfe-more-panel{opacity:1;visibility:visible;transform:translateY(0)}.tfe-menu-more{display:grid;gap:4px}.tfe-menu-more a{display:block;padding:11px 12px;border-radius:14px;text-decoration:none;font-weight:800;color:#0f172a}.tfe-menu-more a:hover{background:#f1f5f9;color:#0b5cff}.tfe-header-cta{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:999px;background:#0b5cff;color:#fff!important;text-decoration:none;font-weight:900;font-size:14px;box-shadow:0 14px 34px rgba(11,92,255,.28)}.tfe-mobile-actions{display:flex;align-items:center;gap:10px}.tfe-mobile-cta{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:18px;background:#0b5cff;color:#fff;text-decoration:none;font-weight:900}.tfe-social-icon{font-size:12px;text-transform:uppercase;font-weight:900}.tfe-menu-mobile{display:grid!important;gap:6px;list-style:none;margin:0;padding:0}.tfe-menu-mobile a{display:flex;align-items:center;min-height:46px;padding:0 16px;border-radius:16px;text-decoration:none;color:#0f172a;font-weight:900;background:#f8fafc}.tfe-menu-mobile li.is-active a,.tfe-menu-mobile a:hover{background:#eff6ff;color:#0b5cff}
.site-footer.tfe-footer-v994{background:radial-gradient(circle at 0 0,rgba(59,130,246,.22),transparent 34%),linear-gradient(135deg,#031a4b 0%,#061b3f 48%,#020617 100%);color:#cbd5e1;margin-top:72px}.footer-grid-v994{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(150px,1fr));gap:34px}.footer-logo-text{font-weight:950;font-size:24px;color:#fff;letter-spacing:-.04em}.footer-logo-text span{color:#60a5fa}.footer-ticket-note{margin-top:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07);color:#dbeafe;line-height:1.55;font-size:13px}.footer-col{min-width:0}.footer-heading{color:#fff;font-weight:950;letter-spacing:-.02em}.footer-links{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.footer-links a{color:#cbd5e1;text-decoration:none;font-weight:700}.footer-links a:hover{color:#fff}.footer-social{display:flex;gap:10px;margin:18px 0}.footer-social-btn{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.09);display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:950;font-size:12px}.footer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:#0b5cff;text-decoration:none;font-weight:950}.footer-email{color:#fff;font-weight:850;text-decoration:none}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);color:#94a3b8}.footer-payments{display:none!important}
.tfe-core-page{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)}.tfe-narrow-container{max-width:940px;margin:0 auto}.tfe-core-grid{display:grid;gap:22px}.tfe-core-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tfe-core-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tfe-core-card{background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:28px;box-shadow:0 20px 55px rgba(15,23,42,.08)}.tfe-core-card__icon{width:48px;height:48px;border-radius:16px;background:#eff6ff;color:#0b5cff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;margin-bottom:16px}.tfe-core-card h2{font-size:24px;line-height:1.12;margin:0 0 12px;color:#0f172a;letter-spacing:-.03em}.tfe-core-card p{color:#64748b;line-height:1.72;margin:0}.tfe-core-cta{margin-top:26px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#0b5cff,#063a98);color:#fff;display:flex;gap:18px;justify-content:space-between;align-items:center}.tfe-core-cta h2{margin:0 0 8px;color:#fff;font-size:28px}.tfe-core-cta p{margin:0;color:#dbeafe;max-width:680px}.tfe-core-cta .tfe-btn{background:#fff;color:#0b5cff}.tfe-contact-panel{margin-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:#0f172a;color:#e2e8f0;border-radius:28px;padding:24px}.tfe-contact-panel a{color:#93c5fd}.tfe-faq-list-polished{display:grid;gap:16px}.tfe-faq-list-polished .tfe-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.07)}.tfe-faq-list-polished h2{font-size:22px;margin:0 0 10px}.tfe-faq-list-polished p{margin:0;color:#64748b;line-height:1.7}.tfe-status-card{text-align:center}.tfe-status-card .tfe-core-card__icon{margin-left:auto;margin-right:auto}.tfe-simple-page__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media (max-width:1180px){.tfe-desktop-nav .tfe-menu-main li:nth-child(n+5){display:none}.footer-grid-v994{grid-template-columns:1.3fr 1fr 1fr}.footer-contact-col{grid-column:span 2}}
@media (max-width:920px){.tfe-desktop-nav,.tfe-more-menu,.tfe-header-cta,.tfe-nav-container{display:none!important}.tfe-burger{display:flex}.tfe-core-grid-2,.tfe-core-grid-3,.tfe-contact-panel{grid-template-columns:1fr}.tfe-core-cta{display:block}.tfe-core-cta .tfe-btn{margin-top:18px}.footer-grid-v994{grid-template-columns:1fr 1fr}.footer-contact-col{grid-column:span 1}}
@media (max-width:640px){.tfe-header-wrap{height:60px}.tfe-logo-text{font-size:20px}.tfe-core-card{padding:22px;border-radius:22px}.tfe-core-card h2{font-size:21px}.tfe-core-cta{padding:22px;border-radius:24px}.footer-grid-v994{grid-template-columns:1fr}.site-footer.tfe-footer-v994{margin-top:48px}.footer-ticket-note{font-size:12px}.tfe-contact-panel{padding:20px}}


/* v9.9.14 compact footer override */
.site-footer.tfe-footer-v994{padding-top:38px!important;margin-top:48px!important;}
.footer-grid-v994{grid-template-columns:minmax(220px,1.25fr) repeat(4,minmax(130px,.75fr))!important;gap:24px!important;padding-bottom:28px!important;}
.footer-ticket-note{display:none!important;}
.footer-brand-desc{font-size:13px!important;line-height:1.45!important;}
.footer-links{gap:7px!important;}
.footer-links a{font-size:13px!important;}
.footer-social-btn{width:34px!important;height:34px!important;}
.footer-bottom{padding:14px 0!important;}
@media(max-width:1024px){.footer-grid-v994{grid-template-columns:1fr 1fr!important}.footer-brand-col{grid-column:1/-1!important}}
@media(max-width:640px){.footer-grid-v994{grid-template-columns:1fr 1fr!important;text-align:left!important}.footer-brand-col,.footer-contact-col{grid-column:1/-1!important}.site-footer.tfe-footer-v994{padding-top:30px!important;margin-top:38px!important}}

/* 10.2.57: Tour archive cards keep fixed, compact tracks with sparse results.
   Does not alter CRM-controlled event grids or poster data. */
.tfe-unified-grid.tfe-tour-grid {grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;}
.tfe-tour-grid > .tfe-tour-card {width:100%;max-width:380px;min-width:0;}
.tfe-tour-grid .tfe-card-media {aspect-ratio:4/5;}
.tfe-tour-grid .tfe-card-media img {width:100%;height:100%;object-fit:cover;object-position:center top;}
@media(max-width:980px){.tfe-unified-grid.tfe-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.tfe-unified-grid.tfe-tour-grid{grid-template-columns:minmax(0,1fr);}.tfe-tour-grid > .tfe-tour-card{max-width:400px;}}

/* 10.2.58: fixed track widths for sparse tour collections.
   Performer tour references use horizontal cards (not 4:5 posters);
   archive and homepage tour posters keep their template 4:5 proportions. */
body.single-performer .tfe-tours-grid {grid-template-columns:repeat(3,minmax(0,320px));justify-content:start;align-items:start;}
body.page-template-page-tours .tfe-tours-grid {justify-content:start;align-items:start;}
.tfe-discovery-home .tfe-discovery-tours__grid {justify-content:start;align-items:start;}
@media(max-width:1024px){body.single-performer .tfe-tours-grid{grid-template-columns:repeat(2,minmax(0,320px));}}
@media(max-width:640px){body.single-performer .tfe-tours-grid{grid-template-columns:minmax(0,320px);}}

