/* TicketEvent public website. The dashboard uses its own layout and stylesheet. */
:root{--te-paper:#f6f5ef;--te-ink:#222720;--te-muted:#62675e;--te-line:#dedfd5;--te-pink:#c42c59;--te-lime:#d5ed8c;--te-white:#fff;--te-radius:18px}
body.te-site{font-family:'Manrope','Open Sans',sans-serif;color:var(--te-ink);background:var(--te-paper);font-size:15px;line-height:1.7}
.te-site h1,.te-site h2,.te-site h3,.te-site h4,.te-site .te-wordmark{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:700;letter-spacing:-.045em;color:var(--te-ink);line-height:1.12}
.te-site h1{font-size:clamp(32px,4.4vw,58px)}.te-site h2{font-size:32px}.te-site h3{font-size:23px}.te-site h4{font-size:20px}
.te-site a{color:var(--te-pink)}.te-site a:hover{color:#9a173e}.te-site a,.te-site button{touch-action:manipulation}
.te-site a:focus-visible,.te-site button:focus-visible,.te-site input:focus-visible,.te-site select:focus-visible{outline:3px solid #48722b;outline-offset:4px}
.te-site .container{width:100%;max-width:1240px;padding-left:32px;padding-right:32px}
.te-site .mainpage{background:none;min-height:0;padding:42px 0 56px}
.te-site .content{margin:0;background:var(--te-white);border:1px solid var(--te-line);border-radius:var(--te-radius);padding:36px;box-shadow:0 5px 0 rgba(34,39,32,.025);overflow-wrap:anywhere}
.te-site .content:after{content:'';display:table;clear:both}.te-site .content>h1:first-child,.te-site .content>h2:first-child,.te-site .content>h3:first-child{margin-top:0}
.te-site .content img{max-width:100%;height:auto}.te-site .thumbnail{border-color:var(--te-line);border-radius:12px;padding:14px;background:#fff}
.te-site .breadcrumb{background:none;padding:0 0 18px;margin-bottom:24px;border-bottom:1px solid var(--te-line);font-size:12px}
.te-site .form-control{height:48px;border:1px solid #c9cdbf;border-radius:9px;box-shadow:none;padding:10px 14px;font-size:15px;color:var(--te-ink);background:#fff}
.te-site textarea.form-control{height:auto;min-height:130px}.te-site .form-control:focus{border-color:#647d43;box-shadow:0 0 0 3px rgba(125,155,76,.14)}
.te-site label{font-size:13px;font-weight:700}.te-site .form-group{margin-bottom:22px}.te-site .checkbox label,.te-site .radio label{font-weight:400}
.te-site .btn{border-radius:9px;padding:11px 19px;font-size:14px;font-weight:700;line-height:1.6;white-space:normal;box-shadow:none;transition:background .16s,transform .16s}
.te-site .btn-success,.te-site .btn-primary{color:#fff;background:var(--te-ink);border-color:var(--te-ink)}
.te-site .btn-success:hover,.te-site .btn-primary:hover,.te-site .btn-success:focus,.te-site .btn-primary:focus{color:#fff;background:#3d4931;border-color:#3d4931}
.te-site .btn-default{background:var(--te-paper);border-color:var(--te-line);color:var(--te-ink)}.te-site .btn-danger{background:#af2340;border-color:#af2340}.te-site .btn:active{transform:translateY(1px)}
.te-site .panel{border:1px solid var(--te-line);border-radius:14px;box-shadow:none;overflow:hidden}.te-site .panel-default>.panel-heading{padding:17px 22px;background:var(--te-paper);border-color:var(--te-line);color:var(--te-ink);font-weight:700;font-size:16px}.te-site .panel-body{padding:22px}
.te-site .table{font-size:14px}.te-site .table>thead>tr>th{color:var(--te-muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;border-bottom:1px solid var(--te-line);padding:14px 12px}.te-site .table>tbody>tr>td{padding:14px 12px;border-color:var(--te-line);vertical-align:middle;overflow-wrap:anywhere}.te-site .table-bordered{border-color:var(--te-line)}.te-site .table-striped>tbody>tr:nth-of-type(odd){background:#fafaf6}
.te-site .table-responsive{border:0}.te-site .modal-content{border:1px solid var(--te-line);border-radius:18px}.te-site .alert{border-radius:12px}
/* Compact, full-width brand header. */
.te-header{background:var(--te-paper);border-bottom:1px solid var(--te-line)}
.te-header .te-header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:23px;padding-bottom:23px}
.te-header .te-brand{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none;color:var(--te-ink);flex-shrink:0}
.te-brand-mark{position:relative;width:33px;height:25px;border:2px solid currentColor;border-radius:5px;transform:rotate(-13deg);display:inline-block;background:var(--te-lime)}
.te-brand-mark:after{content:'';position:absolute;top:3px;bottom:3px;right:8px;border-left:2px dotted currentColor}.te-wordmark{font-size:25px;letter-spacing:-1.1px;line-height:1}.te-wordmark span{font-weight:400}
.te-header .te-language{margin:0;padding:0;list-style:none}.te-header .language-selector{width:auto}.te-header .language-selector>.dropdown-toggle{display:flex;align-items:center;gap:7px;padding:9px 11px;color:var(--te-ink);border-radius:8px;text-decoration:none;font-size:12px}.te-header .language-selector .dropdown-menu{z-index:1050;border:1px solid var(--te-line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #22272016}.te-header .language-selector .dropdown-menu>li a{color:var(--te-ink)}
.te-header .te-menu-toggle{border:1px solid var(--te-line);border-radius:8px;padding:10px 12px;background:transparent;color:var(--te-ink);line-height:1}
.te-header .te-navigation{width:100%;padding:0;border:0;box-shadow:none}.te-header .te-links{margin:0;padding:0;list-style:none}.te-header .te-links>li>a{display:block;padding:10px 15px;color:var(--te-ink);font-size:13px;font-weight:600;line-height:1.6;border-radius:8px;text-decoration:none}.te-header .te-links>li>a:hover,.te-header .te-links>li>a[aria-current='page']{background:#e9ecdf}.te-header .te-links>li>.te-account-link{border:1px solid var(--te-ink)}
/* Home: editorial type paired with a real event ticket. */
.te-home{padding:0 0 64px}.te-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:70px;align-items:center;padding:68px 0 60px}
.te-kicker{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--te-muted);margin:0 0 22px}.te-kicker:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--te-pink);flex-shrink:0}
.te-hero h1{font-size:clamp(44px,5.3vw,74px);letter-spacing:-.065em;line-height:1.01;margin:0 0 24px}.te-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--te-pink);letter-spacing:-.06em}.te-hero .te-lead{max-width:410px;font-size:16px;line-height:1.8;color:var(--te-muted);margin:0 0 26px}
.te-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.te-action{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--te-ink);color:#fff!important;padding:13px 20px;border:1px solid var(--te-ink);border-radius:9px;text-decoration:none!important;font-size:13px;font-weight:700}.te-action:hover{background:#3d4931}.te-action .fa{font-size:12px}.te-action-secondary{font-size:12px;font-weight:700;color:var(--te-ink)!important;border-bottom:1px solid #a9ad9e;text-decoration:none!important}
.te-hero-art{position:relative;padding:26px 18px 18px 0}.te-hero-art:before{content:'';position:absolute;inset:7% 0 2% 7%;background:var(--te-lime);border-radius:50%;transform:rotate(-14deg)}
.te-hero-ticket{position:relative;display:block;transform:rotate(-4deg);background:#fff;border:1px solid var(--te-ink);border-radius:15px;box-shadow:10px 12px 0 #222720;text-decoration:none!important;color:var(--te-ink)!important;transition:transform .25s}
.te-hero-ticket:hover{transform:rotate(-2deg) translateY(-3px)}.te-ticket-top{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--te-line);padding:16px 22px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.te-ticket-dot{width:7px;height:7px;display:inline-block;background:var(--te-pink);border-radius:50%;margin-right:4px}
.te-ticket-art{height:175px;padding:20px 28px;background:#fcfcf8;display:flex;align-items:center;justify-content:center}.te-ticket-art img{max-height:100%;max-width:100%;object-fit:contain}.te-ticket-copy{padding:20px 24px}.te-ticket-copy h2{font-size:27px;margin:0 0 7px;overflow-wrap:anywhere}.te-ticket-copy p{font-size:12px;color:var(--te-muted);margin:0}.te-ticket-stub{position:relative;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 24px;border-top:1px dashed #9ca38e}.te-ticket-stub:before,.te-ticket-stub:after{content:'';position:absolute;top:-9px;width:17px;height:17px;border:1px solid var(--te-ink);border-radius:50%;background:var(--te-paper)}.te-ticket-stub:before{left:-9px}.te-ticket-stub:after{right:-9px}.te-ticket-stub time{font-size:12px;font-weight:700}.te-barcode{display:block;width:76px;height:26px;background:repeating-linear-gradient(90deg,#222720 0 2px,transparent 2px 4px,#222720 4px 5px,transparent 5px 8px,#222720 8px 12px,transparent 12px 14px)}
.te-hero-seal{position:absolute;right:-2px;top:0;background:var(--te-pink);color:white;border:5px solid var(--te-paper);border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:29px;transform:rotate(12deg)}
.te-hero-empty{padding:46px 32px;text-align:center}.te-hero-empty .fa{font-size:70px;margin-bottom:22px}.te-hero-empty h2{font-size:32px}.te-hero-empty p{font-size:13px}
.te-proof{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--te-line);border-bottom:1px solid var(--te-line);padding:18px 0;margin-bottom:48px;font-size:12px;color:var(--te-muted)}.te-proof span{display:flex;align-items:center;gap:9px}.te-proof .fa{color:#4f6530}
.te-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.te-section-heading h2{font-size:35px;margin:0}.te-section-heading .te-kicker{margin-bottom:10px}.te-count{font-size:11px;border:1px solid #cdd1c2;border-radius:30px;padding:5px 12px;color:var(--te-muted);white-space:nowrap}
.te-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.te-card{min-width:0;background:#fff;border:1px solid var(--te-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.te-card:hover{transform:translateY(-5px);border-color:#8b9779}
.te-image{position:relative;display:flex;align-items:center;justify-content:center;height:206px;background:#ebeee4;border-bottom:1px solid var(--te-line);padding:32px}.te-card:nth-child(3n+2) .te-image{background:#f5e5e9}.te-card:nth-child(3n) .te-image{background:#e6eaf0}.te-image img{max-width:100%;max-height:100%;object-fit:contain}.te-date-tag{position:absolute;top:14px;left:14px;background:#fff;border:1px solid var(--te-line);border-radius:7px;display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:10px;font-weight:700;color:var(--te-ink)}
.te-card-body{display:flex;flex:1;flex-direction:column;padding:24px}.te-organiser{font-size:11px;line-height:1.6;color:var(--te-muted);margin:0 0 8px}.te-organiser a{color:inherit}.te-card h3{font-size:24px;margin:0 0 22px;overflow-wrap:anywhere}.te-card h3 a{color:var(--te-ink);text-decoration:none}.te-date{display:flex;align-items:baseline;gap:8px;margin:auto 0 20px;color:var(--te-muted);font-size:12px;line-height:1.6}
.te-book{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0 0;border-top:1px dashed #c9cebe;color:var(--te-ink)!important;font-size:12px;font-weight:800;text-decoration:none!important}.te-book>.fa{background:var(--te-lime);border-radius:50%;width:31px;height:31px;display:flex;align-items:center;justify-content:center}.te-book:hover>.fa{background:#bedb70}
.te-empty{border:1px dashed #afb7a2;border-radius:14px;padding:40px;text-align:center}.te-empty .fa{font-size:30px;color:var(--te-pink)}.te-empty p{color:var(--te-muted)}
/* Shared event, booking, account and authentication screens. */
.te-event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:46px;align-items:start}.te-event-overview h1{font-size:42px;margin:0 0 18px}.te-event-art{background:#eef0e6;border-radius:12px;padding:24px;text-align:center;margin:24px 0}.te-event-art img{max-height:240px;object-fit:contain;margin:auto}.te-event-description{font-size:14px;line-height:1.85;color:#555e50;overflow-wrap:anywhere}.te-event-description img{max-width:100%;height:auto}.te-event-description table{display:block;max-width:100%;overflow-x:auto}
.te-booking-heading{margin-bottom:22px}.te-booking-heading h2{margin:0 0 8px;font-size:28px}.te-booking-heading p{font-size:12px;color:var(--te-muted)}
.te-site .ticket-panel{border:1px solid #c9cebe}.te-site .ticket-panel .panel-heading{background:var(--te-paper);border-bottom:1px dashed #c3cbb8;font-size:15px}.te-site .ticket-panel .panel-body{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:18px}.te-site .ticket-panel .pull-left,.te-site .ticket-panel .pull-right{float:none!important;max-width:100%}.te-site .ticket-panel .form-group{margin:0}.te-site .ticket-panel select{min-width:80px}.te-site .ticket-price{font-size:18px;font-weight:700}.te-site .book-btn{margin:12px 0 0;border-radius:10px;padding:15px;font-size:15px}.te-site .book-btn:hover{transform:none;box-shadow:none}
.te-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--te-line);border-radius:20px;overflow:hidden;background:#fff}.te-auth-aside{padding:48px;background:var(--te-lime);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.te-auth-aside h1{font-size:46px;margin:18px 0}.te-auth-aside p{font-size:14px;max-width:320px}.te-auth-aside>.fa{font-size:48px}.te-auth-form{padding:48px}.te-auth-form h2{font-size:30px;margin:0 0 24px}.te-auth-form form:after{display:table;content:'';clear:both}.te-auth-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:28px}.te-auth-actions .form-group{margin:0}.te-auth-actions>a{font-size:12px;color:var(--te-muted)}
.te-account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px}.te-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.te-subhead h2{font-size:23px;margin:0}.te-account-details{margin:0}.te-account-details>div{padding:12px 0;border-bottom:1px solid var(--te-line);display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px}.te-account-details dt{font-size:12px;color:var(--te-muted);font-weight:500}.te-account-details dd{font-size:13px;margin:0;overflow-wrap:anywhere}.te-icon-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--te-line);border-radius:8px;color:var(--te-ink)!important}
.te-faq-list{list-style:none;padding:0;margin:24px 0 0}.te-faq-list li+li{border-top:1px solid var(--te-line)}.te-faq-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;color:var(--te-ink);font-size:16px;text-decoration:none}.te-faq-list a:hover{color:var(--te-pink)}
.te-status{text-align:center;max-width:660px;margin:auto}.te-status-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;background:var(--te-lime);border-radius:50%;font-size:28px;margin-bottom:18px}.te-status h1{font-size:38px}.te-status p{color:var(--te-muted);margin:20px 0}.te-status .te-action{margin-top:8px}
/* Footer is content-height, without a forced viewport height. */
.te-footer{background:var(--te-ink);color:#e6eadf;padding:42px 0 20px}.te-footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:1px solid #4b5145}.te-footer .te-brand{display:inline-flex;align-items:center;gap:10px;color:#f6f5ef;text-decoration:none}.te-footer .te-brand-mark{color:var(--te-ink)}.te-footer .te-wordmark{color:inherit}.te-footer-tagline{font-size:12px;color:#bec6b3;margin:12px 0 0}.te-footer-links{display:flex;flex-wrap:wrap;gap:22px}.te-footer a{color:#e6eadf}.te-footer-links a{font-size:12px}.te-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;font-size:10px;color:#b2bba7}.te-footer-bottom a{color:inherit}.te-footer-bottom p{margin:0}
@media(min-width:1100px){.te-header .te-header-inner{flex-wrap:nowrap;gap:20px}.te-header .te-navigation.collapse{display:block!important;width:auto;order:1;margin-left:auto}.te-header .te-links{display:flex;align-items:center;gap:3px}.te-header .te-language{order:2}.te-header .te-menu-toggle{display:none}}
@media(max-width:1099px){.te-header .te-navigation.collapse{display:none!important}.te-header .te-navigation.collapse.in{display:block!important}.te-header .te-navigation.collapsing{width:100%}.te-header .te-links{padding-top:14px;border-top:1px solid var(--te-line)}.te-header .te-links>li+li{margin-top:4px}.te-hero{gap:35px}.te-hero h1{font-size:58px}.te-hero-seal{right:-6px}.te-grid{gap:18px}.te-card-body{padding:20px}}
@media(max-width:991px){.te-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.te-hero{gap:32px;padding:45px 0}.te-hero h1{font-size:49px}.te-ticket-art{height:145px}.te-ticket-copy h2{font-size:23px}.te-ticket-top{font-size:8px;padding:14px 18px}.te-proof{justify-content:flex-start;gap:15px 28px}.te-event-layout,.te-account-grid{grid-template-columns:minmax(0,1fr);gap:32px}.te-auth-aside,.te-auth-form{padding:34px}.te-auth-aside h1{font-size:37px}}
@media(max-width:699px){.te-site .container{padding-left:20px;padding-right:20px}.te-header .te-header-inner{padding-top:17px;padding-bottom:17px;gap:6px}.te-wordmark{font-size:21px}.te-brand-mark{width:27px;height:22px}.te-header .te-brand{gap:8px}.te-header .language-selector>.dropdown-toggle{padding:9px 7px;font-size:11px}.te-header .language-selector>.dropdown-toggle img{display:none}.te-hero{grid-template-columns:minmax(0,1fr);padding:34px 0 38px;gap:24px}.te-hero h1{font-size:clamp(44px,10vw,62px);max-width:480px}.te-hero .te-lead{font-size:14px}.te-kicker{font-size:9px;margin-bottom:16px}.te-hero-art{max-width:440px;width:100%;justify-self:center;padding:22px 20px 14px 4px}.te-ticket-art{height:160px}.te-ticket-copy{padding:18px 22px}.te-ticket-copy h2{font-size:25px}.te-hero-seal{right:0;width:64px;height:64px;font-size:23px}.te-proof{font-size:10px;margin-bottom:32px;padding:16px 0;gap:12px 22px}.te-section-heading h2{font-size:29px}.te-count{font-size:10px;padding:4px 9px}.te-home{padding-bottom:40px}.te-site .mainpage{padding:26px 0 36px}.te-site .content{padding:24px}.te-auth-layout{grid-template-columns:minmax(0,1fr)}.te-auth-aside{padding:28px}.te-auth-aside h1{font-size:32px;margin:8px 0 14px}.te-auth-aside>.fa{display:none}.te-auth-aside p{margin:0}.te-auth-form{padding:28px}.te-event-overview h1{font-size:32px}.te-footer{padding-top:30px}.te-footer-top{align-items:flex-start;flex-direction:column;gap:22px}.te-footer-links{gap:14px 22px}.te-footer-bottom{font-size:9px}.te-account-details>div{grid-template-columns:95px minmax(0,1fr)}}
@media(max-width:499px){.te-grid{grid-template-columns:minmax(0,1fr)}.te-image{height:220px}.te-section-heading{align-items:center;gap:12px}.te-section-heading h2{font-size:26px}.te-proof span:last-child{display:none}.te-site .panel-body{padding:18px}.te-site .ticket-panel .panel-heading{padding:15px 18px}}
@media(prefers-reduced-motion:reduce){.te-site *, .te-site *:before,.te-site *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.te-hero-ticket,.te-hero-ticket:hover{transform:none}.te-card:hover{transform:none}}
.te-site .te-form-content{max-width:620px;margin:0 auto}.te-site .te-signup-content .te-event-description{margin-bottom:32px}.te-site .te-signup-art{max-width:250px;max-height:160px;object-fit:contain}.te-site .te-status .te-kicker{justify-content:center}.te-site .te-lead{color:var(--te-muted)}.te-site .te-account-grid{margin-top:30px}.te-site hr{border-color:var(--te-line)}
@media(max-width:359px){.te-site .container{padding-left:15px;padding-right:15px}.te-header .te-wordmark{font-size:19px}.te-header .te-brand-mark{width:23px}.te-header .language-selector>.dropdown-toggle{font-size:10px;padding:8px 4px}.te-header .te-menu-toggle{padding:9px}.te-section-heading{flex-wrap:wrap}}
/* Keep decorative ticket artwork inside narrow viewports. */
.te-hero-art{min-width:0}.te-hero-art:before{inset:9% 5% 3% 7%;transform:none}.te-hero>div{min-width:0}.te-ticket-top>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:699px){.te-hero-ticket,.te-hero-ticket:hover{transform:none;box-shadow:7px 8px 0 #222720}.te-site .te-account-grid .table{font-size:12px}.te-site .te-account-grid .table>thead>tr>th,.te-site .te-account-grid .table>tbody>tr>td{padding:12px 7px}}
.te-header .te-header-inner:before,.te-header .te-header-inner:after,.te-site .ticket-panel .panel-body:before,.te-site .ticket-panel .panel-body:after{display:none}

/* Put bookable events first; the brand introduction follows the overview. */
.te-home .te-events{padding-top:36px}
@media(max-width:699px){.te-home .te-events{padding-top:28px}}
