/*
Theme Name: Total Child Theme
Theme URI: https://your-site.com
Description: Your site description. Go to Appearance > Editor to modify this file.
Author: Your Name
Author URI: https://your-site.com
Template: Total
Version: 1.0
*/

/* HIT header enhancements */

/* HIT header buttons and outline submenu icons */
#site-header #menu-item-12555,#site-header #menu-item-12556{display:none!important}
#site-header #site-navigation-wrap{margin-left:auto;margin-right:auto;padding-right:16px}
#site-header #login-wrap{display:flex;align-items:center;gap:12px;flex-shrink:0}
#site-header #login-wrap .theme-button{padding:6px 20px!important;transition:background .2s,color .2s}
#site-header #login-wrap .hit-wellness-button:hover {
    background-color: #D93931;
    color: #fff;
}
#site-header #login-wrap .hit-join-button:hover {
    background-color: #fff;
    color: #061e2d;
}
#site-header #login-wrap .hit-wellness-button{background:#fff;color:#102635}
#site-header #login-wrap .hit-join-button{background:#061e2d;color:#fff;border-color:#061e2d}
#site-header #login-wrap a:focus-visible{outline:3px solid #df302b;outline-offset:3px}
#site-header .sub-menu > li > a .link-inner{display:flex;align-items:center;gap:13px}
#site-header .sub-menu > li{border-bottom:0!important}
#site-header .sub-menu{min-width:255px;padding:8px 14px;border-radius:8px}
#site-header #site-navigation-wrap .sub-menu > li > a{padding:6px 8px;}
#site-header #site-navigation-wrap .sub-menu > li:last-child > a{border-bottom:0}

/* Menu images selected in Appearance > Menus. */
.hit-menu-image{display:none;width:23px;height:23px;object-fit:contain;vertical-align:middle;flex:0 0 23px;margin-right:10px}
#site-header .sub-menu .hit-menu-image{margin-right:0}

/* Submenu typography and matching red hover/focus icons. */
#site-header #site-navigation-wrap .sub-menu > li > a,
#site-header #site-navigation-wrap .sub-menu > li > a .link-inner{font-size:16px!important}
#site-header .sub-menu .hit-menu-image{transition:filter .2s ease}
#site-header #site-navigation-wrap .sub-menu > li > a:hover,
#site-header #site-navigation-wrap .sub-menu > li > a:focus-visible{color:#d93931}
#site-header .sub-menu > li > a:hover .hit-menu-image,
#site-header .sub-menu > li > a:focus-visible .hit-menu-image{filter:brightness(0) saturate(100%) invert(32%) sepia(77%) saturate(1772%) hue-rotate(339deg) brightness(91%) contrast(95%)}

/* Responsive header: content determines the white header height. */
#site-header{height:auto!important;min-height:0!important}
#site-header #site-header-inner{display:block!important;height:auto!important;min-height:64px;box-sizing:border-box;padding:10px 30px;width:calc(100% - 60px);max-width:none;margin-inline:auto}
#site-header #site-header-flex{display:grid!important;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:16px;height:auto!important;min-height:0;padding:0!important}
#site-header #site-logo{width:170px!important;height:auto!important;min-width:0}
#site-header #site-logo img{max-width:100%;height:auto}
#site-header #site-navigation-wrap{width:auto;height:auto!important;max-height:none;margin:0!important;padding:0!important;justify-self:center;align-self:center}
#site-header #site-navigation,#site-header #menu-main-menu{height:auto!important}
#site-header #site-navigation .main-navigation-ul>li>a{height:44px!important;padding:0 16px;white-space:nowrap}
#site-header #login-wrap{position:static!important;width:auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;margin:0!important}
#site-header #login-wrap .theme-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:36px;padding:8px 16px!important;font-size:12px;line-height:1.25;white-space:nowrap;text-align:center}
@media(min-width:960px) and (max-width:1179px){
#site-header #site-header-flex{grid-template-columns:170px minmax(0,1fr);gap:16px}
#site-header #site-navigation-wrap{justify-self:end}
}
@media(max-width:959px){
#site-header #site-header-inner{width:calc(100% - 32px);padding:14px 18px;border-radius:24px}
#site-header #site-header-flex{grid-template-columns:minmax(0,1fr) auto;gap:14px}
#site-header #site-logo{width:150px!important}
#site-header #site-navigation-wrap{display:none!important}
#site-header #mobile-menu{display:flex!important;height:auto!important;margin:0;justify-self:end;grid-column:2;grid-row:1}
#site-header #login-wrap{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.7fr 1.2fr;gap:8px;width:100%;justify-self:stretch;order:initial}
#site-header #login-wrap .theme-button{min-width:0;min-height:40px;font-size:11px;padding:9px 10px!important;white-space:normal}
}
@media(max-width:479px){
#site-header #site-header-inner{padding:8px 14px;border-radius:20px}
#site-header #login-wrap{grid-template-columns:1fr 1fr}
#site-header #login-wrap .hit-wellness-button{grid-column:1/-1;grid-row:2}
#site-header #login-wrap .hit-join-button{grid-column:2;grid-row:1}
}

