/* =========================================================
   Third Eye Cinema - Clean Style.css
   Mobile-first cinema UI inspired by modern cinema booking apps.
   Keeps existing selectors so your current HTML/JS continues working.
========================================================= */

/* RESET + BASE */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Inter', Arial, Helvetica, sans-serif;
}

body.tec-support-form-page{
  padding-bottom:18px !important;
}

body.tec-support-form-page .mobile-sticky-book,
body.tec-support-form-page .tec-mobile-tabs,
body.tec-support-form-page .tec-mobile-bottom-cta{
  display:none !important;
  pointer-events:none !important;
}

:root{
  --bg:#050505;
  --panel:#111111;
  --panel2:#171717;
  --line:#2a2a2a;
  --muted:#b8b8b8;
  --text:#ffffff;
  --orange:#ff6a00;
  --orange2:#ff8a00;
  --red:#e50914;
  --green:#16a34a;
  --radius:22px;
}

html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:var(--bg);
  color:var(--text);
}

body{
  min-height:100vh;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

.empty-note,
.mini-note{
  color:var(--muted);
  line-height:1.6;
}

/* NAVBAR */
.navbar{
  height:90px;
  padding:0 70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#050505;
  border-bottom:1px solid #222;
  position:sticky;
  top:0;
  z-index:1000;
}

.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
}

.logo img{
  height:80px;
  width:auto;
  object-fit:contain;
}

.logo span{
  display:none;
}

nav,
#mainNav{
  display:flex;
  gap:28px;
  align-items:center;
}

nav a,
#mainNav a{
  font-size:14px;
  font-weight:900;
  color:#eee;
}

nav a:hover,
nav a.active,
#mainNav a:hover,
#mainNav a.active{
  color:var(--orange);
}

.menu-toggle{
  display:none;
}

/* BUTTONS */
.btn,
.show-actions a,
.show-actions button,
.booking-box button,
.pay-btn,
.btn-export,
.admin-save-settings,
.print-ticket-btn,
.support-submit{
  min-height:46px;
  padding:13px 22px;
  border-radius:12px;
  font-weight:900;
  border:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  line-height:1.2;
}

.primary,
.show-actions button,
.booking-box button,
.pay-btn,
.btn-export,
.admin-save-settings,
.print-ticket-btn,
.support-submit{
  background:linear-gradient(90deg,var(--orange2),var(--red));
  color:white;
}

.ghost,
.secondary,
.show-actions .secondary,
.show-actions a{
  background:#151515;
  border:1px solid #333;
  color:white;
}

button:disabled,
.show-actions button:disabled{
  opacity:.55;
  cursor:not-allowed;
  background:#343434;
  color:#aaa;
}

/* HERO */
.hero{
  min-height:100vh;
  min-height:100svh;
  padding:120px 70px 80px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.66),rgba(0,0,0,.9)),
    url("images/backgroup.png");
  background-size:cover;
  background-position:center;
}

@supports (height:100dvh){
  .hero{
    min-height:100dvh;
  }
}

.hero-video,
.hero-overlay{
  position:absolute;
  inset:0;
}

.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}

.hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,.74));
  z-index:2;
}

.hero-content{
  position:relative;
  z-index:3;
  width:100%;
  max-width:860px;
  margin:auto;
  text-align:center;
}

.eyebrow{
  color:var(--orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:2.6px;
  font-size:13px;
  margin-bottom:14px;
}

.hero h1,
.hero-title{
  font-size:60px;
  line-height:1.05;
  letter-spacing:-1px;
  margin-bottom:20px;
}

.hero h1 span,
.hero-title span,
.booking-copy h2 span{
  color:var(--orange);
}

.hero-text{
  color:#e3e3e3;
  font-size:20px;
  line-height:1.65;
  max-width:760px;
  margin:0 auto 30px;
}

.hero-actions{
  display:flex;
  justify-content:center;
  gap:15px;
}

/* SECTIONS + PAGE */
.section{
  padding:64px 70px;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:30px;
}

.section h2,
.page-title{
  font-size:42px;
  line-height:1.1;
  letter-spacing:-.5px;
}

.view-link{
  color:var(--orange);
  font-weight:900;
}

.page,
.admin-page{
  min-height:100vh;
  padding:120px 70px 70px;
}

/* FILTER BAR */
.filter-bar{
  display:flex;
  gap:14px;
  flex-wrap:nowrap;
  overflow-x:auto;
  padding-bottom:12px;
  margin-bottom:30px;
  -webkit-overflow-scrolling:touch;
}

.filter-bar button{
  flex:0 0 auto;
  padding:13px 22px;
  border-radius:999px;
  border:1px solid #333;
  background:#111;
  color:white;
  font-weight:900;
}

.filter-bar button.active{
  background:linear-gradient(90deg,var(--orange2),var(--red));
  border-color:transparent;
}

/* MOVIE CARDS */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,300px));
  gap:26px;
  justify-content:start;
}

.show-card{
  background:#111;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  overflow:hidden;
  transition:.25s ease;
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}

.show-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,106,0,.6);
}

.show-card img{
  width:100%;
  height:430px;
  object-fit:cover;
  background:#000;
}

.show-info{
  padding:18px;
}

.badge{
  display:inline-block;
  color:#ff9d45;
  font-size:13px;
  font-weight:900;
  margin-bottom:10px;
}

.show-info h3{
  font-size:24px;
  line-height:1.12;
  margin-bottom:10px;
}

.show-info p{
  color:#cfcfcf;
  font-size:15px;
  line-height:1.45;
  margin-bottom:8px;
}

.show-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
  flex-wrap:wrap;
}

.show-actions a,
.show-actions button{
  font-size:14px;
  padding:12px 16px;
}

/* HOME BOOKING BANNER */
.home-booking-banner{
  max-width:1150px;
  margin:50px auto;
  padding:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}

.home-booking-banner h2{
  margin:8px 0;
  font-size:34px;
}

.home-booking-banner p{
  color:#ddd;
  max-width:700px;
}

/* FORMS */
.booking-box input,
.booking-box select,
.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-tools input,
.admin-tools select,
.settings-grid input,
.booking-search,
.support-form input,
.support-form select,
.support-form textarea{
  width:100%;
  min-height:50px;
  background:#171717;
  border:1px solid #333;
  color:white;
  border-radius:14px;
  padding:0 14px;
  outline:none;
}

.admin-form textarea,
.support-form textarea{
  min-height:120px;
  padding:14px;
  resize:vertical;
}

.booking-box input:focus,
.booking-box select:focus,
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.support-form input:focus,
.support-form select:focus,
.support-form textarea:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(255,106,0,.14);
}

.booking-box label,
.admin-form label,
.support-form label{
  display:block;
  color:#eee;
  font-size:14px;
  font-weight:900;
  margin:14px 0 8px;
}

.booking-grid,
.admin-two,
.settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.phone-row{
  display:flex;
  gap:10px;
}

.phone-row select{
  max-width:230px;
}

.phone-row input{
  flex:1;
}

/* BOOKING PAGE */
.booking-page.booking-only-page{
  max-width:980px;
  margin:0 auto;
  padding:120px 20px 80px;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.booking-only-page .booking-copy{
  width:100%;
  max-width:900px;
  text-align:center;
  margin:0 auto 30px;
}

.booking-only-page .booking-copy h2{
  font-size:56px;
  line-height:1.1;
  margin-bottom:16px;
}

.booking-only-page .booking-copy p,
.booking-copy p{
  max-width:850px;
  margin:auto;
  color:#ddd;
  font-size:18px;
  line-height:1.7;
}

.booking-features{
  width:100%;
  max-width:900px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin:25px auto 0;
}

.booking-features span{
  padding:10px 16px;
  border:1px solid #333;
  border-radius:12px;
  background:#111;
  color:#ddd;
}

.booking-only-page .booking-box,
.booking-box{
  width:100%;
  max-width:760px;
  margin:0 auto;
  background:#111;
  border:1px solid #333;
  border-radius:24px;
  padding:30px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.booking-box h3{
  font-size:32px;
  text-align:center;
  margin-bottom:22px;
}

/* FEATURES */
.features{
  padding:60px 70px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.features article{
  background:#111;
  border:1px solid #222;
  border-radius:20px;
  padding:24px;
}

.features h3{
  color:var(--orange);
  margin-bottom:10px;
}

.features p{
  color:#ccc;
  line-height:1.6;
}

/* DETAILS PAGE */
.detail-layout,
.cinema-detail-layout{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:35px;
  align-items:start;
}

.detail-poster img,
.cinema-detail-poster img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}

.detail-card,
.admin-card,
.payment-card,
.success-card,
.ticket-card{
  background:linear-gradient(145deg,#111,#0b0b0b);
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  padding:28px;
}

.detail-card h1{
  font-size:46px;
  line-height:1.08;
  margin:12px 0;
}

.description{
  color:#ddd;
  line-height:1.72;
  font-size:17px;
}

.movie-summary-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 8px;
}

.movie-summary-strip span{
  padding:9px 13px;
  border-radius:999px;
  background:#181818;
  border:1px solid #333;
  color:#ddd;
  font-size:13px;
  font-weight:900;
}

.meta-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin:24px 0;
}

.meta-grid div{
  background:#181818;
  padding:16px;
  border-radius:16px;
}

.meta-grid span{
  color:#aaa;
  font-size:12px;
  font-weight:900;
}

.meta-grid strong{
  display:block;
  margin-top:6px;
  line-height:1.25;
}

.award-box{
  margin-top:20px;
  padding:18px;
  background:#181818;
  border:1px solid #333;
  border-radius:16px;
}

.award-box h3{
  color:var(--orange);
  margin-bottom:10px;
}

.award-box p{
  color:#ddd;
  line-height:1.7;
  white-space:pre-line;
}

/* SESSION SELECTOR */
.hoyts-session-panel{
  margin-top:28px;
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.04);
}

.session-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:16px;
}

.session-panel-head h2{
  margin:0;
  font-size:24px;
  color:white;
}

.session-location{
  color:#f97316;
  font-weight:900;
  font-size:14px;
}

.session-scroll{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding-bottom:10px;
  -webkit-overflow-scrolling:touch;
}

.session-tile{
  flex:0 0 150px;
  min-width:150px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:16px 12px;
  background:#111;
  color:#fff;
  cursor:pointer;
  text-align:center;
  transition:.2s ease;
}

.session-tile:hover{
  transform:translateY(-2px);
  border-color:#f97316;
  background:#171717;
}

.session-tile.disabled{
  opacity:.45;
  cursor:not-allowed;
}

.session-day{
  display:block;
  font-size:13px;
  letter-spacing:.08em;
  color:#f97316;
  font-weight:900;
}

.session-date,
.session-tile strong{
  display:block;
  margin-top:4px;
  font-size:21px;
  font-weight:900;
}

.session-tile em{
  display:block;
  margin-top:10px;
  font-style:normal;
  font-weight:900;
}

.session-tile small{
  display:block;
  margin-top:8px;
  color:#aaa;
  font-size:12px;
}

.session-note{
  margin-top:8px;
  color:#aaa;
  font-size:13px;
}

.trailer-btn{
  display:inline-flex;
}

/* ADMIN */
.upgraded-admin{
  padding-top:120px;
}

.admin-header{
  margin-bottom:28px;
}

.admin-header p{
  color:#ccc;
  margin-top:8px;
}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:30px;
}

.admin-stats div{
  background:linear-gradient(145deg,#111,#171717);
  border:1px solid #333;
  border-radius:20px;
  padding:24px;
}

.admin-stats h3{
  font-size:34px;
  color:var(--orange);
}

.admin-stats p{
  color:#ccc;
}

.admin-grid{
  display:grid;
  grid-template-columns:440px 1fr;
  gap:30px;
  align-items:start;
}

.admin-wide-grid{
  display:grid;
  grid-template-columns:1.35fr .8fr;
  gap:30px;
  margin-top:30px;
}

.admin-card h2{
  color:var(--orange);
  margin-bottom:16px;
}

.admin-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.admin-form button{
  width:100%;
  min-height:52px;
}

.admin-tools{
  display:grid;
  grid-template-columns:1fr 150px 160px;
  gap:12px;
  margin-bottom:20px;
}

.poster-preview{
  display:none;
  width:100%;
  max-width:220px;
  height:310px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #333;
  margin-top:12px;
}

.admin-item{
  display:flex;
  gap:18px;
  background:#0b0b0b;
  border:1px solid #333;
  border-radius:18px;
  padding:18px;
  margin-bottom:18px;
  max-width:640px;
}

.admin-item img{
  width:120px;
  height:170px;
  object-fit:cover;
  border-radius:14px;
}

.admin-item h3{
  font-size:22px;
}

.admin-item p{
  color:#ddd;
  margin:5px 0;
}

.admin-item button,
.admin-booking-actions button,
.table-actions button{
  margin-top:10px;
  margin-right:8px;
  color:white;
  border:none;
  padding:10px 14px;
  border-radius:9px;
  font-weight:900;
}

.edit-btn,
.paid-btn{
  background:#16a34a;
}

.cancel-btn{
  background:#f59e0b;
}

.delete-btn,
.delete-movie-btn{
  background:#e50914;
}

.activity-item,
.admin-booking{
  background:#0b0b0b;
  border:1px solid #333;
  border-radius:16px;
  padding:16px;
  margin-bottom:14px;
  color:#ddd;
}

.session-admin-row{
  background:linear-gradient(145deg,#101010,#0b0b0b);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:18px;
  margin:16px 0;
  box-shadow:0 16px 38px rgba(0,0,0,.28);
}

.session-admin-row > label:first-child{
  display:inline-block;
  color:var(--orange);
  font-size:16px;
  font-weight:900;
  margin-bottom:12px;
}

/* TABLES */
.booking-table-card{
  overflow:hidden;
}

.booking-table-wrap{
  width:100%;
  overflow-x:auto;
  margin-top:15px;
  -webkit-overflow-scrolling:touch;
}

.booking-table{
  width:100%;
  border-collapse:collapse;
  min-width:850px;
}

.booking-table th{
  background:#181818;
  color:var(--orange);
  text-align:left;
  padding:14px;
  font-size:12px;
  text-transform:uppercase;
  border-bottom:1px solid #333;
}

.booking-table td{
  padding:14px;
  color:#ddd;
  border-bottom:1px solid #252525;
  vertical-align:top;
  font-size:14px;
}

.status-pill{
  display:inline-block;
  padding:6px 10px;
  border-radius:30px;
  font-size:12px;
  font-weight:900;
  background:#333;
  color:white;
}

.status-pill.paid,
.status-pill.confirmed{
  background:#14532d;
  color:#86efac;
}

.status-pill.pending-payment{
  background:#422006;
  color:#facc15;
}

.status-pill.cancelled{
  background:#3f1d1d;
  color:#fca5a5;
}

.status-pill.open{
  background:rgba(251,146,60,.18);
  color:#fdba74;
}

.status-pill.in-progress{
  background:rgba(59,130,246,.18);
  color:#93c5fd;
}

.status-pill.solved{
  background:rgba(34,197,94,.18);
  color:#86efac;
}

.status-pill.closed{
  background:rgba(148,163,184,.18);
  color:#cbd5e1;
}

.table-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.booking-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin-bottom:20px;
}

.summary-box{
  background:#121212;
  border:1px solid #2a2a2a;
  border-radius:15px;
  padding:20px;
  text-align:center;
}

.summary-box h3{
  color:var(--orange);
  font-size:28px;
}

/* SUPPORT */
.support-hero{
  min-height:calc(100vh - 90px);
  padding:70px 6vw;
  background:
    radial-gradient(circle at top left,rgba(255,106,0,.24),transparent 34%),
    linear-gradient(135deg,#050505 0%,#111 50%,#050505 100%);
}

.support-shell{
  max-width:1180px;
  margin:0 auto;
}

.support-shell h1{
  font-size:clamp(38px,6vw,82px);
  line-height:.95;
  margin:8px 0 18px;
  letter-spacing:-2px;
}

.support-intro{
  max-width:780px;
  color:#d1d5db;
  font-size:18px;
  line-height:1.7;
}

.support-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:26px;
  margin-top:34px;
  align-items:start;
}

.support-form,
.support-card{
  background:rgba(18,18,18,.92);
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  padding:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.support-form h2,
.support-card h2{
  margin-bottom:18px;
}

.support-card p,
.support-card li{
  color:#d1d5db;
  line-height:1.65;
}

.support-card ul{
  padding-left:20px;
  margin:16px 0 22px;
}

.form-success,
.form-error{
  margin-top:14px;
  padding:13px 15px;
  border-radius:14px;
  font-weight:900;
}

.form-success{
  background:rgba(34,197,94,.12);
  color:#86efac;
  border:1px solid rgba(34,197,94,.35);
}

.form-error{
  background:rgba(239,68,68,.12);
  color:#fca5a5;
  border:1px solid rgba(239,68,68,.35);
}

.support-admin-item{
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:#101010;
  margin-top:14px;
}

.support-admin-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px;
}

.support-message{
  color:#e5e7eb;
  background:#070707;
  border:1px solid #242424;
  border-radius:14px;
  padding:12px;
  margin:10px 0;
  white-space:pre-wrap;
}

/* ABOUT + CONTACT */
.about-hero,
.contact-hero-section{
  min-height:100vh;
  padding:130px 70px 80px;
  background:
    linear-gradient(to right,rgba(0,0,0,.96),rgba(0,0,0,.82),rgba(0,0,0,.95)),
    url("images/backgroup.png");
  background-size:cover;
  background-position:center;
}

.about-content,
.contact-content{
  max-width:1200px;
  margin:auto;
}

.about-content h1,
.contact-content h1{
  font-size:56px;
  line-height:1.1;
  margin-bottom:22px;
}

.about-intro,
.contact-intro{
  max-width:950px;
  color:#ddd;
  font-size:18px;
  line-height:1.8;
  margin-bottom:45px;
}

.about-grid,
.contact-grid-new,
.team-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-bottom:45px;
}

.team-grid{
  grid-template-columns:repeat(3,1fr);
}

.about-box,
.contact-card-new,
.about-contact,
.team-card{
  background:rgba(17,17,17,.9);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:28px;
}

.about-box h2,
.about-box h3,
.contact-card-new h2,
.about-contact h2{
  color:var(--orange);
  margin-bottom:14px;
}

.about-box p,
.about-box li,
.contact-card-new p,
.contact-card-new li,
.about-contact p,
.team-card p{
  color:#ddd;
  line-height:1.7;
}

.team-card{
  text-align:center;
}

.team-card img{
  width:145px;
  height:145px;
  object-fit:cover;
  border-radius:50%;
  border:3px solid var(--orange);
  margin:0 auto 18px;
  background:#000;
}

.team-card h4{
  color:var(--orange);
  font-size:14px;
  line-height:1.5;
  margin-bottom:14px;
}

.social-card-new{
  grid-column:1 / -1;
}

.social-links-new{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:25px;
}

.social-btn-new{
  display:flex;
  align-items:center;
  gap:12px;
  background:#111;
  border:1px solid #333;
  padding:14px 20px;
  border-radius:14px;
  font-weight:900;
}

.social-btn-new img{
  width:34px;
  height:34px;
  object-fit:contain;
}

/* PAYMENT + TICKET */
.payment-container,
.success-container,
.ticket-page{
  min-height:100vh;
  padding:130px 20px 60px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.payment-card,
.success-card,
.ticket-card{
  width:100%;
  max-width:620px;
}

.payment-card h1,
.success-card h1{
  font-size:38px;
  margin-bottom:20px;
}

.payment-card p,
.success-card p{
  color:#aaa;
  margin-top:16px;
}

.pay-btn{
  width:100%;
  text-align:center;
  margin-top:25px;
}

.ticket-card{
  max-width:520px;
  text-align:center;
  box-shadow:0 0 40px rgba(255,106,0,.15);
}

.ticket-header img{
  width:90px;
  margin:0 auto 10px;
}

.ticket-header h1{
  color:var(--orange);
  margin:10px 0 5px;
}

.ticket-info{
  margin:25px 0;
  text-align:left;
}

.ticket-info p{
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px solid #2a2a2a;
  padding:12px 0;
}

.ticket-info span{
  color:#aaa;
}

.ticket-info strong{
  color:white;
  text-align:right;
}

.qr-box{
  background:white;
  padding:15px;
  border-radius:18px;
  display:inline-block;
  margin:15px 0;
}

.qr-box img{
  width:220px;
  height:220px;
}

.back-home{
  display:block;
  margin-top:15px;
  color:var(--orange);
}

/* FOOTER */
footer{
  text-align:center;
  padding:35px;
  color:#aaa;
  border-top:1px solid #222;
}

/* TABLET */
@media(max-width:1000px){
  .navbar{
    padding:0 26px;
  }

  .section,
  .booking-section,
  .features,
  .page,
  .admin-page{
    padding-left:26px;
    padding-right:26px;
  }

  .admin-grid,
  .admin-wide-grid,
  .detail-layout,
  .cinema-detail-layout,
  .booking-section,
  .support-grid{
    grid-template-columns:1fr;
  }

  .features,
  .admin-stats,
  .about-grid,
  .contact-grid-new,
  .team-grid{
    grid-template-columns:1fr 1fr;
  }

  .admin-tools{
    grid-template-columns:1fr;
  }
}

/* MOBILE - HOYTS/APP STYLE */
@media(max-width:768px){
  body{
    background:#050505;
  }

  .navbar{
    min-height:74px;
    height:74px;
    padding:10px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(5,5,5,.96);
    backdrop-filter:blur(14px);
  }

  .logo img{
    height:48px;
    max-width:118px;
  }

  .menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.15);
    background:#111;
    color:#fff;
    font-size:22px;
  }

  nav,
  #mainNav,
  .navbar nav{
    display:none;
    position:absolute;
    top:74px;
    left:12px;
    right:12px;
    width:auto;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:14px;
    background:rgba(8,8,8,.98);
    border:1px solid rgba(255,255,255,.1);
    border-radius:22px;
    box-shadow:0 24px 80px rgba(0,0,0,.55);
  }

  nav.open,
  #mainNav.open,
  .navbar nav.open{
    display:flex;
  }

  nav a,
  #mainNav a,
  .navbar nav a,
  .logout-btn{
    display:block;
    padding:14px;
    border-radius:14px;
    background:#111;
    font-size:16px;
    border:none;
  }

  .hero{
    min-height:calc(100svh - 74px);
    padding:38px 18px 48px;
    border-radius:0 0 32px 32px;
  }

  .hero-content{
    text-align:center;
    padding:0;
  }

  .eyebrow{
    font-size:11px;
    letter-spacing:2.2px;
  }

  .hero h1,
  .hero-title{
    font-size:36px;
    line-height:1.05;
  }

  .hero h1 span,
  .hero-title span{
    font-size:36px;
  }

  .hero-text{
    font-size:16px;
    line-height:1.55;
  }

  .hero-actions,
  .show-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .btn,
  .show-actions button,
  .show-actions a,
  .pay-btn{
    width:100%;
    min-height:50px;
    border-radius:999px;
  }

  .section{
    padding:34px 16px;
  }

  .page,
  .admin-page{
    padding:90px 14px 70px;
  }

  .section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }

  .section h2,
  .page-title{
    font-size:34px;
  }

  .filter-bar{
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
  }

  .filter-bar button{
    min-width:max-content;
    padding:15px 24px;
  }

  .card-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .show-card{
    max-width:none;
    width:100%;
    border-radius:26px;
  }

  .show-card img{
    height:auto;
    aspect-ratio:2/3;
    object-fit:cover;
  }

  .show-info{
    padding:20px;
  }

  .badge{
    font-size:14px;
  }

  .show-info h3{
    font-size:28px;
  }

  .show-info p{
    font-size:16px;
    word-break:break-word;
  }

  .home-booking-banner{
    margin:24px 16px;
    padding:24px;
    flex-direction:column;
    align-items:flex-start;
  }

  .features,
  .admin-stats,
  .admin-grid,
  .admin-wide-grid,
  .booking-grid,
  .admin-two,
  .settings-grid,
  .about-grid,
  .contact-grid-new,
  .team-grid,
  .support-grid,
  .detail-layout,
  .cinema-detail-layout{
    grid-template-columns:1fr;
  }

  .detail-poster img,
  .cinema-detail-poster img{
    height:auto;
    aspect-ratio:2/3;
  }

  .detail-card h1{
    font-size:38px;
  }

  .meta-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .meta-grid div{
    border-radius:18px;
    padding:16px;
  }

  .movie-summary-strip{
    gap:8px;
  }

  .movie-summary-strip span{
    font-size:12px;
    padding:8px 10px;
  }

  .hoyts-session-panel{
    padding:16px;
    border-radius:18px;
  }

  .session-panel-head{
    display:block;
  }

  .session-panel-head h2{
    font-size:22px;
    margin-bottom:8px;
  }

  .session-tile{
    min-width:138px;
    flex-basis:138px;
  }

  .booking-page.booking-only-page{
    padding:90px 16px 60px;
  }

  .booking-only-page .booking-copy h2{
    font-size:36px;
  }

  .booking-features span{
    width:100%;
    text-align:center;
  }

  .booking-box,
  .booking-only-page .booking-box,
  .admin-card,
  .payment-card,
  .success-card,
  .ticket-card,
  .support-form,
  .support-card{
    max-width:100%;
    padding:22px;
    border-radius:22px;
  }

  .phone-row,
  .checkin-box,
  .social-links-new{
    flex-direction:column;
  }

  .phone-row select{
    max-width:100%;
  }

  .admin-tools{
    grid-template-columns:1fr;
  }

  .admin-item{
    flex-direction:column;
    max-width:100%;
  }

  .admin-item img{
    width:100%;
    height:auto;
    max-height:420px;
  }

  .booking-summary{
    grid-template-columns:1fr;
  }

  .booking-table{
    min-width:850px;
  }

  .support-hero,
  .about-hero,
  .contact-hero-section{
    min-height:auto;
    padding:90px 16px 60px;
  }

  .support-shell h1,
  .about-content h1,
  .contact-content h1{
    font-size:38px;
    letter-spacing:-1px;
  }

  .payment-container,
  .success-container,
  .ticket-page{
    padding:90px 16px 60px;
    align-items:flex-start;
  }

  footer{
    padding:28px 16px;
    font-size:14px;
  }
}

