/*
 Theme Name:   Water Polo Australia
 Theme URI:    https://www.waterpoloaustralia.com.au/
 Description:  Water Polo Australia Theme
 Author:       The Other Dimension
 Author URI:   https://theotherdimension.com
 Template:     Divi
 Version:      1.0
*/

:root {
  --teal-dark: #007b85;
  --yellow: #ffe512;
  --navy: #002b5c;
  --cyan: #00cbcc;
  --cyan-light: #66e0e0;
  --grey-light: #f4f4f4;
}


/*** General Styling ***/

::selection {
	background-color: #002b5c;
	color: #ffe512;
}

.placeholder {
	-webkit-filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(268deg) saturate(590%) contrast(1);
	filter: grayscale(100%) brightness(40%) sepia(100%) hue-rotate(268deg) saturate(590%) contrast(1);
}

body.partners .wpa-partners-section {display: none;}

.card-radius .dsm_card_img {
    border-radius: 20px !important;
}

/* WCAG 2.1 AA — Skip link */
.wpa-skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.wpa-skip-link:focus,
.wpa-skip-link:focus-visible {
    position: fixed;
    left: 16px;
    top: 16px;
    width: auto;
    height: auto;
    padding: 12px 20px;
    background: var(--yellow);
    color: var(--navy);
    font-family: 'din-2014', 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    z-index: 999999;
    outline: 3px solid var(--navy);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Remove the focus outline Divi may add to the main landmark when skipped to */
#main-content:focus {
    outline: none;
}

/*** Navigation Styling ***/


.social-link .fa-2x {
    font-size: 1.25em;
    background: var(--cyan);
    color: var(--navy);
    border-radius: 50%;
    padding: 6px;
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 22px;
}

#wpa-header {
	z-index: 1000 !important;
}

body .et_pb_sticky {
    top: var(--wpa-header-height, 0px) !important;
}

#wpa-header .social-link {
	margin-right: 10px;
	margin-top: .75em;
	padding-right: 0;
    padding-left: 0;
}

.social-link:last-child {
	margin-right: 2em;
}

#wpa-header .member-btn {
	background: var(--yellow);
	padding: 1em 1.5em;
	margin-left: 2em;
	border-radius: 0 0 20px 20px;
	top: -.75em;
}

.member-btn a {
	color: var(--navy) !important;
	text-transform: uppercase;
	padding-bottom: 0 !important;
	font-weight: 700;
}

.et_pb_menu__search input::placeholder { color: #ffffff; }
.et_search_form_container input,
.et_pb_fullwidth_menu .et_pb_menu__search-input,
.et_pb_menu .et_pb_menu__search-input { color: #ffffff; }

.et_pb_menu .et_pb_menu__search-container {
	border: 1px solid #fff;
    border-radius: 30px;
    padding: 10px !important;
    height: 40px;
}


/*** Typography Styling ***/


#main-content h1 {
	font-family: "din-2014", sans-serif;
	font-size: clamp(2rem, 10.7vw - 3.2rem, 4.5rem) !important;
	font-weight: 700;
	/* text-transform: uppercase; */
}

#main-content h2 {
	font-family: "din-2014", sans-serif;
	font-size: clamp(1.75rem, 6.7vw - 1.4rem, 3.5rem) !important;
	font-weight: 700;
	/* text-transform: uppercase; */
}

#main-content h3 {
	font-family: "din-2014", sans-serif;
	font-size: clamp(1.5rem, 6.7vw - 1.9rem, 2.25rem) !important;
	font-weight: 700;
}

#main-content h4 {
    font-family: "din-2014", sans-serif;
    font-size: clamp(1.25rem, 4vw - 0.5rem, 1.5rem) !important;
    font-weight: 700;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.15em;
}

sup {
	bottom: 0.6em;
    font-size: .8em;
}

.et_pb_button {
	font-weight: 600;
}

.et_pb_button:hover {
  background-color: var(--btn-resting-bg) !important;
  background-image: none !important;
  border-color: var(--btn-resting-border, var(--btn-resting-bg)) !important;
  color: var(--btn-resting-color) !important;
  filter: brightness(0.9);
  transition: filter 0.2s ease;
}

blockquote {
    border-color: var(--cyan) !important;
    font-style: italic;
}

.eyebrow {
	font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--teal-dark);
}

/* Global hanging indent for all ordered lists in Divi text modules */
.et_pb_text_inner ol {
    padding-left: 1.8em;
	padding-top: 0.75em;
	padding-bottom: 0.75em;

}

