/* ============================================================
   TIRUPATI GLASS — PREMIUM LIGHT GLASSMORPHISM THEME
   Complete visual override — Luxurious Light Aesthetic
   ============================================================ */

/* ——— Google Fonts ——— */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================================
   1. DESIGN TOKENS (CSS Custom Properties)
   ============================================================ */
:root {
  /* Backgrounds */
  --tgp-bg-primary: #ffffff;
  --tgp-bg-secondary: #f5f7fa;
  --tgp-bg-tertiary: #eef1f6;
  --tgp-bg-dark: #0c1222;
  --tgp-bg-dark-secondary: #111827;
  --tgp-bg-card: #ffffff;
  --tgp-bg-card-hover: #f8fafd;
  --tgp-bg-glass: rgba(255, 255, 255, 0.65);
  --tgp-bg-glass-strong: rgba(255, 255, 255, 0.8);

  /* Accents - Updated with Crimson Red logo colors instead of blue */
  --tgp-accent: #eb3038;
  --tgp-accent-light: #ff4d5a;
  --tgp-accent-dark: #b81d24;
  --tgp-accent-glow: rgba(235, 48, 56, 0.15);
  --tgp-gold: #b8960c;
  --tgp-gold-light: #d4af37;
  --tgp-gold-bg: rgba(184, 150, 12, 0.08);
  --tgp-crimson: #eb3038;

  /* Text */
  --tgp-text: #0f172a;
  --tgp-text-secondary: #475569;
  --tgp-text-muted: #94a3b8;
  --tgp-text-faint: #cbd5e1;
  --tgp-text-on-dark: #ffffff;
  --tgp-text-on-dark-secondary: rgba(255, 255, 255, 0.75);

  /* Borders */
  --tgp-border: rgba(15, 23, 42, 0.08);
  --tgp-border-hover: rgba(235, 48, 56, 0.3);
  --tgp-border-strong: rgba(15, 23, 42, 0.12);
  --tgp-border-gold: rgba(184, 150, 12, 0.25);

  /* Typography */
  --tgp-font-heading: 'Outfit', sans-serif;
  --tgp-font-body: 'Inter', sans-serif;

  /* Spacing */
  --tgp-section-pad: clamp(60px, 8vw, 120px);
  --tgp-container-max: 1280px;

  /* Transitions */
  --tgp-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --tgp-ease-smooth: cubic-bezier(0.16, 1, 0.3, 1);

  /* Shadows */
  --tgp-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.04), 0 1px 2px rgba(15, 23, 42, 0.06);
  --tgp-shadow-card: 0 4px 24px rgba(15, 23, 42, 0.06), 0 1px 4px rgba(15, 23, 42, 0.04);
  --tgp-shadow-card-hover: 0 12px 40px rgba(15, 23, 42, 0.1), 0 4px 12px rgba(15, 23, 42, 0.05);
  --tgp-shadow-glow: 0 8px 30px rgba(235, 48, 56, 0.12);
  --tgp-shadow-gold: 0 8px 30px rgba(184, 150, 12, 0.12);
}

/* ============================================================
   2. GLOBAL RESET & BASE OVERRIDES
   ============================================================ */
html {
  scroll-behavior: smooth !important;
}

body {
  background-color: var(--tgp-bg-primary) !important;
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-body) !important;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Override default Elementor container backgrounds to allow our clean theme through,
   excluding our custom premium styled dark sections and hero area.
   DO NOT strip background-image globally as it hides content (like maps, products, and banners). */
body .elementor-element.e-con:not(.tg-brand-story--message):not(.tg-stats-section):not(.ekit-template-content-footer):not(.luxury-hero-carousel):not(.tg-products-section):not(.tg-why-choose-section):not(.tg-testimonials-section):not(.tg-pan-glass-section):not(.home-upcoming-events-section):not(.tg-faq-section):not(.tg-faq-shell),
body .elementor-element.e-con.e-parent:not(.tg-brand-story--message):not(.tg-stats-section):not(.ekit-template-content-footer):not(.luxury-hero-carousel):not(.tg-products-section):not(.tg-why-choose-section):not(.tg-testimonials-section):not(.tg-pan-glass-section):not(.home-upcoming-events-section):not(.tg-faq-section):not(.tg-faq-shell),
body .elementor-element.e-con.e-child:not(.tg-brand-story--message):not(.tg-stats-section):not(.ekit-template-content-footer):not(.luxury-hero-carousel):not(.tg-products-section):not(.tg-why-choose-section):not(.tg-testimonials-section):not(.tg-pan-glass-section):not(.home-upcoming-events-section):not(.tg-faq-section):not(.tg-faq-shell),
body .e-con-inner:not(.tg-stats-shell) {
  background-color: transparent !important;
}

/* Ensure dark backgrounds have white text and headings */
body .tg-brand-story--message h1, body .tg-brand-story--message h2, body .tg-brand-story--message h3, body .tg-brand-story--message h4, body .tg-brand-story--message h5, body .tg-brand-story--message h6,
body .tg-stats-section h1, body .tg-stats-section h2, body .tg-stats-section h3, body .tg-stats-section h4, body .tg-stats-section h5, body .tg-stats-section h6,
body .ekit-template-content-footer h1, body .ekit-template-content-footer h2, body .ekit-template-content-footer h3, body .ekit-template-content-footer h4, body .ekit-template-content-footer h5, body .ekit-template-content-footer h6,
body .ekit-template-content-footer .elementor-heading-title,
body .ekit-template-content-footer .ekit-heading--title,
body .home-upcoming-events-highlight h1, body .home-upcoming-events-highlight h2, body .home-upcoming-events-highlight h3, body .home-upcoming-events-highlight h4, body .home-upcoming-events-highlight h5, body .home-upcoming-events-highlight h6,
body .luxury-hero-carousel h1, body .luxury-hero-carousel h2, body .luxury-hero-carousel h3, body .luxury-hero-carousel h4, body .luxury-hero-carousel h5, body .luxury-hero-carousel h6 {
  color: var(--tgp-text-on-dark) !important;
}

body .tg-brand-story--message p,
body .tg-stats-section p,
body .ekit-template-content-footer p,
body .home-upcoming-events-highlight p,
body .luxury-hero-carousel p,
body .tg-brand-story--message .ekit-heading__description p,
body .ekit-template-content-footer .ekit-heading__description p {
  color: var(--tgp-text-on-dark-secondary) !important;
}

body .tg-brand-story--message a,
body .tg-stats-section a,
body .ekit-template-content-footer a,
body .home-upcoming-events-highlight a,
body .luxury-hero-carousel a {
  color: var(--tgp-text-on-dark-secondary) !important;
}

body .tg-brand-story--message a:hover,
body .tg-stats-section a:hover,
body .ekit-template-content-footer a:hover,
body .home-upcoming-events-highlight a:hover,
body .luxury-hero-carousel a:hover {
  color: var(--tgp-accent-light) !important;
}

/* Override Astra theme bg */
body.ast-separate-container,
body .site-content,
body #page,
body .hfeed.site {
  background-color: var(--tgp-bg-primary) !important;
}

/* Override all text colors */
body h1, body h2, body h3, body h4, body h5, body h6,
body .entry-title a,
body .entry-content h1, body .entry-content h2,
body .entry-content h3, body .entry-content h4 {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
}

body p {
  color: var(--tgp-text-secondary) !important;
}

body a {
  /* color: var(--tgp-text-secondary) !important; */
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

body a:hover, body a:focus {
  color: var(--tgp-accent) !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--tgp-bg-secondary);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--tgp-accent), var(--tgp-accent-dark));
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--tgp-accent);
}

/* Selection */
::selection {
  background-color: var(--tgp-accent) !important;
  color: #fff !important;
}

/* Remove Astra inline color overrides */
body .ast-article-post,
body .ast-separate-container .ast-article-single {
  background: transparent !important;
}

/* ============================================================
   3. PRELOADER
   ============================================================ */
.tg-preloader {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.tg-preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.tg-preloader-glass {
  width: 56px;
  height: 56px;
  border: 2px solid var(--tgp-bg-tertiary);
  border-top-color: var(--tgp-accent);
  border-radius: 50%;
  animation: tgp-spin 1s linear infinite;
  position: relative;
}

.tg-preloader-glass::after {
  content: '';
  position: absolute;
  inset: 6px;
  border: 2px solid var(--tgp-bg-tertiary);
  border-bottom-color: var(--tgp-gold);
  border-radius: 50%;
  animation: tgp-spin 1.5s linear infinite reverse;
}

.tg-preloader-text {
  font-family: var(--tgp-font-heading);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--tgp-text-muted);
  animation: tgp-shimmer-light 2s ease-in-out infinite;
}

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

@keyframes tgp-shimmer-light {
  0%, 100% { opacity: 0.4; color: var(--tgp-text-muted); }
  50% { opacity: 1; color: var(--tgp-accent); }
}

/* ============================================================
   4. CUSTOM CURSOR
   ============================================================ */
@media (min-width: 1025px) and (pointer: fine) {
  body {
    cursor: auto !important;
  }
  body a, body button, body [role="button"], body input, body select, body textarea {
    cursor: pointer !important;
  }
}

.tg-cursor {
  width: 36px;
  height: 36px;
  border: 1.5px solid rgba(235, 48, 56, 0.35);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 999998;
  transition: transform 0.2s var(--tgp-ease), background 0.3s ease, border-color 0.3s ease;
  transform: translate(-50%, -50%);
}

