/* =================================================================================================
   TITAN HEADER/FOOTER — CLEAN + EPIC v3.0 (FULL / FROM ZERO)
   File: public_html/wp-content/themes/astra-child/assets/titan-header-footer.css

   HARD GOALS
   - NO sticky (even if header has titan-header--sticky class)
   - NO shrink
   - Full width (bypass Astra containers)
   - Stable layout (no page CSS side-effects: img{width:100%} vs.)
   - Premium dark/neon (Testler vibe)
   - Desktop: Left brand / Center menu / Right actions
   - Mobile: Burger + Brand + Right actions + Drawer
   - Epic Search Overlay (cinematic)
   - GTranslate: clamp in header + epic popup (grid 5 columns)
   - DM/Notif badges stable
   - Reduced motion support

   NOTE
   - This file is intentionally long and defensive.
   - Scope is mostly .titan-header / .titan-footer / overlays & drawer.
================================================================================================== */


/* =================================================================================================
   0) SCOPE RESET + DEFENSIVE WALLS
================================================================================================== */

.titan-header,
.titan-header *,
.titan-footer,
.titan-footer * {
  box-sizing: border-box;
}

.titan-header a,
.titan-footer a {
  text-decoration: none;
}

.titan-header img,
.titan-footer img {
  max-width: 100%;
  height: auto;
}

/* kill random theme/elementor transforms */
.titan-header,
.titan-header * {
  transform-style: flat;
}

/* prevent huge layout jumps caused by line-height inheritance */
.titan-header,
.titan-header * {
  line-height: 1.2;
}

/* button resets (keep accessible focus) */
.titan-header button,
.titan-footer button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

.titan-header button:focus,
.titan-footer button:focus,
.titan-header a:focus,
.titan-footer a:focus {
  outline: none;
}

.titan-header button:focus-visible,
.titan-footer button:focus-visible,
.titan-header a:focus-visible,
.titan-footer a:focus-visible {
  outline: 2px solid rgba(255, 122, 38, 0.55);
  outline-offset: 3px;
  border-radius: 14px;
}

/* =================================================================================================
   1) TOKENS / THEME VARIABLES (TESTLER VIBE)
================================================================================================== */

:root{
  /* base */
  --titan-bg-deep: #050505;
  --titan-bg-void: #07070b;
  --titan-surface: rgba(10,11,16,0.72);
  --titan-surface-2: rgba(15,16,21,0.86);
  --titan-surface-3: rgba(18,19,26,0.92);

  /* borders */
  --titan-border: rgba(255,255,255,0.08);
  --titan-border-2: rgba(255,255,255,0.14);
  --titan-border-3: rgba(255,255,255,0.20);

  /* text */
  --titan-text: rgba(255,255,255,0.96);
  --titan-text-2: rgba(255,255,255,0.90);
  --titan-muted: rgba(255,255,255,0.72);
  --titan-muted-2: rgba(255,255,255,0.52);

  /* brand */
  --titan-primary: #ff7a26;
  --titan-primary-2: #ff9b4a;
  --titan-primary-3: #ffc08b;
  --titan-primary-glow: rgba(255,122,38,0.28);

  /* accent blue/purple */
  --titan-neo: rgba(88,101,242,0.30);
  --titan-neo-2: rgba(88,101,242,0.18);

  /* danger */
  --titan-danger: #ff2f58;
  --titan-danger-2: rgba(255,47,88,0.12);

  /* geometry */
  --titan-radius-xs: 10px;
  --titan-radius-sm: 14px;
  --titan-radius: 18px;
  --titan-radius-lg: 22px;
  --titan-radius-xl: 26px;
  --titan-radius-2xl: 30px;

  /* shadows */
  --titan-shadow-soft: 0 10px 30px rgba(0,0,0,0.55);
  --titan-shadow-mid: 0 16px 46px rgba(0,0,0,0.65);
  --titan-shadow-hard: 0 18px 60px rgba(0,0,0,0.78);
  --titan-shadow-hero: 0 40px 120px rgba(0,0,0,0.88);

  /* blur */
  --titan-blur: blur(16px) saturate(175%);
  --titan-blur-2: blur(18px) saturate(180%);

  /* spacing */
  --titan-pad-x: clamp(14px, 3vw, 36px);
  --titan-gap: 16px;

  /* sizes */
  --titan-h-desktop: 110px;
  --titan-h-mobile: 92px;

  /* z */
  --titan-z-header: 999;
  --titan-z-overlay: 99999;
  --titan-z-drawer: 99991;
}

/* optional: site wrapper class you used in body_class */
.genzo-titan-site{
  background: var(--titan-bg-deep);
}

/* =================================================================================================
   2) ASTRA CONTAINER TRAPS — FULL WIDTH FOR HEADER/FOOTER
================================================================================================== */

.titan-header,
.titan-header .titan-header-bar,
.titan-header .titan-header-inner,
.titan-footer,
.titan-footer .titan-footer-inner{
  width: 100% !important;
  max-width: 100% !important;
}

.titan-header .titan-header-inner,
.titan-footer .titan-footer-inner{
  margin: 0 !important;
  padding-left: var(--titan-pad-x);
  padding-right: var(--titan-pad-x);
}

/* kill any accidental pseudo content (logo repeats, etc.) */
.titan-header::before,
.titan-header::after,
.titan-header .titan-header-bar::before,
.titan-header .titan-header-bar::after,
.titan-header .titan-header-inner::before,
.titan-header .titan-header-inner::after{
  content: none !important;
  background: none !important;
  background-image: none !important;
}

/* =================================================================================================
   3) HEADER WRAPPER — ABSOLUTE "NO STICKY" / "NO SHRINK"
================================================================================================== */

/* even if HTML has titan-header--sticky class, neutralize it */
.titan-header,
.titan-header.titan-header--sticky{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: var(--titan-z-header);
}

/* hard kill any sticky from theme */
.titan-header *{
  position: relative;
}

/* background */
.titan-header{
  border-bottom: 1px solid var(--titan-border);
  background:
    radial-gradient(1200px 420px at 16% 45%, rgba(255,122,38,0.14), transparent 62%),
    radial-gradient(1100px 520px at 84% 50%, rgba(88,101,242,0.10), transparent 64%),
    linear-gradient(180deg, rgba(0,0,0,0.70), rgba(0,0,0,0.40));
}

/* optional bg layer from your header.php */
.titan-header-bg{
  display: none;
}

/* bar wrapper if you use it */
.titan-header-bar{
  width: 100%;
}

/* layout grid */
.titan-header-inner{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--titan-gap);
  min-height: var(--titan-h-desktop);
  padding-top: 14px;
  padding-bottom: 14px;
}

/* =================================================================================================
   4) LEFT: BURGER + BRAND
================================================================================================== */

.titan-left{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

/* burger (mobile only) */
.titan-burger{
  display: none;
  width: 46px;
  height: 46px;
  border-radius: var(--titan-radius);
  border: 1px solid var(--titan-border);
  background: rgba(255,255,255,0.04);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);
  box-shadow: var(--titan-shadow-soft);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.titan-burger::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(260px 120px at 20% 20%, rgba(255,122,38,0.12), transparent 60%),
    radial-gradient(240px 120px at 80% 50%, rgba(88,101,242,0.10), transparent 62%);
  opacity: 0.9;
  pointer-events:none;
}

.titan-burger span{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 2px;
  background: rgba(255,255,255,0.92);
  transition: 0.18s ease;
  z-index: 2;
}

.titan-burger span:nth-child(1){ top: 15px; }
.titan-burger span:nth-child(2){ top: 22px; opacity: 0.95; }
.titan-burger span:nth-child(3){ top: 29px; }