.et_pb_text_inner ol li {
  padding-left: 0.6em;
  text-indent: -1.25em;
}

/* Keep normal bullets for top-level */
.et_pb_text ul {
  list-style-type: disc;
  padding-left: 1.2em;
}

/* Remove bullets on second level */
.et_pb_text ul ul {
  list-style: none;
  padding-left: 1.2em;
}

/* Add dash before second-level items */
.et_pb_text ul ul li {
  position: relative;
  padding-left: 1em;
}

.et_pb_text ul ul li::before {
  content: "-";
  position: absolute;
  left: 0;
}

/*** Module Styling ***/

.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-scroll table {
  min-width: 500px; /* forces scroll instead of squish */
}

.middle-row {
	align-items: center;
	-webkit-align-items: center;
	display: flex;
}

.et_pb_button {
    font-size: 18px;
    padding: .5em 2em !important;
}

.state-logos .et_pb_column {
	display: flex;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.footer-row .et_pb_column {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	flex-wrap: wrap;
}

.footer-row .et_pb_image {
	margin-right: 0;
}

body #main-content .news-feed {
	gap: 3em;
}

.news-feed .et_pb_post {
	position: relative;
	border: 2px solid var(--cyan-light);
    border-radius: 20px;
	overflow: hidden;
}

.news-feed .post-meta {
	color: var(--cyan-light);
}

.home .news-feed .et_pb_post {
	margin-bottom: 0;
}

.news-feed .et_pb_post .entry-title a::after {
  content: '';
  position: absolute;
  inset: 0;
}

.news-feed .et_pb_post .content-wrapper {
	padding: 24px;
}

.news-feed .et_pb_image_container {
	margin: 0;
}

.wpa-share-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 2em 0;
    justify-content: center;
}

.wpa-share-label {
    font-weight: 700;
    color: var(--navy);
    margin-right: 4px;
}

.wpa-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    color: #fff;
    transition: opacity 0.2s ease, transform 0.2s ease;
    line-height: 1;
}

.wpa-share-btn:hover {
    opacity: 0.85;
    transform: translateY(-1px);
    color: #fff;
    text-decoration: none;
}

.wpa-share-btn i {
    font-size: 1rem;
    line-height: 1;
}

.wpa-share-facebook { background-color: var(--navy); }
.wpa-share-twitter  { background-color: var(--teal-dark); }
.wpa-share-email    { background-color: var(--cyan); }

/* Darken cyan text for readability */
.wpa-share-email {
    color: var(--navy);
}

.wpa-share-email svg path,
.wpa-share-email svg polyline {
    stroke: var(--navy);
}

.wpa-share-email svg path[fill="currentColor"] {
    fill: var(--navy);
}

.stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.number-grid {
  display: flex;
    flex-direction: column;
    align-items: flex-end;
	gap: 1em;
}

.number-box {
	background: var(--cyan-light);
    padding: 1em 2em;
    border-radius: 12px;
	text-align: center;
	width: 250px;
}

.stat-box {
	background: var(--cyan-light);
	border-radius: 12px;
	padding: 20px 24px;
}

.number-box .stat-number {
	font-size: 26px;
	font-weight: 700;
	color: var(--navy);
	display: block;
	text-transform: uppercase;
}

.number-box .number-label {
	font-size: 14px;
	color: var(--navy);
}

.stat-box .stat-number {
	font-size: 26px;
	font-weight: 700;
	color: var(--navy);
	display: block;
}
.stat-box .stat-label {
	font-size: 14px;
	line-height: 1;
	color: var(--navy);
}

.wpa-inline-card .dsm_card_wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 0 20px;
}

.wpa-inline-card .dsm_card_title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
}

.wpa-inline-card .dsm_card_description {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
}

.wpa-inline-card .et_pb_button_wrapper {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
}

body .wpa-related-posts .et_pb_image_container,
body .wpa-news-feed-main .et_pb_image_container {
	margin: 0;
	overflow: hidden;
}

body .wpa-related-posts article:hover .et_pb_image_container img,
body .wpa-news-feed-main article:hover .et_pb_image_container img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

body .wpa-related-posts article .et_pb_image_container img,
body .wpa-news-feed-main article .et_pb_image_container img {
	display: block;
    transition: all 300ms ease 0ms!important;
}

body .wpa-related-posts article .post-meta,
body .wpa-news-feed-main article .post-meta,
.dgbm_blog_module .post-meta>span {
	font-size: 16px;
	font-weight: 500;
}

body .wpa-related-posts article a.more-link {
	font-size: 16px;
	font-weight: 700;
}

