/*
Theme Name: The Conference Theme
Theme URI: https://theconference.org
Description: Custom hybrid theme for The Conference - International Conference of Funeral Service Examining Boards
Version: 1.0.0
Author: Generated by html2wp
Text Domain: conference-theme
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/**
 * Conference Theme - Semantic CSS
 * Translated from Tailwind CSS utilities
 * Generated: 2025-11-29
 *
 * This file contains all semantic CSS classes derived from Tailwind utilities.
 * Uses WordPress theme.json CSS custom properties where available.
 *
 * Prefix: .conference-
 *
 * Table of Contents:
 * 1. CSS Custom Properties (WordPress theme.json compatible)
 * 2. Layout
 * 3. Buttons
 * 4. Cards
 * 5. Badges
 * 6. Heroes & Gradients
 * 7. Header
 * 8. Footer
 * 9. Forms
 * 10. Lists
 * 11. Sections
 * 12. Typography
 * 13. Overlays & Modals
 * 14. Events
 * 15. Utilities
 * 16. Callouts
 * 17. Articles
 * 18. Breadcrumbs
 * 19. Social
 * 20. Pagination
 * 21. Accordions
 * 22. Responsive Media Queries
 */

/* ==========================================================================
   1. CSS Custom Properties
   These mirror WordPress theme.json tokens and provide fallbacks
   ========================================================================== */

:root {
  /* Colors */
  --wp--preset--color--brand-red: #A42942;
  --wp--preset--color--brand-teal: #29ADAF;
  --wp--preset--color--brand-blue: #1A6780;
  --wp--preset--color--brand-black: #000000;
  --wp--preset--color--white: #FFFFFF;
  --wp--preset--color--red-700: #b91c1c;
  --wp--preset--color--blue-900: #1e3a8a;
  --wp--preset--color--teal-700: #0f766e;
  --wp--preset--color--gray-50: #f9fafb;
  --wp--preset--color--gray-100: #f3f4f6;
  --wp--preset--color--gray-200: #e5e7eb;
  --wp--preset--color--gray-300: #d1d5db;
  --wp--preset--color--gray-400: #9ca3af;
  --wp--preset--color--gray-500: #6b7280;
  --wp--preset--color--gray-600: #4b5563;
  --wp--preset--color--gray-700: #374151;
  --wp--preset--color--gray-800: #1f2937;
  --wp--preset--color--gray-900: #111827;
  --wp--preset--color--green-100: #dcfce7;
  --wp--preset--color--green-800: #166534;

  /* Spacing */
  --wp--preset--spacing--1: 0.25rem;
  --wp--preset--spacing--2: 0.5rem;
  --wp--preset--spacing--3: 0.75rem;
  --wp--preset--spacing--4: 1rem;
  --wp--preset--spacing--5: 1.25rem;
  --wp--preset--spacing--6: 1.5rem;
  --wp--preset--spacing--8: 2rem;
  --wp--preset--spacing--10: 2.5rem;
  --wp--preset--spacing--12: 3rem;
  --wp--preset--spacing--16: 4rem;
  --wp--preset--spacing--20: 5rem;

  /* Font Sizes */
  --wp--preset--font-size--xs: 0.75rem;
  --wp--preset--font-size--small: 0.875rem;
  --wp--preset--font-size--base: 1rem;
  --wp--preset--font-size--large: 1.125rem;
  --wp--preset--font-size--xl: 1.25rem;
  --wp--preset--font-size--2-xl: 1.5rem;
  --wp--preset--font-size--3-xl: 1.875rem;
  --wp--preset--font-size--4-xl: 2.25rem;
  --wp--preset--font-size--5-xl: 3rem;

  /* Layout */
  --wp--style--global--content-size: 1200px;
  --wp--style--global--wide-size: 1400px;

  /* Shadows */
  --wp--preset--shadow--sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --wp--preset--shadow--md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --wp--preset--shadow--lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --wp--preset--shadow--xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --wp--preset--shadow--2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);

  /* Custom Effects */
  --conference-glass-bg: rgba(255, 255, 255, 0.1);
  --conference-glass-border: rgba(255, 255, 255, 0.2);
  --conference-backdrop-blur: blur(10px);
  --conference-transition: all 0.3s ease;
  --conference-transition-fast: all 0.15s ease;
}

/* ==========================================================================
   PLACEHOLDER STYLES FOR COMPONENT-BY-COMPONENT DEVELOPMENT
   ========================================================================== */

