@font-face{font-family:Handlee;src:url('/Fonts/Handlee-Regular.ttf') format('truetype');font-display:swap}
:root{
    --ink:#212529;
    --muted:#657078;
    --pink:#f9cbd5;
    --pink-dark:#e8849e;
    --cream:#fffaf5;
    --line:#e9e6e5;
    --white:#fff;
    --radius:20px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{margin:0;background:#fff;
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.5}a{color:inherit
    }
button,input{font:inherit}

button,a{ -webkit-tap-highlight-color:transparent}

a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ba4168;outline-offset:3px}

.wrap{width:min(1200px,calc(100% - 40px));
    margin-inline:auto
}
.skip-link{position:absolute;
    left:12px;
    top:-100px;
    background:#fff;
    padding:12px;
    z-index:100
}
.skip-link:focus{top:10px}.topline{background:#212529;
    color:#fff;
    text-align:center;
    font-size:13px;
    padding:8px 12px;
    letter-spacing:.02em}
    
.site-header{background:#fff;
    border-bottom:1px solid var(--line);
    position:relative;
    z-index:5
}

.header-inner{
    min-height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px
}

.brand{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    font-family:Handlee,'Trebuchet MS',sans-serif;
    font-size:clamp(25px,3vw,35px);
    font-weight:700;
    white-space:nowrap
}

.brand-mark{
    background:var(--pink);
    border-radius:50%;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    font-family:Arial;
    font-size:24px;
    color:#7e344d
}

.brand-dot{
    color:#b55d78
}

.main-nav{
    display:flex;
    align-items:center;
    gap:25px
}
.main-nav a{
    text-decoration:none;
    font-weight:700;
    font-size:14px
}

.main-nav a:hover,.text-link:hover{
    text-decoration:underline;
    text-decoration-color:var(--pink-dark);
    text-underline-offset:5px
}

.menu-toggle{
    display:none;
    background:#fff;
    border:1px solid var(--line);
    padding:9px 13px;
    border-radius:9px;
    cursor:pointer
}

.hero{
    background:linear-gradient(115deg,#fff4f4 0%,#fff9f1 54%,#f6f9fa 100%);
    overflow:hidden
}

.hero-layout{
    min-height:570px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:30px;
    align-items:center
}

.hero-copy{
    padding:65px 0 75px
}

.eyebrow{
    display:inline-block;
    color:#a54d69;
    font-size:12px;
    font-weight:800;
    letter-spacing:.17em
}

.hero h1{
    font-size:clamp(43px,5.6vw,77px);
    line-height:1.1;
    letter-spacing:-.05em;
    margin:18px 0 24px;
    font-weight:850
}

.hero h1 em{
    font-family:Handlee,'Trebuchet MS',sans-serif;
    font-weight:700;
    font-style:normal;
    color:#bb5f7b;
    letter-spacing:-.03em
}

.hero-copy>p{
    max-width:540px;
    color:#505960;
    font-size:18px;
    line-height:1.7
}

.hero-search{
    max-width:600px;
    margin-top:30px
}

.hero-search label{
    display:block;
    font-size:14px;
    font-weight:800;
    margin-bottom:10px
}

.search-field{
    display:flex;
    align-items:center;
    gap:12px;
    padding:7px 7px 7px 16px;
    border-radius:13px;
    background:#fff;
    border:1px solid #e6d8d9;box-shadow:0 10px 30px #643f4b12
}

.search-field svg{
    flex:none;
    color:#8b717a
}

.search-field input{
    flex:1;
    min-width:0;
    border:0;outline:0;
    padding:11px 0;
    font-size:15px
}

.search-field input:focus-visible{
    outline:2px solid #c35b80;
    outline-offset:3px
}

.search-field button,.button-primary{
    border:0;
    border-radius:9px;
    background:var(--ink);
    color:#fff;
    text-decoration:none;
    padding:14px 20px;
    font-weight:800;
    cursor:pointer;
    display:inline-block;
    white-space:nowrap
}

.search-field button:hover,.button-primary:hover{
    background:#40464c
}

.hero-points{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    color:#59636a;
    font-size:13px;
    margin-top:22px
}

.hero-art{
    height:490px;
    position:relative;
    display:grid;
    place-items:center
}

.art-circle{
    width:min(420px,95%);
    aspect-ratio:1;
    border-radius:50%;
    background:#f9d7de;
    position:absolute;
    box-shadow:inset -40px -35px 0 #f5c6d2
}

.art-main{
    z-index:1;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    transform:rotate(-5deg)
}

.art-main span:first-child{
    font-family:Handlee,cursive;
    font-size:34px;
    color:#8b4c64
}

.art-main strong{
    font-family:Handlee,'Trebuchet MS',sans-serif;
    font-size:clamp(52px,6vw,81px);
    line-height:1.08;
    color:#56313d
}

.art-sparkles{
    font-size:32px;
    color:#c77390;
    margin-top:18px
}

.art-card{
    position:absolute;
    z-index:2;
    background:#fff;
    border:1px solid #f3e5e8;
    box-shadow:0 15px 35px #8d59612a;
    border-radius:16px;
    padding:12px 15px;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:700;
    transform:rotate(-7deg)
}

.art-card-one{
    top:70px;
    left:0
}

.art-card-two{
    bottom:65px;
    right:-5px;
    transform:rotate(7deg)
}

.art-emoji{
    font-size:35px
}

.art-heart{
    position:absolute;
    right:24px;
    top:55px;
    font-size:48px;
    color:#eaa1b4;
    transform:rotate(16deg)
}

.art-cloud{
    position:absolute;
    background:#fff;
    border-radius:50%;
    opacity:.65
}

.art-cloud-one{
    width:60px;
    height:60px;
    top:15px;
    left:90px
}

.art-cloud-two{
    width:30px;
    height:30px;
    bottom:25px;
    left:70px
}

.benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    padding:28px 0;
    border-bottom:1px solid var(--line)
}