/* =========================================================
   TEC ABSOLUTE FINAL OVERRIDES
   Must remain at EOF: fixes late legacy cascade rules.
========================================================= */
.navbar,
.navbar.tec-cinema-header,
header.navbar.tec-cinema-header,
.seat-header{
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
  display:grid !important;
  grid-template-columns:minmax(190px,auto) minmax(0,1fr) minmax(52px,auto) !important;
  align-items:center !important;
  min-height:82px !important;
  height:82px !important;
  width:100% !important;
  padding:0 clamp(22px,4.8vw,78px) !important;
  gap:18px !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(10,11,15,.78),rgba(5,6,9,.66)) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28);
  backdrop-filter:blur(22px) saturate(1.28);
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.navbar .logo,
.seat-header .logo{
  grid-column:1 !important;
  justify-self:start !important;
  max-width:260px !important;
}

.navbar .logo img,
.seat-header .logo img,
header.navbar.tec-cinema-header .logo img{
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  object-fit:contain !important;
  transform:none !important;
}

.navbar .logo span,
.seat-header .logo span{
  display:none !important;
}

.navbar nav,
.navbar #mainNav,
.seat-header nav,
.seat-header #mainNav,
header.navbar.tec-cinema-header #mainNav{
  grid-column:2 !important;
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,2.6vw,34px) !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.navbar nav a,
.navbar #mainNav a,
.seat-header nav a,
.seat-header #mainNav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(255,248,236,.78) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.navbar nav a:hover,
.navbar #mainNav a:hover,
.navbar nav a.active,
.navbar #mainNav a.active{
  color:#fff !important;
}

.navbar nav a::after,
.navbar #mainNav a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:2px !important;
  height:2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--tec-gold,#f4c45b),var(--tec-red,#e62b35)) !important;
  transform:scaleX(0) !important;
  transition:transform .25s cubic-bezier(.2,.8,.2,1) !important;
}

.navbar nav a:hover::after,
.navbar #mainNav a:hover::after,
.navbar nav a.active::after,
.navbar #mainNav a.active::after{
  transform:scaleX(1) !important;
}

.tec-search-toggle,
header.navbar.tec-cinema-header .tec-search-toggle{
  grid-column:3 !important;
  justify-self:end !important;
  display:inline-grid !important;
  place-items:center !important;
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  text-indent:-999px !important;
  overflow:hidden !important;
}

.tec-search-toggle::before{
  content:"" !important;
  display:block !important;
  width:16px !important;
  height:16px !important;
  border:2px solid currentColor !important;
  border-radius:999px !important;
  transform:translate(-2px,-2px) !important;
}

.tec-search-toggle::after{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  width:9px !important;
  height:2px !important;
  left:25px !important;
  top:27px !important;
  border-radius:999px !important;
  background:currentColor !important;
  transform:rotate(45deg) !important;
}

.tec-poster-wrap,
.show-card > img,
.movie-card > img,
.poster-card img,
.tec-rail-section .tec-poster-wrap,
.tec-rail-section .show-card > img{
  aspect-ratio:2/3 !important;
  background:#050506 !important;
  overflow:hidden !important;
}

.tec-poster-wrap{
  padding:10px !important;
  border-radius:12px 12px 0 0 !important;
}

.tec-poster-wrap img,
.show-card > img,
.movie-card > img,
.poster-card img,
.tec-rail-section .tec-poster-wrap img,
.tec-rail-section .show-card > img,
.show-card img,
.movie-card img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050506 !important;
  transform:none !important;
}

.show-card:hover .tec-poster-wrap img,
.show-card:hover > img,
.movie-card:hover > img,
.show-card:hover img,
.movie-card:hover img{
  transform:scale(1.018) !important;
}

.badge.status-now-showing,
.movie-status.status-now-showing{background:linear-gradient(135deg,#8ef5b8,#2ed47a) !important;color:#04130a !important;}
.badge.status-coming-soon,
.movie-status.status-coming-soon{background:linear-gradient(135deg,#a5d4ff,#45a3ff) !important;color:#031224 !important;}
.badge.status-sold-out,
.movie-status.status-sold-out{background:linear-gradient(135deg,#ff8d95,#e62b35) !important;color:#210204 !important;}
.badge.status-screened,
.movie-status.status-screened{background:linear-gradient(135deg,#d8dbe2,#9aa0aa) !important;color:#11131a !important;}

.show-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}

.show-actions a,
.show-actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  padding:0 8px !important;
  border-radius:9px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:12px !important;
}

.show-actions .tec-action-book{
  color:#170906 !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,#ffe08b,#f4b33e 52%,#ef4b35) !important;
}

@media (max-width:900px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:108px minmax(0,1fr) 48px !important;
    height:72px !important;
    min-height:72px !important;
    padding:0 14px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    grid-column:1 !important;
    justify-self:start !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-width:92px !important;
    height:40px !important;
    padding:0 10px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff !important;
  }

  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-emoji{
    display:none !important;
    content:none !important;
  }

  .menu-symbol,
  .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }

  .navbar .logo,
  .seat-header .logo,
  header.navbar.tec-cinema-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    max-width:152px !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:52px !important;
    max-width:148px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    grid-column:3 !important;
    justify-self:end !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
  }

  .navbar nav,
  .navbar #mainNav,
  .seat-header nav,
  .seat-header #mainNav,
  header.navbar.tec-cinema-header #mainNav{
    position:fixed !important;
    top:72px !important;
    left:10px !important;
    right:10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    max-height:0 !important;
    padding:0 12px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:0 0 14px 14px !important;
    background:rgba(8,9,13,.96) !important;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
  }

  .navbar nav.open,
  .navbar #mainNav.open,
  .seat-header nav.open,
  .seat-header #mainNav.open{
    max-height:72vh !important;
    padding:10px 12px 12px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
    overflow:auto !important;
  }

  .navbar nav a,
  .navbar #mainNav a,
  .seat-header nav a,
  .seat-header #mainNav a{
    justify-content:flex-start !important;
    min-height:46px !important;
    padding:0 10px !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
  }

  .navbar nav a::after,
  .navbar #mainNav a::after{
    display:none !important;
  }
}

@media (max-width:520px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:94px minmax(0,1fr) 42px !important;
    padding-inline:10px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:84px !important;
    height:38px !important;
    padding:0 8px !important;
  }

  .menu-symbol,
  .menu-word{
    font-size:12px !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:46px !important;
    max-width:132px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
  }

  #listingGrid.card-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  #listingGrid .show-card{
    display:grid !important;
    grid-template-columns:minmax(118px,40%) minmax(0,1fr) !important;
  }

  #listingGrid .tec-poster-wrap,
  #listingGrid .show-card > img{
    height:100% !important;
    aspect-ratio:auto !important;
    border-radius:12px 0 0 12px !important;
    padding:7px !important;
  }

  #listingGrid .show-info p:nth-of-type(1),
  #listingGrid .tec-card-session-shell,
  #listingGrid .availability-pill{
    display:none !important;
  }

  #listingGrid .show-actions{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
}

/* Phase 5 header consistency: text-based MENU and a tap-safe search control. */
@media (max-width:900px){
  .navbar,.seat-header{position:sticky!important;top:0;z-index:2000!important;display:grid!important;align-items:center!important;}
  .menu-toggle .menu-symbol,.menu-toggle .menu-word,.tec-search-toggle .search-symbol{display:inline!important;visibility:visible!important;opacity:1!important;}
  .tec-search-toggle .search-word{display:none!important;}
  .tec-search-toggle{min-width:44px!important;width:44px!important;padding:0!important;}
  .navbar .logo,.seat-header .logo{justify-self:center!important;}
}

/* TEC final surgical hardening: visible mobile header text and admin booking controls. */
@media (max-width:900px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:96px minmax(0,1fr) 104px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:92px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    display:inline-flex !important;
    width:auto !important;
    min-width:98px !important;
    padding:0 10px !important;
    gap:6px !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .menu-symbol,
  .menu-word,
  .search-symbol,
  .search-word{
    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-indent:0 !important;
  }
}

@media (max-width:520px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:88px minmax(0,1fr) 92px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:84px !important;
    padding:0 7px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    min-width:88px !important;
    height:38px !important;
    padding:0 7px !important;
  }

  .menu-symbol,
  .menu-word,
  .search-symbol,
  .search-word{
    font-size:11px !important;
  }
}

.booking-bulk-select{
  width:18px;
  height:18px;
  accent-color:#d4af37;
}

.booking-admin-tools .danger,
.admin-action-row .danger{
  border-color:rgba(255,77,77,.55) !important;
  color:#ffd2d2 !important;
}

/* =========================================================
   THIRD EYE CINEMA 10/10 PREMIUM EXPERIENCE FINAL PASS
   Stable final cascade for commercial cinema polish.
========================================================= */
:root{
  --tec-bg-0:#030406;
  --tec-bg-1:#08090d;
  --tec-panel:#111219;
  --tec-line:rgba(255,255,255,.12);
  --tec-soft:rgba(255,255,255,.68);
  --tec-text:#fff8ec;
  --tec-gold:#f4c45b;
  --tec-gold-strong:#ffcf66;
  --tec-red:#e62b35;
  --tec-green:#2ed47a;
  --tec-blue:#45a3ff;
  --tec-grey:#9aa0aa;
  --tec-ease:cubic-bezier(.2,.8,.2,1);
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(244,196,91,.12), transparent 28rem),
    radial-gradient(circle at 88% 12%, rgba(230,43,53,.10), transparent 26rem),
    var(--tec-bg-0) !important;
  color:var(--tec-text);
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.navbar,
.navbar.tec-cinema-header,
header.navbar.tec-cinema-header,
.seat-header{
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
  display:grid !important;
  grid-template-columns:minmax(190px,auto) minmax(0,1fr) minmax(52px,auto) !important;
  align-items:center !important;
  min-height:82px !important;
  height:82px !important;
  width:100% !important;
  padding:0 clamp(22px,4.8vw,78px) !important;
  gap:18px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(10,11,15,.78),rgba(5,6,9,.66)) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28);
  backdrop-filter:blur(22px) saturate(1.28);
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.navbar .logo,
.seat-header .logo{
  grid-column:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-self:start !important;
  min-width:0 !important;
  max-width:260px !important;
  text-decoration:none !important;
}

.navbar .logo img,
.seat-header .logo img,
header.navbar.tec-cinema-header .logo img{
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  object-fit:contain !important;
  transform:none !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.46)) !important;
}

.navbar .logo span,
.seat-header .logo span{
  display:none !important;
}

.navbar nav,
.navbar #mainNav,
.seat-header nav,
.seat-header #mainNav,
header.navbar.tec-cinema-header #mainNav{
  grid-column:2 !important;
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,2.6vw,34px) !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.navbar nav a,
.navbar #mainNav a,
.seat-header nav a,
.seat-header #mainNav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(255,248,236,.78) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:color .22s ease, transform .22s var(--tec-ease) !important;
}

.navbar nav a:hover,
.navbar #mainNav a:hover,
.navbar nav a.active,
.navbar #mainNav a.active{
  color:#fff !important;
  transform:translateY(-1px);
}

.navbar nav a::after,
.navbar #mainNav a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:2px !important;
  width:100% !important;
  height:2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--tec-gold),var(--tec-red)) !important;
  transform:scaleX(0) !important;
  transform-origin:center !important;
  transition:transform .25s var(--tec-ease) !important;
}

.navbar nav a:hover::after,
.navbar #mainNav a:hover::after,
.navbar nav a.active::after,
.navbar #mainNav a.active::after{
  transform:scaleX(1) !important;
}

.navbar .nav-ticket-button{
  min-height:42px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  color:#180a04 !important;
  background:linear-gradient(135deg,#ffe08b,#f4b33e 48%,#ef4b35) !important;
  box-shadow:0 14px 32px rgba(239,75,53,.22), inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.navbar .nav-ticket-button::after{
  display:none !important;
}

.menu-toggle{
  grid-column:1 !important;
  display:none !important;
}

.tec-search-toggle,
header.navbar.tec-cinema-header .tec-search-toggle{
  grid-column:3 !important;
  justify-self:end !important;
  display:inline-grid !important;
  place-items:center !important;
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  text-indent:-999px !important;
  overflow:hidden !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 12px 28px rgba(0,0,0,.22) !important;
  transition:transform .22s var(--tec-ease), background .22s ease, border-color .22s ease !important;
}

.tec-search-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(244,196,91,.40) !important;
  background:rgba(244,196,91,.12) !important;
}

.tec-search-toggle::before,
header.navbar.tec-cinema-header .tec-search-toggle::before{
  content:"" !important;
  display:block !important;
  width:16px !important;
  height:16px !important;
  border:2px solid currentColor !important;
  border-radius:999px !important;
  transform:translate(-2px,-2px) !important;
}

.tec-search-toggle::after,
header.navbar.tec-cinema-header .tec-search-toggle::after{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  width:9px !important;
  height:2px !important;
  left:25px !important;
  top:27px !important;
  border-radius:999px !important;
  background:currentColor !important;
  transform:rotate(45deg) !important;
}

.tec-search-panel{
  position:fixed !important;
  top:82px !important;
  left:50% !important;
  right:auto !important;
  z-index:1490 !important;
  display:block !important;
  width:min(720px,calc(100vw - 32px)) !important;
  padding:14px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:0 0 14px 14px !important;
  background:rgba(8,9,13,.94) !important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 24px 60px rgba(0,0,0,.42) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translate(-50%,-10px) !important;
  transition:opacity .22s ease, transform .22s var(--tec-ease) !important;
}

.tec-search-panel.open{
  opacity:1 !important;
  pointer-events:auto !important;
  transform:translate(-50%,0) !important;
}

.tec-search-panel input{
  width:100% !important;
  min-height:48px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  padding:0 14px !important;
  font-size:16px !important;
}

.tec-search-results{
  display:grid !important;
  gap:8px !important;
  margin-top:10px !important;
}

.tec-search-results a{
  display:flex !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:12px !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.page,
.section{
  width:min(1320px,100%) !important;
  max-width:1320px !important;
  margin-inline:auto !important;
  padding-inline:clamp(18px,4vw,46px) !important;
}

.page{
  padding-top:42px !important;
}

.page-title{
  font-size:clamp(34px,5vw,64px) !important;
  line-height:.98 !important;
  letter-spacing:0 !important;
  color:#fff !important;
  margin-bottom:22px !important;
}

.filter-bar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  width:100% !important;
  margin:0 0 24px !important;
  padding:8px !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.filter-bar button{
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.065) !important;
  color:rgba(255,248,236,.80) !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  transition:transform .2s var(--tec-ease), background .2s ease, color .2s ease !important;
}

.filter-bar button:hover,
.filter-bar button.active{
  transform:translateY(-1px);
  color:#170906 !important;
  background:linear-gradient(135deg,#ffe08b,#f4b33e 52%,#ef4b35) !important;
}

.card-grid:not(.tec-single-rail),
#listingGrid.card-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(232px,1fr)) !important;
  gap:clamp(16px,2vw,24px) !important;
  align-items:stretch !important;
  width:100% !important;
}

.show-card,
.movie-card,
.tec-premium-show-card{
  position:relative !important;
  overflow:hidden !important;
  min-width:0 !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03)),
    var(--tec-panel) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.09) !important;
  transition:transform .32s var(--tec-ease), box-shadow .32s var(--tec-ease), border-color .32s ease !important;
  content-visibility:auto;
  contain-intrinsic-size:560px 330px;
}

.show-card::before,
.movie-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:0 !important;
  background:linear-gradient(135deg,rgba(244,196,91,.20),transparent 36%,rgba(230,43,53,.16)) !important;
  transition:opacity .32s ease !important;
}

.show-card:hover,
.movie-card:hover,
.tec-premium-show-card:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(244,196,91,.38) !important;
  box-shadow:0 28px 78px rgba(0,0,0,.48), 0 0 0 1px rgba(244,196,91,.10), 0 0 38px rgba(244,196,91,.10) !important;
}

.show-card:hover::before,
.movie-card:hover::before{
  opacity:1 !important;
}

.tec-poster-wrap,
.show-card > img,
.movie-card > img,
.poster-card img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:2/3 !important;
  min-height:0 !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    #06070a !important;
  border-radius:12px 12px 0 0 !important;
  overflow:hidden !important;
}

.tec-poster-wrap{
  padding:10px !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

.tec-poster-wrap img,
.show-card > img,
.movie-card > img,
.poster-card img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:8px !important;
  background:#050506 !important;
  box-shadow:0 14px 30px rgba(0,0,0,.35) !important;
  transform:none !important;
  filter:saturate(1.04) contrast(1.02) !important;
  transition:transform .45s var(--tec-ease), filter .45s ease !important;
}

.show-card:hover .tec-poster-wrap img,
.show-card:hover > img,
.movie-card:hover > img{
  transform:scale(1.018) !important;
  filter:saturate(1.10) contrast(1.04) !important;
}

.tec-poster-shine{
  border-radius:inherit !important;
}

.show-info{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
  padding:16px !important;
}

.show-info h3{
  margin:2px 0 2px !important;
  color:#fff !important;
  font-size:clamp(18px,1.6vw,22px) !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
  min-height:0 !important;
}

.show-info p{
  margin:0 !important;
  color:rgba(255,248,236,.70) !important;
  font-size:13px !important;
  line-height:1.42 !important;
}

.badge,
.movie-status{
  align-self:flex-start !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:26px !important;
  max-width:100% !important;
  padding:0 10px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  color:#07100b !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:0 10px 22px rgba(0,0,0,.20) !important;
}

.status-now-showing{background:linear-gradient(135deg,#8ef5b8,var(--tec-green)) !important;color:#04130a !important;}
.status-coming-soon{background:linear-gradient(135deg,#a5d4ff,var(--tec-blue)) !important;color:#031224 !important;}
.status-sold-out{background:linear-gradient(135deg,#ff8d95,var(--tec-red)) !important;color:#210204 !important;}
.status-screened{background:linear-gradient(135deg,#d8dbe2,var(--tec-grey)) !important;color:#11131a !important;}
.status-default{background:linear-gradient(135deg,#ffe08b,var(--tec-gold)) !important;color:#170b04 !important;}

.tec-card-session-shell,
.availability-pill{
  max-width:100% !important;
}

.show-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:6px !important;
}

.show-actions a,
.show-actions button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  padding:0 8px !important;
  border-radius:9px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:none !important;
  transition:transform .2s var(--tec-ease), background .2s ease, border-color .2s ease !important;
}

.show-actions a:hover,
.show-actions button:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:rgba(244,196,91,.36) !important;
  background:rgba(244,196,91,.14) !important;
}

.show-actions .tec-action-book{
  color:#170906 !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,#ffe08b,#f4b33e 52%,#ef4b35) !important;
  box-shadow:0 12px 22px rgba(239,75,53,.18) !important;
}

.show-actions button:disabled{
  opacity:.62 !important;
  cursor:not-allowed !important;
}

.tec-rail-section .card-grid{
  grid-template-columns:none !important;
  grid-auto-flow:column !important;
  grid-auto-columns:clamp(218px,20vw,264px) !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding:8px 4px 24px !important;
  scroll-snap-type:x proximity !important;
  scrollbar-width:thin !important;
}

.tec-rail-section .show-card{
  scroll-snap-align:start !important;
}

.tec-rail-section .show-info p:nth-of-type(1){
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}

.hero.mobile-hero,
.hero{
  margin-top:0 !important;
}

@media (prefers-reduced-motion:no-preference){
  .show-card,
  .movie-card,
  .event-card,
  .session-card,
  .team-card,
  .feature-card,
  .info-card,
  .booking-box,
  .poster-card,
  .seat-panel,
  .summary-card{
    opacity:0;
    transform:translateY(14px);
  }

  .show-card.tec-visible,
  .movie-card.tec-visible,
  .event-card.tec-visible,
  .session-card.tec-visible,
  .team-card.tec-visible,
  .feature-card.tec-visible,
  .info-card.tec-visible,
  .booking-box.tec-visible,
  .poster-card.tec-visible,
  .seat-panel.tec-visible,
  .summary-card.tec-visible{
    opacity:1;
    transform:translateY(0);
    transition:opacity .45s ease, transform .45s var(--tec-ease), box-shadow .32s var(--tec-ease), border-color .32s ease !important;
  }
}

@media (min-width:1100px){
  #listingGrid.card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media (max-width:900px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:108px minmax(0,1fr) 48px !important;
    height:72px !important;
    min-height:72px !important;
    padding:0 14px !important;
    gap:8px !important;
    background:rgba(7,8,11,.84) !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    grid-column:1 !important;
    justify-self:start !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:auto !important;
    min-width:92px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-emoji{
    display:none !important;
    content:none !important;
  }

  .menu-symbol,
  .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }

  .navbar .logo,
  .seat-header .logo,
  header.navbar.tec-cinema-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    width:auto !important;
    max-width:152px !important;
    min-width:0 !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:52px !important;
    max-width:148px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    grid-column:3 !important;
    justify-self:end !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
  }

  .tec-search-toggle::before{
    width:15px !important;
    height:15px !important;
  }

  .tec-search-toggle::after{
    left:23px !important;
    top:25px !important;
  }

  .navbar nav,
  .navbar #mainNav,
  .seat-header nav,
  .seat-header #mainNav,
  header.navbar.tec-cinema-header #mainNav{
    position:fixed !important;
    top:72px !important;
    left:10px !important;
    right:10px !important;
    z-index:1495 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:auto !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 12px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:0 0 14px 14px !important;
    background:rgba(8,9,13,.96) !important;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    box-shadow:0 22px 48px rgba(0,0,0,.42) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:max-height .30s var(--tec-ease), opacity .20s ease, transform .30s var(--tec-ease), padding .30s var(--tec-ease) !important;
  }

  .navbar nav.open,
  .navbar #mainNav.open,
  .seat-header nav.open,
  .seat-header #mainNav.open{
    max-height:72vh !important;
    padding:10px 12px 12px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
    overflow:auto !important;
  }

  .navbar nav a,
  .navbar #mainNav a,
  .seat-header nav a,
  .seat-header #mainNav a{
    justify-content:flex-start !important;
    min-height:46px !important;
    padding:0 10px !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
    font-size:13px !important;
    letter-spacing:.04em !important;
  }

  .navbar nav a::after,
  .navbar #mainNav a::after{
    display:none !important;
  }

  .navbar .nav-ticket-button{
    justify-content:center !important;
    margin-top:8px !important;
  }

  .tec-search-panel{
    top:72px !important;
    width:calc(100vw - 20px) !important;
  }

  .page{
    padding-top:28px !important;
  }

  .filter-bar{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    padding:7px !important;
    scrollbar-width:none !important;
  }

  .filter-bar::-webkit-scrollbar{
    display:none;
  }

  .card-grid:not(.tec-single-rail),
  #listingGrid.card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .tec-rail-section .card-grid{
    grid-auto-columns:minmax(178px,44vw) !important;
    gap:12px !important;
    margin-right:calc(clamp(18px,4vw,46px) * -1) !important;
    padding-right:clamp(18px,4vw,46px) !important;
  }

  .show-info{
    padding:12px !important;
    gap:7px !important;
  }

  .show-info h3{
    font-size:16px !important;
  }

  .show-info p{
    font-size:12px !important;
  }

  .show-actions{
    gap:6px !important;
  }

  .show-actions a,
  .show-actions button{
    min-height:38px !important;
    padding:0 6px !important;
    font-size:11px !important;
  }
}

