@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800;900&display=swap");

/*
  Venue Ticket - complete redesign v2
  Brug KUN denne CSS sammen med vt-redesign-complete-v2.js.
  Fjern/deaktiver alle tidligere redesign CSS/JS filer.
*/

:root{
  --vt-primary:#201C35;
  --vt-secondary:#1A428A;
  --vt-tertiary:#345F9C;
  --vt-bg:#F6F7FB;
  --vt-card:#FFFFFF;
  --vt-text:#201C35;
  --vt-muted:#706B82;
  --vt-border:#E4E7F0;
  --vt-soft:#EEF3FF;
  --vt-purple:#F2EFFF;
  --vt-shadow:0 22px 55px rgba(32,28,53,.14);
  --vt-shadow-soft:0 12px 34px rgba(32,28,53,.08);
  --vt-header-height:96px;
  --vt-header-gap:22px;
}

*{box-sizing:border-box}

body{
  margin:0!important;
  font-family:"Nunito Sans",system-ui,sans-serif!important;
  background:var(--vt-bg)!important;
  color:var(--vt-text)!important;
}

/* Header offset */
body.vt-header-offset-enabled{
  padding-top:var(--vt-header-height)!important;
}

.headerOffset{
  padding-top:var(--vt-header-gap)!important;
}

body.vt-arr-page .main-container.headerOffset.globalPaddingBottom{
  padding-top:var(--vt-header-gap)!important;
}

body.vt-arr-page #breadcrumb_container{
  padding-top:18px!important;
}

/* Clean up previous experiments */
.vm-arr-pill,
.vm-front-hero,.vm-trust-bar,.vm-design-hero,.vm-design-trust,
.vm-v4-hero,.vm-v4-trust,.vm-v4-section,.vm-v4-seller,
.vm-v5-home,.vm-events-v6-section,.vm-arrangements-page,
.vt-hidden{display:none!important}

/* Header */
header,#header,.header,.navbar,.topbar{
  background:var(--vt-primary)!important;
  border:0!important;
  box-shadow:0 10px 32px rgba(10,8,28,.24)!important;
  z-index:9999!important;
}
header a,#header a,.header a,.navbar a,.topbar a{
  color:#fff!important;
  font-family:"Nunito Sans",system-ui,sans-serif!important;
  font-weight:900!important;
}

/* Shared buttons */
.vt-btn,
.vt-organizer a,
.vt-seller a,
body.vt-arr-page #categoryView .product .action-control .btn,
body.vt-arr-page #categoryView .product .action-control a{
  border:0!important;
  border-radius:14px!important;
  background:var(--vt-secondary)!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 14px 30px rgba(26,66,138,.28)!important;
}

/* ========== FRONT PAGE ========== */
.vt-home{
  position:relative;
  z-index:1;
  margin:0 calc(50% - 50vw)!important;
  background:var(--vt-bg);
}

.vt-hero{
  position:relative;
  z-index:1;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(32,28,53,.98),rgba(32,28,53,.82),rgba(32,28,53,.55)),
    radial-gradient(circle at 72% 25%,rgba(52,95,156,.92),transparent 34%),
    linear-gradient(135deg,var(--vt-primary),var(--vt-secondary));
}

.vt-hero-inner{
  width:min(1240px,calc(100vw - 48px));
  min-height:370px;
  margin:0 auto;
  padding:calc(54px + var(--vt-header-gap)) 0 52px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:54px;
  align-items:center;
}

.vt-kicker{
  margin:0 0 12px!important;
  color:#BDD0FF!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.vt-hero h1{
  margin:0 0 16px!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  font-size:clamp(46px,5.8vw,72px)!important;
  font-weight:900!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
  text-align:left!important;
}

.vt-hero h1:after{display:none!important}

.vt-lead{
  max-width:570px;
  margin:0!important;
  color:#EEF3FF!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1.45!important;
}

.vt-search{
  width:min(660px,100%);
  margin-top:26px!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:8px!important;
  background:#fff!important;
  border-radius:16px!important;
  box-shadow:var(--vt-shadow)!important;
}

.vt-search input{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  outline:0!important;
  background:#fff!important;
  color:var(--vt-primary)!important;
  padding:0 18px!important;
  font-size:15px!important;
  font-weight:800!important;
  box-shadow:none!important;
}

.vt-search button{
  min-height:54px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--vt-secondary)!important;
  color:#fff!important;
  padding:0 32px!important;
  font-weight:900!important;
  box-shadow:0 14px 30px rgba(26,66,138,.34)!important;
  cursor:pointer!important;
}

