/* Uganda Evaluation Week Color Scheme */
/* Primary Colors: Gold, Mustard, Light Blue, Orange, Red Coral */
/* Secondary Colors: Deep Slate Blue, Muted Teal, Warm Stone, Charcoal Graphite */

/* ============================================
   ROOT VARIABLES - Override all defaults
   ============================================ */
:root {
  /* Primary Brand Colors */
  --primary-color: #cd912d !important; /* Gold - main accent */
  --primary-color-rgb: 205, 145, 45 !important;
  
  --secondary-color: #2f4a5a !important; /* Deep Slate Blue - professional anchor */
  --secondary-color-rgb: 47, 74, 90 !important;
  
  /* Extended Primary Palette */
  --gold: #cd912d !important;
  --gold-rgb: 205, 145, 45 !important;
  
  --mustard: #e7d14a !important;
  --mustard-rgb: 231, 209, 74 !important;
  
  --light-blue: #cbebf2 !important;
  --light-blue-rgb: 203, 235, 242 !important;
  
  --light-grey: #e6e7e8 !important;
  --light-grey-rgb: 230, 231, 232 !important;
  
  --orange: #e47925 !important;
  --orange-rgb: 228, 121, 37 !important;
  
  --red-coral: #e35826 !important;
  --red-coral-rgb: 227, 88, 38 !important;
  
  /* Secondary Palette */
  --deep-slate-blue: #2f4a5a !important;
  --deep-slate-blue-rgb: 47, 74, 90 !important;
  
  --muted-teal: #4f8f8b !important;
  --muted-teal-rgb: 79, 143, 139 !important;
  
  --warm-stone: #cfc9c2 !important;
  --warm-stone-rgb: 207, 201, 194 !important;
  
  --charcoal-graphite: #2b2b2b !important;
  --charcoal-graphite-rgb: 43, 43, 43 !important;
  
  /* Critical Background Variables - Override purple defaults from style.css */
  --bg-dark-1: #2b2b2b !important; /* Charcoal Graphite - main dark background (was #101435 purple) */
  --bg-dark-1-rgb: 43, 43, 43 !important; /* RGB for rgba overlays (was 16, 20, 53 purple) */
  
  --bg-dark-2: #2f4a5a !important; /* Deep Slate Blue - secondary dark (was #1A1E42 purple) */
  --bg-dark-2-rgb: 47, 74, 90 !important;
  
  --bg-dark-3: #1a1a1a !important; /* Near black - tertiary dark */
  --bg-dark-3-rgb: 26, 26, 26 !important;
  
  /* Legacy/alias variables */
  --bg-dark: #2b2b2b !important; /* Charcoal Graphite - refined dark background */
  --bg-dark-rgb: 43, 43, 43 !important;
  
  --text-light: #e6e7e8 !important; /* Light Grey - text on dark */
  --text-light-rgb: 230, 231, 232 !important;
  
  --text-muted: #cfc9c2 !important; /* Warm Stone - muted text */
  --text-muted-rgb: 207, 201, 194 !important;
  
  /* Accent Colors for Interactive Elements */
  --accent-hover: #e7d14a !important; /* Mustard - hover states */
  --accent-hover-rgb: 231, 209, 74 !important;
  
  --accent-cta: #e47925 !important; /* Orange - call to action */
  --accent-cta-rgb: 228, 121, 37 !important;
  
  --accent-highlight: #cbebf2 !important; /* Light Blue - highlights */
  --accent-highlight-rgb: 203, 235, 242 !important;
  
  /* Gradient Colors */
  --gradient-start: #cd912d !important; /* Gold */
  --gradient-end: #e47925 !important; /* Orange */
  
  /* Background Gradient - used for overlays and sections */
  --bg-gradient-1: 0deg, rgba(205, 145, 45, .1) 0%, rgba(47, 74, 90, .2) 100% !important;
  
  /* Border and Divider Colors */
  --border-light: rgba(230, 231, 232, 0.2) !important;
  --border-dark: rgba(43, 43, 43, 0.5) !important;
  
  /* Button States */
  --btn-hover-bg: #2b2b2b !important; /* Charcoal Graphite - button hover */
  
  /* Swiper/Slider Theme */
  --swiper-theme-color: #cd912d !important; /* Gold for swiper navigation */
  
  /* Overlay Colors */
  --overlay-dark: rgba(43, 43, 43, 0.85) !important;
  --overlay-gradient: linear-gradient(180deg, rgba(47, 74, 90, 0.9) 0%, rgba(43, 43, 43, 0.95) 100%) !important;
}

/* ============================================
   DARK SCHEME OVERRIDES - Highest specificity
   ============================================ */
.dark-scheme {
  /* Background Colors - Override purple defaults */
  --bg-color: #2b2b2b !important;
  --bg-color-rgb: 43, 43, 43 !important;
  
  --bg-dark-1: #2b2b2b !important; /* Charcoal Graphite */
  --bg-dark-1-rgb: 43, 43, 43 !important;
  
  --bg-dark-2: #2f4a5a !important; /* Deep Slate Blue */
  --bg-dark-2-rgb: 47, 74, 90 !important;
  
  --bg-dark-3: #1a1a1a !important; /* Near black */
  --bg-dark-3-rgb: 26, 26, 26 !important;
  
  --bg-dark: #2b2b2b !important;
  --bg-dark-rgb: 43, 43, 43 !important;
  
  /* Text Colors */
  --text-color: #e6e7e8 !important;
  --text-color-rgb: 230, 231, 232 !important;
  
  /* Primary & Secondary Colors */
  --primary-color: #cd912d !important; /* Gold */
  --primary-color-rgb: 205, 145, 45 !important;
  
  --secondary-color: #2f4a5a !important; /* Deep Slate Blue */
  --secondary-color-rgb: 47, 74, 90 !important;
}

/* ============================================
   DIRECT STYLE OVERRIDES - Force new colors
   ============================================ */

/* Background overrides */
.dark-scheme,
.dark-scheme section,
.dark-scheme #content,
.dark-scheme #wrapper,
.dark-scheme header,
.dark-scheme footer,
.bg-dark,
.bg-dark-1 {
  background-color: #2b2b2b !important;
}

.bg-dark-2 {
  background-color: #2f4a5a !important;
}

.bg-dark-3 {
  background-color: #1a1a1a !important;
}

/* Primary color overrides */
.id-color,
.text-primary {
  color: #cd912d !important;
}

.bg-color,
.btn-main,
.btn-primary {
  background-color: #cd912d !important;
}

.bg-color-2 {
  background-color: #2f4a5a !important;
}

/* Swiper overlay overrides */
.sw-overlay {
  background: linear-gradient(0deg, rgba(43, 43, 43, .8) 0%, rgba(43, 43, 43, .8) 50%) !important;
}

/* Gradient edge overrides */
.gradient-edge-bottom {
  background: linear-gradient(0deg, rgba(43, 43, 43, 1) 0%, rgba(43, 43, 43, 0) 100%) !important;
}

.gradient-edge-top {
  background: linear-gradient(180deg, rgba(43, 43, 43, 1) 0%, rgba(43, 43, 43, 0) 100%) !important;
}

