.dy-card-listing-block-section{
	padding-block: var(--section-gaps);
}
.dy-card-listing-block-section .grid-row{
	--col-items: var(--cols-item);	
}
.dy-card-listing-block-section .grid-row[data-type="athlete"]{
	--gap: 28px;	
}

.dy-card-listing-block-section .grid-row[data-type="sport"]{
	--gap: 24px;	
}
.dy-card-listing-block-section .dy-card-head {
    margin-bottom: 40px;
    padding-bottom: 20px !important;
}

.dy-card-listing-block-section.section-white-bg .mobile-only .border-btn.yellow:not(:hover),
.dy-card-listing-block-section.section-white-bg .dy-card-head .border-btn.yellow:not(:hover){
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.dy-card-listing-block-section .mobile-only{
	display: none;
}
.dy-card-head:has(.title:empty){
	display: none;
}
.sports-listing-head {
    background: #E8E8E8;
    border-radius: 8px;
	padding: 24px;
}

/* Athelete Filter Listing */
.athletes-search-box{
	padding:20px 0 50px;
}
.athletes-search-box .breadcrumb-lists {
    margin-bottom: 20px;
}

.athletes-search-box .main-title{
	padding-left: 0;
	padding-right: 0;
}
.athletes-search-box .main-title p {
    font-size: 24px;
}
.search-box-layout {
	background-color: #F3F5F8;
	padding: 40px 24px;
	border-radius: 8px;
/* 	margin-top: calc(-1 * var(--section-gaps)); */
	margin-bottom: 40px;
}

.search-box-layout .wrap :is(.main-title, .search-box-wrap){
	max-width: 630px;
	margin: 0 auto;
	text-align: center;
	gap: 10px;
}
.athletes-search-box .main-title p {
    font-size: var(--h5-sty);
}


.search-box-wrap {
	display: grid;
    grid-template-columns: auto 170px;
    gap: 19px;
}

.search-box-wrap input.search-field {
	height: 55px;
	line-height: 55px;
	padding: 16px 16px 16px 16px;
	border-radius: 8px;
	border: 2px solid var(--primary-color);
	outline:none !important;
	font-size: 17px;
}

.search-box-wrap .primary-btn {
	width:100%;
	height: 55px;
	text-transform:uppercase;
	gap: 12px;
	font-size: 20px;
	font-weight:500;
}
.search-box-layout span.title {
    display: block;
    margin-bottom: 17px;
    font-size: 24px;
    font-weight: 500;
}
.search-box-wrap .primary-btn svg path{
	fill:currentcolor;
}
.custom-box-filter .select-input-field {
    grid-column: span 3;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.dy-card-listing-block-section.section-green-bg .btn-wrap a.btn {
    border-color: white;
    color: #fff;
}

.dy-card-listing-block-section.section-green-bg .btn-wrap a.btn:hover {
    background-color: #fff;
    color: var(--primary-color);
}

.dy-card-listing-block-section.section-green-bg .more-athlete-btn button {
    background-color: #fff;
    color: var(--primary-color);
}
.dy-card-listing-block-section.section-green-bg .more-athlete-btn button {
    background-color: #fff;
    color: var(--primary-color);
}
.dy-card-listing-block-section.section-green-bg .more-athlete-btn button {
    background-color: #fff;
    color: var(--primary-color);
}

.dy-card-listing-block-section.section-green-bg .more-athlete-btn button:after{
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5565 7.65678L0 7.65678L0 5.34322L8.5565 5.34322L4.84746 1.63418L6.5 0L13 6.5L6.5 13L4.84746 11.3658L8.5565 7.65678Z' fill='%2302454d'/%3E%3C/svg%3E%0A");
}

.dy-card-listing-block-section.section-green-bg .more-athlete-btn button:hover {
	background-color: var(--yellow-color);
    color: var(--primary-color);
    border-color: var(--yellow-color);
}
.dy-card-listing-block-section.section-green-bg .load-more-wrap .countinfo{
	color: #fff;
}

.atheles-list-section {
    margin-top: 40px;
	display: grid;
	gap:30px;
}

.custom-filter .filter-wrap span.title {
    font-size: 24px;
    margin-bottom: 18px;
    display: block;
    line-height: 1;
	font-weight:500;
}
.box-sty-two .grid-row.athlete-listing{
    gap: 20px;
}
.custom-box-filter .grid-row {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.custom-box-filter {
    padding: 32px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 8px;
    margin-top: 30px;
}

.custom-box-filter .item:has(.checkbox-field){
    border: 1px solid #fff;
    border-radius: 8px;
    padding: 15px;
	text-align:center;
}

.custom-box-filter .item span.f-title {
    font-weight: 500;
    display: block;
    margin-bottom: 12px;
}

.filter-checkbox {
     display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 18px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.filter-checkbox input {
    display: none;
}

.filter-checkbox .checkbox-item span.check-icon {
	display: flex;
    align-items: center;
    gap: 6px;
    font-size: 17px;
	font-weight: 400;
}

.checkbox-item span.icon-holder {
    --size: 35px;
    width: var(--size);
    height: var(--size);
    border: 1px solid #D4D4D4;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #D4D4D4;
}

.checkbox-item span.icon-holder svg {
    height: 1.4em;
    width: auto;
    fill: currentColor;
}

.medal-rank span.medal {
	--size: 28px;
    background-color: #ccc;
    flex: 0 0 var(--size);
	max-width:var(--size);
	width:var(--size);
    height: var(--size);
    border-radius: 50%;
    margin: 2px;
    border: 3px solid #11444d;
    outline: 1px solid transparent;
}

.medal-rank .checkbox-item label:has(input:checked) span.medal{
/* 	outline: 2px solid #ffffffb5; */
/* 	outline: 3px solid var(--secondary-green-color); */
	outline: 2px solid var(--yellow-color);
	outline-offset: 2px;
}

.medal-rank span.medal.gold-medal {
    background-color: #7A6C00;
    border: 3px solid #C6AF03;
}

.medal-rank span.medal.silver-medal {
    background-color: #5A5A5A;
    border: 3px solid #B3B3B3;
}

.medal-rank span.medal.bronze-medal {
    background-color: #695830;
    border: 3px solid #AD831F;
}

.filter-checkbox  .checkbox-item label{
    cursor:pointer;
}
.filter-checkbox .checkbox-item label:has(input:checked){
    color:var(--yellow-color);
}
.checkbox-item label:has(input:checked) span.icon-holder{
	border-color: var(--yellow-color);
	color:var(--primary-color);
	background-color: var(--yellow-color);
}
.custom-box-filter .item select{
	width:100%;
	height:55px;
	padding:18px 40px 15px 15px;
	background-color:#fff;
	border-radius:8px;
	border:none;
	appearance:none;
	color:var(--text-color);
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41875 8.82812L14.125 2.12187L14.8313 1.41563L13.4156 0L12.7094 0.70625L7.41563 6L2.12188 0.70625L1.41562 0L0 1.41563L0.70625 2.12187L6.70625 8.12188L7.4125 8.82812H7.41875Z' fill='%23151515'/%3E%3C/svg%3E%0A");
	background-size: 16px;
	background-repeat:no-repeat;
	background-position: calc(100% - 10px)  50%;
	font-family: var(--primary-font);
	font-size: 17px;
}

.custom-box-filter select:disabled,
.custom-box-filter:not(:has([name="disabilitytype"] [value="physical-impairment"]:checked)) [name="disability"]{
    opacity: 0.8;
    pointer-events: none;
}
.custom-box-filter .filter-btn-wrap{
	display: flex;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}
.custom-box-filter .filter-btn-wrap .reset-btn {
    border: none;
    background: none;
    padding: 14px;
    color: #fff;
    text-transform: none;
	text-transform:uppercase;
}
.custom-box-filter .filter-btn-wrap button.btn.border-btn {
    text-transform: uppercase;
    padding: 12px 40px;
    gap: 16px;
}
.custom-box-filter .filter-btn-wrap button.btn.border-btn svg path{
	fill:currentcolor;
}
.custom-box-filter .filter-btn-wrap .reset-btn:hover{
	color:var(--yellow-color);
}

/* Sports Listing CSS */

.sports-listing-wrap .grid-row {
	--gap: 8px;
}

.sports-listing-head {
    background: #E8E8E8;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 40px;
}
.sports-listing-head .title{
	margin: 0;
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom: 24px;
}
.sports-listing-head .sports-filter{
	display: grid;
	gap: 10px;
	grid-template-columns:1fr 300px 250px;
	background-color:var(--primary-color);
	padding:24px;
	border-radius:8px;
	color:#fff;
	align-items: flex-end;
}
.sports-listing-head .sports-filter input,
.sports-listing-head .sports-filter select{
	padding: 16px;
	border: 2px solid var(--gray-dark,#5E5E5E);
	border-radius: 8px;
	font-size: 17px;
	color: var(--text-color,#151515);
	flex: 0 1 375px;
	max-width: 100%;
	width: 375px;
}
.sports-listing-head .sports-filter select{
	flex: 0 1 auto;
	width: auto;
	max-width: 270px;
	padding-right: 32px;
	background-image: url("data:image/svg+xml,%3Csvg width='15' height='9' viewBox='0 0 15 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41875 8.82812L14.125 2.12187L14.8313 1.41563L13.4156 0L12.7094 0.70625L7.41563 6L2.12188 0.70625L1.41562 0L0 1.41563L0.70625 2.12187L6.70625 8.12188L7.4125 8.82812H7.41875Z' fill='%23151515'/%3E%3C/svg%3E%0A");
	background-size: 16px;
	appearance: none;
	background-repeat: no-repeat;
	background-position: calc(100% - 10px) 50%;
}

/* End Sports Listing CSS */

.dy-card-wrap{
  position: relative;
}
.loader-spinner {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: relative;
  animation: rotate 1s linear infinite;
  font-size: 0;
  position: absolute;
  left: 50%;
  top: min(50%,300px);
   translate: -50% -50%;
}
.loader-spinner::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0px;
  border-radius: 50%;
  border: 5px solid var(--primary-color);
  animation: prixClipFix 2s linear infinite ;
}

@keyframes rotate {
  100%   {transform: rotate(360deg)}
}

@keyframes prixClipFix {
  0%   {clip-path:polygon(50% 50%,0 0,0 0,0 0,0 0,0 0)}
  25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0)}
  50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
  75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 100%)}
  100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0 100%,0 0)}
}

