/*
Theme Name: TourPress
Theme URI: https://example.com/
Author: TourPress
Description: Modern travel experiences WordPress theme.
Version: 1.1.0
Text Domain: tourpress
*/

:root{
  --tp-primary:#111827;
  --tp-accent:#ff5a36;
  --tp-accent-dark:#e54826;
  --tp-bg:#f7f7f5;
  --tp-card:#fff;
  --tp-muted:#6b7280;
  --tp-border:#e5e7eb;
  --tp-radius:18px;
  --tp-shadow:0 12px 35px rgba(17,24,39,.08);
  --tp-container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--tp-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}

.tp-container{width:min(calc(100% - 40px),var(--tp-container));margin-inline:auto}
.tp-section{padding:72px 0}
.tp-section--soft{background:var(--tp-bg)}
.tp-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.tp-section-title{font-size:clamp(28px,4vw,42px);line-height:1.05;margin:0;font-weight:800;letter-spacing:-.035em}
.tp-section-subtitle{color:var(--tp-muted);margin:10px 0 0;max-width:650px}
.tp-link{font-weight:700;color:var(--tp-accent);white-space:nowrap}

.tp-header{height:72px;position:sticky;top:0;z-index:1000;background:#5572d6;color:#fff}
.tp-hellotickets-bar{height:72px;display:flex;align-items:center;justify-content:space-between}
.tp-logo{font-size:25px;font-weight:800;letter-spacing:-.6px;line-height:1;color:#fff;text-decoration:none;white-space:nowrap}
.tp-logo-white{color:#fff}
.tp-ht-actions{display:flex;align-items:center;gap:26px;height:100%}
.tp-ht-item{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;border:0;background:transparent;font:500 14px/1.2 Arial,sans-serif;white-space:nowrap;padding:0;cursor:pointer}
.tp-tr-flag{width:24px;height:24px;display:inline-flex;flex:0 0 24px}
.tp-tr-flag svg{width:24px;height:24px;display:block}
.tp-help-icon{width:24px;height:24px;border:1.6px solid rgba(255,255,255,.95);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 15px/1 Arial,sans-serif}
.tp-account{height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.95);border-radius:4px;display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font:500 14px/1 Arial,sans-serif;white-space:nowrap}
.tp-account svg{width:19px;height:19px}
.tp-mobile-toggle{display:none;border:0;background:transparent;color:#fff;font-size:24px}

.tp-menu a{font-size:14px;font-weight:600;margin-right:26px;padding:24px 0}.tp-menu a:hover{color:var(--tp-accent)}
.tp-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.tp-head-link{border:0;background:transparent;color:#252525;font-size:13px;font-weight:600;padding:10px 12px}.tp-head-link span{color:#aaa;margin:0 3px}.tp-head-cta{background:var(--tp-accent);color:#fff;border:1px solid var(--tp-accent);border-radius:8px;padding:10px 17px;font-size:13px;font-weight:700;margin-left:6px}.tp-mobile-toggle{display:none;border:0;background:transparent;font-size:22px}
.tp-menu{display:flex;align-items:center;gap:26px;margin-left:auto}
.tp-menu a{font-size:14px;font-weight:650;color:#374151}
.tp-menu a:hover{color:var(--tp-accent)}
.tp-actions{display:flex;align-items:center;gap:10px}
.tp-btn{border:0;border-radius:999px;padding:12px 19px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease}
.tp-btn--primary{background:var(--tp-accent);color:#fff}
.tp-btn--primary:hover{background:var(--tp-accent-dark);transform:translateY(-1px)}
.tp-btn--ghost{background:#fff;border:1px solid var(--tp-border)}
.tp-mobile-toggle{display:none;background:none;border:0;font-size:25px}

.tp-hero{padding:0;background:#eef4fb;overflow:hidden;border-top:1px solid #e4ebf4}
.tp-hero-inner{width:min(100%,1200px);min-height:344px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 395px;align-items:stretch;gap:0}
.tp-hero-copy{padding:58px 20px 55px 0;display:flex;flex-direction:column;justify-content:center}
.tp-hero h1{font-size:40px;line-height:1.14;letter-spacing:-.035em;margin:0 0 10px;max-width:790px;font-weight:800;color:#22324b}
.tp-hero p{font-size:17px;color:#40546f;max-width:700px;margin:0 0 30px}
.tp-hero-art{min-height:344px;background:url("assets/images/hero-statue.jpg") center right/cover no-repeat;position:relative;overflow:hidden}
.tp-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eef4fb 0%,rgba(238,244,251,.18) 18%,rgba(238,244,251,0) 45%);pointer-events:none}
.tp-search{background:#fff;border:1px solid #cbd8ea;border-radius:12px;padding:6px;display:flex;align-items:center;box-shadow:0 7px 20px rgba(53,86,135,.14);max-width:784px;height:68px}
.tp-search-icon{font-size:22px;margin:0 10px 0 12px;color:#5572d6}
.tp-search input{border:0;outline:0;flex:1;min-width:0;padding:14px 6px;font-size:16px;color:#253752}
.tp-search input::placeholder{color:#9aacc7}
.tp-search button{height:46px;padding:0 24px;border-radius:5px;background:#5572d6;color:#fff}
.tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tp-destination{position:relative;overflow:hidden;border-radius:22px;min-height:250px;background:#ddd}
.tp-destination img{width:100%;height:100%;object-fit:cover;transition:.4s ease}
.tp-destination:hover img{transform:scale(1.05)}
.tp-destination:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.tp-destination-content{position:absolute;z-index:2;bottom:20px;left:20px;color:#fff}
.tp-destination-content h3{margin:0;font-size:25px}
.tp-destination-content span{font-size:13px;opacity:.9}

.tp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tp-card{background:var(--tp-card);border:1px solid var(--tp-border);border-radius:var(--tp-radius);overflow:hidden;transition:.25s ease}
.tp-card:hover{transform:translateY(-4px);box-shadow:var(--tp-shadow)}
.tp-card-image{aspect-ratio:16/10;background:#eee;overflow:hidden}
.tp-card-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.tp-card:hover .tp-card-image img{transform:scale(1.04)}
.tp-card-body{padding:18px}
.tp-rating{font-size:13px;font-weight:750;margin-bottom:8px}
.tp-rating span{color:#f59e0b}
.tp-card h3{font-size:18px;line-height:1.25;margin:0 0 9px}
.tp-card-meta{color:var(--tp-muted);font-size:13px;margin-bottom:16px}
.tp-card-price{font-weight:800;font-size:18px}
.tp-card-price small{font-weight:500;color:var(--tp-muted);font-size:12px}

.tp-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tp-category{padding:24px;border:1px solid var(--tp-border);border-radius:18px;background:#fff;font-weight:800;display:flex;align-items:center;gap:14px;transition:.2s}
.tp-category:hover{border-color:var(--tp-accent);transform:translateY(-2px)}
.tp-category-icon{width:46px;height:46px;border-radius:14px;background:#fff1ed;display:grid;place-items:center;font-size:22px}

.tp-guide-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:20px}
.tp-guide{min-height:250px;border-radius:22px;overflow:hidden;position:relative;background:#ddd}
.tp-guide img{width:100%;height:100%;object-fit:cover}
.tp-guide:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.tp-guide-content{position:absolute;z-index:2;bottom:20px;left:20px;right:20px;color:#fff}
.tp-guide-content h3{margin:5px 0 0;font-size:24px}
.tp-guide-content small{font-weight:700}

.tp-newsletter{background:#111827;color:#fff;border-radius:28px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.tp-newsletter h2{font-size:34px;margin:0 0 8px}
.tp-newsletter p{margin:0;color:#cbd5e1}
.tp-newsletter-form{display:flex;gap:8px;background:#fff;padding:6px;border-radius:999px;min-width:390px}
.tp-newsletter-form input{border:0;outline:0;padding:12px 15px;flex:1;min-width:0}

.tp-footer{background:#111827;color:#cbd5e1;margin-top:72px;padding:60px 0 25px}
.tp-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.tp-footer h3{color:#fff;font-size:15px;margin:0 0 16px}
.tp-footer p{font-size:14px;max-width:330px}
.tp-footer a{display:block;font-size:14px;margin:10px 0;color:#cbd5e1}
.tp-footer a:hover{color:#fff}
.tp-footer-bottom{border-top:1px solid #263244;margin-top:35px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between}

@media(max-width:980px){
  .tp-hero-inner{grid-template-columns:1fr}
  .tp-hero-copy{padding:50px 0 25px}
  .tp-hero-art{min-height:280px}
  .tp-grid{grid-template-columns:repeat(2,1fr)}
  .tp-card-grid{grid-template-columns:repeat(2,1fr)}
  .tp-category-grid{grid-template-columns:repeat(2,1fr)}
  .tp-guide-grid{grid-template-columns:1fr 1fr}
  .tp-guide:first-child{grid-column:1/-1}
  .tp-newsletter{display:block}
  .tp-newsletter-form{margin-top:25px;max-width:520px}
  .tp-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .tp-container{width:min(calc(100% - 28px),var(--tp-container))}
  .tp-nav{height:68px}
  .tp-menu{display:none}
  .tp-actions .tp-btn--ghost{display:none}
  .tp-mobile-toggle{display:block}
  .tp-actions{margin-left:auto}
  .tp-hero-inner{min-height:0}
  .tp-hero-copy{padding:42px 0 28px}
  .tp-hero h1{font-size:34px}
  .tp-search{border-radius:16px;display:grid;grid-template-columns:1fr auto}
  .tp-search-icon{display:none}
  .tp-search input{grid-column:1/-1}
  .tp-search button{grid-column:1/-1}
  .tp-grid,.tp-card-grid,.tp-category-grid,.tp-guide-grid{grid-template-columns:1fr}
  .tp-guide:first-child{grid-column:auto}
  .tp-section{padding:52px 0}
  .tp-section-head{align-items:start;flex-direction:column}
  .tp-newsletter{padding:30px 24px}
  .tp-newsletter h2{font-size:28px}
  .tp-newsletter-form{min-width:0;display:flex;border-radius:16px}
  .tp-footer-grid{grid-template-columns:1fr}
  .tp-footer-bottom{display:block}
}

@media(max-width:700px){.tp-ht-actions{gap:10px}.tp-ht-actions .tp-ht-item{display:none}.tp-account{height:38px;padding:0 10px}.tp-account span{display:none}.tp-mobile-toggle{display:block}.tp-hellotickets-bar{height:64px}.tp-header{height:64px}.tp-logo{font-size:22px}}

/* =========================================================
   HELLOTICKETS-STYLE DESTINATION + TOUR GRID
========================================================= */
.tp-city-section{padding:46px 0 58px;background:#fff}
.tp-section-head--compact{margin-bottom:22px}
.tp-section-head--compact .tp-section-title{font-size:27px;letter-spacing:-.02em}
.tp-city-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:70px;row-gap:22px}
.tp-city-item{display:flex;align-items:center;gap:9px;min-width:0;padding:0;text-decoration:none}
.tp-city-item img{width:88px;height:88px;flex:0 0 88px;border-radius:4px;object-fit:cover;background:#e8edf5}
.tp-city-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.tp-city-copy strong{font-size:15px;line-height:1.2;color:#4f6fd4;font-weight:700}
.tp-city-copy small{font-size:13px;line-height:1.25;color:#333}
.tp-city-item:hover .tp-city-copy strong{text-decoration:underline}
.tp-section--tours{padding-top:26px;background:#fff}
.tp-tour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px 16px}
.tp-tour-card{min-width:0;background:#fff}
.tp-tour-image{display:block;aspect-ratio:1.48;overflow:hidden;border-radius:4px;background:#edf1f5}
.tp-tour-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tp-tour-card:hover .tp-tour-image img{transform:scale(1.035)}
.tp-tour-body{padding-top:10px}
.tp-tour-label{font-size:12px;color:#626b91;font-weight:700;margin-bottom:4px}
.tp-tour-card h3{font-size:15px;line-height:1.45;margin:0 0 4px;font-weight:700;color:#343a40}
.tp-tour-card h3 a:hover{color:#4f6fd4}
.tp-tour-rating{display:flex;align-items:center;gap:4px;font-size:13px;color:#4b5563;white-space:nowrap}
.tp-tour-rating strong{color:#333}
.tp-tour-rating small{font-size:12px;color:#8a8f98}
.tp-stars{letter-spacing:-1px;color:#f5a623;font-size:15px}
.tp-tour-price{font-size:22px;font-weight:800;line-height:1.2;margin-top:8px;color:#343a40}
.tp-empty-tours{grid-column:1/-1;border:1px dashed #cfd6e3;border-radius:8px;padding:28px;color:#5b6575;display:flex;flex-direction:column;gap:6px}
.tp-empty-tours strong{font-size:17px;color:#26354c}
@media(max-width:980px){.tp-city-grid{grid-template-columns:repeat(2,1fr);column-gap:35px}.tp-tour-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tp-city-section{padding:35px 0}.tp-city-grid{grid-template-columns:1fr;gap:16px}.tp-city-item img{width:76px;height:70px;flex-basis:76px}.tp-tour-grid{grid-template-columns:1fr;gap:28px}.tp-tour-image{aspect-ratio:1.6}.tp-section--tours{padding-top:15px}}
.tp-single-tour{padding:60px 0}.tp-single-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px}.tp-single-grid>div:first-child img{width:100%;border-radius:8px}.tp-single-copy h1{font-size:40px;line-height:1.1;margin:8px 0 14px}.tp-single-content{margin-top:28px;color:#4b5563}.tp-single-content p{margin:0 0 15px}@media(max-width:800px){.tp-single-grid{grid-template-columns:1fr}.tp-single-copy h1{font-size:32px}}

/* =========================================================
   ANA SAYFA KATEGORİ KOLEKSİYONLARI
   Müzik / Futbol / Müzeler / Tiyatro / Tema Parkları
========================================================= */
.tp-collections{background:#fff;padding:20px 0 30px}
.tp-collection{position:relative;padding:38px 0 44px}
.tp-collection + .tp-collection{padding-top:38px}
.tp-collection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.tp-collection-head h2{font-size:23px;line-height:1.2;margin:0;color:#303840;font-weight:750}
.tp-collection-arrow{width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(30,45,70,.16);display:grid;place-items:center;color:#4f6fd4;font-size:30px;line-height:1;transition:.2s;position:absolute;right:-16px;top:88px;z-index:3}
.tp-collection-arrow:hover{transform:translateX(2px);box-shadow:0 5px 16px rgba(30,45,70,.22)}
.tp-collection-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tp-collection-card{min-width:0}
.tp-collection-image{display:block;width:100%;aspect-ratio:1.52;overflow:hidden;border-radius:4px;background:#edf1f5}
.tp-collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tp-collection-card:hover .tp-collection-image img{transform:scale(1.035)}
.tp-collection-card h3{font-size:15px;line-height:1.35;margin:10px 0 5px;color:#343a40;font-weight:700}
.tp-collection-card h3 a:hover{color:#4f6fd4}
.tp-collection-meta{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px;color:#8a8f98}
.tp-collection-meta strong{color:#333;font-size:13px}
.tp-collection-price{font-size:20px;font-weight:800;color:#343a40;margin-top:7px}
.tp-collection-empty{padding:18px;border:1px dashed #d5dbe5;border-radius:5px;color:#707887;font-size:13px}
@media(max-width:980px){
  .tp-collection-track{grid-template-columns:repeat(2,1fr);row-gap:28px}
  .tp-collection-arrow{right:4px}
}
@media(max-width:700px){
  .tp-collection{padding:28px 0 34px}
  .tp-collection-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-right:12px;scrollbar-width:none}
  .tp-collection-track::-webkit-scrollbar{display:none}
  .tp-collection-card{flex:0 0 82%;scroll-snap-align:start}
  .tp-collection-arrow{right:0;top:72px}
}


/* === Header + Hero exact layout correction === */
:root{
  --ht-blue:#5272d4;
  --ht-hero:#eef4fb;
  --ht-ink:#22304a;
}
.tp-header,.site-header,header.tp-header{
  background:var(--ht-blue)!important;
  border:0!important;
  border-top:3px solid #273a58!important;
  height:78px!important;
  min-height:78px!important;
  position:relative!important;
}
.tp-header .tp-container,.tp-header .tp-nav{
  height:75px!important;
}
.tp-nav{
  display:flex!important;
  align-items:center!important;
  max-width:1295px!important;
  margin:0 auto!important;
  padding:0 22px!important;
}
.tp-logo{
  color:#fff!important;
  font-size:25px!important;
  font-weight:800!important;
  letter-spacing:-.7px!important;
  margin-right:auto!important;
}
.tp-logo span{color:#fff!important}
.tp-menu{display:none!important}
.tp-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:25px!important;
}
.tp-actions .tp-btn,.tp-actions button,.tp-actions a{
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  border-radius:0!important;
  font-size:14px!important;
  font-weight:500!important;
  box-shadow:none!important;
}
.tp-actions .tp-account{
  border:1px solid rgba(255,255,255,.9)!important;
  border-radius:4px!important;
  padding:10px 14px!important;
}
.tp-hero{
  position:relative!important;
  overflow:hidden!important;
  background:var(--ht-hero)!important;
  padding:0!important;
  min-height:345px!important;
}
.tp-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:var(--ht-hero)!important;
  z-index:0!important;
}
.tp-hero-inner{
  position:relative!important;
  z-index:2!important;
  max-width:1295px!important;
  min-height:345px!important;
  margin:0 auto!important;
  padding:58px 22px 50px!important;
  display:block!important;
}
.tp-hero-copy{
  position:relative!important;
  z-index:3!important;
  width:66%!important;
  max-width:790px!important;
}
.tp-hero h1{
  color:var(--ht-ink)!important;
  font-size:40px!important;
  line-height:1.18!important;
  letter-spacing:-1px!important;
  margin:0 0 7px!important;
  max-width:800px!important;
  font-weight:800!important;
}
.tp-hero p{
  color:#34425d!important;
  font-size:18px!important;
  margin:0 0 30px!important;
  max-width:720px!important;
}
.tp-search{
  width:100%!important;
  max-width:785px!important;
  height:66px!important;
  display:flex!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #c9d6ee!important;
  border-radius:11px!important;
  padding:9px 10px 9px 17px!important;
  box-shadow:0 3px 10px rgba(55,79,130,.17)!important;
}
.tp-search input{
  flex:1!important;
  border:0!important;
  outline:0!important;
  font-size:16px!important;
  color:#34425d!important;
  background:transparent!important;
}
.tp-search button{
  height:44px!important;
  min-width:100px!important;
  background:var(--ht-blue)!important;
  color:#fff!important;
  border:0!important;
  border-radius:4px!important;
  font-weight:700!important;
}
.tp-hero-statue{
  position:absolute!important;
  z-index:2!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:36%!important;
  max-width:510px!important;
  min-width:390px!important;
  background-position:right bottom!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  pointer-events:none!important;
}
/* Critical: hero background always reaches the full right edge */
.tp-hero,.tp-hero-inner{background-color:transparent!important}
@media(max-width:850px){
 .tp-actions{gap:14px!important}
 .tp-hero-copy{width:70%!important}
 .tp-hero-statue{width:38%!important;min-width:300px!important;opacity:.9}
 .tp-hero h1{font-size:34px!important}
}
@media(max-width:650px){
 .tp-header{height:68px!important;min-height:68px!important}
 .tp-nav{height:65px!important;padding:0 14px!important}
 .tp-logo{font-size:21px!important}
 .tp-actions .tp-currency{display:none!important}
 .tp-actions{gap:12px!important}
 .tp-hero{min-height:390px!important}
 .tp-hero-inner{min-height:390px!important;padding:42px 16px 35px!important}
 .tp-hero-copy{width:100%!important}
 .tp-hero-statue{opacity:.18!important;width:70%!important;min-width:0!important}
 .tp-hero h1{font-size:31px!important}
 .tp-hero p{font-size:15px!important}
 .tp-search{height:auto!important;padding:8px!important}
}


/* === Inspiration + Footer === */
.tp-inspiration{background:#fff;padding:62px 0 78px}
.tp-inspiration .tp-container{max-width:1135px}
.tp-inspiration h2{margin:0 0 18px;font-size:24px;line-height:1.2;color:#171b22;font-weight:700;letter-spacing:-.3px}
.tp-tag-cloud{display:flex;flex-wrap:wrap;gap:15px 8px}
.tp-tag-cloud a{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border:1px solid #d8def1;border-radius:4px;background:#fff;color:#252b34;font-size:13px;line-height:1.25;transition:.15s ease}
.tp-tag-cloud a:hover{border-color:#5272d4;color:#5272d4}

.tp-footer{margin:0!important;background:#343a42!important;color:#9fa9b8!important;padding:40px 0 30px!important}
.tp-footer .tp-container{max-width:1150px}
.tp-footer-grid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr .8fr!important;gap:58px!important}
.tp-footer-brand .tp-country{display:inline-flex;align-items:center;gap:10px;background:#8c99aa;color:#fff;border-radius:4px;padding:11px 13px;margin-bottom:20px;font-size:13px}
.tp-footer-brand p{font-size:13px!important;line-height:1.65!important;color:#9fa9b8!important;margin:0 0 2px!important;max-width:275px!important}
.tp-footer-brand .copyright{color:#fff!important}
.tp-footer h3{font-size:14px!important;color:#fff!important;margin:4px 0 12px!important;font-weight:600!important}
.tp-footer a{font-size:13px!important;color:#9fa9b8!important;margin:8px 0!important;display:block!important}
.tp-footer a:hover{color:#fff!important}
.tp-socials{display:flex;gap:14px;align-items:center;margin-top:11px}
.tp-socials a{display:inline!important;color:#fff!important;font-size:18px!important;margin:0!important}
.tp-footer-bottom{display:none!important}

@media(max-width:900px){
 .tp-footer-grid{grid-template-columns:1.5fr 1fr 1fr!important;gap:35px!important}
}
@media(max-width:620px){
 .tp-inspiration{padding:45px 0 55px}
 .tp-inspiration h2{font-size:21px}
 .tp-tag-cloud{gap:8px}
 .tp-tag-cloud a{font-size:12px}
 .tp-footer-grid{grid-template-columns:1fr 1fr!important;gap:30px!important}
 .tp-footer-brand{grid-column:1/-1}
}


/* === Header controls correction based on supplied reference === */
.tp-header{
  background:#5272d4!important;
  height:72px!important;
  min-height:72px!important;
  border-top:0!important;
}
.tp-header .tp-nav{
  height:72px!important;
  max-width:1160px!important;
  margin:0 auto!important;
  padding:0 20px!important;
}
.tp-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:26px!important;
  height:100%!important;
}
.tp-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:500!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.tp-actions .tp-currency .tp-flag{
  width:24px!important;height:24px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  font-size:18px!important;line-height:24px!important;
  overflow:hidden!important;
}
.tp-actions .tp-help-icon{
  width:24px!important;height:24px!important;border:1.5px solid #fff!important;
  border-radius:50%!important;display:grid!important;place-items:center!important;
  font-size:15px!important;font-weight:600!important;
}
.tp-actions .tp-account{
  height:40px!important;
  padding:0 13px!important;
  border:1px solid rgba(255,255,255,.95)!important;
  border-radius:4px!important;
  gap:8px!important;
}
.tp-actions .tp-user-icon{
  width:17px!important;height:17px!important;display:inline-block!important;position:relative!important;
}
.tp-actions .tp-user-icon:before{
  content:""!important;position:absolute!important;left:5px!important;top:0!important;
  width:7px!important;height:7px!important;border-radius:50%!important;background:#fff!important;
}
.tp-actions .tp-user-icon:after{
  content:""!important;position:absolute!important;left:2px!important;bottom:0!important;
  width:13px!important;height:7px!important;border-radius:7px 7px 2px 2px!important;background:#fff!important;
}
@media(max-width:650px){
 .tp-actions{gap:13px!important}
 .tp-actions .tp-currency{display:none!important}
 .tp-actions a{font-size:13px!important}
 .tp-actions .tp-account{height:37px!important;padding:0 10px!important}
}


.tp-inspiration{background:#fff;padding:62px 0 78px}
.tp-inspiration .tp-container{max-width:1135px;margin:auto}
.tp-inspiration h2{margin:0 0 18px;font-size:24px;color:#171b22;font-weight:700}
.tp-tag-cloud{display:flex;flex-wrap:wrap;gap:15px 8px}
.tp-tag-cloud a{padding:8px 10px;border:1px solid #d8def1;border-radius:4px;color:#252b34;font-size:13px;background:#fff}
.tp-footer{background:#343a42!important;color:#9fa9b8!important;padding:40px 0 30px!important;margin:0!important}
.tp-footer .tp-container{max-width:1150px;margin:auto}
.tp-footer-grid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr 1fr .8fr!important;gap:58px!important}
.tp-country{display:inline-flex;align-items:center;gap:10px;background:#8c99aa;color:#fff;border-radius:4px;padding:11px 13px;margin-bottom:20px;font-size:13px}
.tp-footer p{font-size:13px;line-height:1.65;color:#9fa9b8;margin:0;max-width:275px}
.tp-footer .copyright{color:#fff;margin-top:3px}
.tp-footer h3{font-size:14px;color:#fff;margin:4px 0 12px;font-weight:600}
.tp-footer a{display:block;font-size:13px;color:#9fa9b8;margin:8px 0;text-decoration:none}
.tp-footer a:hover{color:#fff}
.tp-socials{display:flex;gap:14px;margin-top:11px}
.tp-socials a{display:inline;color:#fff;font-size:18px;margin:0}
@media(max-width:900px){.tp-footer-grid{grid-template-columns:1.5fr 1fr 1fr!important;gap:35px!important}}
@media(max-width:620px){.tp-inspiration{padding:45px 0 55px}.tp-footer-grid{grid-template-columns:1fr 1fr!important;gap:30px!important}.tp-footer-brand{grid-column:1/-1}}


/* === Ticket/event result page === */
.tp-ticket-topbar{background:#5272d4;color:#fff}
.tp-ticket-topbar .tp-ticket-nav{height:66px;display:flex;align-items:center;gap:55px;max-width:1100px;margin:auto;padding:0 18px}
.tp-ticket-topbar .tp-ticket-logo{font-size:24px;font-weight:800;color:#fff;text-decoration:none}
.tp-ticket-search{width:365px;height:42px;background:#fff;border-radius:4px;display:flex;align-items:center;padding:0 13px;color:#1f2937}
.tp-ticket-search-icon{font-size:21px;margin-right:8px;color:#111827}
.tp-ticket-search input{border:0;outline:0;width:100%;font-size:13px;background:transparent}
.tp-ticket-top-actions{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:13px}
.tp-ticket-top-actions a{color:#fff;text-decoration:none;white-space:nowrap}
.tp-ticket-account{border:1px solid #fff;border-radius:4px;padding:10px 13px}

.tp-event-hero{height:195px;background:radial-gradient(circle at 24% 20%,#5b3030 0,#190611 35%,#0a1021 65%,#241616 100%);color:#fff}
.tp-event-hero-inner{max-width:1065px;height:100%;margin:auto;padding:0 20px;display:grid;grid-template-columns:1fr 340px;gap:65px;align-items:center}
.tp-event-hero h1{font-size:27px;line-height:1.15;margin:0 0 5px;letter-spacing:-.5px}
.tp-event-hero p{font-size:13px;margin:0;font-weight:600}
.tp-event-cover{height:128px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,#263752,#bb4f4f)}
.tp-event-cover img{width:100%;height:100%;object-fit:cover}

.tp-events-main{max-width:1065px;margin:0 auto;padding:22px 20px 70px;display:grid;grid-template-columns:minmax(0,680px) 340px;gap:35px}
.tp-events-title{font-size:16px;margin:8px 0 20px}
.tp-event-row{display:grid;grid-template-columns:105px minmax(0,1fr) 128px;gap:17px;align-items:center;min-height:116px;border-bottom:0 solid #eee}
.tp-event-date strong{display:block;font-size:13px;margin-bottom:5px}
.tp-event-date span{display:block;font-size:12px;color:#34425d}
.tp-event-info h3{font-size:14px;line-height:1.35;margin:0 0 4px;font-weight:700}
.tp-event-location{font-size:12px;color:#536078;margin-bottom:5px}
.tp-event-badge{font-size:12px;font-weight:600;color:#d94b54}
.tp-event-stock{display:inline-block;background:#d34f58;color:#fff;font-size:11px;padding:4px 7px;margin-top:5px;border-radius:1px}
.tp-event-btn{justify-self:end;background:#5272d4;color:#fff!important;text-decoration:none;border-radius:3px;padding:13px 12px;font-size:12px;font-weight:700;min-width:127px;text-align:center}
.tp-event-btn span{font-size:18px;margin-left:7px;vertical-align:-1px}

.tp-date-filter{background:#172b69;color:#fff;padding:18px 15px 15px;border-radius:3px;position:sticky;top:18px}
.tp-date-filter h3{font-size:15px;margin:0 0 16px}
.tp-date-field{height:44px;background:#fff;color:#30394b;border-radius:3px;margin-bottom:10px;display:flex;align-items:center;padding:0 13px;font-size:12px}
.tp-date-field input{border:0;outline:0;width:100%;font:inherit}
.tp-date-filter button{width:100%;height:43px;border:0;border-radius:3px;background:#5272d4;color:#fff;font-weight:700;font-size:12px}

@media(max-width:800px){
 .tp-ticket-topbar .tp-ticket-nav{gap:15px}
 .tp-ticket-search{flex:1}
 .tp-ticket-top-actions .tp-hide-mobile{display:none}
 .tp-event-hero{height:auto}
 .tp-event-hero-inner{grid-template-columns:1fr;padding-top:35px;padding-bottom:35px}
 .tp-event-cover{display:none}
 .tp-events-main{grid-template-columns:1fr}
 .tp-date-filter{grid-row:1;position:static}
}
@media(max-width:540px){
 .tp-ticket-logo{display:none}
 .tp-ticket-top-actions{display:none}
 .tp-event-row{grid-template-columns:75px 1fr}
 .tp-event-btn{grid-column:2;justify-self:start}
}


/* === Animated 5-second Waiting Room === */
.tp-wait-body{margin:0;background:#fff;color:#1d2a3f;font-family:inherit}
.tp-wait-header{height:64px;background:#5272d4;color:#fff;display:flex;align-items:center;padding:0 20px;gap:12px}
.tp-wait-back{font-size:34px;line-height:1;color:#fff;text-decoration:none;font-weight:300}
.tp-wait-event{display:flex;flex-direction:column;gap:4px;font-size:12px}
.tp-wait-event strong{font-size:13px}
.tp-wait-event span{font-size:12px}
.tp-wait-info{margin-left:auto;width:21px;height:21px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800}
.tp-wait-main{min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;padding:210px 20px 60px;text-align:center}
.tp-hourglass{width:46px;height:58px;position:relative;margin-bottom:22px;animation:tpHourglassFlip 1.25s ease-in-out infinite}
.tp-hourglass:before,.tp-hourglass:after{content:"";position:absolute;left:4px;width:38px;height:5px;background:#b9caff;border-radius:5px}
.tp-hourglass:before{top:1px;transform:rotate(-15deg)}.tp-hourglass:after{bottom:1px;transform:rotate(-15deg)}
.tp-hourglass-top,.tp-hourglass-bottom{position:absolute;left:13px;width:22px;height:20px;background:#5272d4;clip-path:polygon(0 0,100% 0,58% 100%,42% 100%)}
.tp-hourglass-top{top:9px;opacity:.35}.tp-hourglass-bottom{bottom:9px;transform:rotate(180deg)}
.tp-hourglass-mid{position:absolute;left:22px;top:26px;width:4px;height:8px;background:#5272d4}
@keyframes tpHourglassFlip{0%,70%{transform:rotate(0)}100%{transform:rotate(180deg)}}
.tp-wait-main h1{font-size:29px;line-height:1.2;margin:0 0 20px;font-weight:800}
.tp-wait-main>p{font-size:15px;line-height:1.35;margin:0 0 47px;color:#1d2a3f}
.tp-progress-wrap{width:min(975px,72vw);position:relative;padding-top:18px}
.tp-progress{height:21px;background:#d5dfef;border-radius:20px;overflow:hidden}
.tp-progress-bar{height:100%;width:0;background:#5272d4;border-radius:20px;transition:width .08s linear}
.tp-percent{position:absolute;top:-24px;left:-20px;background:#fff;border-radius:7px;padding:8px 9px;font-size:12px;box-shadow:0 5px 18px rgba(30,43,67,.13);transition:left .08s linear}
.tp-popular{margin-top:28px;background:#fff;padding:16px 19px;border-radius:7px;box-shadow:0 9px 25px rgba(25,35,50,.13);font-size:12px;color:#33425d}
.tp-popular span{color:#5c9f66;margin-right:8px}
@media(max-width:700px){
 .tp-wait-main{padding-top:145px}
 .tp-wait-event span{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tp-progress-wrap{width:90vw}
 .tp-wait-main h1{font-size:25px}
 .tp-wait-main>p{font-size:14px}
}


.tp-qty-overlay{position:fixed;inset:0;z-index:99999;background:rgba(20,27,35,.53);display:flex;align-items:center;justify-content:center;padding:20px}
.tp-qty-modal{width:350px;max-width:calc(100vw - 30px);background:#fff;border-radius:3px;box-shadow:0 12px 34px rgba(0,0,0,.28);overflow:hidden}
.tp-qty-title{text-align:center;color:#20ad39;font-size:17px;padding:18px 15px 17px;border-bottom:1px solid #ddd;font-weight:500}
.tp-qty-body{padding:29px 36px 40px}.tp-qty-picker{display:flex;align-items:center;justify-content:center;gap:23px;margin-bottom:30px}
.tp-qty-btn{width:41px;height:41px;border:1px solid #2f7df6;background:#fff;color:#2f7df6;border-radius:7px;font-size:25px;cursor:pointer}
.tp-qty-btn:disabled{opacity:.4}.tp-qty-text{min-width:77px;font-size:14px;line-height:1.35;color:#1d2430;text-align:left}.tp-qty-text strong{font-size:15px;font-weight:500}
.tp-qty-submit{display:block;width:178px;height:50px;margin:0 auto;background:#5272d4;border:0;border-radius:3px;color:#fff;font-size:15px;font-weight:600;cursor:pointer}


/* === Stadium/category ticket selection === */
.tp-stadium-screen{position:fixed;inset:0;z-index:99998;background:#f5f8fc;display:grid;grid-template-columns:minmax(0,1fr) 500px;padding-top:0}
.tp-stadium-map{position:relative;overflow:hidden;display:grid;place-items:center;background:#f5f8fc}
.tp-stadium-shell{position:relative;width:min(76vw,900px);aspect-ratio:1.28/1;border:3px solid #d7e1ef;border-radius:48%;background:#fff;transform:scale(.92)}
.tp-ring{position:absolute;border:28px solid #edf1f5;border-radius:48%;inset:5%;box-shadow:inset 0 0 0 2px #b9c8dc,0 0 0 2px #cbd8e8}
.tp-ring-mid{inset:19%;border-width:35px}.tp-ring-inner{inset:33%;border-width:32px}
.tp-pitch{position:absolute;left:39%;top:38%;width:22%;height:25%;background:#43842b;border:2px solid #fff;box-shadow:0 0 0 3px #43842b}
.tp-pitch:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #fff}.tp-pitch:after{content:"";position:absolute;width:34px;height:34px;border:1px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.tp-map-seat{position:absolute;transform:translate(-50%,-50%);border:1px solid #7795ff;background:#aebeff;color:#18263e;padding:4px 6px;min-width:52px;cursor:pointer;z-index:4}
.tp-map-seat b,.tp-map-seat small{display:block;font-size:10px}.tp-map-seat.is-selected{background:#5272d4;color:#fff}
.tp-map-zoom{position:absolute;right:25px;bottom:85px;display:flex;flex-direction:column;box-shadow:0 2px 7px #ccd4df}.tp-map-zoom button{width:45px;height:45px;background:#fff;border:1px solid #d5deea;font-size:18px}
.tp-ticket-panel{background:#fff;border-left:1px solid #e1e7ef;overflow:hidden}
.tp-ticket-filters{height:80px;display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid #e4e9f0}.tp-ticket-filters button,.tp-ticket-filters span,.tp-ticket-filters b{border:1px solid #d8e1ee;border-radius:22px;padding:9px 14px;background:#fff;font-size:13px}.tp-ticket-filters b{background:#172235;color:#fff;border-color:#172235}
.tp-ticket-panel-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #e4e9f0;font-size:13px}
.tp-ticket-list{height:calc(100vh - 128px);overflow:auto;padding:0 22px}
.tp-ticket-option{width:100%;min-height:126px;border:0;border-bottom:1px solid #dfe6ef;background:#fff;display:grid;grid-template-columns:120px 1fr 100px;align-items:center;text-align:left;cursor:pointer;padding:12px 0}.tp-ticket-option:hover,.tp-ticket-option.is-selected{background:#f6f8ff}
.tp-mini-stadium{width:105px;height:82px;background:#f7f9fc;border-radius:5px;display:grid;place-items:center}.tp-mini-stadium:before{content:"";width:70px;height:48px;border:9px solid #d9e2ed;border-radius:45%;box-shadow:0 0 0 4px #5272d4}.tp-mini-stadium i{position:absolute;width:25px;height:15px;background:#4d8d31}
.tp-ticket-name strong,.tp-ticket-name span,.tp-ticket-price strong,.tp-ticket-price span{display:block}.tp-ticket-name strong{font-size:16px;margin-bottom:7px}.tp-ticket-name span,.tp-ticket-price span{font-size:12px}.tp-ticket-price{text-align:right}.tp-ticket-price strong{font-size:16px;margin-bottom:7px}
.tp-ticket-choice{position:fixed;z-index:100000;left:25px;bottom:20px;background:#172b69;color:#fff;padding:13px 16px;border-radius:5px;display:none;align-items:center;gap:28px;box-shadow:0 8px 25px #aeb7c5}.tp-ticket-choice.show{display:flex}.tp-ticket-choice span{display:block;font-size:12px;margin-top:4px}.tp-ticket-choice button{border:0;background:#5272d4;color:#fff;padding:11px 20px;border-radius:4px;font-weight:700}
@media(max-width:850px){.tp-stadium-screen{grid-template-columns:1fr;overflow:auto}.tp-stadium-map{min-height:420px}.tp-ticket-panel{border-left:0}.tp-ticket-list{height:auto}.tp-stadium-shell{width:700px}.tp-ticket-choice{left:12px;right:12px;bottom:12px;justify-content:space-between}}


/* === APIFY LIVE HOMEPAGE === */
.tp-apify-hero{background:#eef4fb;padding:68px 0 62px}.tp-apify-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:50px}
.tp-apify-hero h1{font-size:48px;line-height:1.08;max-width:760px;margin:0 0 18px;color:#182238}.tp-apify-hero p{font-size:18px;color:#5f6877;margin:0 0 28px}
.tp-home-search{height:62px;background:#fff;border-radius:7px;display:flex;max-width:700px;box-shadow:0 4px 20px rgba(41,60,100,.08);padding:5px}.tp-home-search input{flex:1;border:0;outline:0;padding:0 18px;font-size:16px}.tp-home-search button{border:0;background:#5272d4;color:#fff;border-radius:5px;padding:0 28px;font-weight:700;cursor:pointer}
.tp-hero-art{height:260px;display:grid;place-items:center}.tp-hero-ticket{width:245px;height:145px;border:4px solid #5272d4;border-radius:18px;transform:rotate(-8deg);display:grid;place-items:center;font-size:32px;font-weight:900;color:#5272d4;background:#fff;box-shadow:22px 22px 0 #dbe5f7}
.tp-live-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.tp-live-head .tp-section-title{margin-bottom:5px}.tp-live-head p{margin:0;color:#6f7784}.tp-live-head>span{background:#eef3ff;color:#4966c4;padding:8px 13px;border-radius:20px;font-size:13px;font-weight:700}
.tp-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.tp-live-card{background:#fff;border:1px solid #e5e8ee;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:.2s;min-width:0}.tp-live-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(31,45,74,.10)}
.tp-live-image{display:block;aspect-ratio:1.45/1;background:#edf1f6;overflow:hidden}.tp-live-image img{width:100%;height:100%;object-fit:cover}.tp-image-empty{height:100%;display:grid;place-items:center;color:#8390a5;font-weight:800}
.tp-live-body{padding:16px;display:flex;flex-direction:column;flex:1}.tp-live-meta{font-size:12px;color:#717b8d;margin-bottom:7px}.tp-live-body h3{font-size:17px;line-height:1.3;margin:0 0 10px}.tp-live-body h3 a{text-decoration:none;color:#182238}.tp-live-rating{font-size:13px;color:#ef9c00;margin-bottom:17px}.tp-live-rating span{color:#7c8490}
.tp-live-bottom{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:auto}.tp-live-bottom small,.tp-live-bottom strong{display:block}.tp-live-bottom small{font-size:11px;color:#858d99}.tp-live-bottom strong{font-size:16px;color:#182238;margin-top:2px}.tp-live-button{background:#5272d4;color:#fff!important;text-decoration:none;padding:10px 12px;border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}
.tp-empty-events{padding:50px;text-align:center;background:#f7f9fc;border-radius:10px}
@media(max-width:1050px){.tp-live-grid{grid-template-columns:repeat(3,1fr)}.tp-apify-hero h1{font-size:40px}}
@media(max-width:760px){.tp-apify-hero-grid{grid-template-columns:1fr}.tp-hero-art{display:none}.tp-apify-hero{padding:45px 0}.tp-apify-hero h1{font-size:34px}.tp-live-grid{grid-template-columns:repeat(2,1fr)}.tp-live-head{align-items:start;gap:15px}.tp-live-head>span{display:none}}
@media(max-width:520px){.tp-live-grid{grid-template-columns:1fr}.tp-home-search{height:56px}.tp-home-search button{padding:0 18px}}


/* category sections */
.tp-cat-block{margin:0 0 58px}.tp-cat-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;border-bottom:1px solid #e7eaf0;padding-bottom:12px}.tp-cat-title h2{margin:0;font-size:27px}.tp-cat-title span{font-size:13px;color:#6c7481}
.tp-cat-block .tp-live-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
/* checkout */
.tp-checkout-overlay{position:fixed;z-index:999999;inset:0;background:#f5f7fb;overflow:auto;padding:45px 20px}.tp-checkout-wrap{max-width:1050px;margin:auto}.tp-price-lock{background:#eaf8ef;border:1px solid #bce4c9;border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;gap:20px;color:#176b35;margin-bottom:22px}.tp-price-lock strong,.tp-price-lock span{display:block}.tp-price-lock b{font-size:19px}
.tp-checkout-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px}.tp-checkout-form,.tp-order-summary{background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:28px}.tp-checkout-form h1{margin-top:0}.tp-muted{color:#737b88}.tp-checkout-form label{display:block;font-weight:600;font-size:13px;margin:18px 0}.tp-checkout-form input{display:block;width:100%;height:48px;border:1px solid #ccd5e2;border-radius:6px;margin-top:7px;padding:0 12px}.tp-buy-now{width:100%;height:52px;border:0;border-radius:6px;background:#5272d4;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.tp-buy-now:disabled{opacity:.5}
.tp-order-summary h2{margin-top:0}.tp-order-summary>div{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid #e8ebf0}.tp-order-summary .total{font-size:19px}
@media(max-width:850px){.tp-cat-block .tp-live-grid{grid-template-columns:repeat(2,1fr)}.tp-checkout-grid{grid-template-columns:1fr}.tp-price-lock{flex-direction:column}}
@media(max-width:520px){.tp-cat-block .tp-live-grid{grid-template-columns:1fr}}


/* Product detail like activity marketplace */
.tp-product-page{background:#fff;padding:38px 18px 70px}.tp-product-wrap{max-width:1180px;margin:auto}.tp-breadcrumb{font-size:12px;color:#5272d4;margin-bottom:14px}.tp-product-title{font-size:30px;margin:0 0 8px}.tp-product-rating{font-size:13px;margin-bottom:18px}.tp-gallery-price{display:grid;grid-template-columns:1fr 330px;gap:24px}.tp-main-photo{height:430px;border-radius:8px;overflow:hidden;background:#eef1f5}.tp-main-photo img{width:100%;height:100%;object-fit:cover}.tp-about-strip{background:#f1f4fa;padding:18px;margin-top:12px}.tp-about-strip h3{margin:0 0 12px}.tp-about-strip div{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.tp-price-box{height:max-content;border:1px solid #e0e4ea;box-shadow:0 5px 18px rgba(0,0,0,.08);padding:22px}.tp-price-box small,.tp-price-box strong{display:block}.tp-price-box strong{font-size:28px;color:#168a37;margin:5px 0 12px}.tp-price-box li{margin:10px 0;font-size:13px}.tp-price-box a,.tp-date-box button{display:block;background:#5272d4;color:#fff;text-align:center;padding:14px;border-radius:4px;text-decoration:none;border:0;font-weight:700}.tp-description{max-width:790px;padding:28px 0;line-height:1.65;border-bottom:1px solid #ddd}.tp-description h2{font-size:20px}.tp-date-box{max-width:790px;background:#14275e;color:#fff;padding:18px;margin-top:24px;border-radius:5px}.tp-date-box h2{margin:0 0 4px}.tp-date-box p{opacity:.8}.tp-date-box form{display:grid;grid-template-columns:1.2fr 1fr .6fr auto;gap:8px;align-items:end}.tp-date-box label{font-size:11px}.tp-date-box input,.tp-date-box select{display:block;width:100%;height:45px;margin-top:5px;border:0;border-radius:4px;padding:0 10px}.tp-date-box button{height:45px;cursor:pointer}.tp-back{display:inline-block;margin-bottom:20px}.tp-ticket-select-grid{display:grid;grid-template-columns:1fr 330px;gap:24px}.tp-ticket-option{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border:1px solid #dfe4ec;padding:18px;margin-bottom:10px;border-radius:7px}.tp-ticket-option span{display:block;color:#6c7583;font-size:12px;margin-top:4px}.tp-ticket-option a{background:#5272d4;color:#fff;text-decoration:none;padding:10px 18px;border-radius:4px}.tp-mini-summary{border:1px solid #e0e4ea;padding:20px;height:max-content}.tp-price-lock{background:#eaf8ef;border:1px solid #bce4c9;border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;color:#176b35;margin-bottom:22px}.tp-checkout-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px}.tp-checkout-form,.tp-order-summary{border:1px solid #e1e6ee;border-radius:10px;padding:28px}.tp-checkout-form label{display:block;margin:15px 0}.tp-checkout-form input{display:block;width:100%;height:46px;margin-top:6px}.tp-buy-now{width:100%;height:50px;background:#5272d4;color:#fff;border:0}.tp-order-summary>div{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #eee}
@media(max-width:800px){.tp-gallery-price,.tp-ticket-select-grid,.tp-checkout-grid{grid-template-columns:1fr}.tp-date-box form{grid-template-columns:1fr}.tp-main-photo{height:280px}}


/* cities + smarter search */
.tp-cities{padding:54px 0 18px;background:#fff}.tp-cities h2{font-size:28px;margin:0 0 25px}.tp-city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 45px}.tp-city-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:#182238}.tp-city-card img{width:88px;height:88px;object-fit:cover;border-radius:6px}.tp-city-card strong,.tp-city-card span{display:block}.tp-city-card strong{color:#5272d4;font-size:15px}.tp-city-card span{font-size:13px;margin-top:5px;color:#333}
.tp-search-page{padding:45px 0 80px}.tp-search-form{margin:20px 0 32px;border:1px solid #e0e4ea}.tp-search-results{display:flex;flex-direction:column;gap:14px}.tp-search-results article{display:grid;grid-template-columns:180px 1fr;gap:20px;border:1px solid #e1e5ec;border-radius:8px;padding:12px;background:#fff}.tp-search-results article img{width:180px;height:120px;object-fit:cover;border-radius:5px}.tp-search-results h2{font-size:18px;margin:6px 0}.tp-search-results h2 a{text-decoration:none;color:#182238}.tp-search-results small{color:#5272d4}.tp-noresult{padding:25px;background:#f5f7fb;margin-bottom:20px}
@media(max-width:900px){.tp-city-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.tp-city-grid{grid-template-columns:1fr}.tp-search-results article{grid-template-columns:110px 1fr}.tp-search-results article img{width:110px;height:90px}}


/* marketplace card information badges */
.tp-card-features{font-size:12px;margin:7px 0 10px;line-height:1.45}.tp-duration{color:#303746;margin-bottom:5px}.tp-feature{display:inline-block;border-radius:4px;padding:3px 6px;margin-bottom:4px;font-weight:600}.tp-free{background:#e8f8eb;color:#128132}.tp-language{background:#f0f4fa;color:#40516e}.tp-rating-big{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tp-rating-big .tp-stars{color:#f5a000;letter-spacing:-1px}.tp-rating-big b{color:#222}.tp-rating-big>span:last-child{color:#747d8b}
.tp-team-page{background:#fff;min-height:700px}.tp-team-wrap{max-width:1260px;margin:auto;padding-left:24px;padding-right:24px}.tp-team-hero{background:linear-gradient(110deg,#382923,#0b0b0b);color:#fff;padding:36px 0}.tp-team-hero .tp-team-wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.tp-team-hero h1{font-size:32px;margin:0 0 5px}.tp-team-hero img{width:380px;height:140px;object-fit:cover;border-radius:7px}.tp-team-layout{display:grid;grid-template-columns:1fr 360px;gap:55px;padding-top:30px;padding-bottom:70px}.tp-match-row{display:grid;grid-template-columns:115px 1fr 145px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #e8e8e8}.tp-match-date b,.tp-match-date span{display:block}.tp-match-info h3{font-size:17px;margin:0 0 4px}.tp-match-info p{font-size:13px;color:#526078;margin:0 0 5px}.tp-match-info em{font-style:normal;color:#dc4451;font-size:13px}.tp-view-tickets{background:#5272d4;color:#fff!important;text-decoration:none;text-align:center;padding:14px 10px;border-radius:4px;font-weight:700}.tp-team-filter{background:#14275e;color:#fff;padding:20px;height:max-content;border-radius:5px}.tp-team-filter label{display:block;margin:12px 0;font-size:12px}.tp-team-filter input{display:block;width:100%;height:48px;margin-top:6px;border:0;border-radius:4px;padding:0 12px}.tp-team-filter button{width:100%;height:48px;border:0;background:#5272d4;color:#fff;font-weight:700;border-radius:4px}@media(max-width:850px){.tp-team-layout{grid-template-columns:1fr}.tp-team-filter{order:-1}.tp-match-row{grid-template-columns:85px 1fr}.tp-view-tickets{grid-column:2}}


/* === Fixed-date match stadium selector v7 === */
.tp-match-ticket-screen{position:fixed;z-index:999999;inset:0;background:#f3f6fb;overflow:hidden}.tp-match-ticket-head{height:68px;background:#5272d4;color:#fff;display:flex;align-items:center;gap:14px;padding:0 22px}.tp-match-ticket-head>a{font-size:32px;color:#fff;text-decoration:none}.tp-match-ticket-head>div{flex:1}.tp-match-ticket-head strong,.tp-match-ticket-head span{display:block}.tp-match-ticket-head span{font-size:13px;margin-top:4px}.tp-match-ticket-head i{font-style:normal;font-size:22px}
.tp-stadium-layout{height:calc(100vh - 68px);display:grid;grid-template-columns:1fr 480px}.tp-stadium-map{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px;background:#f4f7fb}.tp-north-stands{width:54%;text-align:center;margin-bottom:18px}.tp-north-stands>b{display:block;margin-bottom:8px}.tp-stand-row,.tp-south-stands{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.tp-stand-row span,.tp-side-stands span,.tp-south-stands span{background:#dfe4ec;min-height:30px;display:grid;place-items:center;font-size:11px}.tp-mid-stadium{display:grid;grid-template-columns:110px minmax(400px,520px) 110px;gap:55px;align-items:center}.tp-side-stands{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tp-side-stands span{height:54px}.tp-pitch{height:320px;background:#dfe4ec;border:15px solid #d6dce5;position:relative;box-shadow:inset 0 0 0 1px #fff}.tp-pitch:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #fff}.tp-center-circle{position:absolute;width:100px;height:100px;border:1px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.tp-box{position:absolute;top:28%;width:70px;height:44%;border:1px solid #fff}.tp-box.left{left:0}.tp-box.right{right:0}.tp-south-stands{width:46%;grid-template-columns:repeat(9,1fr);margin-top:20px}
.tp-ticket-sidebar{background:#fff;border-left:1px solid #dde3ec;overflow:auto}.tp-ticket-tools{height:76px;display:flex;gap:10px;align-items:center;padding:0 22px;border-bottom:1px solid #e2e7ef}.tp-ticket-tools>*{border:1px solid #d9e0eb;border-radius:22px;padding:9px 13px}.tp-ticket-tools b{background:#17233d;color:#fff}.tp-ticket-sidebar-title{display:flex;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e2e7ef;font-size:13px}.tp-ticket-list{padding:14px 20px}.tp-sidebar-ticket{display:grid;grid-template-columns:105px 1fr auto;gap:16px;align-items:center;padding:12px 0;text-decoration:none;color:#172033;border-bottom:1px solid #eef1f5}.tp-ticket-thumb{height:90px;background:#f5f7fa;border-radius:8px;display:grid;place-items:center;text-align:center;font-size:11px;color:#697386}.tp-sidebar-ticket strong,.tp-sidebar-ticket span,.tp-ticket-price b,.tp-ticket-price span{display:block}.tp-sidebar-ticket span{font-size:12px;margin-top:5px}.tp-ticket-price{text-align:right}.tp-ticket-price b{font-size:17px}.tp-ticket-price span{font-size:11px}
@media(max-width:900px){.tp-stadium-layout{grid-template-columns:1fr}.tp-stadium-map{display:none}.tp-ticket-sidebar{border-left:0}.tp-match-ticket-screen{overflow:auto}.tp-ticket-sidebar{min-height:calc(100vh - 68px)}}
/* === v9 match quantity + repaired stadium === */
.tp-match-qty-overlay{position:fixed;z-index:999999;inset:0;background:rgba(16,27,49,.48);display:grid;place-items:center;padding:20px}.tp-match-qty-card{width:min(460px,94vw);background:#fff;border-radius:12px;padding:34px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.2)}.tp-match-qty-card h2{font-size:25px;margin:8px 0}.tp-match-qty-card p{color:#6b7482;font-size:13px}.tp-qty-icon{font-size:34px}.tp-qty-control{display:flex;justify-content:center;align-items:center;gap:25px;margin:28px 0}.tp-qty-control button{width:48px;height:48px;border:1px solid #ccd5e2;border-radius:50%;background:#fff;font-size:25px;cursor:pointer}.tp-qty-control strong{font-size:27px;min-width:40px}.tp-qty-continue{width:100%;height:50px;border:0;border-radius:6px;background:#5272d4;color:#fff;font-weight:700;font-size:15px;cursor:pointer}
.tp-stadium-map{box-sizing:border-box;min-width:0;overflow:auto}.tp-mid-stadium{width:min(900px,92%);grid-template-columns:120px minmax(480px,620px) 120px;gap:30px}.tp-pitch{box-sizing:border-box;width:100%!important;height:auto!important;aspect-ratio:1.6/1;min-width:480px;min-height:300px;border:14px solid #d6dce5!important}.tp-north-stands{width:min(760px,80%)}.tp-south-stands{width:min(680px,72%)}.tp-side-stands{grid-template-columns:1fr 1fr}.tp-side-stands span{min-width:48px}.tp-stadium-layout{grid-template-columns:minmax(720px,1fr) 480px}
@media(max-width:1100px){.tp-stadium-layout{grid-template-columns:minmax(600px,1fr) 400px}.tp-mid-stadium{grid-template-columns:90px minmax(400px,1fr) 90px;gap:18px}.tp-pitch{min-width:400px}}
@media(max-width:900px){.tp-stadium-layout{display:block;overflow:auto}.tp-stadium-map{display:flex!important;min-height:620px}.tp-ticket-sidebar{min-height:auto}.tp-mid-stadium{width:760px;grid-template-columns:90px 500px 90px}.tp-pitch{min-width:500px}.tp-north-stands{width:650px}.tp-south-stands{width:600px}}


/* v10 team listing images */
.tp-match-row{grid-template-columns:120px 90px 1fr 145px!important}
.tp-match-img{width:120px;height:82px;object-fit:cover;border-radius:6px;background:#e6ebef}
.tp-team-hero img{background:#233128}
@media(max-width:850px){.tp-match-row{grid-template-columns:100px 80px 1fr!important}.tp-match-img{width:100px;height:72px}.tp-view-tickets{grid-column:3!important}}
@media(max-width:560px){.tp-match-row{grid-template-columns:90px 1fr!important}.tp-match-img{width:90px;height:68px}.tp-match-date{grid-column:2}.tp-match-info{grid-column:1/3}.tp-view-tickets{grid-column:1/3!important}}


/* === v11 large Camp-Nou-style stadium bowl === */
.tp-stadium-layout{grid-template-columns:minmax(0,1fr) 480px!important}
.tp-stadium-map.tp-camp-bowl{padding:18px 24px 28px!important;overflow:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f3f6fb!important}
.tp-bowl-shell{width:min(1080px,96%);min-width:820px;display:flex;flex-direction:column;gap:9px;align-items:center}
.tp-tier{width:100%;display:grid;gap:4px}
.tp-tier button,.tp-goal-tier button{border:1px solid #cbd4df;background:#dfe5ed;color:#26354a;min-height:36px;border-radius:3px;font-size:10px;cursor:pointer;transition:.15s}
.tp-tier button:hover,.tp-goal-tier button:hover{background:#5272d4;color:#fff;border-color:#5272d4;transform:translateY(-1px)}
.tp-tier-top{grid-template-columns:repeat(24,1fr);width:94%}
.tp-tier-upper{grid-template-columns:repeat(20,1fr);width:88%}
.tp-tier-lower{grid-template-columns:repeat(20,1fr);width:88%}
.tp-tier-vip{grid-template-columns:repeat(12,1fr);width:76%}
.tp-stadium-middle{width:100%;display:grid;grid-template-columns:145px minmax(570px,1fr) 145px;gap:12px;align-items:stretch}
.tp-goal-tier{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;align-content:center}
.tp-goal-tier button{min-height:58px}
.tp-pitch{height:auto!important;min-height:390px!important;aspect-ratio:1.55/1!important;width:100%!important;background:repeating-linear-gradient(90deg,#4b9f58 0,#4b9f58 12.5%,#459653 12.5%,#459653 25%)!important;border:9px solid #d1d8e2!important;position:relative!important;box-shadow:inset 0 0 0 3px #fff!important}
.tp-pitch:before{content:""!important;position:absolute!important;left:50%!important;top:0!important;bottom:0!important;border-left:2px solid rgba(255,255,255,.9)!important}
.tp-center-circle{width:116px!important;height:116px!important;border:2px solid #fff!important}
.tp-box{top:27%!important;width:105px!important;height:46%!important;border:2px solid #fff!important}
.tp-goal{position:absolute;top:39%;width:18px;height:22%;border:2px solid #fff}
.tp-goal.g-left{left:-18px}.tp-goal.g-right{right:-18px}
.tp-map-legend{display:flex;gap:18px;margin-top:10px;font-size:11px;color:#607087}
.tp-map-legend span:before{content:"";display:inline-block;width:10px;height:10px;background:#dfe5ed;border:1px solid #cbd4df;margin-right:5px;vertical-align:-1px}
.tp-card-img.tp-sport-fallback{width:100%;height:194px;object-fit:cover;display:block}
@media(max-width:1150px){.tp-stadium-layout{grid-template-columns:1fr 410px!important}.tp-bowl-shell{transform:scale(.9);transform-origin:center}.tp-stadium-middle{grid-template-columns:120px minmax(500px,1fr) 120px}}
@media(max-width:900px){.tp-stadium-layout{display:block!important;overflow:auto!important}.tp-ticket-sidebar{min-height:auto!important}.tp-stadium-map.tp-camp-bowl{display:flex!important;min-height:650px!important}.tp-bowl-shell{transform:scale(.78)}}


/* === v12 stadium positioning reset: one centered bowl around the pitch === */
.tp-stadium-map.tp-camp-bowl{
  display:block!important;
  padding:24px 18px 34px!important;
  overflow:auto!important;
}
.tp-bowl-shell{
  width:1000px!important;
  min-width:1000px!important;
  height:700px!important;
  margin:0 auto!important;
  position:relative!important;
  display:block!important;
  transform:none!important;
}
.tp-stadium-middle{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:900px!important;
  height:430px!important;
  display:block!important;
}
.tp-pitch{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:660px!important;
  height:390px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  margin:0!important;
}
.tp-goal-tier{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:105px!important;
  height:350px!important;
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:5px!important;
  align-content:center!important;
}
.tp-goal-tier.left{left:0!important}
.tp-goal-tier.right{right:0!important}
.tp-goal-tier button{min-height:76px!important}
.tp-tier{
  position:absolute!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  display:grid!important;
  gap:4px!important;
  margin:0!important;
}
.tp-tier-top{top:0!important;width:94%!important;grid-template-columns:repeat(24,1fr)!important}
.tp-tier-upper{top:48px!important;width:86%!important;grid-template-columns:repeat(20,1fr)!important}
.tp-tier-lower{bottom:50px!important;width:86%!important;grid-template-columns:repeat(20,1fr)!important}
.tp-tier-vip{bottom:5px!important;width:72%!important;grid-template-columns:repeat(12,1fr)!important}
.tp-tier button{min-width:0!important;padding:0 2px!important}
.tp-map-legend{position:absolute!important;bottom:-28px!important;left:50%!important;transform:translateX(-50%)!important;white-space:nowrap!important}
@media(max-width:1250px){
 .tp-bowl-shell{transform:scale(.86)!important;transform-origin:top center!important;margin-bottom:-95px!important}
}
@media(max-width:1050px){
 .tp-stadium-layout{grid-template-columns:minmax(0,1fr) 390px!important}
 .tp-bowl-shell{transform:scale(.72)!important;margin-bottom:-190px!important}
}
@media(max-width:900px){
 .tp-stadium-layout{display:block!important}
 .tp-stadium-map.tp-camp-bowl{min-height:570px!important}
 .tp-bowl-shell{transform:scale(.68)!important;margin-bottom:-215px!important}
}

/* v13 event fallback images */
.tp-card-img.tp-sport-fallback,.tp-card img.tp-sport-fallback,.event-card img.tp-sport-fallback{
 width:100%!important;height:194px!important;display:block!important;object-fit:cover!important;background:#183222!important;
}

/* v14 */.tp-lang-form select{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:18px;padding:7px 10px}.tp-lang-form option{color:#172033;background:#fff}.tp-match-qty-overlay{background:linear-gradient(rgba(243,246,251,.68),rgba(243,246,251,.68)),url("assets/images/football-stadium-fallback.jpg") center/cover no-repeat!important}.tp-match-qty-card{box-shadow:0 18px 55px rgba(15,32,60,.28)!important}


/* === v16 single language selector === */
.tp-language-menu{position:relative}
.tp-language-current{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:#fff;font:inherit;cursor:pointer;padding:9px 8px}
.tp-language-flag{font-size:18px;line-height:1}
.tp-language-arrow{opacity:.85;margin-left:2px}
.tp-language-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:230px;max-height:420px;overflow:auto;background:#fff;border:1px solid #e0e5ee;border-radius:10px;box-shadow:0 14px 40px rgba(20,35,65,.2);padding:7px;z-index:999999}
.tp-language-dropdown.open{display:block}
.tp-language-dropdown a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:#172033;text-decoration:none;font-size:13px}
.tp-language-dropdown a:hover,.tp-language-dropdown a.active{background:#eef3ff;color:#4166cf}
.tp-language-dropdown a span:first-child{font-size:18px;width:24px}
.tp-lang-form{display:none!important}


/* === v17 Hellotickets-like live search === */
.tp-live-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #dfe4ed;box-shadow:0 14px 35px rgba(19,34,60,.18);z-index:999999;text-align:left;max-height:520px;overflow:auto}
.tp-live-results.open{display:block}
.tp-live-item{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:10px 15px;text-decoration:none;color:#172033;border-bottom:1px solid #edf0f5}
.tp-live-item:last-child{border-bottom:0}.tp-live-item:hover{background:#f5f7fb}
.tp-live-item img,.tp-live-pin{width:46px;height:46px;border-radius:5px;object-fit:cover;background:#eef2f7;display:grid;place-items:center;font-size:21px}
.tp-live-copy b{display:block;font-size:15px;font-weight:700}.tp-live-copy small{display:block;color:#8a93a3;font-size:12px;margin-top:3px}
.tp-live-type{font-size:10px;border-radius:12px;background:#edf2ff;color:#5272d4;padding:4px 8px}
.tp-live-empty{padding:18px;color:#778196}
@media(max-width:650px){.tp-live-results{position:fixed;left:12px;right:12px;top:75px;max-height:70vh}.tp-live-type{display:none}}


/* === v18 Hellotickets-style oval stadium === */
.tp-stadium-map.tp-oval-stadium{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;overflow:hidden!important;background:#f4f7fb!important}
.tp-oval-shell{position:relative;width:min(1020px,96%);aspect-ratio:1.35/1;margin:auto}
.tp-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid #aeb9c8;border-radius:50%;display:block}
.tp-ring button{position:absolute;left:50%;top:50%;width:38px;height:30px;margin:-15px -19px;border:1px solid #aeb9c8;background:#dce2ea;color:#435166;font-size:8px;border-radius:2px;cursor:pointer}
.tp-ring button:hover{background:#5272d4;color:#fff}
.ring-outer{width:96%;height:94%}.ring-mid{width:79%;height:77%}.ring-inner{width:63%;height:61%}.ring-lower{width:48%;height:47%}
.ring-outer button:nth-child(n){--rx:480px;--ry:335px}.ring-mid button:nth-child(n){--rx:390px;--ry:270px}.ring-inner button:nth-child(n){--rx:305px;--ry:210px}.ring-lower button:nth-child(n){--rx:225px;--ry:155px}
.tp-ring button:nth-child(1){transform:rotate(0.0deg) translate(var(--rx)) rotate(-0.0deg)}
.tp-ring button:nth-child(2){transform:rotate(7.5deg) translate(var(--rx)) rotate(-7.5deg)}
.tp-ring button:nth-child(3){transform:rotate(15.0deg) translate(var(--rx)) rotate(-15.0deg)}
.tp-ring button:nth-child(4){transform:rotate(22.5deg) translate(var(--rx)) rotate(-22.5deg)}
.tp-ring button:nth-child(5){transform:rotate(30.0deg) translate(var(--rx)) rotate(-30.0deg)}
.tp-ring button:nth-child(6){transform:rotate(37.5deg) translate(var(--rx)) rotate(-37.5deg)}
.tp-ring button:nth-child(7){transform:rotate(45.0deg) translate(var(--rx)) rotate(-45.0deg)}
.tp-ring button:nth-child(8){transform:rotate(52.5deg) translate(var(--rx)) rotate(-52.5deg)}
.tp-ring button:nth-child(9){transform:rotate(60.0deg) translate(var(--rx)) rotate(-60.0deg)}
.tp-ring button:nth-child(10){transform:rotate(67.5deg) translate(var(--rx)) rotate(-67.5deg)}
.tp-ring button:nth-child(11){transform:rotate(75.0deg) translate(var(--rx)) rotate(-75.0deg)}
.tp-ring button:nth-child(12){transform:rotate(82.5deg) translate(var(--rx)) rotate(-82.5deg)}
.tp-ring button:nth-child(13){transform:rotate(90.0deg) translate(var(--rx)) rotate(-90.0deg)}
.tp-ring button:nth-child(14){transform:rotate(97.5deg) translate(var(--rx)) rotate(-97.5deg)}
.tp-ring button:nth-child(15){transform:rotate(105.0deg) translate(var(--rx)) rotate(-105.0deg)}
.tp-ring button:nth-child(16){transform:rotate(112.5deg) translate(var(--rx)) rotate(-112.5deg)}
.tp-ring button:nth-child(17){transform:rotate(120.0deg) translate(var(--rx)) rotate(-120.0deg)}
.tp-ring button:nth-child(18){transform:rotate(127.5deg) translate(var(--rx)) rotate(-127.5deg)}
.tp-ring button:nth-child(19){transform:rotate(135.0deg) translate(var(--rx)) rotate(-135.0deg)}
.tp-ring button:nth-child(20){transform:rotate(142.5deg) translate(var(--rx)) rotate(-142.5deg)}
.tp-ring button:nth-child(21){transform:rotate(150.0deg) translate(var(--rx)) rotate(-150.0deg)}
.tp-ring button:nth-child(22){transform:rotate(157.5deg) translate(var(--rx)) rotate(-157.5deg)}
.tp-ring button:nth-child(23){transform:rotate(165.0deg) translate(var(--rx)) rotate(-165.0deg)}
.tp-ring button:nth-child(24){transform:rotate(172.5deg) translate(var(--rx)) rotate(-172.5deg)}
.tp-ring button:nth-child(25){transform:rotate(180.0deg) translate(var(--rx)) rotate(-180.0deg)}
.tp-ring button:nth-child(26){transform:rotate(187.5deg) translate(var(--rx)) rotate(-187.5deg)}
.tp-ring button:nth-child(27){transform:rotate(195.0deg) translate(var(--rx)) rotate(-195.0deg)}
.tp-ring button:nth-child(28){transform:rotate(202.5deg) translate(var(--rx)) rotate(-202.5deg)}
.tp-ring button:nth-child(29){transform:rotate(210.0deg) translate(var(--rx)) rotate(-210.0deg)}
.tp-ring button:nth-child(30){transform:rotate(217.5deg) translate(var(--rx)) rotate(-217.5deg)}
.tp-ring button:nth-child(31){transform:rotate(225.0deg) translate(var(--rx)) rotate(-225.0deg)}
.tp-ring button:nth-child(32){transform:rotate(232.5deg) translate(var(--rx)) rotate(-232.5deg)}
.tp-ring button:nth-child(33){transform:rotate(240.0deg) translate(var(--rx)) rotate(-240.0deg)}
.tp-ring button:nth-child(34){transform:rotate(247.5deg) translate(var(--rx)) rotate(-247.5deg)}
.tp-ring button:nth-child(35){transform:rotate(255.0deg) translate(var(--rx)) rotate(-255.0deg)}
.tp-ring button:nth-child(36){transform:rotate(262.5deg) translate(var(--rx)) rotate(-262.5deg)}
.tp-ring button:nth-child(37){transform:rotate(270.0deg) translate(var(--rx)) rotate(-270.0deg)}
.tp-ring button:nth-child(38){transform:rotate(277.5deg) translate(var(--rx)) rotate(-277.5deg)}
.tp-ring button:nth-child(39){transform:rotate(285.0deg) translate(var(--rx)) rotate(-285.0deg)}
.tp-ring button:nth-child(40){transform:rotate(292.5deg) translate(var(--rx)) rotate(-292.5deg)}
.tp-ring button:nth-child(41){transform:rotate(300.0deg) translate(var(--rx)) rotate(-300.0deg)}
.tp-ring button:nth-child(42){transform:rotate(307.5deg) translate(var(--rx)) rotate(-307.5deg)}
.tp-ring button:nth-child(43){transform:rotate(315.0deg) translate(var(--rx)) rotate(-315.0deg)}
.tp-ring button:nth-child(44){transform:rotate(322.5deg) translate(var(--rx)) rotate(-322.5deg)}
.tp-ring button:nth-child(45){transform:rotate(330.0deg) translate(var(--rx)) rotate(-330.0deg)}
.tp-ring button:nth-child(46){transform:rotate(337.5deg) translate(var(--rx)) rotate(-337.5deg)}
.tp-ring button:nth-child(47){transform:rotate(345.0deg) translate(var(--rx)) rotate(-345.0deg)}
.tp-ring button:nth-child(48){transform:rotate(352.5deg) translate(var(--rx)) rotate(-352.5deg)}
.tp-oval-pitch{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:39%;height:29%;background:repeating-linear-gradient(90deg,#397f2b 0,#397f2b 12.5%,#327527 12.5%,#327527 25%);border:2px solid #fff;box-shadow:0 0 0 8px #c9d1dc}
.tp-oval-pitch:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #fff}.tp-circle{position:absolute;width:62px;height:62px;border:1px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.tp-pa{position:absolute;top:27%;width:15%;height:46%;border:1px solid #fff}.tp-pa.l{left:0}.tp-pa.r{right:0}
.tp-match-qty-overlay{position:fixed!important;inset:0!important;z-index:1000001!important;background:rgba(16,25,39,.50)!important;display:flex!important;align-items:center!important;justify-content:center!important;backdrop-filter:none!important}
.tp-match-qty-card{background:#fff!important;width:320px!important;max-width:calc(100vw - 30px)!important;border-radius:2px!important;padding:0 0 28px!important;text-align:center!important;box-shadow:0 15px 45px rgba(0,0,0,.25)!important}
.tp-match-qty-card h2{font-size:16px!important;font-weight:500!important;color:#2e9c36!important;border-bottom:1px solid #e2e5e9!important;padding:18px 12px!important;margin:0 0 22px!important}
@media(max-width:1050px){.tp-oval-shell{min-width:820px;transform:scale(.82)}}


/* === v19 checkout funnel === */
.tp-ticket-detail-screen{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,1fr) 470px;background:#f3f6fb}
.tp-ticket-detail-map{position:relative;background:#f3f6fb}.tp-mini-stadium{position:absolute;inset:8% 10%;border:3px solid #cad5e5;border-radius:48%;background:repeating-radial-gradient(ellipse at center,#dce5f2 0 15px,#f4f7fb 16px 34px);display:grid;place-items:center}.tp-mini-field{width:34%;height:28%;background:#3d842d;border:3px solid #fff}.tp-ticket-detail-panel{background:#fff;padding:48px 28px 22px;display:flex;flex-direction:column;gap:10px}.tp-ticket-detail-panel h2{font-size:20px}.tp-info-note,.tp-safe-note{padding:18px;background:#f2f5f9;margin-top:10px}.tp-info-note{background:#fff6df}.tp-event-mini{border-top:1px solid #e3e7ee;padding-top:18px;display:grid;gap:5px}.tp-next-step{margin-top:auto;background:#5272d4;color:#fff!important;text-align:center;text-decoration:none;padding:15px;font-weight:700}
.tp-lock-modal{position:fixed;inset:0;background:rgba(22,31,44,.58);z-index:1000002;display:flex;align-items:center;justify-content:center}.tp-lock-modal>div{width:425px;max-width:calc(100vw - 30px);background:#fff;padding:36px 24px 24px;text-align:center;border-radius:10px}.tp-lock-modal h2{font-size:20px;max-width:330px;margin:20px auto}.tp-lock-modal p{color:#556174}.tp-lock-modal button{width:100%;border:0;background:#5272d4;color:#fff;padding:14px;font-weight:700;margin-top:18px}.tp-lock-icon{font-size:28px}
.tp-contact-checkout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);max-width:1300px;margin:auto;min-height:calc(100vh - 80px)}.tp-contact-checkout>main{padding:45px 55px;border-right:1px solid #dbe1ea}.tp-order-summary{padding:35px 34px}.tp-order-summary img{width:100%;height:235px;object-fit:cover;border-radius:12px}.tp-order-summary h2{font-size:20px;margin:22px 0 8px}.tp-order-summary span{float:right;background:#f0f4fa;padding:9px 12px}.tp-benefit{clear:both;border-top:1px solid #e2e6ed;padding:22px 0;font-weight:600}.tp-lock-banner{display:flex;gap:14px;background:#fff7e7;padding:18px;margin-bottom:32px}.tp-lock-banner small{display:block;margin-top:4px}.tp-contact-checkout h1{font-size:27px}.tp-contact-checkout form,.tp-card-form{display:grid;gap:16px;margin-top:30px}.tp-contact-checkout label{display:grid;gap:7px;font-size:13px}.tp-contact-checkout input,.tp-contact-checkout select{width:100%;height:50px;border:1px solid #cfd8e7;border-radius:8px;padding:0 12px;background:#fff}.tp-form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tp-terms{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}.tp-terms input{width:20px;height:20px}.tp-contact-continue{width:300px;max-width:100%;padding:15px;border:0;background:#5272d4;color:#fff;font-weight:700;border-radius:3px}.tp-payment-methods{border:1px solid #cfd8e7;border-radius:10px;overflow:hidden;margin:25px 0 34px}.tp-payment-methods label{display:flex!important;align-items:center!important;gap:14px;padding:18px;border-bottom:1px solid #dce2eb;font-size:15px}.tp-payment-methods label:last-child{border:0}.tp-payment-methods input{width:20px;height:20px}.tp-summary-price{display:flex;justify-content:space-between;margin:20px 0}.tp-api-note{font-size:12px;color:#788397;margin-top:18px}
@media(max-width:850px){.tp-ticket-detail-screen,.tp-contact-checkout{grid-template-columns:1fr}.tp-ticket-detail-map{min-height:420px}.tp-contact-checkout>main{padding:25px 18px;border:0}.tp-order-summary{padding:20px 18px}.tp-form-two{grid-template-columns:1fr}}


/* === v20 final stadium + flow override === */
.tp-stadium-map.tp-oval-stadium{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:calc(100vh - 72px)!important;padding:22px!important;background:#f4f7fb!important;overflow:hidden!important}
.tp-oval-shell{position:relative!important;width:min(1050px,92vw)!important;height:min(740px,76vw)!important;aspect-ratio:auto!important;margin:0 auto!important;transform:none!important}
.tp-ring{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;border:3px solid #c5d2e4!important;border-radius:50%!important}
.tp-ring button{position:absolute!important;width:40px!important;height:32px!important;margin:-16px -20px!important;background:#e4e9f0!important;border:1px solid #aebdce!important;border-radius:2px!important;color:#596679!important;font-size:9px!important}
.ring-outer{width:96%!important;height:94%!important}.ring-mid{width:78%!important;height:76%!important}.ring-inner{width:61%!important;height:59%!important}.ring-lower{width:45%!important;height:43%!important}
.tp-oval-pitch{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:37%!important;height:28%!important;background:repeating-linear-gradient(90deg,#39832d 0,#39832d 12.5%,#327829 12.5%,#327829 25%)!important;border:2px solid #fff!important;box-shadow:0 0 0 8px #c9d3df!important;z-index:10!important}
.tp-match-layout{grid-template-columns:minmax(0,1fr) 430px!important}
.tp-ticket-sidebar{width:430px!important;max-width:430px!important}


/* === v21 stadium reference + correct quantity overlay === */
.tp-header{z-index:2000005!important}
.tp-language-menu{z-index:2000010!important;pointer-events:auto!important}
.tp-language-current{pointer-events:auto!important;position:relative!important;z-index:2000011!important}
.tp-language-dropdown{z-index:2000012!important}
.tp-reference-stadium{background:#f5f8fc!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:calc(100vh - 70px)!important;padding:12px 18px!important;overflow:hidden!important}
.tp-reference-stadium img{display:block!important;width:100%!important;height:calc(100vh - 94px)!important;object-fit:contain!important;object-position:center center!important}
.tp-qty-over-stadium{position:fixed!important;inset:0!important;background:rgba(22,31,44,.55)!important;z-index:2000000!important;display:flex!important;align-items:center!important;justify-content:center!important}
.tp-qty-over-stadium .tp-match-qty-card{width:320px!important;background:#fff!important}
.tp-stadium-layout{grid-template-columns:minmax(0,1fr) 430px!important}
.tp-ticket-sidebar{width:430px!important;max-width:430px!important;background:#fff!important}
@media(max-width:900px){
 .tp-stadium-layout{display:block!important}
 .tp-ticket-sidebar{width:100%!important;max-width:none!important}
 .tp-reference-stadium{min-height:520px!important}
 .tp-reference-stadium img{height:auto!important;max-height:500px!important}
}

/* === v22 language + inline ticket detail === */
.tp-language-dropdown{width:260px!important;grid-template-columns:1fr!important;padding:8px!important;max-height:460px!important;overflow-y:auto!important}
.tp-language-dropdown.open{display:block!important}.tp-language-dropdown a{display:flex!important;width:100%!important;align-items:center!important;gap:12px!important;color:#172033!important;background:#fff!important;padding:10px 12px!important;white-space:nowrap!important;font-size:14px!important}.tp-language-dropdown a:hover,.tp-language-dropdown a.active{background:#eef3ff!important;color:#3156bd!important}.tp-language-dropdown a span:first-child{width:26px!important;font-size:19px!important}.tp-language-dropdown a span:last-child{display:inline!important;opacity:1!important;color:inherit!important}
.tp-sidebar-ticket{width:100%;border:0;background:#fff;text-align:left;cursor:pointer;font:inherit}.tp-sidebar-ticket:hover{background:#f7f9fc}
.tp-selected-ticket{position:relative;padding:18px 20px 90px;background:#fff}.tp-selected-ticket[hidden]{display:none!important}.tp-detail-back{position:absolute;left:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.14);font-size:30px;z-index:2}.tp-detail-map{width:100%;height:210px;object-fit:contain;background:#f5f8fc;margin-bottom:18px}.tp-selected-ticket h2{margin:0 0 8px}.tp-green{color:#0a9b2b}.tp-home-note,.tp-seat-note{padding:16px;margin:18px 0}.tp-home-note{background:#fff6df}.tp-seat-note{background:#f0f4fa}.tp-home-note p,.tp-seat-note p,.tp-detail-benefit p{font-size:13px;line-height:1.5;margin:7px 0 0}.tp-detail-benefit{display:flex;gap:14px;padding:18px 4px;border-top:1px solid #e3e7ee}.tp-sticky-next{position:sticky;bottom:0;display:block;margin:18px -4px -70px;padding:15px;background:#5272d4;color:#fff!important;text-align:center;text-decoration:none;font-weight:700}

/* === v23 clean ticket screen + language dropdown === */
body.tp-match-mode > .tp-header,body.tp-match-mode > .tp-inspiration,body.tp-match-mode > .tp-footer{display:none!important}
body.tp-match-mode .tp-product-page,body.tp-match-mode .tp-product-wrap{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
body.tp-match-mode .tp-match-ticket-screen{position:fixed!important;inset:0!important;z-index:100000!important;background:#f4f7fb!important;overflow:hidden!important}
body.tp-match-mode .tp-match-ticket-head{height:70px!important;position:relative!important;z-index:4!important}
body.tp-match-mode .tp-stadium-layout{height:calc(100vh - 70px)!important}
body.tp-match-mode .tp-reference-stadium{height:calc(100vh - 70px)!important;min-height:0!important}
body.tp-match-mode .tp-reference-stadium img{height:100%!important;max-height:none!important}
.tp-language-dropdown{width:270px!important;max-height:520px!important;overflow-y:auto!important;padding:8px!important;grid-template-columns:1fr!important}
.tp-language-dropdown a{display:grid!important;grid-template-columns:32px 1fr!important;align-items:center!important;gap:10px!important;padding:9px 10px!important;white-space:nowrap!important;color:#172033!important;text-decoration:none!important}
.tp-language-dropdown a span:first-child{font-size:19px!important;line-height:1!important}.tp-language-dropdown a:hover,.tp-language-dropdown a.active{background:#f1f5fb!important;border-radius:6px!important}