.tg-cursor.hover {
  transform: translate(-50%, -50%) scale(1.6);
  background: rgba(235, 48, 56, 0.06);
  border-color: var(--tgp-accent);
}

.tg-cursor-dot {
  width: 5px;
  height: 5px;
  background: var(--tgp-accent);
  border-radius: 50%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 999999;
  transform: translate(-50%, -50%);
  transition: transform 0.1s ease, opacity 0.3s ease;
}

.tg-cursor-dot.hover {
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
}

html.tg-simple-cursor *,
html.tg-simple-cursor body {
  cursor: auto !important;
}

html.tg-simple-cursor a,
html.tg-simple-cursor button,
html.tg-simple-cursor [role="button"],
html.tg-simple-cursor input[type="submit"],
html.tg-simple-cursor .elementor-button {
  cursor: pointer !important;
}

html.tg-simple-cursor .tg-cursor,
html.tg-simple-cursor .tg-cursor-dot,
.tg-cursor,
.tg-cursor-dot {
  display: none !important;
}

body a.elementor-button,
body .elementor-button,
body .tg-cta-primary,
body .tg-btn-primary,
body .team-btn,
body .blog-btn,
body a[href*="contact-us"],
body a[href*="Contact"] {
  color: #ffffff !important;
}

body a.elementor-button *,
body .elementor-button *,
body .team-btn *,
body .blog-btn * {
  color: #ffffff !important;
}

.tg-sticky-socials {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99990;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tg-sticky-socials a {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #ffffff !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tg-sticky-socials a:hover {
  transform: translateX(-4px);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.28);
}

.tg-sticky-socials svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.tg-sticky-socials__facebook { background: #1877f2; }
.tg-sticky-socials__instagram { background: linear-gradient(135deg, #f58529, #dd2a7b 45%, #8134af 72%, #515bd4); }
.tg-sticky-socials__youtube { background: #ff0000; }
.tg-sticky-socials__twitter { background: #1da1f2; }

@media (max-width: 767px) {
  .tg-sticky-socials {
    display: none !important;
  }
}

/* ============================================================
   5. NAVIGATION / HEADER
   ============================================================ */
body .elementor-element-c50a72b,
body .she-header-yes {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border-bottom: 1px solid var(--tgp-border) !important;
  transition: all 0.4s var(--tgp-ease) !important;
}

body .elementor-element-c50a72b.scrolled {
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 4px 30px rgba(15, 23, 42, 0.06) !important;
  border-bottom-color: rgba(235, 48, 56, 0.08) !important;
}

/* Logo */
body .elementor-element-ccfde75 img {
  transition: filter 0.3s ease !important;
}

/* Nav menu links */
body .elementor-nav-menu .menu-link,
body .elementor-nav-menu--main .elementor-item {
  color: var(--tgp-text-secondary) !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  transition: color 0.3s ease !important;
  text-transform: uppercase !important;
}

body .elementor-nav-menu .menu-link:hover,
body .elementor-nav-menu--main .elementor-item:hover,
body .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--tgp-accent) !important;
}

/* Dropdown menus */
body .elementor-nav-menu--dropdown,
body .sub-menu.elementor-nav-menu--dropdown {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 12px !important;
  padding: 8px !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
}

body .sub-menu .elementor-sub-item {
  color: var(--tgp-text-secondary) !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  transition: all 0.25s ease !important;
}

body .sub-menu .elementor-sub-item:hover {
  color: var(--tgp-accent) !important;
  background: rgba(235, 48, 56, 0.05) !important;
}

/* CTA Button (Contact Now) */
body .elementor-element-afea302 .elementor-button,
body .elementor-element-afea302 a.elementor-button {
  background: linear-gradient(135deg, var(--tgp-accent), var(--tgp-accent-dark)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 28px !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  transition: all 0.3s var(--tgp-ease) !important;
  box-shadow: 0 4px 15px rgba(235, 48, 56, 0.25) !important;
}

body .elementor-element-afea302 .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(235, 48, 56, 0.35) !important;
  color: #fff !important;
}

/* Navbar social icons */
body .tg-navbar-social .social-icon svg {
  fill: var(--tgp-text-muted) !important;
  transition: fill 0.3s ease, transform 0.3s ease !important;
  width: 16px !important;
  height: 16px !important;
}

body .tg-navbar-social .social-icon:hover svg {
  fill: var(--tgp-accent) !important;
  transform: translateY(-2px) !important;
}

/* Mobile hamburger */
body .elementor-menu-toggle {
  color: var(--tgp-text) !important;
}

body .elementor-menu-toggle svg {
  fill: var(--tgp-text) !important;
}

body .ast-header-navigation-arrow {
  color: var(--tgp-text-muted) !important;
}

/* ============================================================
   6. HERO CAROUSEL (Stays dark for cinematic impact)
   ============================================================ */
body .luxury-hero-carousel {
  height: 100vh !important;
  min-height: 600px !important;
  background: var(--tgp-bg-dark) !important;
  position: relative !important;
}

body .carousel-slide {
  position: absolute !important;
  inset: 0 !important;
}

body .slide-bg-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 8s ease !important;
}

body .carousel-slide.active .slide-bg-img {
  animation: tgp-bgZoom 8s ease forwards !important;
}

@keyframes tgp-bgZoom {
  from { transform: scale(1); }
  to { transform: scale(1.06); }
}

body .slide-overlay {
  background:
    radial-gradient(circle at 70% 24%, rgba(214, 179, 90, 0.16) 0%, rgba(214, 179, 90, 0) 34%),
    linear-gradient(90deg, rgba(8, 10, 15, 0.82) 0%, rgba(15, 20, 30, 0.58) 43%, rgba(6, 9, 15, 0.28) 72%, rgba(5, 8, 14, 0.48) 100%) !important;
}

body .slide-content-glass {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)) !important;
  backdrop-filter: blur(24px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(145%) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 22px !important;
  padding: clamp(30px, 4vw, 52px) !important;
  max-width: 670px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

body .slide-content-glass::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.26), transparent 36%),
    linear-gradient(180deg, rgba(214, 179, 90, 0.16), transparent 34%) !important;
  opacity: 0.45 !important;
}

body .slide-tag {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #ead9a5 !important;
  background: rgba(214, 179, 90, 0.12) !important;
  border: 1px solid rgba(234, 217, 165, 0.28) !important;
  padding: 6px 16px !important;
  border-radius: 50px !important;
  margin-bottom: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

body .slide-title {
  position: relative !important;
  z-index: 1 !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: clamp(28px, 4vw, 52px) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.36) !important;
}

body .slide-title span {
  background: linear-gradient(135deg, #fff3c5 0%, #d6b35a 45%, #b88935 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: #d6b35a !important;
  text-shadow: none !important;
}

body .slide-desc {
  position: relative !important;
  z-index: 1 !important;
  font-family: var(--tgp-font-body) !important;
  font-size: clamp(14px, 1.5vw, 17px) !important;
  color: rgba(255, 255, 255, 0.84) !important;
  line-height: 1.7 !important;
  margin-bottom: 30px !important;
}

/* Carousel CTAs */
body .slide-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #d91f2f, #9f1420) !important;
  color: #fff !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  border: 1px solid rgba(234, 217, 165, 0.28) !important;
  transition: all 0.35s var(--tgp-ease) !important;
  box-shadow: 0 16px 36px rgba(159, 20, 32, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}

body .slide-cta:hover {
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 44px rgba(159, 20, 32, 0.44), 0 0 0 1px rgba(214, 179, 90, 0.26) !important;
}

body .slide-cta-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.045) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  border: 1px solid rgba(234, 217, 165, 0.32) !important;
  transition: all 0.35s var(--tgp-ease) !important;
}

body .slide-cta-secondary:hover {
  border-color: rgba(234, 217, 165, 0.7) !important;
  color: #ead9a5 !important;
  background: rgba(214, 179, 90, 0.1) !important;
}

