@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
  /* Global Font */
body {
  font-family: 'Poppins', sans-serif;
  background-color: #f7f8fa;
  color: #333;
}
.fs-48 {
  font-size: 3rem !important;
}
/* Custom container size for >1400px */
@media (min-width: 1400px) {
  .container {
    max-width: 1440px;
  }
}
.bg-light {
    --bs-bg-opacity: 1;
    background-color: #F4F5FA !important;
}
.table>:not(caption)>*>*
{
  background-color: transparent !important;
}
/* Table Wrapper */
.dataTables_wrapper {
  padding: 2rem 0;
}

/* Heading Alignment with Search */
.dataTables_wrapper .dataTables_filter {
  float: right;
  margin-bottom: 1rem;
}

#datatable-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #28563E;
  display: flex;
  align-items: center;
}

/* Table */
table.dataTable {
  width: 100% !important;
  border-collapse: collapse !important;
  background-color: #F4F5FA;
  --bs-table-bg:#F4F5FA !important;
}
table.dataTable.table-striped>tbody>tr.odd>*
{
  box-shadow: none !important;
}
table.dataTable.team-results-table
{
background-color: #fff;
  --bs-table-bg:#ffffff !important;
}

table.dataTable thead {
  background-color: transparent;
  border-bottom: 2px solid #ddd;
}

table.dataTable thead th {
  font-weight: 500;
  font-size: 12px;
  color: #838383;
  border-bottom: 1px solid #838383;
  padding: 1rem;
}
div.dataTables_wrapper div.dataTables_info
{
  font-weight: 500;
  font-size: 12px;
  color: #838383;
  padding-left:15px;
}
table.dataTable tbody td {
  font-size: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #fff; 
}
table.dataTable:not(.team-results-table) tbody td {
  background-color: #F4F5FA !important;
}

table.dataTable.team-results-table tbody td
{
  border:none;
}
table.dataTable tbody tr:last-child td
{
   border-bottom: 1px solid #838383 !important;
}

table.dataTable tbody tr:nth-child(even) {
  background-color: #fdfdfd;
}

/* Year Column Style */
table.dataTable tbody td a, table tbody td a {
  color: #AF9961;
  font-weight: 500;
  text-decoration: none;
}

/* Highlight Selected Row */
table.dataTable tbody tr.selected {
  border: 2px solid #3090FF;
  background-color: #e7f0ff;
}

/* Search Input */
.dataTables_filter input {
  border-radius: 9999px;
  padding: 0.5rem 1.25rem;
  border: 1px solid #ccc;
  outline: none;
  width: 260px;
}
#genderFilter
{
  border-radius: 9999px !important;
}
/* Pagination */
.dataTables_paginate .paginate_button {
  padding: 6px 5px;
  margin: 0 2px;
  background: transparent;
  border-radius: 4px;
  color: #606060;
  border: 1px solid transparent;
}

.dataTables_paginate .paginate_button.active a {
  background: #b69961;  
  border: 1px solid #b69961;
  color:#fff;
}
.dataTables_paginate .paginate_button:hover a
{
  background-color: #444444;
  border: 1px solid #444444;
  color:#FFF;
}
.page-item:not(:first-child):not(:last-child) .page-link {
width:32px;
height:32px;
padding:7px 5px;
border-radius:50%;
text-align:center;
font-size:12px;
}
.page-item:first-child .page-link, .page-item:last-child .page-link {
border-radius:20px;
background: #fff;
border:0;
font-size:12px;
}
.dataTables_paginate 
/* Info Text */
.dataTables_info {
  padding: 0.75rem 0;
  font-size: 13px;
  color: #555;
}
#custom-dt-search input
{
  min-width:300px;
}

.dataTables_paginate .paginate_button a
{
 color: #606060;
}
.dataTables_paginate .paginate_button.active a.pagelink
{
  background-color: #b69961;  
  border: 1px solid #b69961;
  color: #fff !important;
}
  /* Override success text color */
  .text-success {
    color: #28563E !important;
  }

  /* Override success background color */
  .bg-success {
    background-color: #28563E !important;
  }

  /* Override button success styles */
  .btn-success {
    background-color: #28563E !important;
    border-color: #28563E !important;
  }

  .btn-success:hover {
    background-color: #1f4531 !important;
    border-color: #1f4531 !important;
  }

  .btn-success:focus {
    box-shadow: 0 0 0 0.25rem rgba(40, 86, 62, 0.5) !important;
  }

  :root {
  --bs-warning: #AF9961;
}

/* Optional: overwrite background and border for specific components */
.bg-warning {
  background-color: #AF9961 !important;
  color: #fff !important;
}