.gradient-edge-bottom.color {
  background: linear-gradient(0deg, rgba(205, 145, 45, 1) 0%, rgba(205, 145, 45, 0) 100%) !important;
}

.gradient-edge-top.color {
  background: linear-gradient(180deg, rgba(205, 145, 45, 1) 0%, rgba(205, 145, 45, 0) 100%) !important;
}

/* Preloader */
.dark-scheme #de-loader {
  background: #2b2b2b !important;
}

/* Menu dropdown */
.dark-scheme #mainmenu ul {
  background: #2b2b2b !important;
}

/* Header mobile */
.dark-scheme header.header-mobile {
  background: #2b2b2b !important;
}

/* Modal */
.dark-scheme .modal-content {
  background: #2b2b2b !important;
}

/* Accordion */
.dark-scheme .accordion-body {
  background: #2b2b2b !important;
  border-color: rgba(205, 145, 45, 0.3) !important;
}

/* Hover effects — Why Attend cards: deep slate on hover (not gold) */
.hover:hover .hover-bg-color {
  background: #1e3544 !important;
}

/* Radial gradient */
.radial-gradient-color {
  background: radial-gradient(circle, rgba(47, 74, 90, 0) 50%, rgba(47, 74, 90, 0.95) 100%) !important;
}

/* Button hover */
.btn-main:hover {
  background: #2b2b2b !important;
}

/* ============================================
   UTILITY CLASSES FOR BRAND COLORS
   ============================================ */
