/*
Theme Name: Geek2.0
Author: Geek Powered of WI, LLC
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.0
Version: 1.1
*/

/* === Parent Theme CSS === */
/*
  Merged style.css for ConsultingCore
  - Combines original theme CSS with Additional CSS customizations
  - Removes duplicated declarations
  - Keeps only necessary !important where Core/inline styles need overriding
  - Groups rules logically; preserves behavior
*/

/* =====================
   0) BASE / NORMALIZE
   ===================== */
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0}
main{display:block}
hr{box-sizing:content-box;height:0;overflow:visible}
pre,code,kbd,samp{font-family:monospace,monospace;font-size:1em}
abbr[title]{border-bottom:none;text-decoration:underline dotted}
b, strong{font-weight:bolder}
small{font-size:80%}
sub, sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}sup{top:-.5em}
img{border-style:none}
button,input,optgroup,select,textarea{font:inherit;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}
fieldset{padding:.35em .75em .625em}
legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}
progress{vertical-align:baseline}
textarea{overflow:auto}
[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}
[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}
[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
details{display:block}
.has-border-radius {
    border-radius:6px !important ;
}
summary{display:list-item}
template{display:none}
[hidden]{display:none}

/* Global minor fixes */
footer.wp-block-template-part{margin:0}
header.wp-block-template-part{position:relative;z-index:99}
.orderby{padding:15px}


/* =====================
   1) HEADER / NAV / STICKY
   ===================== */
/* Sticky header and layering */
header[role="banner"],
.wp-block-template-part__header,
.wp-block-group.is-position-sticky{position:sticky;top:0;z-index:1000}

/* Ensure no ancestor breaks sticky via overflow */
.wp-site-blocks,
.is-layout-constrained,
.is-layout-flex{overflow:visible!important}

/* Admin-bar offsets */
@media (min-width:783px){
  body.admin-bar header[role="banner"],
  body.admin-bar .wp-block-group.is-position-sticky{top:32px}
}
@media (max-width:782.98px){
  body.admin-bar header[role="banner"],
  body.admin-bar .wp-block-group.is-position-sticky{top:46px}
}

/* Support page login centering */
.fst_login_form_auth_wrapper, .fst_login_wrapper {
    margin: auto;
    text-align:center;
    width:90%;
}

.fst_login_wrapper form#loginform .input {
    width: 90%;
    border-radius: 6px;
    border: 2px;
}
.fst_login_wrapper input#wp-submit {
    background: var(--wp--preset--color--primary);
    width: 50%;
    transition:0.3s;
}
.fst_login_wrapper input#wp-submit:hover {
    background: var(--wp--preset--color--accent-3);
    width: 50%;
}
/* ticket portal text color fix */
.fs_client_portal .fs_ticket_wrapper .fs_tickets_container .fs_tickets_table .el-table .el-table__body .fs_ticket_row td.conversation-cell .fs_ticket_conversation .fs_ticket_title strong{
    color: var(--fs-text-strong);
}

/* Header gradient background */
@media screen and (min-width:780px){
  .header-background{background:linear-gradient(65deg,
    var(--wp--preset--color--base) 0%,
    var(--wp--preset--color--base) 40%,
    var(--wp--preset--color--accent) 40%,
    var(--wp--preset--color--accent) 45%,
    var(--wp--preset--color--primary) 45%,
    var(--wp--preset--color--primary) 50%,
    var(--wp--preset--color--secondary) 50%,
    var(--wp--preset--color--secondary) 100%)}
}
@media screen and (max-width:781px){
  .header-background{background:linear-gradient(65deg,
    var(--wp--preset--color--base) 0%,
    var(--wp--preset--color--base) 70%,
    var(--wp--preset--color--accent) 70%,
    var(--wp--preset--color--accent) 75%,
    var(--wp--preset--color--primary) 75%,
    var(--wp--preset--color--primary) 100%)}
}

/* Site title minor tweaks */
.wp-block-site-title{line-height:40px;text-shadow:0 0 1px currentcolor}