@media (max-width:520px){
  body{
    padding-bottom:78px !important;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:94px minmax(0,1fr) 42px !important;
    padding-inline:10px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:84px !important;
    height:38px !important;
    padding:0 8px !important;
  }

  .menu-symbol,
  .menu-word{
    font-size:12px !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:46px !important;
    max-width:132px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
  }

  .page,
  .section{
    padding-inline:14px !important;
  }

  .page-title{
    font-size:34px !important;
  }

  .card-grid:not(.tec-single-rail),
  #listingGrid.card-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
  }

  #listingGrid .show-card{
    display:grid !important;
    grid-template-columns:minmax(118px,40%) minmax(0,1fr) !important;
    align-items:stretch !important;
  }

  #listingGrid .tec-poster-wrap,
  #listingGrid .show-card > img{
    height:100% !important;
    aspect-ratio:auto !important;
    border-radius:12px 0 0 12px !important;
    padding:7px !important;
  }

  #listingGrid .tec-poster-wrap img{
    border-radius:7px !important;
  }

  #listingGrid .show-info{
    padding:12px 10px !important;
  }

  #listingGrid .show-info p:nth-of-type(1),
  #listingGrid .tec-card-session-shell,
  #listingGrid .availability-pill{
    display:none !important;
  }

  #listingGrid .show-actions{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  #listingGrid .show-actions a,
  #listingGrid .show-actions button{
    min-height:34px !important;
  }

  .tec-rail-section .card-grid{
    grid-auto-columns:minmax(152px,54vw) !important;
    gap:12px !important;
  }

  .tec-mobile-tabs{
    display:grid !important;
  }
}

@media (hover:none){
  .show-card:hover,
  .movie-card:hover,
  .tec-premium-show-card:hover{
    transform:none !important;
  }
}

@media(min-width:769px){
  .navbar:not(.tec-cinema-header) .tec-search-toggle,
  .seat-header .tec-search-toggle{
    display:none !important;
  }
}

@media(max-width:430px){
  .hero h1,
  .hero-title,
  .hero h1 span,
  .hero-title span{
    font-size:32px;
  }

  .section h2,
  .page-title{
    font-size:30px;
  }

  .show-info h3{
    font-size:26px;
  }
}

@media print{
  body{
    background:white;
  }

  .print-ticket-btn,
  .back-home{
    display:none;
  }

  .ticket-page{
    background:white;
  }

  .ticket-card{
    box-shadow:none;
    border:1px solid #000;
  }
}

/* TEC FINAL MOBILE SESSION + CARD FIX */
#addSessionBtn{
  width:100%;
  min-height:52px;
  border-radius:999px;
  margin:14px 0;
  background:linear-gradient(90deg,var(--orange),var(--red));
  color:#fff;
  border:0;
  font-weight:900;
}
.session-admin-row input,
.session-admin-row select{
  touch-action:manipulation;
}
@media(max-width:768px){
  #addSessionBtn{
    position:relative;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px!important;
  }
  .show-card{
    max-width:100%!important;
    border-radius:22px!important;
  }
  .show-card img{
    width:100%!important;
    aspect-ratio:2/3!important;
    height:auto!important;
    object-fit:cover!important;
  }
  .show-info{
    padding:14px!important;
  }
  .show-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .show-actions a,
  .show-actions button{
    width:100%!important;
    min-height:46px!important;
    border-radius:999px!important;
  }
}

/* ===== FINAL WORLD-CLASS PATCH: mobile polish, poster safety, find ticket ===== */
.find-ticket-page{
  min-height: calc(100vh - 90px);
  align-items: flex-start;
}
.find-ticket-box input{
  text-transform: none;
}
.ticket-search-result{
  margin-top:18px;
}
.ticket-result-card{
  text-align:left;
  border:1px solid rgba(255,106,0,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border-radius:18px;
  padding:20px;
}
.ticket-result-card h2{
  margin:8px 0 12px;
  color:#fff;
}
.ticket-result-card p{
  margin:7px 0;
  color:#ddd;
}
.ticket-qr-panel{
  margin:18px 0 6px;
  padding:16px;
  display:grid;
  place-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.055);
}
.ticket-qr-panel img{
  width:min(260px,72vw);
  height:auto;
  aspect-ratio:1;
  padding:10px;
  border-radius:16px;
  background:#fff;
}
.ticket-qr-panel p{
  margin:0;
  color:#f4d38a;
  font-weight:800;
  text-align:center;
}
.warning-card{
  border-color:rgba(255,70,70,.35);
}
.ticket-actions{
  margin-top:14px;
}
.show-card img,
.admin-item img,
.detail-poster img,
.cinema-detail-poster img{
  background:#111;
  object-fit:cover;
}
.show-card img{
  aspect-ratio:2/3;
}
@media (max-width: 768px){
  .navbar nav a[href="find-ticket.html"]{
    display:block;
  }
  .find-ticket-page{
    padding-top:28px;
  }
  .find-ticket-box{
    width:100%;
  }
  .ticket-result-card{
    padding:16px;
  }
  .ticket-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .show-card img{
    min-height:280px;
  }
}

/* =========================================================
   THIRD EYE CINEMA - FINAL PREMIUM CINEMA UPGRADE
   Own premium identity inspired by modern cinema standards.
========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root{
  --gold:#D4AF37;
  --gold-light:#F4D06F;
  --gold-dark:#9B7417;
  --bg:#030303;
  --panel:#0e0e10;
  --panel2:#151517;
  --line:rgba(255,255,255,.12);
  --muted:#b9b9bd;
  --text:#ffffff;
  --orange:var(--gold);
  --orange2:var(--gold-light);
  --red:#b01520;
  --radius:24px;
  --shadow:0 24px 80px rgba(0,0,0,.48);
}

*{font-family:'Inter',Arial,Helvetica,sans-serif!important;}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 20% 0%,rgba(212,175,55,.13),transparent 35%),
    radial-gradient(circle at 85% 15%,rgba(176,21,32,.12),transparent 34%),
    #030303;
  letter-spacing:-.01em;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 70%);
}
body>*{position:relative;z-index:1;}

.navbar{
  height:86px;padding:0 clamp(16px,5vw,72px);
  background:rgba(3,3,3,.78);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(212,175,55,.16);
}
.logo img{filter:drop-shadow(0 10px 24px rgba(212,175,55,.18));}
nav a,#mainNav a{letter-spacing:.04em;text-transform:uppercase;font-size:12px;position:relative;}
nav a::after,#mainNav a::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:.25s ease;}
nav a:hover::after,nav a.active::after,#mainNav a:hover::after,#mainNav a.active::after{transform:scaleX(1);}

.btn,.show-actions a,.show-actions button,.booking-box button,.pay-btn,.btn-export,.admin-save-settings,.print-ticket-btn,.support-submit{
  border-radius:999px!important;letter-spacing:.02em;text-transform:uppercase;font-size:13px;
  box-shadow:0 14px 32px rgba(0,0,0,.32);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.primary,.show-actions button,.booking-box button,.pay-btn,.btn-export,.admin-save-settings,.print-ticket-btn,.support-submit,#addSessionBtn{
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark))!important;color:#080808!important;
}
.ghost,.secondary,.show-actions .secondary,.show-actions a{
  background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;
}
.btn:hover,.show-actions a:hover,.show-actions button:hover,.booking-box button:hover,.pay-btn:hover,.print-ticket-btn:hover,.support-submit:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(0,0,0,.42);filter:saturate(1.08);}

.hero{background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.54),rgba(0,0,0,.92)),url("images/backgroup.png");}
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.86));}
.eyebrow{color:var(--gold-light)!important;text-transform:uppercase;letter-spacing:.18em;font-weight:900;}
.hero-title,.hero h1,.page-title,.section h2{letter-spacing:-.055em;line-height:.96;text-wrap:balance;}
.hero-title span,.hero h1 span,.section h2 span{color:var(--gold-light)!important;text-shadow:0 0 34px rgba(212,175,55,.24);}
.hero-text{font-size:clamp(16px,2vw,20px);color:#e4e4e7;max-width:720px;}

.section{padding-inline:clamp(16px,5vw,72px);}
.card-grid,.movie-grid,.admin-grid{gap:clamp(18px,2.4vw,28px)!important;}
.show-card,.movie-card,.admin-item,.booking-box,.find-ticket-box,.support-card,.contact-card,.ticket-card,.payment-box,.home-booking-banner,.features article{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:var(--shadow);backdrop-filter:blur(12px);
}
.show-card,.movie-card,.features article{overflow:hidden;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;}
.show-card:hover,.movie-card:hover,.features article:hover{transform:translateY(-10px);border-color:rgba(212,175,55,.42)!important;box-shadow:0 28px 90px rgba(0,0,0,.58);}
.show-card img,.movie-card img{aspect-ratio:2/3!important;object-fit:cover!important;background:#111;}
.show-card img{transition:transform .45s ease;}
.show-card:hover img{transform:scale(1.035);}
.show-info h3,.features h3{letter-spacing:-.03em;}
.status,.badge,.movie-status{border-radius:999px!important;font-weight:900!important;letter-spacing:.07em;text-transform:uppercase;}

input,select,textarea{
  background:#0b0b0d!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;border-radius:14px!important;
}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:rgba(212,175,55,.7)!important;box-shadow:0 0 0 4px rgba(212,175,55,.12)!important;}

.menu-toggle{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:14px!important;min-width:46px;min-height:46px;align-items:center;justify-content:center;}
.fa-solid{line-height:1;}

@media(max-width:768px){
  .navbar{height:74px;padding:0 14px;}
  .logo img{height:60px!important;}
  #mainNav,nav{background:rgba(5,5,5,.96)!important;backdrop-filter:blur(18px);border:1px solid rgba(212,175,55,.18);box-shadow:0 24px 80px rgba(0,0,0,.65);}
  #mainNav a,nav a{font-size:13px;padding:14px 8px;}
  .hero{padding:104px 18px 56px!important;align-items:flex-end;}
  .hero-title,.hero h1{font-size:clamp(38px,11vw,58px)!important;line-height:.95!important;}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:12px;}
  .btn,.show-actions a,.show-actions button,.booking-box button,.pay-btn{width:100%;min-height:52px;}
  .section{padding:42px 16px!important;}
  .section-head{align-items:flex-end!important;gap:12px;}
  .card-grid{grid-template-columns:1fr!important;}
  .show-card{border-radius:28px!important;}
  .show-card img{min-height:360px!important;}
  .features{grid-template-columns:1fr!important;padding:16px!important;}
  .home-booking-banner{margin-inline:16px!important;padding:22px!important;border-radius:26px!important;}
}

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


/* =========================================================
   FINAL PREMIUM TEC UPGRADE - keeps original orange/red brand
   Adds cinematic polish without changing working selectors.
========================================================= */
:root{
  --tec-glow:rgba(255,106,0,.35);
  --tec-glow-strong:rgba(255,59,0,.55);
  --glass:rgba(18,18,18,.72);
}

body{
  background:
    radial-gradient(circle at 18% 0%, rgba(255,106,0,.10), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(229,9,20,.09), transparent 28%),
    linear-gradient(180deg,#050505 0%,#080808 45%,#020202 100%);
  letter-spacing:-.01em;
}

.navbar,
.seat-header{
  background:rgba(5,5,5,.86)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}

nav a,
#mainNav a{
  position:relative;
  letter-spacing:.04em;
  text-transform:uppercase;
}

nav a::after,
#mainNav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-9px;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--orange),var(--red));
  transition:.25s ease;
}

nav a:hover::after,
nav a.active::after,
#mainNav a:hover::after,
#mainNav a.active::after{
  transform:scaleX(1);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,106,0,.12),transparent 30%),
    radial-gradient(circle at 50% 80%,rgba(255,255,255,.07),transparent 32%);
  mix-blend-mode:screen;
}

.hero-content,
.booking-copy,
.details-info,
.movie-detail-card,
.booking-box,
.payment-card,
.support-card,
.ticket-card,
.admin-card,
.admin-item,
.movie-card,
.show-card{
  position:relative;
}

.movie-card,
.show-card,
.admin-item,
.booking-box,
.payment-card,
.ticket-card,
.support-card,
.details-info,
.movie-detail-card{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.38);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.movie-card:hover,
.show-card:hover,
.session-tile:hover{
  transform:translateY(-8px) scale(1.012);
  box-shadow:0 30px 90px rgba(0,0,0,.52),0 0 0 1px rgba(255,106,0,.25),0 0 38px rgba(255,106,0,.12);
}

.movie-card img,
.show-card img{
  transition:transform .5s ease, filter .5s ease;
}

.movie-card:hover img,
.show-card:hover img{
  transform:scale(1.045);
  filter:saturate(1.12) contrast(1.08);
}

.btn,
.primary,
.show-actions button,
.booking-box button,
.pay-btn,
.btn-export,
.admin-save-settings,
.print-ticket-btn,
.support-submit,
.session-tile{
  box-shadow:0 14px 32px rgba(255,59,0,.18);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.btn:hover,
.primary:hover,
.show-actions button:hover,
.booking-box button:hover,
.pay-btn:hover,
.btn-export:hover,
.admin-save-settings:hover,
.print-ticket-btn:hover,
.support-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 45px rgba(255,59,0,.30);
}

input,
select,
textarea{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-radius:14px!important;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(255,106,0,.75)!important;
  box-shadow:0 0 0 4px rgba(255,106,0,.13);
  background:rgba(255,255,255,.08)!important;
}

.eyebrow{
  color:var(--orange)!important;
  letter-spacing:.18em!important;
  font-weight:900!important;
}

.status-pill,
.badge,
.tag{
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}

.session-panel,
.hoyts-session-panel{
  background:linear-gradient(135deg,rgba(255,106,0,.10),rgba(255,255,255,.04))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.36);
}

.session-tile{
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
}

.session-tile.disabled{
  opacity:.45;
  filter:grayscale(1);
}

@media (max-width:768px){
  .navbar{
    height:76px!important;
    padding:0 18px!important;
  }

  .logo img{
    height:62px!important;
  }

  .hero{
    padding:92px 18px 56px!important;
  }

  .movie-card:hover,
  .show-card:hover,
  .session-tile:hover{
    transform:none;
  }

  .booking-box,
  .payment-card,
  .ticket-card,
  .support-card{
    border-radius:24px!important;
  }
}

/* THIRD EYE CINEMA: mobile header and poster-card fixes only. */
@media (max-width:768px){
  /* The label is literal page text; no icon font or pseudo-icon may replace it. */
  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:98px !important;
    min-width:98px !important;
    height:44px !important;
    padding:0 11px !important;
    gap:7px !important;
    white-space:nowrap !important;
  }
  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-toggle .emoji-icon,
  .menu-toggle .menu-emoji{
    content:none !important;
    display:none !important;
  }
  .menu-toggle .menu-symbol,
  .menu-toggle .menu-word{
    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;
    color:inherit !important;
    font-family:inherit !important;
    font-style:normal !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }

  /* Let the poster establish each card's height; do not retain blank fixed space. */
  .movie-card,
  .show-card,
  .event-card{
    height:auto !important;
    min-height:0 !important;
  }
  .movie-card-image,
  .poster-wrap,
  .tec-poster-wrap,
  .movie-card > img,
  .show-card > img,
  .event-card > img{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    aspect-ratio:2 / 3 !important;
  }
  .movie-poster,
  .movie-card img,
  .show-card img,
  .event-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:2 / 3 !important;
    object-fit:cover !important;
  }
  #listingGrid .show-card{
    display:block !important;
  }
  #listingGrid .tec-poster-wrap,
  #listingGrid .show-card > img{
    height:auto !important;
    padding:0 !important;
    aspect-ratio:2 / 3 !important;
    border-radius:12px 12px 0 0 !important;
  }
}


/* TEC stable Font Awesome icons */
.tec-icon{display:inline-block; color:#ff6a00; margin-right:7px; line-height:1;}
button .tec-icon,.btn .tec-icon,.pay-btn .tec-icon{color:inherit;}
.success-icon .tec-icon{font-size:58px; color:#12c26d; margin-right:0;}
.empty-note .tec-icon{font-size:24px;}


/* === TEC LAUNCH FIX: reliable icons + mobile click/layout safety === */
.fa, .fa-solid, .fa-regular, .fa-brands{
  display:inline-block!important;
  font-style:normal!important;
  text-rendering:auto!important;
  -webkit-font-smoothing:antialiased!important;
  line-height:1!important;
  min-width:1em;
}
button .fa-solid, a .fa-solid, .btn .fa-solid{pointer-events:none;}
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  .page,.admin-page,.booking-page,.payment-container,.success-container,.ticket-page{width:100%;max-width:100%;}
  input,select,textarea,button{font-size:16px!important;}
  .show-actions a,.show-actions button,.pay-btn,.booking-box button{touch-action:manipulation;}
}


/* =========================================================
   TEC FINAL MOBILE HEADER - HOYTS STYLE
   Clean black cinema header, gold accent, MENU pill and
   full-width premium dropdown. Put at bottom to override older CSS.
========================================================= */
.navbar{
  background:#050505!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.30)!important;
}

.menu-toggle span{
  display:none;
}

@media(max-width:768px){
  .navbar{
    height:82px!important;
    min-height:82px!important;
    padding:0 16px!important;
    background:#050505!important;
    border-bottom:1px solid rgba(212,175,55,.32)!important;
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
    overflow:visible!important;
  }

  .logo{
    gap:10px!important;
    flex:1!important;
    min-width:0!important;
  }

  .logo img{
    height:60px!important;
    width:auto!important;
    max-width:132px!important;
    object-fit:contain!important;
  }

  .logo span{
    display:block!important;
    color:#ffffff!important;
    font-size:15px!important;
    line-height:1.05!important;
    font-weight:900!important;
    letter-spacing:.2px!important;
    max-width:120px!important;
  }

  .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    width:auto!important;
    height:46px!important;
    padding:0 16px!important;
    border-radius:999px!important;
    border:1px solid rgba(212,175,55,.75)!important;
    background:linear-gradient(180deg,#181818,#080808)!important;
    color:#f6d56a!important;
    font-size:17px!important;
    font-weight:900!important;
    letter-spacing:.5px!important;
    box-shadow:0 8px 26px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.05)!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .menu-toggle i{
    font-size:18px!important;
    line-height:1!important;
  }

  .menu-toggle span{
    display:inline-block!important;
    font-size:14px!important;
  }

  nav,
  #mainNav,
  .navbar nav{
    display:none!important;
    position:absolute!important;
    top:82px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    background:rgba(8,8,8,.98)!important;
    border:1px solid rgba(212,175,55,.30)!important;
    border-radius:22px!important;
    box-shadow:0 24px 70px rgba(0,0,0,.72)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    overflow:hidden!important;
  }

  nav.show,
  #mainNav.show,
  .navbar nav.show{
    display:flex!important;
    animation:tecMenuDrop .18s ease-out!important;
  }

  #mainNav a,
  .navbar nav a,
  nav a{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:48px!important;
    padding:14px 16px!important;
    border-radius:14px!important;
    border-bottom:0!important;
    color:#ffffff!important;
    font-size:15px!important;
    font-weight:900!important;
    letter-spacing:.2px!important;
  }

  #mainNav a::after,
  .navbar nav a::after,
  nav a::after{
    content:"›";
    color:#d4af37;
    font-size:22px;
    line-height:1;
  }

  #mainNav a:hover,
  #mainNav a.active,
  .navbar nav a:hover,
  .navbar nav a.active,
  nav a:hover,
  nav a.active{
    background:linear-gradient(90deg,rgba(212,175,55,.20),rgba(212,175,55,.06))!important;
    color:#f4d06f!important;
  }

  #mainNav a[href="booking.html"]{
    margin-top:8px!important;
    background:linear-gradient(90deg,#d4af37,#ff7a00)!important;
    color:#080808!important;
    justify-content:center!important;
    box-shadow:0 10px 24px rgba(212,175,55,.22)!important;
  }

  #mainNav a[href="booking.html"]::after{
    content:""!important;
  }

  .hero{
    padding-top:104px!important;
  }
}

@keyframes tecMenuDrop{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:390px){
  .logo span{
    display:none!important;
  }
  .logo img{
    max-width:120px!important;
  }
  .menu-toggle{
    padding:0 14px!important;
  }
}


/* =========================================================
   FINAL TEC HOYTS-STYLE MOBILE HEADER + PROFESSIONAL ICONS
   - Mobile header: hamburger left, logo centred, account icon right
   - Booking icons: Font Awesome only, no emoji boxes
   - Added at bottom so it overrides older rules safely
========================================================= */
.booking-copy .eyebrow i,
.booking-box h3 i,
.booking-features i,
.brand-inline-icon,
.tec-icon{
  color:#f5c542 !important;
}

.booking-features span{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}

.booking-features i,
.booking-copy .eyebrow i,
.booking-box h3 i{
  font-size:16px !important;
  width:18px !important;
  text-align:center !important;
  margin-right:4px !important;
}

@media(max-width:768px){
  .navbar{
    height:74px !important;
    min-height:74px !important;
    padding:0 18px !important;
    background:#242424 !important;
    border-bottom:0 !important;
    box-shadow:0 8px 28px rgba(0,0,0,.45) !important;
    display:grid !important;
    grid-template-columns:54px 1fr 54px !important;
    align-items:center !important;
    position:sticky !important;
    top:0 !important;
    z-index:9999 !important;
    overflow:visible !important;
  }

  .navbar::after{
    content:"\f007";
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
    grid-column:3;
    justify-self:end;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffffff;
    font-size:28px;
    line-height:1;
  }

  .menu-toggle{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:48px !important;
    height:48px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:#ffffff !important;
    box-shadow:none !important;
  }

  .menu-toggle i{
    font-size:34px !important;
    color:#ffffff !important;
    line-height:1 !important;
  }

  .menu-toggle span,
  .menu-toggle::after{
    display:none !important;
    content:"" !important;
  }

  .logo{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:210px !important;
  }

  .logo img{
    height:54px !important;
    max-width:190px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .logo span{
    display:none !important;
  }

  nav,
  #mainNav,
  .navbar nav{
    display:none !important;
    position:absolute !important;
    top:74px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:12px 18px 18px !important;
    background:#242424 !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    border-radius:0 0 24px 24px !important;
    box-shadow:0 24px 60px rgba(0,0,0,.72) !important;
    overflow:hidden !important;
  }

  nav.show,
  #mainNav.show,
  .navbar nav.show,
  nav.open,
  #mainNav.open,
  .navbar nav.open{
    display:flex !important;
    animation:tecHoytsMenu .18s ease-out !important;
  }

  #mainNav a,
  .navbar nav a,
  nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:52px !important;
    padding:15px 4px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    border-radius:0 !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:900 !important;
    letter-spacing:.35px !important;
    text-transform:uppercase !important;
  }

  #mainNav a::after,
  .navbar nav a::after,
  nav a::after{
    content:"›" !important;
    color:#ff4545 !important;
    font-size:26px !important;
    line-height:1 !important;
  }

  #mainNav a:hover,
  #mainNav a.active,
  .navbar nav a:hover,
  .navbar nav a.active,
  nav a:hover,
  nav a.active{
    color:#ff4545 !important;
    background:transparent !important;
  }

  .hero{
    padding-top:96px !important;
  }
}

