/*
Theme Name: SmartWomenLife GP Child
Theme URI: https://smartwomenlife.com
Description: GeneratePress child theme for SmartWomenLife.com - premium feminine lifestyle, wellness, beauty and digital products website.
Author: SmartWomenLife
Template: generatepress
Version: 1.0.0
Text Domain: smartwomenlife-gp-child
*/

@import url('../generatepress/style.css');

/* ===== Header ===== */

.swl-header{
    background:#fff;
    box-shadow:0 8px 30px rgba(222,49,99,.08);
    position:relative;
    z-index:999;
}

.swl-header-top{
    background:linear-gradient(135deg,#fff 0%,#fff5f8 45%,#ffe1ea 100%);
    padding:22px 0 20px;
}

.swl-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    text-decoration:none;
    text-align:left;
}

.swl-logo-wrap{
    width:145px;
    height:145px;
    border-radius:50%;
    background:#fff;
    padding:8px;
    box-shadow:0 15px 35px rgba(222,49,99,.22);
    border:3px solid rgba(255,182,193,.8);
}

.swl-logo{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.swl-site-title{
    font-size:52px;
    line-height:1;
    font-weight:800;
    color:#DE3163;
    letter-spacing:-1px;
}

.swl-site-tagline{
    margin-top:10px;
    font-size:20px;
    color:#6b3a49;
    font-weight:500;
}

.swl-header-nav-wrap{
    background:linear-gradient(135deg,#DE3163,#DC143C);
    padding:0;
}

.swl-nav > ul,
.swl-nav .menu{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    list-style:none;
    margin:0;
    padding:0;
}

.swl-nav li{
    position:relative;
    list-style:none;
}

.swl-nav a{
    display:block;
    padding:17px 22px;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:16px;
    border-radius:0;
    transition:.25s ease;
}

.swl-nav a:hover{
    background:rgba(255,255,255,.18);
    color:#fff;
}

/* Dropdown */
.swl-nav ul ul{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:240px;
    background:#fff;
    padding:12px 0;
    border-radius:0 0 18px 18px;
    box-shadow:0 18px 38px rgba(74,34,48,.18);
    z-index:9999;
}

.swl-nav li:hover > ul{
    display:block;
}

.swl-nav ul ul a{
    color:#4A2230;
    padding:13px 20px;
    font-size:15px;
    white-space:nowrap;
}

.swl-nav ul ul a:hover{
    background:#fff0f5;
    color:#DE3163;
}

/* =========================
   Mobile Header Menu Fix
========================= */

@media(max-width:768px){

    .swl-header-nav-wrap{
        padding:14px 18px 18px;
        background:linear-gradient(135deg,#DE3163,#DC143C);
    }

    .swl-mobile-menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        width:100%;
        max-width:420px;
        margin:0 auto;
        background:#ffffff;
        color:#DE3163;
        border:0;
        border-radius:50px;
        padding:13px 20px;
        font-size:17px;
        font-weight:800;
        cursor:pointer;
        box-shadow:0 10px 24px rgba(74,34,48,.22);
    }

    .swl-mobile-menu-toggle span{
        width:22px;
        height:3px;
        background:#DE3163;
        border-radius:20px;
        display:block;
    }

    .swl-mobile-menu-toggle strong{
        color:#4A2230;
    }

    .swl-nav{
        display:none;
        max-width:420px;
        margin:14px auto 0;
        background:#ffffff;
        border-radius:22px;
        overflow:hidden;
        box-shadow:0 14px 35px rgba(74,34,48,.22);
    }

    .swl-nav.swl-nav-open{
        display:block;
    }

    .swl-nav > ul,
    .swl-nav .menu{
        display:block !important;
        margin:0;
        padding:8px 0;
        list-style:none;
    }

    .swl-nav li{
        width:100%;
        margin:0;
        padding:0;
        position:relative;
    }

    .swl-nav a{
        display:block;
        color:#4A2230;
        padding:14px 22px;
        font-size:16px;
        font-weight:700;
        line-height:1.3;
        text-decoration:none;
        border-bottom:1px solid #ffe1ea;
    }

    .swl-nav li:last-child > a{
        border-bottom:0;
    }

    .swl-nav a:hover{
        background:#fff0f5;
        color:#DE3163;
    }

    .swl-nav ul ul{
        position:static;
        display:block;
        min-width:100%;
        background:#fff7fa;
        box-shadow:none;
        border-radius:0;
        padding:0;
        margin:0;
    }

    .swl-nav ul ul a{
        padding:11px 22px 11px 42px;
        font-size:14px;
        font-weight:600;
        color:#6b3a49;
        background:#fff7fa;
    }
}

/* Mobile */
/*@media(max-width:768px){*/
/*    .swl-brand{*/
/*        flex-direction:column;*/
/*        text-align:center;*/
/*        gap:12px;*/
/*    }*/

/*    .swl-logo-wrap{*/
/*        width:115px;*/
/*        height:115px;*/
/*    }*/

/*    .swl-site-title{*/
/*        font-size:34px;*/
/*    }*/

/*    .swl-site-tagline{*/
/*        font-size:15px;*/
/*    }*/

/*    .swl-nav > ul,*/
/*    .swl-nav .menu{*/
/*        flex-wrap:wrap;*/
/*        gap:0;*/
/*    }*/

/*    .swl-nav a{*/
/*        padding:12px 14px;*/
/*        font-size:14px;*/
/*    }*/
/*}*/

/*.swl-mobile-menu-toggle{*/
/*    display:none;*/
/*}*/

/* Mobile Hamburger */
/*@media(max-width:768px){*/

/*    .swl-header-nav-wrap{*/
/*        padding:10px 0;*/
/*    }*/

/*    .swl-mobile-menu-toggle{*/
/*        display:flex;*/
/*        align-items:center;*/
/*        justify-content:center;*/
/*        gap:8px;*/
/*        width:100%;*/
/*        background:#fff;*/
/*        color:#DE3163;*/
/*        border:0;*/
/*        border-radius:999px;*/
/*        padding:12px 20px;*/
/*        font-weight:800;*/
/*        cursor:pointer;*/
/*        box-shadow:0 8px 20px rgba(74,34,48,.15);*/
/*    }*/

/*    .swl-mobile-menu-toggle span{*/
/*        width:22px;*/
/*        height:3px;*/
/*        background:#DE3163;*/
/*        border-radius:10px;*/
/*        display:block;*/
/*    }*/

/*    .swl-nav{*/
/*        display:none;*/
/*        margin-top:12px;*/
/*        background:#fff;*/
/*        border-radius:20px;*/
/*        overflow:hidden;*/
/*        box-shadow:0 12px 30px rgba(74,34,48,.18);*/
/*    }*/

/*    .swl-nav.swl-nav-open{*/
/*        display:block;*/
/*    }*/

/*    .swl-nav > ul,*/
/*    .swl-nav .menu{*/
/*        display:block;*/
/*        padding:10px 0;*/
/*    }*/

/*    .swl-nav li{*/
/*        width:100%;*/
/*    }*/

/*    .swl-nav a{*/
/*        color:#4A2230;*/
/*        padding:14px 20px;*/
/*        border-bottom:1px solid #ffe1ea;*/
/*    }*/

/*    .swl-nav a:hover{*/
/*        background:#fff0f5;*/
/*        color:#DE3163;*/
/*    }*/

/*    .swl-nav ul ul{*/
/*        position:static;*/
/*        display:block;*/
/*        box-shadow:none;*/
/*        border-radius:0;*/
/*        padding:0;*/
/*        background:#fff7fa;*/
/*    }*/

/*    .swl-nav ul ul a{*/
/*        padding-left:38px;*/
/*        font-size:14px;*/
/*    }*/
/*}*/


/*.swl-header{*/
/*    background:#fff;*/
/*    border-bottom:1px solid #f4d6df;*/
/*    padding:15px 0;*/
/*}*/

/*.swl-header-inner{*/
/*    display:flex;*/
/*    align-items:center;*/
/*    justify-content:space-between;*/
/*}*/

/* Brand */

/*.swl-brand{*/
/*    display:flex;*/
/*    align-items:center;*/
/*    gap:15px;*/
/*    text-decoration:none;*/
/*}*/

/* Logo */

/*.swl-logo{*/
/*    width:150px;*/
/*    height:150px;*/
/*    object-fit:contain;*/
/*    display:block;*/
/*}*/

/* Text */

/*.swl-site-branding{*/
/*    display:flex;*/
/*    flex-direction:column;*/
/*}*/

/*.swl-site-title{*/
/*    font-size:30px;*/
/*    font-weight:700;*/
/*    color:#DE3163;*/
/*    line-height:1.1;*/
/*}*/

/*.swl-site-tagline{*/
/*    font-size:14px;*/
/*    color:#666;*/
/*    margin-top:4px;*/
/*}*/

/* ==========================
   SmartWomenLife Page System
========================== */

.swl-page-hero{
    background:linear-gradient(
        135deg,
        #FFB6C1,
        #DE3163,
        #DC143C
    );
    padding:90px 20px;
    text-align:center;
    color:#fff;
}

.swl-page-title{
    font-size:48px;
    font-weight:700;
    margin-bottom:15px;
    line-height:1.2;
}

.swl-page-subtitle{
    max-width:700px;
    margin:auto;
    font-size:18px;
    opacity:.95;
}

.swl-page-card{
    background:#fff;
    max-width:1100px;
    margin:-60px auto 80px;
    padding:50px;
    border-radius:28px;
    box-shadow:
        0 15px 40px rgba(222,49,99,.12);
}

.swl-page-card h2{
    color:#DE3163;
    margin-top:40px;
}

.swl-page-card h3{
    color:#DC143C;
}

.swl-page-card ul{
    padding-left:20px;
}

.swl-page-card p{
    line-height:1.8;
}

@media(max-width:768px){

    .swl-page-title{
        font-size:34px;
    }

    .swl-page-card{
        padding:30px;
        margin:-40px 15px 50px;
    }

}

/* Wellness Hub Page Style */

.swl-category-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
margin-top:30px;
}

.swl-category-card{
background:#fff;
padding:25px;
border-radius:24px;
box-shadow:0 10px 25px rgba(222,49,99,.12);
text-decoration:none;
transition:.3s;
}

.swl-category-card:hover{
transform:translateY(-5px);
}

.swl-category-card h3{
color:#DE3163;
margin-bottom:10px;
}

.swl-post-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;
}

