/* ===== Service Banner ===== */
.serviceBanner {
    padding: 64px 0 0px;
    position: relative;
    background: unset !important;
    overflow: hidden;
}
.serviceBanner-wrap{
   border-top: 1px solid #EFF7FF;
   border-bottom: 1px solid #EFF7FF;
}
/* Dot texture background */
.serviceBanner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(circle, rgba(176, 190, 197, 0.4) 0.5px, transparent 0.5px);
    background-size: 30px 30px;
    pointer-events: none;
    opacity: 0.12;
    z-index: 0;
}

 

.bannerWrap {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
    gap: 48px;
    position: relative;
    z-index: 5;
}

/* ===== Floating Emojis ===== */
.floating-emojis {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

.floating-emoji {
    position: absolute;
    font-size: 18px;
    opacity: 0.07;
    animation: float1 8s ease-in-out infinite;
}

.floating-emoji:nth-child(1) {
    top: 35%;
    left: 5%;
    animation-delay: 0s;
}

.floating-emoji:nth-child(2) {
    top: 78%;
    left: 8%;
    animation: float2 7s ease-in-out infinite;
    animation-delay: 1.5s;
    font-size: 16px;
    opacity: 0.06;
}

.floating-emoji:nth-child(3) {
    top: 85%;
    left: 55%;
    animation-delay: 3s;
    font-size: 14px;
    opacity: 0.05;
}

@keyframes float1 {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    33% {
        transform: translate(5px, -10px) rotate(1.5deg);
    }
    66% {
        transform: translate(-3px, -5px) rotate(-1deg);
    }
}

@keyframes float2 {
    0%, 100% {
        transform: translate(0, 0);
    }
    50% {
        transform: translate(0, -6px);
    }
}

/* ===== Left Content ===== */
.bannerContent {
   
    max-width: 621px;
    padding: 66px 0 119px;
    opacity: 0;
    animation: fadeInUp 0.8s ease forwards;
}
.mouse-glow {
    position: absolute;
    width: 600px;
    height: 450px;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(58, 102, 212, 0.08) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    left: var(--mouse-x, 50%);
    top: var(--mouse-y, 50%);
    transition: left 0.5s ease, top 0.5s ease;
    filter: blur(40px);
    z-index: 1;
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== Live Stats Pills ===== */
.banner-live-stats {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.live-stat {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #F9FAFB;
    border: 1px solid #EEEFF2;
    border-radius: 100px;
    padding: 7px 12px;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #676B7E;
}

.live-stat__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-primary, #3A66D4);
    flex-shrink: 0;
    animation: livePulse 1.8s ease-in-out infinite;
}

.live-stat__dot--green {
    background: #22C55E;
}

@keyframes livePulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.55; transform: scale(0.85); }
}

.live-stat__label strong {
    font-weight: 600;
    color: #1F2937;
}

.serviceBanner h1 {
    font-size: 44px;
    font-weight: 600;
    line-height: 140%;
    color: var(--color-heading);
    margin-bottom: 23px;
}

.serviceBanner h1 span {
    color: var(--color-primary);

}

/* ===== Gradient Text with Blinking Cursor ===== */
.serviceBanner .gradient-text {
    display: inline;
    color: var(--color-primary);
}

/* .gradient-text .typing-cursor {
    display: inline-block;
    width: 3px;
    height: 1em;
    background: var(--color-primary);
    margin-left: 2px;
    vertical-align: middle;
    animation: cursorBlink 0.7s step-end infinite;
} */

@keyframes cursorBlink {
    50% {
        opacity: 0;
    }
}

.bannerContent .banner-text {
    font-family: var(--font-primary);
    font-size: var(--fs-base);
    font-weight: var(--fw-regular);
    line-height: var(--lh-relaxed);
    color: #676B7E;
}
 
 

/* ===== Banner Features Grid ===== */
.banner-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px 30px;
    margin: 45px 0 58px;
       max-width: 396px;
    width: 100%;
}

.banner-feature-item {
    font-size: 14px;
    font-weight: 400;
    line-height: 100%;
    color: #1F2937;
}

.feature-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #EEF9F3;
    border-radius: 50%;
    flex-shrink: 0;
    color: #16A34A;
}

/* ===== Writer Stats Row ===== */
.banner-writer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 20px;
    border-top: 2px solid #FFFFFF;
    max-width: 578px;
    width: 100%;
}

.writer-avatars-group {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 230px;
    width: 100%;
}

.writer-avatars {
    display: flex;
    align-items: center;
    max-width: 127px;
    width: 100%;
}

.writer-avatars img {
    width: 39px;
    height: 39px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: -9px;
}

.writer-avatars img:last-child {
    z-index: 2;
}
.writer-avatars img:first-child {
    z-index: 4;
}
.writer-avatars img:nth-of-type(2){
    z-index: 3;
}

