/*
 * TicketPrague Luxury Polish 2026
 * Visual-only production layer. No checkout, event, stock or ticket logic.
 */
:root{
  --tp-lux-gold:#d7b45a;
  --tp-lux-gold-soft:#f0d995;
  --tp-lux-ink:#070707;
  --tp-lux-panel:#0d0d0e;
  --tp-lux-panel-2:#121214;
  --tp-lux-line:rgba(255,255,255,.105);
  --tp-lux-muted:rgba(255,255,255,.66);
  --tp-lux-shadow:0 28px 80px rgba(0,0,0,.34);
  --tp-lux-radius:18px;
}

/* premium surface rhythm */
body{
  background:
    radial-gradient(1000px 480px at 50% -160px,rgba(215,180,90,.075),transparent 68%),
    #070707;
  text-rendering:optimizeLegibility;
}
.tp-main{overflow:clip}
.tp-shell{width:min(1240px,calc(100% - 48px))}
::selection{background:rgba(215,180,90,.28);color:#fff}

/* header: quieter, sharper, more expensive */
.tp-desktop-header{
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  box-shadow:0 12px 40px rgba(0,0,0,.16);
  backdrop-filter:saturate(120%) blur(18px);
  -webkit-backdrop-filter:saturate(120%) blur(18px);
}
.tp-brand img{filter:drop-shadow(0 5px 16px rgba(0,0,0,.22))}
.tp-header__nav a{
  position:relative;
  letter-spacing:.035em;
  transition:color .2s ease,opacity .2s ease;
}
.tp-header__nav a::after{
  content:"";
  position:absolute;left:50%;right:50%;bottom:-10px;height:1px;
  background:linear-gradient(90deg,transparent,var(--tp-lux-gold),transparent);
  transition:left .22s ease,right .22s ease;
}
.tp-header__nav a:hover::after,.tp-header__nav .current-menu-item>a::after{left:8%;right:8%}
.tp-icon-btn,.tp-cart-btn{
  border-color:rgba(255,255,255,.12)!important;
  transition:transform .2s ease,border-color .2s ease,background .2s ease!important;
}
.tp-icon-btn:hover,.tp-cart-btn:hover{transform:translateY(-1px);border-color:rgba(215,180,90,.42)!important}

/* editorial headings */
.tp-kicker,.tp-badge,.tp-seat-badge,.tp-sale-live{
  letter-spacing:.12em!important;
}
h1,h2,h3{letter-spacing:-.025em}
.tp-event-purchase-v362__intro h1{max-width:1050px}

/* event grid/card luxury treatment */
.tp-event-card{
  border:1px solid var(--tp-lux-line)!important;
  border-radius:var(--tp-lux-radius)!important;
  background:linear-gradient(180deg,rgba(20,20,22,.98),rgba(10,10,11,.99))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s ease,box-shadow .28s ease!important;
}
.tp-event-card:hover{
  transform:translateY(-5px);
  border-color:rgba(215,180,90,.30)!important;
  box-shadow:0 30px 72px rgba(0,0,0,.34)!important;
}
.tp-event-card__image{overflow:hidden}
.tp-event-card__image>img{
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
}
.tp-event-card:hover .tp-event-card__image>img{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}
.tp-event-card__shade{
  background:linear-gradient(180deg,rgba(0,0,0,.04) 30%,rgba(0,0,0,.78) 100%)!important;
}
.tp-event-card__date{
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(8,8,9,.82)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.tp-event-card__clubs span{
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.26)!important;
}
.tp-event-card__official img{filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))}
.tp-event-card__body{background:transparent!important}
.tp-event-card__body h3 a{transition:color .2s ease}
.tp-event-card:hover .tp-event-card__body h3 a{color:var(--tp-lux-gold-soft)!important}
.tp-event-card__time{font-weight:650!important}
.tp-event-card__venue{color:var(--tp-lux-muted)!important}
.tp-card-bottom{
  border-top:1px solid rgba(255,255,255,.075)!important;
  margin-top:18px!important;padding-top:16px!important;
}
.tp-mini-btn{
  border-radius:999px!important;
  border:1px solid rgba(215,180,90,.34)!important;
  background:rgba(215,180,90,.07)!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.tp-mini-btn:hover{background:rgba(215,180,90,.14)!important;border-color:rgba(215,180,90,.6)!important;transform:translateX(2px)}

/* event detail: prestige without touching data/commerce */
.tp-event-purchase-v362__intro{
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.tp-event-purchase-v362__intro::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,180,90,.45),transparent);
  pointer-events:none;
}
.tp-event-matchcard-v362{
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:22px!important;
  box-shadow:var(--tp-lux-shadow)!important;
  overflow:hidden;
}
.tp-event-matchcard-v362__veil{
  background:
    radial-gradient(circle at 50% 30%,rgba(215,180,90,.11),transparent 34%),
    linear-gradient(180deg,rgba(4,4,5,.18),rgba(4,4,5,.84))!important;
}
.tp-event-matchcard-v362__crest{
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.28)!important;
}
.tp-event-matchcard-v362__versus{
  border:1px solid rgba(215,180,90,.34)!important;
  background:rgba(7,7,7,.66)!important;
  color:var(--tp-lux-gold-soft)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.tp-event-matchcard-v362__meta{
  border-top:1px solid rgba(255,255,255,.10)!important;
  background:rgba(5,5,6,.42)!important;
  backdrop-filter:blur(10px);
}
.tp-buybox{
  border:1px solid rgba(215,180,90,.20)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(19,19,20,.98),rgba(9,9,10,.99))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.30)!important;
}
.tp-buybox::before{
  content:"";display:block;height:1px;margin:-1px -1px 22px;
  background:linear-gradient(90deg,transparent,rgba(215,180,90,.72),transparent);
}
.tp-buybox dl>div{border-color:rgba(255,255,255,.075)!important}
.tp-btn--primary,.single_add_to_cart_button,.checkout-button,.woocommerce #place_order{
  border-radius:12px!important;
  box-shadow:0 12px 32px rgba(180,137,37,.16)!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.tp-btn--primary:hover,.single_add_to_cart_button:hover,.checkout-button:hover,.woocommerce #place_order:hover{
  transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 18px 40px rgba(180,137,37,.23)!important;
}