.bg-gold { background-color: #cd912d !important; }
.bg-mustard { background-color: #e7d14a !important; }
.bg-light-blue { background-color: #cbebf2 !important; }
.bg-orange { background-color: #e47925 !important; }
.bg-red-coral { background-color: #e35826 !important; }
.bg-deep-slate { background-color: #2f4a5a !important; }
.bg-muted-teal { background-color: #4f8f8b !important; }
.bg-warm-stone { background-color: #cfc9c2 !important; }
.bg-charcoal { background-color: #2b2b2b !important; }

.text-gold { color: #cd912d !important; }
.text-mustard { color: #e7d14a !important; }
.text-light-blue { color: #cbebf2 !important; }
.text-orange { color: #e47925 !important; }
.text-red-coral { color: #e35826 !important; }
.text-deep-slate { color: #2f4a5a !important; }
.text-muted-teal { color: #4f8f8b !important; }
.text-warm-stone { color: #cfc9c2 !important; }
.text-charcoal { color: #2b2b2b !important; }

/* Gradient backgrounds */
.bg-gradient-gold-orange {
  background: linear-gradient(135deg, #cd912d 0%, #e47925 100%) !important;
}

.bg-gradient-slate-teal {
  background: linear-gradient(135deg, #2f4a5a 0%, #4f8f8b 100%) !important;
}

/* ============================================
   LIGHT MODE STYLES
   ============================================ */

/* Light mode background overrides */
.bg-light {
  background-color: #f8f9fa !important;
}

.bg-white {
  background-color: #ffffff !important;
}

/* Light mode text */
.text-dark {
  color: #2b2b2b !important;
}

/* Light mode section styling */
section.bg-light {
  background-color: #f8f9fa !important;
}

/* Light mode card styling */
.bg-light .bg-dark-2,
.bg-light .bg-dark-1 {
  background-color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Light mode gradient edges */
.bg-light .gradient-edge-bottom {
  background: linear-gradient(0deg, rgba(248, 249, 250, 1) 0%, rgba(248, 249, 250, 0) 100%) !important;
}

.bg-light .gradient-edge-top {
  background: linear-gradient(180deg, rgba(248, 249, 250, 1) 0%, rgba(248, 249, 250, 0) 100%) !important;
}

/* Light mode hover effects */
.bg-light .hover:hover .hover-bg-color {
  background: #1e3544 !important;
}

.bg-light .hover:hover .hover-text-light {
  color: #ffffff !important;
}

/* Light mode radial gradient */
.bg-light .radial-gradient-color {
  background: radial-gradient(circle, rgba(47, 74, 90, 0) 50%, rgba(47, 74, 90, 0.9) 100%) !important;
}

/* Light mode accordion */
.bg-light .accordion-section-title {
  color: #2b2b2b !important;
  background-color: #ffffff !important;
  border-color: rgba(205, 145, 45, 0.2) !important;
}

.bg-light .accordion-section-content {
  color: #2b2b2b !important;
  background-color: #ffffff !important;
}

/* Light mode form inputs */
.bg-light .form-control {
  background-color: #ffffff !important;
  border-color: #e6e7e8 !important;
  color: #2b2b2b !important;
}

.bg-light .form-control:focus {
  border-color: #cd912d !important;
  box-shadow: 0 0 0 0.2rem rgba(205, 145, 45, 0.25) !important;
}

/* Light mode borders */
.bg-light .border-white-bottom-op-2 {
  border-bottom: 1px solid rgba(43, 43, 43, 0.1) !important;
}

.bg-light .border-white-op-3 {
  border: 1px solid rgba(43, 43, 43, 0.1) !important;
}

/* Light mode subtitle */
.bg-light .subtitle {
  color: #cd912d !important;
}

.bg-light .subtitle.s2 {
  color: #cd912d !important;
}

/* Light mode lead text */
.bg-light .lead {
  color: #4f8f8b !important;
}

/* Light mode check list */
.bg-light .ul-check li {
  color: #2b2b2b !important;
}

.bg-light .ul-check li::before {
  color: #cd912d !important;
}

/* Light mode footer */
footer.section-dark {
  background-color: #2b2b2b !important;
}

/* Footer enhanced */
footer.section-dark {
  padding: 60px 0 0;
}

.footer-heading {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #cd912d;
  margin-bottom: 20px;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links li a {
  color: rgba(230,231,232,0.55);
  text-decoration: none;
  font-size: 0.87rem;
  transition: color 0.2s;
}

.footer-links li a:hover {
  color: #cd912d;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(230,231,232,0.55);
  font-size: 0.87rem;
}

.footer-contact-item i {
  color: #cd912d;
  margin-top: 3px;
  flex-shrink: 0;
}

.footer-contact-item a {
  color: rgba(230,231,232,0.55);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-contact-item a:hover {
  color: #cd912d;
}

/* ============================================
   HERO SECTION - Height fix
   ============================================ */

#section-hero {
  height: 100vh;
  min-height: 800px;
}

#section-hero .mh-800 {
  height: 100%;
  min-height: 800px;
  position: relative;
}

#section-hero .swiper,
#section-hero .swiper-slide,
#section-hero .swiper-inner {
  height: 100% !important;
}

/* ============================================
   LOGO IMAGE SIZE FIX — constrains any size PNG/JPG
   ============================================ */

div#logo img {
  max-width: 130px !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Mobile logo stays small */
@media (max-width: 767px) {
  div#logo img {
    max-width: 100px !important;
    max-height: 38px !important;
  }
}

/* ============================================
   NAVBAR BRAND STYLING
   ============================================ */

/* Tighten nav items so 7 top-level items fit */
:root {
  --mainmenu-font-size: 13px;
  --mainmenu-letter-spacing: 0;
}

#mainmenu > li > a {
  padding-left: 10px;
  padding-right: 10px;
}

/* Dropdown panel */
#mainmenu li ul {
  background: #2b2b2b !important;
  border-top: 2px solid #cd912d;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  min-width: 200px;
}

#mainmenu li li a {
  color: rgba(230, 231, 232, 0.85) !important;
  border-bottom-color: rgba(255, 255, 255, 0.07) !important;
  font-size: 13px;
}

#mainmenu li li a:hover {
  background: #cd912d !important;
  color: #ffffff !important;
}

/* Transparent header over hero */
header.transparent .menu-item {
  color: rgba(255, 255, 255, 0.9) !important;
}

header.transparent .menu-item:hover,
header.transparent .menu-item.active {
  color: #cd912d !important;
}

/* Scrolled header — JS applies .smaller class */
header.smaller {
  background: #2b2b2b !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
}

header.smaller .menu-item {
  color: rgba(230, 231, 232, 0.9) !important;
}

header.smaller .menu-item:hover,
header.smaller .menu-item.active {
  color: #cd912d !important;
}

/* Legacy .header-scroll fallback (some templates toggle this) */
header:not(.transparent).header-scroll,
header.header-scroll {
  background-color: #2b2b2b !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.35) !important;
}

header:not(.transparent).header-scroll .menu-item,
header.header-scroll .menu-item {
  color: rgba(230, 231, 232, 0.9) !important;
}

header:not(.transparent).header-scroll .menu-item:hover,
header.header-scroll .menu-item:hover {
  color: #cd912d !important;
}

/* Light mode jarallax overlays */
.bg-light.jarallax .sw-overlay,
.bg-light .sw-overlay {
  background: rgba(255, 255, 255, 0.85) !important;
}

/* Light mode text on dark background sections within light page */
.bg-light .text-light {
  color: #ffffff !important;
}

/* Light mode button line variant */
.btn-line {
  border: 2px solid #cd912d !important;
  color: #cd912d !important;
  background: transparent !important;
}

.btn-line:hover {
  background: #cd912d !important;
  color: #ffffff !important;
}

/* Light mode swiper buttons */
.bg-light .swiper-button-prev,
.bg-light .swiper-button-next {
  color: #cd912d !important;
}

.bg-light .swiper-pagination-bullet-active {
  background: #cd912d !important;
}

/* ============================================
   STAY CONNECTED SECTION
   ============================================ */

.stay-links-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.stay-link-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  transition: background 0.3s, border-color 0.3s;
}

.stay-link-card:hover {
  background: rgba(255,255,255,0.13);
  border-color: rgba(205,145,45,0.4);
}

.stay-link-card-cta {
  border-color: rgba(205,145,45,0.3) !important;
  background: rgba(205,145,45,0.08) !important;
}

.stay-link-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(205,145,45,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cd912d;
  font-size: 0.9rem;
  margin-bottom: 4px;
}

.stay-link-label {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(230,231,232,0.5);
  font-weight: 700;
}

.stay-link-url {
  font-size: 0.82rem;
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
  word-break: break-all;
  transition: color 0.2s;
  display: block;
}

.stay-link-url:hover {
  color: #cd912d;
}

.stay-link-desc {
  font-size: 0.72rem;
  color: rgba(230,231,232,0.5);
  margin: 4px 0 0;
  line-height: 1.4;
}

@media (max-width: 991px) {
  .stay-links-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .stay-links-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   VENUE SECTION
   ============================================ */

.venue-map-wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12);
}

.venue-map-iframe {
  display: block;
  border-radius: 12px;
}

.venue-map-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(47,74,90,0.92);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 30px;
  border: 1px solid rgba(205,145,45,0.3);
}

.venue-info-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
  height: 100%;
}

.venue-hotel-header {
  background: linear-gradient(135deg, #2f4a5a 0%, #1a2e3a 100%);
  padding: 28px 28px 22px;
  color: #fff;
}

.venue-hotel-stars {
  color: #cd912d;
  font-size: 0.75rem;
  margin-bottom: 8px;
  letter-spacing: 2px;
}

.venue-hotel-name {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 6px;
}

.venue-hotel-tagline {
  font-size: 0.78rem;
  color: rgba(230,231,232,0.65);
  margin: 0;
}

.venue-contact-list {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.venue-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.venue-contact-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(47,74,90,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2f4a5a;
  font-size: 0.8rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.venue-contact-label {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #999;
  margin-bottom: 2px;
}

.venue-contact-value {
  font-size: 0.88rem;
  color: #2b2b2b;
  font-weight: 600;
}

.venue-contact-value a {
  color: #2f4a5a;
  text-decoration: none;
  transition: color 0.2s;
}

.venue-contact-value a:hover {
  color: #cd912d;
}

.venue-amenities {
  padding: 18px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.venue-amenity {
  background: rgba(47,74,90,0.06);
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 0.72rem;
  color: #2f4a5a;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.venue-info-card .btn-main {
  margin: 0 24px 24px;
  width: calc(100% - 48px) !important;
}

/* ============================================
   REGISTRATION PRICING CARDS
   ============================================ */

.reg-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  position: relative;
  transition: transform 0.3s, border-color 0.3s;
}

.reg-card:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 145, 45, 0.4);
}

.reg-card-featured {
  border-color: rgba(205, 145, 45, 0.5) !important;
  box-shadow: 0 0 0 1px rgba(205,145,45,0.3), 0 20px 50px rgba(0,0,0,0.3);
}

.reg-featured-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #cd912d;
  color: #fff;
  font-size: 0.55rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 3;
}

.reg-card-header {
  padding: 22px 24px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.reg-intl { background: linear-gradient(135deg, rgba(79,143,139,0.3) 0%, rgba(79,143,139,0.1) 100%); }
.reg-ea   { background: linear-gradient(135deg, rgba(47,74,90,0.5) 0%, rgba(47,74,90,0.2) 100%); }
.reg-ugandan { background: linear-gradient(135deg, rgba(205,145,45,0.25) 0%, rgba(205,145,45,0.08) 100%); }

.reg-card-category {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: rgba(230,231,232,0.85);
}

.reg-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(205,145,45,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cd912d;
  font-size: 0.9rem;
}

.reg-card-body {
  padding: 20px 24px 24px;
}

.reg-tier {
  margin-bottom: 4px;
}

.reg-tier-name {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(230,231,232,0.5);
  margin-bottom: 10px;
}

.reg-price-row {
  display: flex;
  align-items: center;
  gap: 0;
}

.reg-price-col {
  flex: 1;
  text-align: center;
}

.reg-price-divider {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}

.reg-price-label {
  font-size: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(230,231,232,0.35);
  margin-bottom: 4px;
}

.reg-price {
  font-size: 1.2rem;
  font-weight: 800;
  color: #cd912d;
  line-height: 1.1;
}

.reg-price-ugx {
  font-size: 0.9rem;
}

.reg-price-muted {
  color: rgba(230,231,232,0.55) !important;
  font-weight: 600;
}

.reg-separator {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 16px 0;
}

/* Addon cards */
.reg-addon-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 18px 20px;
  height: 100%;
  transition: border-color 0.3s;
}

.reg-addon-card:hover {
  border-color: rgba(205,145,45,0.3);
}

.reg-addon-icon {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(205,145,45,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cd912d;
  flex-shrink: 0;
  font-size: 0.9rem;
}

.reg-addon-title {
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(230,231,232,0.9);
  margin-bottom: 6px;
  line-height: 1.3;
}

.reg-addon-prices {
  font-size: 0.72rem;
  color: rgba(230,231,232,0.45);
  line-height: 1.5;
}

/* CTA box */
.reg-cta-box {
  background: rgba(205,145,45,0.08);
  border: 1px solid rgba(205,145,45,0.2);
  border-radius: 12px;
  padding: 28px 32px;
}

.reg-cta-deadline {
  font-size: 0.85rem;
  color: rgba(230,231,232,0.7);
  margin-bottom: 20px;
}

.reg-cta-deadline strong {
  color: #cd912d;
}

/* ============================================
   SPEAKERS SECTION
   ============================================ */

.speaker-badge {
  display: inline-block;
  background: rgba(205, 145, 45, 0.25);
  border: 1px solid rgba(205, 145, 45, 0.5);
  color: #cd912d;
  font-size: 0.55rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* TBA "More Speakers" Card */
.speaker-tba-card {
  height: 100%;
  min-height: 340px;
  border: 2px dashed rgba(205, 145, 45, 0.25);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(205, 145, 45, 0.03);
  transition: border-color 0.3s, background 0.3s;
}

.speaker-tba-card:hover {
  border-color: rgba(205, 145, 45, 0.5);
  background: rgba(205, 145, 45, 0.07);
}

.speaker-tba-inner {
  text-align: center;
  padding: 40px 30px;
  color: #2b2b2b;
}

.speaker-tba-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(205, 145, 45, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cd912d;
  font-size: 1.4rem;
}

.speaker-tba-inner h4 {
  color: #2b2b2b;
  margin-bottom: 12px;
}

.speaker-tba-inner p {
  font-size: 0.88rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.speaker-tba-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 12px;
}

.speaker-tba-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cd912d;
  animation: tba-pulse 1.4s ease-in-out infinite;
}

.speaker-tba-dots span:nth-child(2) { animation-delay: 0.2s; }
.speaker-tba-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes tba-pulse {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}

.text-gold { color: #cd912d !important; }

/* ============================================
   ABOUT SECTION - CREATIVE LAYOUT
   ============================================ */

.about-objectives {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 28px;
}

.about-obj-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.about-obj-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(205, 145, 45, 0.12);
  border: 1px solid rgba(205, 145, 45, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #cd912d;
  font-size: 0.8rem;
}

.about-obj-item span {
  font-size: 0.9rem;
  color: #555;
  line-height: 1.5;
  padding-top: 7px;
}

/* Right visual card */
.about-visual-wrap {
  position: relative;
  padding: 20px;
}

.about-bg-img {
  width: 100%;
  border-radius: 8px;
  opacity: 0.12;
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.about-stat-card {
  position: relative;
  z-index: 2;
  background: linear-gradient(135deg, #2f4a5a 0%, #1a2e3a 100%);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(47, 74, 90, 0.35);
  border: 1px solid rgba(205, 145, 45, 0.2);
}

.about-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.about-stat {
  padding: 32px 28px;
  text-align: center;
  border-right: 1px solid rgba(205, 145, 45, 0.15);
  border-bottom: 1px solid rgba(205, 145, 45, 0.15);
}

.about-stat:nth-child(2),
.about-stat:nth-child(4) {
  border-right: none;
}

.about-stat:nth-child(3),
.about-stat:nth-child(4) {
  border-bottom: none;
}

.about-stat-num {
  font-size: 2.8rem;
  font-weight: 900;
  color: #cd912d;
  line-height: 1;
  margin-bottom: 6px;
}

.about-stat-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(230, 231, 232, 0.6);
  font-weight: 600;
}

.about-theme-banner {
  padding: 24px 28px;
  background: rgba(205, 145, 45, 0.08);
  border-top: 1px solid rgba(205, 145, 45, 0.2);
  text-align: center;
}

.about-theme-label {
  font-size: 0.55rem;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #cd912d;
  margin-bottom: 10px;
  font-weight: 700;
}

.about-theme-text {
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
  font-style: italic;
}

.about-theme-sub {
  margin-top: 8px;
  font-size: 0.65rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(230, 231, 232, 0.4);
}

/* ============================================
   ORGANISERS LOGO BAR
   ============================================ */

#section-org-logos {
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding: 22px 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.org-logo-eyebrow {
  font-size: 0.55rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 5px;
  color: rgba(47, 74, 90, 0.55);
}

.org-logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.org-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 40px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.org-logo-item:hover {
  opacity: 0.8;
}

.org-logo-img {
  height: 72px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
  filter: none;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.org-logo-item:hover .org-logo-img {
  filter: none;
  opacity: 0.8;
}

.org-logo-divider {
  width: 1px;
  height: 50px;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.15), transparent);
  flex-shrink: 0;
}

/* OPM Text Badge */
.org-logo-item.org-logo-opm {
  gap: 14px;
  cursor: default;
}

.org-logo-opm-crest {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid rgba(205, 145, 45, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(205, 145, 45, 0.1);
  flex-shrink: 0;
}

.opm-shield {
  color: #cd912d;
  font-size: 1.4rem;
}

.org-logo-opm-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.opm-line-1 {
  font-size: 0.62rem;
  font-weight: 400;
  color: rgba(47, 74, 90, 0.6);
  text-transform: uppercase;
  letter-spacing: 2px;
}

.opm-line-2 {
  font-size: 0.95rem;
  font-weight: 800;
  color: #2f4a5a;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.1;
}

.opm-line-3 {
  font-size: 0.55rem;
  font-weight: 500;
  color: #cd912d;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin-top: 3px;
}

@media (max-width: 767px) {
  #section-org-logos {
    padding: 20px 20px;
  }

  .org-logo-item {
    padding: 8px 20px;
  }

  .org-logo-img {
    height: 54px;
  }

  .org-logo-divider {
    display: none;
  }

  .org-logo-row {
    gap: 20px;
  }
}

/* ============================================
   COUNTDOWN SECTION - CREATIVE REDESIGN
   ============================================ */

#section-countdown {
  background: linear-gradient(135deg, #111111 0%, #2f4a5a 45%, #111111 100%);
  padding: 0;
  position: relative;
  overflow: hidden;
}

/* Gold glow orb */
.cdown-orb {
  position: absolute;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(205, 145, 45, 0.15) 0%, transparent 68%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
}

/* Dot matrix overlay (right side) */
.cdown-dots {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 55%;
  background-image: radial-gradient(rgba(205, 145, 45, 0.18) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none;
  opacity: 0.5;
  z-index: 0;
}

/* Split layout container */
.cdown-split {
  display: flex;
  min-height: 440px;
  align-items: stretch;
  position: relative;
  z-index: 1;
}

/* ---- LEFT PANEL: Event Identity ---- */
.cdown-panel-left {
  flex: 0 0 42%;
  display: flex;
  align-items: center;
  padding: 70px 50px 70px 80px;
  border-right: 1px solid rgba(205, 145, 45, 0.2);
  position: relative;
}

/* Thick gold left border accent */
.cdown-panel-left::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 4px;
  background: linear-gradient(180deg, transparent 0%, #cd912d 30%, #e7d14a 70%, transparent 100%);
  border-radius: 2px;
}

.cdown-identity {
  display: flex;
  flex-direction: column;
}

.cdown-eyebrow {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 5px;
  color: #cd912d;
  margin-bottom: 22px;
}

/* Stacked large title words */
.cdown-title {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  line-height: 1;
}

.cdown-word {
  font-size: 3rem;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: -1px;
  display: block;
  line-height: 1.05;
}

.cdown-word-gold {
  color: #cd912d;
}

/* Gold divider line */
.cdown-divider {
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #cd912d, #e7d14a);
  margin-bottom: 26px;
  border-radius: 1px;
}

/* Date & venue info */
.cdown-meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
}

.cdown-meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(230, 231, 232, 0.75);
  font-size: 0.875rem;
}

.cdown-meta-item i {
  color: #cd912d;
  font-size: 0.8rem;
  width: 14px;
  flex-shrink: 0;
}

/* ---- RIGHT PANEL: Timer ---- */
.cdown-panel-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 60px;
  position: relative;
}

.cdown-timer-wrap {
  text-align: center;
}

.cdown-timer-label {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 6px;
  color: rgba(230, 231, 232, 0.4);
  margin-bottom: 36px;
}

/* jQuery Countdown - Editorial open style */
#defaultCountdown {
  display: flex !important;
  justify-content: center;
}

#defaultCountdown .countdown-row {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

#defaultCountdown .countdown-section {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  padding: 0 32px;
  position: relative;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Vertical gold separator between units */
#defaultCountdown .countdown-section + .countdown-section::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8%;
  bottom: 28%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(205, 145, 45, 0.55), transparent);
}

/* Giant editorial numbers */
#defaultCountdown .countdown-amount {
  font-size: 5.5rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1 !important;
  display: block !important;
  letter-spacing: -3px !important;
  font-variant-numeric: tabular-nums !important;
}

#defaultCountdown .countdown-period {
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  color: #cd912d !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  margin-top: 14px !important;
  display: block !important;
}

#defaultCountdown .countdown-separator {
  display: none !important;
}

/* ---- RESPONSIVE ---- */

@media (max-width: 1199px) {
  .cdown-panel-left {
    padding: 60px 40px 60px 60px;
  }

  .cdown-word {
    font-size: 2.5rem;
  }

  #defaultCountdown .countdown-amount {
    font-size: 4.5rem !important;
  }

  #defaultCountdown .countdown-section {
    padding: 0 24px;
  }
}

@media (max-width: 991px) {
  .cdown-split {
    flex-direction: column;
  }

  .cdown-panel-left {
    flex: none;
    padding: 50px 40px 36px;
    border-right: none;
    border-bottom: 1px solid rgba(205, 145, 45, 0.2);
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  .cdown-panel-left::before {
    top: auto;
    bottom: 0;
    left: 15%;
    right: 15%;
    width: auto;
    height: 3px;
    background: linear-gradient(90deg, transparent, #cd912d, transparent);
  }

  .cdown-identity {
    align-items: center;
  }

  .cdown-title {
    align-items: center;
  }

  .cdown-panel-right {
    padding: 40px 30px 50px;
  }

  .cdown-word {
    font-size: 2.6rem;
  }

  .cdown-dots {
    width: 100%;
    opacity: 0.3;
  }

  #defaultCountdown .countdown-amount {
    font-size: 3.75rem !important;
    letter-spacing: -2px !important;
  }

  #defaultCountdown .countdown-section {
    padding: 0 20px;
  }
}

@media (max-width: 575px) {
  .cdown-panel-left {
    padding: 40px 24px 28px;
  }

  .cdown-word {
    font-size: 2rem;
    letter-spacing: 0;
  }

  .cdown-panel-right {
    padding: 32px 16px 44px;
  }

  #defaultCountdown .countdown-amount {
    font-size: 2.75rem !important;
    letter-spacing: -1px !important;
  }

  #defaultCountdown .countdown-section {
    padding: 0 14px;
  }
}

/* ============================================================
   ABOUT — Event Structure Grid
   ============================================================ */

.about-structure {
    margin-top: 28px;
    border-top: 1px solid rgba(47,74,90,0.12);
    padding-top: 22px;
}

.about-struct-label {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #cd912d;
    margin-bottom: 14px;
}

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

.about-struct-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(47,74,90,0.05);
    border: 1px solid rgba(47,74,90,0.1);
    border-radius: 6px;
    padding: 12px 14px;
    transition: background 0.2s;
}

