/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 03 2026 | 02:34:02 */
/* ============================================================
   THL Campaign System v3.1 — FINAL Universal Fix
   Purpose:
   1) RGUHS/Karnataka + all campaign marquees full-width
   2) One standard marquee style across TNMGRMU, RGUHS, MUHS, INI-CET, DNB
   3) Red premium FAQ/accordion style across campaign pages
   4) Mobile → laptop → 4K/TV responsiveness

   Paste LAST after your unified campaign CSS.
   Custom CSS & JS settings:
   CSS → External file → Head element → Front end only
   ============================================================ */


/* ------------------------------------------------------------
   A. UNIVERSAL FULL-WIDTH MARQUEE FIX
   Do not full-bleed the Elementor HTML widget itself.
   Full-bleed only the actual marquee bar.
   ------------------------------------------------------------ */

body .elementor-widget-html:has(.thl-alert-marquee),
body .elementor-widget-container:has(.thl-alert-marquee),
body .elementor-widget-html:has(.thl-deadline-marquee),
body .elementor-widget-container:has(.thl-deadline-marquee),
body .elementor-widget-html:has(.thl-sop-marquee),
body .elementor-widget-container:has(.thl-sop-marquee) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

/* Elementor parent containers should not clip the full-width marquee */
body .elementor-section:has(.thl-alert-marquee),
body .elementor-container:has(.thl-alert-marquee),
body .e-con:has(.thl-alert-marquee),
body .e-con-inner:has(.thl-alert-marquee),
body .elementor-section:has(.thl-deadline-marquee),
body .elementor-container:has(.thl-deadline-marquee),
body .e-con:has(.thl-deadline-marquee),
body .e-con-inner:has(.thl-deadline-marquee),
body .elementor-section:has(.thl-sop-marquee),
body .elementor-container:has(.thl-sop-marquee),
body .e-con:has(.thl-sop-marquee),
body .e-con-inner:has(.thl-sop-marquee) {
  overflow: visible !important;
}

/* Universal marquee bar — works even if outside .thl-campaign-v2 */
.thl-campaign-v2 .thl-alert-marquee,
.thl-alert-marquee,
.thl-deadline-marquee,
.thl-sop-marquee {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, #06162f 0%, #0b2a4a 45%, #06162f 100%) !important;
  color: #ffffff !important;
  border-top: 2px solid #020817 !important;
  border-bottom: 2px solid #020817 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 8px 18px rgba(2,8,23,.18) !important;
  z-index: 20 !important;
  transform: none !important;
}

/* Track */
.thl-campaign-v2 .thl-alert-track,
.thl-alert-track,
.thl-marquee-track,
.thl-sop-marquee-track {
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  min-width: max-content !important;
  animation: thlUniversalCampaignMarqueeV31 38s linear infinite !important;
  will-change: transform !important;
}

/* Text */
.thl-campaign-v2 .thl-alert-track > span,
.thl-alert-track > span,
.thl-marquee-track > span,
.thl-sop-marquee-track > span {
  display: inline-block !important;
  white-space: nowrap !important;
  padding: 12px 38px !important;
  color: #ffffff !important;
  font-size: clamp(13px, 1.1vw, 15px) !important;
  line-height: 1.45 !important;
  font-weight: 850 !important;
}

/* Highlights */
.thl-alert-track strong,
.thl-alert-track b,
.thl-alert-track em,
.thl-marquee-track strong,
.thl-marquee-track b,
.thl-marquee-track em,
.thl-sop-marquee-track strong,
.thl-sop-marquee-track b,
.thl-sop-marquee-track em {
  color: #f5d58a !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.thl-alert-label,
.thl-marquee-track b:first-child,
.thl-sop-marquee-track b:first-child {
  display: inline-block !important;
  margin-right: 10px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: #f5d58a !important;
  color: #07152f !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.thl-marquee-sep {
  color: rgba(255,255,255,.45) !important;
  padding: 0 12px !important;
}

.thl-marquee-service {
  color: rgba(255,255,255,.92) !important;
  font-weight: 850 !important;
}

.thl-alert-marquee:hover .thl-alert-track,
.thl-deadline-marquee:hover .thl-marquee-track,
.thl-sop-marquee:hover .thl-sop-marquee-track {
  animation-play-state: paused !important;
}

@keyframes thlUniversalCampaignMarqueeV31 {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}


/* ------------------------------------------------------------
   B. PREMIUM RED FAQ / ACCORDION STYLE
   Applies to campaign details/summary FAQs and SOP FAQ blocks.
   ------------------------------------------------------------ */

.thl-campaign-v2 .thl-faq details,
.thl-campaign-v2 details,
.thl-sop-page .thl-sop-faq-item {
  border: 1px solid rgba(180, 35, 24, .18) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fffafa 100%) !important;
  box-shadow:
    0 12px 34px rgba(180, 35, 24, .055),
    0 1px 2px rgba(16, 24, 40, .04) !important;
  overflow: hidden !important;
}