@keyframes tecHoytsMenu{
  from{opacity:0; transform:translateY(-8px)}
  to{opacity:1; transform:translateY(0)}
}


/* =========================================================
   PREMIUM HOYTS-STYLE UPGRADE — Third Eye Cinema
   Black + Gold cinema palette, glass cards, emojis, animation,
   mobile sticky booking and polished footer.
========================================================= */
:root{
  --tec-black:#030303;
  --tec-black-2:#090909;
  --tec-card:rgba(255,255,255,.075);
  --tec-card-soft:rgba(255,255,255,.045);
  --tec-border:rgba(255,255,255,.13);
  --tec-gold:#d4af37;
  --tec-gold-2:#f7d774;
  --tec-gold-3:#9d7419;
  --tec-text:#ffffff;
  --tec-muted:#c9c9c9;
  --tec-shadow:0 24px 80px rgba(0,0,0,.62);
  --orange:#d4af37;
  --orange2:#f7d774;
  --red:#9d7419;
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at top left, rgba(212,175,55,.13), transparent 36%),
    radial-gradient(circle at top right, rgba(247,215,116,.08), transparent 34%),
    linear-gradient(180deg,#020202,#080808 45%,#020202);
  color:var(--tec-text);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 70%);
  z-index:-1;
}

/* HOYTS-style dark cinema navigation */
.navbar{
  background:rgba(3,3,3,.92)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(212,175,55,.18)!important;
  box-shadow:0 12px 38px rgba(0,0,0,.38);
}
.logo img{filter:drop-shadow(0 12px 25px rgba(212,175,55,.22));}
#mainNav a, nav a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#f5f5f5!important;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:12px!important;
  font-weight:950!important;
  position:relative;
  transition:color .25s ease, transform .25s ease;
}
#mainNav a::after, nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-12px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--tec-gold-2),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}
#mainNav a:hover, #mainNav a.active, nav a:hover, nav a.active{color:var(--tec-gold-2)!important; transform:translateY(-1px);}
#mainNav a:hover::after, #mainNav a.active::after, nav a:hover::after, nav a.active::after{transform:scaleX(1);}

.menu-toggle{
  align-items:center;
  justify-content:center;
  gap:8px;
  border:none!important;
  color:#070707!important;
  background:linear-gradient(135deg,var(--tec-gold-2),var(--tec-gold))!important;
  box-shadow:0 12px 28px rgba(212,175,55,.22);
  font-weight:950;
  letter-spacing:.08em;
  transition:transform .25s ease, box-shadow .25s ease;
}
.menu-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(212,175,55,.28);}
.menu-emoji{font-size:18px;line-height:1;}
.menu-word{font-size:12px;line-height:1;}

/* Premium buttons */
.btn,.show-actions a,.show-actions button,.booking-box button,.pay-btn,.support-submit,.print-ticket-btn,.btn-export,.admin-save-settings{
  border-radius:999px!important;
  text-transform:uppercase;
  letter-spacing:.04em;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease,border-color .25s ease;
}
.primary,.show-actions button,.booking-box button,.pay-btn,.support-submit,.print-ticket-btn,.btn-export,.admin-save-settings{
  background:linear-gradient(135deg,var(--tec-gold-2),var(--tec-gold),var(--tec-gold-3))!important;
  color:#070707!important;
  box-shadow:0 16px 36px rgba(212,175,55,.23)!important;
}
.ghost,.secondary,.show-actions a,.show-actions .secondary{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#fff!important;
}
.btn:hover,.show-actions a:hover,.show-actions button:hover,.booking-box button:hover,.pay-btn:hover,.support-submit:hover,.print-ticket-btn:hover{
  transform:translateY(-3px);
  filter:saturate(1.08);
  box-shadow:0 24px 62px rgba(0,0,0,.45)!important;
}

/* Premium hero and sections */
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.86))!important;}
.eyebrow{color:var(--tec-gold-2)!important;letter-spacing:.18em;text-transform:uppercase;font-weight:950;}
.hero-title,.hero h1,.section h2,.page-title,.booking-copy h2{letter-spacing:-.055em;text-wrap:balance;}
.hero-title span,.hero h1 span,.section h2 span,.booking-copy h2 span{color:var(--tec-gold-2)!important;text-shadow:0 0 34px rgba(212,175,55,.22);}
.section-head{gap:18px;}
.view-link{color:var(--tec-gold-2)!important;font-weight:950;transition:transform .25s ease;}
.view-link:hover{transform:translateX(4px);}

/* Glassmorphism cards */
.show-card,.movie-card,.booking-box,.find-ticket-box,.payment-card,.success-card,.ticket-card,.support-card,.contact-card-new,.team-card,.features article,.home-booking-banner,.detail-card,.admin-card,.ticket-result-card{
  background:linear-gradient(180deg,var(--tec-card),var(--tec-card-soft))!important;
  border:1px solid var(--tec-border)!important;
  box-shadow:var(--tec-shadow)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.show-card,.movie-card,.features article,.home-booking-banner{
  overflow:hidden;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.show-card:hover,.movie-card:hover,.features article:hover,.home-booking-banner:hover{
  transform:translateY(-8px);
  border-color:rgba(212,175,55,.42)!important;
  box-shadow:0 30px 92px rgba(0,0,0,.64)!important;
}
.show-card img,.movie-card img{
  aspect-ratio:2/3!important;
  object-fit:cover!important;
  background:#111;
  transition:transform .45s ease,filter .45s ease;
}
.show-card:hover img,.movie-card:hover img{transform:scale(1.035);filter:saturate(1.07) contrast(1.04);}
.show-info{position:relative;}
.badge,.availability-pill,.status,.movie-status{
  border-radius:999px!important;
  font-weight:950!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.badge{color:var(--tec-gold-2)!important;}
.show-info h3,.features h3{letter-spacing:-.03em;}
.show-info p{color:#dedede!important;}
.booking-features span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

input,select,textarea{
  background:#09090b!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  border-radius:16px!important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:rgba(212,175,55,.75)!important;
  box-shadow:0 0 0 4px rgba(212,175,55,.12)!important;
}

/* Sticky mobile booking button */
.mobile-sticky-book{
  display:none;
  position:fixed;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:1200;
  min-height:56px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#070707!important;
  background:linear-gradient(135deg,var(--tec-gold-2),var(--tec-gold),var(--tec-gold-3));
  box-shadow:0 18px 52px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1) inset;
}

/* Premium footer */
footer{
  position:relative;
  padding:46px 18px 92px!important;
  color:#d8d8d8!important;
  border-top:1px solid rgba(212,175,55,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.54));
}
footer::before{
  content:"🎬 Third Eye Cinema";
  display:block;
  color:var(--tec-gold-2);
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:12px;
}
footer p{margin:0 auto;max-width:760px;line-height:1.7;}

/* Smooth entrance animations */
@keyframes tecFadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hero-content,.section-head,.show-card,.features article,.booking-box,.booking-copy,.home-booking-banner{animation:tecFadeUp .65s ease both;}
.show-card:nth-child(2),.features article:nth-child(2){animation-delay:.08s;}
.show-card:nth-child(3),.features article:nth-child(3){animation-delay:.16s;}
.show-card:nth-child(4),.features article:nth-child(4){animation-delay:.24s;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Mobile polish */
@media(max-width:768px){
  body{padding-bottom:78px;}
  .navbar{
    height:76px!important;
    min-height:76px!important;
    padding:8px 14px!important;
  }
  .logo img{height:58px!important;max-width:130px!important;}
  .menu-toggle{
    display:flex!important;
    min-width:96px!important;
    height:44px!important;
    border-radius:999px!important;
  }
  #mainNav,nav,.navbar nav{
    top:82px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    padding:14px!important;
    gap:8px!important;
    border-radius:24px!important;
    background:rgba(5,5,5,.97)!important;
    border:1px solid rgba(212,175,55,.22)!important;
    box-shadow:0 28px 86px rgba(0,0,0,.72)!important;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  #mainNav.show,nav.show{display:flex!important;}
  #mainNav a,nav a{
    width:100%;
    padding:14px 14px!important;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.045);
    font-size:13px!important;
  }
  #mainNav a::after,nav a::after{display:none;}
  #mainNav a:hover,#mainNav a.active,nav a:hover,nav a.active{background:rgba(212,175,55,.12);}
  .hero{padding:106px 18px 58px!important;align-items:flex-end!important;}
  .hero-title,.hero h1{font-size:clamp(38px,11vw,58px)!important;line-height:.95!important;}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:12px;}
  .btn,.show-actions a,.show-actions button,.booking-box button,.pay-btn{width:100%;min-height:52px;}
  .section{padding:44px 16px!important;}
  .section-head{align-items:flex-end!important;gap:12px!important;}
  .card-grid{grid-template-columns:1fr!important;justify-content:stretch!important;}
  .show-card{border-radius:28px!important;}
  .show-card img{height:auto!important;min-height:360px!important;}
  .features{grid-template-columns:1fr!important;padding:16px!important;}
  .home-booking-banner{margin-inline:16px!important;padding:22px!important;border-radius:26px!important;}
  .booking-features{justify-content:flex-start!important;}
  .booking-features span{width:100%;justify-content:flex-start;}
  .mobile-sticky-book{display:flex;}
}

@media(max-width:430px){
  .logo img{height:52px!important;}
  .menu-toggle{min-width:88px!important;height:42px!important;}
  .menu-word{font-size:11px;}
  .mobile-sticky-book{left:10px;right:10px;bottom:10px;}
}


/* =========================================================
   Emoji Icon System
   Replaces Font Awesome icons site-wide to prevent missing
   font boxes and keep the cinema UI consistent.
========================================================= */
.emoji-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35em;
  min-width:1.35em;
  height:1.35em;
  margin-right:8px;
  line-height:1;
  font-style:normal;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  vertical-align:-0.15em;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));
}