body .wpa-related-posts article .content-wrapper,
body .wpa-news-feed-main .content-wrapper {
	padding: 10%;
}

.wpa-related-posts .wpa-blog.et_pb_blog_grid .column.size-1of3 {
	width: 33.333%;
	margin-right: 30px;
}

.wpa-related-posts .wpa-blog.et_pb_blog_grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
    column-gap: 30px;
}

.wpa-related-posts .wpa-blog.et_pb_blog_grid .column.size-1of3:nth-child(3n) {
	margin-right: 0;
}

.wpa-related-posts article {
	border: none;
	padding: 0;
    border-radius: 15px;
	overflow: hidden;
	margin-bottom: 30px;
	background: #ffffff;
}

.wpa-related-posts article .et_pb_image_container {
	margin: 0;
}

.wpa-related-posts article .entry-featured-image-url {
	margin-bottom: 0;
}

.wpa-related-posts article .more-link {
	display: block;
	margin-top: 1em;
    text-align: right;
}

.wpa-related-posts article .entry-title {
	text-transform: none;
}

.wpa-social-icons {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.wpa-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #fff;
    color: var(--navy);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}

.wpa-social-icon svg {
    width: 22px;
    height: 22px;
}

/* YouTube play triangle needs to stay white against navy icon */
.wpa-social-icon--youtube svg polygon {
    fill: #fff;
}

.wpa-social-icon:hover {
    background-color: var(--cyan);
    color: var(--navy);
}

.et_pb_post {
    margin-bottom: 0;
}

.et_pb_button.wpa-btn-icon-left {
  padding-left: 2.5em !important;
}

.et_pb_button.wpa-btn-icon-right {
  padding-right: 2.5em !important;
}

/* Adjust the gap between text and icon */
.et_pb_button::after {
  margin-left: 0.4em !important;
}

.et_pb_button.et_pb_button_icon_left::before {
  margin-right: 0.4em !important;
}


/* ── Filters ── */

body .wpa-filter.search-cat li div.alm-filter--link.field-radio:after, 
body .wpa-filter.search-cat li div.alm-filter--link.field-radio:before {
	display: none;
}

body .wpa-filter.search-cat ul {
	display: flex;
    gap: 16px;
    margin-bottom: 32px;
    flex-wrap: wrap;
    align-items: center;
}

body #main-content .wpa-filter.search-cat li div {
	display: block;
    padding: 10px 20px;
    border: 2px solid var(--navy);
    background: white;
    color: var(--navy);
    border-radius: 24px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    margin: 0;	
}

body #main-content .wpa-filter.search-cat li div.alm-filter--link.active {
	border-color: var(--navy);
    color: var(--yellow);
    background: var(--navy);
}

.wpa-news-filter .alm-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: flex-end;
	margin-bottom: 0;
}

.wpa-news-filter .alm-filter.search {
    flex: 0 0 100%;
}

.wpa-news-filter .alm-filter--inner {
    padding: 0;
}

.wpa-news-filter .alm-filter.category,
.wpa-news-filter .alm-filter.state,
.wpa-news-filter .alm-filter.event,
.wpa-news-filter .alm-filter.year {
    flex: 1 1 calc(25% - 0.75rem);
    min-width: 140px;
}

.wpa-news-filter .alm-filters--controls {
    flex: 0 0 100%;
    display: flex;
    justify-content: flex-end;
    padding: 0;
    margin: 0;
}

@media (max-width: 980px) {
    .wpa-news-filter .alm-filter.category,
    .wpa-news-filter .alm-filter.state,
    .wpa-news-filter .alm-filter.event,
    .wpa-news-filter .alm-filter.year {
        flex: 1 1 calc(50% - 0.75rem);
    }
}

@media (max-width: 640px) {
    .wpa-news-filter .alm-filter.category,
    .wpa-news-filter .alm-filter.state,
    .wpa-news-filter .alm-filter.event,
    .wpa-news-filter .alm-filter.year {
        flex: 0 0 100%;
    }
}

.wpa-news-filter .alm-filters-container .alm-filter label,
.wpa-news-filter .alm-filters-container button[type=reset] span,
.wpa-resources-filter .alm-filters-container .alm-filter label,
.wpa-resources-filter .alm-filters-container button[type=reset] span {
	color: #ffffff;
}