.swl-post-card{
background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:0 10px 25px rgba(222,49,99,.10);
}

.swl-post-card img{
width:100%;
height:220px;
object-fit:cover;
}

.swl-post-card h3{
padding:15px;
color:#DE3163;
}

.swl-post-card p{
padding:0 15px 20px;
}

/* Menu CSS fix */

/* Fix dropdown menu */
.swl-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.swl-nav > ul,
.swl-nav .menu {
    display: flex;
    align-items: center;
    gap: 34px;
}

.swl-nav li {
    position: relative;
}

.swl-nav a {
    display: block;
    text-decoration: none;
    color: #4A2230;
    font-weight: 700;
    padding: 12px 0;
}

/* Hide submenu by default */
.swl-nav ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 230px;
    background: #ffffff;
    padding: 12px 0;
    border-radius: 16px;
    box-shadow: 0 16px 35px rgba(222,49,99,0.18);
    z-index: 9999;
}

/* Show submenu only on hover */
.swl-nav li:hover > ul {
    display: block;
}

.swl-nav ul ul li {
    width: 100%;
}

.swl-nav ul ul a {
    padding: 12px 20px;
    font-size: 15px;
    white-space: nowrap;
}

.swl-nav ul ul a:hover {
    background: #FFF0F5;
    color: #DE3163;
}