.about-struct-item:hover {
    background: rgba(205,145,45,0.06);
    border-color: rgba(205,145,45,0.2);
}

.about-struct-item i {
    color: #cd912d;
    font-size: 1rem;
    margin-top: 2px;
    flex-shrink: 0;
}

.about-struct-item div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.about-struct-item strong {
    font-size: 0.75rem;
    font-weight: 700;
    color: #2b2b2b;
    line-height: 1.3;
}

.about-struct-item span {
    font-size: 0.65rem;
    color: rgba(43,43,43,0.5);
}

@media (max-width: 575px) {
    .about-struct-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   FLOATING REGISTER BUTTON
   ============================================================ */

.float-register-btn {
    position: fixed;
    bottom: 32px;
    right: 28px;
    z-index: 9990;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.float-register-btn.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}

.float-register-btn a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #cd912d;
    color: #fff !important;
    padding: 13px 22px;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-decoration: none;
    box-shadow: 0 6px 24px rgba(205,145,45,0.38);
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.float-register-btn a:hover {
    background: #b87d20;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(205,145,45,0.48);
    color: #fff !important;
}

@media (max-width: 480px) {
    .float-register-btn {
        bottom: 20px;
        right: 16px;
    }
    .float-register-btn a {
        padding: 11px 18px;
        font-size: 0.68rem;
    }
}

/* ============================================================
   FAQ — Group Header Labels
   ============================================================ */

.faq-group-header {
    display: flex;
    align-items: center;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #cd912d;
    margin-top: 36px;
    margin-bottom: 4px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(205,145,45,0.2);
}

.faq-group-header:first-child {
    margin-top: 0;
}

/* ============================================================
   WHY ATTEND — Editorial Redesign
   ============================================================ */

.wa-section {
    padding: 80px 0 90px;
}

.wa-section-divider {
    height: 56px;
}

/* ---- Photo frame ---- */
.wa-photo-frame {
    position: relative;
    border-radius: 8px;
}

.wa-photo-frame img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    object-position: center 18%;
    border-radius: 8px;
    display: block;
}