.conference-placeholder {
  background-color: var(--wp--preset--color--gray-100, #f3f4f6);
  border: 2px dashed var(--wp--preset--color--brand-teal, #29ADAF);
  padding: 2rem;
  text-align: center;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 1rem 0;
}

.conference-placeholder p {
  margin: 0;
  font-style: italic;
}

/* ==========================================================================
   Component CSS - Phase 5 Header and Footer Implementation
   ========================================================================== */

/* ==========================================================================
   2. Layout
   ========================================================================== */

.conference-container {
  width: 100%;
  max-width: var(--wp--style--global--content-size, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--wp--preset--spacing--4, 1rem);
  padding-right: var(--wp--preset--spacing--4, 1rem);
}

.conference-grid-4 {
  display: grid;
  gap: var(--wp--preset--spacing--8, 2rem);
}

/* ==========================================================================
   3. Buttons
   ========================================================================== */

.conference-btn-primary,
a.conference-btn-primary,
.conference-header a.conference-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #FFFFFF !important;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-weight: 700;
  text-decoration: none;
  transition: var(--conference-transition);
  border: none;
  cursor: pointer;
}

.conference-btn-primary:hover,
.conference-btn-primary:focus,
a.conference-btn-primary:hover,
a.conference-btn-primary:focus {
  background-color: var(--wp--preset--color--red-700, #b91c1c);
  color: #FFFFFF !important;
}

.conference-btn--full {
  width: 100%;
  text-align: center;
}

/* ==========================================================================
   7. Header
   ========================================================================== */

.conference-header {
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.conference-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 0;
}

.conference-header__logo {
  flex-shrink: 0;
}

.conference-logo {
  height: 5rem;
  width: auto;
  display: block;
}

.conference-header__nav {
  display: none;
  align-items: center;
  gap: 2rem;
}

.conference-header__menu,
.conference-header__nav ul,
.conference-header__nav menu,
#masthead nav ul,
#masthead nav menu,
.conference-header nav ul {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}

.conference-header__menu li,
.conference-header__nav li,
#masthead nav li,
.conference-header nav li {
  margin: 0;
  list-style: none !important;
  list-style-type: none !important;
}

.conference-header__nav-link {
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
  transition: var(--conference-transition);
}

.conference-header__nav-link:hover,
.conference-header__nav-link:focus {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* WordPress menu anchor tags styling */
.conference-header__menu li a,
.conference-header__nav a {
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: var(--conference-transition);
}

.conference-header__menu li a:hover,
.conference-header__menu li a:focus,
.conference-header__nav a:hover,
.conference-header__nav a:focus {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-header__search-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  transition: var(--conference-transition);
}

.conference-header__search-btn:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-header__search-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

.conference-mobile-menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-mobile-menu-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* Mobile Menu */
.conference-mobile-menu {
  background-color: var(--wp--preset--color--white, #FFFFFF);
  border-top: 1px solid var(--wp--preset--color--gray-200, #e5e7eb);
}

.conference-mobile-menu[hidden] {
  display: none;
}

.conference-mobile-menu__inner {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.conference-mobile-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.conference-mobile-menu__list li {
  margin: 0;
}

.conference-mobile-menu__link {
  display: block;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
  padding: 0.5rem 0;
}

.conference-mobile-menu__link:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* ==========================================================================
   8. Footer
   ========================================================================== */

.conference-footer {
  background-color: var(--wp--preset--color--brand-black, #000000);
  color: var(--wp--preset--color--white, #FFFFFF);
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.conference-footer__columns {
  margin-bottom: 2rem;
}

.conference-footer__column {
  /* Columns handled by grid */
}

.conference-footer__link {
  color: inherit;
  text-decoration: none;
  transition: var(--conference-transition);
}

.conference-footer__link:hover,
.conference-footer__link:focus {
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-footer__title {
  color: var(--wp--preset--color--white, #FFFFFF);
  font-weight: 700;
  margin-bottom: 1rem;
  font-size: 1rem;
}

/* Ensure footer h4 tags are white */
.conference-footer h4,
.conference-footer__column h4 {
  color: var(--wp--preset--color--white, #FFFFFF);
}

.conference-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.conference-footer__list li {
  margin-bottom: 0.5rem;
}

.conference-footer__list a {
  font-size: 0.875rem;
  color: inherit;
  text-decoration: none;
  transition: var(--conference-transition);
}

.conference-footer__list a:hover {
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-footer__bottom {
  border-top: 1px solid var(--wp--preset--color--gray-700, #374151);
  padding-top: 2rem;
  margin-top: 2rem;
  text-align: center;
  font-size: 0.875rem;
}

.conference-footer__social {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}

.conference-footer__social-link {
  color: var(--wp--preset--color--white, #FFFFFF);
  transition: var(--conference-transition);
}

.conference-footer__social-link:hover {
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-footer__social svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* ==========================================================================
   12. Typography
   ========================================================================== */

.conference-text-small {
  font-size: var(--wp--preset--font-size--small, 0.875rem);
}

/* Skip link */
.skip-link.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.skip-link.screen-reader-text:focus {
  background-color: var(--wp--preset--color--white, #FFFFFF);
  color: var(--wp--preset--color--brand-blue, #1A6780);
  clip: auto;
  height: auto;
  width: auto;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  padding: 1rem 1.5rem;
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  text-decoration: none;
  z-index: 100000;
}

/* ==========================================================================
   22. Responsive Media Queries
   ========================================================================== */

/* Medium screens (768px and up) */
@media (min-width: 768px) {
  .conference-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Large screens (1024px and up) */
@media (min-width: 1024px) {
  .conference-header__nav {
    display: flex;
  }

  .conference-mobile-menu-btn {
    display: none;
  }

  .conference-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ==========================================================================
   Custom Blocks - Hero Gradient
   ========================================================================== */

.conference-hero-gradient {
  position: relative;
  padding: 4rem 0;
  min-height: 500px;
  display: flex;
  align-items: center;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

.conference-hero-gradient.alignfull {
  width: 100%;
  margin-left: 0;
}

.conference-hero-gradient__inner {
  width: 100%;
  max-width: 1536px;
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-hero-gradient__content {
  text-align: left;
  margin-bottom: 3rem;
}

/* Centered variant for Directory page hero (when showing stats) */
.conference-hero-gradient--centered .conference-hero-gradient__content {
  text-align: center;
}

.conference-hero-gradient--centered .conference-hero-gradient__subheading {
  margin-left: auto;
  margin-right: auto;
}

.conference-hero-gradient__badge {
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}

.conference-hero-gradient__heading {
  font-size: 3rem;
  font-weight: 700;
  margin: 0 0 1rem;
  line-height: 1.2;
}

.conference-hero-gradient__subheading {
  font-size: 1.25rem;
  opacity: 0.9;
  margin: 0 0 1rem;
  max-width: 800px;
}

.conference-hero-gradient__description {
  font-size: 1rem;
  opacity: 0.8;
  margin: 0;
  max-width: 600px;
}

.conference-hero-gradient__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.conference-hero-gradient__stat {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.5rem;
  padding: 1.5rem;
  text-align: center;
}

.conference-hero-gradient__stat-number {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.5rem;
}

.conference-hero-gradient__stat-label {
  display: block;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.9);
}

.conference-hero-gradient__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  /* No max-width - cards should fill the container like static site */
  margin-top: 3rem; /* mt-12 = 48px */
}

.conference-hero-gradient__card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: left;
  color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.conference-hero-gradient__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.conference-hero-gradient__card-icon {
  margin-bottom: 1rem;
}

.conference-hero-gradient__card-icon svg {
  width: 3rem; /* 48px - matches static site EXACTLY */
  height: 3rem;
}

.conference-hero-gradient__card-title {
  font-size: 1.5rem; /* 24px - matches static site EXACTLY */
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: #fff;
}

.conference-hero-gradient__card-description {
  font-size: 1rem; /* 16px - matches static site EXACTLY */
  opacity: 0.9;
  margin: 0 0 1rem;
  line-height: 1.5;
}

.conference-hero-gradient__card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.875rem;
}

.conference-hero-gradient__card-link:hover {
  text-decoration: underline;
}

.conference-hero-gradient__card-link svg {
  width: 1rem;
  height: 1rem;
}

@media (min-width: 768px) {
  .conference-hero-gradient {
    padding: 4rem 0; /* py-16 = 64px - matches static site EXACTLY */
    min-height: auto;
  }

  .conference-hero-gradient__heading {
    font-size: 3rem; /* 48px - matches static site EXACTLY */
  }

  .conference-hero-gradient__subheading {
    font-size: 1.25rem; /* 20px */
  }

  .conference-hero-gradient__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   Custom Blocks - User Path Cards
   Matches static site: colored header with centered icon + title
   ========================================================================== */

.conference-user-path-cards {
  padding: 4rem 0;
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
}

.conference-user-path-cards__inner {
  max-width: 1536px; /* Match static site container width */
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-user-path-cards__title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 3rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-user-path-cards__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.conference-user-path-card {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease;
}

.conference-user-path-card:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Colored Header Section */
.conference-user-path-card__header {
  padding: 1.5rem;
  text-align: center;
}

.conference-user-path-card__icon {
  margin-bottom: 0.5rem;
}

.conference-user-path-card__icon svg {
  width: 4rem;
  height: 4rem;
  color: #fff;
  margin: 0 auto;
  display: block;
}

.conference-user-path-card__header-title {
  font-size: 1.5rem; /* 24px - matches static site EXACTLY */
  font-weight: 700;
  margin: 0;
  color: #fff;
}

/* White Body Section */
.conference-user-path-card__body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.conference-user-path-card__description {
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 0 0 1rem;
  line-height: 1.6;
  font-size: 0.9375rem;
}

.conference-user-path-card__features {
  list-style: none !important;
  padding: 0;
  margin: 0 0 1.5rem;
  flex: 1;
}

.conference-user-path-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.375rem 0;
  color: var(--wp--preset--color--gray-700, #374151);
  font-size: 1rem; /* 16px - matches static site EXACTLY */
  list-style: none !important;
}

.conference-user-path-card__check {
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.conference-user-path-card__check svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* Buttons - Full Width, Stacked */
.conference-user-path-card__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.conference-user-path-card__btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 1rem; /* 16px - matches static site EXACTLY */
  text-decoration: none;
  text-align: center;
  transition: all 0.2s ease;
  box-sizing: border-box; /* FIX: Prevents button overflow/clipping */
}

.conference-user-path-card__btn--primary {
  color: #fff !important;
}

.conference-user-path-card__btn--primary:hover {
  opacity: 0.9;
}

.conference-user-path-card__btn--secondary {
  background: transparent;
  border: 2px solid;
}

.conference-user-path-card__btn--secondary:hover {
  opacity: 0.8;
}

@media (min-width: 768px) {
  .conference-user-path-cards__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   Custom Blocks - Search Section
   ========================================================================== */

.conference-search-section {
  padding: 4rem 0; /* 64px - matches static site EXACTLY */
  background-color: #FFFFFF; /* FIX: Static site uses bg-white, NOT blue */
}

.conference-search-section__inner {
  max-width: var(--wp--style--global--content-size, 1200px);
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.conference-search-section__title {
  font-size: 1.875rem; /* 30px - matches static site EXACTLY */
  font-weight: 700;
  color: var(--wp--preset--color--gray-900, #111827); /* FIX: Dark text for white background */
  margin: 0 0 2rem;
}

.conference-search-section__form {
  max-width: 600px;
  margin: 0 auto;
  position: relative;
}

.conference-search-section__input {
  width: 100%;
  padding: 1rem 1.5rem;
  padding-right: 4rem;
  font-size: 1.125rem; /* 18px - matches static site EXACTLY */
  border: none;
  border-radius: 9999px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.conference-search-section__input:focus {
  outline: 2px solid var(--wp--preset--color--brand-teal, #29ADAF);
  outline-offset: 2px;
}

.conference-search-section__btn {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  border: none;
  border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.conference-search-section__btn:hover {
  background-color: var(--wp--preset--color--red-700, #b91c1c);
}

.conference-search-section__btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* Search Section Description */
.conference-search-section__description {
  font-size: 1.125rem; /* 18px - matches static site EXACTLY */
  color: var(--wp--preset--color--gray-600, #4b5563); /* FIX: Dark text for white background */
  margin: 0 0 1.5rem;
}

/* Search Section Popular Searches */
.conference-search-section__popular {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}

.conference-search-section__popular-label {
  color: var(--wp--preset--color--gray-500, #6b7280); /* FIX: Dark text for white background */
  font-size: 0.875rem;
}

.conference-search-section__popular-dot {
  color: var(--wp--preset--color--gray-400, #9ca3af); /* FIX: Dark text for white background */
  font-size: 0.75rem;
}

.conference-search-section__popular-tag {
  background: transparent;
  border: none;
  color: var(--wp--preset--color--brand-blue, #1A6780); /* FIX: Blue links for white background */
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: 0;
  transition: color 0.2s ease;
}

.conference-search-section__popular-tag:hover {
  color: var(--wp--preset--color--brand-red, #A42942); /* FIX: Red hover for white background */
  text-decoration: underline;
}

/* ==========================================================================
   Custom Blocks - Events Grid (Static Site Match)
   Featured Event, Upcoming Events grid, Event Resources
   ========================================================================== */

/* Shared Icons */
.conference-events__icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
}

.conference-events__check {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: #fff;
}

.conference-events__btn-icon {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}

.conference-events__arrow {
  width: 1rem;
  height: 1rem;
  margin-left: 0.25rem;
}

/* ==========================================================================
   Featured Event Section - White background
   ========================================================================== */
.conference-events-featured-section {
  padding: 4rem 0;
  background-color: #fff;
}

.conference-events-featured-section__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-events-featured-section__header {
  text-align: center;
  margin-bottom: 2rem;
}

.conference-events-featured-section__badge {
  display: inline-block;
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.conference-events-featured-section__title {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0;
}

/* Featured Card - RED gradient 2-column */
.conference-events-featured-card {
  background: linear-gradient(to bottom right, #A42942, #b91c1c);
  border-radius: 0.75rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  color: #fff;
}

.conference-events-featured-card__grid {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .conference-events-featured-card__grid {
    grid-template-columns: 1fr 1fr;
  }
}

.conference-events-featured-card__left {
  padding: 2rem;
}

@media (min-width: 768px) {
  .conference-events-featured-card__left {
    padding: 3rem;
  }
}

.conference-events-featured-card__meta {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}

.conference-events-featured-card__meta .conference-events__icon {
  margin-right: 0.75rem;
  margin-top: 0.125rem;
}

.conference-events-featured-card__date {
  font-size: 1.5rem;
  font-weight: 700;
}

.conference-events-featured-card__time {
  color: rgba(255, 255, 255, 0.8);
}

.conference-events-featured-card__venue {
  font-size: 1.25rem;
  font-weight: 600;
}

.conference-events-featured-card__city {
  color: rgba(255, 255, 255, 0.8);
}

.conference-events-featured-card__description {
  font-size: 1.125rem;
  line-height: 1.625;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 2rem;
}

.conference-events-featured-card__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.conference-events-featured-card__btn {
  display: inline-flex;
  align-items: center;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

.conference-events-featured-card__btn--primary {
  background: #fff;
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-events-featured-card__btn--primary:hover {
  background: #f3f4f6;
}

.conference-events-featured-card__btn--outline {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
}

.conference-events-featured-card__btn--outline:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Right Column - Conference Highlights */
.conference-events-featured-card__right {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  padding: 2rem;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

@media (min-width: 768px) {
  .conference-events-featured-card__right {
    padding: 3rem;
  }
}

.conference-events-featured-card__highlights-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
}

.conference-events-featured-card__topics {
  margin-bottom: 1.5rem;
}

.conference-events-featured-card__topics-label {
  font-weight: 600;
  font-size: 1.125rem;
  margin: 0 0 0.75rem;
}

.conference-events-featured-card__topics-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.conference-events-featured-card__topics-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.conference-events-featured-card__topics-list li .conference-events__check {
  margin-right: 0.75rem;
  margin-top: 0.125rem;
}

.conference-events-featured-card__attendees {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1.5rem;
}

.conference-events-featured-card__attendees-label {
  font-weight: 600;
  font-size: 1.125rem;
  margin: 0 0 0.75rem;
}

.conference-events-featured-card__attendees-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.conference-events-featured-card__attendee-badge {
  background: rgba(255, 255, 255, 0.2);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.875rem;
}

/* ==========================================================================
   Upcoming Events Section - Gray background
   ========================================================================== */
.conference-events-upcoming {
  padding: 4rem 0;
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
}

.conference-events-upcoming__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-events-upcoming__title {
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 3rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-events-upcoming__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .conference-events-upcoming__grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Event Card */
.conference-events-upcoming__card {
  display: flex;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}

.conference-events-upcoming__card:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Date Badge */
.conference-events-upcoming__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  text-align: center;
  color: #fff;
  flex-shrink: 0;
  min-width: 5rem;
}

.conference-events-upcoming__date--teal {
  background-color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-events-upcoming__date--blue {
  background-color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-events-upcoming__date--red {
  background-color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-events-upcoming__day {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1;
}

.conference-events-upcoming__month {
  font-size: 0.875rem;
  text-transform: uppercase;
}

.conference-events-upcoming__year {
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* Card Content */
.conference-events-upcoming__content {
  padding: 1.5rem;
  flex: 1;
}

.conference-events-upcoming__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.conference-events-upcoming__event-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0;
}

/* Type Badge */
.conference-events-upcoming__type {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  margin-left: 0.5rem;
  flex-shrink: 0;
}

.conference-events-upcoming__type--teal {
  background-color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-events-upcoming__type--blue {
  background-color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-events-upcoming__type--red {
  background-color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-events-upcoming__subtitle {
  font-weight: 600;
  color: #374151;
  margin: 0 0 0.5rem;
}

.conference-events-upcoming__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

.conference-events-upcoming__meta-item {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  color: #4b5563;
}

.conference-events-upcoming__meta-item .conference-events__icon {
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
}

.conference-events-upcoming__link {
  display: inline-flex;
  align-items: center;
  color: var(--wp--preset--color--brand-red, #A42942);
  font-weight: 600;
  text-decoration: none;
}

.conference-events-upcoming__link:hover {
  text-decoration: underline;
}

/* ==========================================================================
   Event Resources Section - White background
   ========================================================================== */
.conference-events-resources {
  padding: 4rem 0;
  background-color: #fff;
}

.conference-events-resources__inner {
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-events-resources__title {
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 1rem;
}

.conference-events-resources__subtitle {
  font-size: 1rem;
  text-align: center;
  color: #4b5563;
  margin: 0 0 3rem;
}

.conference-events-resources__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .conference-events-resources__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.conference-events-resources__card {
  display: block;
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
  border-radius: 0.5rem;
  padding: 1.5rem;
  text-align: center;
  text-decoration: none;
  transition: box-shadow 0.2s ease;
}

.conference-events-resources__card:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.conference-events-resources__resource-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
}

/* First card icon = blue, second = teal, third = red */
.conference-events-resources__card:nth-child(1) .conference-events-resources__resource-icon,
.conference-events-resources__card:nth-child(1) .conference-events__resource-icon {
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-events-resources__card:nth-child(2) .conference-events-resources__resource-icon,
.conference-events-resources__card:nth-child(2) .conference-events__resource-icon {
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-events-resources__card:nth-child(3) .conference-events-resources__resource-icon,
.conference-events-resources__card:nth-child(3) .conference-events__resource-icon {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-events__resource-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  display: block;
}

.conference-events-resources__card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 0.5rem;
}

.conference-events-resources__card-desc {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0;
}

/* CTA Section */
.conference-events-resources__cta {
  text-align: center;
  margin-top: 3rem;
}

.conference-events-resources__cta p {
  color: #4b5563;
  margin: 0 0 1rem;
}

.conference-events-resources__subscribe {
  display: inline-block;
  background-color: var(--wp--preset--color--brand-blue, #1A6780);
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.conference-events-resources__subscribe:hover {
  background-color: var(--wp--preset--color--brand-teal, #29ADAF);
}

/* ==========================================================================
   Custom Blocks - Numbered Steps
   ========================================================================== */

.conference-numbered-steps {
  padding: 4rem 0;
  background-color: #fff;
}

.conference-numbered-steps__inner {
  max-width: var(--wp--style--global--content-size, 1200px);
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-numbered-steps__header {
  text-align: center;
  margin-bottom: 3rem;
}

.conference-numbered-steps__title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-numbered-steps__description {
  font-size: 1.125rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.conference-numbered-steps__list,
.conference-numbered-steps__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.conference-numbered-step {
  position: relative;
  text-align: center;
  padding: 2rem 1.5rem;
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
  border-radius: 1rem;
}

.conference-numbered-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  border-radius: 9999px;
  margin-bottom: 1rem;
}

.conference-numbered-step__icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 1rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-numbered-step__icon svg {
  width: 100%;
  height: 100%;
}

.conference-numbered-step__title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-numbered-step__description {
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 0;
  line-height: 1.6;
}

.conference-numbered-steps__cta {
  text-align: center;
  margin-top: 3rem;
}

/* Vertical Layout */
.conference-numbered-steps--vertical .conference-numbered-steps__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}

.conference-numbered-steps--vertical .conference-numbered-step {
  display: flex;
  align-items: flex-start;
  text-align: left;
  padding: 1.5rem;
  gap: 1.5rem;
}

.conference-numbered-steps--vertical .conference-numbered-step__number {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  font-size: 1.5rem;
  margin-bottom: 0;
}

.conference-numbered-steps--vertical .conference-numbered-step__content {
  flex: 1;
}

.conference-numbered-steps--vertical .conference-numbered-step__icon {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.5rem 0 0;
  vertical-align: middle;
}

.conference-numbered-steps--vertical .conference-numbered-step__title {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

/* Grid Layout responsive */
@media (min-width: 768px) {
  .conference-numbered-steps--grid .conference-numbered-steps__list,
  .conference-numbered-steps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .conference-numbered-steps--grid .conference-numbered-steps__list,
  .conference-numbered-steps__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ==========================================================================
   Custom Blocks - FAQ Accordion
   ========================================================================== */

.conference-faq-accordion {
  padding: 4rem 0;
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
}

.conference-faq-accordion__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-faq-accordion__header {
  text-align: center;
  margin-bottom: 3rem;
}

.conference-faq-accordion__title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-faq-accordion__description {
  font-size: 1.125rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 0;
}

.conference-faq-accordion__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.conference-faq-accordion__item {
  background-color: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.conference-faq-accordion__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.25rem 1.5rem;
  background: none;
  border: none;
  text-align: left;
  font-size: 1rem;
  font-weight: 600;
  color: var(--wp--preset--color--gray-900, #111827);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.conference-faq-accordion__question:hover {
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
}

.conference-faq-accordion__chevron {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  color: var(--wp--preset--color--gray-500, #6b7280);
}

.conference-faq-accordion__item.is-open .conference-faq-accordion__chevron {
  transform: rotate(180deg);
}

.conference-faq-accordion__answer {
  overflow: hidden;
}

.conference-faq-accordion__answer-content {
  padding: 0 1.5rem 1.25rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  line-height: 1.6;
}

.conference-faq-accordion__answer-content p {
  margin: 0;
}

/* ==========================================================================
   Custom Blocks - Directory Listing
   ========================================================================== */

.conference-directory-listing {
  padding: 4rem 0;
}

.conference-directory-listing__inner {
  max-width: var(--wp--style--global--content-size, 1200px);
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-directory-listing__header {
  margin-bottom: 2rem;
}

.conference-directory-listing__title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-directory-listing__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}

.conference-directory-listing__filter {
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--gray-300, #d1d5db);
  border-radius: 0.5rem;
  background: #fff;
  font-size: 0.875rem;
  cursor: pointer;
}

.conference-directory-listing__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.conference-directory-card {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}

.conference-directory-card__title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-directory-card__meta {
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin-bottom: 1rem;
}

.conference-directory-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
}

.conference-directory-card__link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .conference-directory-listing__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .conference-directory-listing__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   Custom Blocks - News Grid
   ========================================================================== */

.conference-news-grid {
  padding: 4rem 0;
}

.conference-news-grid__inner {
  max-width: var(--wp--style--global--content-size, 1200px);
  margin: 0 auto;
  padding: 0 1rem;
}

.conference-news-grid__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}

.conference-news-grid__title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-news-grid__view-all {
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
}

.conference-news-grid__view-all:hover {
  text-decoration: underline;
}

.conference-news-grid__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.conference-news-card {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.conference-news-card__image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.conference-news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.conference-news-card__content {
  padding: 1.5rem;
}

.conference-news-card__category {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin-bottom: 0.5rem;
}

.conference-news-card__title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--wp--preset--color--gray-900, #111827);
}

.conference-news-card__excerpt {
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray-600, #4b5563);
  margin: 0 0 1rem;
  line-height: 1.6;
}

.conference-news-card__meta {
  font-size: 0.75rem;
  color: var(--wp--preset--color--gray-500, #6b7280);
}

.conference-news-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
  margin-top: 1rem;
}

.conference-news-card__link:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .conference-news-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .conference-news-grid__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   Full Width Page Template
   ========================================================================== */

.site-main--fullwidth {
  padding: 0;
  margin: 0;
}

.site-main--fullwidth .conference-container {
  max-width: none;
  padding: 0;
}

.entry--fullwidth {
  margin: 0;
  padding: 0;
}

.entry-content--fullwidth {
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Full-width blocks should break out of any container */
.entry-content--fullwidth > .alignfull,
.entry-content--fullwidth > .wp-block-conference-hero-gradient,
.entry-content--fullwidth > .wp-block-conference-search-section {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

/* Contained blocks within fullwidth pages */
.entry-content--fullwidth > .wp-block-conference-numbered-steps,
.entry-content--fullwidth > .wp-block-conference-faq-accordion,
.entry-content--fullwidth > .wp-block-conference-user-path-cards {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* ==========================================================================
   Quick Access Block
   ========================================================================== */

.conference-quick-access {
  padding: 4rem 1.5rem;
  background-color: #f3f4f6;
}

.conference-quick-access__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.conference-quick-access__title {
  font-size: 2rem;
  font-weight: 700;
  color: #1A6780;
  text-align: center;
  margin-bottom: 2.5rem;
}

/* Featured Cards - 2 columns */
.conference-quick-access__featured {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

.conference-quick-access__featured-card {
  background: white;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.conference-quick-access__featured-header {
  padding: 1.5rem;
  color: white;
  position: relative;
}

.conference-quick-access__featured-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.75rem;
}

.conference-quick-access__featured-icon svg {
  width: 100%;
  height: 100%;
}

.conference-quick-access__badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: white;
  color: #29ADAF;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.conference-quick-access__featured-card:nth-child(2) .conference-quick-access__badge {
  color: #A42942;
}

.conference-quick-access__featured-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: white;
}

.conference-quick-access__featured-subtitle {
  font-size: 0.9rem;
  opacity: 0.9;
  margin: 0;
}

.conference-quick-access__featured-body {
  padding: 1.5rem;
}

.conference-quick-access__featured-desc {
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.6;
  margin: 0 0 1.25rem 0;
}

.conference-quick-access__featured-buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.conference-quick-access__btn {
  display: block;
  text-align: center;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s;
}

.conference-quick-access__btn:hover {
  opacity: 0.9;
}

.conference-quick-access__btn--primary {
  color: white;
}

.conference-quick-access__btn--secondary {
  background: white;
  border: 2px solid;
}

.conference-quick-access__text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 500;
}

.conference-quick-access__text-link:hover {
  text-decoration: underline;
}

.conference-quick-access__arrow {
  width: 1rem;
  height: 1rem;
}

/* Icon Cards - 4 columns */
.conference-quick-access__icons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

.conference-quick-access__icon-card {
  background: white;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.conference-quick-access__icon-header {
  padding: 1.5rem;
  display: flex;
  justify-content: center;
}

.conference-quick-access__icon-svg {
  width: 2.5rem;
  height: 2.5rem;
  color: white;
}

.conference-quick-access__icon-svg svg {
  width: 100%;
  height: 100%;
}

.conference-quick-access__icon-body {
  padding: 1.25rem;
}

.conference-quick-access__icon-title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
}

.conference-quick-access__icon-desc {
  font-size: 0.85rem;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 0.75rem 0;
}

.conference-quick-access__icon-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 500;
}

.conference-quick-access__icon-link:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 1024px) {
  .conference-quick-access__icons {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .conference-quick-access__featured {
    grid-template-columns: 1fr;
  }

  .conference-quick-access__icons {
    grid-template-columns: 1fr;
  }

  .conference-quick-access__title {
    font-size: 1.5rem;
  }
}

/* ==========================================================================
   23. Directory Listing
   ========================================================================== */

.conference-directory {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Tab Navigation */
.conference-directory__tabs {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 0;
}

.conference-directory__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 700;
  font-size: 1.125rem;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  background: transparent;
}

.conference-directory__tab svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* State Boards tab - BLUE styling */
.conference-directory__tab[data-tab="boards"] {
  background: #1A6780;
  color: white;
}

.conference-directory__tab[data-tab="boards"]:hover {
  background: #155d73;
}

/* Schools tab - TEAL outline styling */
.conference-directory__tab[data-tab="schools"] {
  border: 2px solid #29ADAF;
  color: #29ADAF;
  background: transparent;
}

.conference-directory__tab[data-tab="schools"]:hover {
  background: #29ADAF;
  color: white;
}

/* When Schools tab is active, swap colors */
.conference-directory__tab[data-tab="schools"].conference-directory__tab--active {
  background: #29ADAF;
  color: white;
}

.conference-directory__tab[data-tab="boards"]:not(.conference-directory__tab--active) {
  background: transparent;
  border: 2px solid #1A6780;
  color: #1A6780;
}

/* Content Area */
.conference-directory__content {
  background: #f9fafb;
  padding: 3rem 0;
}

.conference-directory__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.conference-directory__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1A6780;
  margin: 0 0 0.5rem 0;
  text-align: center;
}

.conference-directory__description {
  text-align: center;
  color: #6b7280;
  margin: 0 0 2rem 0;
}

/* Filters */
.conference-directory__filters {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.conference-directory__filter-group {
  flex: 1;
  min-width: 200px;
}

.conference-directory__filter-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
}

.conference-directory__search,
.conference-directory__select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  font-size: 1rem;
  background: white;
}

.conference-directory__search:focus,
.conference-directory__select:focus {
  outline: none;
  border-color: #1A6780;
  box-shadow: 0 0 0 3px rgba(26, 103, 128, 0.1);
}

.conference-directory__count {
  font-size: 0.875rem;
  color: #6b7280;
  margin-bottom: 1.5rem;
}

/* Grid */
.conference-directory__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

/* Cards */
.conference-directory__card {
  background: white;
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid #e5e7eb;
}

.conference-directory__card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

.conference-directory__card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1A6780;
  margin: 0;
}

.conference-directory__badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.conference-directory__badge--active {
  background: #29ADAF;
  color: white;
}

.conference-directory__badge--accredited {
  background: #dbeafe;
  color: #1e40af;
}

.conference-directory__org {
  font-weight: 600;
  color: #374151;
  margin: 0 0 0.25rem 0;
}

.conference-directory__director {
  color: #6b7280;
  font-size: 0.9rem;
  margin: 0 0 1rem 0;
}

.conference-directory__details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.conference-directory__detail {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.conference-directory__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: #9ca3af;
  margin-top: 0.125rem;
}

.conference-directory__detail a {
  color: #1A6780;
  text-decoration: none;
}

.conference-directory__detail a:hover {
  text-decoration: underline;
}

.conference-directory__detail span {
  color: #6b7280;
}

.conference-directory__empty {
  text-align: center;
  color: #6b7280;
  padding: 3rem;
}

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

  .conference-directory__filters {
    flex-direction: column;
  }

  .conference-directory__filter-group {
    width: 100%;
  }

  .conference-directory__tabs {
    flex-direction: column;
    align-items: center;
  }

  .conference-directory__tab {
    width: 100%;
    max-width: 200px;
    justify-content: center;
  }
}

/* ==========================================================================
   404 Error Page - Fun & Professional
   ========================================================================== */

.error-404 {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Hero Section */
.conference-404__hero {
  background: linear-gradient(135deg, #1A6780 0%, #29ADAF 100%);
  padding: 4rem 1rem;
  text-align: center;
  color: #fff;
}

.conference-404__hero-inner {
  max-width: 700px;
  margin: 0 auto;
}

/* Illustration */
.conference-404__illustration {
  margin-bottom: 2rem;
}

.conference-404__svg {
  width: 100%;
  max-width: 400px;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* Floating question marks animation */
.conference-404__question {
  animation: conference-404-float 3s ease-in-out infinite;
}

.conference-404__question--delayed {
  animation-delay: 0.5s;
}

.conference-404__question--delayed-2 {
  animation-delay: 1s;
}

@keyframes conference-404-float {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  50% {
    transform: translateY(-10px);
    opacity: 1;
  }
}

/* X marks animation */
.conference-404__x-marks {
  animation: conference-404-shake 0.5s ease-in-out;
}

@keyframes conference-404-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-3px); }
  75% { transform: translateX(3px); }
}

/* Title */
.conference-404__title {
  margin: 0 0 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.conference-404__code {
  font-size: 6rem;
  font-weight: 800;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.1);
}

.conference-404__message {
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
}

.conference-404__subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.95);
  margin: 0 0 1rem;
}

.conference-404__description {
  font-size: 1.125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* Search Section */
.conference-404__search-section {
  background-color: #fff;
  padding: 3rem 1rem;
  margin-top: -2rem;
  position: relative;
  z-index: 1;
}

.conference-404__search-inner {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.conference-404__search-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 1.5rem;
}

.conference-404__search-form {
  display: flex;
  gap: 0.75rem;
  max-width: 500px;
  margin: 0 auto;
}

.conference-404__search-input {
  flex: 1;
  padding: 0.875rem 1.25rem;
  font-size: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 0.5rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.conference-404__search-input:focus {
  border-color: var(--wp--preset--color--brand-teal, #29ADAF);
  box-shadow: 0 0 0 3px rgba(41, 173, 175, 0.15);
}

.conference-404__search-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.conference-404__search-btn:hover {
  background-color: #8a2238;
  transform: translateY(-1px);
}

.conference-404__search-icon {
  width: 1.25rem;
  height: 1.25rem;
}

/* Links Section */
.conference-404__links-section {
  background-color: var(--wp--preset--color--gray-50, #f9fafb);
  padding: 4rem 1rem;
  flex: 1;
}

.conference-404__links-inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.conference-404__links-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 0.5rem;
}

.conference-404__links-subtitle {
  font-size: 1.125rem;
  color: #6b7280;
  margin: 0 0 2.5rem;
}

/* Link Cards Grid */
.conference-404__links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.conference-404__link-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem 1.5rem;
  background-color: #fff;
  border-radius: 1rem;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.conference-404__link-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.conference-404__link-icon {
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  margin-bottom: 1rem;
  transition: transform 0.2s ease;
}

.conference-404__link-card:hover .conference-404__link-icon {
  transform: scale(1.1);
}

.conference-404__link-icon svg {
  width: 2rem;
  height: 2rem;
}

/* Card Color Variants */
.conference-404__link-card--red .conference-404__link-icon {
  background-color: rgba(164, 41, 66, 0.1);
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-404__link-card--blue .conference-404__link-icon {
  background-color: rgba(26, 103, 128, 0.1);
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-404__link-card--teal .conference-404__link-icon {
  background-color: rgba(41, 173, 175, 0.1);
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-404__link-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 0.5rem;
}

.conference-404__link-desc {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* Return Button */
.conference-404__return {
  text-align: center;
}

.conference-404__return-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background-color: var(--wp--preset--color--brand-blue, #1A6780);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.conference-404__return-btn:hover {
  background-color: var(--wp--preset--color--brand-teal, #29ADAF);
  transform: translateY(-2px);
}

.conference-404__return-btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* Responsive */
@media (max-width: 640px) {
  .conference-404__hero {
    padding: 3rem 1rem;
  }

  .conference-404__code {
    font-size: 4rem;
  }

  .conference-404__message {
    font-size: 1.5rem;
  }

  .conference-404__subtitle {
    font-size: 1.25rem;
  }

  .conference-404__description {
    font-size: 1rem;
  }

  .conference-404__search-form {
    flex-direction: column;
  }

  .conference-404__search-btn {
    justify-content: center;
  }

  .conference-404__links-grid {
    grid-template-columns: 1fr;
  }

  .conference-404__links-title {
    font-size: 1.5rem;
  }
}

/* ==========================================================================
   NEWS / BLOG PAGE STYLES
   Matches static news.html design
   ========================================================================== */

/* News Hero Section */
.conference-news-hero {
  background: linear-gradient(to bottom right, var(--wp--preset--color--brand-blue, #1A6780), #0c3d4d);
  color: #fff;
  padding: 4rem 1rem;
  margin-bottom: 0;
}

.conference-news-hero__inner {
  max-width: 56rem;
  margin: 0 auto;
  text-align: center;
}

.conference-news-hero__title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #fff;
}

@media (min-width: 768px) {
  .conference-news-hero__title {
    font-size: 3rem;
  }
}

.conference-news-hero__subtitle {
  font-size: 1.25rem;
  margin-bottom: 0;
  opacity: 1;
  color: #fff;
}

/* News Listing Section */
.conference-news-listing {
  background-color: #f9fafb;
  padding: 4rem 1rem;
}

.conference-news-listing__inner {
  max-width: 72rem;
  margin: 0 auto;
}

/* News Grid */
.conference-news-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 768px) {
  .conference-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* News Card */
.conference-news-card {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.conference-news-card:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.conference-news-card__content {
  padding: 2rem;
}

/* Card Meta */
.conference-news-card__meta {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  color: #6b7280;
  margin-bottom: 0.75rem;
}

.conference-news__icon {
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.conference-news-card__separator {
  margin: 0 0.5rem;
}

.conference-news-card__comments {
  white-space: nowrap;
}

/* Card Title */
.conference-news-card__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 1rem;
  line-height: 1.3;
}

.conference-news-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

.conference-news-card__title a:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* Card Excerpt */
.conference-news-card__excerpt {
  color: #374151;
  margin-bottom: 1.5rem;
  line-height: 1.625;
}

/* Read More Link */
.conference-news-card__link {
  display: inline-flex;
  align-items: center;
  color: var(--wp--preset--color--brand-red, #A42942);
  font-weight: 600;
  text-decoration: none;
  transition: text-decoration 0.3s ease;
}

.conference-news-card__link:hover {
  text-decoration: underline;
}

.conference-news__arrow {
  width: 1rem;
  height: 1rem;
  margin-left: 0.25rem;
}

/* Pagination */
.conference-news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 3rem;
}

.conference-news-pagination__item {
  display: inline-block;
}

.conference-news-pagination__item a,
.conference-news-pagination__item span.current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.conference-news-pagination__item a {
  border: 1px solid #d1d5db;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  background: #fff;
}

.conference-news-pagination__item a:hover {
  background-color: #f3f4f6;
}

.conference-news-pagination__item span.current {
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  border: 1px solid var(--wp--preset--color--brand-red, #A42942);
}

.conference-news-pagination__item a.prev,
.conference-news-pagination__item a.next {
  padding: 0.5rem;
}

.conference-news-pagination__arrow {
  width: 1.25rem;
  height: 1.25rem;
}

/* Newsletter CTA Section */
.conference-newsletter-cta {
  background: linear-gradient(to bottom right, var(--wp--preset--color--brand-blue, #1A6780), #0c3d4d);
  color: #fff;
  padding: 4rem 1rem;
  text-align: center;
}

.conference-newsletter-cta__inner {
  max-width: 48rem;
  margin: 0 auto;
}

.conference-news__email-icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.5rem;
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-newsletter-cta__title {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #fff;
}

.conference-newsletter-cta__text {
  font-size: 1.25rem;
  margin-bottom: 2rem;
  opacity: 0.9;
  color: #fff;
}

.conference-newsletter-cta__form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 28rem;
  margin: 0 auto;
}

@media (min-width: 640px) {
  .conference-newsletter-cta__form {
    flex-direction: row;
  }
}

.conference-newsletter-cta__input {
  flex: 1;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  border: none;
  font-size: 1rem;
  color: #1f2937;
}

.conference-newsletter-cta__input:focus {
  outline: none;
  ring: 2px;
  ring-color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-newsletter-cta__btn {
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}

.conference-newsletter-cta__btn:hover {
  background-color: #8a2238;
}

/* No posts found */
.conference-news-none {
  text-align: center;
  padding: 4rem 2rem;
  color: #6b7280;
}

/* Fix for alignfull on news page */
.home .conference-news-hero.alignfull,
.home .conference-newsletter-cta.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

/* ==========================================================================
   SINGLE POST PAGE STYLES
   Matches static news-pnbe-announcement.html design
   ========================================================================== */

/* Breadcrumb */
.conference-breadcrumb {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0.75rem 1rem;
}

.conference-breadcrumb__inner {
  max-width: 80rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  flex-wrap: wrap;
}

.conference-breadcrumb__link {
  color: var(--wp--preset--color--brand-blue, #1A6780);
  text-decoration: none;
  transition: color 0.3s ease;
}

.conference-breadcrumb__link:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-breadcrumb__separator {
  width: 1rem;
  height: 1rem;
  margin: 0 0.5rem;
  color: #9ca3af;
}

.conference-breadcrumb__current {
  color: #6b7280;
}

/* Single Post Main Layout */
.conference-single {
  background-color: #f9fafb;
  padding: 4rem 1rem;
}

.conference-single__inner {
  max-width: 80rem;
  margin: 0 auto;
}

.conference-single__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .conference-single__grid {
    grid-template-columns: 2fr 1fr;
  }
}

/* Main Content Area */
.conference-single__main {
  min-width: 0;
}

.conference-single__article {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 2rem;
}

@media (min-width: 768px) {
  .conference-single__article {
    padding: 3rem;
  }
}

/* Article Header */
.conference-single__header {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #e5e7eb;
}

.conference-single__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #6b7280;
  margin-bottom: 1.5rem;
}

.conference-single__icon {
  width: 1.25rem;
  height: 1.25rem;
}

.conference-single__separator {
  margin: 0 0.25rem;
}

.conference-single__title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .conference-single__title {
    font-size: 2.25rem;
  }
}

.conference-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.conference-single__tag {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
}

.conference-single__tag--teal {
  background-color: rgba(41, 173, 175, 0.1);
  color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-single__tag--blue {
  background-color: rgba(26, 103, 128, 0.1);
  color: var(--wp--preset--color--brand-blue, #1A6780);
}

/* Article Content */
.conference-single__content {
  color: #374151;
  font-size: 1.125rem;
  line-height: 1.75;
}

.conference-single__content p {
  margin-bottom: 1.5rem;
}

.conference-single__content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.conference-single__content h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.conference-single__content ul,
.conference-single__content ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.conference-single__content li {
  margin-bottom: 0.5rem;
}

.conference-single__content a {
  color: var(--wp--preset--color--brand-blue, #1A6780);
  text-decoration: underline;
}

.conference-single__content a:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* Article Footer */
.conference-single__footer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e7eb;
}

.conference-single__footer-inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .conference-single__footer-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.conference-single__share-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.conference-single__share-buttons {
  display: flex;
  gap: 0.75rem;
}

.conference-single__share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  color: #fff;
  transition: background-color 0.3s ease;
}

.conference-single__share-btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

.conference-single__share-btn--facebook {
  background-color: #1877f2;
}

.conference-single__share-btn--facebook:hover {
  background-color: #1565c0;
}

.conference-single__share-btn--twitter {
  background-color: #0ea5e9;
}

.conference-single__share-btn--twitter:hover {
  background-color: #0284c7;
}

.conference-single__share-btn--linkedin {
  background-color: #1d4ed8;
}

.conference-single__share-btn--linkedin:hover {
  background-color: #1e40af;
}

.conference-single__share-btn--email {
  background-color: #6b7280;
}

.conference-single__share-btn--email:hover {
  background-color: #4b5563;
}

.conference-single__back-link {
  display: inline-flex;
  align-items: center;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.conference-single__back-link:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-single__back-arrow {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}

/* Sidebar */
.conference-single__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* CTA Card */
.conference-single__cta-card {
  background: linear-gradient(to bottom right, var(--wp--preset--color--brand-red, #A42942), #8a2238);
  color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}

.conference-single__sidebar-icon {
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
}

.conference-single__cta-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #fff;
}

.conference-single__cta-text {
  font-size: 0.875rem;
  opacity: 0.9;
  margin-bottom: 1rem;
  color: #fff;
}

.conference-single__cta-btn {
  display: inline-flex;
  align-items: center;
  background: #fff;
  color: var(--wp--preset--color--brand-red, #A42942);
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.conference-single__cta-btn:hover {
  background-color: #f3f4f6;
}

.conference-single__arrow {
  width: 1rem;
  height: 1rem;
  margin-left: 0.5rem;
}

/* Widgets */
.conference-single__widget {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  padding: 1.5rem;
}

.conference-single__widget-title {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin-bottom: 1rem;
}

.conference-single__widget-icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
}

/* Recent News List */
.conference-single__news-list {
  display: flex;
  flex-direction: column;
}

.conference-single__news-item {
  display: block;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
  text-decoration: none;
  transition: color 0.3s ease;
}

.conference-single__news-item:last-child {
  border-bottom: none;
}

.conference-single__news-date {
  font-size: 0.75rem;
  color: #6b7280;
  margin-bottom: 0.25rem;
}

.conference-single__news-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1f2937;
  transition: color 0.3s ease;
  margin: 0;
}

.conference-single__news-item:hover .conference-single__news-title {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* Events List */
.conference-single__events-list {
  display: flex;
  flex-direction: column;
}

.conference-single__event-item {
  display: flex;
  align-items: flex-start;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e7eb;
  text-decoration: none;
}

.conference-single__event-item:last-child {
  border-bottom: none;
}

.conference-single__event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  border-radius: 0.25rem;
  color: #fff;
  margin-right: 0.75rem;
  flex-shrink: 0;
  min-width: 3rem;
}

.conference-single__event-date--teal {
  background-color: var(--wp--preset--color--brand-teal, #29ADAF);
}

.conference-single__event-date--red {
  background-color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-single__event-date--blue {
  background-color: var(--wp--preset--color--brand-blue, #1A6780);
}

.conference-single__event-day {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
}

.conference-single__event-month {
  font-size: 0.625rem;
  text-transform: uppercase;
  margin-top: 0.125rem;
}

.conference-single__event-info {
  flex: 1;
  min-width: 0;
}

.conference-single__event-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 0.25rem;
  transition: color 0.3s ease;
}

.conference-single__event-item:hover .conference-single__event-title {
  color: var(--wp--preset--color--brand-red, #A42942);
}

.conference-single__event-desc {
  font-size: 0.75rem;
  color: #6b7280;
  margin: 0;
}

.conference-single__widget-link {
  display: inline-flex;
  align-items: center;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  margin-top: 1rem;
  transition: color 0.3s ease;
}

.conference-single__widget-link:hover {
  color: var(--wp--preset--color--brand-red, #A42942);
}

/* ==========================================================================
   Single Post Rich Content Styles (for post content blocks)
   ========================================================================== */

/* Info Box - Blue Gradient */
.conference-single__content .conference-info-box {
  background: linear-gradient(to bottom right, #1A6780, #0f4c63);
  color: #fff;
  border-radius: 0.75rem;
  padding: 2rem;
  margin: 2rem 0;
}

.conference-single__content .conference-info-box h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
  color: #fff;
  display: flex;
  align-items: center;
}

.conference-single__content .conference-info-box h2 svg {
  width: 2rem;
  height: 2rem;
  margin-right: 0.75rem;
}

.conference-single__content .conference-info-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.conference-single__content .conference-info-box li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.conference-single__content .conference-info-box li:last-child {
  margin-bottom: 0;
}

.conference-single__content .conference-info-box .check-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--wp--preset--color--brand-teal, #29ADAF);
  margin-right: 0.75rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.conference-single__content .conference-info-box span {
  color: rgba(255, 255, 255, 0.95);
}

/* Score Report Section */
.conference-single__content .conference-info-box .score-report {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.conference-single__content .conference-info-box h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: #fff;
}

.conference-single__content .conference-info-box .score-report ul {
  margin-left: 1rem;
}

.conference-single__content .conference-info-box .score-report li {
  margin-bottom: 0.75rem;
}

.conference-single__content .conference-info-box .bullet {
  color: var(--wp--preset--color--brand-teal, #29ADAF);
  font-weight: 700;
  margin-right: 0.75rem;
}

/* CTA Callout */
.conference-single__content .conference-cta-callout {
  background-color: #f9fafb;
  border-left: 4px solid var(--wp--preset--color--brand-red, #A42942);
  padding: 1.5rem;
  border-radius: 0 0.5rem 0.5rem 0;
  margin: 2rem 0;
}

.conference-single__content .conference-cta-callout h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp--preset--color--brand-blue, #1A6780);
  margin: 0 0 0.75rem;
}

.conference-single__content .conference-cta-callout p {
  color: #374151;
  margin: 0 0 1rem;
}

.conference-single__content .conference-cta-callout .cta-button {
  display: inline-flex;
  align-items: center;
  background-color: var(--wp--preset--color--brand-red, #A42942);
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.conference-single__content .conference-cta-callout .cta-button:hover {
  background-color: #8b2238;
}

.conference-single__content .conference-cta-callout .cta-button svg {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
}