.eyebrow .emoji-icon,
.booking-box h3 .emoji-icon,
.page-title .emoji-icon,
.section-title .emoji-icon{
  color:var(--gold,#d4af37);
}

.booking-features .emoji-icon,
.show-card .emoji-icon,
.details-meta .emoji-icon,
.movie-meta .emoji-icon,
.summary-info .emoji-icon,
.card-meta .emoji-icon{
  margin-right:7px;
}

button .emoji-icon,
.btn .emoji-icon,
.show-actions .emoji-icon,
.mobile-sticky-book .emoji-icon{
  margin-right:7px;
  transform:translateY(-1px);
}

#mainNav .emoji-icon,
nav .emoji-icon{
  margin-right:6px;
}



/* =========================================================
   PREMIUM CINEMA ANIMATION LAYER - Added for production polish
========================================================= */
:root{
  --gold:#f5c451;
  --gold2:#b8860b;
  --ease-premium:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth;}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 20% 10%, rgba(245,196,81,.16), transparent 32%),
    radial-gradient(circle at 85% 20%, rgba(255,106,0,.12), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(229,9,20,.08), transparent 42%);
  animation:tecAmbientGlow 14s var(--ease-premium) infinite alternate;
}
@keyframes tecAmbientGlow{
  0%{transform:scale(1);filter:brightness(.92)}
  100%{transform:scale(1.08);filter:brightness(1.18)}
}
.navbar{
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  background:rgba(5,5,5,.82)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.38);
  animation:tecDropIn .7s var(--ease-premium) both;
}
@keyframes tecDropIn{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}
nav a,#mainNav a,.btn,button,.pay-btn,.booking-box button,.show-actions a,.show-actions button{
  position:relative;
  overflow:hidden;
  transition:transform .28s var(--ease-premium), box-shadow .28s var(--ease-premium), color .28s ease, border-color .28s ease, background .28s ease;
}
nav a::after,#mainNav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--gold),var(--orange));
  transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease-premium);border-radius:99px;
}
nav a:hover::after,#mainNav a:hover::after,nav a.active::after,#mainNav a.active::after{transform:scaleX(1)}
.btn::before,button::before,.pay-btn::before,.booking-box button::before,.show-actions a::before,.show-actions button::before{
  content:"";position:absolute;top:-80%;left:-40%;width:35%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:rotate(22deg) translateX(-180%);transition:transform .75s var(--ease-premium);pointer-events:none;
}
.btn:hover::before,button:hover::before,.pay-btn:hover::before,.booking-box button:hover::before,.show-actions a:hover::before,.show-actions button:hover::before{transform:rotate(22deg) translateX(520%)}
.btn:hover,button:hover,.pay-btn:hover,.booking-box button:hover,.show-actions a:hover,.show-actions button:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(245,196,81,.22)}
.btn:active,button:active,.pay-btn:active{transform:translateY(0) scale(.98)}
.hero,.page-hero,.details-hero,.booking-section,.payment-card,.success-card,.contact-card,.about-card,.admin-panel,.ticket-card{
  animation:tecFadeLift .85s var(--ease-premium) both;
}
@keyframes tecFadeLift{from{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.movie-card,.event-card,.show-card,.session-card,.team-card,.feature-card,.info-card,.booking-box,.poster-card,.seat-panel,.summary-card{
  transform:translateY(18px);
  opacity:0;
  transition:opacity .7s var(--ease-premium), transform .7s var(--ease-premium), box-shadow .35s var(--ease-premium), border-color .35s ease;
  will-change:transform,opacity;
}
.movie-card.tec-visible,.event-card.tec-visible,.show-card.tec-visible,.session-card.tec-visible,.team-card.tec-visible,.feature-card.tec-visible,.info-card.tec-visible,.booking-box.tec-visible,.poster-card.tec-visible,.seat-panel.tec-visible,.summary-card.tec-visible{
  opacity:1;transform:translateY(0);
}
.movie-card:hover,.event-card:hover,.show-card:hover,.session-card:hover,.team-card:hover,.feature-card:hover,.poster-card:hover{
  transform:translateY(-10px) scale(1.018)!important;
  border-color:rgba(245,196,81,.55)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.55),0 0 0 1px rgba(245,196,81,.12),0 0 42px rgba(245,196,81,.12);
}
.movie-card img,.event-card img,.show-card img,.poster-card img{transition:transform .75s var(--ease-premium), filter .45s ease;}
.movie-card:hover img,.event-card:hover img,.show-card:hover img,.poster-card:hover img{transform:scale(1.075);filter:saturate(1.15) contrast(1.06)}
.seat,.seat-btn,[data-seat]{transition:transform .18s var(--ease-premium), box-shadow .18s ease, background .18s ease!important;}
.seat:hover,.seat-btn:hover,[data-seat]:hover{transform:translateY(-3px) scale(1.08);box-shadow:0 10px 20px rgba(245,196,81,.2)}
input,select,textarea{transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(245,196,81,.75)!important;box-shadow:0 0 0 4px rgba(245,196,81,.13);transform:translateY(-1px)}
.sticky-booking,.mobile-booking-btn,.sticky-mobile-booking{
  animation:tecPulseGold 2.5s ease-in-out infinite;
}
@keyframes tecPulseGold{0%,100%{box-shadow:0 12px 34px rgba(245,196,81,.18)}50%{box-shadow:0 16px 48px rgba(245,196,81,.38)}}
@media(max-width:768px){
  #mainNav,nav{transition:max-height .38s var(--ease-premium), opacity .28s ease, transform .38s var(--ease-premium);transform-origin:top;}
  #mainNav:not(.open),nav:not(.open){max-height:0;opacity:0;transform:translateY(-8px);pointer-events:none;}
  #mainNav.open,nav.open{max-height:560px;opacity:1;transform:translateY(0);}
  .movie-card:hover,.event-card:hover,.show-card:hover,.session-card:hover{transform:translateY(-4px) scale(1.005)!important;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .movie-card,.event-card,.show-card,.session-card,.team-card,.feature-card,.info-card,.booking-box,.poster-card,.seat-panel,.summary-card{opacity:1!important;transform:none!important;}
}

/* === TEC Premium Admin Dashboard Upgrade 2026 === */
:root{
  --tec-gold:#d8a63a;
  --tec-gold-2:#ffd66b;
  --tec-bg:#050505;
  --tec-card:rgba(255,255,255,.075);
  --tec-border:rgba(255,214,107,.18);
}
.admin-page,
.admin-section{
  background:
    radial-gradient(circle at 10% 0%, rgba(216,166,58,.18), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(255,214,107,.08), transparent 32%),
    linear-gradient(135deg,#030303,#111 48%,#050505);
}
.admin-card,
.booking-table-card,
.checkin-card,
.support-admin-item,
.producer-report{
  position:relative;
  overflow:hidden;
  border:1px solid var(--tec-border)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px);
  transform:translateY(0);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.admin-card::before,
.producer-report::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg,transparent,rgba(255,214,107,.16),transparent);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.admin-card:hover,
.producer-report:hover{
  transform:translateY(-4px);
  border-color:rgba(255,214,107,.38)!important;
  box-shadow:0 32px 100px rgba(0,0,0,.58), 0 0 34px rgba(216,166,58,.08)!important;
}
.admin-card:hover::before,
.producer-report:hover::before{opacity:1;}
.admin-card h2,
.admin-card h3,
.producer-report h2{letter-spacing:-.03em;}
.admin-card input,
.admin-card select,
.admin-card textarea,
.booking-search{
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(0,0,0,.38)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.admin-card input:focus,
.admin-card select:focus,
.admin-card textarea:focus,
.booking-search:focus{
  outline:none!important;
  border-color:rgba(255,214,107,.65)!important;
  box-shadow:0 0 0 4px rgba(216,166,58,.13), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.admin-card button,
.btn-export,
.admin-save-settings,
.edit-btn,
.paid-btn{
  transition:transform .2s ease, filter .2s ease, box-shadow .2s ease!important;
}
.admin-card button:hover,
.btn-export:hover,
.admin-save-settings:hover,
.edit-btn:hover,
.paid-btn:hover{
  transform:translateY(-2px) scale(1.01);
  filter:brightness(1.08);
  box-shadow:0 14px 34px rgba(216,166,58,.16)!important;
}
.session-admin-row{
  position:relative;
  border:1px solid rgba(255,214,107,.16)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(216,166,58,.08),rgba(255,255,255,.035))!important;
  padding:18px!important;
  animation:tecSlideIn .26s ease both;
}
@keyframes tecSlideIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.report-hero{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  align-items:center;
  margin-bottom:20px;
}
.report-poster{
  width:110px;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,214,107,.25);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.report-stats div,
.meta-grid div{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.25);
  border-radius:18px;
  transition:transform .22s ease, border-color .22s ease;
}
.report-stats div:hover,
.meta-grid div:hover{transform:translateY(-3px);border-color:rgba(255,214,107,.32);}
.report-table-wrap{overflow:auto;margin-top:18px;border-radius:18px;border:1px solid rgba(255,255,255,.1)}
.report-table{min-width:780px;width:100%;}
.tec-visible{opacity:1!important;transform:none!important;}
.show-card,.admin-card,.session-admin-row{will-change:transform;}
@media(max-width:768px){
  .report-hero{grid-template-columns:84px 1fr;gap:14px;}
  .report-poster{width:84px;border-radius:14px;}
  .admin-card{border-radius:22px!important;}
}

/* ============================================================
   TEC Premium Multi-Session UI
============================================================ */
.tec-premium-show-card{position:relative;overflow:hidden;border:1px solid rgba(255,214,139,.16);background:linear-gradient(145deg,rgba(18,18,18,.94),rgba(5,5,5,.98));box-shadow:0 24px 70px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);transform:translateZ(0);}
.tec-premium-show-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 20% 0%,rgba(255,184,77,.18),transparent 32%),radial-gradient(circle at 85% 22%,rgba(255,106,0,.12),transparent 30%);pointer-events:none;opacity:.85;}
.tec-premium-show-card>*{position:relative;z-index:1;}
.tec-poster-wrap{position:relative;overflow:hidden;border-radius:inherit;}
.tec-poster-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 38%,transparent 62%);transform:translateX(-135%);transition:transform .85s cubic-bezier(.2,.8,.2,1);pointer-events:none;}
.tec-premium-show-card:hover .tec-poster-shine{transform:translateX(135%);}
.tec-card-session-shell{margin:16px 0 14px;padding:14px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,214,139,.17);backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.tec-card-session-shell.tba{border-style:dashed;opacity:.88;}
.tec-card-session-shell.tba p{margin:8px 0 0;color:rgba(255,255,255,.68);font-size:13px;}
.tec-session-mini-head{display:flex;align-items:center;gap:8px;color:#ffd08a;margin-bottom:10px;}
.tec-session-mini-head strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.tec-card-session-scroll{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 6px;margin:0 -2px;}
.tec-session-pill{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:116px;padding:12px 14px;border-radius:18px;text-decoration:none;color:#fff;background:linear-gradient(145deg,rgba(255,122,0,.22),rgba(255,193,7,.08));border:1px solid rgba(255,202,109,.32);box-shadow:0 10px 28px rgba(255,122,0,.12),inset 0 1px 0 rgba(255,255,255,.12);animation:tecSessionPop .55s cubic-bezier(.18,.9,.22,1.18) both;animation-delay:var(--delay,0ms);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;}
.tec-session-pill:hover{transform:translateY(-4px) scale(1.025);border-color:rgba(255,220,139,.72);box-shadow:0 18px 46px rgba(255,149,0,.28),0 0 24px rgba(255,196,87,.16),inset 0 1px 0 rgba(255,255,255,.22);background:linear-gradient(145deg,rgba(255,150,0,.34),rgba(255,214,102,.14));}
.tec-session-pill span{font-weight:900;font-size:12px;color:#ffd08a;text-transform:uppercase;letter-spacing:.06em;}
.tec-session-pill b{font-size:15px;font-weight:950;white-space:nowrap;}
.tec-session-pill.disabled{opacity:.46;filter:grayscale(.7);pointer-events:none;}
.tec-session-pill em{font-size:10px;color:#ffb3b3;font-style:normal;}
.tec-session-more{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:86px;border-radius:18px;color:#ffd08a;text-decoration:none;border:1px dashed rgba(255,214,139,.35);}
.tec-card-session-shell small{display:block;margin-top:6px;color:rgba(255,255,255,.58);font-size:12px;}
.tec-small-details{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 16px;background:linear-gradient(135deg,#ffb13b,#ff6a00);color:#130900!important;font-weight:900;text-decoration:none;box-shadow:0 14px 32px rgba(255,106,0,.24);}
.hoyts-session-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(20,20,20,.92),rgba(4,4,4,.96));border:1px solid rgba(255,210,120,.18);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.08);}
.hoyts-session-panel::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 20% 20%,rgba(255,169,53,.18),transparent 25%),radial-gradient(circle at 78% 42%,rgba(255,85,0,.13),transparent 28%);pointer-events:none;}
.hoyts-session-panel>*{position:relative;z-index:1;}
.session-tile{animation:tecSessionPop .58s cubic-bezier(.18,.9,.22,1.18) both;animation-delay:var(--delay,0ms);}
.session-tile:not(.disabled):hover{transform:translateY(-6px) scale(1.035);box-shadow:0 20px 54px rgba(255,144,0,.28),0 0 28px rgba(255,194,86,.18);}
#bookingSession{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(255,214,139,.22);background:rgba(255,255,255,.07);color:#fff;padding:12px 14px;outline:none;}
#bookingSession option{background:#111;color:#fff;}
#bookingButton:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.45);}
@keyframes tecSessionPop{from{opacity:0;transform:translateY(12px) scale(.94);filter:blur(5px);}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}}
@media(max-width:760px){.tec-session-pill{min-width:104px;padding:11px 12px}.tec-card-session-shell{margin-left:-2px;margin-right:-2px}.tec-premium-show-card{border-radius:24px}}

/* === THIRD EYE CINEMA LUXURY OVERHAUL + STRIPE TICKET UI 2026 === */
:root{
  --tec-obsidian:#090605;
  --tec-charcoal:#14100d;
  --tec-wine:#2a070b;
  --tec-gold:#d8b15f;
  --tec-gold-soft:#f3d992;
  --tec-cream:#fff7e8;
  --tec-muted:#bba987;
  --tec-glass:rgba(255,247,232,.08);
  --tec-border:rgba(216,177,95,.28);
  --tec-shadow:0 26px 80px rgba(0,0,0,.48);
}
html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(216,177,95,.18), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(93,17,28,.28), transparent 35%),
    linear-gradient(135deg, #050303 0%, #130d0a 50%, #070403 100%) !important;
  color:var(--tec-cream);
  letter-spacing:.01em;
}
.navbar{
  backdrop-filter:blur(22px) saturate(145%);
  background:linear-gradient(180deg, rgba(10,7,5,.92), rgba(10,7,5,.72)) !important;
  border-bottom:1px solid var(--tec-border) !important;
  box-shadow:0 12px 50px rgba(0,0,0,.35);
}
.logo span{
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:linear-gradient(90deg,#fff7e8,#d8b15f,#fff1bc);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
.menu-toggle{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--tec-border) !important;
  background:linear-gradient(135deg, rgba(216,177,95,.22), rgba(255,255,255,.06)) !important;
  color:var(--tec-cream) !important;
  border-radius:999px !important;
  min-width:104px;
  min-height:44px;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.menu-word{display:inline !important;font-size:12px;}
.menu-toggle:hover,.pay-btn:hover,.btn:hover{transform:translateY(-2px);filter:brightness(1.08);}
nav a{
  border-radius:999px;
  transition:transform .22s ease, background .22s ease, color .22s ease;
}
nav a:hover{
  background:rgba(216,177,95,.14);
  color:var(--tec-gold-soft) !important;
  transform:translateY(-1px);
}
.payment-container,.success-container,.page-hero,.content-section{
  position:relative;
}
.payment-card,.success-card,.movie-card,.event-card,.booking-card,.contact-card,.support-card,.login-card,.admin-panel,.tec-ticket-card{
  background:linear-gradient(145deg, rgba(255,247,232,.12), rgba(255,255,255,.045)) !important;
  border:1px solid var(--tec-border) !important;
  box-shadow:var(--tec-shadow) !important;
  backdrop-filter:blur(20px) saturate(145%);
}
.payment-card,.success-card{
  border-radius:30px !important;
  overflow:hidden;
}
.payment-card::before,.success-card::before,.tec-ticket-card::before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,241,188,.9), transparent);
  margin:-1px -1px 24px;
}
.payment-card h1,.success-card h1,.page-title,.section-title{
  font-weight:950 !important;
  letter-spacing:-.035em;
  color:var(--tec-cream) !important;
  text-shadow:0 10px 30px rgba(0,0,0,.28);
}
.payment-card h2,.payment-card h3,.success-card h2{
  color:var(--tec-gold-soft) !important;
}
.payment-card p,.success-card p,.mini-note{
  color:rgba(255,247,232,.74) !important;
}
.pay-btn,.payment-card button,.login-card button,.admin-btn,.primary-btn{
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f7df9c 0%, #d8b15f 42%, #9d6a1d 100%) !important;
  color:#160d06 !important;
  font-weight:950 !important;
  letter-spacing:.08em;
  box-shadow:0 18px 44px rgba(216,177,95,.22), inset 0 1px 0 rgba(255,255,255,.55) !important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.secondary-btn{
  background:linear-gradient(135deg, rgba(255,247,232,.14), rgba(255,247,232,.06)) !important;
  color:var(--tec-cream) !important;
  border:1px solid var(--tec-border) !important;
}
input,select,textarea{
  background:rgba(255,247,232,.08) !important;
  color:var(--tec-cream) !important;
  border:1px solid rgba(216,177,95,.24) !important;
  border-radius:16px !important;
  outline:none !important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(243,217,146,.78) !important;
  box-shadow:0 0 0 4px rgba(216,177,95,.12) !important;
  background:rgba(255,247,232,.11) !important;
}
.lux-kicker{
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--tec-gold-soft) !important;
  font-size:12px;
  font-weight:900;
}
.tec-paid-page{padding:42px 16px 70px;}
.tec-ticket-reveal{max-width:860px;margin:0 auto;text-align:center;}
.tec-ticket-card{
  position:relative;
  margin:26px auto 10px;
  max-width:720px;
  padding:0 24px 28px;
  border-radius:28px;
  text-align:left;
  color:var(--tec-cream);
}
.tec-ticket-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(216,177,95,.24);
  color:var(--tec-gold-soft);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
}
.tec-ticket-head strong{font-size:16px;color:#fff7e8;letter-spacing:.06em;}
.tec-qr-wrap{display:flex;justify-content:center;padding:24px 0 14px;}
.tec-qr-wrap img{width:230px;height:230px;border-radius:22px;border:12px solid #fff;box-shadow:0 20px 60px rgba(0,0,0,.42);background:#fff;}
.tec-ticket-card h2{text-align:center;margin:8px 0 22px;color:var(--tec-gold-soft);}
.tec-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.tec-ticket-grid div{padding:14px;border:1px solid rgba(216,177,95,.18);border-radius:18px;background:rgba(0,0,0,.18);}
.tec-ticket-grid span{display:block;font-size:12px;color:rgba(255,247,232,.6);margin-bottom:5px;text-transform:uppercase;letter-spacing:.1em;}
.tec-ticket-grid strong{display:block;color:#fff7e8;word-break:break-word;}
.success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px;}
@media (max-width:760px){
  .tec-ticket-grid{grid-template-columns:1fr;}
  .tec-ticket-card{padding:0 16px 22px;}
  .tec-qr-wrap img{width:210px;height:210px;}
  .success-actions .pay-btn{width:100%;text-align:center;}
  .menu-toggle{min-width:98px;}
}
@media print{
  .navbar,.success-actions{display:none !important;}
  body{background:#fff !important;color:#000 !important;}
  .success-card,.tec-ticket-card{box-shadow:none !important;border:1px solid #b88a2a !important;background:#fff !important;color:#000 !important;}
  .tec-ticket-grid strong,.tec-ticket-card h2,.tec-ticket-head strong{color:#000 !important;}
}

/* =========================================================
   THIRD EYE CINEMA PREMIUM CINEMA UPGRADE - 2026-06-17
   Final override layer for mockup-aligned desktop/mobile UI.
========================================================= */
:root{
  --tec-ink:#030303;
  --tec-black:#070707;
  --tec-surface:#101010;
  --tec-surface-2:#151515;
  --tec-line:rgba(255,255,255,.1);
  --tec-copy:#f7f3ea;
  --tec-muted:rgba(247,243,234,.68);
  --tec-hot:#ff2229;
  --tec-amber:#ffad48;
  --tec-gold:#f4c86a;
}

body{
  background:#050505 !important;
  color:var(--tec-copy) !important;
  padding-bottom:0;
}

.tec-top-strip{
  height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(28px,6vw,92px);
  background:#121212;
  color:rgba(247,243,234,.78);
  font-size:13px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tec-top-strip span{display:flex;align-items:center;gap:26px;}
.tec-top-strip a,.tec-top-strip i{color:#f7f3ea;}

.navbar.tec-cinema-header,
.navbar{
  min-height:86px !important;
  height:86px !important;
  padding:0 clamp(28px,6vw,92px) !important;
  background:rgba(5,5,5,.96) !important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.09) !important;
  gap:22px;
}
.navbar .logo img{
  height:66px !important;
  max-width:230px;
}
.navbar .logo span{
  display:none !important;
}
.navbar,
.navbar.tec-cinema-header{
  left:auto !important;
  right:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.navbar nav,
.navbar #mainNav{
  gap:30px !important;
  margin-left:auto;
}
.navbar nav a,
.navbar #mainNav a{
  position:relative;
  display:inline-flex;
  min-height:auto;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#f9f2e7 !important;
  font-size:13px !important;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:900 !important;
  box-shadow:none !important;
}
.navbar nav a.active,
.navbar #mainNav a.active{color:var(--tec-amber) !important;}
.navbar nav a.active::after,
.navbar #mainNav a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-16px;
  height:2px;
  background:linear-gradient(90deg,var(--tec-amber),var(--tec-hot));
  transform:none;
}
.navbar .nav-ticket-button{
  min-height:44px !important;
  padding:0 22px !important;
  border-radius:6px !important;
  color:#160805 !important;
  background:linear-gradient(135deg,#ffbe58 0%, #ff7a1f 45%, #ef1e2d 100%) !important;
  box-shadow:0 14px 32px rgba(239,30,45,.22) !important;
  opacity:1 !important;
  visibility:visible !important;
}
.navbar .nav-ticket-button::after{display:none !important;}

.menu-toggle{
  display:none !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  border-radius:0 !important;
  gap:9px !important;
  padding:0 !important;
  min-height:44px !important;
}
.menu-toggle i{display:none !important;}
.menu-toggle::before{
  content:"";
  width:22px;
  height:14px;
  display:inline-block;
  background:
    linear-gradient(#fff,#fff) 0 0/22px 2px no-repeat,
    linear-gradient(#fff,#fff) 0 6px/22px 2px no-repeat,
    linear-gradient(#fff,#fff) 0 12px/22px 2px no-repeat;
}
.menu-word{
  display:inline !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}
.menu-emoji{display:none !important;}

.tec-search-toggle{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-grid;
  place-items:center;
  border:0;
  background:transparent;
  color:#fff;
  font-size:21px;
  position:relative;
}
.tec-search-toggle::before{
  content:"";
  width:16px;
  height:16px;
  border:2px solid #fff;
  border-radius:50%;
  display:block;
  transform:translate(-2px,-2px);
}
.tec-search-toggle::after{
  content:"";
  width:9px;
  height:2px;
  display:block;
  position:absolute;
  left:25px;
  top:27px;
  border-radius:99px;
  background:#fff;
  transform:rotate(45deg);
}
.tec-search-toggle i{display:none !important;}

.hero.mobile-hero,
.hero{
  min-height:470px !important;
  height:min(58vw,520px) !important;
  padding:0 clamp(28px,6vw,92px) !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#050505 !important;
}
.hero-video{filter:saturate(1.05) contrast(1.12);}
.hero-video{
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  transform:none !important;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.7) 34%,rgba(0,0,0,.22) 62%,rgba(0,0,0,.92) 100%),
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.82)) !important;
}
.hero-content{
  margin:0 !important;
  max-width:600px !important;
  text-align:left !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.hero-content::before,
.hero-content::after{display:none !important;}
.hero .eyebrow{
  color:#ffc56c !important;
  letter-spacing:.34em !important;
  font-size:14px !important;
  margin-bottom:14px !important;
}
.hero-title{
  font-size:clamp(58px,7.6vw,104px) !important;
  line-height:.86 !important;
  letter-spacing:0 !important;
  margin-bottom:22px !important;
  text-transform:uppercase;
  color:#f3f0eb !important;
  text-shadow:0 8px 34px rgba(0,0,0,.55);
}
.hero-text{
  margin:0 0 26px !important;
  max-width:520px !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.45 !important;
}
.hero-actions{justify-content:flex-start !important;}
.hero-actions .btn{
  border-radius:7px !important;
  min-height:54px !important;
  padding:0 24px !important;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.hero-actions .btn i{display:none !important;}
.hero-actions .ghost{
  background:rgba(0,0,0,.32) !important;
  border:1px solid rgba(255,196,122,.58) !important;
}

main{background:#070707;}
.section{
  max-width:1320px !important;
  padding:26px clamp(20px,4vw,46px) !important;
  margin:0 auto !important;
}
.section-head{
  margin-bottom:16px !important;
  align-items:flex-end !important;
}
.section-head h2{
  display:inline-block;
  position:relative;
  font-size:28px !important;
  letter-spacing:0 !important;
}
.section-head h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:100%;
  max-width:120px;
  height:3px;
  background:linear-gradient(90deg,var(--tec-hot),var(--tec-amber));
  border-radius:99px;
}
.view-link{
  color:#ff404a !important;
  font-size:14px;
  font-weight:900;
}

.tec-rail-section .card-grid{
  display:grid !important;
  grid-auto-flow:column;
  grid-auto-columns:minmax(170px,1fr);
  grid-template-columns:none !important;
  gap:16px !important;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  padding:8px 4px 18px !important;
  scrollbar-width:thin;
}
.tec-rail-section .show-card{
  min-width:0;
  scroll-snap-align:start;
  border-radius:7px !important;
  overflow:hidden;
  background:#111 !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.38) !important;
}
.tec-rail-section .tec-poster-wrap,
.tec-rail-section .show-card > img{
  aspect-ratio:2/3;
  min-height:0 !important;
  background:#050505;
}
.tec-rail-section .tec-poster-wrap img,
.tec-rail-section .show-card > img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.tec-rail-section .show-info{
  padding:12px 12px 14px !important;
}
.tec-rail-section .badge{
  display:inline-flex;
  border-radius:3px !important;
  padding:5px 8px !important;
  background:linear-gradient(135deg,#ff4b39,#e31a2b) !important;
  color:#fff !important;
  font-size:10px !important;
  text-transform:none;
}
.tec-rail-section .show-info h3{
  font-size:16px !important;
  line-height:1.12 !important;
  min-height:36px;
  margin:8px 0 6px !important;
}
.tec-rail-section .show-info p{
  color:rgba(247,243,234,.72) !important;
  font-size:12px !important;
  line-height:1.4 !important;
  margin:4px 0 !important;
}
.tec-rail-section .tec-card-session-shell,
.tec-rail-section .availability-pill,
.tec-rail-section .show-actions a:first-child{
  display:none !important;
}
.tec-rail-section .show-actions{
  margin-top:10px !important;
  display:block !important;
}
.tec-rail-section .show-actions button,
.tec-rail-section .show-actions a{
  width:100%;
  min-height:34px !important;
  padding:0 10px !important;
  border-radius:5px !important;
  font-size:11px !important;
}

.tec-mobile-tabs,
.tec-search-panel{display:none;}

@media (min-width:1200px){
  .tec-rail-section .card-grid{grid-auto-columns:calc((100% - 80px)/6);}
}

@media (max-width:760px){
  html,body{
    width:100% !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }
  body > *{
    max-width:100vw;
  }
  body{padding-bottom:78px !important;}
  .tec-top-strip{display:none;}
  .navbar,
  .navbar.tec-cinema-header{
    height:76px !important;
    min-height:76px !important;
    padding:0 22px !important;
    justify-content:center !important;
  }
  .navbar .logo{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
  }
  .navbar .logo img{
    height:54px !important;
    max-width:150px;
  }
  .menu-toggle{
    display:flex !important;
    position:absolute;
    left:20px;
    z-index:4;
  }
  .tec-search-toggle{
    position:absolute;
    right:18px;
    z-index:4;
  }
  .navbar nav,
  .navbar #mainNav{
    position:fixed !important;
    top:76px !important;
    left:0 !important;
    right:0 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:10px 18px 18px !important;
    background:rgba(9,9,9,.98) !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 24px 60px rgba(0,0,0,.65) !important;
  }
  .navbar nav.open,
  .navbar #mainNav.open{display:flex !important;}
  .navbar nav a,
  .navbar #mainNav a{
    min-height:46px !important;
    justify-content:flex-start;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
  }
  .navbar nav a.active::after,
  .navbar #mainNav a.active::after{display:none !important;}
  .navbar .nav-ticket-button{
    margin-top:10px;
    justify-content:center !important;
  }

  .hero.mobile-hero,
  .hero{
    height:330px !important;
    min-height:330px !important;
    padding:0 38px !important;
    align-items:center !important;
  }
  .hero-overlay{
    background:
      linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.5),rgba(0,0,0,.2)),
      linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.88)) !important;
  }
  .hero-content{max-width:300px !important;}
  .hero .eyebrow{
    font-size:11px !important;
    letter-spacing:.28em !important;
    margin-bottom:10px !important;
  }
  .hero-title{
    font-size:42px !important;
    line-height:.92 !important;
    margin-bottom:10px !important;
  }
  .hero-text{
    font-size:15px !important;
    line-height:1.45 !important;
    margin-bottom:20px !important;
  }
  .hero-actions{gap:10px !important;}
  .hero-actions .btn{
    min-height:40px !important;
    padding:0 14px !important;
    font-size:12px !important;
  }
  .hero-actions .ghost{display:none !important;}

  .section{
    padding:22px 20px 4px !important;
  }
  .section-head h2{font-size:22px !important;}
  .tec-rail-section .card-grid{
    grid-auto-columns:31vw;
    gap:8px !important;
    padding:8px 0 18px !important;
    margin-right:-20px;
  }
  .tec-rail-section .show-info{padding:9px 7px 10px !important;}
  .tec-rail-section .badge{display:none !important;}
  .tec-rail-section .show-info h3{
    font-size:12px !important;
    min-height:30px;
  }
  .tec-rail-section .show-info p{
    font-size:10px !important;
  }
	  .tec-rail-section .show-info p:nth-of-type(1),
	  .tec-rail-section .show-info p:nth-of-type(2){display:none !important;}
	  .tec-rail-section .show-actions{
	    display:grid !important;
	    grid-template-columns:1fr !important;
	    gap:7px !important;
	    margin-top:8px !important;
	  }
	  .tec-rail-section .show-actions a,
	  .tec-rail-section .show-actions button{
	    min-height:40px !important;
	    padding:0 8px !important;
	    white-space:normal !important;
	    line-height:1.15 !important;
	    font-size:10px !important;
	  }

	  .mobile-sticky-book{display:none !important;}
  .tec-mobile-tabs{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    display:grid !important;
    grid-template-columns:repeat(5,1fr);
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
    background:rgba(12,12,12,.96);
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 -14px 36px rgba(0,0,0,.55);
  }
  .tec-mobile-tabs a{
    display:flex !important;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    color:rgba(247,243,234,.74);
    font-size:10px;
    line-height:1.1;
    min-height:52px;
  }
  .tec-mobile-tabs i{display:none !important;}
  .tec-mobile-tabs a::before{
    content:"";
    width:22px;
    height:22px;
    display:block;
    background:rgba(247,243,234,.74);
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
  }
  .tec-mobile-tabs a.active::before{background:#ff3946;}
  .tec-mobile-tabs a:nth-child(1)::before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 10.8 12 3l9 7.8V21h-6v-6H9v6H3V10.8Z'/%3E%3C/svg%3E");
  }
  .tec-mobile-tabs a:nth-child(2)::before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Zm1 3v3h3V6H6Zm5 0v3h3V6h-3Zm5 0v3h2V6h-2ZM6 15v3h3v-3H6Zm5 0v3h3v-3h-3Zm5 0v3h2v-3h-2Z'/%3E%3C/svg%3E");
  }
  .tec-mobile-tabs a:nth-child(3)::before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm13 8H4v10h16V10ZM6 12h4v4H6v-4Z'/%3E%3C/svg%3E");
  }
  .tec-mobile-tabs a:nth-child(4)::before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 0 0-4V7Zm8 1v8h2V8h-2Z'/%3E%3C/svg%3E");
  }
  .tec-mobile-tabs a:nth-child(5)::before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm7 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
  }
  .tec-mobile-tabs a.active{color:#ff3946;}
  .tec-mobile-tabs i{font-size:18px;}

  .tec-search-panel{
    position:fixed;
    inset:76px 0 auto 0;
    z-index:1300;
    display:none;
    padding:14px 18px 18px;
    background:rgba(6,6,6,.98);
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .tec-search-panel.open{display:block;}
  .tec-search-panel input{
    width:100%;
    min-height:48px;
    border-radius:8px !important;
  }
  .tec-search-results{
    display:grid;
    gap:8px;
    margin-top:10px;
  }
  .tec-search-results a{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px;
    border-radius:7px;
    background:rgba(255,255,255,.06);
    color:#fff;
  }
}

/* =========================================================
   TEC MOCKUP MATCH V2 - stronger final layer
========================================================= */
.tec-top-strip{display:none !important;}

header.navbar.tec-cinema-header{
  height:104px !important;
  min-height:104px !important;
  padding:0 clamp(38px,7vw,108px) !important;
  background:linear-gradient(180deg,rgba(12,12,14,.94) 0%,rgba(3,3,4,.96) 100%) !important;
  backdrop-filter:blur(18px) saturate(1.25);
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
header.navbar.tec-cinema-header .logo{
  min-width:285px;
  align-self:stretch;
  display:flex;
  align-items:center;
}
header.navbar.tec-cinema-header .logo img{
  height:86px !important;
  width:auto !important;
  transform:scale(1.34);
  transform-origin:left center;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.45));
}
header.navbar.tec-cinema-header #mainNav{
  margin-left:auto !important;
  gap:32px !important;
}
header.navbar.tec-cinema-header #mainNav a{
  font-size:13px !important;
  letter-spacing:.055em !important;
}
header.navbar.tec-cinema-header .nav-ticket-button{
  min-height:46px !important;
  padding:0 24px !important;
  border-radius:5px !important;
}
header.navbar.tec-cinema-header .tec-search-toggle{display:none !important;}
header.navbar.tec-cinema-header .menu-toggle{display:none !important;}

.hero.mobile-hero{
  height:560px !important;
  min-height:560px !important;
  padding:0 clamp(38px,7vw,108px) !important;
  display:flex !important;
}
.hero.mobile-hero .hero-video{
  object-position:center center !important;
}
.hero.mobile-hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 36%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.88) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.78) 88%) !important;
}
.hero.mobile-hero .hero-content{
  max-width:760px !important;
  padding-top:6px !important;
}
.hero.mobile-hero .eyebrow{
  color:#ffc06a !important;
  font-size:14px !important;
  letter-spacing:.36em !important;
}
.hero.mobile-hero .hero-title{
  max-width:900px;
  font-size:clamp(72px,8.8vw,124px) !important;
  line-height:.88 !important;
}
.hero.mobile-hero .hero-text{
  font-size:20px !important;
  margin-top:2px !important;
  margin-bottom:26px !important;
}
.hero.mobile-hero .hero-actions .btn{
  border-radius:6px !important;
  min-width:172px;
  min-height:52px !important;
}

.tec-rail-section{
  padding-top:34px !important;
}
.tec-rail-section .card-grid{
  grid-auto-columns:220px !important;
}
.tec-rail-section .show-card{
  border-radius:10px !important;
}
.tec-rail-section .show-info h3{
  font-size:18px !important;
  min-height:42px !important;
}
.tec-rail-section .show-info p{
  font-size:13px !important;
}
.tec-rail-section .tec-single-rail{
  display:block !important;
  overflow:visible !important;
}
.tec-rail-section .tec-single-rail .show-card{
  display:grid !important;
  grid-template-columns:minmax(240px,320px) 1fr;
  max-width:880px;
  min-height:390px;
}
.tec-rail-section .tec-single-rail .tec-poster-wrap{
  height:100%;
  aspect-ratio:auto;
}
.tec-rail-section .tec-single-rail .show-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px !important;
}
.tec-rail-section .tec-single-rail .show-info h3{
  font-size:32px !important;
  min-height:0 !important;
}