/* burger open state (js adds .is-open on drawer; you can also toggle aria-expanded) */
.titan-burger[aria-expanded="true"] span:nth-child(1){
  top: 22px;
  transform: translateX(-50%) rotate(45deg);
}
.titan-burger[aria-expanded="true"] span:nth-child(2){
  opacity: 0;
}
.titan-burger[aria-expanded="true"] span:nth-child(3){
  top: 22px;
  transform: translateX(-50%) rotate(-45deg);
}

/* brand */
.titan-brand{
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 360px;
  text-decoration: none !important;
}

/* stop “img width:100%” global rules */
.titan-left img,
.titan-brand img{
  width: auto !important;
  max-width: none !important;
}

/* logo clamp */
.titan-brand-logo{
  display: block !important;
  width: auto !important;
  height: 86px !important;
  max-height: 96px !important;
  max-width: 340px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.55));
}

/* fallback (if no logo) */
.titan-brand-fallback{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--titan-primary), var(--titan-primary-2));
  color: #0b0c10;
  font-weight: 1000;
  font-size: 22px;
  box-shadow: 0 22px 60px rgba(255,122,38,0.14);
}

/* =================================================================================================
   5) CENTER MENU (DESKTOP)
================================================================================================== */

.titan-nav{
  display: flex;
  justify-content: center;
  min-width: 0;
}

/* wp_nav_menu outputs UL.titan-menu */
.titan-menu{
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.titan-menu > li{
  position: relative;
}

.titan-menu a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0.2px;
  color: rgba(255,255,255,0.88);
  white-space: nowrap;
  transition: 0.18s ease;
}

.titan-menu a:hover{
  color: #fff;
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08) inset;
}

.titan-menu .current-menu-item > a,
.titan-menu .current_page_item > a,
.titan-menu .current-menu-ancestor > a{
  color: #0b0c10;
  background: linear-gradient(135deg, var(--titan-primary), var(--titan-primary-2));
  box-shadow: 0 16px 36px rgba(255,122,38,0.18);
}

/* submenu */
.titan-menu .sub-menu{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 230px;
  margin: 0;
  padding: 10px;
  list-style: none;
  display: none;
  border-radius: 18px;
  border: 1px solid var(--titan-border);
  background: rgba(10,11,16,0.94);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);
  box-shadow: var(--titan-shadow-hard);
}

.titan-menu li:hover > .sub-menu{
  display: block;
}

.titan-menu .sub-menu li{
  position: relative;
}

.titan-menu .sub-menu a{
  width: 100%;
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 850;
  font-size: 14px;
}

/* submenu deep */
.titan-menu .sub-menu .sub-menu{
  left: calc(100% + 10px);
  top: 0;
}

/* =================================================================================================
   6) RIGHT ACTIONS
================================================================================================== */

.titan-right{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  min-width: 0;
}

/* desktop-only helper from your markup */
.titan-desktop-only{
  display: inline-flex;
}

/* icon buttons */
.titan-icon-btn{
  width: 46px;
  height: 46px;
  border-radius: var(--titan-radius);
  border: 1px solid var(--titan-border);
  background: rgba(255,255,255,0.04);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);
  box-shadow: var(--titan-shadow-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  position: relative;
  transition: 0.18s ease;
}

.titan-icon-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: var(--titan-shadow-mid);
}

/* icon inner (your markup uses .titan-ic) */
.titan-ic{
  font-size: 16px;
  line-height: 1;
}

/* badge (notif/dm) */
.titan-badge{
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--titan-danger);
  color: #fff;
  font-size: 11px;
  font-weight: 1000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.55);
}

/* auth links (logged out) */
.titan-auth{
  height: 46px;
  border-radius: var(--titan-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  font-weight: 950;
  letter-spacing: 0.2px;
  border: 1px solid var(--titan-border);
  background: rgba(255,255,255,0.04);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);
  box-shadow: var(--titan-shadow-soft);
  color: rgba(255,255,255,0.92);
  transition: 0.18s ease;
}

.titan-auth:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: var(--titan-shadow-mid);
}

.titan-auth-solid{
  border-color: rgba(255,255,255,0.16);
  background: linear-gradient(135deg, var(--titan-primary), var(--titan-primary-2));
  color: #0b0c10;
  box-shadow: 0 18px 44px rgba(255,122,38,0.18);
}

.titan-auth-solid:hover{
  box-shadow: 0 24px 70px rgba(255,122,38,0.20);
}

.titan-auth-ghost{
  background: rgba(255,255,255,0.04);
}

/* =================================================================================================
   7) DROPDOWNS: .titan-dd SYSTEM (UPLOAD + USER)
================================================================================================== */

.titan-dd{
  position: relative;
}

/* dropdown trigger buttons: .titan-cta (upload) + .titan-userbtn (user) */
.titan-cta,
.titan-userbtn{
  height: 46px;
  border-radius: var(--titan-radius);
  border: 1px solid var(--titan-border);
  background: rgba(255,255,255,0.04);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);
  box-shadow: var(--titan-shadow-soft);

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 0 14px;
  cursor: pointer;

  color: rgba(255,255,255,0.92);
  font-weight: 950;
  letter-spacing: 0.2px;

  transition: 0.18s ease;
  user-select: none;
}

.titan-cta:hover,
.titan-userbtn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  box-shadow: var(--titan-shadow-mid);
}

/* upload CTA premium */
.titan-cta-upload{
  border-color: rgba(255,255,255,0.16);
  background: linear-gradient(135deg, var(--titan-primary), var(--titan-primary-2));
  color: #0b0c10;
  box-shadow: 0 18px 44px rgba(255,122,38,0.18);
}

.titan-cta-upload:hover{
  box-shadow: 0 26px 80px rgba(255,122,38,0.22);
}

.titan-dd-caret{
  opacity: 0.9;
  font-size: 13px;
  line-height: 1;
}

/* user avatar */
.titan-userava{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.titan-userava-img{
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  border: 2px solid rgba(255,255,255,0.14);
  box-shadow: 0 10px 18px rgba(0,0,0,0.45);
}

.titan-username{
  opacity: 0.92;
  font-weight: 950;
}

/* dropdown panel */
.titan-dd-panel{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);

  width: 270px;
  padding: 10px;

  border-radius: 18px;
  border: 1px solid var(--titan-border);
  background: rgba(10,11,16,0.94);
  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);

  box-shadow: var(--titan-shadow-hard);
  display: none;

  z-index: calc(var(--titan-z-header) + 10);
}

/* open state */
.titan-dd.is-open .titan-dd-panel{
  display: block;
}

/* panel glow */
.titan-dd-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 18px;
  pointer-events:none;
  background:
    radial-gradient(420px 180px at 18% 0%, rgba(255,122,38,0.12), transparent 62%),
    radial-gradient(420px 180px at 82% 0%, rgba(88,101,242,0.10), transparent 64%);
  opacity: 0.9;
}

/* items */
.titan-dd-item{
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;

  padding: 11px 12px;
  border-radius: 14px;

  color: rgba(255,255,255,0.90);
  font-weight: 850;
  font-size: 14px;

  transition: 0.18s ease;
  z-index: 1;
}

.titan-dd-item:hover{
  background: rgba(255,255,255,0.06);
  color: #fff;
}

.titan-dd-sep{
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 8px 6px;
  position: relative;
  z-index: 1;
}

.titan-dd-item.danger{
  color: rgba(255,120,140,0.95);
}

.titan-dd-item.danger:hover{
  background: rgba(255,47,88,0.10);
}

/* =================================================================================================
   8) GTRANSLATE — HEADER CLAMP + DEFENSE AGAINST PAGE CSS
================================================================================================== */

.titan-header .titan-lang,
.titan-header .titan-lang *{
  line-height: 1 !important;
}