/* Compact single-row desktop header. */
@media(min-width:1180px) and (max-width:1499px){
#site-header #site-header-inner{width:calc(100% - 40px);padding:10px 20px}
#site-header #site-header-flex{grid-template-columns:145px minmax(0,1fr) auto;gap:8px}
#site-header #site-logo{width:145px!important}
#site-header #site-navigation .main-navigation-ul>li>a{padding:0 7px}
#site-header #site-navigation .main-navigation-ul>li>a .link-inner{font-size:11px!important}
#site-header #login-wrap{gap:8px}
#site-header #login-wrap .theme-button{font-size:11px;padding:8px 12px!important}
}

/* Booking buttons are desktop-only. */
@media(max-width:1179px){
#site-header #login-wrap{display:none!important}
}

/* Keep every desktop header group on the same grid row. */
@media(min-width:1180px){
#site-header #site-logo{grid-column:1;grid-row:1}
#site-header #site-navigation-wrap{grid-column:2;grid-row:1}
#site-header #login-wrap{grid-column:3!important;grid-row:1!important;width:auto!important;justify-self:end;padding-top:0!important}
}

/* Keep all desktop actions visible from 1180px. */
@media(min-width:1180px) and (max-width:1279px){
#site-header #site-header-inner{width:calc(100% - 24px);padding:10px 14px}
#site-header #site-header-flex{grid-template-columns:125px minmax(0,1fr) auto;gap:6px}
#site-header #site-logo{width:125px!important}
#site-header #site-navigation .main-navigation-ul>li>a{padding:0 5px}
#site-header #site-navigation .main-navigation-ul>li>a .link-inner{font-size:10px!important}
#site-header #login-wrap{gap:6px}
#site-header #login-wrap .theme-button{font-size:10px;padding:8px 10px!important}
}


