/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.3.1777464025
Updated: 2026-04-29 14:00:25

*/

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Thin.woff2') format('woff2');
  font-weight: 100;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Light.woff2') format('woff2');
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'GT Planar';
  src: url('https://ttz.bayern/wp-content/uploads/2026/04/GT-Planar-Black.woff2') format('woff2');
  font-weight: 900;
  font-display: swap;
}

body {
  font-family: 'GT Planar', sans-serif;
}
/*  WRAPPER*/
.ttz-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* CARD*/
.ttz-card {
  background: #ffffff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(107, 0, 255, 0.15);
  transition: all 0.3s ease;
}

.ttz-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 70px rgba(107, 0, 255, 0.25);
}

/* IMAGE */
.ttz-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

/* CONTENT */
.ttz-content {
  padding: 20px 22px;
}

/* TITLE */
.ttz-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #6b00ff;
}

/* TAGS */
.ttz-tags {
  margin-bottom: 16px;
}

.ttz-tags .tag {
  display: inline-block;
  background: #cfff04;
  color: #6b00ff;
  padding: 6px 12px;
  margin: 4px 4px 0 0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

/* BUTTON */
.ttz-button {
  display: inline-block;
  background: #6b00ff;
  color: #ffffff;
  padding: 10px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: all 0.25s ease;
}

.ttz-button:hover {
  background: #4e00cc;
  transform: translateY(-1px);
}

/* RESPONSIVE GRID*/
@media (max-width: 1024px) {
  .ttz-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .ttz-wrapper {
    grid-template-columns: 1fr;
  }
}

/* HEADING */
.ttz-heading {
  font-size: 28px;
  font-weight: 800;
  color: #6b00ff !important;
  line-height: 1.3;
}

.ttz-heading .line {
  position: relative;
  display: inline-block;
}

.ttz-heading .line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  height: 6px;
  background: #cfff04;
  border-radius: 4px;
  z-index: -1;
}

.ttz-heading .elementor-heading-title {
  color: #6b00ff !important;
  opacity: 1 !important;
}

/*  HERO SECTION*/
.hero-section {
  position: relative;
  background: linear-gradient(135deg, #3a00a8 0%, #6b00ff 50%, #2b007a 100%);
  overflow: hidden;
}

.hero-section::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255,255,255,0.25) 0%, transparent 70%);
  filter: blur(80px);
  z-index: 0;
}

.hero-section * {
  position: relative;
  z-index: 1;
}

/* TEXT */
.hero-subtitle {
  color: #cfff04;
  font-size: 14px;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-align: center;
}

.hero-title {
  color: #ffffff;
  font-size: 64px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

/* HERO BOX */
.hero-box {
  background: #ffffff;
  border-radius: 22px;
  margin: 40px auto 0;
  max-width: 620px;
  width: 100%;
  box-shadow: 0 25px 60px rgba(107, 0, 255, 0.25);
  overflow: hidden;
}

/* TABS*/
.custom-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  background: linear-gradient(135deg, #6b00ff, #8a2bff);
  border-radius: 20px 20px 0 0;
  padding: 6px;
  gap: 6px;
}

.custom-tabs .tab-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.custom-tabs .tab-btn.active {
  background: #cfff04;
  color: #000;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

.custom-tabs .tab-btn:not(.active) {
  background: transparent;
  opacity: 0.95;
}

/*  MOBILE ONLY */
@media (max-width: 480px) {

  .hero-title {
    font-size: 26px;
    line-height: 1.2;
    padding: 0 10px;
  }

  .hero-box {
    max-width: 92%;
    margin-top: 20px;
    border-radius: 16px;
  }

  .custom-tabs {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px;
    padding: 8px;
  }

  .custom-tabs .tab-btn {
    width: 100%;
    height: 42px;
    font-size: 13px;
  }

  .hero-search input {
    font-size: 13px;
    padding: 12px 40px 12px 14px;
  }
}

/* SEARCH*/
.hero-search {
  padding: 20px;
  background: #ffffff;
}

#ttz-search-form {
  position: relative;
  width: 100%;
}

#ttz-search-form input {
  width: 100%;
  height: 52px;
  padding: 0 60px 0 20px;
  border-radius: 40px;
  border: none;
  outline: none;
  font-size: 14px;
  background: #f3f3f7;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  transition: all 0.25s ease;
}

#ttz-search-form input:focus {
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(107, 0, 255, 0.15);
}

/* BUTTON */
.search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: #6b00ff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.search-btn:hover {
  background: #4e00cc;
  transform: translateY(-50%) scale(1.05);
}

/* ICON */
.search-btn .icon {
  width: 15px;
  height: 15px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  position: relative;
}

.search-btn .icon::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 2px;
  background: #ffffff;
  right: -5px;
  bottom: -3px;
  transform: rotate(45deg);
}