/* Gold vertical accent strip — left */
.wa-photo-frame::before {
    content: '';
    position: absolute;
    left: -14px;
    top: 28px;
    bottom: 28px;
    width: 4px;
    background: linear-gradient(180deg, transparent, #cd912d 20%, #cd912d 80%, transparent);
    border-radius: 2px;
    z-index: 2;
}

/* Alt frame: accent on the right */
.wa-photo-frame-alt::before {
    left: auto;
    right: -14px;
}

/* Year badge */
.wa-photo-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(205,145,45,0.92);
    color: #fff;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 3px;
    z-index: 2;
    backdrop-filter: blur(4px);
}

/* Delegate stat chip */
.wa-photo-stat {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(7,9,12,0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(205,145,45,0.3);
    color: rgba(255,255,255,0.9);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 4px;
    z-index: 2;
}

/* ---- Reasons list ---- */
.wa-reasons-list {
    display: flex;
    flex-direction: column;
}

.wa-reason-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(47,74,90,0.1);
    transition: background 0.2s;
}

.wa-reason-item:first-child { padding-top: 0; }
.wa-reason-item:last-child  { border-bottom: none; padding-bottom: 0; }

.wa-reason-num {
    font-size: 0.52rem;
    font-weight: 900;
    color: #cd912d;
    letter-spacing: 2px;
    min-width: 26px;
    padding-top: 12px;
    flex-shrink: 0;
    font-feature-settings: "tnum";
}