.wpa-news-filter .alm-filters-container .alm-filter--text-wrap input[type=number], 
.wpa-news-filter .alm-filters-container .alm-filter--text-wrap input[type=text],
.wpa-news-filter .alm-filters-container .alm-filter--select select,
.wpa-resources-filter .alm-filters-container .alm-filter--select select {
	color: var(--navy);
	font-size: 16px;
	padding: .75em 1.5em;
	border-radius: 30px;
	height: 50px;
}

body .alm-filters-container .alm-filter--text-wrap input[type=number], body .alm-filters-container .alm-filter--text-wrap input[type=text] {color: var(--navy);}

.wpa-resources-filter .alm-filters-container .alm-filter--text-wrap input[type=text] {
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
}

.wpa-resources-filter .alm-filters-container .alm-filter--text-wrap {
	height: 50px;
	border-radius: 50px;
	overflow: hidden;
}

body .wpa-resources-filter .alm-filter--text-wrap.has-button button {
	background-color: var(--yellow);
	color: var(--navy);
	    border-top-right-radius: 22px !important;
	    border-bottom-right-radius: 22px !important;
	font-weight: bold;
	border: none;
}

.wpa-news-filter .alm-filters-container .alm-filter--text-wrap {
	border: none;
	background-color: transparent;
	height: 50px;
}

.wpa-news-filter .alm-filters-container .alm-filters--controls {
	margin: 0;
}

body .ajax-load-more-wrap.white .alm-load-more-btn,
body .ajax-load-more-wrap.white .alm-load-more-btn:hover {
    background-color: var(--yellow);
    border: none;
    color: var(--navy);
    border-radius: 30px;
}

#alm-filters-resources {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
}

#alm-filters-resources .alm-filter--group {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    float: none !important;
    display: block !important;
}

#alm-filters-resources button[type=reset] {
	margin-bottom: 0;
	font-weight: bold;
	margin-top: 12px;
}

#alm-filters-resources .alm-filter--text-wrap,
#alm-filters-resources .alm-filter--select {
    width: 100% !important;
}

#alm-filters-resources .alm-filter--textfield,
#alm-filters-resources .alm-filter--item {
    width: 100% !important;
    box-sizing: border-box !important;
}

#alm-filters-resources .alm-filters--controls {
	    flex: 0 0 auto !important;
    width: auto !important;
	margin-bottom: 0;
}

#alm-filters-resources .alm-filters--controls {
	margin-bottom: 0;
}

#alm-filters-resources .alm-filters--controls:empty {
    display: none !important;
}

.wpa-no-results {
    padding: 40px 0;
    text-align: center;
    color: var(--navy);
    width: 100%;
}


/* ── Card shell ─────────────────────────────────────────────────────────────── */
.wpa-alm-athlete-card {
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
	border: 2px solid var(--cyan);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wpa-alm-athlete-card:hover {
    transform: translateY(-2px);
}

/* Remove default link styles */
.wpa-alm-athlete-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

/* ── Photo area ─────────────────────────────────────────────────────────────── */
.wpa-alm-athlete-card__photo {
    position: relative;
    width: 100%;
    /* Maintain a consistent aspect ratio for the photo area */
    padding-top: 62%; /* ~16:10 — tweak to taste */
    background: linear-gradient(160deg, #0d2a4e 0%, #002b5c 60%, #001a38 100%);
    overflow: hidden;
}

.wpa-alm-athlete-card__photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top; /* favour faces */
    display: block;
}

/* Subtle gradient overlay at the bottom of the photo */
.wpa-alm-athlete-card__photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 50%,
        rgba(0, 0, 0, 0.45) 100%
    );
    pointer-events: none;
}

/* Placeholder when no image is set */
.wpa-alm-athlete-card__photo-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpa-alm-athlete-card__photo-placeholder span {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
}

