.product-overview-banner{
    margin: 120px auto auto auto;
    position: relative;
}
.po_banner_title {
    color: #333;
    text-align: center;
    font-family: "avenir_next_worldbold", 'Verdana';
    font-size: 32px;
    font-weight: normal;
    line-height: 1.25em;
    max-width: 1120px;
    margin: 0 auto;
}
.des-link{
    font-family:'avenir_next_worldmedium', 'Verdana';
    font-weight:normal;
    font-size:12px;
    line-height:20px;
    color:#008392 !important;
    text-decoration:underline;
    display:flex;
    align-items:center;
    position:relative;
    bottom:0;
}
.des-link .des-img{
    width:16px !important;
    height:16px !important;
    margin-bottom:2px;
}
.po_banner_content {
    color: #333;
    text-align: center;
    font-family: "avenir_next_worldmedium", 'Verdana';
    font-size: 16px;
    font-weight: normal;
    line-height: 28px;
    margin: auto auto auto auto;
    display: flex;
    width: 1120px;
    height: 32px;
    flex-direction: column;
    justify-content: center;
}
.target-txt{
    margin: 4px 0 0 0;
}
.all-in-one-features .owl-stage{
    display: inline-flex;
    align-items: center;
    /* gap: 32px; */
}
.inner-fe-content{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-grow: 1;
} 
.inner-fe-content .target-icon{
    width: 64px !important;
    height: 64px;
    margin-bottom: 0;
}
.inner-fe-content h2{
    font-family: 'avenir_next_worldbold', 'Verdana';
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #222;

}
.all-features.hide-mb{
    position: relative;
    /* Figma (node 8359:41470, Frame 1000004725) specs a 64px gap between the
       heading and the card row, and 120px of padding below the row, vs the
       40px/96px currently on .all-in-one-features. Added as margin here
       (outside the row) rather than changing that padding, so the
       po-slide-nav top:33.3%/50% math (based on this wrapper's own height)
       stays correct. */
    margin-top: 24px;
    margin-bottom: 24px;
}
.all-features .owl-carousel .owl-stage{
    align-items:stretch;
}
.all-features .owl-carousel .owl-item{
    display: flex;
    align-items: stretch;
}
.inner-fe-content p{
    font-family: 'avenir_next_worldmedium', 'Verdana';
    font-weight: normal;
    font-size: 12px;
    line-height: 20px;
    color: #707070;
    flex-grow: 1;
    align-items: end;
    margin-bottom: 0;
    /* width: 192px; */
} 
.all-in-one-features .js-anchor-link{
    border-radius: 16px;
    background: #FFF;
    flex-grow: 1;
    outline: none;
    border: none;
}
.all-in-one-features .js-anchor-link:hover{
   box-shadow: 4px 4px 32px 0 rgba(247, 110, 136, 0.10);
}
/* .all-in-one-features .slick-slide:hover{
    
} */
.all-in-one-features a:focus{
    outline: none;
    border: none;
}
.product-overview-banner-background {
    position: absolute;
    top: 189px;
    left: 49%;
    transform: translateX(-50%) rotate(-1.382deg);
    width: 100%;
    height: 246px;
    background: linear-gradient(90deg, var(--Pink-900, #FFEEBF) 0%, var(--Pink-950, #FFF8E5) 100%);
    filter: blur(50px);
    z-index: -1;
    pointer-events: none;
    flex-shrink: 0;
}
/* Figma (node 8359:41469, Ellipse 6677) specs a solid #F3F3FF ellipse,
   blur(200px), centered on the card row - not the yellow gradient/rotation
   above. Scoped to .hide-mb only so the mobile SVG variant (.hide-lg,
   which has its own gradient baked into the inline SVG) is untouched. */
.product-overview-banner-background.hide-mb {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 89%;
    max-width: 1287px;
    height: 228px;
    background: #F3F3FF;
    filter: blur(200px);
}
 .all-in-one-features{
    padding: 40px 0 96px 0;
}
/* myp-home.css (legacy, still loaded on this page) has an unscoped
   .all-in-one-features rule with padding-top:65px !important and
   margin-top/margin-bottom that bleeds onto this reused class name and
   throws off the po-slide-nav top:33.3% math below. Neutralize it here
   instead of touching the shared legacy file. */
.product-overview-banner .all-in-one-features{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 40px 0 150px 0 !important;
}

 .po-slide-nav {
    position: absolute;
    display: flex;
    /* Desktop position matches Figma (node 8309:34503, 1440 frame): arrow
       centers sit right on the edge of the centered 1120px content column. */
    top: 33.3%;
    justify-content: space-between;
    left: 51.7%;
    transform: translate(-52%, -50%);
    opacity: 1;
    transition: all .3s linear;
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    z-index: 1;
    width: 84%;
    height: 0px;
}

.po-slide-nav>span {
    cursor: pointer;
    display: block;
    height: 40px;
    width: 40px;
    pointer-events: all;
    z-index: 10;
    /* myp-home.css has a legacy .prev, .next rule (old carousel arrows) that
       sets top:43%/margin-top:-22px/padding:16px with nothing here to
       out-specificity it, which pushes these spans down and off-center.
       PYP has no such legacy rule, so it never needed this reset. */
    top: auto;
    margin-top: 0;
    padding: 0;
}

.po-slide-nav>span.prev {
    position: relative;
    border-radius: 50px;
    background-color: #ffffff;
    transition: all 0.4s;
    box-shadow: 0px 6.67px 20px 0px rgba(0, 0, 0, 0.12);
}

.po-slide-nav>span.prev:hover {
    box-shadow: 0 8px 20px 0 #22222221;
}

.po-slide-nav>span.prev::after {
    position: absolute;
    content: '';
    background-image: url(https://www.toddleapp.com/wp-content/uploads/2024/07/single-arrow.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    left: 14px;
    top: 16px;
    width: 13.33px;
    height: 10.65px;
    rotate: 180deg;
    opacity: 1; /* Default to fully visible */
    transition: opacity 0.3s ease;
}
.po-slide-nav > span.prev.disabled::after {
    opacity: 0.5; /* Set opacity to 0.5 when disabled */
    pointer-events: none; /* Disable click events */
}
.po-slide-nav > span.prev.disabled {
    box-shadow: 0px 6.67px 20px 0px rgba(0, 0, 0, 0.05);
}
.po-slide-nav>span.next {
    position: relative;
    border-radius: 50px;
    background-color: #ffffff;
    transition: all 0.4s;
    box-shadow: 0px 6.67px 20px 0px rgba(0, 0, 0, 0.12);
}

.po-slide-nav>span.next:hover {
    box-shadow: 0 8px 20px 0 #22222221;
}

.po-slide-nav>span.next::after {
    position: absolute;
    content: '';
    background-image: url(https://www.toddleapp.com/wp-content/uploads/2024/07/single-arrow.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    left: 14px;
    top: 16px;
    width: 13.33px;
    height: 10.65px;
}
.story-card{
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 16px;
    background: #FFf;
}
.story-card{
    border-radius: 16px;
    background: #fff;
    /* min-height: 276px; */
}
.all-in-one-feature {
    flex-grow: 1;
    display: flex;
    /* myp-home.css's legacy .all-in-one-feature rule sets align-items:center
       with nothing here to out-specificity it, which stops .inner-fe-content
       from stretching full height and breaks its justify-content:space-between
       (PYP has no such legacy rule, so it keeps the flex default of stretch). */
    align-items: stretch;
}
.all-in-one-features .owl-stage {
    display: inline-flex;
    align-items: center;
}

.owl-stage-outer {
    /* overflow: visible !important; */
    overflow: clip !important;
    overflow-y: visible !important;
    /* Owl Carousel intentionally peeks the adjacent slide at each edge as a
       scroll affordance; fade it out instead of showing raw truncated text. */
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent);
}

.story-cards a{
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 16px;
    background: #FFF;
}
/* @media (min-width: 1450px) and (max-width: 1699px) {
    .stories-carousel .owl-item{width:252px;}
} */

@media screen and (min-width: 1920px){
    
}
/* 80% zoom */
@media (min-width: 1700px) and (max-width: 1899px){
    .fold2_wrapper{background-position: center !important;background-size: 80% !important;}}
/* 90% zoom */
@media (min-width: 1450px) and (max-width: 1699px){

}
@media screen and (min-width: 1600px){
    .story-card{
        min-height: 264px;
    }
    .po-slide-nav{
        width: 85.6%;
    }
    .all-features .owl-carousel .owl-stage{
        left: 8.66%;
    }
    .po-slide-nav{
        left: 51.8%;
    }

}
@media screen and (max-width: 1440px){
    .po-slide-nav>span.prev{left:20px;}
    .po-slide-nav>span.next{right:25px;}
}
@media(min-width:1366px){
    .story-card{
        padding:32px;
    }
}

@media(max-width:1300px) and (min-width:1024px){
    .story-card{
        padding: 28px;
    }
    .story-card{
        min-height: 288px;
    }
    .owl-carousel .owl-stage{
        left: 22.22%
    }
}
@media(min-width:1024px) and (max-width:1366px){
    .all-in-one-features{padding: 40px 0 46px 0;}
}
@media (max-width: 1023px) and (min-width: 768px){
    .story-card{
        padding: 16px;
    }
}
@media (max-width: 1366px) {
    /* Tablet only (iPad / iPad Mini etc.) - desktop keeps the Figma-matched
       rules above. The %-based desktop positioning drifts at these narrower
       widths, so center the buttons on the card row directly instead. */
    .po-slide-nav {
        top: 50%;
        left: 16px;
        right: 16px;
        width: auto;
        transform: translateY(-50%);
        height: 40px;
    }
    .po-slide-nav > span {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .po-slide-nav > span.prev,
    .po-slide-nav > span.next {
        left: auto;
        right: auto;
    }
    .po-slide-nav > span.prev::after,
    .po-slide-nav > span.next::after {
        position: static;
        left: auto;
        top: auto;
    }
}
@media (max-width: 991px) and (min-width: 768px){
    .inner-fe-content{
        gap: 14px;
    }
    .inner-fe-content h2{
        line-height: 22px;
    }
}
@media (max-width: 991px){
    .all-in-one-features{
        padding: 60px 0 60px 0;
    }
}
@media (max-width: 767px) {
    .all-in-one-features-lg{
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }
    /* PYP mobile uses a simple full-height blurred wash behind the stacked
       card list (.product-overview-banner__glow--mb) instead of a giant
       hardcoded SVG blob that guesses the page height and drifts out of
       alignment with the cards. Match that approach here. */
    .all-features.hide-lg{
        position: relative;
    }
    .product-overview-banner-background--mb{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 130%;
        height: 100%;
        background: #F3F3FF;
        filter: blur(90px);
        z-index: -1;
        pointer-events: none;
    }
    a.js-anchor-link{
        width:100%;
    }
    .product-overview-banner{
        padding: 0 16px 80px;        margin-top: 40px;
    }
    .po_banner_title{
        width: 100%;
        font-size: 28px;
        line-height: 36px;
        margin: 0 auto 50px;
        padding: 0 16px;
    }
    p.features-innera {
        font-size: 16px;
        color: #008392;
        font-family: "avenir_next_worldmedium";
        font-weight: normal;
        line-height: 24px;
    }
    p.features-innera img {
        width: 16px !important;
        margin-left: 5px;
        margin-bottom: 0;
        transition: transform 1s;
        height: auto;
    }
    .inner-fe-content{
        display: flex;
        padding: 32px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        align-self: stretch;
        border-radius: 16px;
        background: #FFF;
    }
    .target-txt{margin: 0px 0 0 0;}
    .f-img-title{
        display: flex;
        flex-direction:column;
        align-items: flex-start;
        gap: 16px;
    }
    .all-in-one-features-lg .des{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .features-innera span{
        color: #007C8C;
        text-align: center;
        font-family: 'avenir_next_worlddemi';
        font-size: 12px;
        font-style: normal;
        line-height: 16px;
        text-decoration-line: underline;
    }
    .inner-fe-content p{
        margin-bottom: 0px;
        max-width:264px;
    }
    /* .product-overview-banner-background{
        left: 35%;
    } */
}