/* Athlete Filter dropdown CSS */
details.athlete-filter-accordion summary {
	cursor: pointer;
	position: relative;
	list-style: none;
	font-size: 17px;
	font-weight: 500;
	color: #ffffff;
	background-color: var(--primary-color);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
}
details.athlete-filter-accordion summary::-webkit-details-marker {
	display: none;
}

details.athlete-filter-accordion summary::marker {
	content: "";
}
details.athlete-filter-accordion summary::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  transition: transform 0.3s ease;
  --size: 32px;
  width: var(--size);
  height: var(--size);
  background-color: var(--primary-color);
  border-radius: 50%;
  background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='32' height='32' rx='16' fill='%23FDEE2F' style='fill:%23FDEE2F;fill:color(display-p3 0.9922 0.9333 0.1843);fill-opacity:1;'/%3E%3Cmask id='mask0_2787_6525' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='8' y='8' width='15' height='15'%3E%3Crect x='23' y='8' width='15' height='15' transform='rotate(90 23 8)' fill='%23D9D9D9' style='fill:%23D9D9D9;fill:color(display-p3 0.8510 0.8510 0.8510);fill-opacity:1;'/%3E%3C/mask%3E%3Cg mask='url(/wp-content/themes/paralympics/blocks/dynamicathletesport/%23mask0_2787_6525)'%3E%3Cpath d='M14.3432 17.5565L14.3432 9L16.6568 9L16.6568 17.5565L20.3658 13.8475L22 15.5L15.5 22L9 15.5L10.6342 13.8475L14.3432 17.5565Z' fill='%2302454D' style='fill:%2302454D;fill:color(display-p3 0.0078 0.2706 0.3020);fill-opacity:1;'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
}

