/* Fonts */
/* Onest */
@import url("../fonts/onest/stylesheet.css");
/* font-family: 'Onest'; */ 

/* Bricolage Grotesque */
@import url("../fonts/bricolage-grotesque/stylesheet.css");
/* font-family: 'Bricolage Grotesque'; */

/* Comic Sans MS */
@import url("../fonts/comic-sens-ms/stylesheet.css");
/* font-family: 'Comic Sans MS'; */


/* Common Css Start ***
*********************/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
    --skinColor: #D0F0FF;
    --whiteColor: #FFF;
    --blackColor: #000;
    --secondaryColor: #9D9D9D;
    --secondaryColor2: rgba(0, 0, 0, 0.80);
    --lightColor: #F5F6F8;
}
body{
    padding: 0;
    margin: 0;
    color: var(--secondaryColor);
   /* font-family: 'Onest'; */
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    background-color: #fff;
}
ul,ol{
    margin: 0;
    padding: 0;
    list-style: none;
}
h1,h2,h3,h4,h5,h6,p,label{
    padding: 0;
    margin: 0;
}
a{
    text-decoration: none;
    display: inline-block;
    color: inherit;
    transition: .3s;
    outline: none;
}
.btn:focus,
button:focus,
.form-control:focus{
    box-shadow: none;
}
.btn,
button{
    outline:none;
}
img{
    max-width: 100%;
    max-height: 100%;
    display: block;
}

/* For Flat UI Icons */
i[class^="fi-rr-"]:before,
i[class=" fi-rr-"]:before,
span[class^="fi-rr-"]:before,
span[class="fi-rr-"]:before {
    line-height: unset;
}


/* Column Row Gap */
.g-20px{
    --bs-gutter-y: 20px;
    --bs-gutter-x: 20px;
}
.gx-20px{
    --bs-gutter-x: 20px;
}
.gy-20px{
    --bs-gutter-y: 20px;
}

/* Flex Gap */
.gap-2px{
    gap: 2px !important;
}
.gap-6px{
    gap: 6px !important;
}
.gap-10px{
    gap: 10px !important;
}
.gap-12px{
    gap: 12px !important;
}
.gap-14px{
    gap: 14px !important;
}
.gap-18px{
    gap: 18px !important;
}
.gap-20px{
    gap: 20px !important;
}
.gap-22px{
    gap: 22px !important;
}
.gap-26px{
    gap: 26px !important;
}
.gap-28px{
    gap: 28px !important;
}
.gap-30px{
    gap: 30px !important;
}

/* Flex Column Gap */
.column-gap-2px{
    column-gap: 2px !important;
}
.column-gap-6px{
    column-gap: 6px !important;
}
.column-gap-10px{
    column-gap: 10px !important;
}
.column-gap-12px{
    column-gap: 12px !important;
}
.column-gap-14px{
    column-gap: 14px !important;
}
.column-gap-18px{
    column-gap: 18px !important;
}
.column-gap-20px{
    column-gap: 20px !important;
}
.column-gap-22px{
    column-gap: 22px !important;
}
.column-gap-26px{
    column-gap: 26px !important;
}
.column-gap-28px{
    column-gap: 28px !important;
}
.column-gap-30px{
    column-gap: 30px !important;
}


/* Margin Bottom */
.mb-2px{
    margin-bottom: 2px !important;
}
.mb-6px{
    margin-bottom: 6px !important;
}
.mb-10px{
    margin-bottom: 10px !important;
}
.mb-12px{
    margin-bottom: 12px !important;
}
.mb-14px{
    margin-bottom: 14px !important;
}
.mb-18px{
    margin-bottom: 18px !important;
}
.mb-20px{
    margin-bottom: 20px !important;
}
.mb-22px{
    margin-bottom: 22px !important;
}
.mb-26px{
    margin-bottom: 26px !important;
}
.mb-28px{
    margin-bottom: 28px !important;
}
.mb-30px{
    margin-bottom: 30px !important;
}
.mb-40px{
    margin-bottom: 40px !important;
}
.mb-50px{
    margin-bottom: 50px !important;
}
.mb-100px{
    margin-bottom: 100px !important;
}

/* Margin Top */
.mt-2px{
    margin-top: 2px !important;
}
.mt-6px{
    margin-top: 6px !important;
}
.mt-10px{
    margin-top: 10px !important;
}
.mt-12px{
    margin-top: 12px !important;
}
.mt-14px{
    margin-top: 14px !important;
}
.mt-18px{
    margin-top: 18px !important;
}
.mt-20px{
    margin-top: 20px !important;
}
.mt-22px{
    margin-top: 22px !important;
}
.mt-26px{
    margin-top: 26px !important;
}
.mt-28px{
    margin-top: 28px !important;
}
.mt-30px{
    margin-top: 30px !important;
}
  
/* Padding */
.p-2px{
    padding: 2px !important;
}
.p-6px{
    padding: 6px !important;
}
.p-10px{
    padding: 10px !important;
}
.p-12px{
    padding: 12px !important;
}
.p-14px{
    padding: 14px !important;
}
.p-18px{
    padding: 18px !important;
}
.p-20px{
    padding: 20px !important;
}
.p-22px{
    padding: 22px !important;
}
.p-26px{
    padding: 26px !important;
}
.p-28px{
    padding: 28px !important;
}
.p-30px{
    padding: 30px !important;
}

/* Padding Bottom */
.pb-2px{
    padding-bottom: 2px !important;
}
.pb-6px{
    padding-bottom: 6px !important;
}
.pb-8px{
    padding-bottom: 8px !important;
}
.pb-10px{
    padding-bottom: 10px !important;
}
.pb-12px{
    padding-bottom: 12px !important;
}
.pb-14px{
    padding-bottom: 14px !important;
}
.pb-18px{
    margin-bottom: 18px !important;
}
.pb-20px{
    padding-bottom: 20px !important;
}
.pb-22px{
    padding-bottom: 22px !important;
}
.pb-26px{
    padding-bottom: 26px !important;
}
.pb-28px{
    padding-bottom: 28px !important;
}
.pb-30px{
    padding-bottom: 30px !important;
}

