/**
 * Events List Page - Professional Styling
 */

/* Events Navigation Header */
.events-navigation-header {
  text-align: right;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e9ecef;
  margin-bottom: 2rem !important;
}

.events-navigation-header .btn {
  background-color: #ffffff;
  color: #18453b;
  border: 2px solid #18453b;
  padding: 0.625rem 1.5rem;
  font-weight: 600;
  font-size: 0.9375rem;
  border-radius: 0;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.events-navigation-header .btn::after {
  content: '→';
  font-size: 1.125rem;
  transition: transform 0.3s ease;
}

.events-navigation-header .btn:hover {
  background-color: #18453b;
  color: #ffffff;
  border-color: #18453b;
  transform: translateX(5px);
  box-shadow: 0 4px 12px rgba(24, 69, 59, 0.2);
}

.events-navigation-header .btn:hover::after {
  transform: translateX(3px);
}

/* Events List Item Card */
.events-list-item {
  transition: transform 0.3s ease;
}

.events-list-item .card {
  transition: box-shadow 0.3s ease;
  border-radius: 0;
}

.events-list-item .card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}

/* Thumbnail */
.events-list-thumbnail {
  height: 100%;
  min-height: 350px;
  overflow: hidden;
  background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
}

.events-list-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.events-list-item:hover .events-list-thumbnail img {
  transform: scale(1.05);
}

/* Overlay effect */
.events-list-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
  pointer-events: none;
}

/* Category Badges */
.events-list-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.events-list-category .badge {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  background: #18453B !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 4px rgba(24, 69, 59, 0.2);
}

.events-list-category .badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(24, 69, 59, 0.3);
}

/* Different color variations for multiple badges */
.events-list-category .badge:nth-child(2) {
  background: linear-gradient(135deg, #00c24e 0%, #00a143 100%) !important;
}

.events-list-category .badge:nth-child(3) {
  background: linear-gradient(135deg, #0066cc 0%, #004d99 100%) !important;
}

.events-list-category .badge:nth-child(4) {
  background: linear-gradient(135deg, #7b2d8c 0%, #5a1f66 100%) !important;
}

/* Title */
.events-list-title {
  color: #18453b;
  line-height: 1.3;
  transition: color 0.3s ease;
}

.events-list-item:hover .events-list-title {
  color: #24705A;
}

/* Event Details */
.events-list-details {
  border-top: 1px solid #e9ecef;
  padding-top: 1.5rem;
}

.events-list-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f9fa;
  border-radius: 0;
  transition: all 0.3s ease;
}

.events-list-item:hover .events-list-icon {
  background-color: #18453b;
}

.events-list-item:hover .events-list-icon svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.events-list-icon svg {
  color: #18453b !important;
  stroke: #18453b !important;
  transition: all 0.3s ease;
}

/* Responsive */
@media (max-width: 768px) {
  .events-list-thumbnail {
    min-height: 250px;
  }

  .events-list-item .card-body {
    padding: 2rem !important;
  }
}

/* No Thumbnail Layout */
.events-list-item .col-12 .card-body {
  max-width: 900px;
  margin: 0 auto;
}

/* Animation */
@media (prefers-reduced-motion: no-preference) {
  .events-list-item {
    animation: fadeInUp 0.6s ease-out;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Event Related Website Links - Inline Button Style */
.field--name-field-event-related-website.field__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.field--name-field-event-related-website .field__item {
  display: inline-block;
}

.field--name-field-event-related-website .field__item a {
  display: inline-block;
  min-height: 44px;
  min-width: 44px;
  padding: 0.5rem 1rem;
  font-weight: 500;
  background-color: #18453b;
  border: 1px solid #18453b;
  color: #fff;
  text-decoration: none;
  border-radius: 0;
  transition: all 0.3s ease;
  line-height: 1.5;
}

.field--name-field-event-related-website .field__item a:hover,
.field--name-field-event-related-website .field__item a:focus {
  background-color: #0f2b23;
  border-color: #0f2b23;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(24, 69, 59, 0.3);
}

/* Hide external link indicator text */
.field--name-field-event-related-website .field__item a .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Responsive - Stack buttons on mobile */
@media (max-width: 576px) {
  .field--name-field-event-related-website.field__items {
    flex-direction: column;
    gap: 0.5rem;
  }

  .field--name-field-event-related-website .field__item {
    display: block;
    width: 100%;
  }

  .field--name-field-event-related-website .field__item a {
    display: block;
    text-align: center;
    width: 100%;
  }
}

/* Event Categories - Tag Style */
.field--name-field-events-categories.field__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.field--name-field-events-categories .field__item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  background-color: #198754;
  border: 1px solid #198754;
  border-radius: 0;
  line-height: 1.5;
}

/* Lucide Tag Icon - SVG as ::before */
.field--name-field-events-categories .field__item::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2H2v10l9.29 9.29c.94.94 2.48.94 3.42 0l6.58-6.58c.94-.94.94-2.48 0-3.42L12 2Z'%3E%3C/path%3E%3Cpath d='M7 7h.01'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

/* Disable link functionality */
.field--name-field-events-categories .field__item a {
  color: #fff;
  text-decoration: none;
  pointer-events: none;
  cursor: default;
}

/* Responsive - maintain inline on mobile */
@media (max-width: 576px) {
  .field--name-field-events-categories.field__items {
    gap: 0.375rem;
  }

  .field--name-field-events-categories .field__item {
    font-size: 0.8125rem;
    padding: 0.3rem 0.625rem;
  }
}

/* Hide QR code alt text */
.qr-alt-text,
.field--name-field-events-qr-code .qr-alt-text {
  display: none !important;
}

/* QR Code image size */
.field--name-field-events-qr-code img,
.event-page-view-qr-code img {
  width: 150px !important;
  height: 150px !important;
  max-width: 150px !important;
  max-height: 150px !important;
}

/* Date box absolute positioning over thumbnail */
.events-list-thumbnail .event-date-box {
  z-index: 10;
}

/* Ensure overlay stays below date box */
.events-list-overlay {
  z-index: 1;
}

/* Date box on event page - positioned over thumbnail */
.events-page-image .event-date-box {
  z-index: 10;
}

.events-page-image {
  position: relative;
}

/* Hide date box on mobile */
@media (max-width: 768px) {
  .event-date-box {
    display: none !important;
  }
}

/* Event Related Website Button Styling */
.btn-event-more-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background-color: #18453b;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 1rem;
  border-radius: 0;
  border: 2px solid #18453b;
  transition: all 0.3s ease;
  margin-top: 1rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.btn-event-more-info:hover,
.btn-event-more-info:focus {
  background-color: #ffffff;
  color: #18453b !important;
  border-color: #18453b;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(24, 69, 59, 0.3);
}

.btn-event-more-info:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(24, 69, 59, 0.2);
}

.field--event-related-website {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .btn-event-more-info {
    width: 100%;
    justify-content: center;
    padding: 0.875rem 1rem;
  }
}

/* Event Category Tags Styling */
.field--event-categories,
.field--name-field-events-categories {
  margin: 0 !important;
  padding: 0 !important;
}

.event-category-tags,
.field--name-field-events-categories .field__items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
  align-items: center !important;
}

.event-category-tag-wrapper,
.field--name-field-events-categories .field__item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  background-color: #18453b !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  border: 2px solid #18453b !important;
  position: relative !important;
  white-space: nowrap !important;
  cursor: default !important;
}