/* Tablet and phone navigation panel. */
@media(max-width:1179px){
#site-header #site-navigation-wrap{display:none!important}
#site-header #site-header-flex{grid-template-columns:minmax(0,1fr) auto}
#site-header #mobile-menu{display:flex!important;grid-column:2;grid-row:1;height:auto!important;justify-self:end}
.full-screen-overlay-nav{background:#fff!important;color:#061e2d!important;opacity:1!important;backdrop-filter:none;top:var(--wp-admin--admin-bar--height,0px)!important;height:calc(100dvh - var(--wp-admin--admin-bar--height,0px))!important;overscroll-behavior:contain}
.full-screen-overlay-nav::before{content:"";position:absolute;top:25px;left:24px;width:158px;height:27px;background:url("https://hit.itsnewsite.com/wp-content/uploads/2026/10/site-logo.svg") left center/contain no-repeat}
.full-screen-overlay-nav .full-screen-overlay-nav-close{top:calc(var(--wp-admin--admin-bar--height,0px) + 16px)!important;right:20px!important;width:44px!important;height:44px!important;min-width:44px;box-sizing:border-box;padding:0!important;line-height:40px!important;font-size:34px!important;background:#f2f5f6;border-radius:50%;color:#061e2d;z-index:2}
.full-screen-overlay-nav .full-screen-overlay-nav-content{display:block!important;height:auto!important;min-height:100%;text-align:left!important}
.full-screen-overlay-nav .full-screen-overlay-nav-content-inner{display:block!important;height:auto!important;min-height:100%;padding:88px 24px 32px!important;box-sizing:border-box}
.full-screen-overlay-nav-menu{width:100%;max-width:560px;margin:0 auto!important;text-align:left!important}
.full-screen-overlay-nav-menu>ul>li{border-bottom:1px solid #e7edef}
.full-screen-overlay-nav-menu>ul>li>a{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:14px 0!important;box-sizing:border-box;font-size:20px!important;font-weight:500;line-height:1.4!important;color:#061e2d!important;opacity:1!important}
.full-screen-overlay-nav-menu>ul>li.menu-item-has-children>a::after{content:"+";width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#f2f5f6;text-align:center;line-height:30px;font-size:23px;font-weight:400}
.full-screen-overlay-nav-menu>ul>li.wpex-active>a::after{content:"−";background:#fff0ef;color:#d93931}
.full-screen-overlay-nav-menu .sub-menu{padding:4px 14px 12px!important;margin:0 0 10px!important;background:#f7f9fa;border-radius:12px}
.full-screen-overlay-nav-menu .sub-menu a{display:block!important;padding:11px 0!important;font-size:16px!important;line-height:1.5!important;color:#243c4a!important;opacity:1!important}
.full-screen-overlay-nav-menu .sub-menu .link-inner{display:flex;align-items:center;gap:12px}
.full-screen-overlay-nav-menu .hit-menu-image{width:22px;height:22px;margin:0;flex:0 0 22px}
.full-screen-overlay-nav-menu a:focus-visible{outline:2px solid #d93931;outline-offset:3px;border-radius:4px}
.full-screen-overlay-nav-menu a:hover{color:#d93931!important;opacity:1!important}
.full-screen-overlay-nav-menu .menu-item-12555,.full-screen-overlay-nav-menu .menu-item-12556{border:0!important;margin-top:16px}
.full-screen-overlay-nav-menu .menu-item-12555>a,.full-screen-overlay-nav-menu .menu-item-12556>a{justify-content:center;min-height:48px;padding:12px 18px!important;border-radius:999px;border:1px solid #d93931;font-size:12px!important;text-transform:uppercase;letter-spacing:.2px;text-align:center}
.full-screen-overlay-nav-menu .menu-item-12555>a{color:#d93931!important;background:#fff}
.full-screen-overlay-nav-menu .menu-item-12556{margin-top:10px}
.full-screen-overlay-nav-menu .menu-item-12556>a{background:#061e2d;color:#fff!important;border-color:#061e2d}
}
@media(min-width:600px) and (max-width:1179px){
.full-screen-overlay-nav::before{left:calc(50% - 280px);top:30px}
.full-screen-overlay-nav .full-screen-overlay-nav-content-inner{padding-top:112px!important}
.full-screen-overlay-nav .full-screen-overlay-nav-close{right:max(24px,calc(50% - 280px))!important}
.full-screen-overlay-nav-menu>ul>li>a{min-height:64px;font-size:22px!important}
}

@media(max-width:1179px){body.mobile-menu-is-open #site-header{visibility:hidden}.full-screen-overlay-nav-menu a{text-decoration:none!important}}

/* Match the navigation panel gutters to the site header. */
@media(max-width:1179px){
.full-screen-overlay-nav .full-screen-overlay-nav-content-inner{padding-left:30px!important;padding-right:30px!important}
.full-screen-overlay-nav-menu{max-width:none;margin:0!important}
.full-screen-overlay-nav::before{left:30px!important}
.full-screen-overlay-nav .full-screen-overlay-nav-close{right:30px!important}
}
@media(max-width:959px){
.full-screen-overlay-nav .full-screen-overlay-nav-content-inner{padding-left:24px!important;padding-right:24px!important}
.full-screen-overlay-nav::before{left:24px!important}
.full-screen-overlay-nav .full-screen-overlay-nav-close{right:24px!important}
}

/* Center submenu expand/collapse symbols within their circles. */
@media(max-width:1179px){
.full-screen-overlay-nav-menu>ul>li.menu-item-has-children>a::after{display:inline-flex;align-items:center;justify-content:center;line-height:1!important;padding:0;box-sizing:border-box;font-family:Arial,sans-serif;align-self:center}
}

/* Balanced tablet/mobile header and comfortable menu controls. */
@media(max-width:1179px){
#site-header #site-header-inner{display:flex!important;align-items:center;min-height:64px}
#site-header #site-header-flex{align-items:center!important;min-height:40px}
#site-header #site-logo,#site-header #mobile-menu{align-self:center!important;align-items:center!important}
#site-header #site-logo-inner,#site-header #site-logo-link{display:flex;align-items:center;line-height:1}
#site-header #site-logo img{display:block}
#site-header .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;line-height:1!important;padding:0!important}
.full-screen-overlay-nav-menu>ul>li.menu-item-has-children>a::after{width:36px;height:36px;flex-basis:36px;font-size:28px!important;line-height:1!important;display:flex;align-items:center;justify-content:center}
.full-screen-overlay-nav-menu .menu-item-12556{margin-top:20px!important}
}

/* Static coach cards stay centered at desktop carousel-card width. */
.coaches-slider.coaches-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--hit-coach-columns, 4), minmax(0, calc((100% - 72px) / 4)));
    justify-content: center;
    gap: 24px;
}
.coaches-slider.coaches-grid > .elementor-element {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
    .coaches-slider.coaches-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .coaches-slider.coaches-grid[data-coach-count="1"] { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .coaches-slider.coaches-grid { grid-template-columns: 1fr; }
}