.benefits>div{
    display:grid;
    grid-template-columns:44px 1fr;
    column-gap:12px;
    align-items:center
}

.benefit-icon{
    grid-row:span 2;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    background:#fff1f4;
    border-radius:50%;
    font-size:26px;
    color:#b65e79
}

.benefits strong{
    font-size:14px
}

.benefits span:last-child{
    font-size:12px;
    color:var(--muted)
}

.section{
    padding-top:75px;
    padding-bottom:75px
}

.section-heading{
    display:flex
    ;align-items:end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:28px
}

.section-heading h2{
    font-size:clamp(29px,3.5vw,42px);
    letter-spacing:-.035em;
    margin:8px 0
}

.section-heading p{
    color:var(--muted);
    margin:0
}

.text-link{
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap
}

.category-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px
}

.category-card{
    position:relative;
    text-decoration:none;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    padding-bottom:22px;
    background:#fff;
    transition:transform .2s,box-shadow .2s
}

.category-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 30px #21252912
}

.category-image{
    height:190px;
    background:#fff1f3;
    display:grid;
    place-items:center
}

.category-card:nth-child(2) .category-image{
    background:#eef5f5
}

.category-card:nth-child(3) .category-image{
    background:#fff4e6
}

.category-card:nth-child(4) .category-image{
    background:#eef0fb
}

.category-image img{
    height:155px;width:85%;
    object-fit:contain
}

.category-fallback{
    font-size:70px;
    width:100%;
    height:100%;
    place-items:center
}
.category-card h3{
    margin:20px 18px 5px;
    font-size:21px
}

.category-card p{
    margin:0 18px;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
    padding-right:12px
}

.card-arrow{
    position:absolute;
    right:18px;
    bottom:20px;
    color:#b15a76;
    font-size:20px
}

.featured-section{
    background:#f9f8f7
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px
}

.product-card{
    background:#fff;
    border:1px solid #ece9e7;
    border-radius:16px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0
}

.product-image{
    height:200px;
    display:grid;
    place-items:center;
    padding:17px
}

.product-image img{
    width:100%;
    height:100%;
    object-fit:contain
}

.product-content{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:16px;
    border-top:1px solid #f0efed
}

.product-brand{
    font-size:12px;
    color:#986077;
    font-weight:700
}

.product-card h3{
    font-size:15px;
    line-height:1.5;
    margin:7px 0 18px;
    overflow-wrap:anywhere;
    display:-webkit-box;-webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden
}

.product-card h3 a{
    text-decoration:none
}

.product-card h3 a:hover{
    text-decoration:underline
}

.product-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:auto
}

.product-bottom strong{
    font-size:20px
}

.view-product{
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    color:#a34e69
}

.price-note{
    color:var(--muted);
    font-size:12px;
    margin:18px 0 0
}

.empty-products{
    background:#fff;
    border-radius:18px;
    padding:35px;
    text-align:center
}

.empty-products p{
    color:var(--muted)
}

.guide-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}

.guide-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    border-radius:18px;
    padding:28px;
    text-decoration:none;
    min-height:310px;
    transition:transform .2s
}

.guide-card:hover{
    transform:translateY(-3px)
}

.guide-pink{
    background:#fde8ed
}

.guide-blue{
    background:#eaf4f7
}

.guide-cream{
    background:#fff2dc
}

.guide-icon{
    font-size:42px;
    margin-bottom:22px
}

.guide-tag{
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    color:#92536a
}

.guide-card h3{
    font-size:25px;
    line-height:1.2;
    margin:10px 0
}

.guide-card p{
    font-size:14px;
    color:#5b6268;
    line-height:1.6
}