/* ── Info area ──────────────────────────────────────────────────────────────── */
.wpa-alm-athlete-card__info {
    padding: 16px 18px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* ── Category label ─────────────────────────────────────────────────────────── */
.wpa-alm-athlete-card__category {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 4px;
    line-height: 1.2;
    /* Default: cyan */
    color: var(--cyan, #00cbcc);
}

.wpa-alm-athlete-card__category.sharks {
    color: var(--cyan, #00cbcc);
}

.wpa-alm-athlete-card__category.stingers {
    color: var(--cyan, #00cbcc);
}

/* ── Athlete name ───────────────────────────────────────────────────────────── */
.wpa-alm-athlete-card__name {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px;
    line-height: 1.2;
}

/* ── Meta (Position · State · Achievement) ──────────────────────────────────── */
.wpa-alm-athlete-card__meta {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
    line-height: 1.4;
}

.athlete-feed .alm-btn-wrap, .aus-teams-athletes .alm-btn-wrap {
	display: none;
}

.event-fixture .alm-listing {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.event-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px 20px;
    border-bottom: 2px solid #ffffff;
    background: #fff;
	transition: ease-in-out 0.2s;
	border-radius: 6px;
	margin-bottom: 1em;
}

.event-card:hover {
	box-shadow: 0px 0px 15px -3px rgba(0,0,0,0.1);
}

.event-card:last-child {
    border-bottom: none;
}

.event-card__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	align-self: stretch;
    height: auto;
    background: var(--navy);
    color: #fff;
    min-width: 52px;
    border-radius: 4px;
    flex-shrink: 0;
}

.event-card__day {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.event-card__month {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.event-card__content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.event-card__eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--cyan);
    letter-spacing: 0.04em;
    margin: 0;
	padding-bottom: 0;
}

.event-card__title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    color: var(--navy);
	padding-bottom: 0;
}

.event-card__title a {
    color: inherit;
    text-decoration: none;
}

.event-card__venue {
    font-size: 0.85rem;
    color: #888;
    margin: 0;
}

.event-card {
    position: relative;
}

.event-card__title a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.wpa-athlete-medals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wpa-athlete-medals__row {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.wpa-athlete-medals__year {
    font-weight: 700;
    color: #fff;
    min-width: 48px;
    flex-shrink: 0;
}

.wpa-athlete-medals__desc {
    color: #fff;
}

.wpa-fast-facts {

}

.wpa-fast-facts__title {
    text-transform: uppercase;
    color: var(--navy);
    margin: 0 0 16px;
    letter-spacing: 0.04em;
}

.wpa-fast-facts__row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 8px;
    margin-bottom: 8px;
    align-items: baseline;
}

.wpa-fast-facts__label {
    font-weight: 700;
    color: var(--navy);
}

.wpa-fast-facts__value {
    color: var(--navy);
}

.dsm_home_text {display: none;}

.dsm_home_item .dsm_home_icon, .et-db #et-boc .et-l .dsm_home_icon,
.dsm_breadcrumbs a span {
	color: var(--navy);
}

/* Grid */
.wpa-athlete-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

@media (max-width: 768px) {
    .wpa-athlete-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

.wpa-gallery__thumb {
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: block;
    width: 100%;
}

.wpa-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.wpa-gallery__thumb:hover img {
    transform: scale(1.04);
    opacity: 0.85;
}

/* Lightbox */
.wpa-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpa-lightbox[hidden] {
    display: none;
}

.wpa-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 43, 92, 0.92);
}

.wpa-lightbox__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 90vw;
    max-height: 90vh;
}

.wpa-lightbox__img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 80vw;
    max-height: 85vh;
}

.wpa-lightbox__img {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 8px;
    display: block;
}

.wpa-lightbox__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    padding: 4px 8px;
}