.wa-reason-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(205,145,45,0.08);
    border: 1px solid rgba(205,145,45,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.25s, border-color 0.25s, transform 0.25s;
}

.wa-reason-icon i {
    color: #cd912d;
    font-size: 0.9rem;
    transition: color 0.25s;
}

.wa-reason-item:hover .wa-reason-icon {
    background: #cd912d;
    border-color: #cd912d;
    transform: scale(1.08);
}

.wa-reason-item:hover .wa-reason-icon i {
    color: #fff;
}

.wa-reason-body h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 5px;
    line-height: 1.3;
}

.wa-reason-body p {
    font-size: 0.85rem;
    color: rgba(43,43,43,0.58);
    margin: 0;
    line-height: 1.7;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .wa-photo-frame::before { display: none; }
    .wa-photo-frame img { height: 340px; }

    /* On mobile, photos appear above their reason rows */
    .col-lg-5.order-lg-2 { margin-bottom: 32px; }
}

@media (max-width: 575px) {
    .wa-photo-frame img { height: 260px; }
    .wa-reason-item { gap: 14px; }
    .wa-reason-icon { width: 38px; height: 38px; }
}

/* ============================================================
   QUOTE / DECLARATION SECTION — "25 Years: A Declaration"
   ============================================================ */

.uew-quote-section {
    position: relative;
    padding: 100px 0 110px;
    overflow: hidden;
    background: #07090c;
}

/* Gold gradient line across the top */
.uew-quote-section::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #cd912d 30%, #e7d14a 70%, transparent 100%);
    pointer-events: none;
    z-index: 3;
}

/* Radial gold glow orb */
.uew-q-glow {
    position: absolute;
    width: 900px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(205,145,45,0.10) 0%, transparent 65%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}

/* Dot matrix — top-left corner */
.uew-q-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 320px;
    height: 320px;
    background-image: radial-gradient(rgba(205,145,45,0.15) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.6;
    pointer-events: none;
    z-index: 0;
}

/* Ghost "25" numeral — right side, referencing 25 years of UEA */
.uew-q-ghost {
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translateY(-52%);
    font-size: clamp(14rem, 28vw, 26rem);
    font-weight: 900;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(205,145,45,0.07);
    letter-spacing: -0.04em;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* Content above all decorative layers */
.uew-quote-section .container {
    position: relative;
    z-index: 2;
}

/* Quote block: vertical gold line on the left */
.uew-q-block {
    position: relative;
    padding-left: 36px;
    margin-bottom: 44px;
}

.uew-q-block::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: linear-gradient(180deg, #cd912d 0%, #e7d14a 60%, transparent 100%);
    border-radius: 2px;
}

/* Large decorative opening quotation mark — behind quote text */
.uew-q-mark {
    position: absolute;
    top: -32px;
    left: 24px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(9rem, 18vw, 16rem);
    line-height: 0.8;
    color: #cd912d;
    opacity: 0.10;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* Quote text */
.uew-q-text {
    position: relative;
    z-index: 1;
    font-size: clamp(1.3rem, 2.6vw, 1.9rem);
    font-weight: 300;
    font-style: normal;
    line-height: 1.7;
    color: rgba(230,231,232,0.88);
    border: none;
    padding: 0;
    margin: 0;
    letter-spacing: 0.1px;
}

/* Gold-highlighted key phrase */
.uew-q-em {
    font-style: italic;
    font-weight: 500;
    color: #cd912d;
}

/* Attribution block */
.uew-q-attr {
    padding-left: 36px;
}

.uew-q-badge {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
}

.uew-q-badge-rule {
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #cd912d, #e7d14a);
    border-radius: 1px;
    margin-bottom: 6px;
}

.uew-q-badge-name {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: #fff;
}

.uew-q-badge-sub {
    font-size: 0.60rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(207,201,194,0.55);
}

/* Responsive */
@media (max-width: 767px) {
    .uew-q-block { padding-left: 22px; }
    .uew-q-attr  { padding-left: 22px; }
    .uew-q-ghost { display: none; }
    .uew-q-dots  { width: 180px; height: 180px; }
}

/* ============================================================
   UEW IN PICTURES — Gallery Grid
   ============================================================ */

.uew-gallery-section {
    padding: 80px 0;
}

/*
  Desktop grid (5 photos):
  [ tall: PM & Volunteers ] [ Key Speaker   ]
  [                       ] [ UEA Leadership ]
  [ Speakers & Volunteers — wide ] [ MC & Volunteers — wide ]
*/
.uew-gallery-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    grid-template-rows: 280px 280px;
    gap: 10px;
}

/* Large left: spans 2 rows */
.uew-gal-tall {
    grid-row: span 2;
}

/* Bottom-row wide: each spans 1.5 cols visually via equal halves */
.uew-gal-wide {
    grid-column: span 1;
}

/* Override bottom two to sit on their own row spanning full width halved */
.uew-gallery-grid .uew-gal-wide:nth-child(4) {
    grid-column: 2 / 3;
    grid-row: 2;
}
.uew-gallery-grid .uew-gal-wide:nth-child(5) {
    grid-column: 3 / 4;
    grid-row: 2;
}

/* Individual photo card */
.uew-gal-item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    display: block;
    cursor: pointer;
    background: #1a1a1a;
}

.uew-gal-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    transition: transform 0.55s cubic-bezier(.25,.46,.45,.94),
                filter 0.55s ease;
    display: block;
}

.uew-gal-item:hover img {
    transform: scale(1.06);
    filter: brightness(0.7);
}

/* Overlay — slides up on hover */
.uew-gal-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 20px 22px;
    background: linear-gradient(
        to top,
        rgba(7,9,12,0.72) 0%,
        rgba(7,9,12,0.18) 40%,
        transparent 70%
    );
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
}

