/* ==========================================================================
   Third Eye Cinema V2.0 Phase 2 UI
   Premium public-facing polish without changing the brand identity.
   Loaded last on customer pages.
   ========================================================================== */

:root{
  --tec-phase2-bg:#070708;
  --tec-phase2-panel:rgba(14,14,16,.92);
  --tec-phase2-line:rgba(255,232,176,.18);
  --tec-phase2-line-strong:rgba(255,232,176,.36);
  --tec-phase2-gold:#f6c86a;
  --tec-phase2-gold-2:#e8a83e;
  --tec-phase2-copy:#fff8ea;
  --tec-phase2-muted:rgba(255,248,234,.78);
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:78px;
}

body{
  background:
    radial-gradient(circle at 12% 0%,rgba(246,200,106,.08),transparent 28%),
    linear-gradient(180deg,#050506 0%,#0b0b0d 48%,#050506 100%) !important;
}

.navbar,
.navbar.tec-cinema-header,
header.navbar.tec-cinema-header,
.seat-header{
  min-height:74px !important;
  height:74px !important;
  padding:0 clamp(18px,4vw,64px) !important;
  border-bottom:1px solid var(--tec-phase2-line) !important;
  background:rgba(5,5,7,.82) !important;
  box-shadow:0 16px 46px rgba(0,0,0,.36) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.18);
  backdrop-filter:blur(20px) saturate(1.18);
}

.navbar .logo,
.seat-header .logo{
  gap:12px !important;
}

.navbar .logo img,
.seat-header .logo img{
  height:58px !important;
  max-width:152px !important;
  object-fit:contain !important;
}

.navbar .logo span{
  display:inline-block !important;
  color:#fff7e7 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

.navbar nav a,
.navbar #mainNav a{
  border:1px solid transparent !important;
  color:rgba(255,248,234,.82) !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease !important;
}

.navbar nav a:hover,
.navbar #mainNav a:hover,
.navbar nav a.active,
.navbar #mainNav a.active{
  border-color:rgba(246,200,106,.24) !important;
  background:rgba(255,255,255,.055) !important;
  color:#fff7e7 !important;
}

.navbar .nav-ticket-button,
.navbar #mainNav .nav-ticket-button{
  border-color:rgba(246,200,106,.65) !important;
  background:linear-gradient(135deg,var(--tec-phase2-gold),var(--tec-phase2-gold-2)) !important;
  color:#170d03 !important;
  box-shadow:0 12px 30px rgba(246,200,106,.22) !important;
}

.hero,
.hero.mobile-hero{
  min-height:clamp(620px,82svh,820px) !important;
  padding-top:90px !important;
  padding-bottom:48px !important;
}

.hero-overlay,
.hero.mobile-hero .hero-overlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.68) 58%,#070708 100%),
    linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.24) 48%,rgba(0,0,0,.78)) !important;
}

.hero-content,
.hero.mobile-hero .hero-content{
  max-width:760px !important;
}

.hero-title,
.hero.mobile-hero .hero-title{
  color:#fff9ed !important;
  font-size:clamp(52px,8vw,92px) !important;
  line-height:.94 !important;
  letter-spacing:0 !important;
  text-shadow:0 18px 54px rgba(0,0,0,.72) !important;
}

.hero-text,
.hero.mobile-hero .hero-text{
  color:rgba(255,248,234,.9) !important;
  font-size:clamp(17px,2vw,21px) !important;
  line-height:1.78 !important;
  max-width:640px !important;
}

.hero-actions{
  gap:12px !important;
}