.wpa-lightbox__prev,
.wpa-lightbox__next {
    background: rgba(255, 255, 255, 0.15);
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 1.4rem;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.wpa-lightbox__prev:hover,
.wpa-lightbox__next:hover {
    background: var(--cyan);
    border-color: var(--cyan);
    color: var(--navy);
}

.wpa-athlete-logos {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Team logo — large box */
.wpa-athlete-logos__team {
    background: #fff;
    padding: 12px;
    width: 160px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wpa-athlete-logos__team img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

/* Sponsor — smaller box */
/* Default: sits in normal flow (no team logo present) */
.wpa-athlete-logos__sponsor {
    background: #fff;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: 80px;
    align-self: flex-start;
}

/* When both logos present, sponsor floats top-right */
.wpa-athlete-logos--has-team .wpa-athlete-logos__sponsor {
    position: absolute;
    top: 0;
    right: 0;
}

.wpa-athlete-logos__sponsor img {
    max-width: 120px;
    max-height: 56px;
    object-fit: contain;
    display: block;
}


/* Table wrapper */
.wpa-resources-wrap {
    width: 100%;
    font-family: inherit;
}

/* Header row */
.wpa-resource-table-header {
    display: grid;
    grid-template-columns: 1fr 200px 110px 120px;
    background-color: var(--navy);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 14px 20px;
    border-radius: 4px 4px 0 0;
}

/* Body rows (ALM target) */
.wpa-resource-table-body .wpa-resource-row {
    display: grid;
    grid-template-columns: 1fr 200px 110px 120px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #ddd;
    background: #ffffff;
    color: #ccc;
    font-size: 14px;
}

.wpa-resource-table-body .wpa-resource-row:nth-child(even) {
    background: var(--grey-light);
}

/* Category col */
.wpa-resource-category {
    color: var(--navy);
    font-size: 13px;
	line-height: 1.5;
}

/* Document name */
.wpa-resource-name {
    font-weight: 700;
    color: var(--navy);
	line-height: 1.5em;
}

/* Type col */
.wpa-resource-type {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--navy);
}

.wpa-resource-type-icon svg {
    stroke: #aab8c6;
    flex-shrink: 0;
}

/* Date col */
.wpa-resource-date {
    color: var(--navy);
}

/* Download button */
.wpa-resource-download-btn {
    background: var(--yellow);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    text-align: center;
    display: block;
    color: var(--navy);
    border-radius: 30px;
    padding: .35em;
}

.wpa-resource-download-btn:hover {
    cursor: pointer;
}

.home .alm-btn-wrap, .australian-water-polo-league .alm-btn-wrap {display: none;}

/* Load More button */
.wpa-resources-wrap .alm-btn-wrap {
    text-align: center;
    padding: 24px 0 0;
}

.wpa-resources-wrap .alm-load-more-btn {
    background: var(--teal-dark);
    color: #fff;
    border: none;
    padding: 12px 32px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 3px;
}

.wpa-resources-wrap .alm-load-more-btn:hover {
    background: var(--navy);
}

/* Responsive */
@media (max-width: 768px) {
    .wpa-resource-table-header {
        display: none;
    }
    .wpa-resource-table-body .wpa-resource-row {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        gap: 4px 12px;
    }
    .wpa-resource-name { grid-column: 1 / -1; }
}

body table {
    border: 1px solid var(--navy) !important;
    border-radius: 6px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

body table th {
	background-color: var(--navy);
    color: #fff !important;
    font-weight: 700 !important;
	padding: 14px 24px !important;
}

table tr {
	border-bottom: 1px solid #ddd;
    background: #ffffff;
}

table tr td a {
	color: var(--teal-dark);
}

table tr:last-child {
	border-bottom: none;
}

table tr:nth-child(even) {
	background: var(--grey-light);
}


/*** Form Styling ***/

.gform_required_legend { display: none;}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	font-size: 16px;
    padding: 10px 16px;
    border: none;
    border-radius: 30px;
    height: auto;
    min-height: 50px;
}

.partner-form input,
.partner-form select,
.partner-form textarea,
.school-form input,
.school-form select,
.school-form textarea,
.athlete-form input,
.athlete-form select,
.athlete-form textarea,
.comm-form input,
.comm-form textarea {
	background-color: var(--grey-light);
}

body input[type=checkbox] {
	height: 25px;
    min-width: 25px !important;
    background-color: var(--grey-light);
    border: none;
    box-shadow: none;
    padding: 2px !important;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: 0;
	margin-right: 6px;
}

body input[type=checkbox]:checked {
	background: var(--teal-dark);
}

body input[type=checkbox]:checked:before {
	font-family: 'ETModules' !important;
	color: #ffffff;
	content: '\4e';
    font-weight: bold;
    font-size: 18px;
}

body input[type=radio] {
	height: 25px;
    min-width: 25px !important;
    background-color: var(--grey-light);
    border: none;
    box-shadow: none;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
    padding: 2px !important;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: 0;
}

body input[type=radio]:checked {
	background: var(--teal-dark);
}

body input[type=radio]:checked:before {
	font-family: 'ETModules' !important;
	content: '\4e';
    font-weight: bold;
    font-size: 18px;
	color: #ffffff;
}

#gform_wrapper_1,
#gform_1,
#gform_fields_1 {
    max-width: 600px;
    margin-inline: auto;
    width: 100%;
    justify-self: center;
}

/* Reset the 12-col grid to something simpler */
#gform_fields_1 {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

/* Email input takes most of the space */
#field_1_1 {
    flex: 1 1 300px;
}

/* Submit button fixed width */
#gform_submit_button_1 {
    flex: 0 0 auto;
	background: var(--yellow);
    color: var(--navy);
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 0 50px 50px 0;
	min-height: 50px;
	line-height: 1;
	padding: .75em 2em;
	border: none;
}

.home-sub-form #input_1_1 {
	border-radius: 50px 0 0 50px;
    border: none;
    padding: 10px 20px !important;
    min-height: 50px;
    font-size: 18px;
}

.gform_footer input {
	background: var(--yellow);
    color: var(--navy);
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 50px;
	border: none;
	min-height: 50px;
	line-height: 1;
	padding: .75em 2em;
}