.titan-header .titan-lang{
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

/* wrapper from your shortcode */
.titan-header .titan-lang .gtranslate_wrapper,
.titan-header .titan-lang .titan-lang-inner{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  max-width: 200px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

/* satellites container */
.titan-header .titan-lang .gsatelites{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

/* each language link */
.titan-header .titan-lang a.nturl.gsatelite,
.titan-header .titan-lang a.gsatelite{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  flex: 0 0 26px !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  background: rgba(255,255,255,0.03) !important;
  backdrop-filter: var(--titan-blur) !important;
  -webkit-backdrop-filter: var(--titan-blur) !important;
}

/* kill page rules like img{width:100%} */
.titan-header .titan-lang a img,
.titan-header .titan-lang img[data-gt-lazy-src],
.titan-header .titan-lang img[data-gt-src],
.titan-header .titan-lang img{
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  object-fit: cover !important;
  display: block !important;
  min-width: 0 !important;
}

/* hide globe inside header (optional) */
.titan-header .titan-lang .gglobe{
  display: none !important;
}

/* hide google element */
.titan-header #google_translate_element2{
  display: none !important;
}

/* =================================================================================================
   9) GTRANSLATE — EPIC POPUP (GRID 5 COLUMNS, BIG FLAGS)
   This section is defensive: it targets common GTranslate popup containers.
================================================================================================== */

/* common popup containers across GTranslate variants */
.gt_float_switcher,
.gt_float_switcher *,
.gt_switcher,
.gt_switcher *,
.gtranslate_wrapper .gt_options,
.gtranslate_wrapper .gt_options *{
  box-sizing: border-box;
}

/* if plugin uses .gt_float_switcher */
.gt_float_switcher{
  border-radius: 18px !important;
  overflow: visible !important;
}

/* popup panel(s) */
.gt_float_switcher .gt_options,
.gt_switcher .gt_options,
.gt_float_switcher .gt_languages,
.gt_switcher .gt_languages{
  background: rgba(10,11,16,0.96) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 18px !important;
  box-shadow: var(--titan-shadow-hero) !important;
  backdrop-filter: var(--titan-blur-2) !important;
  -webkit-backdrop-filter: var(--titan-blur-2) !important;
  padding: 14px !important;

  /* bigger panel and centered look */
  min-width: 520px !important;
  max-width: min(760px, calc(100vw - 24px)) !important;
}

/* glow rim */
.gt_float_switcher .gt_options::before,
.gt_switcher .gt_options::before,
.gt_float_switcher .gt_languages::before,
.gt_switcher .gt_languages::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 18px;
  pointer-events:none;
  background:
    radial-gradient(520px 200px at 18% 0%, rgba(255,122,38,0.18), transparent 62%),
    radial-gradient(520px 200px at 82% 0%, rgba(88,101,242,0.14), transparent 64%);
  opacity: 0.9;
}

/* attempt to convert list to grid */
.gt_float_switcher .gt_options a,
.gt_switcher .gt_options a,
.gt_float_switcher .gt_languages a,
.gt_switcher .gt_languages a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;

  padding: 12px 12px !important;
  margin: 0 !important;

  color: rgba(255,255,255,0.92) !important;
  font-weight: 900 !important;
  font-size: 13px !important;

  transition: 0.16s ease !important;
  text-decoration: none !important;
}

/* hover */
.gt_float_switcher .gt_options a:hover,
.gt_switcher .gt_options a:hover,
.gt_float_switcher .gt_languages a:hover,
.gt_switcher .gt_languages a:hover{
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.14) !important;
  transform: translateY(-1px);
}

/* grid wrapper targeting (many builds use inner div/ul) */
.gt_float_switcher .gt_options,
.gt_switcher .gt_options,
.gt_float_switcher .gt_languages,
.gt_switcher .gt_languages{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  position: relative !important;
}

/* bigger flags */
.gt_float_switcher .gt_options img,
.gt_switcher .gt_options img,
.gt_float_switcher .gt_languages img,
.gt_switcher .gt_languages img{
  width: 36px !important;
  height: 26px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  margin-right: 10px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.55) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}

/* if popup text is wrapped in spans, make it clamp */
.gt_float_switcher .gt_options a span,
.gt_switcher .gt_options a span,
.gt_float_switcher .gt_languages a span,
.gt_switcher .gt_languages a span{
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* small screens: reduce columns */
@media (max-width: 820px){
  .gt_float_switcher .gt_options,
  .gt_switcher .gt_options,
  .gt_float_switcher .gt_languages,
  .gt_switcher .gt_languages{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-width: auto !important;
  }
}

@media (max-width: 520px){
  .gt_float_switcher .gt_options,
  .gt_switcher .gt_options,
  .gt_float_switcher .gt_languages,
  .gt_switcher .gt_languages{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =================================================================================================
   10) SEARCH OVERLAY — EPIC NEON (matches your header.php markup)
================================================================================================== */

.titan-search-overlay,
.titan-search-overlay *{
  box-sizing: border-box;
}

.titan-search-overlay{
  position: fixed;
  inset: 0;
  z-index: var(--titan-z-overlay);
  display: none;

  background:
    radial-gradient(900px 520px at 18% 30%, rgba(255,122,38,0.22), transparent 62%),
    radial-gradient(920px 560px at 82% 34%, rgba(88,101,242,0.18), transparent 64%),
    rgba(0,0,0,0.72);

  backdrop-filter: var(--titan-blur-2);
  -webkit-backdrop-filter: var(--titan-blur-2);
}

.titan-search-overlay.is-open{
  display: block;
}

body.titan-search-open{
  overflow: hidden !important;
}

/* backdrop (click to close) */
.titan-search-backdrop{
  position: absolute;
  inset: 0;
  cursor: pointer;
}

/* modal */
.titan-search-modal{
  position: relative;
  width: min(920px, calc(100% - 26px));
  margin: clamp(70px, 10vh, 130px) auto 0;

  border-radius: 28px;
  overflow: hidden;

  background:
    linear-gradient(180deg, rgba(12,13,18,0.92), rgba(8,9,12,0.88));

  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    var(--titan-shadow-hero),
    0 0 0 1px rgba(255,255,255,0.06) inset;

  backdrop-filter: var(--titan-blur);
  -webkit-backdrop-filter: var(--titan-blur);

  transform: translateY(10px) scale(0.985);
  opacity: 0;
  animation: titanSearchIn 0.22s ease forwards;
}

@keyframes titanSearchIn{
  to{
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* rim glow */
.titan-search-modal::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(900px 260px at 18% 0%, rgba(255,122,38,0.30), transparent 62%),
    radial-gradient(900px 260px at 82% 0%, rgba(88,101,242,0.24), transparent 64%);
  opacity: 0.95;
  mix-blend-mode: screen;
}

.titan-search-modal::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,122,38,0.08),
      rgba(255,255,255,0.02),
      rgba(88,101,242,0.06)
    );
  opacity: 0.85;
}

/* close */
.titan-search-close{
  position: absolute;
  top: 14px;
  right: 14px;

  width: 46px;
  height: 46px;

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);

  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);

  cursor: pointer;
  font-size: 22px;
  font-weight: 1000;
  line-height: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-shadow:
    0 14px 30px rgba(0,0,0,0.65),
    0 0 0 1px rgba(255,255,255,0.04) inset;

  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
  z-index: 4;
}

.titan-search-close:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.09);
  box-shadow:
    0 18px 42px rgba(0,0,0,0.72),
    0 0 0 1px rgba(255,255,255,0.06) inset;
}

/* head (your markup: .titan-search-head .titan-search-title .titan-search-sub) */
.titan-search-head{
  position: relative;
  padding: 26px 22px 14px;
  z-index: 2;
}

.titan-search-title{
  font-weight: 1000;
  letter-spacing: 0.2px;
  font-size: clamp(20px, 2.1vw, 28px);
  color: rgba(255,255,255,0.96);
}