body .slide-buttons {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

body .slide-trust-strip {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-top: 28px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}

body .slide-trust-strip span {
  color: rgba(255, 255, 255, 0.66) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body .slide-trust-strip strong {
  display: block !important;
  color: #ead9a5 !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  margin-bottom: 3px !important;
}

/* Carousel Navigation */
body .carousel-btn {
  background: rgba(255, 255, 255, 0.075) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(234, 217, 165, 0.22) !important;
  border-radius: 50% !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

body .carousel-btn:hover {
  background: rgba(214, 179, 90, 0.12) !important;
  border-color: rgba(234, 217, 165, 0.54) !important;
}

body .carousel-btn svg {
  stroke: #fff !important;
  stroke-width: 2 !important;
  fill: none !important;
  width: 20px !important;
  height: 20px !important;
}

/* Carousel Indicators */
body .carousel-indicators {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
}

body .carousel-indicator {
  width: 32px !important;
  height: 3px !important;
  border-radius: 3px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  cursor: pointer !important;
  transition: all 0.4s var(--tgp-ease) !important;
}

body .carousel-indicator.active {
  background: var(--tgp-accent-light) !important;
  width: 48px !important;
  box-shadow: 0 0 12px rgba(235, 48, 56, 0.5) !important;
}

/* Typewriter cursor */
body .typewriter-cursor {
  color: var(--tgp-accent-light) !important;
  animation: tgp-blink 0.8s step-end infinite !important;
}

@keyframes tgp-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Hero particle canvas */
.tg-particles-canvas {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* ============================================================
   7. ABOUT US SECTION (Brand Story) — LIGHT
   ============================================================ */
body .tg-brand-story {
  padding: var(--tgp-section-pad) 0 !important;
}

body .tg-brand-story--about {
  background: var(--tgp-bg-primary) !important;
}

/* Image styling */
body .tg-brand-story-image img {
  border-radius: 20px !important;
  box-shadow: var(--tgp-shadow-card) !important;
  transition: all 0.5s var(--tgp-ease) !important;
}

body .tg-brand-story-image:hover img {
  box-shadow: var(--tgp-shadow-card-hover) !important;
  transform: scale(1.02) !important;
}

/* Floating Badge */
body .tg-brand-story-badge {
  background: var(--tgp-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 16px !important;
  padding: 18px 24px !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
  animation: tgp-float 6s ease-in-out infinite alternate !important;
}

body .tg-brand-story-badge span {
  color: var(--tgp-accent) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  font-weight: 700 !important;
}

body .tg-brand-story-badge strong {
  color: var(--tgp-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: block !important;
  margin-top: 4px !important;
}

@keyframes tgp-float {
  from { transform: translateY(0); }
  to { transform: translateY(-12px); }
}

/* Section headings */
body .elementskit-section-subtitle {
  color: var(--tgp-accent) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 12px !important;
}

body .elementskit-section-title,
body .ekit-heading--title {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin-bottom: 20px !important;
}

body .elementskit-section-title span,
body .ekit-heading--title span {
  color: var(--tgp-accent) !important;
}

body .ekit-heading__description,
body .ekit-heading__description p {
  color: var(--tgp-text-secondary) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

/* Signal pills */
body .tg-brand-story-signal,
body .tg-pan-glass-signal,
body .tg-why-choose-signal {
  background: rgba(235, 48, 56, 0.05) !important;
  border: 1px solid rgba(235, 48, 56, 0.15) !important;
  color: var(--tgp-accent) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  border-radius: 50px !important;
  display: inline-block !important;
  margin: 4px !important;
  transition: all 0.3s ease !important;
}

body .tg-brand-story-signal:hover,
body .tg-pan-glass-signal:hover {
  background: rgba(235, 48, 56, 0.1) !important;
  border-color: var(--tgp-accent) !important;
  box-shadow: var(--tgp-shadow-glow) !important;
}

/* Brand story CTA button */
body .tg-brand-story-cta .elementor-button {
  background: linear-gradient(135deg, var(--tgp-accent), var(--tgp-accent-dark)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  transition: all 0.35s var(--tgp-ease) !important;
  box-shadow: 0 4px 15px rgba(235, 48, 56, 0.2) !important;
}

body .tg-brand-story-cta .elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 25px rgba(235, 48, 56, 0.3) !important;
  color: #fff !important;
}

/* ============================================================
   8. DIRECTOR'S MESSAGE (Dark section for contrast)
   ============================================================ */
body .tg-brand-story--message {
  background: linear-gradient(135deg, var(--tgp-bg-dark) 0%, var(--tgp-bg-dark-secondary) 100%) !important;
}

body .tg-brand-story--message .elementskit-section-subtitle {
  color: var(--tgp-gold-light) !important;
}

body .tg-brand-story--message .elementskit-section-title,
body .tg-brand-story--message .ekit-heading--title {
  color: var(--tgp-text-on-dark) !important;
}

body .tg-brand-story--message .elementskit-section-title span {
  color: var(--tgp-gold-light) !important;
}

body .tg-brand-story--message .ekit-heading__description p {
  color: var(--tgp-text-on-dark-secondary) !important;
}

body .tg-brand-story--message .tg-brand-story-badge {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

body .tg-brand-story--message .tg-brand-story-badge span {
  color: var(--tgp-gold-light) !important;
}

body .tg-brand-story--message .tg-brand-story-badge strong {
  color: var(--tgp-text-on-dark) !important;
}

body .tg-brand-story--message .tg-brand-story-signal {
  background: rgba(212, 175, 55, 0.08) !important;
  border-color: rgba(212, 175, 55, 0.2) !important;
  color: var(--tgp-gold-light) !important;
}

body .tg-brand-story--message .ekit-heading__description span[style] {
  color: var(--tgp-crimson) !important;
}

/* ============================================================
   9. STATS / COUNTER SECTION
   ============================================================ */
body .tg-stats-section {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 45%, #ffffff 100%) !important;
  padding: 46px 0 52px !important;
  border-top: none !important;
  border-bottom: none !important;
}

body .tg-stats-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 28px !important;
  padding: 0 !important;
  text-align: center !important;
  transition: all 0.4s var(--tgp-ease) !important;
  position: relative !important;
  overflow: hidden !important;
}

body .tg-stats-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 60% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--tgp-accent-light), transparent) !important;
  opacity: 0 !important;
  transition: opacity 0.4s ease !important;
}

body .tg-stats-card:hover {
  border-color: transparent !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 35px rgba(235, 48, 56, 0.12) !important;
  background: transparent !important;
}

body .tg-stats-card:hover::before {
  opacity: 1 !important;
}

body .elementor-counter-number-wrapper {
  margin-bottom: 8px !important;
}

body .tg-stats-counter .elementor-counter-number {
  font-family: var(--tgp-font-heading) !important;
  font-size: clamp(36px, 4vw, 52px) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

body .tg-stats-counter .elementor-counter-number-suffix {
  font-family: var(--tgp-font-heading) !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 700 !important;
  color: var(--tgp-accent-light) !important;
}

body .tg-stats-counter .elementor-counter-title {
  font-family: var(--tgp-font-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #6b7280 !important;
}

/* ============================================================
   10. EVENTS / NEWS SECTION — LIGHT
   ============================================================ */
body .home-upcoming-events-section {
  background: var(--tgp-bg-secondary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

body .home-upcoming-events-section h2 {
  color: var(--tgp-text) !important;
}

body .home-upcoming-events-section .home-upcoming-section-tag {
  color: var(--tgp-accent) !important;
}

body .home-upcoming-event-card {
  background: var(--tgp-bg-card) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 20px !important;
  padding: 30px !important;
  transition: all 0.4s var(--tgp-ease) !important;
  box-shadow: var(--tgp-shadow-sm) !important;
}

body .home-upcoming-event-card:hover {
  border-color: var(--tgp-border-hover) !important;
  transform: translateY(-6px) !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
}

body .home-upcoming-event-card--featured {
  border-top: 2px solid var(--tgp-accent) !important;
}

body .home-upcoming-event-date {
  background: rgba(235, 48, 56, 0.06) !important;
  border: 1px solid rgba(235, 48, 56, 0.15) !important;
  border-radius: 12px !important;
}

body .home-upcoming-event-date span,
body .home-upcoming-event-date strong {
  color: var(--tgp-accent) !important;
}

body .home-upcoming-event-tag {
  color: var(--tgp-accent) !important;
  background: rgba(235, 48, 56, 0.06) !important;
  border: 1px solid rgba(235, 48, 56, 0.12) !important;
  border-radius: 50px !important;
}

body .home-upcoming-event-card h3 {
  color: var(--tgp-text) !important;
}

body .home-upcoming-event-meta,
body .home-upcoming-event-description {
  color: var(--tgp-text-secondary) !important;
}

body .home-upcoming-event-chip {
  background: var(--tgp-bg-secondary) !important;
  border: 1px solid var(--tgp-border) !important;
  color: var(--tgp-text-muted) !important;
  border-radius: 50px !important;
}

body .home-upcoming-event-link {
  color: var(--tgp-accent) !important;
  font-weight: 600 !important;
}

body .home-upcoming-events-cta {
  background: var(--tgp-bg-card) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 20px !important;
}

body .home-upcoming-events-cta strong {
  color: var(--tgp-text) !important;
}

body .home-upcoming-events-cta p {
  color: var(--tgp-text-secondary) !important;
}

body .home-upcoming-events-button {
  background: linear-gradient(135deg, var(--tgp-accent), var(--tgp-accent-dark)) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(235, 48, 56, 0.2) !important;
}

body .home-upcoming-events-button:hover {
  color: #fff !important;
  box-shadow: 0 8px 25px rgba(235, 48, 56, 0.3) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   11. PAN INDIA SECTION — LIGHT
   ============================================================ */
body .tg-pan-glass-section {
  background: var(--tgp-bg-primary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

body .tg-pan-glass-image img {
  border-radius: 20px !important;
  border: 1px solid var(--tgp-border) !important;
  box-shadow: var(--tgp-shadow-card) !important;
  transition: all 0.5s var(--tgp-ease) !important;
}

body .tg-pan-glass-image:hover img {
  box-shadow: var(--tgp-shadow-card-hover) !important;
}

body .tg-pan-glass-badge {
  background: var(--tgp-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
  animation: tgp-float 7s ease-in-out infinite alternate-reverse !important;
}

body .tg-pan-glass-badge span {
  color: var(--tgp-gold) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 11px !important;
}

body .tg-pan-glass-badge strong {
  color: var(--tgp-text) !important;
}

/* ============================================================
   12. PRODUCTS SECTION — LIGHT
   ============================================================ */
body .tg-products-section,
body [id="our-products"] {
  background: var(--tgp-bg-secondary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

body .tg-product-card {
  background: var(--tgp-bg-card) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: all 0.45s var(--tgp-ease) !important;
  position: relative !important;
  box-shadow: var(--tgp-shadow-sm) !important;
}

body .tg-product-card:hover {
  border-color: var(--tgp-border-hover) !important;
  transform: translateY(-8px) !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
}

body .tg-product-card-box .elementor-image-box-img img {
  border-radius: 14px !important;
  transition: transform 0.6s var(--tgp-ease), filter 0.6s ease !important;
}

body .tg-product-card:hover .elementor-image-box-img img {
  transform: scale(1.06) !important;
}

body .tg-product-card-box .elementor-image-box-title {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 600 !important;
  margin-top: 16px !important;
  text-align: center !important;
  transition: color 0.3s ease !important;
}

body .tg-product-card:hover .elementor-image-box-title {
  color: var(--tgp-accent) !important;
}

/* ============================================================
   13. "INDIA KA GLASS" TAGLINE SECTION
   ============================================================ */
body .elementor-element-ce567ba {
  background: var(--tgp-bg-primary) !important;
  padding: var(--tgp-section-pad) 0 !important;
  text-align: center !important;
}

body .elementor-element-ce567ba .elementskit-section-title {
  font-size: clamp(32px, 4vw, 56px) !important;
  background: linear-gradient(135deg, var(--tgp-text), var(--tgp-accent), var(--tgp-gold)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  background-size: 200% 200% !important;
  animation: tgp-gradientShift 4s ease infinite !important;
}

body .elementor-element-ce567ba .elementskit-section-subtitle {
  color: var(--tgp-gold) !important;
}

body .elementor-element-ce567ba .elementskit-border-divider {
  background: linear-gradient(90deg, transparent, var(--tgp-accent), transparent) !important;
  height: 2px !important;
  border: none !important;
}

/* ============================================================
   14. WHY CHOOSE US — LIGHT
   ============================================================ */
body .tg-why-choose-section,
body [id="why-choose-us"] {
  background: var(--tgp-bg-primary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

body .tg-why-choose-card {
  background: var(--tgp-bg-card) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 20px !important;
  padding: 35px 25px !important;
  text-align: center !important;
  transition: all 0.4s var(--tgp-ease) !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: var(--tgp-shadow-sm) !important;
}

body .tg-why-choose-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--tgp-accent), var(--tgp-gold)) !important;
  transform: scaleX(0) !important;
  transition: transform 0.5s var(--tgp-ease) !important;
}

body .tg-why-choose-card:hover {
  border-color: var(--tgp-border-hover) !important;
  transform: translateY(-10px) !important;
  box-shadow: var(--tgp-shadow-card-hover) !important;
}

body .tg-why-choose-card:hover::before {
  transform: scaleX(1) !important;
}

body .tg-why-choose-card-box .elementor-image-box-img img {
  transition: all 0.4s ease !important;
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
}

body .tg-why-choose-card:hover .elementor-image-box-img img {
  transform: scale(1.1) !important;
}

body .tg-why-choose-card-box .elementor-image-box-title {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  margin-top: 20px !important;
}

body .tg-why-choose-card-box .elementor-image-box-description {
  color: var(--tgp-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* ============================================================
   15. TESTIMONIALS — LIGHT
   ============================================================ */
body .tg-testimonials-section {
  background: var(--tgp-bg-secondary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

body .tg-testimonials-shell {
  background: var(--tgp-bg-card) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: var(--tgp-shadow-card) !important;
}

body .tg-testimonials-image img {
  border-radius: 16px !important;
  box-shadow: var(--tgp-shadow-card) !important;
}

body .elementskit-single-testimonial-slider {
  background: transparent !important;
}

body .elementskit-commentor-content p {
  color: var(--tgp-text-secondary) !important;
  font-family: var(--tgp-font-body) !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  font-style: italic !important;
}

body .elementskit-author-name {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
}

body .elementskit-author-des {
  color: var(--tgp-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 11px !important;
}

body .elementskit-stars svg {
  fill: var(--tgp-gold-light) !important;
  width: 16px !important;
  height: 16px !important;
}

body .elementskit-watermark-icon i {
  color: rgba(235, 48, 56, 0.1) !important;
}

body .elementskit-commentor-image img {
  border: 2px solid rgba(235, 48, 56, 0.2) !important;
  box-shadow: 0 4px 15px rgba(235, 48, 56, 0.08) !important;
}

/* ============================================================
   16. FAQ SECTION — LIGHT
   ============================================================ */
body .tg-faq-section {
  background: var(--tgp-bg-primary) !important;
  padding: var(--tgp-section-pad) 0 !important;
}

/* ============================================================
   17. FOOTER (Dark for contrast)
   ============================================================ */
body .ekit-template-content-footer,
body .ekit-template-content-footer .elementor {
  background: var(--tgp-bg-dark) !important;
}

body .ekit-template-content-footer .e-con.e-parent {
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body .ekit-template-content-footer h2,
body .ekit-template-content-footer h3,
body .ekit-template-content-footer .elementor-heading-title,
body .ekit-template-content-footer .ekit-heading--title {
  color: var(--tgp-text-on-dark) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 15px !important;
}

body .ekit-template-content-footer p,
body .ekit-template-content-footer .ekit-heading__description p,
body .ekit-template-content-footer .elementor-icon-list-text,
body .ekit-template-content-footer a {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body .ekit-template-content-footer .elementor-icon-list-item {
  margin-bottom: 8px !important;
  padding: 0 !important;
}

body .ekit-template-content-footer .elementor-icon-list-text {
  color: var(--tgp-text-on-dark-secondary) !important;
  transition: color 0.3s ease !important;
}

body .ekit-template-content-footer .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: var(--tgp-accent-light) !important;
}

body .ekit-template-content-footer .elementor-icon-list-icon svg {
  fill: var(--tgp-accent-light) !important;
  width: 13px !important;
  height: 13px !important;
}

body .ekit-template-content-footer a {
  color: var(--tgp-text-on-dark-secondary) !important;
  transition: color 0.3s ease !important;
}

body .ekit-template-content-footer a:hover {
  color: var(--tgp-accent-light) !important;
}

body .ekit-template-content-footer .elementor-widget-image img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Google Map */
body .elementor-custom-embed iframe {
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Copyright bar */
body .elementor-element-9177080 {
  background: rgba(0, 0, 0, 0.3) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body .elementor-element-9177080 p {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 13px !important;
}

body .elementor-element-9177080 a {
  color: var(--tgp-accent-light) !important;
}

/* ============================================================
   18. SCROLL-TO-TOP BUTTON
   ============================================================ */
body #ast-scroll-top {
  background: var(--tgp-bg-card) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid var(--tgp-border-strong) !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--tgp-shadow-card) !important;
}

body #ast-scroll-top:hover {
  background: var(--tgp-accent) !important;
  border-color: var(--tgp-accent) !important;
  box-shadow: 0 8px 25px rgba(235, 48, 56, 0.3) !important;
}

body #ast-scroll-top svg path {
  fill: var(--tgp-accent) !important;
}

body #ast-scroll-top:hover svg path {
  fill: #fff !important;
}

/* ============================================================
   19. FLOATING WHATSAPP WIDGET
   ============================================================ */
body .tg-whatsapp-float {
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.25) !important;
}

/* ============================================================
   20. SCROLL REVEAL ANIMATION CLASSES
   ============================================================ */
.tgp-reveal {
  opacity: 0;
  transition: opacity 0.8s var(--tgp-ease-smooth), transform 0.8s var(--tgp-ease-smooth);
}

.tgp-reveal-up {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s var(--tgp-ease-smooth), transform 0.8s var(--tgp-ease-smooth);
}

.tgp-reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s var(--tgp-ease-smooth), transform 0.8s var(--tgp-ease-smooth);
}

.tgp-reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s var(--tgp-ease-smooth), transform 0.8s var(--tgp-ease-smooth);
}

.tgp-reveal-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.8s var(--tgp-ease-smooth), transform 0.8s var(--tgp-ease-smooth);
}

.tgp-revealed {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
}

/* ============================================================
   21. KEYFRAME ANIMATIONS
   ============================================================ */
@keyframes tgp-pulseGlow {
  0%, 100% { box-shadow: 0 0 15px rgba(235, 48, 56, 0.08); }
  50% { box-shadow: 0 0 30px rgba(235, 48, 56, 0.15); }
}

@keyframes tgp-slideInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes tgp-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes tgp-gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ============================================================
   22. UTILITY CLASSES
   ============================================================ */
.tgp-glass-card {
  background: var(--tgp-bg-glass) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--tgp-border) !important;
  border-radius: 20px !important;
}

.tgp-gradient-text {
  background: linear-gradient(135deg, var(--tgp-accent), var(--tgp-gold)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

.tgp-glow-border {
  border: 1px solid rgba(235, 48, 56, 0.2) !important;
  box-shadow: var(--tgp-shadow-glow) !important;
}

.tgp-accent-line {
  width: 50px;
  height: 3px;
  background: linear-gradient(90deg, var(--tgp-accent), var(--tgp-accent-dark));
  border-radius: 3px;
  display: inline-block;
}

/* Card mouse-follow spotlight effect */
.tgp-spotlight {
  --mouse-x: 50%;
  --mouse-y: 50%;
  position: relative;
}

.tgp-spotlight::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    600px circle at var(--mouse-x) var(--mouse-y),
    rgba(235, 48, 56, 0.04),
    transparent 40%
  );
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.tgp-spotlight:hover::after {
  opacity: 1;
}

/* ============================================================
   23. ELEMENTOR-SPECIFIC OVERRIDES
   ============================================================ */
body .elementor-invisible {
  visibility: visible !important;
}

body .elementor-button {
  transition: all 0.35s var(--tgp-ease) !important;
}

body .elementor-widget-image img {
  max-width: 100% !important;
}

/* Future products: keep their pages available, but hide them from Product menus. */
body .menu-item-1664,
body .menu-item-1671 {
  display: none !important;
}

/* Keep every product listing image visually consistent. */
body :is(.elementor-1600, .elementor-1625, .elementor-1632, .elementor-1649) .elementor-image-box-img {
  display: block !important;
  width: min(100%, 320px) !important;
  height: 320px !important;
  margin: 0 auto 14px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #f3f3f1 !important;
}

body :is(.elementor-1600, .elementor-1625, .elementor-1632, .elementor-1649) .elementor-image-box-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: inherit !important;
}

body :is(.elementor-1600, .elementor-1625, .elementor-1632, .elementor-1649) .elementor-image-box-wrapper {
  text-align: center !important;
}

/* Glass Brick listing uses generated card IDs, so define its grid explicitly. */
body .elementor-1600 .elementor-element-522a25a {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 44px 30px !important;
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 50px 20px 80px !important;
  align-items: stretch !important;
}

body .elementor-1600 .elementor-element-522a25a > .e-con {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 18px !important;
  align-items: stretch !important;
  justify-content: space-between !important;
}

body .elementor-1600 .elementor-element-522a25a .elementor-widget-image-box {
  width: 100% !important;
  margin: 0 !important;
}

body .elementor-1600 .elementor-element-522a25a .elementor-image-box-content {
  display: block !important;
  width: 100% !important;
  padding-top: 4px !important;
  text-align: center !important;
}

body .elementor-1600 .elementor-element-522a25a .elementor-image-box-title {
  display: block !important;
  margin: 0 0 10px !important;
  line-height: 1.3 !important;
}

body .elementor-1600 .elementor-element-522a25a .elementor-image-box-description {
  display: block !important;
  min-height: 48px !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

body .elementor-1600 .elementor-element-522a25a .elementor-widget-button {
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Prevent the new high-resolution Glass Brick photos from filling the viewport. */
body :is(.elementor-1024, .elementor-1026, .elementor-1028, .elementor-1036, .elementor-1050, .elementor-1054, .elementor-1056)
  > .elementor-element
  .elementor-widget-image:not(.ekit-template-content-markup .elementor-widget-image) {
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  margin-inline: auto !important;
}

body :is(.elementor-1024, .elementor-1026, .elementor-1028, .elementor-1036, .elementor-1050, .elementor-1054, .elementor-1056)
  > .elementor-element
  .elementor-widget-image:not(.ekit-template-content-markup .elementor-widget-image) img {
  display: block !important;
  width: 100% !important;
  height: 520px !important;
  max-height: 520px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
}

body .elementor-divider-separator {
  border-color: var(--tgp-border) !important;
}

body .elementor-widget-video .elementor-wrapper {
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid var(--tgp-border) !important;
}

/* ============================================================
   24. RESPONSIVE DESIGN
   ============================================================ */
@media (max-width: 1024px) {
  body {
    overflow-x: hidden !important;
  }

  body :is(.elementor-1600, .elementor-1625, .elementor-1632, .elementor-1649) .elementor-image-box-img {
    width: min(100%, 280px) !important;
    height: 280px !important;
  }

  body .elementor-1600 .elementor-element-522a25a {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 24px !important;
  }

  body :is(.elementor-1024, .elementor-1026, .elementor-1028, .elementor-1036, .elementor-1050, .elementor-1054, .elementor-1056)
    > .elementor-element
    .elementor-widget-image:not(.ekit-template-content-markup .elementor-widget-image) {
    max-width: 420px !important;
  }

  body :is(.elementor-1024, .elementor-1026, .elementor-1028, .elementor-1036, .elementor-1050, .elementor-1054, .elementor-1056)
    > .elementor-element
    .elementor-widget-image:not(.ekit-template-content-markup .elementor-widget-image) img {
    height: min(82vw, 420px) !important;
  }

  .tg-sticky-socials {
    display: none !important;
  }

  body .ekit-template-content-footer .elementor-element-a907d44 > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: start !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body .ekit-template-content-footer .elementor-element-a907d44 .e-con.e-child {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .ekit-template-content-footer .elementor-element-547ddf5 {
    margin-bottom: 16px !important;
  }

  body .ekit-template-content-footer .elementor-element-865e75a {
    clear: both !important;
  }

  body #ast-scroll-top {
    display: none !important;
  }

  body .tg-brand-story-badge,
  body .tg-brand-story--message .tg-brand-story-badge {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    transform: none !important;
    animation: none !important;
  }

  body .tg-brand-story-image > .elementor-widget-container,
  body .tg-brand-story--message .tg-brand-story-image > .elementor-widget-container,
  body .tg-pan-glass-image > .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
  }

  body .tg-pan-glass-badge {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    transform: none !important;
    animation: none !important;
  }

  body .elementor-649 .elementor-element-c35c252 .elementor-widget-container::after {
    position: static !important;
    display: block !important;
    margin-top: 16px !important;
    box-sizing: border-box !important;
  }

  body .tg-latest-gallery-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  body .tg-latest-gallery-card img {
    position: static !important;
    display: block !important;
    width: 100% !important;
  }

  body .tg-latest-gallery-card__label {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    transform: none !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--tgp-text) !important;
    box-shadow: none !important;
  }

  body .tg-latest-gallery-card__label small {
    color: var(--tgp-accent) !important;
  }

  body .tg-latest-gallery-card__label strong {
    color: var(--tgp-text) !important;
  }

  body .elementor-18 .elementor-element-e2b8af2 {
    padding-bottom: 22px !important;
  }

  body .elementor-18 .elementor-element-42bdcee {
    margin-top: 22px !important;
  }

  body .elementor-935 .elementor-element.elementor-element-4d82f03 {
    --padding-top: 28px !important;
    --padding-bottom: 56px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body .elementor-935 .tg-awards-archive,
  body .elementor-935 .tg-awards-archive *,
  body .elementor-935 .tg-archive-card,
  body .elementor-935 .tg-archive-card * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .elementor-935 .tg-awards-archive__description,
  body .elementor-935 .tg-archive-year__copy,
  body .elementor-935 .tg-archive-category__desc,
  body .elementor-935 .tg-archive-card__title,
  body .elementor-935 .tg-archive-card__meta {
    overflow-wrap: anywhere !important;
  }

  body .elementor-935 .tg-archive-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  }

  body .slide-content-glass {
    max-width: 90% !important;
    padding: 30px !important;
  }

  body .slide-title {
    font-size: clamp(24px, 4vw, 36px) !important;
  }

  body .carousel-btn {
    width: 42px !important;
    height: 42px !important;
  }
}

@media (max-width: 768px) {
  body .elementor-935 .elementor-element.elementor-element-4d82f03 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body .elementor-935 .elementor-element.elementor-element-250879b .elementskit-section-title {
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  body .elementor-935 .tg-awards-archive__intro,
  body .elementor-935 .tg-archive-year,
  body .elementor-935 .tg-archive-month,
  body .elementor-935 .tg-archive-category {
    width: 100% !important;
  }

  body .elementor-935 .tg-awards-archive__headline {
    font-size: 28px !important;
    letter-spacing: 0 !important;
  }

  body .elementor-935 .tg-awards-archive__description {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  body .elementor-935 .tg-archive-year::before {
    display: none !important;
  }

  body .elementor-935 .tg-archive-year__header {
    padding-left: 0 !important;
  }

  body .elementor-935 .tg-archive-month__header,
  body .elementor-935 .tg-archive-category__header {
    align-items: flex-start !important;
  }

  body .elementor-935 .tg-archive-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body .elementor-935 .tg-archive-card__media,
  body .elementor-935 .tg-archive-card--awards .tg-archive-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  body .elementor-935 .tg-archive-card__body {
    padding: 14px 14px 16px !important;
  }

  body .ekit-template-content-footer .elementor-element-a907d44 > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding: 34px 20px 24px !important;
  }

  body .ekit-template-content-footer .elementor-element-7c04df0 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body .ekit-template-content-footer .elementor-element-547ddf5,
  body .ekit-template-content-footer .elementor-element-547ddf5 .elementor-widget-container {
    display: block !important;
    margin: 0 !important;
  }

  body .ekit-template-content-footer .elementor-element-547ddf5 img {
    width: 88px !important;
    max-width: 88px !important;
  }

  body .ekit-template-content-footer .elementor-element-865e75a {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body .ekit-template-content-footer .elementor-social-icons-wrapper {
    justify-content: flex-start !important;
  }

  body .elementor-custom-embed iframe {
    min-height: 230px !important;
  }

  body #ast-scroll-top {
    right: 16px !important;
    bottom: 22px !important;
    width: 44px !important;
    height: 44px !important;
  }

  body .luxury-hero-carousel {
    height: 85vh !important;
    min-height: 500px !important;
  }

  body .slide-content-glass {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  body .slide-tag {
    font-size: 10px !important;
    padding: 4px 12px !important;
  }

  body .slide-title {
    font-size: 24px !important;
  }

  body .slide-desc {
    font-size: 13px !important;
  }

  body .slide-cta,
  body .slide-cta-secondary {
    padding: 12px 24px !important;
    font-size: 12px !important;
  }

  body .slide-buttons {
    flex-direction: column !important;
    gap: 10px !important;
  }

  body .slide-buttons a {
    text-align: center !important;
  }

  body .carousel-btn {
    width: 36px !important;
    height: 36px !important;
  }

  body .elementskit-section-title,
  body .ekit-heading--title {
    font-size: 28px !important;
  }

  .tg-cursor,
  .tg-cursor-dot {
    display: none !important;
  }
}

@media (max-width: 480px) {
  body .ekit-template-content-footer .elementor-element-a907d44 > .e-con-inner {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .ekit-template-content-footer p,
  body .ekit-template-content-footer .ekit-heading__description p,
  body .ekit-template-content-footer .elementor-icon-list-text,
  body .ekit-template-content-footer a {
    font-size: 12.5px !important;
    line-height: 1.7 !important;
  }

  body .luxury-hero-carousel {
    height: 80vh !important;
    min-height: 450px !important;
  }

  body .slide-title {
    font-size: 20px !important;
  }

  body .elementskit-section-title {
    font-size: 24px !important;
  }

  body .tg-stats-card {
    padding: 24px 16px !important;
  }
}

/* ============================================================
   25. CONTRAST + VISIBILITY STABILIZATION
   ============================================================ */
body,
body .site-content,
body .entry-content {
  color: var(--tgp-text) !important;
}

body :is(p, li, dd, figcaption, .elementor-widget-text-editor, .ekit-heading__description, .elementor-image-box-description) {
  color: var(--tgp-text-secondary) !important;
}

body :is(h1, h2, h3, h4, h5, h6, .elementskit-section-title, .ekit-heading--title, .elementor-image-box-title) {
  color: var(--tgp-text) !important;
}

body :is(.tg-brand-story--message, .home-upcoming-events-highlight, .luxury-hero-carousel, .ekit-template-content-footer) :is(h1, h2, h3, h4, h5, h6, .elementskit-section-title, .ekit-heading--title, strong) {
  color: #ffffff !important;
}

body :is(.tg-brand-story--message, .home-upcoming-events-highlight, .luxury-hero-carousel, .ekit-template-content-footer) :is(p, li, span, .ekit-heading__description, .elementor-icon-list-text) {
  color: rgba(255, 255, 255, 0.78) !important;
}

body .tg-stats-section :is(h1, h2, h3, h4, h5, h6, strong, .elementor-counter-number, .elementor-counter-number-prefix) {
  color: #111827 !important;
}

body .tg-stats-section :is(p, li, span, .elementor-counter-title) {
  color: #6b7280 !important;
}

body .tg-stats-section .elementor-counter-number-suffix {
  color: var(--tgp-accent) !important;
}

body .tg-stats-section > .tg-stats-shell {
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(235, 48, 56, 0.1) 0%, rgba(235, 48, 56, 0) 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 247, 251, 0.98) 100%) !important;
  background-image:
    radial-gradient(circle at 8% 12%, rgba(235, 48, 56, 0.1) 0%, rgba(235, 48, 56, 0) 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 247, 251, 0.98) 100%) !important;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.1) !important;
}

body .tg-stats-counter .elementor-counter {
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 34px rgba(15, 23, 42, 0.08) !important;
}

body .tg-stats-counter .elementor-counter-number,
body .tg-stats-counter .elementor-counter-number-prefix {
  color: #111827 !important;
}

body .e-con.e-parent.tg-stats-section:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) {
  background-image: linear-gradient(180deg, #ffffff 0%, #f7f9fc 45%, #ffffff 100%) !important;
}

body .e-con.e-parent.tg-stats-section:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) > .tg-stats-shell {
  background-image:
    radial-gradient(circle at 8% 12%, rgba(235, 48, 56, 0.1) 0%, rgba(235, 48, 56, 0) 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(244, 247, 251, 0.98) 100%) !important;
}

body .e-con.e-parent.tg-stats-section:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) .tg-stats-counter .elementor-counter {
  background-image: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
}

body :is(.tg-products-section, .tg-product-card, .tg-why-choose-section, .tg-why-choose-card, .tg-testimonials-section, .tg-pan-glass-section, .home-upcoming-events-section, .home-upcoming-event-card, .tg-faq-section, .tg-faq-section *, .elementskit-section-title, .ekit-heading--title, .ekit-heading__description, .elementor-widget-image img) {
  opacity: 1 !important;
  visibility: visible !important;
}

body .elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
}

body .tg-product-card :is(.elementor-image-box-title, .elementor-image-box-description),
body .home-upcoming-event-card :is(h3, p, span),
body .tg-why-choose-card :is(.elementor-image-box-title, .elementor-image-box-description) {
  opacity: 1 !important;
}

body :is(.elementor-button, .slide-cta, .home-upcoming-events-button, .tg-faq-quick-link) {
  color: #ffffff !important;
}

body :is(.elementor-button, .slide-cta, .home-upcoming-events-button, .tg-faq-quick-link) :is(.elementor-button-text, span) {
  color: inherit !important;
}

/* Force the dark award proof panel copy to stay bright and readable. */
body .tg-why-choose-proof,
body .tg-why-choose-proof * {
  opacity: 1 !important;
  visibility: visible !important;
}

body .tg-why-choose-proof h3,
body .tg-why-choose-proof h3 *,
body .tg-why-choose-proof .elementor-heading-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.42) !important;
}

body .tg-why-choose-proof p,
body .tg-why-choose-proof p *,
body .tg-why-choose-proof span {
  color: rgba(255, 255, 255, 0.88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

body .tg-why-choose-proof-mark strong,
body .tg-why-choose-proof-mark strong * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ============================================================
   26. SUPPORT DESK / FAQ REFRESH
   ============================================================ */
body .tg-faq-section {
  background:
    linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%) !important;
  padding: clamp(56px, 7vw, 96px) 18px !important;
}

body .tg-faq-section > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  gap: clamp(26px, 4vw, 52px) !important;
  align-items: center !important;
  max-width: 1180px !important;
  padding: clamp(28px, 4vw, 54px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 32px !important;
  background:
    radial-gradient(circle at 6% 10%, rgba(235, 48, 56, 0.1), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f9fbff 100%) !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.08) !important;
  overflow: hidden !important;
}

body .tg-faq-section > .e-con-inner::before {
  display: none !important;
}

body .tg-faq-heading {
  align-self: start !important;
  max-width: 430px !important;
  margin: 0 !important;
}

body .tg-faq-heading .ekit-heading {
  justify-items: start !important;
  gap: 16px !important;
  text-align: left !important;
}

body .tg-faq-heading .ekit-heading::before {
  content: "Support Desk" !important;
  margin: 0 !important;
  background: #ffe9eb !important;
  border-color: rgba(235, 48, 56, 0.22) !important;
  color: var(--tgp-accent) !important;
  letter-spacing: 0.12em !important;
}

body .tg-faq-heading .ekit-heading::after {
  content: "Fast, practical answers for product selection, delivery planning, customization, and quality checks." !important;
  display: block !important;
  max-width: 390px !important;
  color: var(--tgp-text-secondary) !important;
  font-family: var(--tgp-font-body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
}

body .tg-faq-heading .ekit-heading--title {
  max-width: 430px !important;
  color: var(--tgp-text) !important;
  font-size: clamp(34px, 4.4vw, 60px) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body .tg-faq-heading .ekit-heading--title span {
  color: var(--tgp-accent) !important;
}

body .tg-faq-heading::after {
  content: "Product support  |  Pan-India supply  |  Custom sizing";
  display: inline-flex;
  margin-top: 24px;
  padding: 12px 16px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: var(--tgp-text-secondary);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

body .tg-faq-shell {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "visual"
    "accordion" !important;
  gap: 18px !important;
  align-self: stretch !important;
  padding: clamp(18px, 2.8vw, 26px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 26px !important;
  background: #101827 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 24px 54px rgba(15, 23, 42, 0.16) !important;
}

body .elementor-element.tg-faq-shell.e-con.e-child {
  background-color: #101827 !important;
  background-image: none !important;
}

body .tg-faq-media {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

body .tg-faq-media::after {
  content: "Dedicated help for glass specifications and dispatch coordination" !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--tgp-text) !important;
}

body .tg-faq-visual > .elementor-widget-container {
  min-height: 220px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #fff4f5 0%, #ffffff 52%, #eef3ff 100%) !important;
  overflow: hidden !important;
}

body .tg-faq-visual > .elementor-widget-container::before {
  display: none !important;
}

body .tg-faq-visual img {
  width: 100% !important;
  min-height: 220px !important;
  max-height: 280px !important;
  aspect-ratio: 16 / 7 !important;
  object-fit: contain !important;
  padding: 18px 28px 54px !important;
  box-shadow: none !important;
}

body .tg-faq-accordion-wrap {
  padding: 0 !important;
}

body .tg-faq-accordion .elementskit-accordion {
  gap: 10px !important;
}

body .tg-faq-accordion .elementskit-card {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.055) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body .tg-faq-accordion .elementskit-card.active {
  border-color: rgba(255, 255, 255, 0.18) !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.2) !important;
}

body .tg-faq-accordion .ekit-accordion--toggler {
  padding: 17px 18px !important;
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(255, 255, 255, 0.88) !important;
}

body .tg-faq-accordion .elementskit-card:not(.active) .ekit-accordion--toggler,
body .tg-faq-accordion .elementskit-card:not(.active) .elementskit-btn-link,
body .tg-faq-accordion .elementskit-card:not(.active) a.ekit-accordion--toggler {
  background: transparent !important;
  background-color: transparent !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

body .tg-faq-accordion .elementskit-card.active .ekit-accordion--toggler {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(235, 48, 56, 0.12) !important;
  color: var(--tgp-text) !important;
}

body .tg-faq-accordion .ekit-accordion-title {
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

body .tg-faq-accordion .elementskit-card:not(.active) .ekit-accordion-title {
  color: rgba(255, 255, 255, 0.9) !important;
}

body .tg-faq-accordion .elementskit-card.active .ekit-accordion-title {
  color: var(--tgp-text) !important;
}

body .tg-faq-accordion .ekit_accordion_icon_group {
  width: 34px !important;
  height: 34px !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

body .tg-faq-accordion .elementskit-card.active .ekit_accordion_icon_group {
  border-color: rgba(235, 48, 56, 0.22) !important;
  background: #ffe9eb !important;
  color: var(--tgp-accent) !important;
}

body .tg-faq-accordion .elementskit-card-body {
  padding: 18px !important;
  background: #ffffff !important;
  color: var(--tgp-text-secondary) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

body .tg-faq-accordion .elementskit-card-body p {
  color: var(--tgp-text-secondary) !important;
}

@media (max-width: 1100px) {
  body .tg-faq-section > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body .tg-faq-heading {
    max-width: 760px !important;
  }
}

@media (max-width: 767px) {
  body .elementor-1600 .elementor-element-522a25a {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
    padding: 34px 16px 60px !important;
  }

  body .elementor-1600 .elementor-element-522a25a .elementor-image-box-description {
    min-height: 0 !important;
  }

  body .tg-faq-section {
    padding: 42px 12px !important;
  }

  body .tg-faq-section > .e-con-inner {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  body .tg-faq-heading::after {
    display: none !important;
  }

  body .tg-faq-shell {
    padding: 14px !important;
    border-radius: 22px !important;
  }

  body .tg-faq-visual img {
    min-height: 190px !important;
    padding: 12px 18px 56px !important;
  }
}

/* ============================================================
   27. DIRECTOR MESSAGE PREMIUM LIGHT REFRESH
   ============================================================ */
body .tg-brand-story--message {
  background:
    linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%) !important;
  padding: clamp(54px, 7vw, 96px) 18px !important;
}

body .tg-brand-story--message > .e-con-inner {
  max-width: 1180px !important;
  padding: clamp(26px, 4vw, 52px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 12% 14%, rgba(235, 48, 56, 0.1), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(184, 150, 12, 0.08), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 58%, #f1f5f9 100%) !important;
  box-shadow: 0 28px 78px rgba(15, 23, 42, 0.09) !important;
}

body .tg-brand-story--message > .e-con-inner::before {
  background:
    linear-gradient(90deg, rgba(235, 48, 56, 0.16), rgba(184, 150, 12, 0.12), rgba(235, 48, 56, 0.04)) !important;
  height: 4px !important;
  inset: 0 0 auto 0 !important;
  opacity: 1 !important;
}

body .tg-brand-story--message .tg-brand-story-copy {
  padding: clamp(10px, 2vw, 20px) !important;
}

body .tg-brand-story--message .tg-brand-story-heading .elementskit-section-subtitle,
body .tg-brand-story--message .elementskit-section-subtitle {
  width: fit-content !important;
  border: 1px solid rgba(235, 48, 56, 0.18) !important;
  background: #fff0f1 !important;
  color: var(--tgp-accent) !important;
  box-shadow: none !important;
}

body .tg-brand-story--message .tg-brand-story-heading .elementskit-section-subtitle::before {
  background: var(--tgp-accent) !important;
  box-shadow: 0 0 0 4px rgba(235, 48, 56, 0.14) !important;
}

body .tg-brand-story--message .tg-brand-story-heading .ekit-heading--title,
body .tg-brand-story--message .elementskit-section-title,
body .tg-brand-story--message .ekit-heading--title,
body .tg-brand-story--message .tg-brand-story-heading .ekit-heading--title *:not(span) {
  color: var(--tgp-text) !important;
  text-shadow: none !important;
}

body .tg-brand-story--message .tg-brand-story-heading .ekit-heading--title span,
body .tg-brand-story--message .elementskit-section-title span {
  color: var(--tgp-accent) !important;
}

body .tg-brand-story--message .tg-brand-story-heading .ekit-heading__description,
body .tg-brand-story--message .tg-brand-story-heading .ekit-heading__description p,
body .tg-brand-story--message .tg-brand-story-heading .ekit-heading__description strong,
body .tg-brand-story--message .ekit-heading__description p {
  color: var(--tgp-text-secondary) !important;
}

body .tg-brand-story--message .tg-brand-story-heading .ekit-heading__description span[style],
body .tg-brand-story--message .ekit-heading__description span[style] {
  color: var(--tgp-accent) !important;
}

body .tg-brand-story--message .tg-brand-story-signal {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  color: var(--tgp-text) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

body .tg-brand-story--message .tg-brand-story-signal::before {
  background: var(--tgp-accent) !important;
}

body .tg-brand-story--message .tg-brand-story-media {
  align-items: center !important;
  justify-content: center !important;
}

body .tg-brand-story--message .tg-brand-story-media::before {
  inset: 24px 4px -12px 34px !important;
  border-radius: 34px !important;
  background:
    linear-gradient(135deg, rgba(235, 48, 56, 0.12), rgba(184, 150, 12, 0.08)) !important;
}

body .tg-brand-story--message .tg-brand-story-image > .elementor-widget-container {
  padding: clamp(14px, 2vw, 22px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.11) !important;
}

body .tg-brand-story--message .tg-brand-story-image img,
body .tg-director-portrait {
  aspect-ratio: 3 / 2 !important;
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  object-position: 58% 50% !important;
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: none !important;
}

body .tg-brand-story--message .tg-brand-story-badge {
  left: clamp(26px, 4vw, 46px) !important;
  bottom: clamp(24px, 4vw, 40px) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(235, 48, 56, 0.14) !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12) !important;
}

body .tg-brand-story--message .tg-brand-story-badge span {
  color: var(--tgp-accent) !important;
}

body .tg-brand-story--message .tg-brand-story-badge strong {
  color: var(--tgp-text) !important;
}

body .elementor-649 .elementor-element-9e3b170 {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  padding: clamp(52px, 7vw, 90px) 18px 20px !important;
}

body .elementor-649 .elementor-element-9e3b170 .elementor-heading-title {
  color: var(--tgp-text) !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 800 !important;
  line-height: 1.02 !important;
  text-align: center !important;
}

body .elementor-649 .elementor-element-e6e9193 {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%) !important;
  padding: 22px 18px clamp(64px, 8vw, 110px) !important;
}

body .elementor-649 .elementor-element-e6e9193 > .e-con-inner {
  max-width: 1180px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(340px, 0.82fr) !important;
  gap: clamp(30px, 5vw, 70px) !important;
  align-items: center !important;
  padding: clamp(28px, 4vw, 56px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(235, 48, 56, 0.09), transparent 28%),
    radial-gradient(circle at 92% 86%, rgba(184, 150, 12, 0.08), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 58%, #f2f5f9 100%) !important;
  box-shadow: 0 28px 78px rgba(15, 23, 42, 0.08) !important;
}

body .elementor-649 .elementor-element-e5f02ce,
body .elementor-649 .elementor-element-c35c252 {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body .elementor-649 .elementor-element-6af5f43 .elementskit-section-subtitle {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 8px 16px !important;
  border: 1px solid rgba(235, 48, 56, 0.18) !important;
  border-radius: 999px !important;
  background: #fff0f1 !important;
  color: var(--tgp-accent) !important;
}

body .elementor-649 .elementor-element-6af5f43 .elementskit-section-title {
  font-size: clamp(34px, 4.5vw, 56px) !important;
  line-height: 1.05 !important;
  color: var(--tgp-text) !important;
}

body .elementor-649 .elementor-element-6af5f43 .ekit-heading__description p {
  color: var(--tgp-text-secondary) !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}

body .elementor-649 .elementor-element-c35c252 .elementor-widget-container {
  position: relative !important;
  padding: clamp(14px, 2vw, 22px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 34px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.11) !important;
}

body .elementor-649 .elementor-element-c35c252 .elementor-widget-container::after {
  content: "Vision. Trust. Leadership.";
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 34px;
  padding: 13px 16px;
  border: 1px solid rgba(235, 48, 56, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--tgp-text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.1);
}

body .elementor-649 .elementor-element-c35c252 img {
  display: block !important;
  aspect-ratio: 3 / 2 !important;
  width: 100% !important;
  max-height: 560px !important;
  object-fit: cover !important;
  object-position: 58% 50% !important;
  border-radius: 26px !important;
  box-shadow: none !important;
}

body .elementor-649 .elementor-element-b466591 .elementor-button {
  padding: 14px 30px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--tgp-accent), var(--tgp-accent-dark)) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 28px rgba(235, 48, 56, 0.22) !important;
}

@media (max-width: 980px) {
  body .tg-brand-story--message > .e-con-inner,
  body .elementor-649 .elementor-element-e6e9193 > .e-con-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "media"
      "copy" !important;
  }

  body .elementor-649 .elementor-element-c35c252 {
    order: -1 !important;
  }
}

@media (max-width: 640px) {
  body .tg-brand-story--message,
  body .elementor-649 .elementor-element-e6e9193 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body .tg-brand-story--message > .e-con-inner,
  body .elementor-649 .elementor-element-e6e9193 > .e-con-inner {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  body .tg-brand-story--message .tg-brand-story-image > .elementor-widget-container,
  body .elementor-649 .elementor-element-c35c252 .elementor-widget-container {
    border-radius: 24px !important;
  }

  body .tg-brand-story--message .tg-brand-story-badge {
    margin-top: 14px !important;
  }
}

/* ============================================================
   28. PRINT STYLES
   ============================================================ */
@media print {
  .tg-preloader, .tg-cursor, .tg-cursor-dot, .tg-particles-canvas,
  #ast-scroll-top, .tg-whatsapp-float {
    display: none !important;
  }
}

/* ============================================================
   29. BLOG + ABOUT PAGE POLISH
   ============================================================ */
body.blog #content.blog-index {
  background:
    radial-gradient(circle at 86% 30%, rgba(184, 150, 12, 0.08), transparent 28%),
    radial-gradient(circle at 14% 18%, rgba(235, 48, 56, 0.08), transparent 24%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 58%, #f6f8fb 100%) !important;
}

body.blog .blog-hero {
  align-items: stretch !important;
  padding-top: clamp(56px, 7vw, 94px) !important;
}

body.blog .blog-hero-copy,
body.blog .blog-hero-panel {
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08) !important;
}

body.blog .blog-hero-copy {
  overflow: hidden !important;
  background:
    radial-gradient(circle at 12% 14%, rgba(235, 48, 56, 0.1), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 58%, #f1f5f9 100%) !important;
}

body.blog .blog-hero-copy::before {
  background: linear-gradient(90deg, var(--tgp-accent), rgba(184, 150, 12, 0.65), transparent) !important;
  opacity: 1 !important;
}

body.blog .blog-eyebrow {
  background: #fff0f1 !important;
  border-color: rgba(235, 48, 56, 0.18) !important;
  color: var(--tgp-accent) !important;
}

body.blog .blog-hero-copy h1 {
  max-width: 11.5ch !important;
  color: var(--tgp-text) !important;
  font-size: clamp(44px, 5.7vw, 76px) !important;
  line-height: 0.98 !important;
}

body.blog .blog-hero-copy p,
body.blog .blog-secondary-note,
body.blog .blog-hero-list li {
  color: var(--tgp-text-secondary) !important;
}

body.blog .blog-panel-label {
  color: var(--tgp-text) !important;
}

body.blog .blog-hero-list li::before {
  background: rgba(184, 150, 12, 0.18) !important;
  border-color: rgba(184, 150, 12, 0.22) !important;
}

body.blog .blog-hero-stats div {
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

body.blog .blog-hero-stats strong {
  color: var(--tgp-text) !important;
}

body.blog .blog-hero-stats span {
  color: var(--tgp-text-secondary) !important;
}

body .elementor-element-c39ad48 {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  padding: clamp(52px, 7vw, 96px) 18px !important;
}

body .elementor-element-c39ad48 > .e-con-inner {
  max-width: 1180px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

body .elementor-element-c39ad48 .elementor-element-1a9d2d3,
body .elementor-element-c39ad48 .elementor-element-c07c52a,
body .elementor-element-c39ad48 .elementor-element-efc884c {
  padding: clamp(28px, 4vw, 42px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(235, 48, 56, 0.08), transparent 24%),
    #ffffff !important;
  box-shadow: 0 20px 58px rgba(15, 23, 42, 0.07) !important;
}

body .elementor-element-c39ad48 .elementor-element-1a9d2d3 {
  grid-row: span 2 !important;
}

body .elementor-element-c39ad48 .elementor-element-c07c52a,
body .elementor-element-c39ad48 .elementor-element-efc884c {
  background:
    linear-gradient(135deg, #ffffff 0%, #fbfcff 70%, #fff4f5 100%) !important;
}

body .elementor-element-c39ad48 .ekit-heading--title {
  color: var(--tgp-text) !important;
}

body .elementor-element-c39ad48 .ekit-heading__description p {
  color: var(--tgp-text-secondary) !important;
}

body .elementor-element-a0f5bc6 {
  background: #ffffff !important;
  padding: clamp(52px, 7vw, 90px) 18px !important;
}

body .elementor-element-a0f5bc6 > .e-con-inner {
  max-width: 1140px !important;
}

body .elementor-element-a0f5bc6 .elementor-element-21ebaf4 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr) !important;
  gap: 28px !important;
  align-items: center !important;
}

body .elementor-element-a0f5bc6 .elementor-element-06d08be,
body .elementor-element-a0f5bc6 .elementor-element-981638d {
  width: auto !important;
  min-width: 0 !important;
}

body .elementor-element-a0f5bc6 .elementor-element-981638d {
  order: 2 !important;
  padding: 24px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.08) !important;
}

body .elementor-element-a0f5bc6 .elementor-element-981638d img {
  max-height: 360px !important;
  object-fit: contain !important;
}

body .elementor-element-a0f5bc6 .elementskit-card {
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05) !important;
  overflow: hidden !important;
}

body .elementor-element-a0f5bc6 .elementskit-card:not(.active) .ekit-accordion--toggler {
  background: #f7f9fc !important;
  color: var(--tgp-text) !important;
}

body .elementor-element-a0f5bc6 .elementskit-card.active .ekit-accordion--toggler {
  background: #fff0f1 !important;
  color: var(--tgp-text) !important;
}

body .elementor-element-a0f5bc6 .ekit-accordion-title {
  color: inherit !important;
}

body .elementor-element-a0f5bc6 .elementskit-card-body,
body .elementor-element-a0f5bc6 .elementskit-card-body p {
  color: var(--tgp-text-secondary) !important;
}

@media (max-width: 980px) {
  body.blog .blog-hero,
  body .elementor-element-c39ad48 > .e-con-inner,
  body .elementor-element-a0f5bc6 .elementor-element-21ebaf4 {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   30. HOME TRUST STATEMENT SECTION
   ============================================================ */
body.home .elementor-16 .elementor-element.elementor-element-ce567ba,
body .elementor-16 .elementor-element.elementor-element-ce567ba {
  position: relative !important;
  isolation: isolate !important;
  margin-top: clamp(12px, 2vw, 24px) !important;
  padding: clamp(38px, 5vw, 68px) 18px clamp(44px, 5.5vw, 76px) !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.92) 100%),
    linear-gradient(135deg, rgba(184, 150, 12, 0.1), rgba(235, 48, 56, 0.06)) !important;
  border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
}

body .elementor-16 .elementor-element.elementor-element-ce567ba::before,
body .elementor-16 .elementor-element.elementor-element-ce567ba::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  z-index: -1 !important;
  width: min(820px, 74vw) !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, rgba(184, 150, 12, 0.38), rgba(235, 48, 56, 0.3), transparent) !important;
}

body .elementor-16 .elementor-element.elementor-element-ce567ba::before {
  top: clamp(18px, 2.5vw, 30px) !important;
}

body .elementor-16 .elementor-element.elementor-element-ce567ba::after {
  bottom: clamp(18px, 2.5vw, 30px) !important;
}

body .elementor-16 .elementor-element.elementor-element-ce567ba > .e-con-inner {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
  padding: clamp(26px, 4vw, 48px) clamp(20px, 5vw, 72px) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 58%, rgba(255, 246, 247, 0.72) 100%) !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 {
  width: 100% !important;
  max-width: 900px !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  color: var(--tgp-gold) !important;
  font-size: 12px !important;
  letter-spacing: 0.24em !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle::before,
body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle::after {
  content: "" !important;
  width: 34px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(184, 150, 12, 0.85)) !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle::after {
  background: linear-gradient(90deg, rgba(184, 150, 12, 0.85), transparent) !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading--title {
  margin: 0 !important;
  color: #241726 !important;
  font-size: clamp(34px, 4.3vw, 62px) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading--title > span,
body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading--title > span span {
  color: #c92c36 !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit_heading_separetor_wraper {
  margin: 18px 0 12px !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-border-divider {
  width: 128px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--tgp-accent), var(--tgp-gold-light), transparent) !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading__description {
  max-width: 800px !important;
  margin: 0 auto !important;
}

body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading__description p {
  margin: 0 !important;
  color: #4d5c70 !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.8 !important;
}

body .tg-home-trust-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
}

body .tg-home-trust-chips span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(184, 150, 12, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.74) !important;
  color: #2b3443 !important;
  font-family: var(--tgp-font-heading) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05) !important;
}

@media (max-width: 1024px) {
  body .elementor-16 .elementor-element.elementor-element-ce567ba {
    margin-top: 8px !important;
    padding: 32px 16px 44px !important;
  }

  body .elementor-16 .elementor-element.elementor-element-ce567ba > .e-con-inner {
    border-radius: 24px !important;
    padding: 26px 20px !important;
  }
}

@media (max-width: 767px) {
  body .elementor-16 .elementor-element.elementor-element-ce567ba {
    margin-top: 0 !important;
    padding: 26px 12px 34px !important;
  }

  body .elementor-16 .elementor-element.elementor-element-ce567ba > .e-con-inner {
    padding: 24px 16px !important;
    border-radius: 22px !important;
  }

  body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle {
    display: flex !important;
    flex-wrap: wrap !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.16em !important;
  }

  body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle::before,
  body .elementor-16 .elementor-element.elementor-element-72ab8a6 .elementskit-section-subtitle::after {
    width: 24px !important;
  }

  body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading--title {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.08 !important;
  }

  body .elementor-16 .elementor-element.elementor-element-72ab8a6 .ekit-heading__description p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  body .tg-home-trust-chips {
    gap: 8px !important;
    margin-top: 18px !important;
  }

  body .tg-home-trust-chips span {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 10px !important;
  }
}
