/**
Theme Name: UCWDC (2026)
Author: Studio 91
Author URI: https://studio91.ca
Description: Child Theme for UCWDC Website
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ucwdc-2025
Template: astra
*/

/* ============================================================
   Child Theme Overrides
=========================================================== */
span.ast-header-navigation-arrow {
  display: none;
}

#block-15 a {
    line-height: 1.3;
}

/* Desktop only */
@media (min-width: 922px) {
  .ast-builder-grid-row-3-lheavy .site-primary-footer-inner-wrap {
    grid-template-columns: 40% 35% 15% !important;
  }
}

/* Non-desktop: center footer content */
@media (max-width: 544px) {
  /* Center text in footer widgets */
  .site-primary-footer-inner-wrap .site-footer-section,
  .site-primary-footer-inner-wrap .footer-widget-area-inner,
  .site-primary-footer-inner-wrap .widget_text,
  .site-primary-footer-inner-wrap .wp-block-heading,
  .site-primary-footer-inner-wrap p {
    text-align: center !important;
  }

  /* Override explicit left-aligned Gutenberg classes */
  .site-primary-footer-inner-wrap .has-text-align-left {
    text-align: center !important;
  }

  /* Center the logo image that’s currently alignleft */
  .site-primary-footer-inner-wrap .wp-block-image.alignleft {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    text-align: center !important;
  }

  /* Center the social icons row */
  .site-primary-footer-inner-wrap .footer-social-inner-wrap {
    justify-content: center !important;
  }

  /* Center the Astra social icons on mobile/tablet */
  .site-primary-footer-inner-wrap .ast-footer-social-1-wrap,
  .site-primary-footer-inner-wrap .footer-social-inner-wrap,
  .site-primary-footer-inner-wrap .element-social-inner-wrap {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }

}

.ast-builder-grid-row-3-lheavy .site-primary-footer-inner-wrap figure {
    margin-right: 0;
}

/* Force parent items of active submenu items to inherit ON state (white text) */
.main-header-menu .current-menu-ancestor > .menu-link,
.main-header-menu .current_page_ancestor > .menu-link,
.main-header-menu .current-menu-parent > .menu-link {
    color: #ffffff !important;
}

/* Mobile menu variant */
#ast-mobile-header .current-menu-ancestor > .menu-link,
#ast-mobile-header .current_page_ancestor > .menu-link,
#ast-mobile-header .current-menu-parent > .menu-link {
    color: #ffffff !important;
}

/* ============================================================
   Homepage
=========================================================== */

/* Upcoming Events Block - control the gap */
.uagb-block-7d9ca9d2 .wp-block-columns.is-layout-flex, .uagb-block-97d1494a  .wp-block-columns.is-layout-flex {
  gap: .5em !important;
}

/* ==========================================
   CUSTOM HEADER BLOCK – DESKTOP
   ========================================== */