.titan-search-sub{
  margin-top: 6px;
  font-weight: 800;
  font-size: 13px;
  color: rgba(255,255,255,0.72);
}

/* divider */
.titan-search-head::after{
  content:"";
  display:block;
  margin-top: 16px;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(255,122,38,0.00),
    rgba(255,122,38,0.24),
    rgba(255,255,255,0.08),
    rgba(88,101,242,0.18),
    rgba(88,101,242,0.00)
  );
  opacity: 0.95;
}

/* form */
.titan-search-form{
  position: relative;
  z-index: 2;
  padding: 16px 22px 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

/* input */
.titan-search-input{
  height: 58px;
  border-radius: 20px;

  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(18,19,26,0.92), rgba(12,13,18,0.90));

  color: rgba(255,255,255,0.96);
  padding: 0 16px;

  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.15px;

  outline: none;

  box-shadow:
    0 18px 44px rgba(0,0,0,0.58),
    0 0 0 1px rgba(255,255,255,0.04) inset;

  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.titan-search-input::placeholder{
  color: rgba(255,255,255,0.42);
  font-weight: 800;
}

.titan-search-input:focus{
  border-color: rgba(255,122,38,0.52);
  box-shadow:
    0 22px 60px rgba(0,0,0,0.68),
    0 0 0 4px rgba(255,122,38,0.14),
    0 0 0 1px rgba(255,255,255,0.05) inset;
  transform: translateY(-1px);
}

/* submit */
.titan-search-submit{
  height: 58px;
  border-radius: 20px;

  border: 1px solid rgba(255,255,255,0.16);
  background: linear-gradient(135deg, var(--titan-primary), var(--titan-primary-2));

  color: #0b0c10;
  font-weight: 1000;
  letter-spacing: 0.2px;
  font-size: 14px;

  padding: 0 18px;
  cursor: pointer;

  box-shadow:
    0 22px 60px rgba(255,122,38,0.16),
    0 18px 44px rgba(0,0,0,0.50);

  transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.titan-search-submit:hover{
  transform: translateY(-1px);
  box-shadow:
    0 30px 78px rgba(255,122,38,0.20),
    0 22px 52px rgba(0,0,0,0.58);
  filter: brightness(1.02);
}

.titan-search-submit:active{
  transform: translateY(0);
  filter: brightness(0.98);
}

/* responsive for overlay */
@media (max-width: 720px){
  .titan-search-modal{
    width: calc(100% - 22px);
    margin: 80px auto 0;
    border-radius: 24px;
  }
  .titan-search-form{
    grid-template-columns: 1fr;
  }
  .titan-search-submit{
    width: 100%;
  }
}

@media (max-width: 420px){
  .titan-search-head{
    padding: 22px 16px 12px;
  }
  .titan-search-form{
    padding: 14px 16px 18px;
  }
  .titan-search-close{
    top: 12px;
    right: 12px;
  }
}

/* =================================================================================================
   11) MOBILE DRAWER (BURGER MENU)
================================================================================================== */

.titan-drawer{
  display: none;
}

.titan-drawer.is-open{
  display: block;
}

body.titan-drawer-open{
  overflow: hidden !important;
}

/* overlay */
.titan-drawer-overlay{
  position: fixed;
  inset: 0;
  z-index: calc(var(--titan-z-drawer) - 1);
  background: rgba(0,0,0,0.62);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* panel */
.titan-drawer-panel{
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--titan-z-drawer);

  width: min(360px, 92vw);
  height: 100vh;

  padding: 16px;
  display: flex;
  flex-direction: column;

  background: rgba(10,11,16,0.94);
  border-right: 1px solid var(--titan-border);
  box-shadow: 30px 0 80px rgba(0,0,0,0.75);

  transform: translateX(-12px);
  opacity: 0;
  animation: titanDrawerIn 0.18s ease forwards;
}

@keyframes titanDrawerIn{
  to{
    transform: translateX(0);
    opacity: 1;
  }
}

/* top */
.titan-drawer-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 6px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.titan-drawer-brand{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.titan-drawer-logo,
.titan-drawer-brand img{
  height: 56px !important;
  width: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.55));
}

/* close */
.titan-drawer-close{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: #fff;
  cursor: pointer;
  font-size: 22px;
  font-weight: 1000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.16s ease;
}

.titan-drawer-close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.18);
}

/* body */
.titan-drawer-body{
  padding: 14px 4px 0;
  overflow: auto;
}

/* drawer sections (optional classes from your markup) */
.titan-drawer-section-title{
  margin-top: 14px;
  margin-bottom: 10px;
  font-weight: 1000;
  font-size: 12px;
  letter-spacing: 0.18px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.70);
}

/* language block inside drawer */
.titan-drawer-lang-inner{
  display: block;
  margin-bottom: 10px;
}

/* mobile menu */
.titan-mobile-menu{
  list-style: none;
  margin: 0;
  padding: 8px 0 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.titan-mobile-menu li{
  margin: 0;
  padding: 0;
}

.titan-mobile-menu a{
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 14px 14px;
  border-radius: 18px;

  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.03);

  color: rgba(255,255,255,0.92);
  font-weight: 950;
  letter-spacing: 0.2px;
  transition: 0.16s ease;
}

.titan-mobile-menu a:hover{
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
}

/* actions */
.titan-drawer-actions{
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.titan-drawer-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 48px;
  border-radius: 18px;

  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.05);

  color: #fff;
  font-weight: 1000;
  letter-spacing: 0.2px;

  transition: 0.16s ease;
}

.titan-drawer-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.16);
}

.titan-drawer-btn.ghost{
  background: transparent;
  border-color: rgba(255,122,38,0.30);
  color: rgba(255,255,255,0.92);
}

.titan-drawer-btn.ghost:hover{
  border-color: rgba(255,122,38,0.45);
  background: rgba(255,122,38,0.08);
}

/* divider */
.titan-drawer-divider{
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 10px 6px;
}

/* inline badge in drawer buttons */
.titan-inline-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 8px;
  border-radius: 999px;
  background: var(--titan-danger);
  color: #fff;
  font-size: 11px;
  font-weight: 1000;
}

/* =================================================================================================
   12) RESPONSIVE MATRIX (HEADER LAYOUT)
================================================================================================== */

@media (max-width: 1024px){
  .titan-nav{
    display: none;
  }

  .titan-burger{
    display: inline-flex;
  }

  .titan-drawer{
    display: block;
  }

  .titan-header-inner{
    min-height: var(--titan-h-mobile);
    gap: 10px;
  }

  .titan-brand{
    max-width: 260px;
  }

  .titan-brand-logo{
    height: 58px !important;
    max-height: 62px !important;
    max-width: 240px !important;
  }

  .titan-icon-btn{
    width: 44px;
    height: 44px;
  }

  .titan-cta,
  .titan-userbtn{
    height: 44px;
    padding: 0 12px;
  }

  .titan-desktop-only{
    display: none !important;
  }
}

@media (max-width: 560px){
  .titan-upload{
    display: none;
  }

  .titan-username{
    display: none;
  }

  .titan-auth{
    padding: 0 12px;
  }
}

/* =================================================================================================
   13) FOOTER (MINIMAL PREMIUM)
================================================================================================== */

.titan-footer{
  width: 100%;
  border-top: 1px solid var(--titan-border);
  background: linear-gradient(180deg, rgba(0,0,0,0.25), rgba(0,0,0,0.78));
}

.titan-footer-inner{
  padding-top: 26px;
  padding-bottom: 26px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  color: rgba(255,255,255,0.72);
  font-weight: 800;
}

.titan-footer a{
  color: rgba(255,255,255,0.86);
  transition: 0.16s ease;
}

.titan-footer a:hover{
  color: #fff;
  text-shadow: 0 0 18px rgba(255,255,255,0.12);
}