@media (max-width:760px){
  header.navbar.tec-cinema-header{
    height:82px !important;
    min-height:82px !important;
    padding:0 18px !important;
    background:rgba(7,7,9,.78) !important;
    box-shadow:0 12px 34px rgba(0,0,0,.45) !important;
  }
  header.navbar.tec-cinema-header .logo{
    min-width:0;
    width:184px;
    justify-content:center;
  }
  header.navbar.tec-cinema-header .logo img{
    height:64px !important;
    max-width:180px !important;
    transform:scale(1.18);
    transform-origin:center;
  }
  header.navbar.tec-cinema-header .menu-toggle{
    display:flex !important;
    left:18px !important;
    min-width:92px !important;
    height:42px !important;
    gap:8px !important;
    font-size:14px !important;
    padding:0 13px !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    backdrop-filter:blur(12px);
    justify-content:center !important;
    align-items:center !important;
    color:#fff !important;
    box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
  }
  header.navbar.tec-cinema-header .menu-toggle::before{
    width:18px !important;
    height:12px !important;
    flex:0 0 18px;
    background:
      linear-gradient(#fff,#fff) 0 0/18px 2px no-repeat,
      linear-gradient(#fff,#fff) 0 5px/18px 2px no-repeat,
      linear-gradient(#fff,#fff) 0 10px/18px 2px no-repeat !important;
  }
  header.navbar.tec-cinema-header .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
  }
  header.navbar.tec-cinema-header .tec-search-toggle{
    display:inline-grid !important;
    right:18px !important;
    width:42px !important;
    height:42px !important;
  }
  header.navbar.tec-cinema-header #mainNav{
    top:82px !important;
  }

  .hero.mobile-hero{
    height:360px !important;
    min-height:360px !important;
    padding:0 34px !important;
    align-items:center !important;
  }
  .hero.mobile-hero .hero-content{
    max-width:306px !important;
  }
  .hero.mobile-hero .eyebrow{
    font-size:10px !important;
    letter-spacing:.32em !important;
    margin-bottom:8px !important;
  }
  .hero.mobile-hero .hero-title{
    font-size:48px !important;
    line-height:.9 !important;
    max-width:290px !important;
    margin-bottom:10px !important;
  }
  .hero.mobile-hero .hero-text{
    font-size:17px !important;
    line-height:1.35 !important;
    max-width:280px !important;
    margin-bottom:18px !important;
  }
  .hero.mobile-hero .hero-actions .primary{
    width:100%;
    min-height:44px !important;
    border-radius:7px !important;
  }
  .tec-rail-section .card-grid{
    grid-auto-columns:48vw !important;
  }
  .tec-rail-section .tec-single-rail{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:78vw !important;
    overflow-x:auto !important;
  }
  .tec-rail-section .tec-single-rail .show-card{
    display:block !important;
    min-height:0;
  }
  .tec-rail-section .tec-single-rail .show-info{
    display:block;
    padding:14px !important;
  }
  .tec-mobile-tabs svg{
    width:22px;
    height:22px;
    fill:currentColor;
  }
  .tec-mobile-tabs a::before{display:none !important;}
}

/* TEC production admin + mobile navigation hardening 2026-06-19 */
@media(max-width:768px){
  .navbar,
  .seat-header{
    grid-template-columns:minmax(94px,auto) minmax(0,1fr) minmax(98px,auto) !important;
    gap:8px !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    display:flex !important;
    min-width:92px !important;
    height:44px !important;
    padding:0 11px !important;
    gap:7px !important;
    grid-column:1 !important;
    justify-self:start !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-emoji{
    display:none !important;
    content:none !important;
  }

  .menu-symbol,
  .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }

  .tec-search-toggle,
  .seat-header .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    display:flex !important;
    min-width:98px !important;
    width:auto !important;
    height:44px !important;
    padding:0 11px !important;
    gap:6px !important;
    grid-column:3 !important;
    justify-self:end !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    color:#fff !important;
    align-items:center !important;
    justify-content:center !important;
    text-indent:0 !important;
  }

  .tec-search-toggle::before,
  .tec-search-toggle::after,
  .tec-search-toggle svg,
  .tec-search-toggle i{
    display:none !important;
    content:none !important;
  }

  .search-symbol,
  .search-word{
    display:inline !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }
}

.booking-admin-tools{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  align-items:center;
}

.booking-date-heading{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
  justify-content:space-between;
}

.booking-date-heading h3,
.booking-date-heading p{
  margin-right:auto;
}

.payid-thumb{
  width:96px;
  min-height:72px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:8px;
  background:#111;
  cursor:pointer;
}

.payid-thumb img{
  width:100%;
  height:72px;
  object-fit:cover;
  display:block;
}

.proof-meta{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
}

.payid-preview-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  padding:18px;
  background:rgba(0,0,0,.78);
  align-items:center;
  justify-content:center;
}

.payid-preview-modal.open{
  display:flex;
}

.payid-preview-dialog{
  width:min(920px,100%);
  max-height:92vh;
  overflow:auto;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:#101014;
  color:#fff;
  padding:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.5);
}

.payid-preview-close{
  float:right;
  min-height:42px;
}

#payidPreviewBody img,
#payidPreviewBody iframe{
  width:100%;
  max-height:70vh;
  min-height:320px;
  object-fit:contain;
  border:0;
  background:#050505;
}

@media(max-width:768px){
  .admin-stats,
  .booking-summary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .booking-table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .booking-table{
    min-width:1380px;
  }

  .admin-action-row{
    gap:8px;
  }

  .admin-action-row button,
  .admin-action-row a,
  .ghost,
  .btn-export{
    min-height:42px;
    padding:10px 12px;
  }

  .payid-thumb{
    width:112px;
  }
}

/* TEC targeted mobile header fix: reliable text/icons, no Font Awesome profile placeholder. */
@media(max-width:768px){
  .navbar::after,
  .seat-header::after{
    content:none !important;
    display:none !important;
  }

  .navbar,
  .seat-header{
    grid-template-columns:96px minmax(0,1fr) 52px !important;
    overflow:visible !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    display:flex !important;
    width:auto !important;
    min-width:88px !important;
    height:44px !important;
    padding:0 10px !important;
    gap:7px !important;
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  .menu-toggle::before,
  .menu-toggle::after,
  .tec-hamburger,
  .menu-emoji,
  .menu-toggle i{
    display:none !important;
    content:none !important;
  }

  .menu-symbol,
  .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
  }

  .tec-search-toggle,
  .seat-header .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    display:inline-flex !important;
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    font-size:21px !important;
    line-height:1 !important;
    text-indent:0 !important;
    box-shadow:none !important;
  }

  .tec-search-toggle::before,
  .tec-search-toggle::after,
  .tec-search-toggle svg,
  .tec-search-toggle i{
    display:none !important;
    content:none !important;
  }

  .navbar .logo,
  .seat-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    max-width:150px !important;
  }

  .navbar #mainNav,
  .navbar nav,
  .seat-header #mainNav,
  .seat-header nav{
    grid-column:1 / -1 !important;
  }
}

/* =========================================================
   TEC EOF PREMIUM LOCK
   Kept last to defeat older legacy cascade fragments.
========================================================= */
html,
body{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  overflow-x:hidden !important;
}

body{
  position:relative;
  min-width:0;
}

.navbar,
.navbar.tec-cinema-header,
header.navbar.tec-cinema-header,
.seat-header{
  position:sticky !important;
  top:0 !important;
  z-index:1500 !important;
  display:grid !important;
  grid-template-columns:minmax(190px,auto) minmax(0,1fr) minmax(52px,auto) !important;
  align-items:center !important;
  min-height:82px !important;
  height:82px !important;
  width:100% !important;
  padding:0 clamp(22px,4.8vw,78px) !important;
  gap:18px !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(10,11,15,.78),rgba(5,6,9,.66)) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28);
  backdrop-filter:blur(22px) saturate(1.28);
  box-shadow:0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.navbar .logo,
.seat-header .logo{
  grid-column:1 !important;
  justify-self:start !important;
  max-width:260px !important;
}

.navbar .logo img,
.seat-header .logo img,
header.navbar.tec-cinema-header .logo img{
  width:auto !important;
  height:58px !important;
  max-width:220px !important;
  object-fit:contain !important;
  transform:none !important;
}

.navbar .logo span,
.seat-header .logo span{
  display:none !important;
}

.navbar nav,
.navbar #mainNav,
.seat-header nav,
.seat-header #mainNav,
header.navbar.tec-cinema-header #mainNav{
  grid-column:2 !important;
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(16px,2.6vw,34px) !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.navbar nav a,
.navbar #mainNav a,
.seat-header nav a,
.seat-header #mainNav a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(255,248,236,.78) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}

.navbar nav a:hover,
.navbar #mainNav a:hover,
.navbar nav a.active,
.navbar #mainNav a.active{
  color:#fff !important;
}

.navbar nav a::after,
.navbar #mainNav a::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:2px !important;
  height:2px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--tec-gold,#f4c45b),var(--tec-red,#e62b35)) !important;
  transform:scaleX(0) !important;
  transition:transform .25s cubic-bezier(.2,.8,.2,1) !important;
}

.navbar nav a:hover::after,
.navbar #mainNav a:hover::after,
.navbar nav a.active::after,
.navbar #mainNav a.active::after{
  transform:scaleX(1) !important;
}

.tec-search-toggle,
header.navbar.tec-cinema-header .tec-search-toggle{
  grid-column:3 !important;
  justify-self:end !important;
  display:inline-grid !important;
  place-items:center !important;
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  text-indent:-999px !important;
  overflow:hidden !important;
}

.tec-search-toggle::before{
  content:"" !important;
  display:block !important;
  width:16px !important;
  height:16px !important;
  border:2px solid currentColor !important;
  border-radius:999px !important;
  transform:translate(-2px,-2px) !important;
}

.tec-search-toggle::after{
  content:"" !important;
  position:absolute !important;
  display:block !important;
  width:9px !important;
  height:2px !important;
  left:25px !important;
  top:27px !important;
  border-radius:999px !important;
  background:currentColor !important;
  transform:rotate(45deg) !important;
}

.tec-poster-wrap,
.show-card > img,
.movie-card > img,
.poster-card img,
.tec-rail-section .tec-poster-wrap,
.tec-rail-section .show-card > img{
  aspect-ratio:2/3 !important;
  background:#050506 !important;
  overflow:hidden !important;
}

.tec-poster-wrap{
  padding:10px !important;
  border-radius:12px 12px 0 0 !important;
}

.tec-poster-wrap img,
.show-card > img,
.movie-card > img,
.poster-card img,
.tec-rail-section .tec-poster-wrap img,
.tec-rail-section .show-card > img,
.show-card img,
.movie-card img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050506 !important;
  transform:none !important;
}

.show-card:hover .tec-poster-wrap img,
.show-card:hover > img,
.movie-card:hover > img,
.show-card:hover img,
.movie-card:hover img{
  transform:scale(1.018) !important;
}

.badge.status-now-showing,
.movie-status.status-now-showing{background:linear-gradient(135deg,#8ef5b8,#2ed47a) !important;color:#04130a !important;}
.badge.status-coming-soon,
.movie-status.status-coming-soon{background:linear-gradient(135deg,#a5d4ff,#45a3ff) !important;color:#031224 !important;}
.badge.status-sold-out,
.movie-status.status-sold-out{background:linear-gradient(135deg,#ff8d95,#e62b35) !important;color:#210204 !important;}
.badge.status-screened,
.movie-status.status-screened{background:linear-gradient(135deg,#d8dbe2,#9aa0aa) !important;color:#11131a !important;}

.show-actions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
}

.show-actions a,
.show-actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  padding:0 8px !important;
  border-radius:9px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:12px !important;
}

.show-actions .tec-action-book{
  color:#170906 !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,#ffe08b,#f4b33e 52%,#ef4b35) !important;
}

@media (max-width:900px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:108px minmax(0,1fr) 48px !important;
    height:72px !important;
    min-height:72px !important;
    padding:0 14px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    grid-column:1 !important;
    justify-self:start !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-width:92px !important;
    height:40px !important;
    padding:0 10px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff !important;
  }

  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-emoji{
    display:none !important;
    content:none !important;
  }

  .menu-symbol,
  .menu-word{
    display:inline !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
  }

  .navbar .logo,
  .seat-header .logo,
  header.navbar.tec-cinema-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    max-width:152px !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:52px !important;
    max-width:148px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    grid-column:3 !important;
    justify-self:end !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
  }

  .navbar nav,
  .navbar #mainNav,
  .seat-header nav,
  .seat-header #mainNav,
  header.navbar.tec-cinema-header #mainNav{
    position:fixed !important;
    top:72px !important;
    left:10px !important;
    right:10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    max-height:0 !important;
    padding:0 12px !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:0 0 14px 14px !important;
    background:rgba(8,9,13,.96) !important;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
  }

  .navbar nav.open,
  .navbar #mainNav.open,
  .seat-header nav.open,
  .seat-header #mainNav.open{
    max-height:72vh !important;
    padding:10px 12px 12px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
    overflow:auto !important;
  }

  .navbar nav a,
  .navbar #mainNav a,
  .seat-header nav a,
  .seat-header #mainNav a{
    justify-content:flex-start !important;
    min-height:46px !important;
    padding:0 10px !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
  }

  .navbar nav a::after,
  .navbar #mainNav a::after{
    display:none !important;
  }
}

@media (max-width:520px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:94px minmax(0,1fr) 42px !important;
    padding-inline:10px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:84px !important;
    height:38px !important;
    padding:0 8px !important;
  }

  .menu-symbol,
  .menu-word{
    font-size:12px !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:46px !important;
    max-width:132px !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
  }

  #listingGrid.card-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  #listingGrid .show-card{
    display:grid !important;
    grid-template-columns:minmax(118px,40%) minmax(0,1fr) !important;
  }

  #listingGrid .tec-poster-wrap,
  #listingGrid .show-card > img{
    height:100% !important;
    aspect-ratio:auto !important;
    border-radius:12px 0 0 12px !important;
    padding:7px !important;
  }

  #listingGrid .show-info p:nth-of-type(1),
  #listingGrid .tec-card-session-shell,
  #listingGrid .availability-pill{
    display:none !important;
  }

  #listingGrid .show-actions{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
}

/* THIRD EYE CINEMA TARGETED FIX: real mobile menu text, no icon-font dependency */
@media (max-width: 760px){
  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-width:88px !important;
    height:44px !important;
    padding:0 12px !important;
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-indent:0 !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .menu-toggle::before,
  .menu-toggle::after,
  .menu-toggle i,
  .menu-toggle .emoji-icon,
  .menu-toggle .menu-emoji{
    display:none !important;
    content:none !important;
  }
  .menu-toggle .menu-symbol,
  .menu-toggle .menu-word{
    display:inline-block !important;
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-indent:0 !important;
  }
}

/* Final cascade guard for the scoped mobile fixes above. */
@media (max-width:768px){
  .menu-toggle,.seat-header .menu-toggle,header.navbar.tec-cinema-header .menu-toggle{display:inline-flex!important;width:98px!important;min-width:98px!important;height:44px!important;padding:0 11px!important;gap:7px!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}
  .menu-toggle::before,.menu-toggle::after,.menu-toggle i,.menu-toggle .emoji-icon,.menu-toggle .menu-emoji{content:none!important;display:none!important;}
  .menu-toggle .menu-symbol,.menu-toggle .menu-word{display:inline!important;visibility:visible!important;opacity:1!important;color:inherit!important;font-family:inherit!important;font-style:normal!important;font-size:14px!important;font-weight:900!important;line-height:1!important;}
  .movie-card,.show-card,.event-card{height:auto!important;min-height:0!important;}
  .movie-card-image,.poster-wrap,.tec-poster-wrap,.movie-card>img,.show-card>img,.event-card>img{height:auto!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;aspect-ratio:2/3!important;}
  .movie-poster,.movie-card img,.show-card img,.event-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:2/3!important;object-fit:cover!important;}
  #listingGrid .show-card{display:block!important;}
  #listingGrid .tec-poster-wrap,#listingGrid .show-card>img{height:auto!important;padding:0!important;aspect-ratio:2/3!important;border-radius:12px 12px 0 0!important;}
}

/* Phase 5 final header cascade: preserve the literal ☰ MENU and 🔍 controls. */
@media (max-width:900px){
  .menu-toggle .menu-symbol,.menu-toggle .menu-word,.tec-search-toggle .search-symbol{display:inline!important;visibility:visible!important;opacity:1!important;}
  .tec-search-toggle .search-word{display:none!important;}
  .tec-search-toggle{display:inline-flex!important;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;align-items:center!important;justify-content:center!important;}
}

