/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================
   Basic Elementor Text Reveal - delayed start
========================================= */

.bb-text-reveal-basic,
.bb-text-reveal-basic .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-basic .elementor-heading-title{
  margin: 0;
}

.bb-text-reveal-basic .bb-word{
  display:inline-block;
  opacity:0;
  transform:translateY(30px) scale(.96);
  filter:blur(8px);
  margin-right:.22em;
  will-change:transform, opacity, filter;
}

.bb-text-reveal-basic .bb-word:last-child{
  margin-right:0;
}

.bb-text-reveal-basic.bb-start .bb-word{
  animation:bbBasicWordReveal .9s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bbBasicWordReveal{
  0%{
    opacity:0;
    transform:translateY(30px) scale(.96);
    filter:blur(8px);
  }
  60%{
    opacity:1;
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@media (max-width: 767px){
  .bb-text-reveal-basic .bb-word{
    transform:translateY(20px) scale(.98);
    filter:blur(6px);
    margin-right:.16em;
  }
}

/* =========================================
   Premium Hero Reveal
========================================= */

.bb-text-reveal-hero,
.bb-text-reveal-hero .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-hero .bb-word{
  display:inline-block;
  opacity:0;
  transform:translateY(40px) scale(.94);
  filter:blur(10px);
  margin-right:.22em;
  will-change:transform, opacity, filter;
}

.bb-text-reveal-hero .bb-word:last-child{
  margin-right:0;
}

.bb-text-reveal-hero.bb-start .bb-word{
  animation:bbHeroReveal 1.1s cubic-bezier(.19,1,.22,1) forwards;
}

@keyframes bbHeroReveal{
  0%{
    opacity:0;
    transform:translateY(40px) scale(.94);
    filter:blur(10px);
  }
  60%{
    opacity:1;
    transform:translateY(-3px) scale(1.02);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

.bb-text-reveal-hero .bb-word{
  background:linear-gradient(
    135deg,
    #ffffff,
    #f3e8ff,
    #c9b6ff,
    #b9ffe7,
    #ffffff
  );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;

  text-shadow:
    0 0 10px rgba(255,255,255,.08),
    0 0 22px rgba(200,150,255,.12),
    0 0 36px rgba(110,255,215,.10);
}

/* =========================================
   Framer-Style Mask Reveal
========================================= */

.bb-text-reveal-mask,
.bb-text-reveal-mask .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-mask .elementor-heading-title{
  margin: 0;
}

.bb-text-reveal-mask .bb-word-wrap{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
  margin-right:.22em;
}

.bb-text-reveal-mask .bb-word-wrap:last-child{
  margin-right:0;
}

.bb-text-reveal-mask .bb-word{
  display:inline-block;
  position:relative;
  opacity:0;
  transform:translateY(110%);
  filter:blur(8px);
  will-change:transform, opacity, filter;
}

.bb-text-reveal-mask.bb-start .bb-word{
  animation:bbMaskReveal 1s cubic-bezier(.19,1,.22,1) forwards;
}

.bb-text-reveal-mask .bb-word::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-20%;
  width:55%;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.26) 50%,
    rgba(255,255,255,0) 100%
  );
  transform:translateX(-180%) skewX(-18deg);
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
}

.bb-text-reveal-mask.bb-start .bb-word::after{
  animation:bbMaskShine .9s ease forwards;
  animation-delay:calc(var(--bb-delay, 0s) + .22s);
}

@keyframes bbMaskReveal{
  0%{
    opacity:0;
    transform:translateY(110%);
    filter:blur(8px);
  }
  60%{
    opacity:1;
    transform:translateY(-6%);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes bbMaskShine{
  0%{
    opacity:0;
    transform:translateX(-180%) skewX(-18deg);
  }
  30%{
    opacity:.85;
  }
  100%{
    opacity:0;
    transform:translateX(260%) skewX(-18deg);
  }
}

/* Optional dark-background premium text */
.bb-text-reveal-mask.is-glow .bb-word{
  background:linear-gradient(
    135deg,
    #ffffff 0%,
    #f4ebff 24%,
    #d8c2ff 52%,
    #caffef 78%,
    #ffffff 100%
  );
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 0 10px rgba(255,255,255,.08),
    0 0 20px rgba(179,138,255,.10),
    0 0 30px rgba(92,255,214,.08);
}

@media (max-width: 767px){
  .bb-text-reveal-mask .bb-word-wrap{
    margin-right:.16em;
  }

  .bb-text-reveal-mask .bb-word{
    filter:blur(6px);
  }
}

/* =========================================
   Split Line Reveal
========================================= */

.bb-text-reveal-splitline,
.bb-text-reveal-splitline .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-splitline .elementor-heading-title{
  margin: 0;
}

.bb-text-reveal-splitline .bb-line-wrap{
  display:block;
  overflow:hidden;
}

.bb-text-reveal-splitline .bb-line{
  display:inline-block;
  opacity:0;
  transform:translateY(110%);
  filter:blur(8px);
  will-change:transform, opacity, filter;
}

.bb-text-reveal-splitline.bb-start .bb-line{
  animation:bbSplitLineReveal 1s cubic-bezier(.19,1,.22,1) forwards;
}

@keyframes bbSplitLineReveal{
  0%{
    opacity:0;
    transform:translateY(110%);
    filter:blur(8px);
  }
  60%{
    opacity:1;
    transform:translateY(-4%);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

/* =========================================
   Blur Focus Reveal
========================================= */

.bb-text-reveal-blurfocus,
.bb-text-reveal-blurfocus .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-blurfocus .elementor-heading-title{
  margin: 0;
}

.bb-text-reveal-blurfocus .bb-word{
  display:inline-block;
  opacity:0;
  transform:translateY(22px) scale(.98);
  filter:blur(16px);
  margin-right:.22em;
  will-change:transform, opacity, filter;
}

.bb-text-reveal-blurfocus .bb-word:last-child{
  margin-right:0;
}

.bb-text-reveal-blurfocus.bb-start .bb-word{
  animation:bbBlurFocusReveal 1s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bbBlurFocusReveal{
  0%{
    opacity:0;
    transform:translateY(22px) scale(.98);
    filter:blur(16px);
  }
  55%{
    opacity:1;
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@media (max-width: 767px){
  .bb-text-reveal-blurfocus .bb-word{
    margin-right:.16em;
    filter:blur(10px);
  }
}

/* =========================================
   Character Luxury Reveal
========================================= */

.bb-text-reveal-charlux,
.bb-text-reveal-charlux .elementor-heading-title{
  overflow: visible;
}

.bb-text-reveal-charlux .elementor-heading-title{
  margin: 0;
}

.bb-text-reveal-charlux .bb-char{
  display:inline-block;
  opacity:0;
  transform:translateY(34px) scale(.94);
  filter:blur(8px);
  will-change:transform, opacity, filter;
}

.bb-text-reveal-charlux .bb-space{
  display:inline-block;
  width:.28em;
}

.bb-text-reveal-charlux.bb-start .bb-char{
  animation:bbCharLuxReveal .9s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bbCharLuxReveal{
  0%{
    opacity:0;
    transform:translateY(34px) scale(.94);
    filter:blur(8px);
  }
  60%{
    opacity:1;
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@media (max-width: 767px){
  .bb-text-reveal-charlux .bb-char{
    transform:translateY(20px) scale(.98);
    filter:blur(6px);
  }
}

/* Character Wave Reveal */

.bb-text-reveal-charwave .bb-char{
  display:inline-block;
  opacity:0;
  transform:translateY(40px);
}

.bb-text-reveal-charwave.bb-start .bb-char{
  animation:bbCharWave .7s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bbCharWave{
  0%{
    opacity:0;
    transform:translateY(40px);
  }
  60%{
    opacity:1;
    transform:translateY(-6px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
  }
}


/* Premium Typewriter */

.bb-text-reveal-typepro .bb-char{
  display:inline-block;
  opacity:0;
}

.bb-text-reveal-typepro.bb-start .bb-char{
  animation:bbTypePro .4s ease forwards;
}

@keyframes bbTypePro{
  from{opacity:0}
  to{opacity:1}
}

/* Pop Reveal */

.bb-text-reveal-pop .bb-word{
  display:inline-block;
  opacity:0;
  transform:scale(.6);
}

.bb-text-reveal-pop.bb-start .bb-word{
  animation:bbPopReveal .6s cubic-bezier(.22,.61,.36,1) forwards;
}

@keyframes bbPopReveal{

  0%{
    opacity:0;
    transform:scale(.6);
  }

  60%{
    transform:scale(1.1);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }

}

/* Rotate Reveal */

.bb-text-reveal-rotate .bb-word{
  display:inline-block;
  opacity:0;
  transform:rotateX(90deg);
}

.bb-text-reveal-rotate.bb-start .bb-word{
  animation:bbRotateReveal .8s ease forwards;
}

@keyframes bbRotateReveal{

  0%{
    opacity:0;
    transform:rotateX(90deg);
  }

  100%{
    opacity:1;
    transform:rotateX(0);
  }

}

/* Elastic Bounce Reveal */

.bb-text-reveal-bounce .bb-word{
  display:inline-block;
  opacity:0;
  transform:translateY(50px);
}

.bb-text-reveal-bounce.bb-start .bb-word{
  animation:bbBounceReveal .9s cubic-bezier(.34,1.56,.64,1) forwards;
}

@keyframes bbBounceReveal{

  0%{
    opacity:0;
    transform:translateY(50px);
  }

  70%{
    transform:translateY(-8px);
  }

  100%{
    opacity:1;
    transform:translateY(0);
  }

}

/* =====================================================
   BB Speakers Admin Listing Premium UI
   Safe for child theme style.css
   Target only: Dashboard > Speakers listing
===================================================== */

body.wp-admin.post-type-bb_speaker table.wp-list-table tbody tr {
    transition: background 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

/* Row hover */
body.wp-admin.post-type-bb_speaker table.wp-list-table tbody tr:hover {
    background: #f8fbff !important;
    box-shadow: inset 4px 0 0 #72C9F8;
}

/* Drag handle */
body.wp-admin.post-type-bb_speaker .bb-drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    border-radius: 8px;
    border: 1px solid #d8ecff;

    background: linear-gradient(135deg, #eef7ff, #ffffff);
    color: #2271b1;

    font-size: 18px;
    line-height: 1;
    cursor: grab;

    box-shadow: 0 4px 12px rgba(34,113,177,.12);
    transition: all 0.25s ease;
}

body.wp-admin.post-type-bb_speaker .bb-drag-handle:hover {
    background: #2271b1;
    color: #ffffff;
    transform: scale(1.05);
}

body.wp-admin.post-type-bb_speaker .bb-drag-handle:active {
    cursor: grabbing;
}

/* Speaker type badges */
body.wp-admin.post-type-bb_speaker .bb-speaker-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 82px;
    padding: 5px 12px;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

body.wp-admin.post-type-bb_speaker .bb-type-featured {
    background: #e8f3ff;
    color: #0067b8;
}

body.wp-admin.post-type-bb_speaker .bb-type-standard {
    background: #eef8ea;
    color: #2d6a1f;
}

body.wp-admin.post-type-bb_speaker .bb-type-hidden {
    background: #f3f3f3;
    color: #555555;
}

/* Order number pill */
body.wp-admin.post-type-bb_speaker .column-bb_speaker_order strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    height: 28px;

    background: #111827;
    color: #ffffff;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 700;
}

/* Featured / Standard row soft background */
body.wp-admin.post-type-bb_speaker tr:has(.bb-type-featured) {
    background: linear-gradient(90deg, rgba(114,201,248,.08), transparent) !important;
}

body.wp-admin.post-type-bb_speaker tr:has(.bb-type-standard) {
    background: linear-gradient(90deg, rgba(120,200,90,.08), transparent) !important;
}

/* Sortable helper */
body.wp-admin.post-type-bb_speaker table.wp-list-table tbody tr.ui-sortable-helper {
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

/* Saving state */
body.wp-admin.post-type-bb_speaker table.wp-list-table tbody tr.bb-saving-order {
    opacity: .45;
}


/* =====================================================
   BB Unleashed Premium Viewport Animation
   Parent: bb-unleashed-reveal
   Child : bb-unleashed-item OR Elementor .e-loop-item
===================================================== */

.bb-unleashed-reveal .bb-unleashed-item,
.bb-unleashed-reveal .e-loop-item {
    opacity: 0;
    transform: translateY(90px) scale(.88);
    filter: blur(30px);

    transition:
        opacity 2.8s cubic-bezier(.16,1,.3,1),
        transform 2.8s cubic-bezier(.16,1,.3,1),
        filter 2.8s cubic-bezier(.16,1,.3,1);

    will-change: transform, opacity, filter;
}

/* Active visible state */
.bb-unleashed-reveal .bb-unleashed-item.bb-visible,
.bb-unleashed-reveal .e-loop-item.bb-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Premium stagger */
.bb-unleashed-reveal .bb-unleashed-item:nth-child(1),
.bb-unleashed-reveal .e-loop-item:nth-child(1) { transition-delay: .15s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(2),
.bb-unleashed-reveal .e-loop-item:nth-child(2) { transition-delay: .35s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(3),
.bb-unleashed-reveal .e-loop-item:nth-child(3) { transition-delay: .55s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(4),
.bb-unleashed-reveal .e-loop-item:nth-child(4) { transition-delay: .75s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(5),
.bb-unleashed-reveal .e-loop-item:nth-child(5) { transition-delay: .95s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(6),
.bb-unleashed-reveal .e-loop-item:nth-child(6) { transition-delay: 1.15s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(7),
.bb-unleashed-reveal .e-loop-item:nth-child(7) { transition-delay: 1.35s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(8),
.bb-unleashed-reveal .e-loop-item:nth-child(8) { transition-delay: 1.55s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(9),
.bb-unleashed-reveal .e-loop-item:nth-child(9) { transition-delay: 1.75s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(10),
.bb-unleashed-reveal .e-loop-item:nth-child(10) { transition-delay: 1.95s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(11),
.bb-unleashed-reveal .e-loop-item:nth-child(11) { transition-delay: 2.15s; }

.bb-unleashed-reveal .bb-unleashed-item:nth-child(12),
.bb-unleashed-reveal .e-loop-item:nth-child(12) { transition-delay: 2.35s; }

.attend-peers-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 55% 20%, rgba(80,110,180,.16), transparent 34%),
    radial-gradient(circle at 70% 35%, rgba(120,40,180,.12), transparent 38%),
    linear-gradient(180deg,#050505 0%,#000 100%) !important;
}

.attend-peers-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(
    90deg,
    rgba(255,255,255,.045) 0px,
    rgba(255,255,255,.045) 1px,
    transparent 1px,
    transparent 115px
  );
  opacity:.22;
  pointer-events:none;
  z-index:1;
}

.attend-peers-section > .e-con-inner,
.attend-peers-section .e-con-inner{
  position:relative;
  z-index:2;
}

.attend-logo-marquee{
  overflow:hidden;
  position:relative;
}

.attend-logo-marquee::before,
.attend-logo-marquee::after{
  content:"";
  position:absolute;
  top:0;
  width:180px;
  height:100%;
  z-index:5;
  pointer-events:none;
}

.attend-logo-marquee::before{
  left:0;
  background:linear-gradient(90deg,#000 0%,transparent 100%);
}

.attend-logo-marquee::after{
  right:0;
  background:linear-gradient(270deg,#000 0%,transparent 100%);
}

.attend-logo-marquee .elementor-main-swiper{
  overflow:visible !important;
}

.attend-logo-marquee .swiper-wrapper{
  display:flex !important;
  align-items:center;
  transition:none !important;
  animation:attendLogoMarquee 32s linear infinite !important;
  will-change:transform;
}

.attend-logo-marquee:hover .swiper-wrapper{
  animation-play-state:paused !important;
}

.attend-logo-marquee .swiper-slide{
  flex:0 0 auto !important;
}

.attend-logo-marquee .elementor-carousel-image{
  opacity:.55;
  filter:grayscale(1) brightness(1.45);
  transition:opacity .35s ease, filter .35s ease, transform .35s ease;
}

.attend-logo-marquee .swiper-slide:hover .elementor-carousel-image{
  opacity:1;
  filter:grayscale(0) brightness(1.1);
  transform:scale(1.04);
}

@keyframes attendLogoMarquee{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}

/* =====================================================
   EXACT DARK RED STRIP BACKGROUND
   ===================================================== */

.attend-peers-section{
    position:relative;
    overflow:hidden;

    background:#000 !important;
}

/* remove all elementor backgrounds */
.attend-peers-section,
.attend-peers-section .e-con,
.attend-peers-section .e-con-inner,
.attend-peers-section .elementor-widget-wrap{
    background-color:transparent !important;
    background-image:none !important;
}

/* DARK RED STRIPS */
.attend-peers-section::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        repeating-linear-gradient(
            90deg,

            #000000 0px,
            #000000 88px,

            rgba(60,0,0,.88) 88px,
            rgba(60,0,0,.88) 178px
        );

    opacity:1;

    z-index:1;

    pointer-events:none;
}

/* subtle dark overlay */
.attend-peers-section::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.18) 0%,
            rgba(0,0,0,.32) 100%
        );

    z-index:2;

    pointer-events:none;
}

/* keep content above bg */
.attend-peers-section > .e-con-inner{

    position:relative;

    z-index:3;
}