/* =================================================================================================
   14) REDUCED MOTION
================================================================================================== */

@media (prefers-reduced-motion: reduce){
  .titan-search-modal{
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .titan-drawer-panel{
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .titan-icon-btn,
  .titan-cta,
  .titan-userbtn,
  .titan-auth,
  .titan-search-submit,
  .titan-search-input,
  .titan-dd-item,
  .titan-drawer-btn,
  .titan-mobile-menu a{
    transition: none !important;
  }
}

/* =================================================================================================
   15) EXTRA DEFENSE: PAGE-SPECIFIC "IMG HUGE" / "A TAG FONT" RULES
   Some pages (Blog/Testler/Haber) might have aggressive global CSS.
================================================================================================== */

/* lock header images */
.titan-header img{
  max-width: none !important;
}

/* lock logo again */
.titan-header .titan-brand-logo{
  max-width: 340px !important;
}

/* lock menu typography */
.titan-header .titan-menu a{
  font-family: inherit;
}

/* lock header spacing */
.titan-header .titan-header-inner{
  padding-left: var(--titan-pad-x) !important;
  padding-right: var(--titan-pad-x) !important;
}

/* =================================================================================================
   END OF FILE
================================================================================================== */

/* ==========================================================================
   TITAN HEADER — LOGO + YÜKLE CTA FIX PACK
   - Logo alanını (kırmızı kutu) genişlet + dikey ortala
   - Logo görselini kutuya “yay” ama taşırma yapmasın
   - “Yükle” butonunu genişlet + yazıyı tam ortala + taşma fix
   ========================================================================== */

/* 1) Sol tarafın (logo alanı) daha geniş olmasını sağla */
.titan-header .titan-left{
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
}

/* Brand alanını kırmızı kutu gibi büyüt */
.titan-header .titan-brand{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  /* KUTU ÖLÇÜLERİ */
  width: clamp(180px, 18vw, 320px) !important;
  height: clamp(60px, 6vw, 92px) !important;

  padding: 6px 10px !important;
  border-radius: 18px !important;

  /* İstersen hafif cam kutu hissi */
  background: rgba(255,255,255,.02) !important;
  border: 1px solid rgba(255,255,255,.06) !important;

  overflow: hidden !important; /* logo taşmasın */
}

/* Logo görseli kutunun içine yayılsın (taşmadan) */
.titan-header .titan-brand-logo{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  display: block !important;

  /* mevcut drop-shadow kalsın ama aşırı büyümesin */
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.55)) !important;
}

/* Mobile’da çok büyümesin */
@media (max-width: 1024px){
  .titan-header .titan-brand{
    width: clamp(150px, 44vw, 260px) !important;
    height: 58px !important;
  }
}

/* 2) “Yükle” butonu: genişlet + ortala + taşma fix */
.titan-header .titan-cta-upload{
  min-width: 118px !important;       /* genişlesin */
  padding-left: 18px !important;
  padding-right: 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  text-align: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* caret düzgün ortalansın, yazı taşmasın */
.titan-header .titan-cta-upload .titan-dd-caret{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transform: translateY(1px) !important;
}

/* Buton içindeki metin/font bazı sayfalarda kayıyorsa (Astra override) */
.titan-header .titan-cta-upload,
.titan-header .titan-cta-upload *{
  box-sizing: border-box !important;
}

/* Çok küçük ekranda buton gene de taşarsa */
@media (max-width: 560px){
  .titan-header .titan-cta-upload{
    min-width: 104px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
/* ==========================================================================
   TITAN HEADER — LOGO IMAGE “FILL THE BOX” FIX
   Amaç: .titan-brand kutusu büyüdü → içindeki logo da büyüsün
   Not: Tema/başka CSS “height/max-height” ile kilitliyorsa ezmek için !important kullandım
   ========================================================================== */

/* Brand kutusu zaten büyük — şimdi içindeki img'i gerçekten büyüt */
.titan-header .titan-brand{
  /* emin ol: gerçekten bir kutu gibi davransın */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Logo görselini kutuyu dolduracak şekilde büyüt */
.titan-header .titan-brand-logo{
  /* bazı sayfalarda img inline/auto kalıyor: burada netleştiriyoruz */
  display: block !important;

  /* KUTUYU DOLDUR */
  width: 100% !important;
  height: 100% !important;

  /* “86px / 96px” gibi eski kilitleri tamamen öldür */
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;

  /* taşma olmasın, oran korunsun */
  object-fit: contain !important;

  /* görselin ortada kalması için */
  margin: 0 !important;

  /* eğer bazı CSS'ler transform/scale ile oynuyorsa sıfırla */
  transform: none !important;
}

/* Bazı temalarda header içindeki img'e “height:auto” basılır; bunu da ezelim */
.titan-header .titan-brand img{
  height: 100% !important;
  width: 100% !important;
}

/* Mobil: kutu küçülünce logo da oranlı küçülsün */
@media (max-width: 1024px){
  .titan-header .titan-brand-logo{
    object-fit: contain !important;
  }
}
/* =========================================================
   TITAN LOGO — PNG iç boşluk (padding) TELAFİ SCALE FIX
   (Logo dosyası içinde şeffaf boşluk varsa bunu çözer)
========================================================= */

:root{
  --titan-logo-scale: 3.2; /* 1.25 / 1.4 / 1.6 dene */
}

header.titan-header[data-titan-header="1"] .titan-left a.titan-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

header.titan-header[data-titan-header="1"] .titan-left a.titan-brand > img.titan-brand-logo{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center center !important;

  /* ASIL FIX */
  transform: scale(var(--titan-logo-scale)) !important;
  transform-origin: center center !important;

  /* bazı temalar inline-img baseline boşluğu yapar */
  display:block !important;
}

/* =============================================================================
   TITAN MOBILE DRAWER — HARD FIX PATCH (ADD AT VERY END)
   Fixes:
   - Drawer should NOT be display:block on mobile unless open
   - Closed drawer must be fully non-interactive (no click-eating)
   - Neutralize `.titan-header * { position: relative; }` side-effect for overlays
============================================================================= */

/* 1) Drawer kapalıyken tamamen yok olsun */
@media (max-width: 1024px){
  .titan-drawer{
    display: none !important; /* <<< kritik */
  }
  .titan-drawer.is-open{
    display: block !important;
  }
}

/* 2) aria-hidden ile de garanti (JS set ediyor) */
.titan-drawer[aria-hidden="true"]{
  display: none !important;
}
.titan-drawer[aria-hidden="false"]{
  display: block !important;
}

/* 3) Kapalıyken overlay/panel tıklama yemesin (ek garanti) */
.titan-drawer:not(.is-open),
.titan-drawer[aria-hidden="true"]{
  pointer-events: none !important;
}
.titan-drawer.is-open,
.titan-drawer[aria-hidden="false"]{
  pointer-events: auto !important;
}
.titan-drawer:not(.is-open) .titan-drawer-overlay,
.titan-drawer:not(.is-open) .titan-drawer-panel{
  pointer-events: none !important;
  opacity: 0 !important;
}
.titan-drawer.is-open .titan-drawer-overlay{
  pointer-events: auto !important;
  opacity: 1 !important;
}
.titan-drawer.is-open .titan-drawer-panel{
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* 4) Overlay + Panel kesin full-screen / üstte */
.titan-drawer{
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--titan-z-drawer) !important;
}
.titan-drawer-overlay{
  position: fixed !important;
  inset: 0 !important;
  z-index: calc(var(--titan-z-drawer) - 1) !important;
}
.titan-drawer-panel{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  z-index: var(--titan-z-drawer) !important;
}

/* 5) “Header içindeki her şeye relative” yan etkisini overlaylerde kır */
.titan-search-overlay,
.titan-search-overlay *,
.titan-drawer,
.titan-drawer *{
  position: initial; /* reset */
}

/* sonra doğru position’ları geri ver */
.titan-search-overlay{ position: fixed !important; }
.titan-search-backdrop{ position: absolute !important; }
.titan-search-modal{ position: relative !important; }
.titan-search-close{ position: absolute !important; }

.titan-drawer{ position: fixed !important; }
.titan-drawer-overlay{ position: fixed !important; }
.titan-drawer-panel{ position: fixed !important; }
.titan-drawer-close{ position: relative !important; z-index: 999999 !important; }

/* 6) iOS/Android click güvenliği */
.titan-drawer-overlay,
.titan-drawer-close{
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent;
}




/* =================================================================================================
   TITAN FOOTER — CLEAN + EPIC v3.0 (FULL / FROM ZERO)
   Scope: footer.php markup you shared
   - Desktop: compact premium grid (3 cols) + solid top/bottom bars
   - Mobile: accordion behavior (header .titan-dd system) + panels open UP (drop-up)
   - Defensive against global CSS (img{width:100%}, a{font-size}, etc.)
   - Reduced motion friendly
================================================================================================== */

/* =================================================================================================
   0) FOOTER RESET + DEFENSIVE WALLS
================================================================================================== */

.titan-footer,
.titan-footer *{
  box-sizing: border-box;
}

.titan-footer a{
  text-decoration: none;
}

.titan-footer img{
  max-width: 100%;
  height: auto;
}

/* kill theme pseudo junk */
.titan-footer::before,
.titan-footer::after,
.titan-footer .titan-footer-inner::before,
.titan-footer .titan-footer-inner::after{
  content: none !important;
}

/* focus */
.titan-footer button:focus,
.titan-footer a:focus{
  outline: none;
}

.titan-footer button:focus-visible,
.titan-footer a:focus-visible{
  outline: 2px solid rgba(255, 122, 38, 0.55);
  outline-offset: 3px;
  border-radius: 14px;
}

/* =================================================================================================
   1) FOOTER WRAPPER — PREMIUM BACKDROP (HEADER-UNIVERSE)
================================================================================================== */

.titan-footer[data-titan-footer="1"]{
  width: 100% !important;
  max-width: 100% !important;

  position: relative;
  border-top: 1px solid var(--titan-border, rgba(255,255,255,0.08));
  overflow: hidden;

  background:
    radial-gradient(1200px 520px at 14% 20%, rgba(255,122,38,0.14), transparent 62%),
    radial-gradient(1100px 520px at 86% 28%, rgba(88,101,242,0.11), transparent 64%),
    linear-gradient(180deg, rgba(0,0,0,0.30), rgba(0,0,0,0.84));
}

.titan-footer[data-titan-footer="1"]::before{
  content:"";
  position:absolute;
  inset: -2px;
  pointer-events:none;
  background:
    radial-gradient(900px 320px at 50% 0%, rgba(255,255,255,0.06), transparent 62%),
    linear-gradient(90deg, rgba(255,122,38,0.05), rgba(255,255,255,0.02), rgba(88,101,242,0.04));
  opacity: 0.9;
}

.titan-footer[data-titan-footer="1"] .titan-footer-inner{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;

  padding-left: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
  padding-right: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
  padding-top: clamp(18px, 2vw, 28px) !important;
  padding-bottom: clamp(18px, 2vw, 28px) !important;

  position: relative;
  z-index: 2;

  display: grid;
  gap: 14px;
}

/* inner max container “illusion” without Astra clamps */
.titan-footer[data-titan-footer="1"] .titan-footer-inner > *{
  width: min(1240px, 100%);
  margin-left: auto;
  margin-right: auto;
}

/* =================================================================================================
   2) TOP BAR — BRAND + CTA (COMPACT, HEADER-LIKE)
================================================================================================== */

.titan-footer-top{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;

  padding: 14px 14px;

  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  -webkit-backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  box-shadow: var(--titan-shadow-soft, 0 10px 30px rgba(0,0,0,0.55));
}

.titan-footer-brand{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--titan-text, rgba(255,255,255,0.96));
}

/* DEFENSE: kill global img width:100% */
.titan-footer-brand img,
.titan-footer-logo{
  width: auto !important;
  max-width: none !important;
}

.titan-footer-logo{
  height: 44px !important;
  max-height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.55));
}

