/*
Theme Name: Bullpen Strategy Group
Theme URI: 
Description: A child theme of Twenty Twenty-Five
Author: Ascent Media
Author URI: 
Template: twentytwentyfive
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bsg
*/

/* Import parent theme styles */
@import url("../twentytwentyfive/style.css");

/* Custom styles */



:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

:where(.wp-site-blocks *:focus) {
	 outline-width: 0 !important; 
    outline-style: none !important;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

.center-element {
    text-align: center !important;
} 

/* Hide logo on homepage header only, maintain navigation position */
body.home header .wp-block-site-logo {
    visibility: hidden;
}

body.home header .wp-block-site-logo a {
    pointer-events: none;
}

.home .wp-block-navigation-item__label {
    color: #fff !important;
}
/*.wp-admin-bar-gdl-live-site {
    display: none !important;
}*/

/* ============================================
   TEAM PAGE TEMPLATE - Responsive Column Layout
   ============================================ */

/* Desktop: 4 columns (default - no override needed above 1200px) */

/* Large tablets and small desktops: 3 columns */
@media (max-width: 1200px) {
    .page-template-team-page .team-grid .wp-block-post-template {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Tablets: 2 columns */
@media (max-width: 768px) {
    .page-template-team-page .team-grid .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
    .page-template-team-page .team-grid .wp-block-post-template {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}

/* Team Page - Add vertical spacing for hover effects */
.page-template-team-page .team-grid .wp-block-post-template {
    row-gap: 3rem !important;
}

.page-template-team-page .team-grid .wp-block-post:hover {
    z-index: 20;
    position: relative;
}

/* Increase job title font size */
.page-template-team-page .team-job-title,
.our-team .team-job-title {
    font-size: 1rem !important;
    font-weight: 500;
}

@media (max-width: 768px) {
    .page-template-team-page .team-grid .wp-block-post-template {
        row-gap: 2.5rem !important;
    }
    
    .page-template-team-page .team-job-title,
    .our-team .team-job-title {
        font-size: 0.9rem !important;
    }
}

@media (max-width: 600px) {
    .page-template-team-page .team-grid .wp-block-post-template {
        row-gap: 2rem !important;
    }
    
    .page-template-team-page .team-job-title,
    .our-team .team-job-title {
        font-size: 0.85rem !important;
    }
}


/* ============================================
   HOMEPAGE - Our Team Section Responsive Layout
   ============================================ */

/* Remove fixed height that causes overflow */
.our-team .team-grid {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 2rem !important;
}

.our-team .team-grid .wp-block-group {
    height: auto !important;
}

/* Stack the two-column layout at 1024px */
@media (max-width: 1024px) {
    .our-team .wp-block-columns {
        flex-direction: column !important;
    }
    
    .our-team .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* Desktop: 3 columns (default from columns-3 class) */

/* Tablets: 2 columns */
@media (max-width: 768px) {
    .our-team .team-grid .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .our-team .team-grid {
        margin-bottom: 3rem !important;
    }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
    .our-team .team-grid .wp-block-post-template {
        grid-template-columns: repeat(1, 1fr) !important;
    }
    
    /* Override columns-3 class on mobile */
    .our-team .wp-block-post-template.columns-3,
    .team-grid .wp-block-post-template.columns-3 {
        columns: 1 !important;
        column-count: 1 !important;
    }
    
    /* Target the grid layout directly with maximum specificity */
    .our-team .is-layout-grid.wp-block-post-template,
    .team-grid .is-layout-grid.wp-block-post-template,
    .wp-block-post-template.is-layout-grid,
    ul.wp-block-post-template.is-layout-grid,
    .wp-block-query .wp-block-post-template {
        grid-template-columns: 1fr !important;
        -ms-grid-columns: 1fr !important;
    }
    
    /* Nuclear option - target by container class */
    .wp-container-core-post-template-is-layout-4142fc9f,
    [class*="wp-container-core-post-template"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Add extra bottom padding to our-team section to prevent overlap with next section */
    .our-team {
        padding-bottom: calc(var(--wp--preset--spacing--60) + 3rem) !important;
    }
}

/* Additional override at 480px to match parent theme breakpoint */
@media (max-width: 480px) {
    .team-grid .wp-block-post-template,
    .our-team .wp-block-post-template,
    .wp-block-post-template.is-layout-grid,
    ul.wp-block-post-template,
    [class*="wp-container-core-post-template"] {
        grid-template-columns: 1fr !important;
    }
}

/* Add spacing for homepage team cards */
.our-team .team-grid .wp-block-post-template {
    row-gap: 3rem !important;
}

.our-team .team-grid .wp-block-post:hover {
    z-index: 20;
    position: relative;
}

/* Tablets: Slightly less spacing */
@media (max-width: 768px) {
    .our-team .team-grid .wp-block-post-template {
        row-gap: 2.5rem !important;
    }
}

/* Mobile: Minimal spacing */
@media (max-width: 600px) {
    .our-team .team-grid .wp-block-post-template {
        row-gap: 2rem !important;
    }
}

.gform-theme--foundation .gform_fields {
    row-gap: 10px !important;
}

/* ============================================
   POST TITLE - Responsive Font Sizing
   ============================================ */

/* Tablets and small screens: Reduce from xx-large */
@media (max-width: 768px) {
    .wp-block-post-title.has-xx-large-font-size {
        font-size: clamp(2rem, 6vw, 2.75rem) !important;
        line-height: 1.2 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
}

/* Mobile: Further reduce size */
@media (max-width: 600px) {
    .wp-block-post-title.has-xx-large-font-size {
        font-size: clamp(1.5rem, 5.5vw, 2rem) !important;
        line-height: 1.2 !important;
    }
}

/* Small mobile: Smallest size for very narrow screens */
@media (max-width: 480px) {
    .wp-block-post-title.has-xx-large-font-size {
        font-size: clamp(1.35rem, 5vw, 1.75rem) !important;
        line-height: 1.15 !important;
    }
}
