/* ===========================================================
   TMT Framework
   Component: Hero Slider
   Status: Active
   Version: 1.0 RC
   =========================================================== */

/* ===========================================================
   TMT Hero CSS
   Split from tmt-additional.min.css.
   Structural split only; no intentional visual changes.
   =========================================================== */

/* ===========================================================
   TMT hero slider
   =========================================================== */

.tl-hero-slider{position:relative;display:block;--h:689px;--nav:48px;--nav-pad:14px;--ui-fade:.25}.tl-hero-slider.is-fullbleed{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}.tl-hero-slider .track{width:100vw!important;display:flex!important;overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x pinch-zoom;aspect-ratio:1280/731;max-height:var(--h);scrollbar-width:none;position:relative}.tl-hero-slider .track::-webkit-scrollbar{display:none}.tl-hero-slider .slide{flex:0 0 100vw!important;scroll-snap-align:start;scroll-snap-stop:always;display:block;position:relative}.tl-hero-slider img{width:100%!important;height:auto;display:block;object-fit:cover;max-height:var(--h)}.tl-hero-slider .overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:clamp(8px,2vw,24px);text-align:center}.tl-hero-slider .overlay-title{font-size:clamp(22px,4vw,42px);line-height:1.15;margin:0;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.4)}.tl-hero-slider .overlay .overlay-cta{pointer-events:auto;display:inline-block;margin-top:12px;padding:.6em 1em;border-radius:9999px;background:rgba(255,255,255,.9);color:#000;text-decoration:none;font-weight:600}.tl-hero-slider .nav{position:absolute;top:50%;transform:translateY(-50%);width:var(--nav);height:var(--nav);line-height:var(--nav);text-align:center;border:0;border-radius:9999px;background:rgba(255,255,255,.9);color:#000;font-size:28px;font-weight:600;cursor:pointer;padding:0;z-index:6;opacity:1;transition:opacity .2s ease,transform .2s ease}.tl-hero-slider .nav.prev{left:var(--nav-pad)}.tl-hero-slider .nav.next{right:var(--nav-pad)}.tl-hero-slider.ui-hidden .nav{opacity:var(--ui-fade)}.tl-hero-slider .nav:hover{opacity:1;transform:translateY(-50%) scale(1.04)}@media (prefers-reduced-motion:reduce){.tl-hero-slider .track{scroll-behavior:auto}}.tl-hero-slider{position:relative}.tl-hero-slider .nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.36);backdrop-filter:saturate(120%) blur(2px);box-shadow:0 2px 12px rgba(0,0,0,.25);cursor:pointer;transition:opacity .25s ease,transform .25s ease,background .2s ease;z-index:3;line-height:1;text-indent:-9999px;overflow:hidden}.tl-hero-slider .nav:hover{background:rgba(0,0,0,.5)}.tl-hero-slider .nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.tl-hero-slider .nav::after{content:"";display:block;width:16px;height:16px;background-repeat:no-repeat;background-position:center;background-size:16px 16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.tl-hero-slider .nav.prev{left:16px}.tl-hero-slider .nav.next{right:16px}.tl-hero-slider.ui-hidden .nav{opacity:.001;pointer-events:none}@media (hover:none){.tl-hero-slider .nav{opacity:.85}}.tl-hero-slider .nav.prev::after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>")}.tl-hero-slider .nav.next::after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>")}.tl-hero-slider .slide{cursor:default}.tl-hero-slider.no-anim .track{scroll-behavior:auto}
/* ===========================================================
   TMT hero fullbleed wrapper visibility
   =========================================================== */

#page:has(.tl-hero-slider.is-fullbleed),
#main:has(.tl-hero-slider.is-fullbleed),
.site-main:has(.tl-hero-slider.is-fullbleed),
#primary:has(.tl-hero-slider.is-fullbleed),
.content-area:has(.tl-hero-slider.is-fullbleed),
.site-content:has(.tl-hero-slider.is-fullbleed),
article:has(.tl-hero-slider.is-fullbleed),
.entry-content:has(.tl-hero-slider.is-fullbleed){
  overflow-x:visible !important;
}

.tl-hero-slider.is-fullbleed{
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  overflow:hidden !important;
}

.tl-hero-slider .track{
  width:100vw !important;
  max-width:100vw !important;
}

/* ===========================================================
   TMT hero slider navigation button theme
   =========================================================== */

/* Theme behavior only.
   Size and position are intentionally untouched. */

.tl-hero-slider .nav,
.tl-hero-slider .nav:hover,
.tl-hero-slider .nav:focus-visible{
  border-color:transparent !important;
  outline:0 !important;
  text-decoration:none !important;
  text-shadow:none !important;
}

.tl-hero-slider .nav::after{
  filter:none !important;
}

/* Dark mode initial: white button, black arrow */
html[data-tmt-theme="dark"] .tl-hero-slider .nav,
html:not([data-tmt-theme]) .tl-hero-slider .nav{
  background:#ffffff !important;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  box-shadow:var(--tmt-shadow) !important;
}

html[data-tmt-theme="dark"] .tl-hero-slider .nav.prev::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.prev::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") !important;
}

html[data-tmt-theme="dark"] .tl-hero-slider .nav.next::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.next::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") !important;
}

/* Dark mode hover: black button, white arrow */
html[data-tmt-theme="dark"] .tl-hero-slider .nav:hover,
html[data-tmt-theme="dark"] .tl-hero-slider .nav:focus-visible,
html:not([data-tmt-theme]) .tl-hero-slider .nav:hover,
html:not([data-tmt-theme]) .tl-hero-slider .nav:focus-visible{
  background:#000000 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:var(--tmt-shadow-hover) !important;
}

html[data-tmt-theme="dark"] .tl-hero-slider .nav.prev:hover::after,
html[data-tmt-theme="dark"] .tl-hero-slider .nav.prev:focus-visible::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.prev:hover::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.prev:focus-visible::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") !important;
}

html[data-tmt-theme="dark"] .tl-hero-slider .nav.next:hover::after,
html[data-tmt-theme="dark"] .tl-hero-slider .nav.next:focus-visible::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.next:hover::after,
html:not([data-tmt-theme]) .tl-hero-slider .nav.next:focus-visible::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") !important;
}

/* Light mode initial: black button, white arrow */
html[data-tmt-theme="light"] .tl-hero-slider .nav{
  background:#000000 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:var(--tmt-shadow) !important;
}

html[data-tmt-theme="light"] .tl-hero-slider .nav.prev::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") !important;
}

html[data-tmt-theme="light"] .tl-hero-slider .nav.next::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") !important;
}

/* Light mode hover: white button, black arrow */
html[data-tmt-theme="light"] .tl-hero-slider .nav:hover,
html[data-tmt-theme="light"] .tl-hero-slider .nav:focus-visible{
  background:#ffffff !important;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  box-shadow:var(--tmt-shadow-hover) !important;
}

html[data-tmt-theme="light"] .tl-hero-slider .nav.prev:hover::after,
html[data-tmt-theme="light"] .tl-hero-slider .nav.prev:focus-visible::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='15 18 9 12 15 6'/></svg>") !important;
}

html[data-tmt-theme="light"] .tl-hero-slider .nav.next:hover::after,
html[data-tmt-theme="light"] .tl-hero-slider .nav.next:focus-visible::after{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") !important;
}