.titan-footer-logo-fallback{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: linear-gradient(135deg, var(--titan-primary, #ff7a26), var(--titan-primary-2, #ff9b4a));
  color: #0b0c10;
  font-weight: 1000;
  font-size: 18px;
  box-shadow: 0 20px 60px rgba(255,122,38,0.14);
}

.titan-footer-brand-text{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.titan-footer-brand-name{
  font-weight: 1000;
  letter-spacing: 0.2px;
  font-size: 14px;
  color: rgba(255,255,255,0.96);

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.titan-footer-brand-sub{
  font-weight: 850;
  font-size: 12px;
  color: rgba(255,255,255,0.68);

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.titan-footer-cta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.titan-footer-btn{
  height: 42px;
  padding: 0 14px;

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);

  color: rgba(255,255,255,0.92);
  font-weight: 950;
  letter-spacing: 0.2px;
  font-size: 13px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  -webkit-backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));

  box-shadow: 0 12px 28px rgba(0,0,0,0.55);
  transition: 0.18s ease;
  white-space: nowrap;
}

.titan-footer-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 16px 40px rgba(0,0,0,0.64);
}

.titan-footer-btn-primary{
  border-color: rgba(255,255,255,0.16);
  background: linear-gradient(135deg, var(--titan-primary, #ff7a26), var(--titan-primary-2, #ff9b4a));
  color: #0b0c10;
  box-shadow: 0 18px 44px rgba(255,122,38,0.16), 0 14px 30px rgba(0,0,0,0.55);
}

.titan-footer-btn-primary:hover{
  box-shadow: 0 28px 80px rgba(255,122,38,0.20), 0 18px 44px rgba(0,0,0,0.62);
}

.titan-footer-btn-ghost{
  background: rgba(255,255,255,0.04);
}

/* =================================================================================================
   3) GRID — 3 COLUMNS DESKTOP / ACCORDION MOBILE (HEADER .titan-dd SYSTEM)
================================================================================================== */

.titan-footer-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

/* columns — compact cards (not giant) */
.titan-footer-col{
  position: relative;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  -webkit-backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  box-shadow: var(--titan-shadow-soft, 0 10px 30px rgba(0,0,0,0.55));
  overflow: visible;
}

/* subtle rim glow */
.titan-footer-col::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 22px;
  pointer-events:none;
  background:
    radial-gradient(420px 180px at 18% 0%, rgba(255,122,38,0.12), transparent 62%),
    radial-gradient(420px 180px at 82% 0%, rgba(88,101,242,0.10), transparent 64%);
  opacity: 0.85;
}

/* accordion button */
.titan-footer-acc-btn{
  width: 100%;
  padding: 14px 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  border-radius: 22px;
  border: none;

  color: rgba(255,255,255,0.94);
  font-weight: 1000;
  font-size: 13px;
  letter-spacing: 0.22px;
  text-transform: uppercase;

  background:
    radial-gradient(320px 140px at 18% 0%, rgba(255,122,38,0.10), transparent 60%),
    radial-gradient(320px 140px at 82% 0%, rgba(88,101,242,0.08), transparent 62%),
    rgba(0,0,0,0.14);

  cursor: pointer;
  user-select: none;

  position: relative;
  z-index: 2;
}

.titan-footer-acc-title{
  font-size: 12px;
  font-weight: 1000;
  color: rgba(255,255,255,0.90);
}

.titan-footer .titan-dd-caret{
  opacity: 0.9;
  font-size: 13px;
  line-height: 1;
  transition: transform 0.16s ease;
}

.titan-footer .titan-footer-acc.is-open .titan-dd-caret{
  transform: rotate(180deg);
}

/* panel — uses same class .titan-dd-panel but footer-specific layout */
.titan-footer .titan-dd-panel{
  position: absolute;
  left: 12px;
  right: 12px;
  top: auto !important;

  /* DROP-UP: open upward */
  bottom: calc(100% + 10px);

  width: auto;
  padding: 12px;

  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(10,11,16,0.96);

  backdrop-filter: var(--titan-blur-2, blur(18px) saturate(180%));
  -webkit-backdrop-filter: var(--titan-blur-2, blur(18px) saturate(180%));

  box-shadow: var(--titan-shadow-hard, 0 18px 60px rgba(0,0,0,0.78));
  display: none;

  z-index: 50;
  transform-origin: bottom center;
}

/* open state comes from header dropdown system (.is-open on .titan-dd) */
.titan-footer .titan-footer-acc.is-open .titan-dd-panel{
  display: block;
}

/* panel glow */
.titan-footer .titan-dd-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 22px;
  pointer-events:none;
  background:
    radial-gradient(520px 200px at 18% 0%, rgba(255,122,38,0.18), transparent 62%),
    radial-gradient(520px 200px at 82% 0%, rgba(88,101,242,0.14), transparent 64%);
  opacity: 0.9;
}

.titan-footer-acc-panel{
  position: relative;
}

/* small title inside panel */
.titan-footer-col-title{
  position: relative;
  z-index: 1;

  font-weight: 1000;
  font-size: 12px;
  letter-spacing: 0.22px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.70);

  padding: 6px 6px 10px;
}