/* Ensure the entire right section aligns vertically with the logo */
.site-header-above-section-right {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

/* Wrapper: text block + divider + social icons */
.ucwdc-header-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* -----------------------------
   Left Column: Links + Search
   ----------------------------- */
.ucwdc-header-right .content-block {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Links row */
.ucwdc-header-right .links {
    margin-top: 0;
    display: flex;
    gap: 20px;
    font-size: 14px;
    font-weight: 600;
}

.ucwdc-header-right .links a {
    color: #000;
    display: flex;
    align-items: center;
    gap: 3px;
    text-decoration: none;
}

.ucwdc-header-right .links a:hover {
    color: #62b3b4;
}

/* -----------------------------
   Search Bar – Desktop
   ----------------------------- */
.ucwdc-header-right .search-form {
    display: flex;
    align-items: center;
    width: 100%;        
    max-width: 100%;
    height: 40px;
    border: 1px solid #cfdada;
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    box-sizing: border-box;
}

.ucwdc-header-right .search-form input {
    all: unset;
    flex: 1;
    font-size: 15px;
    color: #333;
}

.ucwdc-header-right .search-form button {
    all: unset;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ucwdc-header-right .search-form button i {
    font-size: 18px;
    color: #62b3b4;
}

/* -----------------------------
   Divider
   ----------------------------- */
.ucwdc-header-right .divider {
    width: 1px;
    height: 80px;
    background: #cfdada;
}

/* -----------------------------
   Social Icons (Vertical Stack)
   ----------------------------- */
.ucwdc-header-right .social {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ucwdc-header-right .social a {
    background: #62b3b4;
    width: 38px;
    height: 38px;
    border-radius: 6px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    text-decoration: none;
}

.ucwdc-header-right .social a:hover {
    background: #4fa1a2;
}


/* ==========================================
   MOBILE RESPONSIVE HEADER (Astra < 921px)
   ========================================== */

@media (max-width: 921px) {

    /* Full wrapper stacks vertically */
    #ast-mobile-header .ucwdc-header-right {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 22px;
        padding: 16px 0;
        width: 100%;
    }

    /* Content block becomes center aligned */
    #ast-mobile-header .ucwdc-header-right .content-block {
        padding-right: 0;
        border: none;
        width: 100%;
        align-items: center;
        gap: 20px;
    }

    /* Links stack in two rows (wrapping allowed) */
    #ast-mobile-header .ucwdc-header-right .links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        font-size: 16px;
        text-align: center;
    }

    /* Search full width */
    #ast-mobile-header .ucwdc-header-right .search-form {
        max-width: 100%;
        width: 100%;
        height: 44px;
        border-radius: 12px;
    }

    #ast-mobile-header .ucwdc-header-right .search-form input {
        font-size: 16px;
    }

    #ast-mobile-header .ucwdc-header-right .search-form button i {
        font-size: 20px;
    }

    /* Divider hidden on mobile */
    #ast-mobile-header .ucwdc-header-right .divider {
        display: none;
    }

    /* Social icons become horizontal row */
    #ast-mobile-header .ucwdc-header-right .social {
        flex-direction: row;
        justify-content: center;
        gap: 14px;
        width: 100%;
    }

    #ast-mobile-header .ucwdc-header-right .social a {
        width: 44px;
        height: 44px;
        border-radius: 8px;
        font-size: 22px;
    }
}

/* ============================================================
   Local Search Engine
/* =========================================================== */
#searchwp-form-1 .swp-input {
    border-radius: 13px !important;
}

form.searchwp-form input.swp-input--search {
    background-size: 19px auto !important;
}

form.searchwp-form input.swp-input--search {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none'%3E%3Cpath fill='%2362b3b4' d='M6.068 12.136c1.31 0 2.533-.426 3.527-1.136l3.74 3.74c.174.173.402.26.64.26.512 0 .883-.395.883-.9a.87.87 0 0 0-.253-.63L10.89 9.744a6.04 6.04 0 0 0 1.247-3.677C12.136 2.73 9.406 0 6.068 0 2.722 0 0 2.73 0 6.068s2.722 6.068 6.068 6.068m0-1.31c-2.612 0-4.758-2.154-4.758-4.758S3.456 1.31 6.068 1.31c2.604 0 4.758 2.154 4.758 4.758s-2.154 4.758-4.758 4.758'/%3E%3C/svg%3E") !important;
}

div.swp-total-results-notice {
    font-weight: bold;
    font-size: 24px;
}

article.swp-result-item {
    padding: 0 !important;
}
article.swp-result-item h2.entry-title {
    margin-bottom: 0;
    font-size: 24px;
}

article.swp-result-item p {
    font-size: 20px;
}

.search-post-type--icon {
  display: inline-block;
  margin-right: 0.35em;
}
.search-post-type--icon i {
  vertical-align: middle;
}

/* ============================================================
   Window Shades
/* =========================================================== */
.sp-easy-accordion .sp-ea-single .ea-header a {
    font-size: 24px;
}

i.ea-expand-icon, i.eap-icon-ea-expand-plus {
    font-size: 24px;
}

/* ============================================================
   Points Lookups
/* =========================================================== */

.search-filter-query.search-filter-query--id-1,
.search-filter-query.search-filter-query--id-2 {
  display: none;
}

.responsive-table {
  width: 100%;
  border-collapse: collapse;
}

.responsive-table th,
.responsive-table td {
  padding: 0.75rem;
  border-bottom: 1px solid #ddd;
  text-align: left;
}

@media (max-width: 768px) {
  .responsive-table thead {
    display: none;
  }

  .responsive-table,
  .responsive-table tbody,
  .responsive-table tr,
  .responsive-table td {
    display: block;
    width: 100%;
  }

  .responsive-table tr {
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    padding: 0.75rem;
  }

  .responsive-table td {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: none;
  }

  .responsive-table td::before {
    content: attr(data-label);
    font-weight: 600;
  }
}

/* ============================================================
   Microsites
/* =========================================================== */