/* Padding Left-Right */
.px-2px{
    padding-left: 2px !important;
    padding-right: 2px !important;
}
.px-6px{
    padding-left: 6px !important;
    padding-right: 6px !important;
}
.px-10px{
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.px-12px{
    padding-left: 12px !important;
    padding-right: 12px !important;
}
.px-14px{
    padding-left: 14px !important;
    padding-right: 14px !important;
}
.px-18px{
    padding-left: 18px !important;
    padding-right: 18px !important;
}
.px-20px{
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.px-22px{
    padding-left: 22px !important;
    padding-right: 22px !important;
}
.px-26px{
    padding-left: 26px !important;
    padding-right: 26px !important;
}
.px-28px{
    padding-left: 28px !important;
    padding-right: 28px !important;
}
.px-30px{
    padding-left: 30px !important;
    padding-right: 30px !important;
}

/* Padding Top-Bottom */
.py-2px{
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
.py-6px{
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}
.py-10px{
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.py-12px{
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.py-14px{
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
.py-18px{
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
.py-20px{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.py-22px{
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}
.py-26px{
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}
.py-28px{
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}
.py-30px{
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
/* Common Css End ***
*******************/



/* Other Common Css Start ***
***************************/
/* Button */
.ba-btn-outline-dark{
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 12.98px 18px;
    border-radius: 83.265px;
    border: 0.781px solid #000;
}
.ba-btn-outline-dark:hover{
    background: var(--blackColor);
    border-color: var(--blackColor);
    color: var(--whiteColor);
}
.ba-btn-outline-dark:active{
    background: var(--blackColor) !important;
    border-color: var(--blackColor) !important;
    color: var(--whiteColor) !important;
}
.ba-btn-outline-dark svg{
    display: block;
}
.ba-btn-outline-dark path{
    transition: .3s;
}
.ba-btn-outline-dark:hover path{
    fill: var(--whiteColor);
}
.ba-btn-outline-dark:active path{
    fill: var(--whiteColor);
}


.bab2-btn-outline-dark{
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--blackColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    padding: 16.5px 34px;
    border-radius: 100px;
    border: 0.938px solid var(--blackColor);
}
.bab2-btn-outline-dark:hover{
    background: var(--blackColor);
    border-color: var(--blackColor);
    color: var(--whiteColor);
}
.bab2-btn-outline-dark:active{
    background: var(--blackColor) !important;
    border-color: var(--blackColor) !important;
    color: var(--whiteColor) !important;
}
.bab2-btn-outline-dark svg{
    display: block;
}
.bab2-btn-outline-dark path{
    transition: .3s;
}
.bab2-btn-outline-dark:hover path{
    fill: var(--whiteColor);
}
.bab2-btn-outline-dark:active path{
    fill: var(--whiteColor);
}

.bab2-btn-white{
    border: 0;
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 17.5px 42.5px;
    border-radius: 100px;
    background: var(--whiteColor);
    color: var(--blackColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.bab2-btn-white:hover{
    background: var(--blackColor);
    color: var(--whiteColor);
}
.bab2-btn-white:active{
    background: var(--blackColor) !important;
    color: var(--whiteColor) !important;
}
.bab2-btn-white svg{
    display: block;
}
.bab2-btn-white path{
    transition: .3s;
}
.bab2-btn-white:hover path{
    fill: var(--whiteColor);
}
.bab2-btn-white:active path{
    fill: var(--whiteColor);
}

.ba-btn-white{
    border: 0;
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14.285px 19.047px;
    border-radius: 73.807px;
    background: var(--whiteColor);
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 17.998px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.ba-btn-white:hover{
    background: var(--blackColor);
    color: var(--whiteColor);
}
.ba-btn-white:active{
    background: var(--blackColor) !important;
    color: var(--whiteColor) !important;
}
.ba-btn-white svg{
    display: block;
}
.ba-btn-white path{
    transition: .3s;
}
.ba-btn-white:hover path{
    fill: var(--whiteColor);
}
.ba-btn-white:active path{
    fill: var(--whiteColor);
}

.section-mb{
    margin-bottom: 170px;
}
/* Other Common Css End ***
*************************/



/* Header Css Start ***
*********************/
/* Banner */
.banner-section{
    background: url(../images/main-banner.webp) no-repeat scroll center center / cover;
    position: relative;
    margin-bottom: 67px;
    padding-top: 98px;
    margin-top: -98px;
}
.banner-section::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(85deg, #B0E0FF 9.94%, rgba(176, 224, 255, 0.40) 111.88%);
}
.banner-content-area{
    padding-top: 127px;
    padding-bottom: 30px;
}
.bn-title-badge{
    display: inline-flex;
    align-items: center;
    gap: 8.08px;
    padding: 10px 12px;
    border-radius: 40.874px;
    border: 1.135px solid rgba(50, 50, 50, 0.10);
    background: rgba(50, 50, 50, 0.10);
    margin-bottom: 37px;
}
.bn-title-badge .type{
    color: var(--blackColor);
    font-family: "Comic Sans MS";
    font-size: 13.625px;
    font-style: normal;
    font-weight: 400;
    line-height: 133.333%; /* 18.166px */
    letter-spacing: 0.545px;
    padding: 2.271px 6.409px 2.271px 6.812px;
    border-radius: 40.874px;
    background: var(--whiteColor);
    width: fit-content;
}
.bn-title-badge .category{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 126.153%; /* 22.708px */
}
.ba-banner-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 60px;
    font-style: normal;
    font-weight: 600;
    line-height: 123.563%; /* 91.436px */
    letter-spacing: -2.22px;
    text-transform: capitalize;
    margin-bottom: 16px;
}
.ba-banner-subtitle{
    color: var(--secondaryColor2);
   /* font-family: 'Onest'; */
    font-size: 21px;
    font-style: normal;
    font-weight: 300;
    line-height: 152.381%; /* 32px */
    margin-bottom: 46px;
}
.ba-btns-wrap{
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ba-banner-slide{
    height: 100%;
    opacity: 0;
    transition: .3s;
    max-width: 742px;
}
.swiper-slide-active .ba-banner-slide{
    opacity: 1;
}
.ba-banner-slider .swiper-slide{
    height: auto;
}
.ba-banner-slider .swiper-wrapper{
    margin-bottom: 98px;
}

.swiper-slide-active .bn-title-badge{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
.swiper-slide-active .ba-banner-title{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
.swiper-slide-active .ba-banner-subtitle{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp2;
    animation-name: bafadeInUp2;
}
.swiper-slide-active .ba-btns-wrap{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
@keyframes bafadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bafadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* Pagination */
.hero-banner-nav{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    row-gap: 16px;
}
.hero-banner-nav .swiper-pagination {
    position: unset;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px;
    row-gap: 8px;
    bottom: 0 !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.hero-banner-nav .swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    border-radius: 0;
    background: var(--whiteColor);
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 1;
    margin: 0 0 !important;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.hero-banner-nav .swiper-pagination-bullet-active{
    background: var(--blackColor);
}

.hero-banner-nav .swiper-button-next, 
.hero-banner-nav .swiper-rtl .swiper-button-prev {
    right: unset;
}
.hero-banner-nav .swiper-button-prev, 
.hero-banner-nav .swiper-rtl .swiper-button-next {
    left: unset;
}
.hero-banner-nav .swiper-button-next, 
.hero-banner-nav .swiper-button-prev{
    position: unset;
    margin-top: 0;
    width: 38px;
    height: auto;
    top: unset;
}
.hero-banner-nav .swiper-button-next::after, 
.hero-banner-nav .swiper-button-prev::after{
    display: none;
}
.hero-banner-nav .swiper-button-next.swiper-button-disabled, 
.hero-banner-nav .swiper-button-prev.swiper-button-disabled {
    opacity: .6;
}

.hero-banner-nav .swiper-button-next svg, 
.hero-banner-nav .swiper-button-prev svg{
    display: block;
}
.hero-banner-nav .swiper-button-next path, 
.hero-banner-nav .swiper-button-prev path{
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.hero-banner-nav .swiper-button-next:hover path, 
.hero-banner-nav .swiper-button-prev:hover path{
    fill: var(--whiteColor);
}


/* Benefit */
.benefit-icon{
    margin-bottom: 22px;
}
.benefit-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 23px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.69px;
    margin-bottom: 13px;
}
.benefit-subtitle{
    color: var(--secondaryColor);
   /* font-family: 'Onest'; */
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Section Title */
.section-sm-title{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    flex-wrap: wrap;
    text-align: left;
}
.section-sm-title .line{
    height: 21px;
    width: 2px;
    background: var(--blackColor);
    display: inline-block;
}
.section-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 50px;
    font-style: normal;
    font-weight: 500;
    line-height: 136%; /* 68px */
    letter-spacing: -1.5px;
    text-transform: capitalize;
}
.section-subtitle{
    color: var(--secondaryColor2);
   /* font-family: 'Onest'; */
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 170%; /* 34px */
}


.max-w-690px{
    max-width: 690px;
}
.max-w-584px{
    max-width: 584px;
}
.mb-36px{
    margin-bottom: 36px;
}
/* Category */
.category-section-mb{
    margin-bottom: 150px;
}
.category-section-title-area{
    margin-bottom: 64px;
}

.category-slider .swiper-wrapper{
    margin-bottom: 60px;
}
.category-slide:hover .category-subtitle,
.category-slide:hover .category-title{
    color: var(--blackColor);
}
.category-banner{
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 20px;
}
.category-banner .banner{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    margin-bottom: 20px;
    transition: all 350ms ease;
}
.category-slide:hover .category-banner .banner{
    transform: scale(1.05);
}
.category-title{
    transition: .3s;
    color: var(--secondaryColor2);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    display: block;
    width: fit-content;
    margin: 0 auto 18px auto;
}
.category-title:hover{
    color: var(--secondaryColor2);
}
.category-subtitle{
    color: var(--secondaryColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
/* Pagination */
.category-pagination .swiper-button-next, 
.category-pagination .swiper-rtl .swiper-button-prev {
    right: unset;
}
.category-pagination .swiper-button-prev, 
.category-pagination .swiper-rtl .swiper-button-next {
    left: unset;
}
.category-pagination{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding-bottom: 20px;
}
.category-pagination .swiper-button-next, 
.category-pagination .swiper-button-prev{
    position: unset;
    margin-top: 0;
    width: 44px;
    height: 44px;
    top: unset;
    border-radius: 50%;
    background-color: var(--whiteColor);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 22px 0px rgba(0, 0, 0, 0.14);
    transition: .3s;
}
.category-pagination .swiper-button-next::after, 
.category-pagination .swiper-button-prev::after{
    display: none;
}
.category-pagination .swiper-button-next.swiper-button-disabled, 
.category-pagination .swiper-button-prev.swiper-button-disabled {
    opacity: .6;
}

.category-pagination .swiper-button-next svg, 
.category-pagination .swiper-button-prev svg{
    display: block;
    width: auto;
    height: auto;
}
.category-pagination .swiper-button-next path, 
.category-pagination .swiper-button-prev path{
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.category-pagination .swiper-button-next:hover path, 
.category-pagination .swiper-button-prev:hover path{
    stroke: var(--whiteColor);
}
.category-pagination .swiper-button-next:hover, 
.category-pagination .swiper-button-prev:hover{
    background: var(--blackColor);
}


/* Trending Products */
.tp-section-title-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 24px;
    row-gap: 20px;
    margin-bottom: 64px;
}
.tp-section-title-left{
    max-width: 687px;
    width: 100%;
}
.tp-section-title-right{
    max-width: 525px;
    width: 100%;
}

.trending-products-wrap{
    margin-bottom: 60px;
}

.product-card{
    display: block;
    width: 100%;
    height: 100%;
}
.product-card-banner{
    width: 100%;
    aspect-ratio: 310 / 361;
    max-height: 361px;
    border-radius: 18px;
    background: #F7F7F7;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 21px;
    overflow: hidden;
}
.product-card-banner .banner{
    max-width: 100%;
    width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: all 350ms ease;
}
.product-card:hover .product-card-banner .banner{
    transform: scale(1.03);
}
.product-card-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.78px;
    margin-bottom: 9px;
}
.product-card-category{
    color: #959595;
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 16px;
}
.pc-price-rating-wrap{
    display: flex;
    align-items: center;
    column-gap: 16px;
    row-gap: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
}
.pc-rating-wrap{
    display: flex;
    align-items: center;
    gap: 6px;
}
.pc-stars{
    display: flex;
    align-items: center;
    gap: 3.45px;
}
.pc-star svg{
    display: block;
}
.product-card-price{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
.pc-total-rating{
    color: #909090;
   /* font-family: 'Onest'; */
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* New Arrivals */
.new-arrivals-section{
    padding: 95px 0;
    background: var(--skinColor);
}
.na-section-title-area{
    margin-bottom: 60px;
}
.max-w-682px{
    max-width: 682px;
}

/* News & Insights */
.ni-section-title-area{
    margin-bottom: 64px;
}
.max-w-712px{
    max-width: 712px;
}
/* Newsletter */
.newsletter-card{
    padding: 50px 24px;
    border-radius: 22px;
    background: var(--newsletterBg, var(--skinColor));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 94%;
}
.newsletter-img{
    width: fit-content;
    margin: 0 auto 38px auto;
}
.newsletter-card-title{
    color: var(--blackColor);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: 146.667%; /* 44px */
    margin-bottom: 44px;
}
.newsletter-form-control{
    margin-bottom: 16.67px;
    width: 100%;
    padding: 14.285px 19.047px 14.285px calc(19.047px + 35px);
    border-radius: 73.807px;
    background-color: var(--whiteColor);
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 17.998px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-color: transparent;
    background-image: url(../images/svg-icons/sms.svg);
    background-repeat: no-repeat;
    background-size: 28.571px;
    background-position: 19.047px center;
}
.newsletter-form-control::placeholder{
    color: rgba(0, 0, 0, 0.40);
    opacity: 1;
}
.newsletter-form-control:hover{
    border-color: var(--secondaryColor);
}
.newsletter-form-control:focus{
    border-color: var(--secondaryColor);
    color: var(--blackColor);
    background-color: var(--whiteColor);
}

/* Blog */
.blog-list-card{
    width: 100%;
    border-radius: 22px;
    background: var(--lightColor);
    overflow: hidden;
    transition: .3s;
}
.blog-list-card:hover{
    box-shadow: 0px 4px 40px 0px rgba(10, 23, 22, 0.10);
    background: var(--whiteColor);
}
.blog-list-banner{
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.blog-list-banner .banner{
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 22px 0 0 22px;
    transition: all 350ms ease;
}
.blog-list-card:hover .blog-list-banner .banner{
    transform: scale(1.03);
}
.blog-list-body{
    padding: 22px 22px 22px 20px;
}
.blog-datetime-wrap{
    display: flex;
    align-items: center;
    column-gap: 10px;
    row-gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.blog-datetime-wrap .date,
.blog-datetime-wrap .time{
    color: #525252;
   /* font-family: 'Onest'; */
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blog-datetime-wrap .dot{
    display: block;
    height: 3px;
    width: 3px;
    border-radius: 50%;
    background: #525252;
}
.blog-list-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 8px;
    max-width: 395px;
}
.blog-list-subtitle{
    color: #525252;
   /* font-family: 'Onest'; */
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    margin-bottom: 48px;
    max-width: 369px;
}
.blog-real-btn{
    border: 0;
    display: inline-flex;
    align-items: center;
    column-gap: 3px;
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    transition: .3s;
}
.blog-real-btn svg{
    display: block;
    transition: .3s;
}
.blog-real-btn path{
    transition: .3s;
}
.blog-list-card:hover .blog-real-btn svg{
    transform: translateX(5px);
}

.seasonal-collection-banner{
    overflow: hidden;
    border-radius: 22px;
    width: 100%;
    aspect-ratio: 624 / 700;
    position: relative;
}
.seasonal-collection-banner .banner{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.sc-banner-overlay{
    position: absolute;
    top: 21px;
    right: 27px;
    border-radius: 22px;
    background: #FFFBF3;
    padding: 20px;
    max-width: 313px;
    width: 100%;
}
.scb-overlay-off{
    color: var(--blackColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 11.29px;
}
.scb-overlay-title{
    color: var(--blackColor);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 25.175px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 13.71px;
}
.scb-overlay-subtitle{
    color: #525252;
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 157.143%; /* 22px */
}


/* Testimonial */
.tm-section-title-area{
    margin-bottom: 56px;
}
.testimonial-card{
    border-radius: 22px;
    background: var(--lightColor);
    padding: 24px 36px;
    height: 100%;
}
.testimonial-comment{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 153.846%; /* 40px */
    margin-bottom: 40px;
}
.tm-user-rating-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 24px;
    row-gap: 12px;
}
.tm-rating-stars{
    display: flex;
    align-items: center;
    gap: 4px;
}
.tm-star{
    display: block;
}
.tm-user-name{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 12px;
}
.tm-user-bio{
    color: #737373;
   /* font-family: 'Onest'; */
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 118.789%; /* 19.006px  */
}

.testimonial-slider .swiper-wrapper{
    margin-bottom: 60px;
}

.testimonial-nav .swiper-pagination {
    position: unset;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 12.67px;
    row-gap: 8px;
    bottom: 0 !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: 100%;
}
.testimonial-nav .swiper-pagination-bullet{
    width: 19.006px;
    height: 19.006px;
    border-radius: 50%;
    background: #E0E0E0;
    opacity: 1;
    margin: 0 0 !important;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.testimonial-nav .swiper-pagination-bullet-active{
    background: var(--blackColor);
}

.testimonial-nav .swiper-button-next, 
.testimonial-nav .swiper-rtl .swiper-button-prev {
    right: 0;
}
.testimonial-nav .swiper-button-prev, 
.testimonial-nav .swiper-rtl .swiper-button-next {
    left: 0;
}
.testimonial-nav .swiper-button-next, 
.testimonial-nav .swiper-button-prev{
    margin-top: -40px;
    transform: translateY(-50%);
    height: 50px;
    width: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--whiteColor);
    box-shadow: 0px 4px 22px 0px rgba(0, 0, 0, 0.08);
    transition: .3s;
}
.testimonial-nav .swiper-button-next:hover, 
.testimonial-nav .swiper-button-prev:hover{
    background-color: var(--blackColor);
}
.testimonial-nav .swiper-button-next svg, 
.testimonial-nav .swiper-button-prev svg{
    width: auto;
    height: auto;
}
.testimonial-nav .swiper-button-next path, 
.testimonial-nav .swiper-button-prev path{
    transition: .3s;
}
.testimonial-nav .swiper-button-next:hover path, 
.testimonial-nav .swiper-button-prev:hover path{
    fill: var(--whiteColor);
}
.testimonial-nav .swiper-button-next::after, 
.testimonial-nav .swiper-button-prev::after{
    display: none;
}

.testimonial-slider{
    margin-left: -22px;
    margin-right: -22px;
    padding: 0 22px 0;
}
.testimonial-slider .swiper-slide{
    height: auto;
}
/* Header Css End ***
*******************/



/* Scroll Top Css Start ***
*************************/
.scroll-progress-wrap {
    position: fixed;
    bottom: 40px;
    right: 40px;
    height: 40px;
    width: 40px;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 999px;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
    background: var(--whiteColor);
    border: 1.2px solid rgba(134, 134, 134, 0.12);
}
.scroll-progress-wrap:hover{
    -webkit-animation: waveBtn 2s 1;
            animation: waveBtn 2s 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
@-webkit-keyframes waveBtn {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--skinColor);
                box-shadow: 0 0 0 0 var(--skinColor)
    }
    50% {
        -webkit-box-shadow: 0 0 0 20px transparent;
                box-shadow: 0 0 0 20px transparent
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 transparent;
                box-shadow: 0 0 0 0 transparent
    }
}
@keyframes waveBtn {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--skinColor);
                box-shadow: 0 0 0 0 var(--skinColor)
    }
    50% {
        -webkit-box-shadow: 0 0 0 20px transparent;
                box-shadow: 0 0 0 20px transparent
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 transparent;
                box-shadow: 0 0 0 0 transparent
    }
}
.scroll-progress-wrap::after {
    position: absolute;
    content: "\f136";
    font-family: uicons-regular-rounded !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px;
    text-align: center;
    line-height: 40px;
    color: var(--blackColor);
    height: 40px;
    width: 40px;
    cursor: pointer;
    z-index: 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
.scroll-progress-wrap.active-scroll-progress {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.scroll-progress-wrap svg path {
    fill: none;
}
.scroll-progress-wrap svg.scroll-progress-circle path {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    stroke: var(--blackColor);
    stroke-width: 1.2;
    -webkit-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
         -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition-duration: 150ms;
         -o-transition-duration: 150ms;
            transition-duration: 150ms;
    -webkit-transition-duration: 0.4s;
         -o-transition-duration: 0.4s;
            transition-duration: 0.4s;
    -webkit-transition-timing-function: linear;
         -o-transition-timing-function: linear;
            transition-timing-function: linear;
}
/* Scroll Top Css End ***
***********************/

.capitalize{
    text-transform: capitalize !important;
}
/* .ba-btns-wrap .bab2-btn-outline-dark{
    background-color: transparent !important;
} */
 .btn-close-white {
	filter: inherit;
}
/* ============================================================
   Alternatif Egitimciler - urun karti cercevesi
   Tema varsayilani #F7F7F7 zemindi; beyaz sayfa zemininde
   gorunmuyordu, kapaklar bosluga asili duruyordu. Gorunur bir
   cerceve + sicak krem zemin eklendi (site paleti #FDF6EF).
   .product-card-banner tum urun kartlarinda ortak kullaniliyor:
   ana sayfa bolumleri, urun listesi, benzer urunler.
   ============================================================ */
.product-card-banner{
    background: #FDFBF8;
    border: 1px solid #E8E0D6;
    box-shadow: 0 1px 2px rgba(60, 45, 30, .04);
    transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease;
}
.product-card:hover .product-card-banner{
    border-color: #D6C8B6;
    box-shadow: 0 8px 20px rgba(60, 45, 30, .10);
    transform: translateY(-2px);
}

/* ============================================================
   ALTERNATIF EGITIMCILER - ETKILESIM VE HAREKET KATMANI
   Standart maddeleri: 1 (tepki), 3 (kesintiye ugratilabilirlik),
   4 (yay), 11 (kare duzeyinde akicilik), 12 (malzeme ve derinlik),
   16 (odak gostergesi ve dokunma hedefi).

   NEDEN: tema butonlarda ve kartlarda `transition: all 350ms ease`
   kullaniyordu. Iki sorun var:
     1) `all` ile duzen (layout) ozellikleri de animasyona girer;
        her karede yeniden akis hesaplanir, hareket takilir.
     2) 350ms "basildi" geri bildirimi icin cok uzun. Parmak
        degdiginde hicbir sey olmuyormus gibi hissedilir.
   Bu blok sureyi ikiye ayirir: BASMA anlik (80ms), BIRAKMA yay
   egrisiyle geri oturur (260ms). Yalnizca transform / opacity /
   renk animasyonlanir.

   Mevcut kurallar SILINMEDI; yalnizca burada yeniden tanimlanan
   ozellikler eziliyor.
   ============================================================ */

/* ------------------------------------------------------------
   Hareket belirtecleri (tek kaynak)
   Hicbir sure/egri rastgele degil (madde 16 - zanaat).
   ------------------------------------------------------------ */
:root {
    /* CSS'te gercek yay yok. Bu egri, kritik sonumlu bir yayin
       (damping ratio 1.0 -> asim yok) konum egrisine en yakin
       dusen cubic-bezier karsiligidir. response ~0.3s. */
    --ae-ease-spring: cubic-bezier(0.22, 0.90, 0.26, 1);
    /* Hafif asimli (bounce ~0.8) egri. YALNIZCA jest momentum
       tasiyan hareketlerde kullanilir (madde 4). */
    --ae-ease-spring-bounce: cubic-bezier(0.22, 1.10, 0.30, 1);
    /* Basma: pointer-down aninda gorulmeli (madde 1). */
    --ae-dur-press: 80ms;
    /* Birakma: yay geri yerine otursun. */
    --ae-dur-release: 260ms;
    /* Genel arayuz gecisi (response 0.3-0.4s araligi). */
    --ae-dur-ui: 300ms;
}

/* ------------------------------------------------------------
   MADDE 1 - ~300ms dokunma gecikmesini oldur
   Mobil tarayici, cift dokunmayla yakinlastirma ihtimali icin
   tiklamayi bekletir. `manipulation` kaydirmayi ve pinch-zoom'u
   KORUR, yalnizca cift dokunma beklemesini iptal eder.
   ------------------------------------------------------------ */
a,
button,
.btn,
summary,
label[for],
[role="button"],
input[type="submit"],
input[type="button"],
.ba-header-access-item,
.ba-menu-button,
.product-card,
.fsh-page-link,
.swiper-pagination-bullet {
    touch-action: manipulation;
}

/* Dokunma vurgusu: tarayicinin mavi/siyah dikdortgeni yerine
   temanin tonunda yumusak bir vurgu (madde 10 - dokunmada
   aninda vurgu). */
a,
button,
.btn,
[role="button"],
.product-card {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.06);
}

/* ------------------------------------------------------------
   MADDE 1 + 4 - Butonlarda basma geri bildirimi
   Gecis listesi acikca yazildi: `all` kaldirildi, boylece
   yalnizca derleyici dostu (transform/opacity) ve renk
   ozellikleri animasyonlanir (madde 11).
   ------------------------------------------------------------ */
.ba-btn-outline-dark,
.bab2-btn-outline-dark,
.bab2-btn-white,
.ba-btn-white,
.fsh-btn-dark,
.fsh-btn-outline-dark,
.fsh-btn-outline-secondary,
.fsh-btn-warning {
    transition:
        transform var(--ae-dur-release) var(--ae-ease-spring),
        background-color var(--ae-dur-ui) var(--ae-ease-spring),
        border-color var(--ae-dur-ui) var(--ae-ease-spring),
        color var(--ae-dur-ui) var(--ae-ease-spring),
        box-shadow var(--ae-dur-ui) var(--ae-ease-spring);
}

/* Basildigi an: olcek transform ile kuculur (duzen kaymaz),
   ve sure 80ms'e duser -> geri bildirim pointer-down aninda. */
.ba-btn-outline-dark:active,
.bab2-btn-outline-dark:active,
.bab2-btn-white:active,
.ba-btn-white:active,
.fsh-btn-dark:active,
.fsh-btn-outline-dark:active,
.fsh-btn-outline-secondary:active,
.fsh-btn-warning:active {
    transform: scale(0.965);
    transition-duration: var(--ae-dur-press);
}

/* Ikon butonlari (arama / favori / sepet / hesap / menu / sayfalama)
   Bunlarda hic basma geri bildirimi yoktu. */
.ba-header-access-item,
.ba-menu-button,
.ba-user-dropdown-btn,
.fsh-page-link,
.circle-iconbox-42px,
.swiper-button-next,
.swiper-button-prev,
.fr-nav-prev,
.fr-nav-next,
.vg-button-prev,
.vg-button-next {
    transition:
        transform var(--ae-dur-release) var(--ae-ease-spring),
        background-color var(--ae-dur-ui) var(--ae-ease-spring),
        color var(--ae-dur-ui) var(--ae-ease-spring),
        opacity var(--ae-dur-ui) var(--ae-ease-spring);
}
.ba-header-access-item:active,
.ba-menu-button:active,
.ba-user-dropdown-btn:active,
.fsh-page-link:active,
.circle-iconbox-42px:active,
.swiper-button-next:active,
.swiper-button-prev:active,
.fr-nav-prev:active,
.fr-nav-next:active,
.vg-button-prev:active,
.vg-button-next:active {
    transform: scale(0.90);
    transition-duration: var(--ae-dur-press);
}

/* Urun karti: tiklanabilir oldugunu basildigi an belli etsin.
   Olcek cok kucuk tutuldu, kart listesinde titreme yapmasin. */
.product-card {
    transition: transform var(--ae-dur-release) var(--ae-ease-spring);
}
.product-card:active {
    transform: scale(0.985);
    transition-duration: var(--ae-dur-press);
}

/* ------------------------------------------------------------
   MADDE 11 - Duzen kiran gecisleri kaldir
   `letter-spacing` bir DUZEN ozelligidir; animasyonlandiginda
   her karede yeniden akis hesaplanir ve komsu ogeler kayar.
   Ayni "bu oge etkilesimli" ipucu transform ile verildi;
   transform derleyicide calisir, akisa dokunmaz.
   Durgun haldeki harf araligi TIPOGRAFI OLCEGI blogundaki
   deger ile ayni tutuldu (-0.006em), boylece hover'da
   tipografi degismiyor.
   ------------------------------------------------------------ */
.mega-nav-link {
    transition:
        transform var(--ae-dur-ui) var(--ae-ease-spring),
        color var(--ae-dur-ui) var(--ae-ease-spring);
}
.mega-nav-link:hover {
    letter-spacing: -0.006em;
    transform: translateX(3px);
}

/* Urun karti kapagi: `transition: all` yerine yalnizca transform.
   Kapak zaten sadece olcekleniyordu. */
.product-card-banner .banner {
    transition: transform 350ms var(--ae-ease-spring);
}

/* ------------------------------------------------------------
   MADDE 12 - Malzeme ve derinlik
   Buyuk yuzeyler daha "kalin" okunsun: guclu blur + derin golge.
   Kucuk yuzeyler ince kalsin.
   ------------------------------------------------------------ */

/* Mobil menu ve filtre cekmecesi: yari saydam katman, icerik
   altindan aksin. */
.offcanvas.menuoffcanvas,
.offcanvas.filter-offcanvas {
    background-color: rgba(255, 255, 255, 0.86);
    -webkit-backdrop-filter: saturate(180%) blur(22px);
    backdrop-filter: saturate(180%) blur(22px);
    box-shadow: 0 24px 60px rgba(30, 22, 12, 0.18);
}

/* SEPET CEKMECESI (#offcanvasCart) BILEREK YARI SAYDAM YAPILMADI.
   Zemini panelden yonetiliyor: layouts/themes/baby/body.blade.php
   icindeki tema ayari '.offcanvas.offcanvas-end' icin
   'background: <panel rengi> !important' basiyor. Buraya sabit bir
   yari saydam beyaz yazmak, kullanicinin panelden sectigi rengi
   kalici olarak EZERDI. Yalnizca derinlik (golge) eklendi; renk
   kararina dokunulmadi. Panelden yari saydam bir deger secilirse
   gorunum kendiliginden standarda uyar. */
.offcanvas#offcanvasCart {
    box-shadow: 0 24px 60px rgba(30, 22, 12, 0.18);
}

/* Yari saydam yuzey uzerinde duz gri metin kullanilmaz:
   kontrast ve agirlik artirildi (madde 12, son cumle). */
.offcanvas.menuoffcanvas .mobile-menuitem-a,
.offcanvas#offcanvasCart .offcanvas-title,
.offcanvas.filter-offcanvas .form-checkbox-label {
    color: var(--blackColor);
    font-weight: 500;
}

/* ------------------------------------------------------------
   MADDE 16 - Odak gostergesi (klavye kullanicisi)
   Tema `button:focus { box-shadow: none }` ile odak izini tamamen
   siliyordu: klavyeyle gezen kullanici nerede oldugunu goremiyordu.
   :focus-visible kullanildi -> fareyle tiklamada halka CIKMAZ,
   yalnizca klavye/yardimci teknoloji odaginda cikar.
   ------------------------------------------------------------ */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
.product-card:focus-visible,
.ba-nav-link:focus-visible,
.ba-nav-dropdown-link:focus-visible,
.mega-nav-link:focus-visible,
.mage-nav-sublink:focus-visible,
.mobile-menuitem-a:focus-visible,
.footer-nav-link:focus-visible,
.ba-header-access-item:focus-visible,
.ba-menu-button:focus-visible,
.ba-user-dropdown-btn:focus-visible,
.dropdown-item:focus-visible,
.fsh-page-link:focus-visible,
.btn-close:focus-visible,
.swiper-pagination-bullet:focus-visible,
.nav-link:focus-visible {
    outline: 2px solid var(--blackColor);
    outline-offset: 3px;
    /* Koyu zeminli ogelerde halkanin kaybolmamasi icin ince
       beyaz ara cember (cift halka teknigi). */
    box-shadow: 0 0 0 2px var(--whiteColor);
}

/* Form alanlari: halka alana daha yakin dursun, 100px yuvarlak
   kenarli alanlarda tasma yapmasin. */
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.form-control:focus-visible,
.form-check-input:focus-visible {
    outline: 2px solid var(--blackColor);
    outline-offset: 1px;
}

/* ------------------------------------------------------------
   MADDE 16 - Dokunma hedefi en az 44px
   Olculeri BUYUTMEDEN hedefi genisletmek icin sozde oge
   kullanildi: gorsel boyut ve duzen AYNI kaliyor, yalnizca
   tiklanabilir alan buyuyor.
   ------------------------------------------------------------ */
.menuoffcanvas-header .btn-close,
.ba-header-access-item > span,
.ba-menu-button,
.fsh-page-link,
.swiper-pagination-bullet {
    position: relative;
}
/* 16x16 kapatma dugmesi -> 44x44 hedef */
.menuoffcanvas-header .btn-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    transform: translate(-50%, -50%);
}
/* 26-29px ikonlar -> 44x44 hedef.
   DIKKAT: sozde oge, ICERIDEKI span'in uzerine konuldu, sarmalayan
   <a>'nin degil. Cunku sepet ikonunda tiklama isleyicisi (onclick +
   data-bs-toggle="offcanvas") span uzerindedir; sozde oge <a>'ya
   konulsaydi tiklama span'a hic ulasmaz ve SEPET CEKMECESI ACILMAZDI.
   Span uzerinde oldugu icin olay hedefi span kalir, oradan <a>'ya
   kabarir; her iki tetikleyici de calisir. */
.ba-header-access-item > span::after,
.ba-menu-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 44px;
    min-height: 44px;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}
/* 40px sayfalama dugmesi -> 44x44 hedef (aradaki bosluk 12px,
   komsu dugmelerle cakisma olmaz) */
.fsh-page-link::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
/* Swiper noktalari (8-10px) -> 24x32px hedef.
   Tam 44px verilmedi: nokta seridi slaytlarin hemen altinda duruyor,
   44px'lik gorunmez kutu slayt icerigini kapatip oradaki tiklamalari
   yutabilirdi. 32px, 8px'e gore 4 kat iyilesme ve cakisma yok. */
.swiper-pagination-bullet::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 32px;
    transform: translate(-50%, -50%);
}

/* ============================================================
   ALTERNATIF EGITIMCILER - FORM GERI BILDIRIMI (standart madde 16)
   "Geri bildirim dort turdur: durum, tamamlanma, uyari, hata.
    Dogrulama satir ici olsun, gonderimde degil."

   Tema sunucudan donen dogrulama hatasini alanin HEMEN ALTINA
   <small class="form-validation-error-label"> olarak basiyordu
   (common_scripts.blade.php), ama:
     - alanin kendisi hicbir sekilde gecersiz GORUNMUYORDU,
     - mesaj kucuk ve soluktu.
   Asagidaki kurallar, hata etiketi varken alanin kenarligini
   kirmiziya cevirir. JS gerekmiyor: :has() ile alanin hemen
   ardindan gelen hata etiketi algilaniyor.
   ============================================================ */
.form-validation-error-label {
    display: block;
    margin-top: 6px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: #B3261E;
}

/* Hata etiketi takip ediyorsa alan gecersiz gorunur.
   :has() desteklenmeyen cok eski tarayicida kural yok sayilir,
   mesaj yine gorunur -> kademeli iyilesme.

   '!important' zorunlu: panel/tema kaynakli
   '.fsh-form-control { border-color: #000000 !important }' kurali
   var; onsuz hata kenarligi hic gorunmuyordu (olculerek dogrulandi). */
input:has(+ .form-validation-error-label),
select:has(+ .form-validation-error-label),
textarea:has(+ .form-validation-error-label),
.form-control:has(+ .form-validation-error-label),
.fsh-form-control:has(+ .form-validation-error-label) {
    border-color: #B3261E !important;
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
    border-color: #B3261E !important;
}

/* Basari/uyari bildirimi (toast) MADDE 7: ekranin sag ustunden
   gelir, ayni yoldan geri gider. Bootstrap varsayilani yalnizca
   soluyordu; yon bilgisi yoktu. */
.toast-container .toast {
    transform-origin: top right;
    transition:
        opacity var(--ae-dur-ui) var(--ae-ease-spring),
        transform var(--ae-dur-ui) var(--ae-ease-spring);
}
.toast-container .toast:not(.show) {
    transform: translateX(16px) scale(0.96);
}
.toast-container .toast.show {
    transform: translateX(0) scale(1);
}

/* ============================================================
   ALTERNATIF EGITIMCILER - GEZINTI BAGLANTILARI GECIS HIJYENI
   (standart madde 11)
   Bu baglantilarda yalnizca RENK degisiyordu ama gecis
   `transition: .3s` yani TUM ozellikler uzerinden tanimliydi.
   Liste daraltildi; boylece ileride bir duzen ozelligi
   degisirse yanlislikla animasyona girmez.
   ============================================================ */
.ba-nav-link,
.ba-nav-dropdown-link,
.mage-nav-sublink,
.mobile-menuitem-a,
.footer-nav-link,
.mega-nav-title,
.dropdown-item {
    transition:
        color var(--ae-dur-ui) var(--ae-ease-spring),
        background-color var(--ae-dur-ui) var(--ae-ease-spring),
        opacity var(--ae-dur-ui) var(--ae-ease-spring);
}

.ae-pc {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ae-pc__media {
    position: relative;
    flex: 0 0 auto;
    max-height: none;
}

.ae-pc--lg .ae-pc__media {
    aspect-ratio: 16 / 10;
}

.ae-pc__medialink {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.ae-pc__media .ae-pc__img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ae-pc__media .ae-pc__img--2 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    transition: opacity 420ms var(--ae-ease-spring, ease);
}
.ae-pc__medialink--dual .ae-pc__img--1 {
    transition: opacity 420ms var(--ae-ease-spring, ease);
}
.ae-pc:hover .ae-pc__medialink--dual .ae-pc__img--1,
.ae-pc:focus-within .ae-pc__medialink--dual .ae-pc__img--1 {
    opacity: 0;
}
.ae-pc:hover .ae-pc__img--2,
.ae-pc:focus-within .ae-pc__img--2 {
    opacity: 1;
}

.ae-pc__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    padding: 4px 11px;
    border-radius: 40px;
    background: #D4456F;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.01em;
    box-shadow: 0 2px 8px rgba(60, 45, 30, .18);
}

.ae-pc__fav {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #E8E0D6;
    border-radius: 50%;
    background: #fff;
    color: #3B3B3B;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(60, 45, 30, .12);
    transition:
        color var(--ae-dur-ui, 300ms) var(--ae-ease-spring, ease),
        background-color var(--ae-dur-ui, 300ms) var(--ae-ease-spring, ease),
        transform var(--ae-dur-release, 260ms) var(--ae-ease-spring, ease);
}
.ae-pc__fav::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.ae-pc__fav:hover {
    color: #D4456F;
}
.ae-pc__fav:active {
    transform: scale(0.90);
    transition-duration: var(--ae-dur-press, 80ms);
}

.ae-pc__fav.active {
    background: #D4456F;
    border-color: #D4456F;
    color: #fff;
}

.ae-pc__cart {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition:
        opacity var(--ae-dur-ui, 300ms) var(--ae-ease-spring, ease),
        transform var(--ae-dur-ui, 300ms) var(--ae-ease-spring, ease);
}
.ae-pc:hover .ae-pc__cart,
.ae-pc:focus-within .ae-pc__cart {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.ae-pc__cartbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;            
    padding: 10px 14px;
    border: 0;
    border-radius: 60px;
    background: #1A1A1A;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.005em;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition:
        background-color var(--ae-dur-ui, 300ms) var(--ae-ease-spring, ease),
        transform var(--ae-dur-release, 260ms) var(--ae-ease-spring, ease);
}
.ae-pc__cartbtn:hover {
    background: #000;
    color: #fff;
}
.ae-pc__cartbtn:active {
    transform: scale(0.97);
    transition-duration: var(--ae-dur-press, 80ms);
}

@media (hover: none) {
    .ae-pc__cart {
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }
    .ae-pc__img--2 {
        display: none;
    }
}

.ae-pc__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.ae-pc__status {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 7px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6E6257;
}
.ae-pc__dot {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ae-pc-dot, #8A7A66);
}

.ae-pc__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    margin-bottom: 6px;
}
.ae-pc__title a {
    color: inherit;
    text-decoration: none;
}
.ae-pc:hover .ae-pc__title a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ae-pc__note {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 9px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #7C7467;
}

.ae-pc__rating {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 9px;
}
.ae-pc__stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.ae-pc__stars svg {
    display: block;
}
.ae-pc__ratingtext {
    font-size: 13px;
    font-weight: 600;
    color: #4A4A4A;
}
.ae-pc__ratingcount {
    font-weight: 400;
    color: #909090;
}

.ae-pc__pricerow {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}
.ae-pc__price {
    font-weight: 700;
}
.ae-pc__oldprice {
    font-size: 14px;
    font-weight: 500;
    color: #9D9D9D;
    text-decoration-thickness: 1px;
}

.ae-pc--list {
    flex-direction: row;
    align-items: flex-start;
    gap: 18px;
    padding: 14px;
    border: 1px solid #E8E0D6;
    border-radius: 16px;
    background: #fff;
}
.ae-pc--list .ae-pc__media {
    width: 190px;
    flex: 0 0 190px;
    margin-bottom: 0;
}
.ae-pc--list .ae-pc__body {
    padding-top: 2px;
}
.ae-pc--list .ae-pc__note {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
@media all and (max-width: 575px) {
    .ae-pc--list {
        flex-direction: column;
        gap: 12px;
    }
    .ae-pc--list .ae-pc__media {
        width: 100%;
        flex: 0 0 auto;
    }
}

@media all and (max-width: 575px) {
    .ae-pc__badge { top: 8px; left: 8px; font-size: 12px; padding: 3px 9px; }
    .ae-pc__fav { top: 8px; right: 8px; width: 32px; height: 32px; }
    .ae-pc__cart { left: 8px; right: 8px; bottom: 8px; }
    .ae-pc__cartbtn { font-size: 13px; padding: 9px 10px; }
    .ae-pc__status { font-size: 11px; letter-spacing: 0.05em; }
    .ae-pc__note { font-size: 13px; }
    .ae-pc__oldprice { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    .ae-pc__img--2 {
        display: none !important;
    }
    .ae-pc:hover .ae-pc__medialink--dual .ae-pc__img--1,
    .ae-pc:focus-within .ae-pc__medialink--dual .ae-pc__img--1 {
        opacity: 1 !important;
    }
    .ae-pc__cart {
        transform: none !important;
    }
    .ae-pc__fav:active,
    .ae-pc__cartbtn:active {
        transform: none !important;
    }
    .ae-pc:hover .product-card-banner {
        transform: none !important;
    }
}

@media all and (max-width: 767px) {
    .ae-pc--lg .ae-pc__media { aspect-ratio: 310 / 245; }
}
@media all and (max-width: 575px) {
    .ae-pc--lg .ae-pc__media { aspect-ratio: 310 / 260; }
}

.products-slider .swiper-wrapper {
    align-items: stretch;
}
.ae-pc.swiper-slide {
    height: auto;
}