/* Header primary/secondary CTA buttons */
.header-primary-action,
.header-secondary-action{position:relative;border-radius:6px;color:#fff;overflow:hidden;cursor:pointer}
.header-primary-action{padding:8px 8px 6px;padding-top:10px}
.header-secondary-action{border:2px solid var(--wp--preset--color--primary);padding:6px;padding-top:8px;padding-bottom:4px;background:transparent}

/* oops not this :p oh well
.header-nav-text {
    border-radius: 6px;
    padding:6px !important;
    transition:background 0.3s, border-color 0.3s;
}
.header-nav-text:hover{
    background: var(--wp--preset--color--accent-3);
}
*/

/* media check for mobile user to make the animation not exist on the nav comtainer */
/* this code needs to be moved into the areas below for the nav to make it corrispond to the correct colors */
/* temp removal
@media screen and (min-width:600px){
    .header-primary-action::before,
    .header-secondary-action::before{content:"";position:absolute;top:calc((100% - 1000px)/2);left:0;width:200%;height:1000px;transition:transform .4s;pointer-events:none;transform:rotate(-25deg) translateX(-100%)}
    .header-primary-action::before{background:var(--wp--preset--color--button-hover-color)}
    .header-secondary-action::before{background:var(--wp--preset--color--primary)}
    .header-primary-action:hover::before,
    .header-secondary-action:hover::before{transform:rotate(-25deg) translateX(0)}
    .header-primary-action>.wp-block-navigation-item__content:hover,
    .header-secondary-action>.wp-block-navigation-item__content:hover{color:#fff}
} 
*/
/* Match 'Client Area' header-primary-action to Schedule a Consultation button */
/* this media check is for checking if user is on mobile */
@media screen and (min-width:600px){
    .wp-block-navigation-item.header-primary-action .wp-block-navigation-item__label {
        color: #fff;
        padding: 12px 24px;
        border-radius: 6px;
        display: inline-block;
        line-height: 1.2;
        font-weight: 600;
        transition: background-color 0.3s ease;
    }
    
    .wp-block-navigation-item.header-primary-action:hover .wp-block-navigation-item__label {
        color: #fff;
    }
    .wp-block-navigation-item.header-primary-action > .wp-block-navigation-item__content::before {
        content: none;
    }
}
    /* Desktop view nav button colors*/
@media screen and (min-width:781px) {
    .wp-block-navigation-item.header-primary-action .wp-block-navigation-item__label {
        background: var(--wp--preset--color--primary);
    }
    .wp-block-navigation-item.header-primary-action:hover .wp-block-navigation-item__label {
        background: var(--wp--preset--color--accent-3);
    }
}
    /* Tablet view nav button colors*/
@media screen and (min-width:600px) and (max-width:781px){
    .wp-block-navigation-item.header-primary-action .wp-block-navigation-item__label {
        background: var(--wp--preset--color--secondary);
    }

    .wp-block-navigation-item.header-primary-action:hover .wp-block-navigation-item__label {
        background: var(--wp--preset--color--accent-3);
    }
}
    /* Mobile view nav button colors*/
    /* this code is a bit redudndant and could be merged into the desktop view code :p but for now it lives here*/
@media screen and (max-width:599px){
    /*
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
        border-radius: 6px;
        padding:6px !important;
        transition:background 0.3s, border-color 0.3s;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover{
    background: var(--wp--preset--color--accent-3) !important;
    }
    */
}

/* Button background per breakpoint */
@media screen and (max-width:780px){.header-primary-action{background:var(--wp--preset--color--secondary)}}
@media screen and (min-width:781px){.header-primary-action{background:var(--wp--preset--color--primary)}}

/* Customer login positioning */
.customer-login-container{position:absolute;right:0;margin-top:16px;padding-left:20px;padding-right:20px}
.customer-login-container>.wp-block-group{height:40px;z-index:10;padding:0;margin:0}

/* Nav underline hover */
.wp-block-navigation-item__content{
    padding-bottom:3px;
    text-decoration:none;
    position:relative;
    overflow:hidden;
}
.wp-block-navigation-item__content::before{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    right:100%;
    height:2px;
    background: var(--wp--preset--color--accent-3);
    transition: 0.3s;
}
.wp-block-navigation-item__content:hover::before{right:0}
.wp-block-navigation-submenu li a:hover::before{right:50%}

/* === Nav "button" treatment (desktop-only, opt-in via .nav-button) === */
@media screen and (min-width:781px){
  .wp-block-navigation-item.nav-button .wp-block-navigation-item__label{
    background-color: var(--wp--preset--color--primary);
    color:#fff;
    padding:6px 12px;
    border-radius:6px;
    display:inline-block;
    line-height:1;
    transition:background-color .3s ease;
  }
  .wp-block-navigation-item.nav-button:hover .wp-block-navigation-item__label,
  .wp-block-navigation-item.nav-button .wp-block-navigation-item__content:focus .wp-block-navigation-item__label{
    background-color: var(--wp--preset--color--accent-3);
    color:#fff;
  }
  .wp-block-navigation-item.nav-button > .wp-block-navigation-item__content:hover{
    color:#fff;
  }
  .wp-block-navigation-item.nav-button > .wp-block-navigation-item__content::before{
    content:none;
  }
}

/* Mobile nav icon / text color on light backgrounds */
.wp-block-navigation__responsive-container-open svg{color:var(--wp--preset--color--custom-text-dark-primary,#000)}
@media screen and (max-width:781px){.header-nav-text{color:var(--wp--preset--color--custom-text-dark-primary,#000)}}

/* Off-canvas responsive container padding and close button positioning */
/* .is-menu-open .wp-block-navigation__responsive-container{padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left));overflow:visible}
/* .is-menu-open .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close{position:fixed!important;top:calc(max(16px,env(safe-area-inset-top)) + var(--wp-admin--admin-bar--height, 0px))!important;right:calc(max(24px,env(safe-area-inset-right)) + 3px)!important;padding:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;z-index:9999}
/* .is-menu-open .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close svg{width:20px;height:20px;display:block}
@media screen and (min-width:782px){
  .is-menu-open .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close{right:calc(32px + 3px)!important}
}


/* Responsive container sizing */
.wp-block-navigation__responsive-container{height:100%;width:100%}
.wp-block-navigation__responsive-container-close{right:60px}

/* Make content behind modal non-interactive */
.has-modal-open header.wp-block-template-part + *{z-index:-1}

/* =====================
   2) TYPOGRAPHY / LINKS / BUTTONS
   ===================== */
a.wp-block-navigation-item__content,
.wp-block-site-title a,
.wp-element-button{transition:all .3s}

/* Current menu underline shown */
.current-menu-item .wp-block-navigation-item__content::before{right:0}

/* Hover colors */
a.wp-block-navigation-item__content:hover,
.current-menu-item> a,
.wp-block-site-title a:hover{color:var(--wp--preset--color--button-hover-color)}

/* Read more / buttons */
.wp-block-post-excerpt__more-link{transition: 0.3s}
.wp-element-button:hover, .wp-block-post-excerpt__more-link:hover{background:var(--wp--preset--color--accent-3) !important;color:#fff}
.wp-block-read-more,
a.wp-block-post-excerpt__more-link{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--link-color);text-decoration:none;font-size:16px;padding:8px 20px;border-radius:6px;position:relative}
.wp-block-read-more:hover,
a.wp-block-post-excerpt__more-link:hover{background:var(--wp--preset--color--button-hover-color)}

/* Woo: primary action buttons */
.single_add_to_cart_button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{background-color:var(--wp--preset--color--primary);color:#fff}

/* =====================
   3) COMPONENTS / UTILITIES
   ===================== */
ul.has-arrow{list-style:none;padding:0}
ul.has-arrow li a{text-decoration:none;padding-left:20px;position:relative;color:var(--wp--preset--color--contrast)}
ul.has-arrow li a:before{content:"105";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:0}

.eb_form_submit_response{position:absolute;height:0;top:0}
.wc-block-mini-cart__footer-actions a{color:#fff}

/* Pagination */
.page-numbers{background:var(--wp--preset--color--primary);margin:0 5px 5px 0;padding:6px 13px;border-radius:6px;font-size:12px;display:inline-block;color:var(--wp--preset--color--base)}
.page-numbers:hover{color:var(--wp--preset--color--white)}
.page-numbers.dots{background-color:transparent}
.wp-block-query-pagination{gap:10px}

/* Woo breadcrumb */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a{color:var(--wp--preset--color--link-color)}

/* Archives / Categories / Tags */
.wp-block-archives-list.wp-block-archives li::before,
 .wp-block-categories-list.wp-block-categories li::before{font-family:"Font Awesome 5 Free";font-weight:600;content:'061';margin-right:8px}
.wp-block-archives-list.wp-block-archives li,
 .wp-block-categories-list.wp-block-categories li{list-style-type:none}
.wp-block-archives-list.wp-block-archives,
 .wp-block-categories-list.wp-block-categories,
 .taxonomy-category a{padding-left:10px}

.wp-block-tag-cloud a.tag-cloud-link{font-size:16px!important}
.tag-cloud-link::before,
 .taxonomy-post_tag a:before{font-family:"Font Awesome 5 Free";font-weight:600;content:'02b';margin-right:8px}
.tag-cloud-link,
 .taxonomy-post_tag a{text-decoration:none;background:var(--wp--preset--color--primary);margin:0 5px 5px 0;padding:0 10px;border-radius:6px;font-size:12px;display:inline-block}

/* Products card shadow */
.products-block-post-template li{box-shadow:rgba(100,100,111,.2) 0 7px 29px 0}

/* Card radius util */
.column-has-radius{border-radius:10px}


/* Sale badge tweak */
.wc-block-components-product-sale-badge.wc-block-components-product-sale-badge--align-right.wc-block-grid__product-onsale{background:#cf0000;border:none;color:#fff;font-size:12px}

/* Sub-title pill */
p.consultingwp-sub-title strong,
 p.consultingcore-sub-title strong{background:#f5f5f5;border-radius:13px;padding:10px 20px;color:var(--wp--preset--color--primary);font-size:12px}
p.consultingwp-sub-title,
 p.consultingcore-sub-title{margin-bottom:30px}

/* Round icon badge */
.has-primary-bg{height:60px;width:60px;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--primary);border-radius:50%}

/* Post lists */
.wp-block-latest-posts__list.wp-block-latest-posts li{margin:20px 0}
.wp-block-tag-cloud a{margin:5px 3px}

/* Post meta icons */
time::before{font-family:"Font Awesome 5 Free";font-weight:600;content:'073';margin-right:8px;font-size:12px}
.wp-block-post-author-name__link:before,
.wp-block-post-author__name::before{font-family:"Font Awesome 5 Free";font-weight:600;content:'007';margin-right:8px;font-size:12px}

/* Post card hover */
li.wp-block-post.post.type-post>div{transition:all .3s;border-radius:10px;box-shadow:-2px 3px 6px #4a4a4a82}
li.wp-block-post.post.type-post>div:hover{box-shadow:0 0 10px #333f48;transform:translateY(-10px)}

/* Search */
.wp-block-search__button{margin-left:0}
.wp-block-search .wp-block-search__input{border-radius:6px 0 0 6px}

/* Submenus */
.wp-block-navigation__submenu-container{padding:4px}
.wp-block-navigation-submenu ul a{padding:10px;font-size:14px}
.wp-block-navigation-submenu{transition:opacity 2s ease,visibility 2s ease;border-radius:8px}

/* Grid spacer fix */
body .is-layout-grid .wp-block-spacer{display:none}

/* Scroll-to-top variations (both slugs preserved) */
.consultingwp-scrool-top::before,
p.consultingcore-scrool-top::before{font-size:30px;cursor:pointer;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--link-color);font-family:"Font Awesome 5 Free";font-weight:600;content:'077';position:fixed;bottom:50px;right:30px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;z-index:99}
/* Fix typoed selector from original (left intact for safety) */
pp.consultingcore-scrool-top{position:absolute}

/* Hover state unify */
.wp-element-button:hover,
.consultingwp-scrool-top:hover::before,
p.consultingcore-scrool-top:hover::before{background:var(--wp--preset--color--button-hover-color);color:#fff}

/* Z-index helpers */
div#Home,
div#sticky-header{z-index:99!important}

/* Responsive paddings / sections */
@media (max-width:720px){
  .with-100-mobile>div>div{justify-content:space-between!important;width:100%}
  .banner-section{padding:40px 0!important}
  .about-us-section,
  .service-section,
  .team-section,
  .faq-section,
  .news-section{padding:40px 15px!important}
}
@media (max-width:620px){
  .consultingwp-scrool-top::before,
  p.consultingcore-scrool-top::before{background-color:transparent}
}

/* =====================
   4) MISC FIXES
   ===================== */
.has-modal-open header.wp-block-template-part + *{z-index:-1}

.fs_client_portal .fs_ticket_wrapper .fs_tickets_container .fs_tickets_table .el-table .el-table__body .fs_ticket_row td.conversation-cell .fs_ticket_conversation .fs_ticket_title strong{
    color: var(--fs-text-strong);
}