/* Phase 6 mobile cinema UX: responsive only; desktop and application logic stay intact. */
@media (max-width:768px){body{padding-bottom:18px}.hero,.mobile-hero{min-height:auto!important;padding:32px 16px 38px!important}.hero-content{padding:0!important;max-width:100%!important}.hero h1,.hero-title{font-size:clamp(30px,9vw,44px)!important;line-height:1.05!important}.hero p{font-size:15px!important;line-height:1.6!important}.section,.page-section,.content-section{padding:28px 16px!important}.section-head h2{font-size:24px!important}.card-grid,.movie-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.show-card,.movie-card,.event-card{border-radius:16px!important;overflow:hidden!important;min-width:0!important}.show-card img,.movie-card img,.event-card img,.poster-wrap img,.tec-poster-wrap img{width:100%!important;aspect-ratio:2/3!important;height:auto!important;object-fit:cover!important}.show-info,.movie-info,.event-info{padding:13px!important}.show-info h3,.movie-info h3,.event-info h3{font-size:16px!important;line-height:1.25!important}.show-actions,.movie-actions,.event-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.show-actions a,.show-actions button,.movie-actions a,.movie-actions button,.event-actions a,.event-actions button{min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important}.details-page,.details-container,.movie-details,.booking-page,.payment-shell,.success-container,.ticket-page{padding:22px 14px!important}.details-page img,.details-container img,.movie-details img{max-height:none!important;aspect-ratio:2/3!important;object-fit:contain!important}.session-list,.showtime-list,.session-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.session-list button,.showtime-list button,.session-grid button{min-height:50px!important}.booking-box,.payment-card,.success-card,.ticket-card,.support-card,.contact-card,.feedback-card{border-radius:16px!important;padding:18px!important}input,select,textarea{min-height:48px!important;font-size:16px!important}textarea{min-height:110px!important}.admin-two,.form-row,.two-column{grid-template-columns:1fr!important}.tec-qr-wrap img,.qr-wrap img{width:min(260px,76vw)!important;height:auto!important;margin:auto!important}.success-actions,.ticket-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}}
@media(max-width:420px){.card-grid,.movie-grid,.event-grid{grid-template-columns:1fr!important}.show-card,.movie-card,.event-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important}.show-card img,.movie-card img,.event-card img,.poster-wrap img,.tec-poster-wrap img{height:100%!important;aspect-ratio:auto!important}.show-actions,.movie-actions,.event-actions{grid-column:1/-1!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Phase 7B donation and public-form presentation; no payment or form logic changes. */
.donation-shell{max-width:1160px}.donation-shell>h1{font-size:clamp(32px,5vw,52px);letter-spacing:-.03em}.donation-card,.donation-detail{background:linear-gradient(145deg,rgba(31,31,35,.96),rgba(13,13,16,.98));border-color:rgba(246,200,106,.18);box-shadow:0 20px 52px rgba(0,0,0,.3)}.donation-card h2,.donation-detail h1{color:#fff}.donation-meta{padding:13px;border-radius:12px;background:rgba(255,255,255,.045)}.donation-disclaimer{border-radius:12px;border:1px solid rgba(246,200,106,.22);color:#fff8e8}.donation-form input,.donation-form textarea{border-color:rgba(255,255,255,.18);transition:border-color .2s ease,box-shadow .2s ease}.donation-form input:focus,.donation-form textarea:focus{border-color:#f6c86a;box-shadow:0 0 0 3px rgba(246,200,106,.14);outline:0}.donation-form .pay-btn{border-radius:10px;font-weight:800}


/* Final donation/header fix: the JS mobile drawer must not appear as a second desktop navigation. */
.tec-mobile-master-nav{
  display:none !important;
}
@media (max-width:980px){
  .navbar .tec-mobile-master-nav{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:12px !important;
    right:12px !important;
    z-index:3000 !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:14px !important;
    border:1px solid rgba(255,202,88,.22) !important;
    border-radius:18px !important;
    background:rgba(6,7,13,.98) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.45) !important;
  }
  .navbar .tec-mobile-master-nav.open{
    display:flex !important;
  }
  .navbar .tec-mobile-master-nav a{
    display:block !important;
    padding:12px 14px !important;
    border-radius:12px !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
  }
  .navbar .tec-mobile-master-nav a.active,
  .navbar .tec-mobile-master-nav a:hover{
    background:rgba(255,202,88,.14) !important;
    color:#ffca58 !important;
  }
}

/* TEC mobile cinema booking upgrade: mobile-only polish, no backend behavior changes. */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width:980px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
  }

  body.tec-menu-open{
    overflow:hidden !important;
    touch-action:none;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    position:sticky !important;
    top:0 !important;
    z-index:6000 !important;
    display:grid !important;
    grid-template-columns:minmax(80px,auto) minmax(0,1fr) auto auto !important;
    gap:8px !important;
    align-items:center !important;
    min-height:68px !important;
    padding:8px max(10px, env(safe-area-inset-left)) 8px max(10px, env(safe-area-inset-right)) !important;
    background:#030303 !important;
    border-bottom:1px solid rgba(255,202,88,.22) !important;
    box-shadow:0 12px 34px rgba(0,0,0,.42) !important;
  }

  .navbar .logo,
  .seat-header .logo,
  header.navbar.tec-cinema-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    min-width:0 !important;
    max-width:150px !important;
    overflow:hidden !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    display:block !important;
    width:auto !important;
    height:46px !important;
    max-width:128px !important;
    object-fit:contain !important;
  }

  .navbar .logo span{
    display:none !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle,
  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle,
  .tec-mobile-quick-book{
    min-height:44px !important;
    height:44px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)) !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:none !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    grid-column:1 !important;
    justify-self:start !important;
    display:inline-flex !important;
    width:auto !important;
    min-width:82px !important;
    padding:0 10px !important;
    gap:6px !important;
    font-size:13px !important;
  }

  .menu-toggle .menu-symbol,
  .menu-toggle .menu-word{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    color:#fff !important;
  }

  .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle{
    grid-column:3 !important;
    display:inline-flex !important;
    justify-self:end !important;
    width:auto !important;
    min-width:44px !important;
    padding:0 10px !important;
    gap:5px !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .tec-search-toggle .search-symbol,
  .tec-search-toggle .search-word{
    display:inline-block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
  }

  .tec-mobile-quick-book{
    grid-column:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    padding:0 10px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
    gap:4px;
    text-decoration:none;
    background:linear-gradient(135deg,#f7c85f,#9d1d1d) !important;
    color:#090909 !important;
  }

  .navbar > nav:not(.tec-mobile-menu-links),
  .navbar > #mainNav,
  .seat-header > nav,
  .seat-header > #mainNav{
    display:none !important;
  }

  .tec-mobile-master-nav{
    position:fixed !important;
    inset:0 !important;
    z-index:7000 !important;
    display:block !important;
    padding:0 !important;
    background:rgba(0,0,0,.62) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .22s ease !important;
  }

  .tec-mobile-master-nav.open{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .tec-mobile-menu-panel{
    min-height:100dvh;
    width:100%;
    padding:calc(12px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom));
    background:#050505;
    transform:translateY(-18px);
    transition:transform .24s ease;
    overflow:auto;
  }

  .tec-mobile-master-nav.open .tec-mobile-menu-panel{
    transform:translateY(0);
  }

  .tec-mobile-menu-top{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:8px;
    min-height:58px;
  }

  .tec-mobile-menu-top button,
  .tec-mobile-menu-top a{
    min-height:44px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 10px;
  }

  .tec-mobile-menu-logo{
    justify-self:center;
    border:0 !important;
    background:transparent !important;
    padding:0 !important;
    min-width:0;
  }

  .tec-mobile-menu-logo img{
    height:48px;
    max-width:124px;
    object-fit:contain;
  }

  .tec-mobile-menu-logo span{
    display:none;
  }

  .tec-mobile-menu-book{
    background:linear-gradient(135deg,#f7c85f,#b81f1f) !important;
    color:#080808 !important;
  }

  .tec-mobile-menu-searchbox{
    display:block;
    margin:20px 0 12px;
  }

  .tec-mobile-menu-searchbox input{
    width:100%;
    min-height:52px;
    border-radius:999px;
    padding:0 18px;
    border:1px solid rgba(255,202,88,.38);
    background:#121212;
    color:#fff;
    font-size:16px;
  }

  .tec-mobile-menu-results{
    display:grid;
    gap:8px;
    margin-bottom:12px;
  }

  .tec-mobile-menu-results a,
  .tec-mobile-menu-results p{
    display:block;
    margin:0;
    padding:12px 14px;
    border-radius:14px;
    background:rgba(255,255,255,.07);
    color:#fff;
    text-decoration:none;
  }

  .tec-mobile-menu-results span{
    display:block;
    margin-top:3px;
    color:#e9d49b;
    font-size:12px;
  }

  .tec-mobile-menu-links{
    display:grid !important;
    gap:10px !important;
    margin-top:14px;
    position:static !important;
    max-height:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
  }

  .tec-mobile-menu-links a{
    display:flex !important;
    align-items:center !important;
    min-height:54px !important;
    padding:0 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.1) !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:18px !important;
    font-weight:850 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  .tec-mobile-menu-links a.active,
  .tec-mobile-menu-links a.nav-ticket-button{
    border-color:rgba(255,202,88,.46) !important;
    background:rgba(255,202,88,.13) !important;
    color:#ffdc8a !important;
  }

  .tec-search-panel{
    top:76px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    border-radius:18px !important;
  }

  .hero,
  .mobile-hero{
    min-height:calc(100dvh - 68px) !important;
    padding:38px 16px 56px !important;
  }

  .hero-video{
    object-fit:cover !important;
    object-position:center !important;
  }

  .hero-content{
    width:100% !important;
    max-width:420px !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .hero-actions .btn,
  .btn,
  .pay-btn,
  #bookingButton,
  #continuePayment{
    min-height:48px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .section,
  .page,
  .donation-shell{
    padding-inline:14px !important;
  }

  .filter-bar{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    padding-bottom:6px !important;
    -webkit-overflow-scrolling:touch;
  }

  .filter-bar button{
    min-height:44px !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .card-grid,
  .movie-grid,
  .event-grid,
  .donation-grid,
  #listingGrid.card-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .show-card,
  .movie-card,
  .event-card,
  .donation-card,
  #listingGrid .show-card{
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    border-radius:12px !important;
  }

  .tec-poster-wrap,
  .show-card > img,
  .show-card img,
  .movie-card img,
  .event-card img,
  .donation-card img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2/3 !important;
    object-fit:contain !important;
    background:#101010 !important;
    padding:0 !important;
    border-radius:12px 12px 0 0 !important;
  }

  .show-info,
  .movie-info,
  .event-info{
    padding:11px !important;
  }

  .show-info h3,
  .movie-info h3,
  .event-info h3,
  .donation-card h2{
    font-size:15px !important;
    line-height:1.28 !important;
    overflow-wrap:anywhere !important;
  }

  .show-info p,
  .movie-info p,
  .event-info p{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  .show-actions,
  .movie-actions,
  .event-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .show-actions a,
  .show-actions button,
  .movie-actions a,
  .movie-actions button,
  .event-actions a,
  .event-actions button,
  .donation-card .pay-btn{
    min-height:44px !important;
    border-radius:10px !important;
    padding:0 10px !important;
    font-size:13px !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }

  .details-premium-shell,
  .details-hero-frame,
  .booking-page,
  .payment-shell,
  .success-container{
    padding-inline:12px !important;
  }

  .details-confidence-grid,
  .booking-grid,
  .phone-row,
  .payment-methods,
  .tec-ticket-grid{
    grid-template-columns:1fr !important;
  }

  .details-trust-strip{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .booking-page{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .booking-copy.center,
  .booking-box,
  .payment-card,
  .success-card{
    width:100% !important;
    max-width:100% !important;
  }

  .booking-box label{
    margin-top:12px !important;
    font-size:14px !important;
  }

  .booking-box input,
  .booking-box select,
  .payment-card input,
  .payment-card select,
  textarea{
    width:100% !important;
    min-height:48px !important;
    font-size:16px !important;
  }

  .payment-shell{
    display:block !important;
    padding-top:20px !important;
  }

  .payment-option{
    min-height:76px !important;
    align-items:center !important;
    border-radius:14px !important;
  }

  .payid-detail{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
  }

  .payid-detail strong{
    text-align:left !important;
    overflow-wrap:anywhere !important;
  }

  .upload-drop{
    min-height:120px !important;
  }

  .success-container{
    padding-top:20px !important;
  }

  .success-card,
  .tec-ticket-card{
    overflow:hidden !important;
  }

  .tec-ticket-grid{
    display:grid !important;
    gap:10px !important;
  }

  .tec-ticket-grid div,
  .summary-panel,
  .payid-box{
    overflow-wrap:anywhere !important;
  }

  .tec-mobile-bottom-cta{
    position:fixed;
    left:max(12px, env(safe-area-inset-left));
    right:max(12px, env(safe-area-inset-right));
    bottom:max(12px, env(safe-area-inset-bottom));
    z-index:6500;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg,#f7c85f,#b81f1f);
    color:#090909;
    text-decoration:none;
    font-weight:950;
    box-shadow:0 18px 46px rgba(0,0,0,.46);
  }

  body.details-premium-page{
    padding-bottom:86px !important;
  }
}

@media (max-width:430px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:minmax(74px,auto) minmax(0,1fr) auto auto !important;
    gap:6px !important;
    min-height:64px !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:76px !important;
    padding-inline:8px !important;
  }

  .tec-search-toggle .search-word{
    display:inline-block !important;
  }

  .tec-mobile-quick-book{
    min-width:58px;
    padding-inline:8px;
  }
}

@media (max-width:390px){
  .tec-search-toggle{
    padding-inline:8px !important;
  }

  .tec-search-toggle .search-word,
  .tec-mobile-quick-book{
    font-size:11px !important;
  }

  .show-info h3,
  .movie-info h3,
  .event-info h3{
    font-size:14px !important;
  }
}

@media (max-width:360px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:72px minmax(0,1fr) 40px 54px !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:72px !important;
    padding-inline:6px !important;
  }

  .tec-search-toggle{
    width:40px !important;
    min-width:40px !important;
    padding:0 !important;
  }

  .tec-search-toggle .search-word{
    display:none !important;
  }

  .card-grid,
  .movie-grid,
  .event-grid,
  .donation-grid,
  #listingGrid.card-grid{
    grid-template-columns:1fr !important;
  }

  .show-card,
  .movie-card,
  .event-card,
  #listingGrid .show-card{
    display:grid !important;
    grid-template-columns:112px minmax(0,1fr) !important;
  }

  .tec-poster-wrap,
  .show-card > img,
  .show-card img,
  .movie-card img,
  .event-card img{
    height:100% !important;
    aspect-ratio:auto !important;
    border-radius:12px 0 0 12px !important;
  }

  .show-actions,
  .movie-actions,
  .event-actions{
    grid-column:1 / -1 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .tec-mobile-master-nav,
  .tec-mobile-menu-panel{
    transition:none !important;
  }
}

/* Shared public search overlay for the cinema mobile flow. */
.tec-public-search-overlay{
  display:none;
}

@media (max-width:980px){
  body.tec-search-open{
    overflow:hidden !important;
  }

  .tec-public-search-overlay{
    position:fixed;
    inset:0;
    z-index:7600;
    display:block;
    padding:calc(14px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));
    background:rgba(0,0,0,.68);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }

  .tec-public-search-overlay.open{
    opacity:1;
    pointer-events:auto;
  }

  .tec-public-search-panel{
    width:100%;
    max-height:calc(100dvh - 28px);
    overflow:auto;
    border-radius:18px;
    border:1px solid rgba(255,202,88,.28);
    background:#060606;
    box-shadow:0 24px 80px rgba(0,0,0,.58);
    padding:14px;
    transform:translateY(-10px);
    transition:transform .22s ease;
  }

  .tec-public-search-overlay.open .tec-public-search-panel{
    transform:translateY(0);
  }

  .tec-public-search-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    color:#fff;
  }

  .tec-public-search-close{
    min-height:42px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.07);
    color:#fff;
    padding:0 12px;
    font-weight:900;
  }

  #tecPublicSearchInput{
    width:100%;
    min-height:52px;
    border-radius:999px;
    border:1px solid rgba(255,202,88,.38);
    background:#121212;
    color:#fff;
    padding:0 16px;
    font-size:16px;
    outline:0;
  }

  #tecPublicSearchInput:focus{
    border-color:#f7c85f;
    box-shadow:0 0 0 3px rgba(247,200,95,.18);
  }

  .tec-public-search-results{
    display:grid;
    gap:10px;
    margin-top:14px;
  }

  .tec-public-search-results p{
    margin:0;
    padding:14px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    color:#fff;
  }

  .tec-public-search-result{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    align-items:center;
    min-height:72px;
    padding:9px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.06);
    color:#fff;
    text-decoration:none;
  }

  .tec-public-search-result img{
    width:54px;
    height:72px;
    border-radius:8px;
    object-fit:cover;
    background:#111;
  }

  .tec-public-search-result strong,
  .tec-public-search-result small{
    display:block;
    overflow-wrap:anywhere;
  }

  .tec-public-search-result small{
    margin-top:4px;
    color:#f2d58f;
    font-size:12px;
  }
}

/* Emergency mobile menu reliability fix: keep the tap target and drawer on-screen. */
@media (max-width:980px){
  body{
    padding-top:68px !important;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    transform:none !important;
    translate:none !important;
    z-index:9000 !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    position:relative !important;
    z-index:2 !important;
    pointer-events:auto !important;
  }

  .tec-mobile-master-nav{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:9100 !important;
  }

  .tec-mobile-master-nav:not(.open){
    opacity:0 !important;
    pointer-events:none !important;
  }

  .tec-mobile-master-nav.open{
    opacity:1 !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }

  .tec-mobile-master-nav.open .tec-mobile-menu-panel{
    display:block !important;
    transform:none !important;
  }
}

/* Mobile listing/detail readability fix: keep public cards stacked and text horizontal. */
@media (max-width:600px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  #listingGrid.card-grid,
  .movie-grid,
  .event-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-auto-flow:row !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:visible !important;
  }

  #listingGrid .show-card,
  #listingGrid .movie-card,
  #listingGrid .event-card,
  .movie-grid .movie-card,
  .event-grid .event-card{
    display:block !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  #listingGrid .tec-poster-wrap,
  #listingGrid .poster-wrap,
  #listingGrid .movie-card-image,
  #listingGrid .show-card > img,
  #listingGrid .movie-card > img,
  #listingGrid .event-card > img,
  .movie-grid .movie-card > img,
  .event-grid .event-card > img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2 / 3 !important;
    object-fit:cover !important;
    border-radius:14px 14px 0 0 !important;
  }

  #listingGrid .show-card img,
  #listingGrid .movie-card img,
  #listingGrid .event-card img,
  .movie-grid .movie-card img,
  .event-grid .event-card img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:2 / 3 !important;
    object-fit:cover !important;
  }

  #listingGrid .show-info,
  #listingGrid .movie-info,
  #listingGrid .event-info,
  .movie-grid .movie-info,
  .event-grid .event-info{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:14px !important;
  }

  #listingGrid .show-info *,
  #listingGrid .movie-info *,
  #listingGrid .event-info *,
  .movie-grid .movie-info *,
  .event-grid .event-info *,
  .tec-detail-premium *,
  .details-page *,
  .movie-details *{
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  #listingGrid .show-info h3,
  #listingGrid .movie-info h3,
  #listingGrid .event-info h3,
  .movie-grid .movie-info h3,
  .event-grid .event-info h3{
    display:block !important;
    font-size:20px !important;
    line-height:1.22 !important;
    margin:0 0 8px !important;
    letter-spacing:0 !important;
  }

  #listingGrid .show-info p,
  #listingGrid .movie-info p,
  #listingGrid .event-info p,
  .movie-grid .movie-info p,
  .event-grid .event-info p{
    display:block !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  #listingGrid .show-actions,
  #listingGrid .movie-actions,
  #listingGrid .event-actions,
  .movie-grid .movie-actions,
  .event-grid .event-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    margin-top:12px !important;
  }

  #listingGrid .show-actions a,
  #listingGrid .show-actions button,
  #listingGrid .movie-actions a,
  #listingGrid .movie-actions button,
  #listingGrid .event-actions a,
  #listingGrid .event-actions button,
  .movie-grid .movie-actions a,
  .movie-grid .movie-actions button,
  .event-grid .event-actions a,
  .event-grid .event-actions button{
    width:100% !important;
    min-height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:0 14px !important;
  }

  .tec-detail-premium,
  .tec-detail-hero,
  .tec-detail-body,
  .tec-detail-main,
  .tec-detail-side,
  .details-page,
  .details-container,
  .movie-details{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .tec-detail-hero-inner,
  .tec-detail-body,
  .tec-detail-meta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .tec-detail-poster-wrap{
    width:min(260px,72vw) !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  .tec-detail-title{
    font-size:clamp(30px,8vw,40px) !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
  }

  .tec-detail-desc{
    font-size:16px !important;
    line-height:1.58 !important;
  }

  .tec-detail-actions,
  .show-actions.tec-detail-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .tec-detail-action{
    width:100% !important;
    min-height:48px !important;
  }
}

/* Final public mobile card repair for movies, details, events and donations. */
@media (max-width:600px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    padding-bottom:86px !important;
  }

  .page,
  .section,
  .donation-shell,
  .details-premium-shell{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
  }

  .card-grid,
  .movie-grid,
  .event-grid,
  .donation-grid,
  #listingGrid.card-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    gap:16px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:visible !important;
  }

  .show-card,
  .movie-card,
  .event-card,
  .donation-card,
  .donation-detail,
  #listingGrid .show-card,
  #listingGrid .movie-card,
  #listingGrid .event-card{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .tec-poster-wrap,
  .poster-wrap,
  .movie-card-image,
  .show-card > img,
  .movie-card > img,
  .event-card > img,
  .donation-card > img,
  .donation-detail > img,
  #listingGrid .tec-poster-wrap,
  #listingGrid .poster-wrap,
  #listingGrid .movie-card-image,
  #listingGrid .show-card > img,
  #listingGrid .movie-card > img,
  #listingGrid .event-card > img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2 / 3 !important;
    object-fit:cover !important;
    border-radius:14px 14px 0 0 !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }

  .show-card img,
  .movie-card img,
  .event-card img,
  .donation-card img,
  .donation-detail img,
  #listingGrid .show-card img,
  #listingGrid .movie-card img,
  #listingGrid .event-card img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2 / 3 !important;
    object-fit:cover !important;
  }

  .show-info,
  .movie-info,
  .event-info,
  .donation-info,
  .donation-content,
  .card-body,
  #listingGrid .show-info,
  #listingGrid .movie-info,
  #listingGrid .event-info{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:14px !important;
    box-sizing:border-box !important;
  }

  .show-card *,
  .movie-card *,
  .event-card *,
  .donation-card *,
  .donation-detail *,
  .tec-detail-premium *,
  .details-premium-shell *,
  .details-render-zone *,
  #detailBox *,
  #listingGrid *{
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .show-info h1,
  .show-info h2,
  .show-info h3,
  .movie-info h1,
  .movie-info h2,
  .movie-info h3,
  .event-info h1,
  .event-info h2,
  .event-info h3,
  .donation-card h1,
  .donation-card h2,
  .donation-card h3,
  .donation-detail h1,
  .donation-detail h2,
  .donation-detail h3,
  .tec-detail-title{
    display:block !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }

  .show-info h3,
  .movie-info h3,
  .event-info h3,
  #listingGrid .show-info h3{
    font-size:20px !important;
    margin:0 0 8px !important;
  }

  .show-info p,
  .movie-info p,
  .event-info p,
  .donation-card p,
  .donation-detail p,
  .donation-meta,
  .donation-disclaimer{
    display:block !important;
    font-size:15px !important;
    line-height:1.55 !important;
    text-align:left !important;
  }

  .show-actions,
  .movie-actions,
  .event-actions,
  .tec-detail-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    margin-top:12px !important;
  }

  .show-actions a,
  .show-actions button,
  .movie-actions a,
  .movie-actions button,
  .event-actions a,
  .event-actions button,
  .tec-detail-action,
  .donation-card .pay-btn,
  .donation-form .pay-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:46px !important;
    padding:0 14px !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .tec-detail-premium,
  .tec-detail-hero,
  .tec-detail-hero-inner,
  .tec-detail-content,
  .tec-detail-body,
  .tec-detail-main,
  .tec-detail-side,
  .details-hero-frame,
  .details-render-zone{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  .tec-detail-hero{
    min-height:0 !important;
    border-radius:18px !important;
  }

  .tec-detail-hero-inner,
  .tec-detail-body,
  .tec-detail-meta{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
  }

  .tec-detail-poster-wrap{
    width:min(280px,78vw) !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  .tec-detail-title{
    font-size:clamp(30px,8vw,40px) !important;
  }

  .mobile-sticky-book,
  .tec-mobile-bottom-cta{
    left:12px !important;
    right:12px !important;
    bottom:max(12px, env(safe-area-inset-bottom)) !important;
    max-width:calc(100% - 24px) !important;
  }
}

@media (max-width:430px){
  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    grid-template-columns:minmax(82px,auto) minmax(0,1fr) auto !important;
    gap:6px !important;
    overflow:hidden !important;
  }

  .menu-toggle,
  .seat-header .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    min-width:82px !important;
    width:82px !important;
  }

  .menu-toggle .menu-symbol,
  .menu-toggle .menu-word{
    display:inline !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .tec-search-toggle{
    width:44px !important;
    min-width:44px !important;
    padding:0 !important;
  }

  .tec-search-toggle .search-word{
    display:none !important;
  }

  .navbar .logo,
  header.navbar.tec-cinema-header .logo{
    justify-content:center !important;
    min-width:0 !important;
  }

  .navbar .logo img,
  header.navbar.tec-cinema-header .logo img{
    height:48px !important;
    max-width:132px !important;
    object-fit:contain !important;
  }
}

@media (max-width:600px){
  #listingGrid .show-info h1,
  #listingGrid .show-info h2,
  #listingGrid .show-info h3,
  .show-card .show-info h1,
  .show-card .show-info h2,
  .show-card .show-info h3,
  .movie-card .movie-info h1,
  .movie-card .movie-info h2,
  .movie-card .movie-info h3,
  .event-card .event-info h1,
  .event-card .event-info h2,
  .event-card .event-info h3,
  .donation-card h1,
  .donation-card h2,
  .donation-card h3{
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  #listingGrid .show-info p:nth-of-type(1),
  #listingGrid .movie-info p:nth-of-type(1),
  #listingGrid .event-info p:nth-of-type(1),
  .show-card .show-info p:nth-of-type(1),
  .movie-card .movie-info p:nth-of-type(1),
  .event-card .event-info p:nth-of-type(1),
  .donation-card p,
  .donation-detail p{
    display:block !important;
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    white-space:normal !important;
    font-size:15px !important;
    line-height:1.55 !important;
    text-align:left !important;
  }
}

/* Final 10/10 polish layer: public desktop and mobile stability. */
:root{
  --tec-gold:#f2c76b;
  --tec-gold-2:#d59a32;
  --tec-ink:#08080b;
  --tec-panel:#15151a;
  --tec-panel-2:#1d1d24;
  --tec-line:rgba(255,255,255,.13);
  --tec-soft:rgba(255,255,255,.065);
  --tec-text:#ffffff;
  --tec-muted:#c5c3be;
}

html{scroll-padding-top:92px;}

body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(circle at 14% 0%,rgba(242,199,107,.10),transparent 30%),
    radial-gradient(circle at 86% 8%,rgba(187,59,38,.10),transparent 28%),
    linear-gradient(180deg,#07070a 0%,#101015 46%,#07070a 100%) !important;
}

.navbar,
.seat-header{
  min-height:76px;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  background:rgba(8,8,11,.88) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.navbar .logo,
.seat-header .logo{
  min-width:0;
}

.navbar .logo span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.navbar nav a,
.seat-header nav a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
}

.nav-ticket-button,
.btn.primary,
.pay-btn,
.tec-action-book{
  box-shadow:0 14px 34px rgba(213,154,50,.22);
}

.hero,
.mobile-hero{
  min-height:calc(100svh - 76px);
  max-height:860px;
  isolation:isolate;
}

.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:30%;
  background:linear-gradient(180deg,transparent,rgba(8,8,11,.92));
  pointer-events:none;
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:2;
  width:min(760px,calc(100% - 32px));
}

.hero-title,
.page-title,
.section-head h2{
  letter-spacing:0 !important;
  text-wrap:balance;
}

.hero-text,
.section-head p,
.show-info p,
.movie-info p,
.event-info p{
  color:var(--tec-muted);
}

.hero-actions,
.show-actions,
.movie-actions,
.event-actions,
.tec-detail-actions{
  align-items:stretch;
}

.btn,
.show-actions a,
.show-actions button,
.movie-actions a,
.movie-actions button,
.event-actions a,
.event-actions button,
.filter-bar button,
.tec-session-pill,
.tec-action-book,
.tec-action-details,
.tec-action-trailer{
  border-radius:10px !important;
  min-height:42px;
  touch-action:manipulation;
}

.section,
.page{
  width:min(1240px,100%);
  margin-inline:auto;
}

.section-head,
.booking-date-heading{
  gap:14px;
}

.card-grid,
.movie-grid,
.event-grid,
.donation-grid{
  align-items:stretch;
}

.show-card,
.movie-card,
.event-card,
.donation-card{
  border:1px solid rgba(255,255,255,.11) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032)) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.34);
}

.show-card:hover,
.movie-card:hover,
.event-card:hover,
.donation-card:hover{
  border-color:rgba(242,199,107,.34) !important;
  transform:translateY(-3px);
}

.tec-poster-wrap,
.poster-wrap,
.movie-card-image{
  background:#0b0b0e;
}

.show-info,
.movie-info,
.event-info{
  display:flex !important;
  flex-direction:column;
  gap:9px;
  min-height:0;
}

.show-info h3,
.movie-info h3,
.event-info h3{
  min-height:0 !important;
  text-wrap:balance;
}

.tec-card-session-shell{
  margin-top:auto;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(0,0,0,.18);
}

.tec-card-session-scroll{
  scrollbar-width:thin;
}

.filter-bar{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:4px 2px 12px;
  scrollbar-width:thin;
}

.filter-bar button{
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.filter-bar button.active{
  border-color:rgba(242,199,107,.75);
  background:linear-gradient(135deg,var(--tec-gold),var(--tec-gold-2));
  color:#111;
}

input,
select,
textarea,
button,
a{
  -webkit-tap-highlight-color:transparent;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible{
  outline:3px solid rgba(242,199,107,.48);
  outline-offset:3px;
}

.empty-note{
  grid-column:1/-1;
  border:1px dashed rgba(242,199,107,.28);
  border-radius:14px;
  background:rgba(242,199,107,.07);
  padding:18px;
}

footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:#07070a;
}

@media (min-width:981px){
  .navbar nav,
  .seat-header nav{
    gap:10px !important;
  }

  .navbar nav a,
  .seat-header nav a{
    padding:0 12px;
  }

  .card-grid,
  .movie-grid,
  .event-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
    gap:22px !important;
  }

  #featuredGrid.card-grid,
  #comingSoonGrid.card-grid,
  #eventsGrid.card-grid,
  #screenedGrid.card-grid{
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;
  }
}