.vt-popular{
  margin-top:15px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  align-items:center!important;
  color:#E8EEFF!important;
  font-size:13px!important;
  font-weight:800!important;
}

.vt-popular a{
  padding:7px 12px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  font-weight:800!important;
  text-decoration:none!important;
}

.vt-organizer{
  padding:28px!important;
  border-radius:24px!important;
  background:rgba(16,13,38,.88)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:var(--vt-shadow)!important;
}

.vt-organizer h2{
  margin:0 0 9px!important;
  color:#fff!important;
  font-size:27px!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}

.vt-organizer p{
  margin:0 0 20px!important;
  color:#DDE7FF!important;
  font-size:15px!important;
  font-weight:700!important;
}

.vt-organizer a{
  width:100%!important;
  min-height:48px!important;
  padding:0 22px!important;
}

.vt-organizer ul{margin:19px 0 0!important;padding:0!important;list-style:none!important}
.vt-organizer li{
  position:relative;
  margin:9px 0 0!important;
  padding-left:24px!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
}
.vt-organizer li:before{content:"✓";position:absolute;left:0}

.vt-trust{
  width:100%;
  padding:24px calc((100vw - min(1240px,calc(100vw - 48px))) / 2)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  background:#fff!important;
  border-bottom:1px solid var(--vt-border)!important;
}

.vt-trust-item{
  display:grid!important;
  grid-template-columns:48px 1fr!important;
  gap:14px!important;
  align-items:center!important;
}

.vt-icon{
  width:48px;height:48px;border-radius:16px;background:var(--vt-soft);color:var(--vt-secondary);
  display:grid;place-items:center;font-size:22px;font-weight:900;
}

.vt-trust-item strong{
  display:block!important;margin:0 0 3px!important;color:var(--vt-primary)!important;font-size:15px!important;font-weight:900!important;
}

.vt-trust-item span:last-child{
  display:block!important;color:var(--vt-muted)!important;font-size:13px!important;font-weight:700!important;line-height:1.35!important;
}

.vt-section{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100vw - 48px));
  margin:0 auto!important;
  padding:30px 0 0!important;
}

.vt-section-head{
  margin-bottom:16px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:16px!important;
}

.vt-section-head h2{
  margin:0!important;color:var(--vt-primary)!important;font-size:27px!important;font-weight:900!important;letter-spacing:-.035em!important;
}

.vt-section-head a{color:var(--vt-secondary)!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important}

.vt-categories{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:16px!important;
}

.vt-category{
  min-height:92px;
  padding:17px!important;
  display:grid!important;
  grid-template-columns:46px 1fr!important;
  gap:13px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid var(--vt-border)!important;
  border-radius:18px!important;
  color:var(--vt-primary)!important;
  text-decoration:none!important;
  box-shadow:var(--vt-shadow-soft)!important;
}

.vt-category i{
  width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--vt-soft);color:var(--vt-secondary);
  font-style:normal;font-size:22px;font-weight:900;
}

.vt-category strong{display:block!important;margin:0 0 2px!important;color:var(--vt-primary)!important;font-size:14px!important;font-weight:900!important}
.vt-category small{display:block!important;color:var(--vt-muted)!important;font-size:12px!important;font-weight:700!important}

.vt-event-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}

.vt-event{
  position:relative;
  overflow:hidden;
  min-height:430px;
  border:1px solid var(--vt-border);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--vt-shadow-soft);
  color:var(--vt-primary);
  text-decoration:none!important;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease,box-shadow .18s ease;
}

.vt-event:hover{transform:translateY(-5px);box-shadow:var(--vt-shadow)}

.vt-event-media{position:relative;height:230px;overflow:hidden;background:#fff}
.vt-event-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:0!important}

.vt-badge{
  position:absolute;left:16px;top:16px;z-index:2;padding:7px 11px;border-radius:999px;background:rgba(26,66,138,.96);
  color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;
}

.vt-heart{
  position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);
  border-radius:50%;background:rgba(32,28,53,.38);color:#fff;display:grid;place-items:center;font-size:20px;
}

.vt-event-body{padding:22px 22px 20px!important;display:flex;flex-direction:column;flex:1}
.vt-event h3{margin:0 0 14px!important;color:var(--vt-primary)!important;font-size:23px!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-.035em!important}
.vt-meta{display:grid;gap:9px;margin-bottom:20px}
.vt-meta-row{display:grid;grid-template-columns:22px 1fr;gap:9px;color:var(--vt-muted);font-size:15px;font-weight:800;line-height:1.35}
.vt-meta-row b{color:var(--vt-secondary)}
.vt-event-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--vt-border);display:flex;justify-content:space-between;gap:14px;align-items:center}
.vt-price{color:var(--vt-primary);font-size:16px;font-weight:900}
.vt-btn{min-width:126px;min-height:46px}

