/*
Theme Name: Compare PM
Theme URI: https://comparepm.com/
Author: Misha Yazdi
Author URI: https://comparepm.com/
Description: Compare PM
Tags: Custom Theme
Version: 2026
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: Custom Theme

*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{appearance:none;border-radius:0}input[type="search"]{appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}
:root{
    --bg:#f7f8fb;
    --primaryColor:#2d7cff;
    --primaryColorHover:#1e5ed1;
    --secondaryColor:#935cff;
    --secondaryColorHover:#7934ff;
    --textColor:#0B1020;
    --textStrong:#0b1020;
    --textMuted:#5c6475;
    --borderColor: #e6e8ef;
    --danger:#dc2626;
    --focusRing:#94c2ff;
    --headingFont:'Jakarta Sans', sans-serif;
    --bodyFont:'Inter', sans-serif;
    --boxShadow: 0 6px 8px -2px rgba(0, 0, 0, 0.05);
    --transition:0.3s all;
    --transition-long:0.6s all;
    --fullWhite:#fff;
}
body{
    font-family:var(--bodyFont);
    font-weight:400;
    color:var(--textColor);
    background:var(--bg);
    & main{
        font-family:var(--bodyFont);
        font-weight:400;
        color:var(--textColor);
        background:var(--bg);
        & p{
            font-family:var(--bodyFont);
            font-weight:400;
            color:var(--textColor);
            margin-bottom:24px;
            line-height:28px;
            font-size:18px;
            & a{
                color:var(--primaryColor);
                transition:var(--transition);
                text-decoration:none;
                &:hover{
                    color:var(--primaryColorHover);
                }
            }
        }
        &:nth-last-of-type(1){
            margin-bottom:0;
        }
        & span{
            font-family:var(--bodyFont);
            font-weight:400;
            color:var(--textColor);
        }
    }
}
h1, h2, h3, h4, h5, h6{
    font-family:var(--headingFont);
    font-weight:600;
    background-image: linear-gradient(135deg, var(--primaryColor), var(--secondaryColor));
    -webkit-background-clip: text;
    background-clip: text;
    background-color: transparent;
    color: transparent;
    -webkit-text-fill-color: transparent;
    width:fit-content;
    & a{
        color:var(--textColor);
    }
}
h1{
    font-size:34px;
    line-height:42px;
    margin-bottom:24px;
}
h2{
    font-size:28px;
    line-height:36px;
    margin-bottom:20px;
}
h3{
    font-size:24px;
    line-height:32px;
    margin-bottom:20px;
}
h4{
    font-size:21px;
    line-height:29px;
    margin-bottom:20px;
}
h5{
    font-size:20px;
    line-height:28px;
    margin-bottom:18px;
}
h6{
    font-size:18px;
    line-height:26px;
    margin-bottom:18px;
}

/* HEADER CSS */
.logoIcon {
    width: 180px;
    height: 28.67px;
    display: block;
}
header{
    & section{
        box-shadow: var(--boxShadow);
        padding:26px 0;
        background:var(--fullWhite);
    }
    & nav{
        display:flex;
        align-items: center;
        flex-wrap:wrap;
        & .menu{
            display:flex;
            column-gap:28px;
            margin-right:64px;
            & li{
                & a{
                    text-decoration:none;
                    font-family:var(--headingFont);
                    font-size:18px;
                    color:var(--textColor);
                    transition:var(--transition);
                    &:hover{
                        color:var(--primaryColor);
                    }
                }
            }
        }
    }
    .cmpmBtn{
        text-decoration:none;
        font-family:var(--headingFont);
        font-size:18px;
        color:var(--fullWhite);
        transition:var(--transition);
        padding: 12px 24px 16px;
        border-radius: 50px;
        line-height:18px;
        font-weight:650;
        position:relative;
        background-image: linear-gradient(135deg, var(--primaryColor), var(--secondaryColor));
        z-index:1;
        &:before{
            content:'';
            position:absolute;
            background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), var(--secondaryColor), var(--primaryColor));
            top:0;
            left:0;
            right:0;
            bottom:0;
            border-radius:50px;
            z-index:-1;
            transition:opacity 0.6s ease;
            opacity:0;
        }
        &:hover:before{
            opacity: 1;
        }
    }
    & .headerFlex {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
    }
    & aside{
        padding: 11px 16px 10px;
        background: var(--fullWhite);
        box-shadow: var(--boxShadow);
        width: fit-content;
        margin: 40px auto 0;
        border-radius: 50px;
        border: 2px solid var(--secondaryColor);
        & p{
            color: var(--textColor);
            font-family: var(--headingFont);
            font-weight: 500;
            font-size: 13px;
        }
        & a{
            color: var(--secondaryColor);
            text-decoration: none;
            transition: var(--transition);
            font-family: var(--headingFont);
            font-size: 13px;
            font-weight: 600;
            &:hover{
                color:var(--secondaryColorHover);
            }
        }
        & .container{
            padding:0;
        }
        & #breadcrumbs{
            & span{
                font-family:var(--headingFont);
            }
            & > span{
                display:flex;
                align-items: center;
                justify-content: flex-start;
                column-gap:12px;
            }
        }
    }
}
section{
    padding:64px 0;
}