.uew-gal-item:hover .uew-gal-overlay {
    opacity: 1;
}

.uew-gal-caption {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff;
    transform: translateY(8px);
    transition: transform 0.35s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.uew-gal-caption::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: #cd912d;
    flex-shrink: 0;
}

.uew-gal-item:hover .uew-gal-caption {
    transform: translateY(0);
}

/* Edition watermark on the tall item */
.uew-gal-tall::after {
    content: '2024';
    position: absolute;
    top: 16px;
    left: 18px;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.9);
    background: rgba(205,145,45,0.85);
    padding: 4px 10px;
    border-radius: 2px;
    pointer-events: none;
    z-index: 2;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .uew-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 240px 240px 240px;
    }
    .uew-gal-tall {
        grid-row: span 2;
        grid-column: 1;
    }
    .uew-gallery-grid .uew-gal-wide:nth-child(4) {
        grid-column: 1;
        grid-row: 3;
    }
    .uew-gallery-grid .uew-gal-wide:nth-child(5) {
        grid-column: 2;
        grid-row: 3;
    }
}

@media (max-width: 640px) {
    .uew-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(3, 200px);
    }
    .uew-gal-tall {
        grid-column: 1 / 3;
        grid-row: 1;
    }
    .uew-gallery-grid a:nth-child(2) { grid-column: 1; grid-row: 2; }
    .uew-gallery-grid a:nth-child(3) { grid-column: 2; grid-row: 2; }
    .uew-gallery-grid .uew-gal-wide:nth-child(4) { grid-column: 1; grid-row: 3; }
    .uew-gallery-grid .uew-gal-wide:nth-child(5) { grid-column: 2; grid-row: 3; }
}

/* ============================================================
   SPEAKER CARDS — Standardized height + Bio modal
   ============================================================ */

/* Outer wrapper — image + info stacked vertically */
.spk-card {
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Fixed-height image area */
.spk-card-frame {
    position: relative;
    height: 300px;
    overflow: hidden;
    flex-shrink: 0;
}

.spk-card-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform 0.45s ease;
}

.spk-card:hover .spk-card-frame img {
    transform: scale(1.04);
}

/* Confirmed badge sits top-left of the photo */
.spk-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #cd912d;
    color: #fff;
    font-size: 0.55rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 4px 10px;
    border-radius: 2px;
    z-index: 2;
}

/* Info panel below the photo */
.spk-card-info {
    padding: 18px 20px 20px;
    text-align: center;
    background: #fff;
    border-top: 3px solid #cd912d;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.spk-card-info h3 {
    font-size: 1rem;
    font-weight: 800;
    color: #2b2b2b;
    margin: 0 0 5px;
    line-height: 1.3;
}

.spk-card-info .spk-role {
    font-size: 0.72rem;
    color: #4f8f8b;
    font-weight: 600;
    line-height: 1.45;
    display: block;
    margin-bottom: 14px;
    flex: 1;
}

/* Bio button inside the info panel */
.speaker-bio-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 5px 14px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    border: 1px solid rgba(205, 145, 45, 0.55);
    border-radius: 3px;
    color: #cd912d;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s;
}

.speaker-bio-btn:hover {
    background: #cd912d;
    color: #fff;
    border-color: #cd912d;
}

/* ---- Bio modal overlay ---- */
.spk-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(7, 9, 12, 0.88);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 24px;
    backdrop-filter: blur(4px);
}

.spk-modal-overlay.is-open {
    display: flex;
}