.gform_footer input:hover {
	cursor: pointer;
}

#footer #gform_fields_1 {gap: 4px;}
#footer #field_1_1 {
    flex: 1 1 200px;
}


/*** Responsive Styling ***/

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 1405px) {

 
}

/*** Responsive Styles Standard Desktop Only ***/
@media all and (min-width: 1100px) and (max-width: 1405px) {


}

/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
.swap_row,
.middle-row.swap_row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex !important;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	} 
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
		margin-bottom: 30px !important;
	} 
	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	} 
	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	} 
	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	.swap_row:last-child .et_pb_column:not(.et-last-child) {
		margin-bottom: 0;
	}
	.middle-row {
		display: block;
	}
	body #main-content .news-feed {gap: 1em;}
	#sb_instagram #sbi_images {gap: 20px !important;}
	  #wpa-header .et_pb_menu_0_tb_header .et_mobile_nav_menu {
    display: none;
  }
	#wpa-header .et_pb_menu_0_tb_header .et_pb_menu__menu {
    display: none;
  }
	#wpa-header .et_mobile_menu .sub-menu {
    display: none;
    padding-left: 1em;
  }
  #wpa-header .et_mobile_menu .menu-item-has-children.submenu-open > .sub-menu {
    display: block;
  }
  #wpa-header .et_mobile_menu .menu-item-has-children {
    position: relative;
  }
  #wpa-header .et_mobile_menu .menu-item-has-children > a {
    display: inline-block;
    width: calc(100% - 50px);
  }
  #wpa-header .et_mobile_menu .submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    color: inherit;
    font-size: 1.5em;
    line-height: 1;
    padding: 0;
    z-index: 2;
  }
  #wpa-header .et_mobile_menu .submenu-toggle::before {
    content: '+';
    font-weight: 300;
    transition: transform 0.2s ease;
  }
  #wpa-header .et_mobile_menu .menu-item-has-children.submenu-open > .submenu-toggle::before {
    content: '−';
  }
  #wpa-header .et_mobile_menu .sub-menu {
    display: none !important;
    padding-left: 1em;
  }
  #wpa-header .et_mobile_menu .menu-item-has-children.submenu-open > .sub-menu {
    display: block !important;
  }
	 #wpa-header .et_mobile_menu .wpa-mobile-socials {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 1.5em;
    padding: 1em 0;
    list-style: none;
    border-top: 1px solid var(--cyan);
    margin-top: 1em;
	justify-content: center;
  }
  #wpa-header .et_mobile_menu .wpa-mobile-socials .social-link {
    padding: 0;
    border: none;
    list-style: none;
  }
  #wpa-header .et_mobile_menu .wpa-mobile-socials .social-link a {
    padding: 0;
    display: inline-block;
  }
  #wpa-header .et_mobile_menu .member-btn a {
    display: inline-block;
    background: var(--yellow);
    color: var(--navy);
    padding: 0.75em 1.5em;
    border-radius: 4px;
    margin: 0.5em 0;
    font-weight: bold;
  }
	#wpa-header .member-btn {
		margin-left: 0;
		padding: 1em;
		border-radius: 30px;
		display: inline-block;
		width: 100%;
        text-align: center;
		margin-top: 1em;
	}
	#wpa-header .member-btn a {
		color: var(--navy) !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.number-grid {
		flex-direction: row;
		align-items: normal;
	}
	.et_pb_row:has(.et_pb_column:last-child.et_pb_column_empty) .et_pb_column:first-child {
/* .et_pb_row:has(.et_pb_column_empty:last-child) .et_pb_column:first-child { */
    margin-bottom: 0 !important;
}
	#wpa-header .middle-row {
		display: flex;
	}
	#wpa-header .middle-row .et_pb_column:first-child {
		margin-bottom: 0;
	}
	#wpa-header .middle-row .et_pb_menu:first-child {
		display: none;
	}
	.et_pb_menu .et_mobile_menu {
        top: calc(100% + 32px);
	}
	  #wpa-header .et_mobile_menu {
    max-height: calc(100vh - 100px); /* adjust 100px to roughly match header height */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
	  body #wpa-header .et_pb_menu .et_pb_menu__wrap {
    flex: 0 0 auto;
    width: auto;
    pointer-events: none;
  }
  
  /* But keep the hamburger and search clickable */
  body #wpa-header .et_pb_menu .et_pb_menu__wrap > * {
    pointer-events: auto;
  }
	.et_pb_menu--style-left_aligned .et_pb_menu_inner_container {
		justify-content: flex-end;
	}
	  /* Logo column needs to win the stacking war */
  body #wpa-header .middle-row .et_pb_column:first-child {
    position: relative;
    z-index: 10;
  }
  
  /* Menu column should sit BEHIND the logo, but its interactive bits (hamburger/search) need to remain clickable */
  body #wpa-header .middle-row .et_pb_column--with-menu {
    z-index: 1;
    pointer-events: none;
  }
  
  /* Re-enable clicks on the actual menu controls */
  body #wpa-header .middle-row .et_pb_column--with-menu .et_pb_menu_inner_container,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_pb_menu__wrap,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_pb_menu__menu,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_pb_menu__icon,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_pb_menu__search-button,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_mobile_nav_menu,
  body #wpa-header .middle-row .et_pb_column--with-menu .mobile_menu_bar,
  body #wpa-header .middle-row .et_pb_column--with-menu .et_mobile_menu {
    pointer-events: auto;
  }
	  body #wpa-header .et_mobile_menu {
    position: fixed;
    top: 128px; /* matches your --wpa-header-height */
    left: 0;
    right: 0;
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
  }
  
  /* If you want the menu to remain anchored to the hamburger column instead, 
     use this alternative - menu spans from left edge to right edge of viewport */
  body #wpa-header .et_pb_menu .et_mobile_nav_menu {
    position: static;
  }
}