details.athlete-filter-accordion[open] summary::after {
	transform: translateY(-50%) scaley(-1);
}

details.athlete-filter-accordion:not([open])::details-content,
details.athlete-filter-accordion::details-content {
	display: block;
	content-visibility: visible;
}

@media (min-width: 768px) {
	details.athlete-filter-accordion {
		display: block;
	}
	details.athlete-filter-accordion:not([open])::details-content,
	details.athlete-filter-accordion::details-content {
		display: block;
		content-visibility: visible;
	}

	details.athlete-filter-accordion summary {
		display: none;
	}
}
@media (max-width: 767px){
	details.athlete-filter-accordion::details-content,
	details.athlete-filter-accordion .details-content{
		block-size: 0;
		overflow-y: clip;
		opacity: 0;
		interpolate-size: allow-keywords;
		transition: content-visibility 0.3s allow-discrete, opacity 0.3s ease, block-size 0.3s ease;
	}
	details.athlete-filter-accordion[open]::details-content,
	details.athlete-filter-accordion[open] .details-content {
		opacity: 1;
		block-size: auto;
	}
	.dy-card-listing-block-section .dy-card-head .btn{
		display: none;
	}
	.dy-card-listing-block-section .mobile-only {
		display: block;
		text-align: center;
		margin-top: 40px;
	}

	.dy-card-listing-block-section .mobile-only a {
		width: 100%;
	}
	.sports-listing-head .title{
		font-size: 26px;
	}
	.sports-listing-head .sports-filter input, 
	.sports-listing-head .sports-filter select{
		max-width: 100%;
		width: 100%;
		flex: 100%;
	}
	.athlete-filter-accordion .custom-box-filter{
		margin-top: 16px;	
	}
	.dy-card-listing-block-section .search-box-layout{
		padding: 40px 20px 30px;
	}
	.sports-listing-head .sports-filter{
		flex: 1 0 100%;
	}
	.dy-card-listing-block-section .grid-row[data-type="athlete"]{
		--gap: 16px;
	}
	.custom-box-filter .select-input-field {
		grid-column: span 1;
		grid-template-columns: repeat(1, 1fr);
	}
	
}