/* menu list */
.titan-footer-menu{
  position: relative;
  z-index: 1;

  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  gap: 8px;
}

/* wp_nav_menu might output UL > LI > A */
.titan-footer-menu li{
  margin: 0;
  padding: 0;
}

.titan-footer-menu a{
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 12px 12px;
  border-radius: 16px;

  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);

  color: rgba(255,255,255,0.92);
  font-weight: 900;
  letter-spacing: 0.15px;
  font-size: 13px;

  transition: 0.16s ease;
}

.titan-footer-menu a:hover{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-1px);
}

/* social list */
.titan-footer-social{
  position: relative;
  z-index: 1;

  display: grid;
  gap: 8px;
  margin: 0 0 10px;
}

.titan-social{
  display: flex;
  align-items: center;
  gap: 10px;

  padding: 12px 12px;
  border-radius: 16px;

  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);

  color: rgba(255,255,255,0.92);
  font-weight: 900;
  font-size: 13px;

  transition: 0.16s ease;
}

.titan-social:hover{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  transform: translateY(-1px);
}

.titan-social-ic{
  width: 32px;
  height: 32px;
  border-radius: 14px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);

  box-shadow: 0 12px 22px rgba(0,0,0,0.55);
}

.titan-social-txt{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* mini text */
.titan-footer-mini{
  position: relative;
  z-index: 1;

  padding: 10px 12px;
  border-radius: 16px;

  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);

  color: rgba(255,255,255,0.70);
  font-weight: 850;
  font-size: 12px;
  line-height: 1.35;
}

/* =================================================================================================
   4) BOTTOM BAR — COPY + LINKS + BACKTOP
================================================================================================== */

.titan-footer-bottom{
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;

  padding: 14px 14px;

  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);

  backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  -webkit-backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));

  box-shadow: var(--titan-shadow-soft, 0 10px 30px rgba(0,0,0,0.55));
}

.titan-footer-copy{
  color: rgba(255,255,255,0.70);
  font-weight: 850;
  font-size: 12px;
  letter-spacing: 0.1px;
}

.titan-footer-links{
  display: inline-flex;
  align-items: center;
  gap: 10px;

  color: rgba(255,255,255,0.70);
  font-weight: 850;
  font-size: 12px;
}

.titan-footer-links a{
  color: rgba(255,255,255,0.86);
  font-weight: 900;
  transition: 0.16s ease;
}

.titan-footer-links a:hover{
  color: #fff;
  text-shadow: 0 0 18px rgba(255,255,255,0.12);
}

.titan-footer-links .dot{
  opacity: 0.55;
}

/* back to top */
.titan-backtop{
  width: 44px;
  height: 44px;
  border-radius: 18px;

  border: 1px solid rgba(255,255,255,0.10);
  background:
    radial-gradient(220px 120px at 20% 20%, rgba(255,122,38,0.10), transparent 60%),
    radial-gradient(220px 120px at 80% 50%, rgba(88,101,242,0.08), transparent 62%),
    rgba(255,255,255,0.04);

  color: rgba(255,255,255,0.92);
  font-weight: 1000;
  font-size: 16px;
  cursor: pointer;

  backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));
  -webkit-backdrop-filter: var(--titan-blur, blur(16px) saturate(175%));

  box-shadow: 0 14px 30px rgba(0,0,0,0.65);
  transition: 0.16s ease;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.titan-backtop:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 18px 44px rgba(0,0,0,0.72);
}

/* =================================================================================================
   5) RESPONSIVE — MOBILE ACCORDION MODE
================================================================================================== */