.wp-block-uagb-container.uagb-block-4cdd1e5c
{
    padding-top: 0;
    padding-bottom: 0;
}

.astra-advanced-hook-58073 a.wp-block-navigation-item__content {
    font-family: 'Kameron',serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: #000000;
}

.astra-advanced-hook-58073 a.wp-block-navigation-item__content:hover {
    background: #000000;
    color: #FFFFFF;
}

.astra-advanced-hook-58180 a.wp-block-navigation-item__content {
    font-family: 'Kameron',serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: #000000;
}

.astra-advanced-hook-58180 a.wp-block-navigation-item__content:hover {
    background: #000000;
    color: #FFFFFF;
}

/* ============================================================
   Events Calendar
=========================================================== */

div#ptp_d52a5b0fb373b6bd_1_length label, div#ptp_d52a5b0fb373b6bd_1_filter label {
    font-size: 16px;
}

div.posts-table-below label {
    font-size: 16px;
}

/* ============================================================
   Events Calendar (Homepage)
=========================================================== */

.homepage-events-list {
  margin: 0;
  padding: 0;
}

.homepage-events-list .event-item {
  margin: 0 0 1rem 0;
  padding: 0;
}

/* Title row */
.homepage-events-list .event-title {
  position: relative;
  margin: 0 0 0.25rem 0;
  padding-left: 1.1rem;
  font-size: 1.15rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  font-family: 'Kameron',serif;
  letter-spacing: 0;
}

/* Chevron */
.homepage-events-list .event-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.38em;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  display: block !important;
}

/* Remove any other pseudo-elements Astra may inject */
.homepage-events-list .event-title::after,
.homepage-events-list .event-item::before,
.homepage-events-list .event-item::after {
  content: none !important;
  display: none !important;
}

/* Title link */
.homepage-events-list .event-title a,
.homepage-events-list .event-title a:visited {
  color: #000 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* Meta line aligned with title text, not chevron */
.homepage-events-list .event-meta {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: #111;
}

/* Remove card styling */
.homepage-events-list article,
.homepage-events-list .event-item {
  background: transparent;
  border: 0;
  box-shadow: none;
}

@media (max-width: 768px) {
  .homepage-events-list .event-title {
    font-size: 1rem !important;
  }

  .homepage-events-list .event-meta {
    font-size: 0.9rem !important;
  }
}

/* ============================================================
   Hall of Fame
=========================================================== */
.s91-hof-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  margin: 2rem 0 !important;
  align-items: start !important;
}

.s91-hof-card {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  cursor: pointer !important;
  color: #000 !important;
  text-decoration: none !important;
  position: relative;
  z-index: 1;
}

.s91-hof-card-image {
  display: block;
  margin-bottom: 1rem;
}

.s91-hof-card-image img {
  display: block;
  width: 100%;
  height: auto;
}

.s91-hof-card-title {
  display: block;
  color: #000 !important;
  font-size: 14px;
  line-height: 1.35;
  text-transform: uppercase;
}

.s91-hof-card-title strong {
  color: #000 !important;
  font-weight: 700;
}

.s91-hof-modal {
  display: none !important;
}

.s91-hof-modal.is-open {
  display: block !important;
}

.s91-hof-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9998;
}

.s91-hof-modal-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 760px);
  max-height: 85vh;
  background: #fff;
  z-index: 9999;
  border-radius: 8px;
  overflow: hidden;
}

.s91-hof-modal-inner {
  max-height: 85vh;
  overflow-y: auto;
  padding: 2rem;
}

.s91-hof-modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  background: transparent !important;
  border: 0 !important;
  color: #000 !important;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

body.s91-hof-modal-open {
  overflow: hidden;
}

@media (max-width: 1200px) {
  .s91-hof-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 921px) {
  .s91-hof-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .s91-hof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
  }
}

@media (max-width: 544px) {
  .s91-hof-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   Mobile Off-Canvas SearchWP Styling
========================================= */

.menu-item-searchwp {
    background: #cae8eb;
    padding: 12px 20px 12px;
}

.menu-item-searchwp form,
.menu-item-searchwp .searchwp-form {
    width: 100%;
    margin: 0;
}

.menu-item-searchwp input[type="search"],
.menu-item-searchwp input[type="text"] {
    width: 100%;
    padding: 12px 16px;
    border-radius: 30px;
    border: none;
    box-sizing: border-box;
}

/* Small separation below the search only */
.ast-header-break-point .main-header-menu > li.menu-item-searchwp + li {
    margin-top: 0;
}