@media screen and (max-width:400px){
	.custom-box-filter .checkbox-item span.check-icon{
		font-size: 14px;
		
		gap: 4px;
	}
	.custom-box-filter .checkbox-item span.icon-holder {
		--size: 28px;
	}
	.custom-box-filter .checkbox-item span.icon-holder svg {
		height: 1.2em;
	}
	.custom-box-filter .filter-checkbox.medal-rank span.medal {
		--size: 22px;
		border-width: 2px !important;
	}
	.medal-rank .checkbox-item label:has(input:checked) span.medal {
		outline: 1px solid var(--yellow-color);
		outline-offset: 1px;
	}
}

/* Sports filter — keywords + season toggle + apply button */

.sports-listing-head .sports-filter .filter-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sports-listing-head .sports-filter .filter-label {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.sports-listing-head .sports-filter .keywords-input-wrap {
    position: relative;
/*     flex: 0 1 375px;
    max-width: 100%;
    width: 375px; */
}
.sports-listing-head .sports-filter .keywords-input-wrap .search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.sports-listing-head .sports-filter .keywords-input-wrap .search-icon path {
    fill: #5E5E5E;
}
.sports-listing-head .sports-filter .keywords-input-wrap input.search-field {
    width: 100%;
    padding-left: 42px;
    border: none;
    flex: 1 1 auto;
    height: 60px;
	border: 2px solid #5E5E5E;
}
.sports-listing-head .sports-filter .season-toggle {
	display: inline-flex;
    align-items: center;
    border: 1px solid #fff;
    border-radius: 8px;
    padding: 6px;
    gap: 4px;
    height: 60px;
	justify-content:center;
	
}
.sports-listing-head .sports-filter .season-option {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    border-radius: 6px;
    transition: color 0.15s ease;
}
.sports-listing-head .sports-filter .season-option:hover,
.sports-listing-head .sports-filter .season-option.active {
    color: var(--yellow-color);
}
.sports-listing-head .sports-filter .season-option .season-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    color: rgba(255, 255, 255, 0.85);
    transition: all 0.15s ease;
    flex-shrink: 0;
}
.sports-listing-head .sports-filter .season-option .season-icon svg {
    width: 22px;
    height: 22px;
}
.sports-listing-head .sports-filter .season-option.active .season-icon {
    background: var(--yellow-color);
    border-color: var(--yellow-color);
    color: var(--primary-color);
}
.sports-listing-head .sports-filter .apply-search-btn {
   display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    background: transparent;
    border: 2px solid var(--yellow-color);
    border-radius: 8px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.15s ease, color 0.15s ease;
    height: 60px;
	justify-content: center;
}
.sports-listing-head .sports-filter .apply-search-btn:hover {
    background: var(--yellow-color);
    color: var(--primary-color);
}
.sports-listing-head .sports-filter .apply-search-btn svg path {
    fill: currentColor;
}
@media screen and (max-width: 1000px) {
	.sports-listing-head .sports-filter {
        grid-template-columns: auto 47%;
    }
	.sports-listing-head .sports-filter .filter-field.apply-field{
		    grid-column: span 2;
	}
}

@media screen and (max-width: 767px) {
	.sports-listing-head .sports-filter {
        grid-template-columns: 100%;
    }
	.sports-listing-head .sports-filter .filter-field.apply-field{
		grid-column: span 1;
		margin-top:20px;
	}
	.sports-listing-head .sports-filter{
		padding:8px;
	}
	.sports-listing-head{
		padding:16px;
	}
	.sports-listing-head .sports-filter .filter-field.season-field{
		padding:16px 8px 0;
		border:1px solid #fff;
		border-radius:12px;
		gap: 3px;
	}
	.sports-listing-head .sports-filter .filter-field.season-field .filter-label{
		text-align:center;
	}
	.sports-listing-head .sports-filter .season-toggle{
		border:none;
	}
	.sports-listing-head .sports-filter .apply-search-btn{
		font-size: 18px;
		height: 48px;
		padding: 10px 22px;
	}
}

@media screen and (max-width: 575px) {
    .sports-listing-head .sports-filter .filter-field,
    .sports-listing-head .sports-filter .keywords-input-wrap {
        width: 100%;
        flex: 1 1 100%;
    }
    .sports-listing-head .sports-filter .season-toggle {
        width: 100%;
        justify-content: center;
    }
    .sports-listing-head .sports-filter .season-option {
        flex: 1 1 auto;
        justify-content: center;
    }
    .sports-listing-head .sports-filter .apply-search-btn {
        width: 100%;
        justify-content: center;
    }
	.dy-card-listing-block-section .grid-row[data-type="sport"] {
		--gap: 16px;
	}
}