.guide-card strong{
    margin-top:auto;
    font-size:14px
}

.compare-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    background:#f6d8e1;
    border-radius:22px;
    padding:40px 45px;
    margin-bottom:80px
}

.compare-banner h2{
    font-size:clamp(25px,3vw,36px);
    margin:8px 0
}

.compare-banner p{
    margin:0;
    color:#5d5055
}

.site-footer{
    background:#212529;
    color:#f8f8f8
}

.footer-layout{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:60px;
    padding-top:60px;
    padding-bottom:45px
}

.footer-brand{
    font-size:30px
}

.footer-layout p{
    max-width:330px;
    font-size:14px;
    color:#c8cbd0;
    line-height:1.8
}

.footer-layout h2{
    font-size:15px;
    margin:8px 0 17px
}

.footer-layout>div:not(:first-child){
    display:flex;
    flex-direction:column;
    gap:12px
}

.footer-layout a:not(.brand){
    font-size:14px;
    color:#d4d7db;
    text-decoration:none
}

.footer-layout a:hover{
    text-decoration:underline
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #495057;
    padding:22px 0 30px;
    font-size:12px;
    color:#c8cbd0
}


@media(max-width:1024px){
    .main-nav{gap:14px}
    .main-nav a{font-size:12px}
    .hero-layout{grid-template-columns:1.15fr .85fr}
    .art-card-one{left:-10px}
    .category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .category-image{height:210px}
}

@media(max-width:767px){
    .header-inner{min-height:74px;flex-wrap:wrap}
    
    .menu-toggle{display:block}
    
    .main-nav{
        display:none;
        flex-basis:100%;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding-bottom:14px
    }
    
    .main-nav.is-open{display:flex}
    
    .main-nav a{
        font-size:15px;
        padding:12px;
        border-top:1px solid var(--line)
    }
    
    .hero-layout{grid-template-columns:1fr}
    
    .hero-copy{padding:50px 0 25px}
    
    .hero-art{height:350px}
    
    .art-circle{width:300px}
    
    .art-main strong{font-size:57px}
    
    .art-card-one{left:5%}
    
    .art-card-two{right:3%;bottom:35px}
    
    .benefits{grid-template-columns:1fr;gap:18px}
    
    .section{padding-top:55px;padding-bottom:55px}
    
    .section-heading{
        align-items:start;
        flex-direction:column;
        gap:14px
    
    
    }
    
    .guide-grid{grid-template-columns:1fr}
    
    .guide-card{min-height:260px}
    
    .compare-banner{
        flex-direction:column;
        align-items:start;
        padding:30px;
        margin-bottom:55px
    }
    
    .footer-layout{
        grid-template-columns:1fr 1fr;
        gap:30px
    }
    
    .footer-layout>div:first-child{grid-column:1/-1}
    
    .footer-bottom{flex-direction:column}}

@media(max-width:480px){
    .wrap{width:min(100% - 28px,1200px)}
    
    .hero h1{font-size:47px}
    
    .hero-copy>p{font-size:16px}
    
    .search-field{
        gap:6px;
        padding-left:10px
    }
    
    .search-field input{font-size:13px}
    
    .search-field button{
        padding:13px 12px;
        font-size:13px
    }
    
    .hero-points{
        gap:10px;
        font-size:11px
    }
    
    .hero-art{height:300px}
    
    .art-circle{width:255px}
    
    .art-main strong{font-size:48px}
    
    .art-main span:first-child{font-size:26px}
    
    .art-card{
        padding:8px;
        font-size:10px
    }
    
    .art-emoji{font-size:25px}
    
    .art-card-one{top:28px}
    
    .art-card-two{bottom:30px}
    
    .category-grid,.product-grid{grid-template-columns:1fr}
    
    .category-image{height:190px}
    
    .footer-layout{grid-template-columns:1fr}
    
    .footer-layout>div:first-child{grid-column:auto}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* BabyFayre original logo: full width, centred, above the navigation */
.logo-banner{background:#fff;
    text-align:center;
    padding:12px 16px 8px
}

.logo-banner a{
    display:block;
    max-width:1086px;
    margin:0 auto;
    line-height:0

}

.logo-banner img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain

}
.site-header .header-inner{justify-content:flex-end}

@media(max-width:767px){
    .site-header .header-inner{justify-content:space-between}
    
    .logo-banner{padding:8px 10px 4px}}

    /* Recently Added Products */
.product-card a img {
    width: 100%;
    height: 200px;
    object-fit: contain !important;
}

.product-card h3 {
    position: static;
    color: #212529;
    margin-top: 10px;
}

.product-card .price {
    position: static;
    color: #212529;
}

.footer-logo {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding: 20px;
}

.footer-logo img {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
    object-fit: contain;
}