@media (max-width:980px){
  html{scroll-padding-top:76px;}

  body{
    padding-top:70px !important;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    min-height:70px !important;
    height:70px !important;
    padding:8px 12px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    gap:8px !important;
    align-items:center !important;
  }

  .navbar .logo span{
    display:none !important;
  }

  .navbar .logo img,
  .seat-header .logo img{
    height:54px !important;
    max-width:146px !important;
  }

  .menu-toggle,
  .tec-search-toggle{
    height:44px !important;
    border-radius:10px !important;
  }

  .menu-toggle{
    min-width:86px !important;
    width:86px !important;
  }

  .tec-mobile-master-nav.open .tec-mobile-menu-panel{
    width:min(420px,calc(100% - 24px)) !important;
    min-height:auto !important;
    max-height:calc(100dvh - 24px) !important;
    margin:12px auto !important;
    overflow:auto !important;
    border-radius:18px !important;
  }

  .tec-mobile-menu-links a{
    min-height:48px !important;
    border-radius:12px !important;
  }

  .hero,
  .mobile-hero{
    min-height:calc(100svh - 70px) !important;
    padding:clamp(42px,10vh,78px) 16px 52px !important;
  }

  .hero-title{
    font-size:clamp(36px,10vw,58px) !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100%;
  }

  .section,
  .page{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .section-head{
    align-items:flex-start !important;
  }
}

@media (max-width:600px){
  body{
    padding-bottom:92px !important;
  }

  .page-title{
    font-size:clamp(30px,9vw,42px) !important;
    line-height:1.08 !important;
    margin-bottom:16px !important;
  }

  .filter-bar{
    margin-inline:-2px;
  }

  .filter-bar button{
    min-height:44px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }

  .show-card,
  .movie-card,
  .event-card,
  .donation-card{
    border-radius:14px !important;
  }

  .show-card:hover,
  .movie-card:hover,
  .event-card:hover,
  .donation-card:hover{
    transform:none;
  }

  .tec-card-session-shell{
    padding:12px !important;
  }

  .tec-card-session-scroll{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .tec-session-pill,
  .tec-session-more{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
  }

  .mobile-sticky-book,
  .tec-mobile-bottom-cta{
    border-radius:12px !important;
    min-height:52px !important;
    box-shadow:0 12px 34px rgba(0,0,0,.46) !important;
  }
}

/* =====================================================================
   TEC — MOVIE CARD MODULE (single source of truth)
   Reference screenshot is the source of truth. Equal-height cards,
   identical posters, 3-line clamped synopsis, bottom-aligned buttons.
   Breakpoints (mobile-first priority, desktop must not override mobile):
     base            -> shared card structure
     >=1024px        -> desktop
     768px..1023px   -> tablet
     <=767px         -> MOBILE (written LAST so it always wins)
   ===================================================================== */

/* ---- Grid: every card in a row shares the tallest card's height ---- */
.tec-rail-section .card-grid,
#comingSoonGrid.card-grid,
#featuredGrid.card-grid,
#screenedGrid.card-grid,
#eventsGrid.card-grid,
#listingGrid.card-grid{
  display:grid !important;
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
}

/* ---- Card shell: vertical flex so buttons pin to the bottom ---- */
.show-card.tec-premium-show-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  min-width:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

/* ---- Poster: identical size + ratio on every card ---- */
.show-card.tec-premium-show-card .tec-poster-wrap{
  width:100% !important;
  flex:0 0 auto !important;
  aspect-ratio:2 / 3 !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#111 !important;
}
.show-card.tec-premium-show-card .tec-poster-wrap img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;      /* never stretch/squash; fills identically */
  object-position:center top !important;
  aspect-ratio:2 / 3 !important;
  display:block !important;
}

/* ---- Info column grows so actions can pin to the bottom ---- */
.show-card.tec-premium-show-card .show-info{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  gap:8px !important;
  padding:14px !important;
  min-width:0 !important;
}
.show-card.tec-premium-show-card .badge.movie-status{ align-self:flex-start !important; }

/* ---- Title: up to 2 lines, identical alignment ---- */
.show-card.tec-premium-show-card .tec-card-title{
  margin:6px 0 2px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  color:#fff !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* ---- Badges: same styling, wrap cleanly, never overflow ---- */
.show-card.tec-premium-show-card .tec-card-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:2px 0 !important;
  min-width:0 !important;
}
.show-card.tec-premium-show-card .tec-card-tag{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  padding:4px 10px !important;
  border:1px solid rgba(244,180,62,.45) !important;
  border-radius:999px !important;
  line-height:1.2 !important;
  color:#f4d38b !important;
  background:rgba(244,180,62,.06) !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

/* ---- Synopsis: EXACTLY 3 lines with ellipsis, equal across cards ---- */
.show-card.tec-premium-show-card .tec-card-tagline{
  margin:4px 0 2px !important;
  line-height:1.5 !important;
  color:rgba(247,243,234,.72) !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  white-space:normal !important;
}
.show-card.tec-premium-show-card .tec-card-when{
  margin:2px 0 0 !important;
  color:rgba(247,243,234,.82) !important;
}

/* ---- Buttons: identical size, stacked, pinned to the bottom ---- */
.show-card.tec-premium-show-card .show-actions{
  margin-top:auto !important;
  padding-top:12px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.show-card.tec-premium-show-card .show-actions a,
.tec-rail-section .show-card.tec-premium-show-card .show-actions a:first-child{
  display:flex !important;
}
.show-card.tec-premium-show-card .show-actions .tec-action-details{ order:-1 !important; }
.show-card.tec-premium-show-card .show-actions a,
.show-card.tec-premium-show-card .show-actions button{
  width:100% !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}

/* ============================ DESKTOP >=1024px ============================ */
@media (min-width:1024px){
  .tec-rail-section .card-grid,
  #comingSoonGrid.card-grid,
  #featuredGrid.card-grid,
  #screenedGrid.card-grid,
  #eventsGrid.card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
  }
  .show-card.tec-premium-show-card .tec-card-title{ font-size:18px !important; }
  .show-card.tec-premium-show-card .tec-card-tag{ font-size:12px !important; }
  .show-card.tec-premium-show-card .tec-card-tagline{ font-size:14px !important; }
  .show-card.tec-premium-show-card .tec-card-when{ font-size:13px !important; }
  .show-card.tec-premium-show-card .show-actions a,
  .show-card.tec-premium-show-card .show-actions button{ font-size:14px !important; }
}

/* ============================ TABLET 768-1023px =========================== */
@media (min-width:768px) and (max-width:1023px){
  .tec-rail-section .card-grid,
  #comingSoonGrid.card-grid,
  #featuredGrid.card-grid,
  #screenedGrid.card-grid,
  #eventsGrid.card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  .show-card.tec-premium-show-card .tec-card-title{ font-size:17px !important; }
  .show-card.tec-premium-show-card .tec-card-tag{ font-size:12px !important; }
  .show-card.tec-premium-show-card .tec-card-tagline{ font-size:13.5px !important; }
  .show-card.tec-premium-show-card .show-actions a,
  .show-card.tec-premium-show-card .show-actions button{ font-size:13.5px !important; }
}

/* ===================== MOBILE <=767px  (HIGHEST PRIORITY) ================= */
/* Written LAST so nothing above can override the approved mobile design. */
@media (max-width:767px){
  /* Two equal columns, equal gaps, equal heights. */
  .tec-rail-section .card-grid,
  #comingSoonGrid.card-grid,
  #featuredGrid.card-grid,
  #screenedGrid.card-grid,
  #eventsGrid.card-grid,
  #listingGrid.card-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
    grid-auto-rows:1fr !important;
  }
  /* Force vertical card (never the old horizontal 112px split). */
  .show-card.tec-premium-show-card{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    height:100% !important;
    border-radius:16px !important;
  }
  /* Identical posters: same 2:3 box, cover-filled, never stretched. */
  .show-card.tec-premium-show-card .tec-poster-wrap,
  .show-card.tec-premium-show-card .tec-poster-wrap img{
    width:100% !important;
    aspect-ratio:2 / 3 !important;
    height:auto !important;
  }
  .show-card.tec-premium-show-card .tec-poster-wrap img{
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  .show-card.tec-premium-show-card .show-info{ padding:13px !important; gap:7px !important; }
  .show-card.tec-premium-show-card .tec-card-title{ font-size:16px !important; -webkit-line-clamp:2 !important; }
  .show-card.tec-premium-show-card .tec-card-tag{ font-size:11.5px !important; padding:3px 9px !important; }
  .show-card.tec-premium-show-card .tec-card-tagline{ font-size:13px !important; -webkit-line-clamp:3 !important; }
  .show-card.tec-premium-show-card .tec-card-when{ font-size:12px !important; }
  /* Buttons: identical width/height, stacked, bottom-aligned. */
  .show-card.tec-premium-show-card .show-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
    grid-column:auto !important;
  }
  .show-card.tec-premium-show-card .show-actions a,
  .show-card.tec-premium-show-card .show-actions button{
    width:100% !important;
    min-height:44px !important;
    font-size:13px !important;
  }
}

/* Closed mobile drawer must never sit over forms or steal taps. */
@media (max-width:980px){
  .tec-mobile-master-nav:not(.open),
  .tec-mobile-master-nav:not(.open) *,
  .tec-mobile-master-nav[aria-hidden="true"],
  .tec-mobile-master-nav[aria-hidden="true"] *{
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

/* Detail pages: mobile booking controls are driven by app.js after movie
   availability is known. Mobile width alone must not reveal them. */
body.details-premium-page:not(.tec-mobile-bookable) .mobile-sticky-book,
body.details-premium-page:not(.tec-mobile-bookable) .tec-mobile-quick-book{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

@media (max-width:980px){
  body.details-premium-page.tec-mobile-bookable .tec-mobile-quick-book:not([hidden]){
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media (max-width:768px){
  body.details-premium-page.tec-mobile-bookable .mobile-sticky-book:not([hidden]){
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}

@media (min-width:981px){
  body.details-premium-page .mobile-sticky-book,
  body.details-premium-page .tec-mobile-quick-book{
    display:none !important;
  }
}
/* Dates and Sessions: shared public detail layout */
.tec-date-sessions{
  display:grid;
  gap:18px;
  margin-top:18px;
}
.tec-date-session-group{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  border-radius:8px;
  overflow:hidden;
}
.tec-date-session-group h3{
  margin:0;
  padding:16px 18px;
  color:#fff;
  font-size:20px;
  background:rgba(0,0,0,.24);
}
.tec-session-table-wrap{
  width:100%;
  overflow-x:auto;
}
.tec-session-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.tec-session-table th,
.tec-session-table td{
  padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.1);
  text-align:left;
  vertical-align:middle;
}
.tec-session-table th{
  color:#ffd08a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:rgba(0,0,0,.18);
}
.tec-session-table td{
  color:#f5f5f5;
}
.tec-session-action{
  min-height:42px;
  padding:10px 14px;
  border-radius:8px;
  white-space:nowrap;
}
.tec-session-action.disabled{
  opacity:.68;
  cursor:not-allowed;
}
@media(max-width:760px){
  .tec-session-table{
    min-width:0;
  }
  .tec-session-table thead{
    display:none;
  }
  .tec-session-table,
  .tec-session-table tbody,
  .tec-session-table tr,
  .tec-session-table td{
    display:block;
    width:100%;
  }
  .tec-session-table tr{
    padding:14px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .tec-session-table td{
    border:0;
    padding:6px 0;
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    gap:10px;
    align-items:start;
  }
  .tec-session-table td::before{
    content:attr(data-label);
    color:#bdbdbd;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .tec-session-table td[data-label="Action"]{
    display:block;
    padding-top:12px;
  }
  .tec-session-table td[data-label="Action"]::before{
    display:none;
  }
  .tec-session-action{
    width:100%;
  }
}

/* Premium Screened Movies cover flow */
.tec-screened-experience{
  position:relative;
  overflow:hidden;
  padding-top:54px!important;
  padding-bottom:62px!important;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(5,5,7,.96),rgba(13,10,9,.94)),
    radial-gradient(circle at 50% 0%,rgba(255,180,87,.18),transparent 42%);
}
.tec-screened-experience::before,
.tec-screened-experience::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
.tec-screened-experience::before{
  background:
    radial-gradient(ellipse at 18% 12%,rgba(255,205,132,.22),transparent 28%),
    radial-gradient(ellipse at 82% 16%,rgba(255,105,64,.16),transparent 30%),
    linear-gradient(105deg,transparent 0 18%,rgba(255,232,188,.07) 21%,transparent 34% 100%);
  filter:blur(.2px);
}
.tec-screened-experience::after{
  opacity:.13;
  mix-blend-mode:screen;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:3px 3px,4px 4px;
}
.tec-screened-experience .section-head{
  position:relative;
  z-index:2;
  align-items:end;
}
.tec-screened-experience .section-head h2{
  font-size:clamp(30px,4vw,54px);
  letter-spacing:0;
  text-shadow:0 0 32px rgba(255,176,75,.24);
}
#screenedGrid.tec-screened-coverflow,
.tec-screened-coverflow{
  position:relative;
  display:block!important;
  width:100%;
  min-height:640px;
  overflow:hidden;
  padding:20px 0 0;
  contain:layout paint;
}
.tec-screened-effects{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.tec-screened-effects span{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(255,224,174,.72);
  box-shadow:0 0 18px rgba(255,190,98,.7);
  animation:tecParticleFloat 12s linear infinite;
}
.tec-screened-effects span:nth-child(1){left:18%;top:66%;animation-duration:13s;}
.tec-screened-effects span:nth-child(2){left:52%;top:74%;animation-delay:-4s;animation-duration:16s;}
.tec-screened-effects span:nth-child(3){left:82%;top:58%;animation-delay:-8s;animation-duration:14s;}
.tec-cover-viewport{
  position:relative;
  height:500px;
  perspective:1250px;
  perspective-origin:50% 44%;
  outline:none;
  touch-action:pan-y;
  cursor:grab;
}
.tec-cover-viewport:active{cursor:grabbing;}
.tec-cover-stage{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
}
.tec-cover-card{
  position:absolute;
  left:50%;
  top:28px;
  width:clamp(180px,22vw,278px);
  aspect-ratio:2/3;
  margin-left:calc(clamp(180px,22vw,278px) / -2);
  border:0;
  padding:0;
  background:transparent;
  color:#fff;
  transform-style:preserve-3d;
  transform-origin:center center;
  will-change:transform,opacity;
  transition:filter .26s ease;
}
.tec-cover-card::before{
  content:"";
  position:absolute;
  inset:12px 12px -24px;
  transform:translateZ(-42px);
  border-radius:8px;
  background:rgba(0,0,0,.72);
  filter:blur(28px);
  opacity:.8;
}
.tec-cover-card.is-active{
  filter:drop-shadow(0 28px 52px rgba(0,0,0,.62)) drop-shadow(0 0 34px rgba(255,180,76,.22));
}
.tec-cover-poster{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,226,176,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 24px 72px rgba(0,0,0,.5);
  transform:translateZ(34px);
  backface-visibility:hidden;
}
.tec-cover-poster::before,
.tec-cover-poster::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.tec-cover-poster::before{
  inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 22%,transparent 70%,rgba(255,255,255,.08));
  mix-blend-mode:screen;
}
.tec-cover-poster::after{
  left:0;
  right:0;
  top:100%;
  height:42%;
  background:inherit;
  transform:scaleY(-1);
  opacity:.22;
  filter:blur(3px);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);
}
.tec-cover-poster img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  display:block;
  object-fit:cover;
  aspect-ratio:2/3;
  opacity:0;
  transition:opacity .7s ease;
}
.tec-cover-poster img.is-slide-active,
.tec-cover-poster img:first-child:last-child{
  opacity:1;
}
.tec-cover-card.is-active .tec-cover-poster{
  animation:tecPosterFloat 5.6s ease-in-out infinite;
}
.tec-cover-caption{
  position:absolute;
  left:50%;
  bottom:-82px;
  width:min(330px,80vw);
  transform:translateX(-50%) translateZ(64px);
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border-radius:8px;
  background:linear-gradient(145deg,rgba(12,12,14,.72),rgba(32,24,18,.42));
  border:1px solid rgba(255,220,170,.2);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  opacity:0;
  transition:opacity .24s ease,transform .24s ease;
}
.tec-cover-card.is-active .tec-cover-caption{
  opacity:1;
  transform:translateX(-50%) translateZ(72px) translateY(-6px);
}
.tec-cover-caption strong{
  font-size:18px;
  line-height:1.18;
}
.tec-cover-caption small{
  color:rgba(255,255,255,.72);
  font-size:13px;
}
.tec-cover-nav{
  position:absolute;
  top:46%;
  z-index:130;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,220,170,.26);
  background:rgba(13,13,15,.56);
  color:#ffd08a;
  font-size:30px;
  line-height:1;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 42px rgba(0,0,0,.36);
}
.tec-cover-nav.prev{left:clamp(10px,4vw,44px);}
.tec-cover-nav.next{right:clamp(10px,4vw,44px);}
.tec-screened-timeline{
  position:relative;
  z-index:3;
  max-width:980px;
  margin:18px auto 0;
  padding:22px 8px 0;
}
.tec-timeline-track{
  position:absolute;
  left:8px;
  right:8px;
  top:32px;
  height:2px;
  background:rgba(255,255,255,.14);
  overflow:hidden;
}
.tec-timeline-track span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#ff6a00,#ffd08a);
  box-shadow:0 0 18px rgba(255,180,80,.55);
  transition:width .45s cubic-bezier(.2,.85,.2,1);
}
.tec-timeline-points{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.tec-timeline-points button{
  width:100%;
  min-width:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.62);
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.tec-timeline-points span{
  width:13px;
  height:13px;
  border-radius:50%;
  background:#272727;
  border:1px solid rgba(255,220,170,.36);
  box-shadow:0 0 0 6px rgba(0,0,0,.4);
}
.tec-timeline-points strong{
  max-width:118px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  font-weight:800;
}
.tec-timeline-points button.active{
  color:#ffd08a;
}
.tec-timeline-points button.active span{
  background:#ffd08a;
  box-shadow:0 0 0 6px rgba(255,176,66,.12),0 0 24px rgba(255,180,80,.8);
}
.tec-screened-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(0,0,0,.78);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.tec-modal-open{overflow:hidden;}
.tec-screened-modal-shell{
  position:relative;
  width:min(980px,94vw);
  min-height:min(680px,88vh);
  perspective:1500px;
}
.tec-screened-modal-close,
.tec-screened-flip-toggle{
  position:absolute;
  z-index:4;
  top:-12px;
  min-height:42px;
  border-radius:8px;
  border:1px solid rgba(255,220,170,.28);
  background:rgba(15,15,17,.82);
  color:#fff;
}
.tec-screened-modal-close{
  right:0;
  width:42px;
}
.tec-screened-flip-toggle{
  right:52px;
  padding:0 16px;
}
.tec-screened-flip-card{
  position:relative;
  width:100%;
  min-height:min(680px,88vh);
  transform-style:preserve-3d;
  transition:transform .75s cubic-bezier(.2,.75,.2,1);
  outline:none;
}
.tec-screened-flip-card.is-flipped{
  transform:rotateY(180deg);
}
.tec-screened-flip-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:8px;
  border:1px solid rgba(255,220,170,.22);
  background:linear-gradient(145deg,rgba(20,20,22,.92),rgba(11,9,8,.92));
  box-shadow:0 34px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.1);
  backface-visibility:hidden;
}
.tec-screened-flip-face.front img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#050505;
}
.tec-screened-flip-face.front div{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  padding:18px 20px;
  border-radius:8px;
  background:rgba(0,0,0,.5);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.tec-screened-flip-face.front span{
  color:#ffd08a;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.tec-screened-flip-face.front h3{
  margin:4px 0 0;
  font-size:clamp(28px,4vw,52px);
  line-height:1;
}
.tec-screened-flip-face.back{
  transform:rotateY(180deg);
  overflow:auto;
}
.tec-screened-modal-back{
  padding:34px;
}
.tec-screened-modal-back h3{
  margin:0 0 14px;
  font-size:clamp(28px,4vw,48px);
}
.tec-screened-modal-meta,
.tec-screened-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.tec-screened-modal-meta span,
.tec-screened-modal-action{
  border-radius:8px;
  border:1px solid rgba(255,220,170,.22);
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:10px 12px;
  text-decoration:none;
}
.tec-screened-modal-copy{
  color:rgba(255,255,255,.76);
  line-height:1.6;
  max-width:760px;
}
.tec-screened-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
}
.tec-screened-gallery img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.1);
}
.tec-screened-archive-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:18px 0;
}
.tec-screened-archive-grid section{
  padding:16px;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}
.tec-screened-archive-grid h4{
  color:#ffd08a;
  margin:0 0 10px;
}
.tec-screened-archive-grid p{
  color:rgba(255,255,255,.74);
  margin:8px 0 0;
}
.screened-admin-list{
  display:grid;
  gap:10px;
  margin:16px 0;
}
.screened-admin-row{
  display:grid;
  grid-template-columns:28px 58px minmax(0,1fr) auto 34px;
  align-items:center;
  gap:12px;
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
}
.screened-admin-row.dragging{
  opacity:.45;
}
.screened-admin-grip{
  color:#ffd08a;
  cursor:grab;
  font-weight:900;
}
.screened-admin-row img{
  width:58px!important;
  height:86px!important;
  object-fit:cover;
  border-radius:6px;
}
.screened-admin-row h3{
  margin:0 0 4px;
  font-size:15px;
}
.screened-admin-row p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:12px;
}
.screened-feature-toggle{
  min-height:38px;
  border-radius:8px;
  padding:0 12px;
  white-space:nowrap;
}
.screened-feature-toggle.active{
  background:linear-gradient(135deg,#ff6a00,#ffd08a);
  color:#170d02;
}
.screened-admin-order{
  color:#ffd08a;
  font-weight:900;
  text-align:center;
}
@keyframes tecPosterFloat{
  0%,100%{transform:translateZ(34px) translateY(0);}
  50%{transform:translateZ(42px) translateY(-8px);}
}
@keyframes tecParticleFloat{
  0%{transform:translate3d(0,80px,0);opacity:0;}
  20%{opacity:.85;}
  100%{transform:translate3d(28px,-320px,0);opacity:0;}
}
@media(max-width:760px){
  #screenedGrid.tec-screened-coverflow,
  .tec-screened-coverflow{
    min-height:590px;
    padding-top:4px;
  }
  .tec-cover-viewport{
    height:440px;
    perspective:900px;
    overflow:hidden;
  }
  .tec-cover-card{
    width:min(62vw,230px);
    margin-left:calc(min(62vw,230px) / -2);
    top:18px;
  }
  .tec-cover-caption{
    bottom:-88px;
    padding:14px;
  }
  .tec-cover-nav{
    top:auto;
    bottom:28px;
    width:42px;
    height:42px;
  }
  .tec-cover-nav.prev{left:22px;}
  .tec-cover-nav.next{right:22px;}
  .tec-timeline-points{
    overflow-x:auto;
    justify-content:flex-start;
    padding-bottom:8px;
  }
  .tec-timeline-points button{
    flex:0 0 82px;
  }
  .tec-screened-gallery,
  .tec-screened-archive-grid{
    grid-template-columns:1fr;
  }
  .tec-screened-modal{
    padding:12px;
  }
  .tec-screened-modal-back{
    padding:24px 18px;
  }
  .tec-screened-modal-shell,
  .tec-screened-flip-card{
    min-height:86vh;
  }
  .screened-admin-row{
    grid-template-columns:24px 48px minmax(0,1fr);
  }
  .screened-feature-toggle,
  .screened-admin-order{
    grid-column:3;
    justify-self:start;
  }
}
@media(prefers-reduced-motion:reduce){
  .tec-cover-card,
  .tec-cover-caption,
  .tec-screened-flip-card,
  .tec-timeline-track span{
    transition:none!important;
  }
  .tec-cover-card.is-active .tec-cover-poster,
  .tec-screened-effects span{
    animation:none!important;
  }
}