.text-warning {
  color: #AF9961 !important;
}

.border-warning {
  border-color: #AF9961 !important;
}

.btn-warning {
  background-color: #AF9961 !important;
  border-color: #AF9961 !important;
  color: #fff !important;
  --bs-btn-color: #fff !important;
}

.btn-warning:hover {
  background-color: #99874f !important;
  border-color: #99874f !important;
}
.btn-rounded-right {
  border-top-right-radius: 50rem;
  border-bottom-right-radius: 50rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

 .team-results-wrapper {
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
  }

  .team-results-title {
    font-size: 28px;
    font-weight: 600;
    color: #1e453e;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
  }


  .year-flag img
  {
  width: 42px;          /* same width */
  height: 42px;         /* same height */
  border-radius: 50%;   /* makes it a circle */
  object-fit: cover;    /* crops to fit circle */
  border: 1px solid #ccc; /* optional: thin border */
  }
.flag-container img {
  width: 24px;          /* same width */
  height: 24px;         /* same height */
  border-radius: 50%;   /* makes it a circle */
  object-fit: cover;    /* crops to fit circle */
  border: 1px solid #ccc; /* optional: thin border */
}

  /* Scoped DataTable styles */
  table.team-results-table {
    width: 100%;
    border-collapse: collapse;
  }

  table.team-results-table thead th {
    font-size: 13px;
    font-weight: 500;
    color: #838383;
    border-bottom: 1px solid #838383;
  }

  table.team-results-table tbody td {
    font-size: 15px;
    font-weight: 500;
  }

  table.team-results-table tbody tr:nth-child(even) {
    background-color: #ffffff;
  }
  .table-hover.team-results-table>tbody>tr:hover>*  
  {
    --bs-table-bg-state:#f8f8f8 !important;
    background-color: #f8f8f8 !important;
  }
  table.dataTable.table-hover>tbody>tr:hover>*
  {
    box-shadow: none !important;
  }

  .gold-text {
    color: #AF9961;
  }

/* Container & buttons */
  .gallery-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    gap: 10px;
  }
  .gallery-btn {
    border-radius: 50%;
    width: 40px;
    min-width:40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;    
    background: #ffffff;
  }
  .gallery-btn:hover {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: #fff;
  }
.white-close.btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") !important;
}

  /* Swiper slides */
  .swiper {
  flex-grow: 1;
  width: 100%;
  
  opacity: 0;
  transition: opacity .3s ease;
}

.swiper-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#athleteGalleryScroll.swiper-wrapper
{
  justify-content: center;
}

.swiper-slide {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto !important;       /* allow natural width */
}

.image-hover-wrapper {
  position: relative;
  width: auto;                  /* natural width */
  height: 150px;                /* fixed height */
  cursor: pointer;
}

.image-hover-wrapper img {
  height: 150px;                /* fixed height */
  width: auto;                  /* scale width naturally */
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

  .image-hover-caption {
    position: absolute;
    inset: 0;
    background: rgba(40, 86, 62, 0.65);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px;
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    font-size: 10px;
  }
  .image-hover-wrapper:hover .image-hover-caption {
    opacity: 1;
  }

  #prevImageBtn, #nextImageBtn, #athletePrevImageBtn, #athleteNextImageBtn
  {
    width:40px;
    height:40px;    
  }
  #prevImageBtn:hover, #nextImageBtn:hover, #athletePrevImageBtn:hover, #athleteNextImageBtn:hover, #athgalleryLeftBtn:hover, #athgalleryRightBtn:hover
  {
    background-color: #AF9961 !important;
    color:#fff !important;
    border-color: #AF9961 !important;
  }
  #prevImageBtn, #athletePrevImageBtn
  {
    left: -45px;
  }
  #nextImageBtn, #athleteNextImageBtn
  {
    right:-45px;
  }

/* Avoid overlay stacking */
.modal-backdrop.show {
  opacity: 0.85 !important;
}

/* Remove default arrows
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  content: "" !important;
} */

/* Add custom icons */
/* table.dataTable thead .sorting:after {
  content: "⇅"; 
  font-size: 12px;
  margin-left: 6px;
  color: #999;
}

table.dataTable thead .sorting_asc:after {
  content: "▲"; 
  font-size: 12px;
  margin-left: 6px;
  color: #28563E; 
}

table.dataTable thead .sorting_desc:after {
  content: "▼"; 
  font-size: 12px;
  margin-left: 6px;
  color: #AF9961; 
} */



  @media (min-width: 1400px) {
  .container {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
  }
}