.vt-seller{
  position:relative;
  z-index:1;
  width:min(1240px,calc(100vw - 48px));
  margin:34px auto 42px!important;
  padding:26px 32px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:26px!important;
  align-items:center!important;
  border-radius:22px!important;
  background:var(--vt-primary)!important;
  color:#fff!important;
  box-shadow:var(--vt-shadow)!important;
}

.vt-seller h2{margin:0 0 5px!important;color:#fff!important;font-size:24px!important;font-weight:900!important}
.vt-seller p{margin:0!important;color:#DDE7FF!important;font-size:14px!important;font-weight:700!important}
.vt-seller a{min-height:48px!important;padding:0 22px!important}

/* ========== /ARRANGEMENTER ========== */
body.vt-arr-page .main-container.headerOffset.globalPaddingBottom{
  width:100%!important;max-width:none!important;padding-bottom:72px!important;background:var(--vt-bg)!important;
}

body.vt-arr-page .main-container.headerOffset.globalPaddingBottom>.container{
  width:min(1320px,calc(100vw - 56px))!important;max-width:1320px!important;margin:0 auto!important;padding:0!important;
}

body.vt-arr-page #breadcrumb_container{margin:0!important}
body.vt-arr-page .breadcrumb{margin:0!important;padding:0!important;background:transparent!important;color:var(--vt-muted)!important;font-weight:800!important}
body.vt-arr-page .breadcrumb a{color:var(--vt-secondary)!important;text-decoration:none!important}

body.vt-arr-page .main-container.headerOffset.globalPaddingBottom>.container>.row{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:34px!important;
  margin:0!important;
}

body.vt-arr-page #categoryLeftMenu,
body.vt-arr-page #categoryView{float:none!important;width:auto!important;max-width:none!important;padding:0!important}

body.vt-arr-page #categoryLeftMenu{position:sticky;top:calc(var(--vt-header-height) + 24px);align-self:start;margin-top:42px!important}

body.vt-arr-page #categoryLeftMenu .panel{
  overflow:hidden!important;border:1px solid var(--vt-border)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--vt-shadow-soft)!important;
}

body.vt-arr-page #categoryLeftMenu .panel-heading{padding:20px 20px 14px!important;background:#fff!important;border:0!important}
body.vt-arr-page #categoryLeftMenu .panel-title,
body.vt-arr-page #categoryLeftMenu .panel-title a{color:var(--vt-primary)!important;font-size:18px!important;font-weight:900!important;text-decoration:none!important}
body.vt-arr-page #categoryLeftMenu .panel-body{padding:0 18px 20px!important;border:0!important}
body.vt-arr-page #categoryLeftMenu .nav{display:grid!important;gap:8px!important}

body.vt-arr-page #categoryLeftMenu .nav>li>a{
  min-height:42px!important;padding:10px 13px!important;border-radius:13px!important;display:flex!important;align-items:center!important;
  background:transparent!important;color:var(--vt-primary)!important;font-weight:800!important;text-decoration:none!important;
}

body.vt-arr-page #categoryLeftMenu .nav>li.selected>a,
body.vt-arr-page #categoryLeftMenu .nav>li>a:hover{background:var(--vt-primary)!important;color:#fff!important}

body.vt-arr-page #categoryView{
  margin-top:42px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(420px,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
}

body.vt-arr-page #categoryView>h1{
  grid-column:1/-1!important;margin:0 0 10px!important;padding:0!important;color:var(--vt-primary)!important;background:transparent!important;
  font-size:clamp(42px,5vw,68px)!important;font-weight:900!important;line-height:.98!important;letter-spacing:-.06em!important;text-align:left!important;
}

body.vt-arr-page #categoryView>h1:after{
  content:"Find billetter til festivaler, comedy og oplevelser i hele Danmark.";
  display:block;max-width:620px;margin-top:14px;color:var(--vt-muted);font-size:18px;font-weight:700;line-height:1.45;letter-spacing:0;
}

body.vt-arr-page #category_image,
body.vt-arr-page #category_description,
body.vt-arr-page #customer_group_category_text_container,
body.vt-arr-page #categoryView>.gap{display:none!important}

body.vt-arr-page #categoryView .categoryProduct,
body.vt-arr-page #categoryView .categoryProduct .item{display:contents!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}

body.vt-arr-page #categoryView .product{
  position:relative!important;overflow:hidden!important;min-height:560px!important;margin:0!important;border:1px solid var(--vt-border)!important;border-radius:28px!important;
  background:#fff!important;box-shadow:var(--vt-shadow-soft)!important;color:var(--vt-primary)!important;display:grid!important;grid-template-rows:300px 1fr auto!important;
}