.avatar-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background:  #3A66D4;
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    z-index: -1;
    padding-left: 6px;
}

.writer-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.writer-meta strong {
   font-family: Outfit;
    font-weight: 600;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    margin-bottom: 6px;
    color: #1F2937;
}

.writer-meta span {
    font-family: Outfit;
    font-weight: 400;
    font-size: 13px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #676B7E;
}

.banner-stats-divider {
    width: 1px;
    height: 36px;
    background: #E5E7EB;
    flex-shrink: 0;
}
.banner-stat-list{
    display: flex;
    justify-content: space-between;

}
.banner-stat-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-right: 12px;
    border-right: 1px solid #EBE8F4;
}
.banner-stat-list .banner-stat-item:nth-of-type(2){
    padding-left: 12px;
}
.banner-stat-list .banner-stat-item:nth-of-type(3){
    padding-left: 12px;
    padding-right: 0;
    border-right: none;
}
.banner-stat-item strong {
    font-family: Outfit;
    font-weight: 600;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #1F2937;
    margin-bottom: 6px;
}

.banner-stat-item span {
    font-family: Outfit;
    font-weight: 400;
    font-size: 13px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #676B7E;
}

 

/* ===== Trust Bar ===== */
.bannerTrustbar {
    background: var(--color-bg-primary);
   
    padding: 30px 0;
}

.trustbarInner {
    display: flex;
    align-items: center;
    max-width: 985px;
    justify-content: center;
    margin: 0 auto;
        gap: 40px;
}

.trustbarItem {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    padding-right: 24px;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    border-radius: 10px;
    padding: 8px 40px 8px 0px;
}

.trustbarItem:hover {
    transform: translate(5px, -2px);
    background: rgba(58, 102, 212, 0.05);
    box-shadow: 0 4px 12px rgba(58, 102, 212, 0.1);
}

.trustbarItem::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 40px;
    width: 1px;
    background: #D0DEFF;
}

.trustbarItem:last-child {
    padding-right: 0;
}

.trustbarItem:last-child::after {
    display: none;
}

.trustbarIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    background: var(--color-primary);
    border-radius: 100%;
    flex-shrink: 0;
}


.trustbarText {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.trustbarText strong {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: #231F20;
    line-height: 100%;
}

.trustbarText span {
    font-family: var(--font-primary);
    font-size: 14px;
    font-weight: var(--fw-regular);
    color: #657077;
    line-height: 100%;
}

/* ===== Responsive ===== */

/* Tablet landscape */
@media (max-width: 1199px) {
    .bannerContent {
        padding: 50px 0 100px;
    }
    .PriceCalculator {
        margin-right: -60px;
        padding: 40px 60px 40px 30px;
    }
}

/* Tablet portrait — stack vertically */
@media (max-width: 991px) {
    .serviceBanner {
        padding: 60px 0 0;
    }
    .bannerWrap {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
    }
    .bannerContent {
        max-width: 100%;
        padding: 40px 0 20px;
        text-align: center;
    }
    .banner-live-stats {
        justify-content: center;
    }
    .banner-features {
        grid-template-columns: 1fr 1fr;
        justify-items: start;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }
    .banner-writer-row {
        justify-content: center;
        max-width: 100%;
    }

    /* Calculator — full width, no negative margin */
    .PriceCalculator {
        max-width: 100%;
        margin-right: 0;
        padding: 32px 28px 32px 28px;
        border-radius: 0;
    }
}

/* Mobile */
@media (max-width: 575px) {
    .serviceBanner {
        padding: 80px 0 0;
    }
    .bannerContent {
        padding: 30px 0 16px;
        margin-top: 0;
    }
    .serviceBanner h1 {
        font-size: var(--fs-3xl);
    }
    .bannerWrap {
        gap: 20px;
    }
    .banner-features {
        grid-template-columns: 1fr;
        max-width: 196px;
    }
    .banner-writer-row {
        gap: 12px;
        padding-top: 16px;
    }
    .banner-stats-divider {
        display: none;
    }
    .PriceCalculator {
        padding: 24px 16px;
    }

    /* ===== Trust Bar Scroll ===== */
    .trustbarInner {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        gap: 0;
        padding-bottom: 10px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: var(--color-primary) #D0DEFF;
    }
    .trustbarInner::-webkit-scrollbar { height: 3px; }
    .trustbarInner::-webkit-scrollbar-track { background: #D0DEFF; border-radius: 100rem; }
    .trustbarInner::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 100rem; }
    .trustbarItem {
        flex: 0 0 auto;
        scroll-snap-align: start;
        padding-right: 24px;
    }
    .trustbarItem::after { display: block; }
}