/* FOOTER CSS */
footer{
    & section{
        padding:0 0 32px 0;
    }
    & .mainFooter{
        & .container{
            border-radius: 24px;
            box-shadow: var(--boxShadow);
            background: var(--fullWhite);
            padding:64px 32px;
        }
        & .gridAlignRight {
            display: grid;
            grid-template-columns: 1fr 1fr;
            max-width: 580px;
            margin-left: auto;
            column-gap: 80px;
        }
        & h4{
            margin-bottom:32px;
        }
        & nav{
            display:flex;
            width:100%;
            flex-wrap:wrap;
            row-gap:14px;
            & a{
                color:var(--textColor);
                font-family:var(--headingFont);
                display:flex;
                width:100%;
                text-decoration:none;
                transition:var(--transition);
                &:hover{
                    color:var(--secondaryColorHover);
                }
            }
        }
    }
    & #copyright{
        font-family:var(--headingFont);
        font-size:14px;
        font-weight:300;
    }
    & #footerSitemap{
        & a{
            color:var(--textColor);
            text-decoration:none;
            font-family:var(--headingFont);
            font-weight:300;
            transition:var(--transition);
            &:hover{
                color:var(--secondaryColorHover);
            }
        }
    }
}

/* OFTEN RECURRING SPECIAL CLASSES */
.checkmark{
    color:var(--primaryColor);
    width:26px;
    height:auto;
}
.crossmark{
    color:var(--danger);
    width:26px;
    height:auto;
}
/* DEFAULT CLASSES */
.row{
    display:flex;
    flex-wrap:wrap;
    width:100%;
}
.container{
    max-width:1340px;
    width:100%;
    display:block;
    margin:0 auto;
    padding:0 16px;
}
.flex{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    width:100%;
}
.justifyBetween{
    justify-content: space-between;
}
/* --- HAMBURGER MENU STYLES --- */

/* Button (Hidden on Desktop) */
#hamburgerBtn {
    display: none;
    flex-direction: column;
    justify-content: center;
    row-gap: 6px;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001; /* Above popup */
    padding: 0;
    position: relative;
}

#hamburgerBtn .line {
    width: 28px;
    height: 2px;
    background-color: var(--textColor);
    display: block;
    margin: 0 auto;
    transition: var(--transition);
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) {
    .container{
        padding: 0 32px;
    }
    /* Show Hamburger */
    #hamburgerBtn {
        display: flex;
    }

    /* Transform Main Menu into Mobile Popup */
    #mainMenu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: var(--bg);
        z-index: 1000;
        opacity: 0;
        visibility: hidden; /* GSAP will handle this */
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 80px 20px;
    }

    #mainMenu .menu {
        flex-direction: column;
        margin-right: 0;
        text-align: center;
        margin-bottom: 32px;
        row-gap: 24px;
    }

    #mainMenu .menu li a {
        font-size: 28px;
        font-weight: 600;
    }

    /* Style the Compare Button in Mobile Menu */
    #mainMenu #compareBtn {
        font-size: 20px;
        padding: 14px 32px;
    }
}
@media (max-width: 768px) {
    main{
        & h1{
            font-size:28px;
            line-height:36px;
        }
        & p{
            font-size:14px;
            line-height:18px;
        }
    }
}