body.vt-arr-page #categoryView .product:hover{transform:translateY(-5px);box-shadow:var(--vt-shadow)!important}

body.vt-arr-page #categoryView .product .image{position:relative!important;overflow:hidden!important;width:100%!important;height:300px!important;margin:0!important;background:#fff!important}
body.vt-arr-page #categoryView .product .image a{display:block!important;width:100%!important;height:100%!important}
body.vt-arr-page #categoryView .product .image img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important;border-radius:0!important}

body.vt-arr-page #categoryView .product:before{
  content:"Event";position:absolute;left:18px;top:18px;z-index:4;padding:8px 12px;border-radius:999px;background:rgba(26,66,138,.96);color:#fff;
  font-size:12px;font-weight:900;text-transform:uppercase;
}

body.vt-arr-page #categoryView .product:has(a[href*="morsoe"]):before,
body.vt-arr-page #categoryView .product:has(a[href*="festival"]):before{content:"Festival"}

body.vt-arr-page #categoryView .product:has(a[href*="brianmoerk"]):before,
body.vt-arr-page #categoryView .product:has(a[href*="iseeyou"]):before{content:"Comedy"}

body.vt-arr-page #categoryView .product .image:after{
  content:"♡";position:absolute;right:16px;top:16px;z-index:3;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;
  background:rgba(32,28,53,.38);color:#fff;display:grid;place-items:center;font-size:22px;
}

body.vt-arr-page #categoryView .product .description{padding:26px 26px 12px!important;display:flex!important;flex-direction:column!important}
body.vt-arr-page #categoryView .product .description h4{margin:0 0 16px!important}
body.vt-arr-page #categoryView .product .description h4 a{color:var(--vt-primary)!important;font-size:30px!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-.04em!important;text-decoration:none!important}
body.vt-arr-page #categoryView .product .description .size{color:var(--vt-muted)!important;font-size:18px!important;font-weight:800!important;line-height:1.45!important}
body.vt-arr-page #categoryView .product .description .size:before{content:"📅 ";color:var(--vt-secondary)}
body.vt-arr-page #categoryView .product .description p{margin:12px 0 0!important;color:var(--vt-muted)!important;font-size:16px!important;font-weight:700!important}

body.vt-arr-page #categoryView .product .action-control{
  margin-top:auto!important;padding:22px 26px 26px!important;border-top:1px solid var(--vt-border)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important;
}

body.vt-arr-page #categoryView .product .action-control:before{content:"Se pris";margin-right:auto;color:var(--vt-primary);font-size:20px;font-weight:900}

body.vt-arr-page #categoryView .product .action-control .btn,
body.vt-arr-page #categoryView .product .action-control a{
  min-width:170px!important;min-height:54px!important;padding:0 24px!important;font-size:18px!important;
}

/* Responsive */
@media(max-width:1100px){
  .vt-hero-inner,.vt-seller{grid-template-columns:1fr!important}
  .vt-trust{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-left:24px!important;padding-right:24px!important}
  .vt-categories{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vt-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.vt-arr-page .main-container.headerOffset.globalPaddingBottom>.container>.row{grid-template-columns:1fr!important}
  body.vt-arr-page #categoryLeftMenu{position:static!important;margin-top:24px!important}
  body.vt-arr-page #categoryView{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:720px){
  .vt-hero-inner,.vt-section,.vt-seller{width:calc(100vw - 36px)!important}
  .vt-hero-inner{min-height:auto;padding:52px 0 58px}
  .vt-hero h1{font-size:46px!important}
  .vt-search{grid-template-columns:1fr!important}
  .vt-trust,.vt-categories,.vt-event-grid{grid-template-columns:1fr!important}
  body.vt-arr-page .main-container.headerOffset.globalPaddingBottom>.container{width:calc(100vw - 36px)!important}
  body.vt-arr-page #categoryView{grid-template-columns:1fr!important}
  body.vt-arr-page #categoryView>h1{font-size:46px!important}
  body.vt-arr-page #categoryView .product{min-height:auto!important}
  body.vt-arr-page #categoryView .product .image{height:220px!important}
  body.vt-arr-page #categoryView .product .description h4 a{font-size:26px!important}
  body.vt-arr-page #categoryView .product .action-control{align-items:stretch!important;flex-direction:column!important}
  body.vt-arr-page #categoryView .product .action-control:before{margin-right:0!important}
  body.vt-arr-page #categoryView .product .action-control .btn,
  body.vt-arr-page #categoryView .product .action-control a{width:100%!important}
}