.thl-campaign-v2 .thl-faq summary,
.thl-campaign-v2 details summary,
.thl-sop-page .thl-sop-faq-q {
  position: relative !important;
  color: #7a271a !important;
  background:
    linear-gradient(90deg, #fff7f5 0%, #ffffff 52%, #fff8ec 100%) !important;
  border: 0 !important;
  font-weight: 950 !important;
}

.thl-campaign-v2 .thl-faq summary::before,
.thl-campaign-v2 details summary::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #f97066, #b42318) !important;
}

.thl-campaign-v2 .thl-faq summary::after,
.thl-campaign-v2 details summary::after {
  content: "+" !important;
  float: right !important;
  width: 34px !important;
  height: 34px !important;
  margin-left: 16px !important;
  border-radius: 999px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: #fff1ef !important;
  border: 1px solid rgba(180,35,24,.18) !important;
  color: #b42318 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

.thl-campaign-v2 .thl-faq details[open] summary::after,
.thl-campaign-v2 details[open] summary::after {
  content: "–" !important;
  background: #b42318 !important;
  color: #ffffff !important;
}

.thl-campaign-v2 .thl-faq details p,
.thl-campaign-v2 details p,
.thl-campaign-v2 details div {
  color: #667085 !important;
  background: #ffffff !important;
}

.thl-sop-page .thl-sop-faq-q span:last-child {
  background: #fff1ef !important;
  border-color: rgba(180,35,24,.18) !important;
  color: #b42318 !important;
}

.thl-sop-page .thl-sop-faq-item.is-open .thl-sop-faq-q span:last-child,
.thl-sop-page .thl-sop-faq-q[aria-expanded="true"] span:last-child {
  background: #b42318 !important;
  color: #ffffff !important;
}


/* ------------------------------------------------------------
   C. GLOBAL CAMPAIGN RESPONSIVENESS
   Small mobile → tablet → laptop → desktop → large TV
   ------------------------------------------------------------ */

.thl-campaign-v2,
.thl-campaign-v2 * {
  min-width: 0 !important;
}

.thl-campaign-v2 {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

/* Better large-screen width */
@media (min-width: 1440px) {
  .thl-campaign-v2 .thl-wrap {
    width: min(1240px, calc(100% - 72px)) !important;
  }

  .thl-campaign-v2 .thl-card,
  .thl-campaign-v2 .thl-product-card,
  .thl-campaign-v2 .thl-panel,
  .thl-campaign-v2 .thl-step {
    padding: clamp(24px, 1.7vw, 30px) !important;
  }
}

@media (min-width: 1920px) {
  .thl-campaign-v2 .thl-wrap {
    width: min(1380px, calc(100% - 104px)) !important;
  }

  .thl-campaign-v2 h1 {
    font-size: clamp(58px, 3.4vw, 72px) !important;
  }

  .thl-campaign-v2 h2 {
    font-size: clamp(42px, 2.55vw, 56px) !important;
  }

  .thl-campaign-v2 .thl-section-head p,
  .thl-campaign-v2 .thl-card p,
  .thl-campaign-v2 .thl-step p,
  .thl-campaign-v2 .thl-note {
    font-size: clamp(17px, .9vw, 19px) !important;
  }
}

@media (min-width: 2400px) {
  .thl-campaign-v2 .thl-wrap {
    width: min(1500px, calc(100% - 136px)) !important;
  }
}

/* Tablet */
@media (max-width: 1120px) {
  .thl-campaign-v2 .thl-hero-grid {
    grid-template-columns: 1fr !important;
  }

  .thl-campaign-v2 .thl-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .thl-campaign-v2 .thl-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile/tablet portrait */
@media (max-width: 820px) {
  .thl-campaign-v2 .thl-grid-3,
  .thl-campaign-v2 .thl-grid-2,
  .thl-campaign-v2 .thl-link-grid {
    grid-template-columns: 1fr !important;
  }

  .thl-campaign-v2 .thl-wrap {
    width: min(100% - 26px, 720px) !important;
  }

  .thl-campaign-v2 .thl-section-head {
    text-align: left !important;
    margin-inline: 0 !important;
  }

  .thl-campaign-v2 .thl-countdown,
  .thl-campaign-v2 .thl-urgent-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Phones */
@media (max-width: 640px) {
  .thl-alert-track,
  .thl-marquee-track,
  .thl-sop-marquee-track {
    animation-duration: 52s !important;
  }

  .thl-alert-track > span,
  .thl-marquee-track > span,
  .thl-sop-marquee-track > span {
    padding: 11px 26px !important;
    font-size: 13px !important;
  }

  .thl-campaign-v2 .thl-wrap {
    width: min(100% - 22px, 640px) !important;
  }

  .thl-campaign-v2 .thl-hero {
    padding-top: 24px !important;
  }

  .thl-campaign-v2 h1 {
    font-size: clamp(31px, 10vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
  }

  .thl-campaign-v2 h2 {
    font-size: clamp(27px, 8vw, 36px) !important;
    letter-spacing: -0.04em !important;
  }

  .thl-campaign-v2 .thl-actions,
  .thl-campaign-v2 .thl-btn {
    width: 100% !important;
  }

  .thl-campaign-v2 .thl-trust {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .thl-campaign-v2 .thl-chip {
    border-radius: 14px !important;
    text-align: center !important;
    font-size: 12.5px !important;
  }

  .thl-campaign-v2 .thl-grid-4,
  .thl-campaign-v2 .thl-steps,
  .thl-campaign-v2 .thl-countdown,
  .thl-campaign-v2 .thl-urgent-strip {
    grid-template-columns: 1fr !important;
  }

  .thl-campaign-v2 .thl-price-row {
    flex-direction: column !important;
    gap: 4px !important;
  }

  .thl-campaign-v2 .thl-sticky-wa {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    justify-content: center !important;
    border-radius: 18px !important;
  }
}

/* Very small phones */
@media (max-width: 420px) {
  .thl-campaign-v2 .thl-wrap {
    width: min(100% - 20px, 420px) !important;
  }

  .thl-campaign-v2 h1 {
    font-size: clamp(29px, 10.5vw, 36px) !important;
  }

  .thl-campaign-v2 .thl-trust {
    grid-template-columns: 1fr !important;
  }

  .thl-campaign-v2 .thl-product-card,
  .thl-campaign-v2 .thl-card,
  .thl-campaign-v2 .thl-panel,
  .thl-campaign-v2 .thl-step {
    padding: 18px !important;
  }

  .thl-alert-track > span,
  .thl-marquee-track > span,
  .thl-sop-marquee-track > span {
    padding: 10px 20px !important;
    font-size: 12.5px !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .thl-alert-track,
  .thl-marquee-track,
  .thl-sop-marquee-track {
    animation: none !important;
    width: auto !important;
    flex-wrap: wrap !important;
  }

  .thl-alert-track > span,
  .thl-marquee-track > span,
  .thl-sop-marquee-track > span {
    white-space: normal !important;
    padding: 10px 16px !important;
  }

  .thl-alert-track > span:nth-child(n+2),
  .thl-marquee-track > span:nth-child(n+2),
  .thl-sop-marquee-track > span:nth-child(n+2) {
    display: none !important;
  }

  .thl-campaign-v2 .thl-btn,
  .thl-campaign-v2 .thl-product-card {
    transition: none !important;
  }

  .thl-campaign-v2 .thl-btn:hover,
  .thl-campaign-v2 .thl-product-card:hover {
    transform: none !important;
  }
}