.spk-modal {
    background: #131a20;
    border: 1px solid rgba(205, 145, 45, 0.2);
    border-radius: 6px;
    max-width: 700px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.spk-modal-head {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 36px 36px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.spk-modal-photo {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    flex-shrink: 0;
    border: 2px solid rgba(205, 145, 45, 0.4);
}

.spk-modal-meta {
    flex: 1;
    padding-top: 4px;
}

.spk-modal-name {
    font-size: 1.2rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 5px;
    line-height: 1.2;
}

.spk-modal-role {
    font-size: 0.68rem;
    color: #cd912d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}

.spk-modal-linkedin {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.65rem;
    color: rgba(230, 231, 232, 0.4);
    text-decoration: none;
    letter-spacing: 0.4px;
    transition: color 0.2s;
}

.spk-modal-linkedin:hover {
    color: #cd912d;
}

.spk-modal-body {
    padding: 24px 36px 36px;
    font-size: 0.875rem;
    line-height: 1.85;
    color: rgba(230, 231, 232, 0.72);
}

.spk-modal-body p {
    margin-bottom: 14px;
}

.spk-modal-body p:last-child {
    margin-bottom: 0;
}

.spk-modal-quals {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.spk-modal-quals h5 {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #cd912d;
    margin-bottom: 10px;
}

.spk-modal-quals ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.spk-modal-quals ul li {
    font-size: 0.82rem;
    color: rgba(230, 231, 232, 0.65);
    padding: 4px 0 4px 14px;
    position: relative;
}

.spk-modal-quals ul li::before {
    content: '◦';
    position: absolute;
    left: 0;
    color: #cd912d;
}

.spk-modal-close {
    position: absolute;
    top: 14px;
    right: 18px;
    background: none;
    border: none;
    color: rgba(230, 231, 232, 0.35);
    font-size: 1.5rem;
    cursor: pointer;
    line-height: 1;
    padding: 4px 8px;
    transition: color 0.2s;
}

.spk-modal-close:hover {
    color: #cd912d;
}

@media (max-width: 576px) {
    .spk-card-frame {
        height: 240px;
    }

    .spk-modal-head {
        flex-direction: column;
        gap: 16px;
        padding: 24px 20px 18px;
    }

    .spk-modal-body {
        padding: 18px 20px 24px;
    }
}

/* ============================================
   SCHEDULE SECTION — UEW 2026 Conference Programme
   ============================================ */

/* Draft notice banner */
.sched-draft-banner {
    background: linear-gradient(90deg, #b36a00 0%, #cd912d 50%, #b36a00 100%);
    color: #fff;
    text-align: center;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* Strand legend */
.sched-strand-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
    align-items: center;
}

.sched-strand-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.5;
}

.strand-blue   { background: #dbeafe; color: #1d4ed8; }
.strand-green  { background: #dcfce7; color: #15803d; }
.strand-yellow { background: #fef9c3; color: #92400e; }
.strand-pink   { background: #fce7f3; color: #9d174d; }
.strand-red    { background: #fee2e2; color: #991b1b; }

/* Day label badge */
.sched-day-badge {
    display: inline-block;
    background: #2f4a5a;
    color: #cd912d;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 999px;
    margin-bottom: 24px;
}

/* Timeline */
.sched-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sched-block {
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: flex-start;
    margin-bottom: 0;
}

.sched-block-time {
    min-width: 130px;
    color: #cd912d;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: right;
    padding: 18px 16px 18px 0;
    flex-shrink: 0;
    line-height: 1.4;
}

.sched-block-content {
    flex: 1;
    border-left: 2px solid #e2e8f0;
    padding: 16px 0 16px 20px;
    position: relative;
}

.sched-block-content::before {
    content: '';
    position: absolute;
    left: -5px;
    top: 22px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cd912d;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #cd912d;
}

/* Break strip */
.sched-break {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f3f4f6;
    border-radius: 6px;
    padding: 9px 16px;
    margin: 8px 0;
    font-size: 0.75rem;
    font-variant: small-caps;
    color: #6b7280;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.sched-break i {
    color: #9ca3af;
    font-size: 0.85rem;
}

/* Plenary / keynote card */
.sched-plenary {
    background: #131a20;
    border-left: 4px solid #cd912d;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 16px;
}

.sched-plenary.teal-border {
    border-left-color: #4f8f8b;
}

.sched-plenary-eyebrow {
    font-size: 0.68rem;
    font-weight: 700;
    color: #cd912d;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
    display: block;
}

.sched-plenary h4 {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 6px;
    line-height: 1.4;
}

.sched-plenary p {
    color: #94a3b8;
    font-size: 0.82rem;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Workshop grid */
.sched-workshop-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 8px;
}

.sched-wk-card {
    background: #fff;
    border-top: 3px solid #cd912d;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 14px 16px;
}

.sched-wk-code {
    font-size: 0.62rem;
    font-weight: 700;
    color: #cd912d;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 3px;
}

.sched-wk-room {
    font-size: 0.65rem;
    color: #9ca3af;
    display: block;
    margin-bottom: 4px;
}

.sched-wk-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 5px;
    line-height: 1.4;
}

.sched-wk-facilitator {
    font-size: 0.72rem;
    color: #4f8f8b;
    font-style: italic;
}

/* Section sub-header */
.sched-sub-header {
    font-weight: 700;
    color: #2f4a5a;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-size: 0.78rem;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 8px;
    margin-bottom: 14px;
    margin-top: 20px;
}

/* Parallel session table */
.sched-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 16px;
    border-radius: 6px;
}

.sched-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    font-size: 0.72rem;
}

.sched-table th {
    padding: 8px 10px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: left;
    border: 1px solid #e2e8f0;
}

.sched-table th.th-time {
    background: #f1f5f9;
    color: #64748b;
    width: 80px;
}

.sched-table th.th-blue   { background: #dbeafe; color: #1d4ed8; }
.sched-table th.th-green  { background: #dcfce7; color: #15803d; }
.sched-table th.th-yellow { background: #fef9c3; color: #92400e; }
.sched-table th.th-pink   { background: #fce7f3; color: #9d174d; }
.sched-table th.th-red    { background: #fee2e2; color: #991b1b; }

.sched-table td {
    vertical-align: top;
    padding: 10px 10px;
    border: 1px solid #e2e8f0;
    line-height: 1.4;
}

.sched-table td.td-time {
    background: #f8fafc;
    font-weight: 700;
    font-size: 0.65rem;
    color: #475569;
    white-space: nowrap;
}

.sched-paper-title {
    font-size: 0.72rem;
    font-weight: 700;
    color: #1e293b;
    display: block;
    margin-bottom: 3px;
    line-height: 1.35;
}

.sched-paper-author {
    font-size: 0.62rem;
    color: #6b7280;
    font-style: italic;
    display: block;
}

.sched-qa-row td {
    background: #f0f4f8;
    color: #4f8f8b;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.07em;
    padding: 8px 10px;
}

/* Event bullet list */
.sched-event-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sched-event-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.82rem;
    color: #374151;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    line-height: 1.5;
}

.sched-event-list li:last-child {
    border-bottom: none;
}

.sched-event-list li::before {
    content: '\f005';
    font-family: 'FontAwesome';
    color: #cd912d;
    font-size: 0.6rem;
    margin-top: 4px;
    flex-shrink: 0;
}

.sched-plenary .sched-event-list li {
    color: #cbd5e1;
    border-bottom-color: rgba(255,255,255,0.08);
}

.sched-plenary .sched-event-list li::before {
    color: #cd912d;
}

/* Excursion grid */
.sched-excursion-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 14px;
}

.sched-excursion-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    overflow: hidden;
}

.sched-excursion-head {
    background: #2f4a5a;
    padding: 18px 20px;
}

.sched-excursion-head.teal-head {
    background: #4f8f8b;
}

.sched-excursion-head h5 {
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.sched-excursion-head span {
    color: rgba(255,255,255,0.75);
    font-size: 0.72rem;
}

.sched-excursion-body {
    padding: 16px 20px;
}

.sched-excursion-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sched-excursion-body ul li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.78rem;
    color: #374151;
    padding: 7px 0;
    border-bottom: 1px solid #f0f0f0;
    line-height: 1.45;
}

.sched-excursion-body ul li:last-child {
    border-bottom: none;
}

.sched-excursion-body ul li i {
    color: #cd912d;
    font-size: 0.7rem;
    margin-top: 3px;
    flex-shrink: 0;
    width: 14px;
}

/* End-of-conference marker */
.sched-end-marker {
    text-align: center;
    padding: 24px 0 8px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #cd912d;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

/* Responsive */
@media (max-width: 768px) {
    .sched-workshop-grid {
        grid-template-columns: 1fr;
    }

    .sched-excursion-grid {
        grid-template-columns: 1fr;
    }

    .sched-block-time {
        min-width: 90px;
        font-size: 0.68rem;
        padding-right: 10px;
    }
}

/* ============================================================
   CONFERENCE STRANDS SECTION (#section-strands)
   ============================================================ */
.strand-card {
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 12px;
    padding: 28px 26px 24px;
    height: 100%;
    position: relative;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    overflow: hidden;
}

.strand-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #cd912d;
    border-radius: 12px 12px 0 0;
}

.strand-card:hover {
    box-shadow: 0 8px 32px rgba(47, 74, 90, 0.12);
    transform: translateY(-3px);
}

.strand-num {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    color: #cd912d;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.strand-icon {
    font-size: 1.5rem;
    color: #2f4a5a;
    margin-bottom: 10px;
}

.strand-title {
    font-size: 0.98rem;
    font-weight: 700;
    color: #2f4a5a;
    line-height: 1.4;
    margin-bottom: 16px;
}

.strand-tag {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: rgba(205, 145, 45, 0.12);
    color: #cd912d;
    border-radius: 4px;
    padding: 2px 7px;
    margin-left: 6px;
    vertical-align: middle;
}

.strand-topics {
    list-style: none;
    padding: 0;
    margin: 0;
}

.strand-topics li {
    font-size: 0.8rem;
    color: #555;
    line-height: 1.5;
    padding: 6px 0;
    border-bottom: 1px solid #f2f2f2;
    padding-left: 16px;
    position: relative;
}

.strand-topics li:last-child {
    border-bottom: none;
}

.strand-topics li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 6px;
    height: 6px;
    background: #4f8f8b;
    border-radius: 50%;
}

.btn-strands-download {
    display: inline-flex;
    align-items: center;
    padding: 11px 24px;
    font-size: 0.85rem;
    font-weight: 700;
    border-radius: 6px;
    text-decoration: none;
    color: #fff !important;
    letter-spacing: 0.04em;
}

.btn-strands-download:hover {
    opacity: 0.88;
    color: #fff !important;
}