/* Add tag icon before text using pseudo-element */
.event-category-tag-wrapper::before,
.field--name-field-events-categories .field__item::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
}

/* Style for links inside wrapper */
.event-category-tag-wrapper a {
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.event-category-tag-wrapper a:hover,
.event-category-tag-wrapper a:focus {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Hover state for clickable tags */
.event-category-tag-wrapper:has(a):hover {
  background-color: #ffffff;
  color: #18453b;
  border-color: #18453b;
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(24, 69, 59, 0.3);
  cursor: pointer;
}

.event-category-tag-wrapper:has(a):hover a {
  color: #18453b !important;
}

/* Update icon color on hover for clickable tags */
.event-category-tag-wrapper:has(a):hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2318453b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E");
}

.event-category-tag-wrapper:has(a):active {
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(24, 69, 59, 0.2);
}

/* Alternative color for variety */
.event-category-tag-wrapper:nth-child(even) {
  background-color: #157347;
  border-color: #157347;
}

.event-category-tag-wrapper:nth-child(even):has(a):hover {
  background-color: #ffffff;
  color: #157347;
  border-color: #157347;
}

.event-category-tag-wrapper:nth-child(even):has(a):hover a {
  color: #157347 !important;
}

.event-category-tag-wrapper:nth-child(even):has(a):hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23157347' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E");
}

/* Label styling if visible */
.field--event-categories .field__label {
  font-size: 1.125rem;
  font-weight: 600;
  color: #18453b;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .field--event-categories,
  .field--name-field-events-categories {
    margin: 0 !important;
    padding: 0 !important;
  }

  .event-category-tags,
  .field--name-field-events-categories .field__items {
    gap: 0.5rem !important;
    margin-top: 0.75rem !important;
  }

  .event-category-tag-wrapper,
  .field--name-field-events-categories .field__item {
    font-size: 0.875rem !important;
    padding: 0.5rem 0.875rem !important;
    gap: 0.4rem !important;
  }

  .event-category-tag-wrapper::before,
  .field--name-field-events-categories .field__item::before {
    width: 14px !important;
    height: 14px !important;
  }
}