/* FORCE SAME BUTTON STYLE */
#ttz-search-form button,
#ttz-search-form .search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: none;
  outline: none;
  background: #6b00ff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  margin: 0;
  line-height: normal;
}
/* DESKTOP HEADER */
@media (min-width: 1024px){

		.ast-theme-transparent-header .ast-builder-menu .main-header-menu,
	.ast-theme-transparent-header .ast-builder-menu .main-header-menu .sub-menu,
	.ast-theme-transparent-header .main-header-menu {
	  background-color: transparent !important;
	}

	/* transparent top bar */
	.ast-primary-header-bar{
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
		padding-top: 26px;
		padding-bottom: 0;
	}

	/* container width */
	.ast-builder-grid-row-container{
		max-width: 1180px;
	}

	/* center menu */
	.ast-builder-grid-row-center{
		text-align:center;
	}

	/* remove default menu background */
	.ast-builder-menu-1{
		background:none !important;
	}

	/* menu list */
	.main-header-menu{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:5px;
	}

	/* each item */
	.main-header-menu > li{
		margin:0 !important;
	}

	/* links = mockup style */
	.main-header-menu > li > a{
		background:#d9ff00;
		color:#5a00ff !important;
		font-size:10px;
		font-weight:700;
		letter-spacing:.3px;
		text-transform:uppercase;
		padding:4px 10px;
		line-height:1;
		min-height:auto !important;
		border-radius:0;
	}

	/* active item */
	.main-header-menu > .current-menu-item > a,
	.main-header-menu > .current_page_item > a{
		background:#d9ff00 !important;
		color:#5a00ff !important;
	}

	/* hover */
	.main-header-menu > li > a:hover{
		background:#ffffff !important;
		color:#5a00ff !important;
	}

	/* left / center / right alignment */
	.ast-builder-grid-row{
		grid-template-columns: 1fr auto 1fr;
		align-items:center;
	}

	/* right side */
	.ast-builder-layout-element{
		justify-content:flex-end;
	}

	/* smaller row height */
	.site-header-section{
		min-height:auto !important;
	}								

}

.site-footer .ast-builder-grid-row-container {
  max-width: 100%;
}
.thws-header{
    display:flex;
    align-items:center;
    gap:6px;
}

.thws-header span{
    color:#ffffff;
    font-size:10px;
    white-space:nowrap;
    opacity:0.9;
}

.thws-header img{
    height:22px;
    width:auto;
    display:block;
}
.ast-builder-layout-element.ast-header-html-1{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-left:auto;
    padding-right:20px;
    margin-top:6px;
}
@media (max-width:768px){

/* drawer width */
.ast-mobile-popup-drawer .ast-mobile-popup-inner{
    width:82vw !important;
    max-width:360px !important;
}

/* top header smaller */
.ast-mobile-popup-header{
    padding:14px 18px !important;
    min-height:auto !important;
}

/* menu spacing */
.ast-builder-menu-mobile .main-header-menu{
    padding:10px 18px 20px !important;
}

/* remove giant gaps */
.ast-builder-menu-mobile .main-header-menu .menu-item{
    margin:0 !important;
}

/* compact links */
.ast-builder-menu-mobile .main-header-menu .menu-item a{
    padding:14px 0 !important;
    font-size:20px !important;
    line-height:1.2 !important;
}

/* close button */
.ast-mobile-popup-drawer .menu-toggle-close{
    transform:scale(.9);
}

}
/* FACETWP FILTER */

.ttz-filter-sidebar {
  width: 100%;
}

.filter-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.filter-title {
  font-size: 28px;
  font-weight: 700;
  color: #6b00ff;
  margin: 0;
}

.reset-btn {
  background: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
  color: #999;
  cursor: pointer;
}

.filter-group {
  margin-bottom: 18px;
}

.filter-toggle {
  width: 100%;
  background: #ffffff;
  border: none;
  border-radius: 22px;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #332b4f;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.filter-content {
  padding: 18px 10px 8px 10px;
}

/* FACETWP CHECKBOX */

.facetwp-checkbox {
  background: none !important;
  padding-left: 0 !important;
  margin-bottom: 12px !important;
  color: #6b00ff;
  font-size: 15px;
}

.facetwp-checkbox.checked {
  font-weight: 700;
}

/* HIDE COUNTS */

.facetwp-counter {
  display:none;
}
/*Loading spinner*/
.facetwp-template {
    transition: opacity .25s ease, filter .25s ease;
}

.loading-fwp {
    opacity: .45;
    filter: blur(2px);
    pointer-events: none;
}

.fwp-spinner {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 42px;
    height: 42px;
    margin-left: -21px;
    margin-top: -21px;
    border: 3px solid rgba(106, 31, 255, 0.15);
    border-top-color: #6a1fff;
    border-radius: 50%;
    animation: fwp-spin .7s linear infinite;
    z-index: 99999;
    display: none;
}

.fwp-spinner.active {
    display: block;
}

@keyframes fwp-spin {
    to {
        transform: rotate(360deg);
    }
}