.btn.primary,
.hero-actions .primary,
.pay-btn,
.tec-action-book,
.show-card.tec-premium-show-card .tec-action-book,
.show-card.tec-premium-show-card .show-actions button:last-child:not(:disabled){
  border:1px solid rgba(255,232,164,.72) !important;
  background:linear-gradient(135deg,#ffe38d 0%,#f2bd4c 58%,#df9a31 100%) !important;
  color:#170d03 !important;
  box-shadow:0 16px 36px rgba(246,200,106,.24),inset 0 1px 0 rgba(255,255,255,.36) !important;
}

.hero-actions .ghost,
.btn.ghost,
.show-card.tec-premium-show-card .tec-action-details,
.show-card.tec-premium-show-card .tec-action-trailer{
  border:1px solid rgba(255,255,255,.42) !important;
  background:rgba(8,8,10,.44) !important;
  color:#fff8ea !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1) !important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

.hero-actions .btn,
.show-actions a,
.show-actions button{
  min-height:50px !important;
  border-radius:12px !important;
}

main > .section:first-child,
main > .tec-rail-section:first-child{
  padding-top:42px !important;
}

.section-head{
  margin-bottom:18px !important;
}

.section-head h2,
.page-title{
  color:#fff8ea !important;
  letter-spacing:0 !important;
}

.section-head .view-link{
  color:var(--tec-phase2-gold) !important;
}

.show-card.tec-premium-show-card,
.movie-card,
.event-card{
  border-radius:20px !important;
  border-color:rgba(246,200,106,.24) !important;
  background:
    radial-gradient(circle at 20% 0%,rgba(246,200,106,.14),transparent 34%),
    linear-gradient(155deg,rgba(27,27,31,.96),rgba(8,8,11,.99)) !important;
  box-shadow:0 24px 72px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.show-card.tec-premium-show-card .tec-poster-wrap{
  background:#050506 !important;
}

.show-card.tec-premium-show-card .tec-poster-wrap img{
  object-fit:cover !important;
  transition:transform .55s ease,filter .35s ease !important;
}

@media (hover:hover){
  .show-card.tec-premium-show-card:hover .tec-poster-wrap img{
    transform:scale(1.045) !important;
    filter:saturate(1.08) contrast(1.04) !important;
  }
}

.show-card.tec-premium-show-card .show-info{
  gap:10px !important;
  padding:18px !important;
}

.show-card.tec-premium-show-card .tec-card-title{
  color:#fff9ed !important;
  font-weight:900 !important;
}

.show-card.tec-premium-show-card .tec-card-tagline{
  color:rgba(255,248,234,.82) !important;
  line-height:1.58 !important;
}

.show-card.tec-premium-show-card .tec-card-tag{
  border-color:rgba(246,200,106,.36) !important;
  color:#f6d68e !important;
  background:rgba(246,200,106,.09) !important;
}

.show-card.tec-premium-show-card .show-actions{
  gap:10px !important;
}

.show-card.tec-premium-show-card .show-actions a,
.show-card.tec-premium-show-card .show-actions button{
  min-height:50px !important;
  border-radius:12px !important;
  font-weight:900 !important;
}

.tec-mobile-tabs,
.mobile-sticky-book,
.tec-mobile-bottom-cta,
.tec-mobile-quick-book{
  display:none !important;
}

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

  body{
    padding-top:68px !important;
    padding-bottom:24px !important;
  }

  .navbar,
  .navbar.tec-cinema-header,
  header.navbar.tec-cinema-header,
  .seat-header{
    min-height:68px !important;
    height:68px !important;
    padding:max(6px,env(safe-area-inset-top)) 12px 6px !important;
    display:grid !important;
    grid-template-columns:52px minmax(0,1fr) 52px !important;
    align-items:center !important;
    gap:8px !important;
  }

  .menu-toggle,
  header.navbar.tec-cinema-header .menu-toggle{
    grid-column:1 !important;
    justify-self:start !important;
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    padding:0 !important;
    border-radius:50% !important;
    border:1px solid rgba(246,200,106,.3) !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff8ea !important;
  }

  .menu-toggle .menu-word{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    white-space:nowrap !important;
  }

  .menu-toggle .menu-symbol{
    display:inline !important;
    font-size:21px !important;
    line-height:1 !important;
  }

  .navbar .logo,
  .seat-header .logo,
  header.navbar.tec-cinema-header .logo{
    grid-column:2 !important;
    justify-self:center !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:min(170px,58vw) !important;
    height:58px !important;
    max-width:min(170px,58vw) !important;
    overflow:visible !important;
    text-align:center !important;
  }

  .navbar .logo img,
  .seat-header .logo img,
  header.navbar.tec-cinema-header .logo img{
    content:url("images/logo-nav-mobile.webp") !important;
    width:150px !important;
    max-width:150px !important;
    height:52px !important;
    transform:none !important;
    transform-origin:center center !important;
    object-fit:contain !important;
  }

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

  .navbar .tec-search-toggle,
  header.navbar.tec-cinema-header .tec-search-toggle,
  .seat-header .tec-search-toggle,
  .tec-mobile-quick-book{
    display:none !important;
  }

  .navbar > nav,
  .navbar > #mainNav,
  .seat-header > nav,
  .seat-header > #mainNav{
    display:none !important;
  }

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

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

  .tec-mobile-menu-panel,
  .tec-mobile-master-nav.open .tec-mobile-menu-panel{
    width:min(380px,88vw) !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:18px 18px calc(28px + env(safe-area-inset-bottom)) !important;
    overflow:auto !important;
    border-radius:0 !important;
    border:0 !important;
    border-right:1px solid rgba(246,200,106,.24) !important;
    background:
      radial-gradient(circle at 0% 0%,rgba(246,200,106,.18),transparent 34%),
      linear-gradient(180deg,rgba(10,10,12,.98),rgba(4,4,5,.995)) !important;
    box-shadow:26px 0 70px rgba(0,0,0,.58) !important;
    transform:translateX(-104%) !important;
    transition:transform .34s cubic-bezier(.2,.85,.2,1) !important;
  }

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

  .tec-mobile-menu-top{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
    margin-bottom:18px !important;
  }

  .tec-mobile-menu-close{
    grid-column:1 !important;
    width:44px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    border-radius:50% !important;
  }

  .tec-mobile-menu-close span:last-child,
  .tec-mobile-menu-search,
  .tec-mobile-menu-book{
    display:none !important;
  }

  .tec-mobile-menu-logo{
    grid-column:2 !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    color:#fff8ea !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
  }

  .tec-mobile-menu-logo img{
    content:url("images/logo-nav-mobile.webp") !important;
    width:150px !important;
    height:52px !important;
    max-width:150px !important;
    object-fit:contain !important;
  }

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

  .tec-mobile-menu-logo::after{
    content:none !important;
    display:none !important;
  }

  .tec-mobile-menu-searchbox{
    display:block !important;
    margin:4px 0 18px !important;
  }

  .tec-mobile-menu-searchbox input{
    width:100% !important;
    min-height:48px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.07) !important;
    color:#fff !important;
  }

  .tec-mobile-menu-links{
    display:grid !important;
    gap:10px !important;
  }

  .tec-mobile-menu-links a{
    min-height:52px !important;
    padding:0 14px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.12) !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff8ea !important;
    font-weight:800 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    text-align:left !important;
  }

  .tec-mobile-menu-icon{
    width:28px !important;
    height:28px !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 28px !important;
    border:1px solid rgba(246,200,106,.24) !important;
    background:rgba(246,200,106,.1) !important;
    color:#ffe19a !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  .tec-mobile-menu-links a.active,
  .tec-mobile-menu-links a.nav-ticket-button{
    border-color:rgba(246,200,106,.52) !important;
    background:rgba(246,200,106,.14) !important;
    color:#ffe19a !important;
  }

  .hero,
  .hero.mobile-hero{
    min-height:calc(78svh - 68px) !important;
    padding:44px 18px 30px !important;
    align-items:flex-end !important;
  }

  .hero-title,
  .hero.mobile-hero .hero-title{
    max-width:11ch !important;
    font-size:clamp(38px,12vw,58px) !important;
    line-height:.94 !important;
    margin-bottom:12px !important;
  }

  .hero-text,
  .hero.mobile-hero .hero-text{
    max-width:34ch !important;
    margin-bottom:18px !important;
    color:rgba(255,248,234,.88) !important;
    font-size:15.5px !important;
    line-height:1.72 !important;
  }

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

  .hero-actions .btn,
  .hero.mobile-hero .hero-actions .btn{
    width:100% !important;
    min-height:52px !important;
  }

  main > .section:first-child,
  main > .tec-rail-section:first-child{
    padding-top:28px !important;
  }

  .section,
  .page{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .show-card.tec-premium-show-card{
    border-radius:20px !important;
  }

  .show-card.tec-premium-show-card .show-info{
    padding:16px !important;
  }

  .show-card.tec-premium-show-card .show-actions a,
  .show-card.tec-premium-show-card .show-actions button{
    min-height:52px !important;
  }
}

@media (max-width:430px){
  .hero,
  .hero.mobile-hero{
    min-height:calc(74svh - 68px) !important;
  }

  .hero-title,
  .hero.mobile-hero .hero-title{
    font-size:clamp(36px,12vw,50px) !important;
  }

  .show-card.tec-premium-show-card .tec-card-title{
    font-size:18px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .tec-mobile-master-nav,
  .tec-mobile-menu-panel,
  .show-card.tec-premium-show-card .tec-poster-wrap img{
    transition:none !important;
  }
}