/*** Responsive Styles Tablet and ABOVE ***/
@media all and (min-width: 981px) {

}

/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
  .footer-row {
    /* your existing flex styles already handle this */
  }
  .footer-row > .et_pb_column > .et_pb_image_12_tb_footer {
    flex: 0 0 100%;
  }
  .footer-row > .et_pb_column > .et_pb_text_4_tb_footer,
  .footer-row > .et_pb_column > .et_pb_text_5_tb_footer,
  .footer-row > .et_pb_column > .et_pb_text_6_tb_footer {
    flex: 0 0 calc((100% - 4em) / 3);
  }
  .footer-row > .et_pb_column > .et_pb_text_7_tb_footer {
    flex: 0 0 100%;
  }
	.state-row.et_pb_row {
    flex-wrap: wrap !important;
  }
  .state-row > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 1.5em;
  }
	.state-row > .et_pb_column:first-child {
		margin-bottom: 0;
		padding-bottom: 0;
	}
  .state-row > .et_pb_column:last-child {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75em;
    margin-bottom: 0;
  }
  .state-row > .et_pb_column:last-child .et_pb_button_module_wrapper {
    margin: 0;
    flex: 0 0 auto;
  }
  .state-row > .et_pb_column:last-child .et_pb_button {
    display: block;
    text-align: center;
  }
	body .alm-layouts .alm-grid.alm-grid-cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
		.single-athletes .news-feed .et_pb_post {margin-bottom: 0;}
}

/*** Responsive Styles Smartphone Only ***/
@media all and (max-width: 767px) {
	body .wpa-related-posts .wpa-blog.et_pb_blog_grid {
		display: block;
	}
	body .wpa-post-related .size-1of3 {
		width: 100% !important;
		margin-right: 0 !important;
		margin-bottom: 30px;
	}
	.home-sub-form #input_1_1,
	#gform_submit_button_1 {
		border-radius: 50px;
		width: 100%;
	}
	#gform_fields_1 .gfield--type-submit {
		width: 100%;
	}
	.state-logos .et_pb_image {margin-bottom: 0;}
	.footer-row .et_pb_column {display: block;}
	.number-grid {flex-direction: column;}
	.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
		border-radius: 12px;
	}
	.wpa-inline-card .dsm_card_wrapper {
		display: block;
	}
	.mb-adjust .et_pb_column {
		margin-bottom: 0;
	}
	#alm-filters-resources,
	.wpa-resource-table-body .wpa-resource-row {
    	display: block !important;
	}
	  .stat-grid {
		grid-template-columns: 1fr;
	  }
	  .entry-content table:not(.variations) {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		max-width: 100%;
	  }

	  .entry-content table:not(.variations) td,
	  .entry-content table:not(.variations) th {
		white-space: normal; /* allow cell content to wrap */
		min-width: 150px;
	  }
	.dsm_breadcrumbs>li {
		margin-left: 0;
	}
	body #main-content .et_pb_button {
    	font-size: 14px;
	}
	#wpa-header .et_pb_image_wrap img {
    	min-height: 60px;
	}
	.state-logos .et_pb_column {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 479px) {

	
}