/* checkout/account: financial-service cleanliness */
.woocommerce form.checkout,
.woocommerce-cart-form,
.woocommerce .cart_totals,
.woocommerce .woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content{
  border-radius:18px!important;
}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea{
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.woocommerce input.input-text:focus,.woocommerce select:focus,.woocommerce textarea:focus{
  border-color:rgba(215,180,90,.55)!important;
  box-shadow:0 0 0 3px rgba(215,180,90,.10)!important;
  outline:none!important;
}

/* trust/legal cards */
.tp-trust-page .tp-trust-card,.tp-support-page .tp-trust-card,
.tp-legal-page .tp-trust-card{
  border-color:rgba(255,255,255,.10)!important;
  background:linear-gradient(180deg,rgba(19,19,20,.96),rgba(10,10,11,.98))!important;
  box-shadow:0 18px 50px rgba(0,0,0,.20)!important;
}

/* footer: luxury, but restrained */
.tp-footer{
  position:relative;
  border-top:1px solid rgba(255,255,255,.08)!important;
  background:
    radial-gradient(720px 300px at 18% 0,rgba(215,180,90,.065),transparent 70%),
    #080809!important;
}
.tp-footer::before{
  content:"";position:absolute;top:-1px;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(215,180,90,.45),transparent);
}
.tp-footer__col>a{transition:color .2s ease,transform .2s ease}
.tp-footer__col>a:hover{color:var(--tp-lux-gold-soft)!important;transform:translateX(2px)}
.tp-footer__transparency{
  border-top:1px solid rgba(255,255,255,.075)!important;
  margin-top:28px!important;padding-top:24px!important;
}

/* keyboard accessibility stays premium */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--tp-lux-gold)!important;
  outline-offset:3px!important;
}

/* mobile polish */
@media(max-width:900px){
  .tp-shell{width:min(100% - 28px,1240px)}
  .tp-mobile-header-simple__bar{
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .tp-event-card{border-radius:16px!important}
  .tp-event-card:hover{transform:none}
  .tp-event-matchcard-v362{border-radius:18px!important}
  .tp-buybox{border-radius:17px!important}
}
@media(max-width:560px){
  .tp-shell{width:min(100% - 22px,1240px)}
  .tp-event-card__body{padding-left:17px!important;padding-right:17px!important}
  .tp-card-bottom{gap:10px!important}
  .tp-mini-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