@media (max-width: 1024px){
  .titan-footer-top{
    grid-template-columns: 1fr;
  }

  .titan-footer-cta{
    justify-content: flex-start;
  }

  .titan-footer-grid{
    grid-template-columns: 1fr;
  }

  /* On mobile, panels should flow (no absolute drop-up) */
  .titan-footer .titan-dd-panel{
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 10px 12px 14px !important;
    display: none; /* still controlled by .is-open */
  }

  .titan-footer .titan-footer-acc.is-open .titan-dd-panel{
    display: block !important;
  }

  /* give column body spacing on mobile */
  .titan-footer-col{
    padding-bottom: 6px;
  }

  .titan-footer-acc-btn{
    border-radius: 22px;
  }

  .titan-footer-bottom{
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .titan-backtop{
    margin-left: 0;
  }
}

@media (max-width: 560px){
  .titan-footer-btn{
    width: 100%;
    justify-content: center;
  }

  .titan-footer-cta{
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
}

/* =================================================================================================
   6) EXTRA DEFENSE — GLOBAL PAGE RULES
================================================================================================== */

/* lock footer images from global width:100% */
.titan-footer img{
  max-width: none !important;
}

/* but keep our logo sane */
.titan-footer .titan-footer-logo{
  max-width: 260px !important;
}

/* lock text sizing */
.titan-footer,
.titan-footer a,
.titan-footer button{
  font-family: inherit;
}

/* prevent global line-height destroying compact UI */
.titan-footer,
.titan-footer *{
  line-height: 1.2;
}

/* =================================================================================================
   7) REDUCED MOTION
================================================================================================== */

@media (prefers-reduced-motion: reduce){
  .titan-footer-btn,
  .titan-footer-menu a,
  .titan-social,
  .titan-backtop,
  .titan-footer .titan-dd-caret{
    transition: none !important;
  }

  .titan-footer-menu a:hover,
  .titan-social:hover,
  .titan-footer-btn:hover,
  .titan-backtop:hover{
    transform: none !important;
  }
}
/* =============================================================================
   TITAN FOOTER — DESKTOP FULL-WIDTH CENTER FIX (ADD AT VERY END)
   Amaç: PC’de footer iç bloklar “min(1240px,100%)” yüzünden küçük/sola yaslı kalmasın.
   Hepsi %100 genişlikte, ekrana ortalı ve geniş dursun.
============================================================================= */

/* 1) İç wrapper zaten full; asıl daraltan kural: .titan-footer-inner > * { width:min(1240px,100%) } */
@media (min-width: 1025px){
  .titan-footer[data-titan-footer="1"] .titan-footer-inner > *{
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 2) “Kart” görünümünü geniş ekranda daha ferah yap */
  .titan-footer-top,
  .titan-footer-grid,
  .titan-footer-bottom{
    width: 100% !important;
  }

  /* 3) Grid kolon aralığı + iç padding biraz daha premium dursun */
  .titan-footer-grid{
    gap: 14px !important;
  }

  .titan-footer-top,
  .titan-footer-bottom{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* (Opsiyonel) Aşırı büyük ekranlarda da “tam genişlik” kalsın ama okunabilirlik için hafif iç boşluk */
@media (min-width: 1440px){
  .titan-footer[data-titan-footer="1"] .titan-footer-inner{
    padding-left: clamp(22px, 3.2vw, 54px) !important;
    padding-right: clamp(22px, 3.2vw, 54px) !important;
  }
}
/* =============================================================================
   TITAN FOOTER — ASTRA CONTAINER'DAN ÇIK (FULL BLEED 100vw) + CENTER
   Fix: Footer içerik bloğu küçük/sola yaslı kalmasın.
   Bu patch footer'ı parent container genişliğinden bağımsız yapar.
============================================================================= */

/* 0) güvenlik: yatay taşmayı engelle */
html, body{
  overflow-x: hidden;
}

/* 1) Footer'ı full-bleed yap (Astra container içinden çıkar) */
footer.titan-footer[data-titan-footer="1"]{
  width: 100vw !important;
  max-width: 100vw !important;

  /* container içindeyken full-bleed merkezleme tekniği */
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  left: auto !important;
  right: auto !important;

  position: relative !important;
  z-index: 5 !important;
}

/* 2) İç wrapper: ekran ortasında ve geniş */
footer.titan-footer[data-titan-footer="1"] .titan-footer-inner{
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;

  /* senin token ile uyumlu; yoksa fallback */
  padding-left: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
  padding-right: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
}

/* 3) İçerideki “kart bloğu” full genişlik + ortalı */
@media (min-width: 1025px){
  footer.titan-footer[data-titan-footer="1"] .titan-footer-inner > *{
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* görünüm daha dengeli */
  footer.titan-footer[data-titan-footer="1"] .titan-footer-top,
  footer.titan-footer[data-titan-footer="1"] .titan-footer-grid,
  footer.titan-footer[data-titan-footer="1"] .titan-footer-bottom{
    width: 100% !important;
  }
}

/* 4) Eğer Astra footer/entry wrapper padding basıyorsa nötrle */
body .site-content footer.titan-footer[data-titan-footer="1"],
body .ast-container footer.titan-footer[data-titan-footer="1"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 5) Aşırı büyük ekranlarda da “ortalanmış geniş” hissi */
@media (min-width: 1440px){
  footer.titan-footer[data-titan-footer="1"] .titan-footer-inner{
    padding-left: clamp(22px, 3.2vw, 54px) !important;
    padding-right: clamp(22px, 3.2vw, 54px) !important;
  }
}
/* =============================================================================
   TITAN FOOTER — FULL WIDTH + CENTER (HARD PATCH)
   Fix: PC’de footer “sola yaslı küçük kart” kalmasın.
   Hedef: Footer full-bleed (100vw) + iç içerik full genişlik + ortalı.
============================================================================= */

html, body{
  overflow-x: hidden !important;
}

/* 1) Footer’ı Astra container’dan kopar (full-bleed) */
footer.titan-footer[data-titan-footer="1"]{
  width: 100vw !important;
  max-width: 100vw !important;

  /* container içindeyken bile tam ekran ortalama tekniği */
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  position: relative !important;
  left: auto !important;
  right: auto !important;
}

/* 2) İç bloğun “küçük kalma” sebebi genelde max-width / inline / fit-content */
footer.titan-footer[data-titan-footer="1"] .titan-footer-inner{
  display: block !important;

  width: 100% !important;          /* KATI: full */
  max-width: none !important;      /* KATI: max-width kır */
  min-width: 0 !important;

  margin-left: auto !important;    /* KATI: ortala */
  margin-right: auto !important;

  padding-left: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
  padding-right: var(--titan-pad-x, clamp(14px, 3vw, 36px)) !important;
}

/* 3) İçerideki “kart/row” bloklarını da genişlet (top/grid/bottom) */
footer.titan-footer[data-titan-footer="1"] .titan-footer-top,
footer.titan-footer[data-titan-footer="1"] .titan-footer-grid,
footer.titan-footer[data-titan-footer="1"] .titan-footer-bottom{
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 4) Eğer Astra üst wrapper footer’a padding/margin basıyorsa sıfırla */
body .site-content footer.titan-footer[data-titan-footer="1"],
body .ast-container footer.titan-footer[data-titan-footer="1"],
body .content-area footer.titan-footer[data-titan-footer="1"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}

/* 5) Aşırı geniş ekranda “daha premium” görünüm: içeriği ortalı ama geniş tut */
@media (min-width: 1200px){
  footer.titan-footer[data-titan-footer="1"] .titan-footer-inner{
    padding-left: clamp(22px, 3.2vw, 64px) !important;
    padding-right: clamp(22px, 3.2vw, 64px) !important;
  }
}

/* 6) Güvenlik: footer içindeki img vs global kurallardan etkilenmesin */
footer.titan-footer[data-titan-footer="1"] img{
  max-width: 100% !important;
  height: auto !important;
}
/* =============================================================================
   TITAN FOOTER — DROPDOWN/ACCORDION OVERLAY FIX
   Fix: Footer menüleri yukarı açılınca içerik altında kalmasın.
============================================================================= */

/* 1) Footer kendi stacking context’ini üstte tutsun */
footer.titan-footer[data-titan-footer="1"]{
  position: relative !important;
  z-index: 50 !important; /* içerikten yukarı */
  overflow: visible !important;
}

/* 2) İç wrapper’lar paneli kesmesin */
footer.titan-footer[data-titan-footer="1"] .titan-footer-inner,
footer.titan-footer[data-titan-footer="1"] .titan-footer-top,
footer.titan-footer[data-titan-footer="1"] .titan-footer-grid,
footer.titan-footer[data-titan-footer="1"] .titan-footer-bottom,
footer.titan-footer[data-titan-footer="1"] .titan-footer-col{
  overflow: visible !important;
}

/* 3) Dropdown container relative olsun ki panel doğru konumlansın */
footer.titan-footer[data-titan-footer="1"] .titan-dd{
  position: relative !important;
  z-index: 1 !important;
}

/* 4) Açılan panel kesinlikle üstte kalsın */
footer.titan-footer[data-titan-footer="1"] .titan-dd-panel,
footer.titan-footer[data-titan-footer="1"] .titan-footer-acc-panel{
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(100% + 10px) !important; /* yukarı aç */
  z-index: 9999 !important;
}

/* 5) Panel açılınca kolon da üstte kalsın (ek garanti) */
footer.titan-footer[data-titan-footer="1"] .titan-footer-col.titan-dd.is-open,
footer.titan-footer[data-titan-footer="1"] .titan-footer-col.titan-dd.is-open *{
  position: relative;
  z-index: 9998;
}

/* 6) Bazı temalarda main/content overflow hidden olabiliyor — footer panelini boğar.
      En azından body/site-content üzerinde footer bölgesini taşırmaya izin verelim. */
body,
#page,
.site,
.site-content{
  overflow-x: hidden;
}

/* 7) Mobilde zaten accordion gibi çalışıyorsa panel “absolute” istemeyebilirsin:
      Mobilde paneli normal akışa al (kesilme riski azalır) */
@media (max-width: 820px){
  footer.titan-footer[data-titan-footer="1"] .titan-dd-panel,
  footer.titan-footer[data-titan-footer="1"] .titan-footer-acc-panel{
    position: relative !important;
    bottom: auto !important;
    top: 10px !important;
    left: 0 !important;
    right: 0 !important;
  }
}
